OpenTREP Logo  0.07.9
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 
512  void operator() (std::vector<uchar_t>,
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 
528  struct storeWAC : public ParserSemanticAction {
530  storeWAC (Location&);
532  void operator() (unsigned int,
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 
552  void operator() (std::vector<uchar_t>,
553  boost::spirit::qi::unused_type,
554  boost::spirit::qi::unused_type) const;
555  };
556 
562  void operator() (std::vector<uchar_t>,
563  boost::spirit::qi::unused_type,
564  boost::spirit::qi::unused_type) const;
565  };
566 
567 
573  void operator() (std::vector<uchar_t>,
574  boost::spirit::qi::unused_type,
575  boost::spirit::qi::unused_type) const;
576  };
577 
583  void operator() (double,
584  boost::spirit::qi::unused_type,
585  boost::spirit::qi::unused_type) const;
586  };
587 
593  void operator() (double,
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 
615  void operator() (std::vector<boost::uint32_t>,
616  boost::spirit::qi::unused_type,
617  boost::spirit::qi::unused_type) const;
618  };
619 
627  void operator() (std::vector<boost::uint32_t>,
628  boost::spirit::qi::unused_type,
629  boost::spirit::qi::unused_type) const;
630  };
631 
637  void operator() (std::vector<boost::uint32_t>,
638  boost::spirit::qi::unused_type,
639  boost::spirit::qi::unused_type) const;
640  };
641 
647  void operator() (std::vector<boost::uint32_t>,
648  boost::spirit::qi::unused_type,
649  boost::spirit::qi::unused_type) const;
650  };
651 
653  struct doEndPor : public ParserSemanticAction {
655  doEndPor (Location&);
657  void operator() (boost::spirit::qi::unused_type,
658  boost::spirit::qi::unused_type,
659  boost::spirit::qi::unused_type) const;
660  };
661 
662  }
663 
664 
666  //
667  // Entry class for the string parser
668  //
670 
678  public:
682  PORStringParser (const std::string& iString);
683 
688 
692  const Location& generateLocation();
693 
694  private:
698  void init();
699 
700  private:
701  // Attributes
705  std::string _string;
706 
710  Location _location;
711  };
712 
713 
715  //
716  // Entry class for the file parser
717  //
719 
727  public:
731  PORFileParser (const PORFilePath_T& iFilename);
732 
736  void generateLocations();
737 
738  private:
742  void init();
743 
744  private:
745  // Attributes
749  PORFilePath_T _filename;
750 
754  Location _location;
755  };
756 
757 }
758 #endif // __OPENTREP_CMD_PORPARSERHELPER_HPP
PORFileParser(const PORFilePath_T &iFilename)
PORStringParser(const std::string &iString)
const Location & generateLocation()
Structure modelling a (geographical) location.
Definition: Location.hpp:25
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()(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()(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< boost::uint32_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< boost::uint32_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()(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< 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()(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()(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()(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()(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()(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()(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()(int, 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()(double, 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()(double, 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()(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()(double, 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()(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()(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 iUICCode, 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, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const