00001 #ifndef __AIRSCHED_BOM_LEGSTRUCT_HPP 00002 #define __AIRSCHED_BOM_LEGSTRUCT_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/LegCabinStruct.hpp> 00015 00016 // Forward declarations 00017 namespace stdair { 00018 class LegDate; 00019 } 00020 00021 namespace AIRSCHED { 00022 00024 struct LegStruct : public stdair::StructAbstract { 00025 // Attributes 00026 stdair::AirportCode_T _boardingPoint; 00027 stdair::DateOffset_T _boardingDateOffset; 00028 stdair::Duration_T _boardingTime; 00029 stdair::AirportCode_T _offPoint; 00030 stdair::DateOffset_T _offDateOffset; 00031 stdair::Duration_T _offTime; 00032 stdair::Duration_T _elapsed; 00033 LegCabinStructList_T _cabinList; 00034 00040 void fill (const stdair::Date_T& iRefDate, stdair::LegDate&) const; 00041 00043 const std::string describe() const; 00044 00046 LegStruct(); 00047 }; 00048 00050 typedef std::vector<LegStruct> LegStructList_T; 00051 00052 } 00053 #endif // __AIRSCHED_BOM_LEGSTRUCT_HPP