QMCPACK
FailCustomTestInput Class Reference
+ Inheritance diagram for FailCustomTestInput:
+ Collaboration diagram for FailCustomTestInput:

Classes

struct  WeirdStuff
 

Public Types

using Repeater = std::vector< std::pair< std::string, std::string > >
 
- Public Types inherited from InputSection
using Real = QMCTraits::FullPrecRealType
 
using Position = typename QMCTypes< Real, OHMMS_DIM >::PosType
 

Public Member Functions

 FailCustomTestInput ()
 
- Public Member Functions inherited from InputSection
 InputSection ()=default
 
 InputSection (const InputSection &other)=default
 
InputSectionoperator= (const InputSection &other)=default
 
bool has (const std::string &name) const
 
template<typename T >
get (const std::string &name) const
 
template<typename T >
bool setIfInInput (T &var, const std::string &tag)
 set var if input section has read the tag More...
 
void readXML (xmlNodePtr cur)
 Read variable values (initialize) from XML input, call checkValid. More...
 
void init (const std::unordered_map< std::string, std::any > &init_values)
 

Additional Inherited Members

- Static Public Member Functions inherited from InputSection
template<typename ENUM_T >
static std::string reverseLookupInputEnumMap (ENUM_T enum_val, const std::unordered_map< std::string, std::any > &enum_map)
 Get string represtation of enum class type value from enum_val. More...
 
- Protected Types inherited from InputSection
using DelegateHandler = std::function< std::any(xmlNodePtr cur, std::string &value_name)>
 Function that returns Input class as std::any. More...
 
- Protected Member Functions inherited from InputSection
void readAttributes (xmlNodePtr cur, const std::string &element_name, const std::vector< std::string > &do_not_consume)
 reads attributes for both the root node and parameter/child nodes that aren't delegated. More...
 
void registerDelegate (const std::string &tag, DelegateHandler delegate_handler)
 register factory function for delegate input More...
 
virtual void checkParticularValidity ()
 Do validation for a particular subtype of InputSection Called by check_valid. More...
 
virtual std::any assignAnyEnum (const std::string &tag) const
 Derived class overrides this to get proper assignment of scoped enum values. More...
 
virtual void setFromStreamCustom (const std::string &ename, const std::string &name, std::istringstream &svalue)
 Derived class can overrides this to do custom parsing of the element values for Custom elements These can have a name attribute only. More...
 
void report () const
 
void report (std::ostream &out) const
 
- Static Protected Member Functions inherited from InputSection
static std::any lookupAnyEnum (const std::string &enum_name, const std::string &enum_value, const std::unordered_map< std::string, std::any > &enum_map)
 Assign any enum helper for InputSection derived class assumes enum lookup table of this form: inline static const std::unordered_map<std::string, std::any> lookup_input_enum_value{{"integrator-uniform_grid", Integrator::UNIFORM_GRID}, {"integrator-uniform", Integrator::UNIFORM}, {"integrator-density", Integrator::DENSITY}, {"evaluator-loop", Evaluator::LOOP}, {"evaluator-matrix", Evaluator::MATRIX}};. More...
 
- Protected Attributes inherited from InputSection
std::string section_name
 "Name" of the input section, you must define this in the subtype and the ename, name, type, or method must match. More...
 
std::vector< std::string > section_name_alternates
 For historical reasons some sections must recognize several different names. Assign them to this variable in your subtype. More...
 
std::unordered_set< std::string > attributes
 
std::unordered_set< std::string > parameters
 
std::unordered_set< std::string > delegates
 
std::unordered_set< std::string > required
 
std::unordered_set< std::string > multiple
 
std::unordered_set< std::string > strings
 
std::unordered_set< std::string > multi_strings
 
std::unordered_set< std::string > multi_reals
 
std::unordered_set< std::string > bools
 
std::unordered_set< std::string > integers
 
std::unordered_set< std::string > reals
 
std::unordered_set< std::string > positions
 
std::unordered_set< std::string > custom
 
std::unordered_set< std::string > enums
 list of enum inputs which allow a finite set of strings to map to enum values The enum class types and values need only be known to IS subtypes More...
 
std::unordered_map< std::string, std::any > default_values
 
std::unordered_map< std::string, std::function< std::any(xmlNodePtr cur, std::string &value_key)> > delegate_factories_
 
std::unordered_map< std::string, std::any > values_
 

Detailed Description

Definition at line 448 of file test_InputSection.cpp.


Class Documentation

◆ qmcplusplus::FailCustomTestInput::WeirdStuff

struct qmcplusplus::FailCustomTestInput::WeirdStuff

Definition at line 451 of file test_InputSection.cpp.

+ Collaboration diagram for FailCustomTestInput::WeirdStuff:
Class Members
string letters
array< int, 3 > numbers

Member Typedef Documentation

◆ Repeater

using Repeater = std::vector<std::pair<std::string, std::string> >

Definition at line 456 of file test_InputSection.cpp.

Constructor & Destructor Documentation

◆ FailCustomTestInput()

FailCustomTestInput ( )
inline

Definition at line 457 of file test_InputSection.cpp.

458  {
459  section_name = "Test";
460  attributes = {"name", "samples", "kmax", "full", "custom_attribute", "with_custom::custom_attribute"};
461  parameters = {"label", "count", "width", "with_custom"};
462  strings = {"name", "label"};
463  reals = {"kmax"};
464  integers = {"samples", "count"};
465  bools = {"full"};
466  custom = {"weird_stuff", "repeater", "custom_attribute"};
467  }
std::unordered_set< std::string > strings
Definition: InputSection.h:67
std::unordered_set< std::string > reals
Definition: InputSection.h:72
std::unordered_set< std::string > parameters
Definition: InputSection.h:63
std::unordered_set< std::string > custom
Definition: InputSection.h:74
std::unordered_set< std::string > integers
Definition: InputSection.h:71
std::unordered_set< std::string > attributes
Definition: InputSection.h:62
std::unordered_set< std::string > bools
Definition: InputSection.h:70
std::string section_name
"Name" of the input section, you must define this in the subtype and the ename, name, type, or method must match.
Definition: InputSection.h:57

The documentation for this class was generated from the following file: