AirInv Logo  1.00.5
C++ Simulated Airline Inventory Management System Library
FlightPeriodStruct.hpp
Go to the documentation of this file.
1 #ifndef __AIRINV_BOM_FLIGHTPERIODSTRUCT_HPP
2 #define __AIRINV_BOM_FLIGHTPERIODSTRUCT_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <string>
9 // StdAir
10 #include <stdair/stdair_inventory_types.hpp>
11 #include <stdair/basic/StructAbstract.hpp>
12 #include <stdair/bom/DoWStruct.hpp>
13 // AirInv
15 #include <airinv/bom/LegStruct.hpp>
20 
21 namespace AIRINV {
22 
24  struct FlightPeriodStruct : public stdair::StructAbstract {
25 
27  stdair::Date_T getDate() const;
28 
30  stdair::Duration_T getTime() const;
31 
33  const std::string describe() const;
34 
37  void addAirport (const stdair::AirportCode_T&);
38 
40  void buildSegments ();
41 
48  void addSegmentCabin (const SegmentStruct&,
49  const SegmentCabinStruct&);
50 
56  void addSegmentCabin (const SegmentCabinStruct&);
57 
64  void addFareFamily (const SegmentStruct&,
65  const SegmentCabinStruct&,
66  const FareFamilyStruct&);
67 
73  void addFareFamily (const SegmentCabinStruct&,
74  const FareFamilyStruct&);
75 
78 
79  // Attributes
80  stdair::AirlineCode_T _airlineCode;
81  stdair::FlightNumber_T _flightNumber;
82  stdair::DatePeriod_T _dateRange;
83  stdair::DoWStruct _dow;
86 
92 
94  stdair::Date_T _dateRangeStart;
95  stdair::Date_T _dateRangeEnd;
96  unsigned int _itYear;
97  unsigned int _itMonth;
98  unsigned int _itDay;
100 
102  long _itHours;
105 
110 
115  };
116 
117 }
118 #endif // __AIRINV_BOM_FLIGHTPERIODSTRUCT_HPP
AIRINV::FlightPeriodStruct::getTime
stdair::Duration_T getTime() const
Definition: FlightPeriodStruct.cpp:29
AIRINV::SegmentStructList_T
std::vector< SegmentStruct > SegmentStructList_T
Definition: SegmentStruct.hpp:43
AIRINV::FlightPeriodStruct::_itSegment
SegmentStruct _itSegment
Definition: FlightPeriodStruct.hpp:113
AIRINV::FlightPeriodStruct::_areSegmentDefinitionsSpecific
bool _areSegmentDefinitionsSpecific
Definition: FlightPeriodStruct.hpp:112
AIRINV::FlightPeriodStruct::_dow
stdair::DoWStruct _dow
Definition: FlightPeriodStruct.hpp:83
AIRINV::FlightPeriodStruct::FlightPeriodStruct
FlightPeriodStruct()
Definition: FlightPeriodStruct.cpp:17
AIRINV::FlightPeriodStruct::_segmentList
SegmentStructList_T _segmentList
Definition: FlightPeriodStruct.hpp:85
AIRINV::FlightPeriodStruct::_itSegmentCabin
SegmentCabinStruct _itSegmentCabin
Definition: FlightPeriodStruct.hpp:114
AIRINV::SegmentCabinStruct
Utility Structure for the parsing of SegmentCabin details.
Definition: SegmentCabinStruct.hpp:26
AIRINV::FlightPeriodStruct::buildSegments
void buildSegments()
Definition: FlightPeriodStruct.cpp:78
FareFamilyStruct.hpp
AIRINV::FlightPeriodStruct::_dateRangeStart
stdair::Date_T _dateRangeStart
Definition: FlightPeriodStruct.hpp:94
AIRINV::FlightPeriodStruct::addAirport
void addAirport(const stdair::AirportCode_T &)
Definition: FlightPeriodStruct.cpp:62
AIRINV::FlightPeriodStruct::_itHours
long _itHours
Definition: FlightPeriodStruct.hpp:102
LegStruct.hpp
AIRINV::FlightPeriodStruct::_airportOrderedList
AirportOrderedList_T _airportOrderedList
Definition: FlightPeriodStruct.hpp:109
AIRINV::FlightPeriodStruct
Definition: FlightPeriodStruct.hpp:24
AIRINV::FlightPeriodStruct::_itYear
unsigned int _itYear
Definition: FlightPeriodStruct.hpp:96
AIRINV::FlightPeriodStruct::_dateRange
stdair::DatePeriod_T _dateRange
Definition: FlightPeriodStruct.hpp:82
AIRINV::FlightPeriodStruct::_itLeg
LegStruct _itLeg
Definition: FlightPeriodStruct.hpp:90
AIRINV::FlightPeriodStruct::_airportList
AirportList_T _airportList
Definition: FlightPeriodStruct.hpp:108
SegmentStruct.hpp
AIRINV::FlightPeriodStruct::addFareFamily
void addFareFamily(const SegmentStruct &, const SegmentCabinStruct &, const FareFamilyStruct &)
Definition: FlightPeriodStruct.cpp:161
AirportList.hpp
AIRINV::FlightPeriodStruct::_itMinutes
long _itMinutes
Definition: FlightPeriodStruct.hpp:103
AIRINV::LegStructList_T
std::vector< LegStruct > LegStructList_T
Definition: LegStruct.hpp:57
AIRINV::FlightPeriodStruct::_dateRangeEnd
stdair::Date_T _dateRangeEnd
Definition: FlightPeriodStruct.hpp:95
LegCabinStruct.hpp
AIRINV::FlightPeriodStruct::addSegmentCabin
void addSegmentCabin(const SegmentStruct &, const SegmentCabinStruct &)
Definition: FlightPeriodStruct.cpp:111
AIRINV::FlightPeriodStruct::_itMonth
unsigned int _itMonth
Definition: FlightPeriodStruct.hpp:97
AIRINV::FlightPeriodStruct::_legAlreadyDefined
bool _legAlreadyDefined
Definition: FlightPeriodStruct.hpp:89
AIRINV
Definition: AIRINV_Master_Service.hpp:38
AIRINV::SegmentStruct
Definition: SegmentStruct.hpp:23
AIRINV::FlightPeriodStruct::_dateOffset
int _dateOffset
Definition: FlightPeriodStruct.hpp:99
AIRINV::FlightPeriodStruct::_itSeconds
long _itSeconds
Definition: FlightPeriodStruct.hpp:104
AIRINV::LegCabinStruct
Definition: LegCabinStruct.hpp:24
AIRINV::FareFamilyStruct
Utility Structure for the parsing of fare family details.
Definition: FareFamilyStruct.hpp:26
AIRINV::FlightPeriodStruct::describe
const std::string describe() const
Definition: FlightPeriodStruct.cpp:36
AIRINV::FlightPeriodStruct::_legList
LegStructList_T _legList
Definition: FlightPeriodStruct.hpp:84
AIRINV::AirportOrderedList_T
std::vector< stdair::AirportCode_T > AirportOrderedList_T
Definition: AirportList.hpp:17
SegmentCabinStruct.hpp
AIRINV::AirportList_T
std::set< stdair::AirportCode_T > AirportList_T
Definition: AirportList.hpp:16
AIRINV::FlightPeriodStruct::_flightNumber
stdair::FlightNumber_T _flightNumber
Definition: FlightPeriodStruct.hpp:81
AIRINV::FlightPeriodStruct::_itLegCabin
LegCabinStruct _itLegCabin
Definition: FlightPeriodStruct.hpp:91
AIRINV::FlightPeriodStruct::_itDay
unsigned int _itDay
Definition: FlightPeriodStruct.hpp:98
AIRINV::LegStruct
Definition: LegStruct.hpp:24
AIRINV::FlightPeriodStruct::getDate
stdair::Date_T getDate() const
Definition: FlightPeriodStruct.cpp:24
AIRINV::FlightPeriodStruct::_airlineCode
stdair::AirlineCode_T _airlineCode
Definition: FlightPeriodStruct.hpp:80