1.00.26
C++ Standard Airline IT Object Library
Toggle main menu visibility
Loading...
Searching...
No Matches
BasParserHelperTypes.hpp
Go to the documentation of this file.
1
#ifndef __STDAIR_BAS_BASCOMPARSERHELPERTYPES_HPP
2
#define __STDAIR_BAS_BASCOMPARSERHELPERTYPES_HPP
3
4
// //////////////////////////////////////////////////////////////////////
5
// Import section
6
// //////////////////////////////////////////////////////////////////////
7
// STL
8
#include <string>
9
#include <sstream>
10
// StdAir
11
#include <
stdair/stdair_exceptions.hpp
>
12
#include <
stdair/service/Logger.hpp
>
13
14
namespace
stdair
{
15
16
// ////////////////////////////////////////////////////////////////////
17
//
18
// Parser structure helper
19
//
20
// ////////////////////////////////////////////////////////////////////
22
template
<
int
MIN = 0,
int
MAX = 0>
23
struct
date_time_element
{
24
unsigned
int
_value
;
25
26
// ////////// Constructors ///////////
28
date_time_element
() { }
30
date_time_element
(
const
date_time_element
& t) :
_value
(t.
_value
) { }
32
date_time_element
(
int
i) :
_value
(i) { }
34
void
check
()
const
{
35
if
(
_value < MIN || _value >
MAX) {
36
std::ostringstream oMessage;
37
oMessage <<
"The value: "
<<
_value
<<
" is out of range ("
38
<< MIN <<
", "
<< MAX <<
")"
;
39
throw
stdair::ParserException
(oMessage.str());
40
}
41
}
42
};
43
45
template
<
int
MIN,
int
MAX>
46
inline
date_time_element<MIN,
47
MAX>
operator*
(
const
date_time_element<MIN, MAX>
& o1,
48
const
date_time_element<MIN, MAX>
& o2){
49
return
date_time_element<MIN, MAX>
(o1.
_value
* o2.
_value
);
50
}
51
53
template
<
int
MIN,
int
MAX>
54
inline
date_time_element<MIN,
55
MAX>
operator+
(
const
date_time_element<MIN, MAX>
& o1,
56
const
date_time_element<MIN, MAX>
& o2){
57
return
date_time_element<MIN, MAX>
(o1.
_value
+ o2.
_value
);
58
}
59
61
typedef
date_time_element<0, 23>
hour_t
;
62
typedef
date_time_element<0, 59>
minute_t
;
63
typedef
date_time_element<0, 59>
second_t
;
64
typedef
date_time_element<1900, 2100>
year_t
;
65
typedef
date_time_element<1, 12>
month_t
;
66
typedef
date_time_element<1, 31>
day_t
;
67
68
}
69
#endif
// __STDAIR_BAS_BASCOMPARSERHELPERTYPES_HPP
Logger.hpp
stdair_exceptions.hpp
stdair
Handle on the StdAir library context.
Definition
BasChronometer.cpp:9
stdair::minute_t
date_time_element< 0, 59 > minute_t
Definition
BasParserHelperTypes.hpp:62
stdair::year_t
date_time_element< 1900, 2100 > year_t
Definition
BasParserHelperTypes.hpp:64
stdair::operator+
date_time_element< MIN, MAX > operator+(const date_time_element< MIN, MAX > &o1, const date_time_element< MIN, MAX > &o2)
Definition
BasParserHelperTypes.hpp:55
stdair::second_t
date_time_element< 0, 59 > second_t
Definition
BasParserHelperTypes.hpp:63
stdair::day_t
date_time_element< 1, 31 > day_t
Definition
BasParserHelperTypes.hpp:66
stdair::operator*
date_time_element< MIN, MAX > operator*(const date_time_element< MIN, MAX > &o1, const date_time_element< MIN, MAX > &o2)
Definition
BasParserHelperTypes.hpp:47
stdair::hour_t
date_time_element< 0, 23 > hour_t
Definition
BasParserHelperTypes.hpp:61
stdair::month_t
date_time_element< 1, 12 > month_t
Definition
BasParserHelperTypes.hpp:65
stdair::date_time_element
Definition
BasParserHelperTypes.hpp:23
stdair::date_time_element::date_time_element
date_time_element()
Definition
BasParserHelperTypes.hpp:28
stdair::date_time_element::date_time_element
date_time_element(int i)
Definition
BasParserHelperTypes.hpp:32
stdair::date_time_element::check
void check() const
Definition
BasParserHelperTypes.hpp:34
stdair::date_time_element::date_time_element
date_time_element(const date_time_element &t)
Definition
BasParserHelperTypes.hpp:30
stdair::date_time_element< 0, 23 >::_value
unsigned int _value
Definition
BasParserHelperTypes.hpp:24
stdair::ParserException
Definition
stdair_exceptions.hpp:112
Generated for StdAir by
1.17.0