26#define BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
27#define BOOST_SPIRIT_QI_DEBUG
43 template <attributes A>
46 std::string attributeString;
49 attributeString =
"symbol";
52 attributeString =
"format_string";
55 attributeString =
"fixed_value";
60 std::cerr << attributeString <<
" not supported yet" << std::endl;
65 bool parse(
const std::string& input,
size_t& pos) {
67 switch (*this->type_m) {
129 template <
typename Iterator>
131 template <
typename,
typename>
140 if (param.
name_m) out <<
"name = " << *param.
name_m <<
", ";
141 if (param.
type_m) out <<
"type = " << *param.
type_m <<
", ";
144 out <<
"order = " << param.
order_m;
size_t getPosition() const
bool parseLong(long &value)
bool parseString(std::string &value)
bool parseChar(char &value)
bool parseFloat(float &value)
bool parseDouble(double &value)
bool parseShort(short &value)
std::variant< float, double, short, long, char, std::string > variant_t
std::ostream & operator<<(std::ostream &out, const array &)
void operator()(parameter ¶m, Iterator) const
std::optional< std::string > name_m
std::optional< std::string > description_m
std::optional< std::string > units_m
std::optional< ast::datatype > type_m
bool parse(const std::string &input, size_t &pos)
static unsigned int count_m
bool checkMandatories() const