63 enum class item_size { ALL, SINGLE };
64 static item_size size_from_string(
const std::string& );
65 static std::string string_from_size( item_size );
67 enum class itype {UNKNOWN, DOUBLE, INT, STRING, RAW_STRING, UDA, CODE};
68 static itype from_string(
const std::string& string_value);
69 static std::string to_string(itype input_type);
70 std::string type_literal()
const;
73 explicit ParserItem(
const std::string& name, ParserItem::itype input_type );
76 void push_backDimension(
const std::string& );
77 const std::vector<std::string>& dimensions()
const;
78 const std::string& name()
const;
79 item_size sizeType()
const;
80 type_tag dataType()
const;
81 void setSizeType(item_size size_type);
82 std::string getDescription()
const;
84 void setDescription(
const std::string& helpText);
86 template<
typename T >
void setDefault( T );
88 void setInputType( itype input_type );
89 bool parseRaw()
const;
90 bool hasDefault()
const;
91 template<
typename T >
const T& getDefault()
const;
98 std::string size_literal()
const;
99 const std::string className()
const;
100 std::string createCode(
const std::string& indent)
const;
101 std::ostream& inlineClass(std::ostream&,
const std::string& indent)
const;
102 std::string inlineClassInit(
const std::string& parentClass,
103 const std::string* defaultValue =
nullptr )
const;
111 std::vector< std::string > m_dimensions;
114 item_size m_sizeType = item_size::SINGLE;
115 std::string m_description;
117 type_tag data_type = type_tag::unknown;
118 itype input_type = itype::UNKNOWN;
121 template<
typename T > T& value_ref();
122 template<
typename T >
const T& value_ref()
const;
123 template<
typename T >
void setDataType( T );
124 friend std::ostream& operator<<( std::ostream&,
const ParserItem& );
127std::ostream& operator<<( std::ostream&,
const ParserItem::item_size& );
DeckItem scan(RawRecord &rawRecord, UnitSystem &active_unitsystem, UnitSystem &default_unitsystem) const
Scans the records data according to the ParserItems definition.
Definition ParserItem.cpp:564
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30