StdAir Logo  0.45.1
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
BasParserTypes.hpp
Go to the documentation of this file.
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