57 template <attributes A>
60 constexpr std::array<std::pair<attributes, std::string_view>, 3> unsupportedAttributeNames = {{
66 for (
const auto& item : unsupportedAttributeNames) {
67 if (item.first == A) {
68 std::cerr << item.second <<
" not supported yet" << std::endl;
77 bool parse(std::string_view input,
size_t& pos) {
83#if defined(__GNUC__) && !defined(__clang__)
84#pragma GCC diagnostic push
85#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
88 switch(*this->type_m) {
92 this->values_m.push_back(f);
101 this->values_m.push_back(d);
110 this->values_m.push_back(s);
119 this->values_m.push_back(l);
128 this->values_m.push_back(c);
137 this->values_m.push_back(s);
144#if defined(__GNUC__) && !defined(__clang__)
145#pragma GCC diagnostic pop
153 template <
typename Iterator>
155 template <
typename,
typename>
166 if (col.
name_m) out <<
"name = " << *col.
name_m <<
", ";
169 out <<
"order = " << col.
order_m;
std::ostream & operator<<(std::ostream &out, const array &)
std::vector< variant_t > columnData_t
std::optional< std::string > name_m
std::optional< ast::dataType > type_m
bool parse(std::string_view input, size_t &pos)
ast::columnData_t values_m
bool checkMandatories() const
std::optional< std::string > units_m
std::optional< std::string > description_m
static unsigned int count_m
void operator()(column &col, Iterator) const
bool parseLong(long &value)
bool parseString(std::string &value)
bool parseChar(char &value)
bool parseFloat(float &value)
std::size_t getPosition() const
bool parseDouble(double &value)
bool parseShort(short &value)