00001
00002
00003
00004
00005 #include <cassert>
00006 #include <sstream>
00007
00008 #include <boost/archive/text_iarchive.hpp>
00009 #include <boost/archive/text_oarchive.hpp>
00010 #include <boost/serialization/access.hpp>
00011
00012 #include <stdair/basic/BasConst_Inventory.hpp>
00013 #include <stdair/service/Logger.hpp>
00014 #include <stdair/bom/AirlineClassList.hpp>
00015
00016 namespace stdair {
00017
00018
00019 AirlineClassList::AirlineClassList()
00020 : _key (DEFAULT_AIRLINE_CODE_LIST, DEFAULT_CLASS_CODE_LIST),
00021 _parent (NULL) {
00022 assert (false);
00023 }
00024
00025
00026 AirlineClassList::AirlineClassList (const AirlineClassList& iACL)
00027 : _key (iACL._key),
00028 _parent (NULL),
00029 _yield(iACL._yield),
00030 _fare(iACL._fare) {
00031 }
00032
00033
00034 AirlineClassList::AirlineClassList (const Key_T& iKey)
00035 : _key (iKey), _parent (NULL) {
00036 }
00037
00038
00039 AirlineClassList::~AirlineClassList() {
00040 }
00041
00042
00043 std::string AirlineClassList::toString() const {
00044 std::ostringstream oStr;
00045 oStr << describeKey() << ", " << _yield << ", " << _fare;
00046 return oStr.str();
00047 }
00048
00049
00050 void AirlineClassList::serialisationImplementationExport() const {
00051 std::ostringstream oStr;
00052 boost::archive::text_oarchive oa (oStr);
00053 oa << *this;
00054 }
00055
00056
00057 void AirlineClassList::serialisationImplementationImport() {
00058 std::istringstream iStr;
00059 boost::archive::text_iarchive ia (iStr);
00060 ia >> *this;
00061 }
00062
00063
00064 template<class Archive>
00065 void AirlineClassList::serialize (Archive& ioArchive,
00066 const unsigned int iFileVersion) {
00067 ioArchive & _key & _yield & _fare;
00068 }
00069
00070 }
00071
00072
00073