OpenTREP Logo  0.07.18
C++ Open Travel Request Parsing Library
Loading...
Searching...
No Matches
OPENTREP_ParserHelperTypes.hpp
Go to the documentation of this file.
1#ifndef __OPENTREP_PARSERHELPERTYPES_HPP
2#define __OPENTREP_PARSERHELPERTYPES_HPP
3
4// //////////////////////////////////////////////////////////////////////
5// Import section
6// //////////////////////////////////////////////////////////////////////
7// STL
8#include <string>
9#include <sstream>
10// OpenTREP
12
13namespace OPENTREP {
14
15 // ////////////////////////////////////////////////////////////////////
16 //
17 // Parser structure helper
18 //
19 // ////////////////////////////////////////////////////////////////////
21 template <int MIN = 0, int MAX = 0>
23 unsigned int _value;
24
25 // ////////// Constructors ///////////
31 date_time_element (int i) : _value (i) { }
33 void check () const {
35 std::ostringstream oMessage;
36 oMessage << "The value: " << _value << " is out of range ("
37 << MIN << ", " << MAX << ")";
38 throw OPENTREP::ParserException (oMessage.str());
39 }
40 }
41 };
42
44 template <int MIN, int MAX>
45 inline date_time_element<MIN,
50
52 template <int MIN, int MAX>
53 inline date_time_element<MIN,
58
66
67}
68#endif // __OPENTREP_PARSERHELPERTYPES_HPP
date_time_element< 1, 31 > day_t
date_time_element< 1, 12 > month_t
date_time_element< MIN, MAX > operator*(const date_time_element< MIN, MAX > &o1, const date_time_element< MIN, MAX > &o2)
date_time_element< 0, 23 > hour_t
date_time_element< 0, 59 > second_t
date_time_element< 0, 59 > minute_t
date_time_element< MIN, MAX > operator+(const date_time_element< MIN, MAX > &o1, const date_time_element< MIN, MAX > &o2)
date_time_element< 1900, 2100 > year_t
date_time_element(const date_time_element &t)