$treeview $search $mathjax
00001 #ifndef __STDAIR_BAS_BASCOMPARSERTYPES_HPP 00002 #define __STDAIR_BAS_BASCOMPARSERTYPES_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <string> 00009 // Boost Spirit (Parsing) 00010 #include <boost/spirit/include/qi.hpp> 00011 #include <boost/spirit/include/phoenix_core.hpp> 00012 #include <boost/spirit/include/phoenix_operator.hpp> 00013 #include <boost/spirit/include/support_multi_pass.hpp> 00014 // STDAIR 00015 #include <stdair/basic/BasParserHelperTypes.hpp> 00016 00017 namespace stdair { 00018 00019 // //////////////////////////////////////////////////////////////////// 00020 // 00021 // Definition of Basic Types 00022 // 00023 // //////////////////////////////////////////////////////////////////// 00024 // The types of iterator, scanner and rule are then derived from 00025 // the parsing unit. 00026 typedef std::istreambuf_iterator<char> base_iterator_t; 00027 typedef boost::spirit::multi_pass<base_iterator_t> iterator_t; 00028 00029 // //////////////////////////////////////////////////////////////////// 00030 // 00031 // Parser related types 00032 // 00033 // //////////////////////////////////////////////////////////////////// 00035 typedef boost::spirit::qi::int_parser<unsigned int, 10, 1, 1> int1_p_t; 00036 00038 typedef boost::spirit::qi::uint_parser<int, 10, 2, 2> uint2_p_t; 00039 00041 typedef boost::spirit::qi::uint_parser<int, 10, 4, 4> uint4_p_t; 00042 00044 typedef boost::spirit::qi::uint_parser<int, 10, 1, 4> uint1_4_p_t; 00045 00047 typedef boost::spirit::qi::uint_parser<hour_t, 10, 2, 2> hour_p_t; 00048 typedef boost::spirit::qi::uint_parser<minute_t, 10, 2, 2> minute_p_t; 00049 typedef boost::spirit::qi::uint_parser<second_t, 10, 2, 2> second_p_t; 00050 typedef boost::spirit::qi::uint_parser<year_t, 10, 4, 4> year_p_t; 00051 typedef boost::spirit::qi::uint_parser<month_t, 10, 2, 2> month_p_t; 00052 typedef boost::spirit::qi::uint_parser<day_t, 10, 2, 2> day_p_t; 00053 } 00054 #endif // __STDAIR_BAS_BASCOMPARSERTYPES_HPP