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