OpenTREP Logo  0.07.4
C++ Open Travel Request Parsing Library
PORParserHelper.hpp
Go to the documentation of this file.
1 #ifndef __OPENTREP_CMD_PORPARSERHELPER_HPP
2 #define __OPENTREP_CMD_PORPARSERHELPER_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <string>
9 // Boost
10 #include <boost/spirit/include/qi.hpp>
11 // Opentrep
13 #include <opentrep/Location.hpp>
14 #include <opentrep/CityDetails.hpp>
15 
16 namespace OPENTREP {
17 
18  namespace PorParserHelper {
19 
21  //typedef char uchar_t;
22  typedef boost::uint32_t uchar_t;
23 
24 
25  // ///////////////////////////////////////////////////////////////////
26  // Semantic actions
27  // ////////////////////////////////////////////////////
29 
35  };
36 
42  void operator() (std::vector<uchar_t>,
43  boost::spirit::qi::unused_type,
44  boost::spirit::qi::unused_type) const;
45  };
46 
52  void operator() (std::vector<uchar_t>,
53  boost::spirit::qi::unused_type,
54  boost::spirit::qi::unused_type) const;
55  };
56 
62  void operator() (std::vector<uchar_t>,
63  boost::spirit::qi::unused_type,
64  boost::spirit::qi::unused_type) const;
65  };
66 
72  void operator() (std::vector<uchar_t>,
73  boost::spirit::qi::unused_type,
74  boost::spirit::qi::unused_type) const;
75  };
76 
82  void operator() (unsigned int iUICCode,
83  boost::spirit::qi::unused_type,
84  boost::spirit::qi::unused_type) const;
85  };
86 
92  void operator() (unsigned int,
93  boost::spirit::qi::unused_type,
94  boost::spirit::qi::unused_type) const;
95  };
96 
102  void operator() (unsigned int,
103  boost::spirit::qi::unused_type,
104  boost::spirit::qi::unused_type) const;
105  };
106 
112  void operator() (std::vector<uchar_t>,
113  boost::spirit::qi::unused_type,
114  boost::spirit::qi::unused_type) const;
115  };
116 
122  void operator() (std::vector<uchar_t>,
123  boost::spirit::qi::unused_type,
124  boost::spirit::qi::unused_type) const;
125  };
126 
132  void operator() (boost::spirit::qi::unused_type,
133  boost::spirit::qi::unused_type,
134  boost::spirit::qi::unused_type) const;
135  };
136 
142  void operator() (std::vector<uchar_t>,
143  boost::spirit::qi::unused_type,
144  boost::spirit::qi::unused_type) const;
145  };
146 
152  void operator() (boost::spirit::qi::unused_type,
153  boost::spirit::qi::unused_type,
154  boost::spirit::qi::unused_type) const;
155  };
156 
162  void operator() (std::vector<uchar_t>,
163  boost::spirit::qi::unused_type,
164  boost::spirit::qi::unused_type) const;
165  };
166 
172  void operator() (boost::spirit::qi::unused_type,
173  boost::spirit::qi::unused_type,
174  boost::spirit::qi::unused_type) const;
175  };
176 
182  void operator() (double,
183  boost::spirit::qi::unused_type,
184  boost::spirit::qi::unused_type) const;
185  };
186 
192  void operator() (double,
193  boost::spirit::qi::unused_type,
194  boost::spirit::qi::unused_type) const;
195  };
196 
202  void operator() (std::vector<uchar_t>,
203  boost::spirit::qi::unused_type,
204  boost::spirit::qi::unused_type) const;
205  };
206 
212  void operator() (std::vector<uchar_t>,
213  boost::spirit::qi::unused_type,
214  boost::spirit::qi::unused_type) const;
215  };
216 
222  void operator() (double,
223  boost::spirit::qi::unused_type,
224  boost::spirit::qi::unused_type) const;
225  };
226 
232  void operator() (boost::spirit::qi::unused_type,
233  boost::spirit::qi::unused_type,
234  boost::spirit::qi::unused_type) const;
235  };
236 
242  void operator() (boost::spirit::qi::unused_type,
243  boost::spirit::qi::unused_type,
244  boost::spirit::qi::unused_type) const;
245  };
246 
252  void operator() (std::vector<uchar_t>,
253  boost::spirit::qi::unused_type,
254  boost::spirit::qi::unused_type) const;
255  };
256 
262  void operator() (std::vector<uchar_t>,
263  boost::spirit::qi::unused_type,
264  boost::spirit::qi::unused_type) const;
265  };
266 
272  void operator() (std::vector<uchar_t>,
273  boost::spirit::qi::unused_type,
274  boost::spirit::qi::unused_type) const;
275  };
276 
282  void operator() (std::vector<uchar_t>,
283  boost::spirit::qi::unused_type,
284  boost::spirit::qi::unused_type) const;
285  };
286 
292  void operator() (std::vector<uchar_t>,
293  boost::spirit::qi::unused_type,
294  boost::spirit::qi::unused_type) const;
295  };
296 
302  void operator() (std::vector<uchar_t>,
303  boost::spirit::qi::unused_type,
304  boost::spirit::qi::unused_type) const;
305  };
306 
312  void operator() (std::vector<uchar_t>,
313  boost::spirit::qi::unused_type,
314  boost::spirit::qi::unused_type) const;
315  };
316 
322  void operator() (std::vector<uchar_t>,
323  boost::spirit::qi::unused_type,
324  boost::spirit::qi::unused_type) const;
325  };
326 
332  void operator() (std::vector<uchar_t>,
333  boost::spirit::qi::unused_type,
334  boost::spirit::qi::unused_type) const;
335  };
336 
342  void operator() (std::vector<uchar_t>,
343  boost::spirit::qi::unused_type,
344  boost::spirit::qi::unused_type) const;
345  };
346 
352  void operator() (std::vector<uchar_t>,
353  boost::spirit::qi::unused_type,
354  boost::spirit::qi::unused_type) const;
355  };
356 
362  void operator() (std::vector<uchar_t>,
363  boost::spirit::qi::unused_type,
364  boost::spirit::qi::unused_type) const;
365  };
366 
372  void operator() (std::vector<uchar_t>,
373  boost::spirit::qi::unused_type,
374  boost::spirit::qi::unused_type) const;
375  };
376 
382  void operator() (unsigned int,
383  boost::spirit::qi::unused_type,
384  boost::spirit::qi::unused_type) const;
385  };
386 
392  void operator() (int,
393  boost::spirit::qi::unused_type,
394  boost::spirit::qi::unused_type) const;
395  };
396 
402  void operator() (int,
403  boost::spirit::qi::unused_type,
404  boost::spirit::qi::unused_type) const;
405  };
406 
412  void operator() (std::vector<uchar_t>,
413  boost::spirit::qi::unused_type,
414  boost::spirit::qi::unused_type) const;
415  };
416 
422  void operator() (float,
423  boost::spirit::qi::unused_type,
424  boost::spirit::qi::unused_type) const;
425  };
426 
432  void operator() (float,
433  boost::spirit::qi::unused_type,
434  boost::spirit::qi::unused_type) const;
435  };
436 
442  void operator() (float,
443  boost::spirit::qi::unused_type,
444  boost::spirit::qi::unused_type) const;
445  };
446 
452  void operator() (boost::spirit::qi::unused_type,
453  boost::spirit::qi::unused_type,
454  boost::spirit::qi::unused_type) const;
455  };
456 
462  void operator() (std::vector<uchar_t>,
463  boost::spirit::qi::unused_type,
464  boost::spirit::qi::unused_type) const;
465  };
466 
472  void operator() (unsigned int,
473  boost::spirit::qi::unused_type,
474  boost::spirit::qi::unused_type) const;
475  };
476 
482  void operator() (std::vector<uchar_t>,
483  boost::spirit::qi::unused_type,
484  boost::spirit::qi::unused_type) const;
485  };
486 
492  void operator() (std::vector<uchar_t>,
493  boost::spirit::qi::unused_type,
494  boost::spirit::qi::unused_type) const;
495  };
496 
502  void operator() (std::vector<uchar_t>,
503  boost::spirit::qi::unused_type,
504  boost::spirit::qi::unused_type) const;
505  };
506 
508  struct storeWAC : public ParserSemanticAction {
510  storeWAC (Location&);
512  void operator() (unsigned int,
513  boost::spirit::qi::unused_type,
514  boost::spirit::qi::unused_type) const;
515  };
516 
522  void operator() (std::vector<uchar_t>,
523  boost::spirit::qi::unused_type,
524  boost::spirit::qi::unused_type) const;
525  };
526 
532  void operator() (std::vector<uchar_t>,
533  boost::spirit::qi::unused_type,
534  boost::spirit::qi::unused_type) const;
535  };
536 
542  void operator() (std::vector<uchar_t>,
543  boost::spirit::qi::unused_type,
544  boost::spirit::qi::unused_type) const;
545  };
546 
547 
553  void operator() (std::vector<uchar_t>,
554  boost::spirit::qi::unused_type,
555  boost::spirit::qi::unused_type) const;
556  };
557 
563  void operator() (std::vector<boost::uint32_t>,
564  boost::spirit::qi::unused_type,
565  boost::spirit::qi::unused_type) const;
566  };
567 
573  void operator() (std::vector<boost::uint32_t>,
574  boost::spirit::qi::unused_type,
575  boost::spirit::qi::unused_type) const;
576  };
577 
583  void operator() (std::vector<boost::uint32_t>,
584  boost::spirit::qi::unused_type,
585  boost::spirit::qi::unused_type) const;
586  };
587 
593  void operator() (std::vector<boost::uint32_t>,
594  boost::spirit::qi::unused_type,
595  boost::spirit::qi::unused_type) const;
596  };
597 
603  void operator() (std::vector<boost::uint32_t>,
604  boost::spirit::qi::unused_type,
605  boost::spirit::qi::unused_type) const;
606  };
607 
609  struct doEndPor : public ParserSemanticAction {
611  doEndPor (Location&);
613  void operator() (boost::spirit::qi::unused_type,
614  boost::spirit::qi::unused_type,
615  boost::spirit::qi::unused_type) const;
616  };
617 
618  }
619 
620 
622  //
623  // Entry class for the string parser
624  //
626 
634  public:
638  PORStringParser (const std::string& iString);
639 
644 
648  const Location& generateLocation();
649 
650  private:
654  void init();
655 
656  private:
657  // Attributes
661  std::string _string;
662 
666  Location _location;
667  };
668 
669 
671  //
672  // Entry class for the file parser
673  //
675 
683  public:
687  PORFileParser (const PORFilePath_T& iFilename);
688 
692  void generateLocations();
693 
694  private:
698  void init();
699 
700  private:
701  // Attributes
705  PORFilePath_T _filename;
706 
710  Location _location;
711  };
712 
713 }
714 #endif // __OPENTREP_CMD_PORPARSERHELPER_HPP
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Structure modelling a (geographical) location.
Definition: Location.hpp:25
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
PORStringParser(const std::string &iString)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(float, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(float, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(float, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
PORFileParser(const PORFilePath_T &iFilename)
const Location & generateLocation()
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(unsigned int iUICCode, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const