183 (boost::optional<std::string>, name_m)
184 (boost::optional<SDDS::ast::datatype>, type_m)
185 (boost::optional<std::string>, units_m)
186 (boost::optional<std::string>, description_m)
190namespace SDDS {
namespace parser
192 namespace qi = boost::spirit::qi;
193 namespace ascii = boost::spirit::ascii;
194 namespace phx = boost::phoenix;
199 template <
typename Iterator>
200 struct column_parser: qi::grammar<Iterator, column(), skipper<Iterator> >
202 column_parser(error_handler<Iterator> & _error_handler);
204 qi::rule<Iterator, std::string(), skipper<Iterator> > string, quoted_string, units;
205 qi::rule<Iterator, std::string(), skipper<Iterator> > column_name, column_units,
206 column_description, column_symbol, column_format;
207 qi::rule<Iterator, ast::datatype(), skipper<Iterator> > column_type;
208 qi::rule<Iterator, column(), skipper<Iterator> > start;
209 qi::rule<Iterator, long(), skipper<Iterator> > column_field;
210 qi::rule<Iterator, ast::nil(), skipper<Iterator> > column_unsupported_pre,
211 column_unsupported_post;
212 qi::symbols<char, ast::datatype> datatype;
BOOST_FUSION_ADAPT_STRUCT(SDDS::column,(boost::optional< std::string >, name_m)(boost::optional< SDDS::ast::datatype >, type_m)(boost::optional< std::string >, units_m)(boost::optional< std::string >, description_m)(SDDS::ast::variant_t, value_m)) namespace SDDS