$treeview $search $mathjax
00001 // ////////////////////////////////////////////////////////////////////// 00002 // Import section 00003 // ////////////////////////////////////////////////////////////////////// 00004 // STL 00005 #include <cassert> 00006 #include <sstream> 00007 // Boost.Serialization 00008 #include <boost/archive/text_iarchive.hpp> 00009 #include <boost/archive/text_oarchive.hpp> 00010 #include <boost/serialization/access.hpp> 00011 // StdAir 00012 #include <stdair/basic/BasConst_Inventory.hpp> 00013 #include <stdair/bom/FareFamilyKey.hpp> 00014 00015 namespace stdair { 00016 00017 // //////////////////////////////////////////////////////////////////// 00018 FareFamilyKey::FareFamilyKey() : _familyCode (DEFAULT_FARE_FAMILY_CODE) { 00019 assert (false); 00020 } 00021 00022 // //////////////////////////////////////////////////////////////////// 00023 FareFamilyKey::FareFamilyKey (const FareFamilyKey& iFareFamilyKey) 00024 : _familyCode (iFareFamilyKey._familyCode) { 00025 } 00026 00027 // //////////////////////////////////////////////////////////////////// 00028 FareFamilyKey::FareFamilyKey (const FamilyCode_T& iFamilyCode) 00029 : _familyCode (iFamilyCode) { 00030 } 00031 00032 // //////////////////////////////////////////////////////////////////// 00033 FareFamilyKey::~FareFamilyKey() { 00034 } 00035 00036 // //////////////////////////////////////////////////////////////////// 00037 void FareFamilyKey::toStream (std::ostream& ioOut) const { 00038 ioOut << "FareFamilyKey: " << toString(); 00039 } 00040 00041 // //////////////////////////////////////////////////////////////////// 00042 void FareFamilyKey::fromStream (std::istream& ioIn) { 00043 } 00044 00045 // //////////////////////////////////////////////////////////////////// 00046 const std::string FareFamilyKey::toString() const { 00047 std::ostringstream oStr; 00048 oStr << _familyCode; 00049 return oStr.str(); 00050 } 00051 00052 // //////////////////////////////////////////////////////////////////// 00053 void FareFamilyKey::serialisationImplementationExport() const { 00054 std::ostringstream oStr; 00055 boost::archive::text_oarchive oa (oStr); 00056 oa << *this; 00057 } 00058 00059 // //////////////////////////////////////////////////////////////////// 00060 void FareFamilyKey::serialisationImplementationImport() { 00061 std::istringstream iStr; 00062 boost::archive::text_iarchive ia (iStr); 00063 ia >> *this; 00064 } 00065 00066 // //////////////////////////////////////////////////////////////////// 00067 template<class Archive> 00068 void FareFamilyKey::serialize (Archive& ioArchive, 00069 const unsigned int iFileVersion) { 00074 ioArchive & _familyCode; 00075 } 00076 00077 // //////////////////////////////////////////////////////////////////// 00078 // Explicit template instantiation 00079 namespace ba = boost::archive; 00080 template void FareFamilyKey::serialize<ba::text_oarchive> (ba::text_oarchive&, 00081 unsigned int); 00082 template void FareFamilyKey::serialize<ba::text_iarchive> (ba::text_iarchive&, 00083 unsigned int); 00084 // //////////////////////////////////////////////////////////////////// 00085 00086 }