AirTSP Logo  1.01.13
C++ Simulated Airline Travel Solution Provider (TSP) Library
Loading...
Searching...
No Matches
ScheduleParserHelper.hpp
Go to the documentation of this file.
1#ifndef __AIRTSP_CMD_SCHEDULEPARSERHELPER_HPP
2#define __AIRTSP_CMD_SCHEDULEPARSERHELPER_HPP
3
4// //////////////////////////////////////////////////////////////////////
5// Import section
6// //////////////////////////////////////////////////////////////////////
7// STL
8#include <string>
9// StdAir
10#include <stdair/command/CmdAbstract.hpp>
11// AirTSP
15
16// Forward declarations
17namespace stdair {
18 class BomRoot;
19}
20
21namespace AIRTSP {
22
23 namespace ScheduleParserHelper {
24
25 // ///////////////////////////////////////////////////////////////////
26 // Semantic actions
27 // ///////////////////////////////////////////////////////////////////
35
43
49 void operator() (unsigned int iNumber) const;
50 };
51
59
67
73 void operator() (iterator_t iStr, iterator_t iStrEnd) const;
74 };
75
83
91
99
105 void operator() (unsigned int iNumber) const;
106 };
107
113 void operator() (iterator_t iStr, iterator_t iStrEnd) const;
114 };
115
121 void operator() (iterator_t iStr, iterator_t iStrEnd) const;
122 };
123
129 void operator() (iterator_t iStr, iterator_t iStrEnd) const;
130 };
131
137 void operator() (char iChar) const;
138 };
139
145 void operator() (double iReal) const;
146 };
147
156 void operator() (char iChar) const;
157 };
158
166
174
180 void operator() (char iChar) const;
181 };
182
188 void operator() (iterator_t iStr, iterator_t iStrEnd) const;
189 };
190
196 void operator() (int iCode) const;
197 };
198
206
214
220 void operator() (iterator_t iStr, iterator_t iStrEnd) const;
221 };
222
226 doEndFlight (stdair::BomRoot&, FlightPeriodStruct&);
228 void operator() (iterator_t iStr, iterator_t iStrEnd) const;
230 stdair::BomRoot& _bomRoot;
231 };
232
233
235 //
236 // (Boost Spirit) Grammar Definition
237 //
239
279
282 public boost::spirit::classic::grammar<FlightPeriodParser> {
283
284 FlightPeriodParser (stdair::BomRoot&, FlightPeriodStruct&);
285
286 template <typename ScannerT>
302
303 // Parser Context
304 stdair::BomRoot& _bomRoot;
306 };
307
308 }
311
312
314 //
315 // Entry class for the file parser
316 //
318
323 class FlightPeriodFileParser : public stdair::CmdAbstract {
324 public:
326 FlightPeriodFileParser (stdair::BomRoot& ioBomRoot,
327 const stdair::Filename_T& iFilename);
328
330 bool generateInventories ();
331
332 private:
334 void init();
335
336 private:
337 // Attributes
339 stdair::Filename_T _filename;
340
342 iterator_t _startIterator;
343
345 iterator_t _endIterator;
346
348 stdair::BomRoot& _bomRoot;
349
351 FlightPeriodStruct _flightPeriod;
352 };
353
354}
355#endif // __AIRTSP_CMD_SCHEDULEPARSERHELPER_HPP
FlightPeriodFileParser(stdair::BomRoot &ioBomRoot, const stdair::Filename_T &iFilename)
boost::spirit::classic::file_iterator< char_t > iterator_t
Forward declarations.
boost::spirit::classic::rule< ScannerT > full_family_cabin_details
boost::spirit::classic::rule< ScannerT > full_segment_cabin_details
boost::spirit::classic::rule< ScannerT > const & start() const
FlightPeriodParser(stdair::BomRoot &, FlightPeriodStruct &)
doEndFlight(stdair::BomRoot &, FlightPeriodStruct &)
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const
void operator()(iterator_t iStr, iterator_t iStrEnd) const