AirInv Logo  0.1.2
C++ Simulated Airline Inventory Management System library
LegStruct.hpp
Go to the documentation of this file.
00001 #ifndef __AIRINV_BOM_LEGSTRUCT_HPP
00002 #define __AIRINV_BOM_LEGSTRUCT_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/LegCabinStruct.hpp>
00015 
00016 // Forward declarations
00017 namespace stdair {
00018   class LegDate;
00019 }
00020 
00021 namespace AIRINV {
00022 
00024   struct LegStruct : public stdair::StructAbstract {
00025     // Attributes
00026     stdair::AirportCode_T _boardingPoint;
00027     stdair::DateOffset_T _boardingDateOffset;
00028     stdair::Date_T _boardingDate;
00029     stdair::Duration_T _boardingTime;
00030     stdair::AirportCode_T _offPoint;
00031     stdair::DateOffset_T _offDateOffset;
00032     stdair::Date_T _offDate;
00033     stdair::Duration_T _offTime;
00034     stdair::Duration_T _elapsed;
00035     LegCabinStructList_T _cabinList;
00036 
00042     void fill (const stdair::Date_T& iRefDate, stdair::LegDate&) const;
00043 
00045     void fill (stdair::LegDate&) const;
00046       
00048     const std::string describe() const;
00049 
00051     LegStruct();
00052   };
00053 
00055   typedef std::vector<LegStruct> LegStructList_T;
00056 
00057 }
00058 #endif // __AIRINV_BOM_LEGSTRUCT_HPP