AirInv Logo  1.00.3
C++ Simulated Airline Inventory Management System library
InventoryParserHelper.cpp
Go to the documentation of this file.
1 // //////////////////////////////////////////////////////////////////////
2 // Import section
3 // //////////////////////////////////////////////////////////////////////
4 // STL
5 #include <cassert>
6 // StdAir
7 #include <stdair/service/Logger.hpp>
8 #include <stdair/stdair_exceptions.hpp>
9 // Airinv
11 //#define BOOST_SPIRIT_DEBUG
13 
14 //
15 namespace bsc = boost::spirit::classic;
16 
17 namespace AIRINV {
18 
19  namespace InventoryParserHelper {
20 
21  // //////////////////////////////////////////////////////////////////
22  // Semantic actions
23  // //////////////////////////////////////////////////////////////////
24 
27  : _flightDate (ioFlightDate) {
28  }
29 
30  // //////////////////////////////////////////////////////////////////
33  : ParserSemanticAction (ioFlightDate) {
34  }
35 
36  // //////////////////////////////////////////////////////////////////
38  iterator_t iStrEnd) const {
40  }
41 
42  // //////////////////////////////////////////////////////////////////
45  : ParserSemanticAction (ioFlightDate) {
46  }
47 
48  // //////////////////////////////////////////////////////////////////
50  iterator_t iStrEnd) const {
51  const stdair::AirlineCode_T lAirlineCode (iStr, iStrEnd);
52  _flightDate._airlineCode = lAirlineCode;
53 
54  // As that's the beginning of a new flight, all the list must be reset
55  // 1. Leg branch of the tree
56  _flightDate._legList.clear();
60 
61  // 2. Segment branch of the tree
62  _flightDate._segmentList.clear();
67  }
68 
69  // //////////////////////////////////////////////////////////////////
71  : ParserSemanticAction (ioFlightDate) {
72  }
73 
74  // //////////////////////////////////////////////////////////////////
75  void storeFlightNumber::operator() (unsigned int iNumber) const {
76  _flightDate._flightNumber = iNumber;
77  }
78 
79  // //////////////////////////////////////////////////////////////////
81  : ParserSemanticAction (ioFlightDate) {
82  }
83 
84  // //////////////////////////////////////////////////////////////////
86  iterator_t iStrEnd) const {
88  }
89 
90  // //////////////////////////////////////////////////////////////////
92  : ParserSemanticAction (ioFlightDate) {
93  }
94 
95  // //////////////////////////////////////////////////////////////////
97  iterator_t iStrEnd) const {
98  const std::string lFlightTypeCodeStr (iStr, iStrEnd);
99  const FlightTypeCode lFlightTypeCode (lFlightTypeCodeStr);
100  _flightDate._flightTypeCode = lFlightTypeCode.getCode();
101  //STDAIR_LOG_DEBUG ("FlightType code: " << lFlightTypeCode);
102  }
103 
104  // //////////////////////////////////////////////////////////////////
107  : ParserSemanticAction (ioFlightDate) {
108  }
109 
110  // //////////////////////////////////////////////////////////////////
112  iterator_t iStrEnd) const {
113  const std::string lFlightVisibilityCodeStr (iStr, iStrEnd);
114  const FlightVisibilityCode lFlightVisibilityCode(lFlightVisibilityCodeStr);
115  _flightDate._flightVisibilityCode = lFlightVisibilityCode.getCode();
116  //STDAIR_LOG_DEBUG ("FlightVisibility code: " << lFlightVisibilityCode);
117  }
118 
119  // //////////////////////////////////////////////////////////////////
122  : ParserSemanticAction (ioFlightDate) {
123  }
124 
125  // //////////////////////////////////////////////////////////////////
127  iterator_t iStrEnd) const {
128  stdair::AirportCode_T lBoardingPoint (iStr, iStrEnd);
129 
130  // ///////////////////
131  // If this is not the first leg-date of the flight-date,
132  // the already parsed leg-date must be added to the flight-date.
133  if (_flightDate._itLeg._cabinList.empty() == false) {
137  }
138 
139  // As that's the beginning of a new leg-date,
140  // (re-)initialise the leg-cabin branch of the tree
141  _flightDate._itLeg._cabinList.clear();
145 
146  // ///////////////////
147  // Set the (default) operating airline and flight number
150 
151  // Set the (new) boarding point
152  _flightDate._itLeg._boardingPoint = lBoardingPoint;
153 
154  // Add the airport code if it is not already stored in the airport lists
155  _flightDate.addAirport (lBoardingPoint);
156  }
157 
158  // //////////////////////////////////////////////////////////////////
161  : ParserSemanticAction (ioFlightDate) {
162  }
163 
164  // //////////////////////////////////////////////////////////////////
166  iterator_t iStrEnd) const {
167  stdair::AirportCode_T lOffPoint (iStr, iStrEnd);
168  _flightDate._itLeg._offPoint = lOffPoint;
169 
170  // Add the airport code if it is not already stored in the airport lists
171  _flightDate.addAirport (lOffPoint);
172  }
173 
174  // //////////////////////////////////////////////////////////////////
177  : ParserSemanticAction (ioFlightDate) {
178  }
179 
180  // //////////////////////////////////////////////////////////////////
182  iterator_t iStrEnd) const {
183  const stdair::AirlineCode_T lAirlineCode (iStr, iStrEnd);
184  if (lAirlineCode.size() == 2) {
185  _flightDate._itLeg._airlineCode = lAirlineCode;
186  }
187  //STDAIR_LOG_DEBUG ("Airline code: " << lAirlineCode);
188  }
189 
190  // //////////////////////////////////////////////////////////////////
193  : ParserSemanticAction (ioFlightDate) {
194  }
195 
196  // //////////////////////////////////////////////////////////////////
197  void storeOperatingFlightNumber::operator() (unsigned int iNumber) const {
198  _flightDate._itLeg._flightNumber = iNumber;
199  //STDAIR_LOG_DEBUG ("Flight number: " << iNumber);
200  }
201 
202 
203  // //////////////////////////////////////////////////////////////////
205  : ParserSemanticAction (ioFlightDate) {
206  }
207 
208  // //////////////////////////////////////////////////////////////////
210  iterator_t iStrEnd) const {
212  }
213 
214  // //////////////////////////////////////////////////////////////////
216  : ParserSemanticAction (ioFlightDate) {
217  }
218 
219  // //////////////////////////////////////////////////////////////////
221  iterator_t iStrEnd) const {
223 
224  // Reset the number of seconds
226 
227  // Reset the date off-set
229  }
230 
231  // //////////////////////////////////////////////////////////////////
233  : ParserSemanticAction (ioFlightDate) {
234  }
235 
236  // //////////////////////////////////////////////////////////////////
237  void storeOffDate::operator() (iterator_t iStr, iterator_t iStrEnd) const {
239  }
240 
241  // //////////////////////////////////////////////////////////////////
243  : ParserSemanticAction (ioFlightDate) {
244  }
245 
246  // //////////////////////////////////////////////////////////////////
247  void storeOffTime::operator() (iterator_t iStr, iterator_t iStrEnd) const {
249 
250  // Reset the number of seconds
252  }
253 
254  // //////////////////////////////////////////////////////////////////
256  : ParserSemanticAction (ioFlightDate) {
257  }
258 
259  // //////////////////////////////////////////////////////////////////
260  void storeLegCabinCode::operator() (char iChar) const {
261 
262  // ///////////////////
263  // If this is not the first leg-cabin of the leg-date,
264  // the already parsed leg-cabin must be added to the leg-date.
265  if (_flightDate._itLegCabin._cabinCode != "") {
266  if (_flightDate._itLegCabin._bucketList.empty() == false) {
268  }
270  }
271 
272  // (Re-)initialise the leg-cabin branch of the tree
275 
276 
277  // ///////////////////
279  //std::cout << "Cabin code: " << iChar << std::endl;
280  }
281 
282  // //////////////////////////////////////////////////////////////////
285  : ParserSemanticAction (ioFlightDate) {
286  }
287 
288  // //////////////////////////////////////////////////////////////////
289  void storeSaleableCapacity::operator() (double iReal) const {
291  //std::cout << "Saleable capacity: " << iReal << std::endl;
292  }
293 
294  // //////////////////////////////////////////////////////////////////
296  : ParserSemanticAction (ioFlightDate) {
297  }
298 
299  // //////////////////////////////////////////////////////////////////
300  void storeAU::operator() (double iReal) const {
301  _flightDate._itLegCabin._au = iReal;
302  //std::cout << "AU: " << iReal << std::endl;
303  }
304 
305  // //////////////////////////////////////////////////////////////////
307  : ParserSemanticAction (ioFlightDate) {
308  }
309 
310  // //////////////////////////////////////////////////////////////////
311  void storeUPR::operator() (double iReal) const {
312  _flightDate._itLegCabin._upr = iReal;
313  //std::cout << "UPR: " << iReal << std::endl;
314  }
315 
316  // //////////////////////////////////////////////////////////////////
318  : ParserSemanticAction (ioFlightDate) {
319  }
320 
321  // //////////////////////////////////////////////////////////////////
322  void storeBookingCounter::operator() (double iReal) const {
324  //std::cout << "Nb of bookings: " << iReal << std::endl;
325  }
326 
327  // //////////////////////////////////////////////////////////////////
329  : ParserSemanticAction (ioFlightDate) {
330  }
331 
332  // //////////////////////////////////////////////////////////////////
333  void storeNAV::operator() (double iReal) const {
334  _flightDate._itLegCabin._nav = iReal;
335  //std::cout << "NAV: " << iReal << std::endl;
336  }
337 
338  // //////////////////////////////////////////////////////////////////
340  : ParserSemanticAction (ioFlightDate) {
341  }
342 
343  // //////////////////////////////////////////////////////////////////
344  void storeGAV::operator() (double iReal) const {
345  _flightDate._itLegCabin._gav = iReal;
346  //std::cout << "GAV: " << iReal << std::endl;
347  }
348 
349  // //////////////////////////////////////////////////////////////////
351  : ParserSemanticAction (ioFlightDate) {
352  }
353 
354  // //////////////////////////////////////////////////////////////////
355  void storeACP::operator() (double iReal) const {
356  _flightDate._itLegCabin._acp = iReal;
357  //std::cout << "ACP: " << iReal << std::endl;
358  }
359 
360  // //////////////////////////////////////////////////////////////////
362  : ParserSemanticAction (ioFlightDate) {
363  }
364 
365  // //////////////////////////////////////////////////////////////////
366  void storeETB::operator() (double iReal) const {
367  _flightDate._itLegCabin._etb = iReal;
368  //std::cout << "ETB: " << iReal << std::endl;
369  }
370 
371  // //////////////////////////////////////////////////////////////////
373  : ParserSemanticAction (ioFlightDate) {
374  }
375 
376  // //////////////////////////////////////////////////////////////////
377  void storeYieldUpperRange::operator() (double iReal) const {
378  // If this is not the first bucket of the leg-cabin,
379  // the already parsed bucket must be added to the leg-cabin.
382  }
383 
384 
385  // ///////////////////
387  //std::cout << "Yield Upper Range Value: " << iReal << std::endl;
388  }
389 
390  // //////////////////////////////////////////////////////////////////
393  : ParserSemanticAction (ioFlightDate) {
394  }
395 
396  // //////////////////////////////////////////////////////////////////
397  void storeBucketAvaibality::operator() (double iReal) const {
399  //std::cout << "Availability: " << iReal << std::endl;
400  }
401 
402  // //////////////////////////////////////////////////////////////////
404  : ParserSemanticAction (ioFlightDate) {
405  }
406 
407  // //////////////////////////////////////////////////////////////////
408  void storeSeatIndex::operator() (double iReal) const {
410  //std::cout << "Seat Index: " << iReal << std::endl;
411  }
412 
413  // //////////////////////////////////////////////////////////////////
416  : ParserSemanticAction (ioFlightDate) {
417  }
418 
419  // //////////////////////////////////////////////////////////////////
421  iterator_t iStrEnd) const {
422  stdair::AirportCode_T lBoardingPoint (iStr, iStrEnd);
423 
424  // ///////////////////
425  // When the first segment-date is read, it means that the leg section
426  // is over. The parsed leg can therefore be added to the list.
427  if (_flightDate._itLeg._cabinList.empty() == false) {
431 
432  // (Re-)initialise the leg-date branch of the tree
433  _flightDate._itLeg._cabinList.clear();
435  _flightDate._itLeg._cabinList.clear();
437  }
438 
439 
440  // ///////////////////
441  // If this is not the first segment-date of the flight-date,
442  // the already parsed segment-date must be added to the flight-date.
443  if (_flightDate._itSegment._cabinList.empty() == false) {
448  }
449 
450  // As that's the beginning of a new segment-date,
451  // (re-)initialise the segment-cabin branch of the tree
456 
457 
458  // ///////////////////
459  _flightDate._itSegment._boardingPoint = lBoardingPoint;
460  //std::cout << "Board point: " << lBoardingPoint << std::endl;
461  }
462 
463  // //////////////////////////////////////////////////////////////////
465  : ParserSemanticAction (ioFlightDate) {
466  }
467 
468  // //////////////////////////////////////////////////////////////////
470  iterator_t iStrEnd) const {
471  stdair::AirportCode_T lOffPoint (iStr, iStrEnd);
472  _flightDate._itSegment._offPoint = lOffPoint;
473  //std::cout << "Off point: " << lOffPoint << std::endl;
474  }
475 
476  // //////////////////////////////////////////////////////////////////
479  : ParserSemanticAction (ioFlightDate) {
480  }
481 
482  // //////////////////////////////////////////////////////////////////
483  void storeSegmentCabinCode::operator() (char iChar) const {
484 
485  // Reset the list of fare families, as it is a new segment-cabin
487 
488  // ///////////////////
489  // If this is not the first segment-cabin of the segment-date,
490  // the already parsed segment-cabin must be added to the segment-date.
491  if (_flightDate._itSegmentCabin._itFareFamily._classList.empty() == false){
493  push_back (_flightDate._itBookingClass);
497  push_back (_flightDate._itSegmentCabin);
498  }
499 
500  // (Re-)initialise the booking-class branch of the tree
504 
505 
506  // ///////////////////
508  //std::cout << "Segment-cabin code: " << iChar << std::endl;
509  }
510 
511  // //////////////////////////////////////////////////////////////////
514  : ParserSemanticAction (ioFlightDate) {
515  }
516 
517  // //////////////////////////////////////////////////////////////////
520  //std::cout << "Nb of bookings: " << iReal << std::endl;
521  }
522 
523  // //////////////////////////////////////////////////////////////////
525  : ParserSemanticAction (ioFlightDate) {
526  }
527 
528  // //////////////////////////////////////////////////////////////////
529  void storeClassCode::operator() (char iChar) const {
530  // If this is not the first booking-class of the segment-cabin,
531  // the already parsed booking-class must be added to the segment-cabin.
534  push_back (_flightDate._itBookingClass);
535  }
536 
537  // ///////////////////
539  //std::cout << "Booking class code: " << iChar << std::endl;
540  }
541 
542  // //////////////////////////////////////////////////////////////////
544  : ParserSemanticAction (ioFlightDate) {
545  }
546 
547  // //////////////////////////////////////////////////////////////////
548  void storeSubclassCode::operator() (unsigned int iNumber) const {
550  //std::cout << "Sub-class code: " << iNumber << std::endl;
551  }
552 
553  // //////////////////////////////////////////////////////////////////
556  : ParserSemanticAction (ioFlightDate) {
557  }
558 
559  // //////////////////////////////////////////////////////////////////
560  void storeParentClassCode::operator() (char iChar) const {
562  //std::cout << "Parent booking class code: " << iChar << std::endl;
563  }
564 
565  // //////////////////////////////////////////////////////////////////
568  : ParserSemanticAction (ioFlightDate) {
569  }
570 
571  // //////////////////////////////////////////////////////////////////
572  void storeParentSubclassCode::operator() (unsigned int iNumber) const {
574  //std::cout << "Parent sub-class code: " << iNumber << std::endl;
575  }
576 
577  // //////////////////////////////////////////////////////////////////
580  : ParserSemanticAction (ioFlightDate) {
581  }
582 
583  // //////////////////////////////////////////////////////////////////
584  void storeCumulatedProtection::operator() (double iReal) const {
586  //std::cout << "Cumulated protection: " << iReal << std::endl;
587  }
588 
589  // //////////////////////////////////////////////////////////////////
591  : ParserSemanticAction (ioFlightDate) {
592  }
593 
594  // //////////////////////////////////////////////////////////////////
595  void storeProtection::operator() (double iReal) const {
597  //std::cout << "Protection: " << iReal << std::endl;
598  }
599 
600  // //////////////////////////////////////////////////////////////////
602  : ParserSemanticAction (ioFlightDate) {
603  }
604 
605  // //////////////////////////////////////////////////////////////////
606  void storeNego::operator() (double iReal) const {
608  //std::cout << "Negotiated allotment: " << iReal << std::endl;
609  }
610 
611  // //////////////////////////////////////////////////////////////////
613  : ParserSemanticAction (ioFlightDate) {
614  }
615 
616  // //////////////////////////////////////////////////////////////////
617  void storeNoShow::operator() (double iReal) const {
619  //std::cout << "No-Show percentage: " << iReal << std::endl;
620  }
621 
622  // //////////////////////////////////////////////////////////////////
624  : ParserSemanticAction (ioFlightDate) {
625  }
626 
627  // //////////////////////////////////////////////////////////////////
628  void storeOverbooking::operator() (double iReal) const {
630  //std::cout << "Overbooking percentage: " << iReal << std::endl;
631  }
632 
633  // //////////////////////////////////////////////////////////////////
635  : ParserSemanticAction (ioFlightDate) {
636  }
637 
638  // //////////////////////////////////////////////////////////////////
639  void storeNbOfBkgs::operator() (double iReal) const {
641  //std::cout << "Nb of bookings: " << iReal << std::endl;
642  }
643 
644  // //////////////////////////////////////////////////////////////////
646  : ParserSemanticAction (ioFlightDate) {
647  }
648 
649  // //////////////////////////////////////////////////////////////////
650  void storeNbOfGroupBkgs::operator() (double iReal) const {
652  //std::cout << "Nb of group bookings: " << iReal << std::endl;
653  }
654 
655  // //////////////////////////////////////////////////////////////////
658  : ParserSemanticAction (ioFlightDate) {
659  }
660 
661  // //////////////////////////////////////////////////////////////////
662  void storeNbOfPendingGroupBkgs::operator() (double iReal) const {
664  //std::cout << "Nb of pending group bookings: " << iReal << std::endl;
665  }
666 
667  // //////////////////////////////////////////////////////////////////
669  : ParserSemanticAction (ioFlightDate) {
670  }
671 
672  // //////////////////////////////////////////////////////////////////
673  void storeNbOfStaffBkgs::operator() (double iReal) const {
675  //std::cout << "Nb of staff bookings: " << iReal << std::endl;
676  }
677 
678  // //////////////////////////////////////////////////////////////////
680  : ParserSemanticAction (ioFlightDate) {
681  }
682 
683  // //////////////////////////////////////////////////////////////////
684  void storeNbOfWLBkgs::operator() (double iReal) const {
686  //std::cout << "Nb of wait-list bookings: " << iReal << std::endl;
687  }
688 
689  // //////////////////////////////////////////////////////////////////
691  : ParserSemanticAction (ioFlightDate) {
692  }
693 
694  // //////////////////////////////////////////////////////////////////
695  void storeClassETB::operator() (double iReal) const {
697  //std::cout << "Class-level ETB: " << iReal << std::endl;
698  }
699 
700  // //////////////////////////////////////////////////////////////////
703  : ParserSemanticAction (ioFlightDate) {
704  }
705 
706  // //////////////////////////////////////////////////////////////////
707  void storeClassAvailability::operator() (double iReal) const {
709  //std::cout << "Net class availability: " << iReal << std::endl;
710  }
711 
712  // //////////////////////////////////////////////////////////////////
715  : ParserSemanticAction (ioFlightDate) {
716  }
717 
718  // //////////////////////////////////////////////////////////////////
719  void storeSegmentAvailability::operator() (double iReal) const {
721  //std::cout << "Segment availability: " << iReal << std::endl;
722  }
723 
724  // //////////////////////////////////////////////////////////////////
727  : ParserSemanticAction (ioFlightDate) {
728  }
729 
730  // //////////////////////////////////////////////////////////////////
731  void storeRevenueAvailability::operator() (double iReal) const {
733  //std::cout << "Net revenue availability: " << iReal << std::endl;
734  }
735 
736  // //////////////////////////////////////////////////////////////////
738  : ParserSemanticAction (ioFlightDate) {
739  }
740 
741  // //////////////////////////////////////////////////////////////////
742  void storeFamilyCode::operator() (int iCode) const {
743  std::ostringstream ostr;
744  ostr << iCode;
746  }
747 
748  // //////////////////////////////////////////////////////////////////
750  : ParserSemanticAction (ioFlightDate) {
751  }
752 
753  // //////////////////////////////////////////////////////////////////
755  iterator_t iStrEnd) const {
756  std::string lClasses (iStr, iStrEnd);
758 
759  // The list of classes is the last (according to the arrival order
760  // within the schedule input file) detail of the segment cabin. Hence,
761  // when a list of classes is parsed, it means that the full segment
762  // cabin details have already been parsed as well: the segment cabin
763  // can thus be added to the segment.
765  push_back (_flightDate._itBookingClass);
769 
770  // As that's the beginning of a new segment-cabin,
771  // (re-)initialise the segment-cabin branch of the tree
775  }
776 
777  // //////////////////////////////////////////////////////////////////
778  doEndFlightDate::doEndFlightDate (stdair::BomRoot& ioBomRoot,
779  FlightDateStruct& ioFlightDate,
780  unsigned int& ioNbOfFlights)
781  : ParserSemanticAction (ioFlightDate), _bomRoot (ioBomRoot),
782  _nbOfFlights (ioNbOfFlights) {
783  }
784 
785  // //////////////////////////////////////////////////////////////////
786  // void doEndFlightDate::operator() (char iChar) const {
788  iterator_t iStrEnd) const {
789 
790  // ///////////////////
791  // The segment-date section is now over. It means that the
792  // already parsed segment-date must be added to the flight-date.
793  if (_flightDate._itSegment._cabinList.empty() == false) {
795  }
796 
797  // As that's the beginning of a new flight-date,
798  // (re-)initialise the segment-cabin branch of the tree
800 
801 
802  // ///////////////////
803  //if (_nbOfFlights % 1000 == 0) {
804  // DEBUG: Display the result
805  //STDAIR_LOG_DEBUG ("FlightDate #" << _nbOfFlights
806  // << ": " << _flightDate.describe());
807  //}
808 
809  // Build the FlightDate BOM objects
810  InventoryBuilder::buildInventory (_bomRoot, _flightDate);
811 
812  //
813  ++_nbOfFlights;
814  }
815 
816 
817  // ///////////////////////////////////////////////////////////////////
818  //
819  // Utility Parsers
820  //
821  // ///////////////////////////////////////////////////////////////////
824 
827 
830 
833 
836 
839 
841  repeat_p_t airline_code_p (chset_t("0-9A-Z").derived(), 2, 3);
842 
844  bounded1_4_p_t flight_number_p (uint1_4_p.derived(), 0u, 9999u);
845 
847  bounded2_p_t year_p (uint2_p.derived(), 0u, 99u);
848 
850  bounded2_p_t month_p (uint2_p.derived(), 1u, 12u);
851 
853  bounded2_p_t day_p (uint2_p.derived(), 1u, 31u);
854 
856  repeat_p_t dow_p (chset_t("0-1").derived().derived(), 7, 7);
857 
859  repeat_p_t airport_p (chset_t("0-9A-Z").derived(), 3, 3);
860 
862  bounded1_2_p_t hours_p (uint1_2_p.derived(), 0u, 24u);
863 
865  bounded2_p_t minutes_p (uint2_p.derived(), 0u, 59u);
866 
868  bounded2_p_t seconds_p (uint2_p.derived(), 0u, 59u);
869 
871  chset_t cabin_code_p ("A-Z");
872 
874  chset_t class_code_p ("A-Z");
875 
877  chset_t passenger_type_p ("A-Z");
878 
881 
883  repeat_p_t class_code_list_p (chset_t("A-Z").derived(), 1, 26);
884 
886  bounded1_3_p_t stay_duration_p (uint1_3_p.derived(), 0u, 999u);
887 
888 
889  // //////////////////////////////////////////////////////////////////
890  // (Boost Spirit) Grammar Definition
891  // //////////////////////////////////////////////////////////////////
892 
893  // //////////////////////////////////////////////////////////////////
894  InventoryParser::InventoryParser (stdair::BomRoot& ioBomRoot,
895  FlightDateStruct& ioFlightDate,
896  unsigned int& ioNbOfFlights)
897  : _bomRoot (ioBomRoot), _flightDate (ioFlightDate),
898  _nbOfFlights (ioNbOfFlights) {
899  }
900 
901  // //////////////////////////////////////////////////////////////////
902  template<typename ScannerT>
905 
906  flight_date_list = *( not_to_be_parsed | flight_date )
907  ;
908 
909  not_to_be_parsed =
910  bsc::lexeme_d[ bsc::comment_p("//") | bsc::comment_p("/*", "*/")
911  | bsc::space_p ]
912  ;
913 
914  flight_date = flight_key
915  >> leg_list
916  >> segment_list
917  >> flight_date_end[doEndFlightDate (self._bomRoot, self._flightDate,
918  self._nbOfFlights)]
919  ;
920 
921  flight_date_end = bsc::ch_p(';')
922  ;
923 
924  flight_key = date[storeSnapshotDate(self._flightDate)]
925  >> '/' >> airline_code
926  >> '/' >> flight_number
927  >> '/' >> date[storeFlightDate(self._flightDate)]
928  >> '/' >> flight_type_code[storeFlightTypeCode(self._flightDate)]
929  >> !( '/' >> flight_visibility_code[storeFlightVisibilityCode(self._flightDate)])
930  ;
931 
932  airline_code =
933  bsc::lexeme_d[(airline_code_p)[storeAirlineCode(self._flightDate)]]
934  ;
935 
936  flight_number =
937  bsc::lexeme_d[(flight_number_p)[storeFlightNumber(self._flightDate)]]
938  ;
939 
940  date =
941  bsc::lexeme_d[(day_p)[bsc::assign_a(self._flightDate._itDay)]
942  >> (month_p)[bsc::assign_a(self._flightDate._itMonth)]
943  >> (year_p)[bsc::assign_a(self._flightDate._itYear)]]
944  ;
945 
946  flight_type_code =
947  ( bsc::chseq_p("INT") | bsc::chseq_p("DOM") | bsc::chseq_p("GRD") )
948  ;
949 
950  flight_visibility_code =
951  ( bsc::chseq_p("HID") | bsc::chseq_p("PSD") )
952  ;
953 
954  leg_list = +( '/' >> leg )
955  ;
956 
957  leg = !( operating_leg_details >> ';' )
958  >> leg_key >> ';' >> leg_details >> leg_cabin_list
959  ;
960 
961  operating_leg_details =
962  bsc::lexeme_d[(airline_code_p)[storeOperatingAirlineCode(self._flightDate)] ]
963  >> ";"
964  >> bsc::lexeme_d[(flight_number_p)[storeOperatingFlightNumber(self._flightDate)] ]
965  ;
966 
967  leg_key = (airport_p)[storeLegBoardingPoint(self._flightDate)]
968  >> ';' >> (airport_p)[storeLegOffPoint(self._flightDate)]
969  ;
970 
971  leg_details = date[storeBoardingDate(self._flightDate)]
972  >> ';' >> time[storeBoardingTime(self._flightDate)]
973  >> ';' >> date[storeOffDate(self._flightDate)]
974  >> ';' >> time[storeOffTime(self._flightDate)]
975  ;
976 
977  leg_cabin_list = +( ';' >> leg_cabin_details >> !bucket_list )
978  ;
979 
980  leg_cabin_details = (cabin_code_p)[storeLegCabinCode(self._flightDate)]
981  >> ',' >> (bsc::ureal_p)[storeSaleableCapacity(self._flightDate)]
982  >> ',' >> (bsc::real_p)[storeAU(self._flightDate)]
983  >> ',' >> (bsc::real_p)[storeUPR(self._flightDate)]
984  >> ',' >> (bsc::real_p)[storeBookingCounter(self._flightDate)]
985  >> ',' >> (bsc::real_p)[storeNAV(self._flightDate)]
986  >> ',' >> (bsc::real_p)[storeGAV(self._flightDate)]
987  >> ',' >> (bsc::ureal_p)[storeACP(self._flightDate)]
988  >> ',' >> (bsc::real_p)[storeETB(self._flightDate)]
989  ;
990 
991  time =
992  bsc::lexeme_d[
993  (hours_p)[bsc::assign_a(self._flightDate._itHours)]
994  >> (minutes_p)[bsc::assign_a(self._flightDate._itMinutes)]
995  >> !((seconds_p)[bsc::assign_a(self._flightDate._itSeconds)])
996  ]
997  ;
998 
999  bucket_list = +( ',' >> bucket_details )
1000  ;
1001 
1002  bucket_details =
1003  (bsc::ureal_p)[storeYieldUpperRange(self._flightDate)]
1004  >> ':' >> (bsc::real_p)[storeBucketAvaibality(self._flightDate)]
1005  >> ':' >> (uint1_3_p)[storeSeatIndex(self._flightDate)];
1006 
1007  segment_list = +( '/' >> segment )
1008  ;
1009 
1010  segment = segment_key >> segment_cabin_list
1011  ;
1012 
1013  segment_key = (airport_p)[storeSegmentBoardingPoint(self._flightDate)]
1014  >> ';' >> (airport_p)[storeSegmentOffPoint(self._flightDate)]
1015  ;
1016 
1017  segment_cabin_list =
1018  +( ';' >> segment_cabin_key >> ','
1019  >> segment_cabin_details >> class_list >> family_cabin_list )
1020  ;
1021 
1022  family_cabin_list =
1023  +( ';' >> family_cabin_details)
1024  ;
1025 
1026  segment_cabin_key =
1027  (cabin_code_p)[storeSegmentCabinCode(self._flightDate)]
1028  ;
1029 
1030  segment_cabin_details =
1031  (bsc::ureal_p)[storeSegmentCabinBookingCounter(self._flightDate)]
1032  ;
1033 
1034  class_list = +( ',' >> class_key >> '|' >> class_details )
1035  ;
1036 
1037  class_key = (class_code_p)[storeClassCode(self._flightDate)]
1038  ;
1039 
1040  parent_subclass_code =
1041  (class_code_p)[storeParentClassCode(self._flightDate)]
1042  >> (uint1_2_p)[storeParentSubclassCode(self._flightDate)]
1043  ;
1044 
1045  class_protection =
1046  (bsc::ureal_p)[storeProtection(self._flightDate)]
1047  ;
1048 
1049  class_nego =
1050  (bsc::ureal_p)[storeNego(self._flightDate)]
1051  ;
1052 
1053  class_details = (uint1_2_p)[storeSubclassCode(self._flightDate)]
1054  >> ':' >> (bsc::ureal_p)[storeCumulatedProtection(self._flightDate)]
1055  >> ':' >> !( parent_subclass_code )
1056  >> ':' >> !( class_protection )
1057  >> ':' >> (bsc::ureal_p)[storeNoShow(self._flightDate)]
1058  >> ':' >> (bsc::ureal_p)[storeOverbooking(self._flightDate)]
1059  >> ':' >> (bsc::ureal_p)[storeNbOfBkgs(self._flightDate)]
1060  >> ':' >> (bsc::ureal_p)[storeNbOfGroupBkgs(self._flightDate)]
1061  >> ':' >> (bsc::ureal_p)[storeNbOfPendingGroupBkgs(self._flightDate)]
1062  >> ':' >> (bsc::ureal_p)[storeNbOfStaffBkgs(self._flightDate)]
1063  >> ':' >> (bsc::ureal_p)[storeNbOfWLBkgs(self._flightDate)]
1064  >> ':' >> (bsc::ureal_p)[storeClassETB(self._flightDate)]
1065  >> ':' >> !( class_nego )
1066  >> ':' >> (bsc::real_p)[storeClassAvailability(self._flightDate)]
1067  >> ':' >> (bsc::real_p)[storeSegmentAvailability(self._flightDate)]
1068  >> ':' >> (bsc::real_p)[storeRevenueAvailability(self._flightDate)]
1069  ;
1070 
1071  family_cabin_details =
1072  (family_code_p)[storeFamilyCode(self._flightDate)]
1073  >> ';'
1074  >> (class_code_list_p)[storeFClasses(self._flightDate)]
1075  ;
1076 
1077  // BOOST_SPIRIT_DEBUG_NODE (InventoryParser);
1078  BOOST_SPIRIT_DEBUG_NODE (flight_date_list);
1079  BOOST_SPIRIT_DEBUG_NODE (not_to_be_parsed);
1080  BOOST_SPIRIT_DEBUG_NODE (flight_date);
1081  BOOST_SPIRIT_DEBUG_NODE (flight_date_end);
1082  BOOST_SPIRIT_DEBUG_NODE (flight_key);
1083  BOOST_SPIRIT_DEBUG_NODE (airline_code);
1084  BOOST_SPIRIT_DEBUG_NODE (flight_number);
1085  BOOST_SPIRIT_DEBUG_NODE (flight_type_code);
1086  BOOST_SPIRIT_DEBUG_NODE (flight_visibility_code);
1087  BOOST_SPIRIT_DEBUG_NODE (date);
1088  BOOST_SPIRIT_DEBUG_NODE (leg_list);
1089  BOOST_SPIRIT_DEBUG_NODE (leg);
1090  BOOST_SPIRIT_DEBUG_NODE (operating_leg_details);
1091  BOOST_SPIRIT_DEBUG_NODE (leg_key);
1092  BOOST_SPIRIT_DEBUG_NODE (leg_details);
1093  BOOST_SPIRIT_DEBUG_NODE (leg_cabin_list);
1094  BOOST_SPIRIT_DEBUG_NODE (leg_cabin_details);
1095  BOOST_SPIRIT_DEBUG_NODE (bucket_list);
1096  BOOST_SPIRIT_DEBUG_NODE (bucket_details);
1097  BOOST_SPIRIT_DEBUG_NODE (time);
1098  BOOST_SPIRIT_DEBUG_NODE (segment_list);
1099  BOOST_SPIRIT_DEBUG_NODE (segment);
1100  BOOST_SPIRIT_DEBUG_NODE (segment_key);
1101  BOOST_SPIRIT_DEBUG_NODE (full_segment_cabin_details);
1102  BOOST_SPIRIT_DEBUG_NODE (segment_cabin_list);
1103  BOOST_SPIRIT_DEBUG_NODE (segment_cabin_key);
1104  BOOST_SPIRIT_DEBUG_NODE (segment_cabin_details);
1105  BOOST_SPIRIT_DEBUG_NODE (class_list);
1106  BOOST_SPIRIT_DEBUG_NODE (class_key);
1107  BOOST_SPIRIT_DEBUG_NODE (parent_subclass_code);
1108  BOOST_SPIRIT_DEBUG_NODE (class_protection);
1109  BOOST_SPIRIT_DEBUG_NODE (class_nego);
1110  BOOST_SPIRIT_DEBUG_NODE (class_details);
1111  BOOST_SPIRIT_DEBUG_NODE (family_cabin_list);
1112  BOOST_SPIRIT_DEBUG_NODE (family_cabin_details);
1113  }
1114 
1115  // //////////////////////////////////////////////////////////////////
1116  template<typename ScannerT>
1117  bsc::rule<ScannerT> const&
1119  return flight_date_list;
1120  }
1121  }
1122 
1123 
1125  //
1126  // Entry class for the file parser
1127  //
1129 
1130  // //////////////////////////////////////////////////////////////////////
1132  InventoryFileParser (stdair::BomRoot& ioBomRoot, const std::string& iFilename)
1133  : _filename (iFilename), _bomRoot (ioBomRoot),
1134  _nbOfFlights (0) {
1135  init();
1136  }
1137 
1138  // //////////////////////////////////////////////////////////////////////
1139  void InventoryFileParser::init() {
1140  // Open the file
1141  _startIterator = iterator_t (_filename);
1142 
1143  // Check the filename exists and can be open
1144  if (!_startIterator) {
1145  std::ostringstream oMessage;
1146  oMessage << "The file " << _filename << " can not be open.";
1147  STDAIR_LOG_ERROR (oMessage.str());
1148  throw InventoryInputFileNotFoundException (oMessage.str());
1149  }
1150 
1151  // Create an EOF iterator
1152  _endIterator = _startIterator.make_end();
1153  }
1154 
1155  // //////////////////////////////////////////////////////////////////////
1157  bool oResult = false;
1158 
1159  STDAIR_LOG_DEBUG ("Parsing inventory input file: " << _filename);
1160 
1161  // Initialise the parser (grammar) with the helper/staging structure.
1162  InventoryParserHelper::InventoryParser lInventoryParser (_bomRoot,
1163  _flightDate,
1164  _nbOfFlights);
1165 
1166  // Launch the parsing of the file and, thanks to the doEndFlightDate
1167  // call-back structure, the building of the whole Inventory BOM
1168  // (i.e., including Inventory, FlightDate, LegDate, SegmentDate, etc.)
1169  bsc::parse_info<iterator_t> info = bsc::parse (_startIterator, _endIterator,
1170  lInventoryParser,
1171  bsc::space_p - bsc::eol_p);
1172 
1173  // Retrieves whether or not the parsing was successful
1174  oResult = info.hit;
1175 
1176  const std::string hasBeenFullyReadStr = (info.full == true)?"":"not ";
1177  if (oResult == true) {
1178  STDAIR_LOG_DEBUG ("Parsing of inventory input file: " << _filename
1179  << " succeeded: read " << info.length
1180  << " characters. The input file has "
1181  << hasBeenFullyReadStr
1182  << "been fully read. Stop point: " << info.stop);
1183 
1184  } else {
1185  STDAIR_LOG_ERROR ("Parsing of inventory input file: " << _filename
1186  << " failed: read " << info.length
1187  << " characters. The input file has "
1188  << hasBeenFullyReadStr
1189  << "been fully read. Stop point: " << info.stop);
1190  throw InventoryFileParsingFailedException("Parsing of inventory input file"
1191  ": " + _filename + " failed");
1192  }
1193 
1194  return oResult;
1195  }
1196 
1197 }
AIRINV::InventoryParserHelper::class_code_p
chset_t class_code_p("A-Z")
AIRINV::InventoryParserHelper::storeFlightDate::storeFlightDate
storeFlightDate(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:80
AIRINV::InventoryParserHelper::storeFlightVisibilityCode::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:111
AIRINV::InventoryParserHelper::storeClassCode::storeClassCode
storeClassCode(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:524
AIRINV::LegStruct::_flightNumber
stdair::FlightNumber_T _flightNumber
Definition: LegStruct.hpp:27
AIRINV::FlightDateStruct::_flightVisibilityCode
FlightVisibilityCode _flightVisibilityCode
Definition: FlightDateStruct.hpp:85
AIRINV::BookingClassStruct::_parentSubclassCode
stdair::SubclassCode_T _parentSubclassCode
Definition: BookingClassStruct.hpp:29
AIRINV::LegCabinStruct::_acp
stdair::OverbookingRate_T _acp
Definition: LegCabinStruct.hpp:36
AIRINV::InventoryFileParser::InventoryFileParser
InventoryFileParser(stdair::BomRoot &, const stdair::Filename_T &iInventoryInputFilename)
Definition: InventoryParserHelper.cpp:1132
AIRINV::InventoryParserHelper::storeNoShow
Definition: InventoryParserHelper.hpp:333
AIRINV::InventoryParserHelper::storeOverbooking
Definition: InventoryParserHelper.hpp:341
AIRINV::InventoryParserHelper::storeOffDate::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:237
AIRINV::LegCabinStruct::_cabinCode
stdair::CabinCode_T _cabinCode
Definition: LegCabinStruct.hpp:26
AIRINV::InventoryParserHelper::storeAirlineCode::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:49
AIRINV::InventoryParserHelper::storeNbOfGroupBkgs
Definition: InventoryParserHelper.hpp:357
AIRINV::InventoryParserHelper::uint1_3_p
uint1_3_p_t uint1_3_p
Definition: InventoryParserHelper.cpp:832
AIRINV::bounded1_4_p_t
boost::spirit::classic::bounded< uint1_4_p_t, unsigned int > bounded1_4_p_t
Definition: BasParserTypes.hpp:76
AIRINV::InventoryParserHelper::seconds_p
bounded2_p_t seconds_p(uint2_p.derived(), 0u, 59u)
AIRINV::FareFamilyStruct::_classes
stdair::ClassList_String_T _classes
Definition: FareFamilyStruct.hpp:31
AIRINV::InventoryParserHelper::storeClassETB::storeClassETB
storeClassETB(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:690
AIRINV::FlightDateStruct::_itLegCabin
LegCabinStruct _itLegCabin
Definition: FlightDateStruct.hpp:109
AIRINV::InventoryParserHelper::storeClassETB
Definition: InventoryParserHelper.hpp:390
AIRINV::InventoryParserHelper::storeClassAvailability::storeClassAvailability
storeClassAvailability(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:702
AIRINV::BookingClassStruct::_netRevenueAvailability
stdair::Availability_T _netRevenueAvailability
Definition: BookingClassStruct.hpp:43
AIRINV::InventoryParserHelper::storeBucketAvaibality
Definition: InventoryParserHelper.hpp:229
AIRINV::InventoryParserHelper::storeLegCabinCode
Definition: InventoryParserHelper.hpp:149
AIRINV::InventoryParserHelper::storeFlightNumber::operator()
void operator()(unsigned int iNumber) const
Definition: InventoryParserHelper.cpp:75
AIRINV::InventoryParserHelper::storeYieldUpperRange::storeYieldUpperRange
storeYieldUpperRange(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:372
AIRINV::InventoryParserHelper::storeFlightDate::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:85
AIRINV::LegCabinStruct::_nbOfBookings
stdair::NbOfBookings_T _nbOfBookings
Definition: LegCabinStruct.hpp:33
AIRINV::InventoryParserHelper::storeNbOfPendingGroupBkgs::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:662
AIRINV::InventoryParserHelper::storeLegBoardingPoint::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:126
AIRINV::InventoryParserHelper::storeNego
Definition: InventoryParserHelper.hpp:325
AIRINV::LegCabinStruct::_au
stdair::AuthorizationLevel_T _au
Definition: LegCabinStruct.hpp:30
AIRINV::InventoryParserHelper::storeClassAvailability::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:707
AIRINV::InventoryParserHelper::storeNbOfGroupBkgs::storeNbOfGroupBkgs
storeNbOfGroupBkgs(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:645
AIRINV::FlightDateStruct::_segmentList
SegmentStructList_T _segmentList
Definition: FlightDateStruct.hpp:87
AIRINV::InventoryParserHelper::storeACP::storeACP
storeACP(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:350
AIRINV::InventoryParserHelper::storeSegmentAvailability::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:719
AIRINV::InventoryParserHelper::storeNbOfBkgs::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:639
AIRINV::InventoryParserHelper::storeNbOfWLBkgs::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:684
AIRINV::InventoryParserHelper::storeNoShow::storeNoShow
storeNoShow(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:612
AIRINV::InventoryParserHelper::storeLegBoardingPoint
Definition: InventoryParserHelper.hpp:85
AIRINV::InventoryParserHelper::storeOverbooking::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:628
AIRINV::InventoryParserHelper::storeOperatingAirlineCode::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:181
InventoryBuilder.hpp
AIRINV::FlightDateStruct::getDate
stdair::Date_T getDate() const
Definition: FlightDateStruct.cpp:25
AIRINV::InventoryParserHelper::InventoryParser::definition::start
boost::spirit::classic::rule< ScannerT > const & start() const
Definition: InventoryParserHelper.cpp:1118
AIRINV::InventoryParserHelper::storeAU::storeAU
storeAU(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:295
AIRINV::InventoryParserHelper::storeFlightTypeCode::storeFlightTypeCode
storeFlightTypeCode(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:91
AIRINV::InventoryParserHelper::storeSnapshotDate
Definition: InventoryParserHelper.hpp:37
AIRINV::InventoryParserHelper::class_code_list_p
repeat_p_t class_code_list_p(chset_t("A-Z").derived(), 1, 26)
AIRINV::InventoryParserHelper::storeOffDate
Definition: InventoryParserHelper.hpp:133
AIRINV::InventoryParserHelper::storeOperatingAirlineCode
Definition: InventoryParserHelper.hpp:101
AIRINV::InventoryFileParser::buildInventory
bool buildInventory()
Definition: InventoryParserHelper.cpp:1156
AIRINV::InventoryParserHelper::storeFClasses
Definition: InventoryParserHelper.hpp:433
AIRINV::InventoryParserHelper::storeSegmentCabinCode::storeSegmentCabinCode
storeSegmentCabinCode(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:478
AIRINV::uint1_2_p_t
boost::spirit::classic::uint_parser< unsigned int, 10, 1, 2 > uint1_2_p_t
Definition: BasParserTypes.hpp:51
AIRINV::InventoryParserHelper::storeCumulatedProtection::storeCumulatedProtection
storeCumulatedProtection(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:579
AIRINV::InventoryParserHelper::storeETB::storeETB
storeETB(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:361
AIRINV::LegStruct::_boardingDate
stdair::Date_T _boardingDate
Definition: LegStruct.hpp:30
AIRINV::InventoryParserHelper::storeSegmentBoardingPoint
Definition: InventoryParserHelper.hpp:245
AIRINV::BookingClassStruct::_netClassAvailability
stdair::Availability_T _netClassAvailability
Definition: BookingClassStruct.hpp:41
AIRINV::iterator_t
boost::spirit::classic::file_iterator< char_t > iterator_t
Definition: BasParserTypes.hpp:35
AIRINV::InventoryParserHelper::storeSnapshotDate::storeSnapshotDate
storeSnapshotDate(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:32
AIRINV::InventoryParserHelper::storeOffDate::storeOffDate
storeOffDate(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:232
AIRINV::InventoryParserHelper::storeFlightNumber
Definition: InventoryParserHelper.hpp:53
AIRINV::InventoryParserHelper::storeOperatingFlightNumber
Definition: InventoryParserHelper.hpp:109
AIRINV::InventoryParserHelper::storeNego::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:606
AIRINV::InventoryParserHelper::storeLegBoardingPoint::storeLegBoardingPoint
storeLegBoardingPoint(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:121
AIRINV::InventoryParserHelper::day_p
bounded2_p_t day_p(uint2_p.derived(), 1u, 31u)
AIRINV::InventoryParserHelper::storeSegmentCabinBookingCounter::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:518
AIRINV::InventoryParserHelper::storeUPR::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:311
AIRINV::InventoryParserHelper::storeBucketAvaibality::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:397
AIRINV::InventoryParserHelper::storeBoardingDate
Definition: InventoryParserHelper.hpp:117
AIRINV::InventoryParserHelper::storeParentClassCode::storeParentClassCode
storeParentClassCode(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:555
AIRINV::InventoryParserHelper::storeBoardingTime::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:220
AIRINV::InventoryParserHelper::storeGAV
Definition: InventoryParserHelper.hpp:197
AIRINV::FlightTypeCode
Definition: FlightTypeCode.hpp:15
AIRINV::LegCabinStruct::_etb
stdair::NbOfBookings_T _etb
Definition: LegCabinStruct.hpp:37
AIRINV::FlightDateStruct::_itSegmentCabin
SegmentCabinStruct _itSegmentCabin
Definition: FlightDateStruct.hpp:115
AIRINV::FlightDateStruct::_flightNumber
stdair::FlightNumber_T _flightNumber
Definition: FlightDateStruct.hpp:82
AIRINV::InventoryParserHelper::storeNbOfStaffBkgs::storeNbOfStaffBkgs
storeNbOfStaffBkgs(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:668
AIRINV::InventoryParserHelper::storeNAV
Definition: InventoryParserHelper.hpp:189
AIRINV::FlightTypeCode::getCode
EN_FlightTypeCode getCode() const
Definition: FlightTypeCode.cpp:77
AIRINV::SegmentStruct::_offPoint
stdair::AirportCode_T _offPoint
Definition: SegmentStruct.hpp:26
AIRINV::BookingClassStruct::_overbookingPercentage
stdair::OverbookingRate_T _overbookingPercentage
Definition: BookingClassStruct.hpp:34
AIRINV::uint1_4_p_t
boost::spirit::classic::uint_parser< unsigned int, 10, 1, 4 > uint1_4_p_t
Definition: BasParserTypes.hpp:60
AIRINV::InventoryParserHelper::storeSegmentAvailability::storeSegmentAvailability
storeSegmentAvailability(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:714
AIRINV::BookingClassStruct::_nbOfGroupBookings
stdair::NbOfBookings_T _nbOfGroupBookings
Definition: BookingClassStruct.hpp:36
AIRINV::InventoryParserHelper::storeSaleableCapacity
Definition: InventoryParserHelper.hpp:157
AIRINV::InventoryParserHelper::storeSeatIndex::storeSeatIndex
storeSeatIndex(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:403
AIRINV::InventoryParserHelper::doEndFlightDate::_nbOfFlights
unsigned int & _nbOfFlights
Definition: InventoryParserHelper.hpp:449
AIRINV::InventoryParserHelper::ParserSemanticAction::ParserSemanticAction
ParserSemanticAction(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:26
AIRINV::InventoryParserHelper::storeFClasses::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:754
AIRINV::bounded1_2_p_t
boost::spirit::classic::bounded< uint1_2_p_t, unsigned int > bounded1_2_p_t
Definition: BasParserTypes.hpp:73
AIRINV::InventoryParserHelper::InventoryParser::InventoryParser
InventoryParser(stdair::BomRoot &, FlightDateStruct &, unsigned int &)
Definition: InventoryParserHelper.cpp:894
AIRINV::bounded1_3_p_t
boost::spirit::classic::bounded< uint1_3_p_t, unsigned int > bounded1_3_p_t
Definition: BasParserTypes.hpp:74
AIRINV::FlightDateStruct::_itLeg
LegStruct _itLeg
Definition: FlightDateStruct.hpp:108
AIRINV::InventoryParserHelper::storeFClasses::storeFClasses
storeFClasses(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:749
AIRINV::LegStruct::_offDate
stdair::Date_T _offDate
Definition: LegStruct.hpp:34
AIRINV::uint1_3_p_t
boost::spirit::classic::uint_parser< unsigned int, 10, 1, 3 > uint1_3_p_t
Definition: BasParserTypes.hpp:54
AIRINV::InventoryParserHelper::ParserSemanticAction::_flightDate
FlightDateStruct & _flightDate
Definition: InventoryParserHelper.hpp:33
AIRINV::InventoryParserHelper::storeLegOffPoint
Definition: InventoryParserHelper.hpp:93
AIRINV::InventoryParserHelper::storeETB
Definition: InventoryParserHelper.hpp:213
AIRINV::SegmentCabinStruct::_cabinCode
stdair::CabinCode_T _cabinCode
Definition: SegmentCabinStruct.hpp:28
AIRINV::InventoryParserHelper::passenger_type_p
chset_t passenger_type_p("A-Z")
AIRINV::InventoryParserHelper::storeRevenueAvailability
Definition: InventoryParserHelper.hpp:417
AIRINV::BookingClassStruct::_protection
stdair::AuthorizationLevel_T _protection
Definition: BookingClassStruct.hpp:31
AIRINV::InventoryParserHelper::storeSaleableCapacity::storeSaleableCapacity
storeSaleableCapacity(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:284
AIRINV::InventoryParserHelper::storeSeatIndex
Definition: InventoryParserHelper.hpp:237
AIRINV::InventoryParserHelper::storeAirlineCode::storeAirlineCode
storeAirlineCode(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:44
AIRINV::LegCabinStruct::_saleableCapacity
stdair::CabinCapacity_T _saleableCapacity
Definition: LegCabinStruct.hpp:27
AIRINV::InventoryParserHelper::storeSubclassCode::storeSubclassCode
storeSubclassCode(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:543
AIRINV::InventoryParserHelper::storeClassETB::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:695
AIRINV::InventoryParserHelper::storeYieldUpperRange::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:377
AIRINV::InventoryParserHelper::storeOffTime
Definition: InventoryParserHelper.hpp:141
AIRINV::FlightDateStruct::_itSeconds
long _itSeconds
Definition: FlightDateStruct.hpp:98
AIRINV::InventoryParserHelper::storeFlightVisibilityCode::storeFlightVisibilityCode
storeFlightVisibilityCode(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:106
AIRINV::FareFamilyStruct::_classList
BookingClassStructList_T _classList
Definition: FareFamilyStruct.hpp:32
AIRINV::InventoryParserHelper::uint1_2_p
uint1_2_p_t uint1_2_p
Definition: InventoryParserHelper.cpp:829
AIRINV::InventoryParserHelper::storeOffTime::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:247
AIRINV::InventoryParserHelper::uint4_p
uint4_p_t uint4_p
Definition: InventoryParserHelper.cpp:835
AIRINV::InventoryParserHelper::storeUPR::storeUPR
storeUPR(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:306
AIRINV::LegStruct::_cabinList
LegCabinStructList_T _cabinList
Definition: LegStruct.hpp:37
AIRINV::InventoryParserHelper::storeUPR
Definition: InventoryParserHelper.hpp:173
AIRINV::InventoryParserHelper::storeNbOfWLBkgs
Definition: InventoryParserHelper.hpp:382
AIRINV::InventoryParserHelper::ParserSemanticAction
Definition: InventoryParserHelper.hpp:29
AIRINV::BookingClassStruct::_classCode
stdair::ClassCode_T _classCode
Definition: BookingClassStruct.hpp:26
AIRINV::InventoryParserHelper::storeSegmentCabinBookingCounter
Definition: InventoryParserHelper.hpp:269
AIRINV::InventoryParserHelper::minutes_p
bounded2_p_t minutes_p(uint2_p.derived(), 0u, 59u)
AIRINV::InventoryParserHelper::storeBoardingDate::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:209
AIRINV::InventoryParserHelper::storeLegOffPoint::storeLegOffPoint
storeLegOffPoint(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:160
AIRINV::InventoryParserHelper::storeSegmentBoardingPoint::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:420
AIRINV::InventoryParserHelper::storeClassAvailability
Definition: InventoryParserHelper.hpp:399
AIRINV::FlightDateStruct::_itSegment
SegmentStruct _itSegment
Definition: FlightDateStruct.hpp:114
AIRINV::InventoryParserHelper::storeBoardingTime
Definition: InventoryParserHelper.hpp:125
AIRINV::BookingClassStruct::_subclassCode
stdair::SubclassCode_T _subclassCode
Definition: BookingClassStruct.hpp:27
AIRINV::InventoryParserHelper::storeSegmentOffPoint::storeSegmentOffPoint
storeSegmentOffPoint(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:464
AIRINV::InventoryParserHelper::storeFamilyCode
Definition: InventoryParserHelper.hpp:425
AIRINV::InventoryParserHelper::InventoryParser::definition::definition
definition(InventoryParser const &self)
Definition: InventoryParserHelper.cpp:904
AIRINV::SegmentCabinStruct::_nbOfBookings
stdair::NbOfBookings_T _nbOfBookings
Definition: SegmentCabinStruct.hpp:29
AIRINV::FlightDateStruct::_itBookingClass
BookingClassStruct _itBookingClass
Definition: FlightDateStruct.hpp:116
AIRINV::InventoryParserHelper::storeAirlineCode
Definition: InventoryParserHelper.hpp:45
AIRINV::InventoryParserHelper::storeClassCode::operator()
void operator()(char iChar) const
Definition: InventoryParserHelper.cpp:529
AIRINV::InventoryInputFileNotFoundException
Definition: AIRINV_Types.hpp:106
AIRINV::InventoryParserHelper::storeFamilyCode::operator()
void operator()(int iCode) const
Definition: InventoryParserHelper.cpp:742
AIRINV::InventoryParserHelper::flight_number_p
bounded1_4_p_t flight_number_p(uint1_4_p.derived(), 0u, 9999u)
AIRINV::FlightDateStruct::_flightDate
stdair::Date_T _flightDate
Definition: FlightDateStruct.hpp:83
AIRINV::InventoryParserHelper::storeNbOfPendingGroupBkgs::storeNbOfPendingGroupBkgs
storeNbOfPendingGroupBkgs(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:657
AIRINV::InventoryParserHelper::storeBookingCounter
Definition: InventoryParserHelper.hpp:181
AIRINV::InventoryParserHelper::storeFlightVisibilityCode
Definition: InventoryParserHelper.hpp:77
AIRINV::InventoryParserHelper::storeAU
Definition: InventoryParserHelper.hpp:165
AIRINV::BookingClassStruct::_nbOfWLBookings
stdair::NbOfBookings_T _nbOfWLBookings
Definition: BookingClassStruct.hpp:39
AIRINV::InventoryParserHelper::storeSnapshotDate::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:37
AIRINV::InventoryParserHelper::storeRevenueAvailability::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:731
AIRINV::SegmentCabinStruct::_fareFamilies
FareFamilyStructList_T _fareFamilies
Definition: SegmentCabinStruct.hpp:31
AIRINV::InventoryParserHelper::storeSeatIndex::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:408
AIRINV::InventoryParserHelper::storeNbOfStaffBkgs::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:673
AIRINV::InventoryParserHelper::storeCumulatedProtection
Definition: InventoryParserHelper.hpp:309
AIRINV::BucketStruct::_availability
stdair::CabinCapacity_T _availability
Definition: BucketStruct.hpp:29
AIRINV::InventoryParserHelper::storeRevenueAvailability::storeRevenueAvailability
storeRevenueAvailability(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:726
AIRINV::InventoryParserHelper::storeSegmentCabinCode
Definition: InventoryParserHelper.hpp:261
AIRINV::InventoryParserHelper::storeACP::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:355
AIRINV::InventoryParserHelper::storeFlightTypeCode
Definition: InventoryParserHelper.hpp:69
AIRINV::InventoryParserHelper::storeProtection
Definition: InventoryParserHelper.hpp:317
AIRINV::InventoryParserHelper::storeNego::storeNego
storeNego(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:601
AIRINV::bounded2_p_t
boost::spirit::classic::bounded< uint2_p_t, unsigned int > bounded2_p_t
Definition: BasParserTypes.hpp:72
AIRINV::InventoryParserHelper::storeNbOfStaffBkgs
Definition: InventoryParserHelper.hpp:373
AIRINV::InventoryParserHelper::storeGAV::storeGAV
storeGAV(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:339
AIRINV
Definition: AIRINV_Master_Service.hpp:38
AIRINV::LegCabinStruct::_nav
stdair::Availability_T _nav
Definition: LegCabinStruct.hpp:34
AIRINV::InventoryParserHelper::storeOverbooking::storeOverbooking
storeOverbooking(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:623
AIRINV::uint2_p_t
boost::spirit::classic::uint_parser< unsigned int, 10, 2, 2 > uint2_p_t
Definition: BasParserTypes.hpp:48
AIRINV::InventoryParserHelper::storeBookingCounter::storeBookingCounter
storeBookingCounter(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:317
AIRINV::BookingClassStruct::_nbOfPendingGroupBookings
stdair::NbOfBookings_T _nbOfPendingGroupBookings
Definition: BookingClassStruct.hpp:37
AIRINV::InventoryFileParsingFailedException
Definition: AIRINV_Types.hpp:28
AIRINV::InventoryParserHelper::int1_p
int1_p_t int1_p
Definition: InventoryParserHelper.cpp:823
AIRINV::InventoryParserHelper::storeSegmentOffPoint::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:469
AIRINV::LegStruct::_boardingPoint
stdair::AirportCode_T _boardingPoint
Definition: LegStruct.hpp:28
AIRINV::BucketStruct::_seatIndex
stdair::SeatIndex_T _seatIndex
Definition: BucketStruct.hpp:31
AIRINV::InventoryParserHelper::storeParentSubclassCode::operator()
void operator()(unsigned int iNumber) const
Definition: InventoryParserHelper.cpp:572
AIRINV::InventoryParserHelper::uint1_4_p
uint1_4_p_t uint1_4_p
Definition: InventoryParserHelper.cpp:838
AIRINV::InventoryParserHelper::doEndFlightDate
Definition: InventoryParserHelper.hpp:441
AIRINV::InventoryParserHelper::storeNbOfGroupBkgs::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:650
AIRINV::BookingClassStruct::_cumulatedProtection
stdair::AuthorizationLevel_T _cumulatedProtection
Definition: BookingClassStruct.hpp:30
AIRINV::InventoryParserHelper::storeSubclassCode
Definition: InventoryParserHelper.hpp:285
AIRINV::BookingClassStruct::_noShowPercentage
stdair::OverbookingRate_T _noShowPercentage
Definition: BookingClassStruct.hpp:33
AIRINV::InventoryParserHelper::storeOperatingFlightNumber::storeOperatingFlightNumber
storeOperatingFlightNumber(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:192
AIRINV::LegCabinStruct::_gav
stdair::Availability_T _gav
Definition: LegCabinStruct.hpp:35
AIRINV::LegStruct::_offPoint
stdair::AirportCode_T _offPoint
Definition: LegStruct.hpp:32
AIRINV::FlightDateStruct::_airlineCode
stdair::AirlineCode_T _airlineCode
Definition: FlightDateStruct.hpp:81
AIRINV::InventoryParserHelper::storeParentSubclassCode
Definition: InventoryParserHelper.hpp:301
AIRINV::InventoryParserHelper::storeLegCabinCode::storeLegCabinCode
storeLegCabinCode(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:255
AIRINV::InventoryParserHelper::dow_p
repeat_p_t dow_p(chset_t("0-1").derived().derived(), 7, 7)
AIRINV::SegmentStruct::_cabinList
SegmentCabinStructList_T _cabinList
Definition: SegmentStruct.hpp:32
AIRINV::InventoryParserHelper::storeNbOfBkgs::storeNbOfBkgs
storeNbOfBkgs(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:634
AIRINV::InventoryParserHelper::storeParentClassCode
Definition: InventoryParserHelper.hpp:293
AIRINV::FlightDateStruct::getTime
stdair::Duration_T getTime() const
Definition: FlightDateStruct.cpp:30
AIRINV::InventoryParserHelper::storeFlightTypeCode::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:96
AIRINV::InventoryParserHelper::InventoryParser
Definition: InventoryParserHelper.hpp:470
AIRINV::InventoryParserHelper::doEndFlightDate::_bomRoot
stdair::BomRoot & _bomRoot
Definition: InventoryParserHelper.hpp:448
AIRINV::InventoryParserHelper::storeYieldUpperRange
Definition: InventoryParserHelper.hpp:221
AIRINV::int1_p_t
boost::spirit::classic::int_parser< unsigned int, 10, 1, 1 > int1_p_t
Definition: BasParserTypes.hpp:45
AIRINV::FlightVisibilityCode::getCode
EN_FlightVisibilityCode getCode() const
Definition: FlightVisibilityCode.cpp:81
AIRINV::InventoryParserHelper::storeProtection::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:595
AIRINV::InventoryParserHelper::hours_p
bounded1_2_p_t hours_p(uint1_2_p.derived(), 0u, 24u)
AIRINV::InventoryParserHelper::storeClassCode
Definition: InventoryParserHelper.hpp:277
AIRINV::BookingClassStruct::_nego
stdair::NbOfSeats_T _nego
Definition: BookingClassStruct.hpp:32
AIRINV::InventoryParserHelper::uint2_p
uint2_p_t uint2_p
Definition: InventoryParserHelper.cpp:826
AIRINV::BookingClassStruct::_etb
stdair::NbOfBookings_T _etb
Definition: BookingClassStruct.hpp:40
AIRINV::InventoryParserHelper::storeSegmentAvailability
Definition: InventoryParserHelper.hpp:408
AIRINV::InventoryParserHelper::storeCumulatedProtection::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:584
AIRINV::LegStruct::_airlineCode
stdair::AirlineCode_T _airlineCode
Definition: LegStruct.hpp:26
AIRINV::InventoryParserHelper::storeBucketAvaibality::storeBucketAvaibality
storeBucketAvaibality(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:392
AIRINV::SegmentCabinStruct::_itFareFamily
FareFamilyStruct _itFareFamily
Definition: SegmentCabinStruct.hpp:30
AIRINV::InventoryParserHelper::storeFamilyCode::storeFamilyCode
storeFamilyCode(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:737
AIRINV::FareFamilyStruct::_familyCode
stdair::FamilyCode_T _familyCode
Definition: FareFamilyStruct.hpp:28
AIRINV::InventoryParserHelper::storeParentSubclassCode::storeParentSubclassCode
storeParentSubclassCode(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:567
AIRINV::InventoryParserHelper::storeNbOfBkgs
Definition: InventoryParserHelper.hpp:349
AIRINV::BucketStruct::_yieldRangeUpperValue
stdair::Yield_T _yieldRangeUpperValue
Definition: BucketStruct.hpp:28
AIRINV::InventoryParserHelper::family_code_p
int1_p_t family_code_p
Definition: InventoryParserHelper.cpp:880
AIRINV::InventoryParserHelper::airline_code_p
repeat_p_t airline_code_p(chset_t("0-9A-Z").derived(), 2, 3)
AIRINV::InventoryParserHelper::storeACP
Definition: InventoryParserHelper.hpp:205
AIRINV::LegStruct::_boardingTime
stdair::Duration_T _boardingTime
Definition: LegStruct.hpp:31
AIRINV::FlightDateStruct::_itBucket
BucketStruct _itBucket
Definition: FlightDateStruct.hpp:110
AIRINV::InventoryParserHelper::storeETB::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:366
AIRINV::FlightDateStruct::_flightTypeCode
FlightTypeCode _flightTypeCode
Definition: FlightDateStruct.hpp:84
AIRINV::LegStruct::_offTime
stdair::Duration_T _offTime
Definition: LegStruct.hpp:35
AIRINV::repeat_p_t
boost::spirit::classic::impl::loop_traits< chset_t, unsigned int, unsigned int >::type repeat_p_t
Definition: BasParserTypes.hpp:69
AIRINV::uint4_p_t
boost::spirit::classic::uint_parser< unsigned int, 10, 4, 4 > uint4_p_t
Definition: BasParserTypes.hpp:57
AIRINV::InventoryParserHelper::storeOffTime::storeOffTime
storeOffTime(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:242
AIRINV::InventoryParserHelper::storeFlightDate
Definition: InventoryParserHelper.hpp:61
AIRINV::InventoryParserHelper::doEndFlightDate::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:787
AIRINV::InventoryParserHelper::airport_p
repeat_p_t airport_p(chset_t("0-9A-Z").derived(), 3, 3)
AIRINV::InventoryParserHelper::storeNAV::storeNAV
storeNAV(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:328
AIRINV::InventoryParserHelper::storeProtection::storeProtection
storeProtection(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:590
AIRINV::BookingClassStruct::_parentClassCode
stdair::ClassCode_T _parentClassCode
Definition: BookingClassStruct.hpp:28
AIRINV::InventoryParserHelper::doEndFlightDate::doEndFlightDate
doEndFlightDate(stdair::BomRoot &, FlightDateStruct &, unsigned int &)
Definition: InventoryParserHelper.cpp:778
AIRINV::FlightDateStruct::_legList
LegStructList_T _legList
Definition: FlightDateStruct.hpp:86
AIRINV::InventoryParserHelper::storeOperatingFlightNumber::operator()
void operator()(unsigned int iNumber) const
Definition: InventoryParserHelper.cpp:197
AIRINV::InventoryParserHelper::storeSegmentBoardingPoint::storeSegmentBoardingPoint
storeSegmentBoardingPoint(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:415
AIRINV::InventoryParserHelper::storeAU::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:300
AIRINV::FlightDateStruct::_dateOffSet
int _dateOffSet
Definition: FlightDateStruct.hpp:93
AIRINV::InventoryParserHelper::storeNoShow::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:617
AIRINV::InventoryParserHelper::storeBoardingDate::storeBoardingDate
storeBoardingDate(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:204
InventoryParserHelper.hpp
AIRINV::InventoryParserHelper::year_p
bounded2_p_t year_p(uint2_p.derived(), 0u, 99u)
AIRINV::InventoryParserHelper::storeNbOfPendingGroupBkgs
Definition: InventoryParserHelper.hpp:365
AIRINV::InventoryParserHelper::cabin_code_p
chset_t cabin_code_p("A-Z")
AIRINV::InventoryParserHelper::storeBookingCounter::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:322
AIRINV::LegCabinStruct::_upr
stdair::UPR_T _upr
Definition: LegCabinStruct.hpp:32
AIRINV::InventoryParserHelper::storeSegmentCabinCode::operator()
void operator()(char iChar) const
Definition: InventoryParserHelper.cpp:483
AIRINV::InventoryParserHelper::storeSegmentCabinBookingCounter::storeSegmentCabinBookingCounter
storeSegmentCabinBookingCounter(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:513
AIRINV::FlightDateStruct::addAirport
void addAirport(const stdair::AirportCode_T &)
Definition: FlightDateStruct.cpp:67
AIRINV::InventoryParserHelper::storeLegOffPoint::operator()
void operator()(iterator_t iStr, iterator_t iStrEnd) const
Definition: InventoryParserHelper.cpp:165
AIRINV::InventoryParserHelper::storeBoardingTime::storeBoardingTime
storeBoardingTime(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:215
AIRINV::BookingClassStruct::_nbOfStaffBookings
stdair::NbOfBookings_T _nbOfStaffBookings
Definition: BookingClassStruct.hpp:38
AIRINV::InventoryParserHelper::storeSaleableCapacity::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:289
AIRINV::InventoryParserHelper::storeSegmentOffPoint
Definition: InventoryParserHelper.hpp:253
AIRINV::InventoryParserHelper::storeParentClassCode::operator()
void operator()(char iChar) const
Definition: InventoryParserHelper.cpp:560
AIRINV::InventoryParserHelper::storeFlightNumber::storeFlightNumber
storeFlightNumber(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:70
AIRINV::InventoryParserHelper::storeGAV::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:344
AIRINV::InventoryParserHelper::storeLegCabinCode::operator()
void operator()(char iChar) const
Definition: InventoryParserHelper.cpp:260
AIRINV::FlightDateStruct
Definition: FlightDateStruct.hpp:27
AIRINV::LegCabinStruct::_bucketList
BucketStructList_T _bucketList
Definition: LegCabinStruct.hpp:41
AIRINV::FlightVisibilityCode
Definition: FlightVisibilityCode.hpp:15
AIRINV::chset_t
boost::spirit::classic::chset< char_t > chset_t
Definition: BasParserTypes.hpp:63
AIRINV::InventoryParserHelper::month_p
bounded2_p_t month_p(uint2_p.derived(), 1u, 12u)
AIRINV::InventoryParserHelper::storeNbOfWLBkgs::storeNbOfWLBkgs
storeNbOfWLBkgs(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:679
AIRINV::InventoryParserHelper::stay_duration_p
bounded1_3_p_t stay_duration_p(uint1_3_p.derived(), 0u, 999u)
AIRINV::BookingClassStruct::_segmentAvailability
stdair::Availability_T _segmentAvailability
Definition: BookingClassStruct.hpp:42
AIRINV::InventoryParserHelper::storeOperatingAirlineCode::storeOperatingAirlineCode
storeOperatingAirlineCode(FlightDateStruct &)
Definition: InventoryParserHelper.cpp:176
AIRINV::SegmentStruct::_boardingPoint
stdair::AirportCode_T _boardingPoint
Definition: SegmentStruct.hpp:25
AIRINV::InventoryParserHelper::storeNAV::operator()
void operator()(double iReal) const
Definition: InventoryParserHelper.cpp:333
AIRINV::InventoryParserHelper::storeSubclassCode::operator()
void operator()(unsigned int iNumber) const
Definition: InventoryParserHelper.cpp:548
AIRINV::BookingClassStruct::_nbOfBookings
stdair::NbOfBookings_T _nbOfBookings
Definition: BookingClassStruct.hpp:35