1.00.15
C++ Simulated Airline Inventory Management System Library
Toggle main menu visibility
Loading...
Searching...
No Matches
FFDisutilityParserHelper.hpp
Go to the documentation of this file.
1
#ifndef __AIRINV_CMD_FFDISUTILITYPARSERHELPER_HPP
2
#define __AIRINV_CMD_FFDISUTILITYPARSERHELPER_HPP
3
4
// //////////////////////////////////////////////////////////////////////
5
// Import section
6
// //////////////////////////////////////////////////////////////////////
7
// STL
8
#include <string>
9
// StdAir
10
#include <stdair/command/CmdAbstract.hpp>
11
// Airinv
12
#include <
airinv/AIRINV_Types.hpp
>
13
#include <
airinv/basic/BasParserTypes.hpp
>
14
#include <
airinv/bom/FFDisutilityStruct.hpp
>
15
16
// Forward declarations
17
namespace
stdair
{
18
class
BomRoot;
19
}
20
21
namespace
AIRINV
{
22
23
namespace
FFDisutilityParserHelper
{
24
25
// ///////////////////////////////////////////////////////////////////
26
// Semantic actions
27
// ///////////////////////////////////////////////////////////////////
29
struct
ParserSemanticAction
{
31
ParserSemanticAction
(
FFDisutilityStruct
&);
33
FFDisutilityStruct
&
_ffDisutility
;
34
};
35
37
struct
storeCurveKey
:
public
ParserSemanticAction
{
39
storeCurveKey
(
FFDisutilityStruct
&);
41
void
operator()
(
iterator_t
iStr,
iterator_t
iStrEnd)
const
;
42
};
43
45
struct
storeDTD
:
public
ParserSemanticAction
{
47
storeDTD
(
FFDisutilityStruct
&);
49
void
operator()
(
int
iDTD)
const
;
50
};
51
53
struct
storeFFDisutilityValue
:
public
ParserSemanticAction
{
55
storeFFDisutilityValue
(
FFDisutilityStruct
&);
57
void
operator()
(
double
iReal)
const
;
58
};
59
61
struct
doEndCurve
:
public
ParserSemanticAction
{
63
doEndCurve
(stdair::BomRoot&,
FFDisutilityStruct
&);
65
void
operator()
(
iterator_t
iStr,
iterator_t
iStrEnd)
const
;
67
stdair::BomRoot&
_bomRoot
;
68
};
69
71
//
72
// (Boost Spirit) Grammar Definition
73
//
75
87
89
struct
FFDisutilityParser
:
90
public
boost::spirit::classic::grammar
<FFDisutilityParser> {
91
92
FFDisutilityParser
(stdair::BomRoot&,
FFDisutilityStruct
&);
93
94
template
<
typename
ScannerT>
95
struct
definition
{
96
definition
(
FFDisutilityParser
const
& self);
97
98
// Instantiation of rules
99
boost::spirit::classic::rule<ScannerT>
curve_list
,
100
not_to_be_parsed
,
curve
,
key
,
map
,
value_pair
,
curve_end
;
101
103
boost::spirit::classic::rule<ScannerT>
const
&
start
()
const
;
104
};
105
106
// Parser Context
107
stdair::BomRoot&
_bomRoot
;
108
FFDisutilityStruct
&
_ffDisutility
;
109
};
110
}
111
114
115
117
//
118
// Entry class for the file parser
119
//
121
126
class
FFDisutilityFileParser
:
public
stdair::CmdAbstract {
127
public
:
129
FFDisutilityFileParser
(stdair::BomRoot& ioBomRoot,
130
const
stdair::Filename_T& iFilename);
131
133
bool
generateFFDisutilityCurves
();
134
135
private
:
137
void
init();
138
139
private
:
140
// Attributes
142
stdair::Filename_T _filename;
143
145
iterator_t
_startIterator;
146
148
iterator_t
_endIterator;
149
151
stdair::BomRoot& _bomRoot;
152
154
FFDisutilityStruct
_ffDisutility;
155
};
156
157
}
158
#endif
// __AIRINV_CMD_FFDISUTILITYPARSERHELPER_HPP
AIRINV_Types.hpp
BasParserTypes.hpp
FFDisutilityStruct.hpp
AIRINV::FFDisutilityFileParser::generateFFDisutilityCurves
bool generateFFDisutilityCurves()
Definition
FFDisutilityParserHelper.cpp:201
AIRINV::FFDisutilityFileParser::FFDisutilityFileParser
FFDisutilityFileParser(stdair::BomRoot &ioBomRoot, const stdair::Filename_T &iFilename)
Definition
FFDisutilityParserHelper.cpp:177
boost::spirit::classic::grammar
AIRINV::FFDisutilityParserHelper
Definition
FFDisutilityParserHelper.cpp:20
AIRINV
Definition
AIRINV_Master_Service.hpp:38
AIRINV::iterator_t
boost::spirit::classic::file_iterator< char_t > iterator_t
Definition
BasParserTypes.hpp:35
stdair
Forward declarations.
Definition
AIRINV_Master_Service.hpp:25
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::definition::value_pair
boost::spirit::classic::rule< ScannerT > value_pair
Definition
FFDisutilityParserHelper.hpp:100
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::definition::not_to_be_parsed
boost::spirit::classic::rule< ScannerT > not_to_be_parsed
Definition
FFDisutilityParserHelper.hpp:100
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::definition::definition
definition(FFDisutilityParser const &self)
Definition
FFDisutilityParserHelper.cpp:123
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::definition::curve_end
boost::spirit::classic::rule< ScannerT > curve_end
Definition
FFDisutilityParserHelper.hpp:100
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::definition::start
boost::spirit::classic::rule< ScannerT > const & start() const
Definition
FFDisutilityParserHelper.cpp:163
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::definition::curve_list
boost::spirit::classic::rule< ScannerT > curve_list
Definition
FFDisutilityParserHelper.hpp:99
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::definition::curve
boost::spirit::classic::rule< ScannerT > curve
Definition
FFDisutilityParserHelper.hpp:100
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::definition::map
boost::spirit::classic::rule< ScannerT > map
Definition
FFDisutilityParserHelper.hpp:100
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::definition::key
boost::spirit::classic::rule< ScannerT > key
Definition
FFDisutilityParserHelper.hpp:100
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::_bomRoot
stdair::BomRoot & _bomRoot
Definition
FFDisutilityParserHelper.hpp:107
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::_ffDisutility
FFDisutilityStruct & _ffDisutility
Definition
FFDisutilityParserHelper.hpp:108
AIRINV::FFDisutilityParserHelper::FFDisutilityParser::FFDisutilityParser
FFDisutilityParser(stdair::BomRoot &, FFDisutilityStruct &)
Definition
FFDisutilityParserHelper.cpp:114
AIRINV::FFDisutilityParserHelper::ParserSemanticAction::_ffDisutility
FFDisutilityStruct & _ffDisutility
Definition
FFDisutilityParserHelper.hpp:33
AIRINV::FFDisutilityParserHelper::ParserSemanticAction::ParserSemanticAction
ParserSemanticAction(FFDisutilityStruct &)
Definition
FFDisutilityParserHelper.cpp:27
AIRINV::FFDisutilityParserHelper::doEndCurve::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition
FFDisutilityParserHelper.cpp:87
AIRINV::FFDisutilityParserHelper::doEndCurve::doEndCurve
doEndCurve(stdair::BomRoot &, FFDisutilityStruct &)
Definition
FFDisutilityParserHelper.cpp:79
AIRINV::FFDisutilityParserHelper::doEndCurve::_bomRoot
stdair::BomRoot & _bomRoot
Definition
FFDisutilityParserHelper.hpp:67
AIRINV::FFDisutilityParserHelper::storeCurveKey::storeCurveKey
storeCurveKey(FFDisutilityStruct &)
Definition
FFDisutilityParserHelper.cpp:33
AIRINV::FFDisutilityParserHelper::storeCurveKey::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition
FFDisutilityParserHelper.cpp:38
AIRINV::FFDisutilityParserHelper::storeDTD::storeDTD
storeDTD(FFDisutilityStruct &)
Definition
FFDisutilityParserHelper.cpp:45
AIRINV::FFDisutilityParserHelper::storeDTD::operator()
void operator()(int iDTD) const
Definition
FFDisutilityParserHelper.cpp:50
AIRINV::FFDisutilityParserHelper::storeFFDisutilityValue::storeFFDisutilityValue
storeFFDisutilityValue(FFDisutilityStruct &)
Definition
FFDisutilityParserHelper.cpp:56
AIRINV::FFDisutilityParserHelper::storeFFDisutilityValue::operator()
void operator()(double iReal) const
Definition
FFDisutilityParserHelper.cpp:61
AIRINV::FFDisutilityStruct
Definition
FFDisutilityStruct.hpp:15
Generated on
for AirInv by
1.17.0