00001 #ifndef __AIRSCHED_BOM_SEGMENTCABINSTRUCT_HPP 00002 #define __AIRSCHED_BOM_SEGMENTCABINSTRUCT_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/FareFamilyStruct.hpp> 00015 00016 // Forward declarations 00017 namespace stdair { 00018 class SegmentCabin; 00019 } 00020 00021 namespace AIRSCHED { 00022 00024 struct SegmentCabinStruct : public stdair::StructAbstract { 00025 // Attributes 00026 stdair::CabinCode_T _cabinCode; 00027 stdair::ClassList_String_T _classes; 00028 stdair::FamilyCode_T _itFamilyCode; 00029 FareFamilyStructList_T _fareFamilies; 00030 00033 void fill (stdair::SegmentCabin&) const; 00034 00036 const std::string describe() const; 00037 00038 }; 00039 00041 typedef std::vector<SegmentCabinStruct> SegmentCabinStructList_T; 00042 00043 } 00044 #endif // __AIRSCHED_BOM_SEGMENTCABINSTRUCT_HPP