00001 #ifndef __AIRINV_BOM_SEGMENTSTRUCT_HPP 00002 #define __AIRINV_BOM_SEGMENTSTRUCT_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <string> 00009 #include <vector> 00010 // STDAIR 00011 #include <stdair/stdair_inventory_types.hpp> 00012 #include <stdair/basic/StructAbstract.hpp> 00013 // AIRINV 00014 #include <airinv/bom/SegmentCabinStruct.hpp> 00015 00016 // Forward declarations 00017 namespace stdair { 00018 class SegmentDate; 00019 } 00020 00021 namespace AIRINV { 00023 struct SegmentStruct : public stdair::StructAbstract { 00024 // Attributes 00025 stdair::AirportCode_T _boardingPoint; 00026 stdair::AirportCode_T _offPoint; 00027 stdair::Date_T _boardingDate; 00028 stdair::Duration_T _boardingTime; 00029 stdair::Date_T _offDate; 00030 stdair::Duration_T _offTime; 00031 stdair::Duration_T _elapsed; 00032 SegmentCabinStructList_T _cabinList; 00033 00036 void fill (stdair::SegmentDate&) const; 00037 00039 const std::string describe() const; 00040 }; 00041 00043 typedef std::vector<SegmentStruct> SegmentStructList_T; 00044 00045 } 00046 #endif // __AIRINV_BOM_SEGMENTSTRUCT_HPP