$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/InventoryKey.hpp> 00014 00015 namespace stdair { 00016 00017 // //////////////////////////////////////////////////////////////////// 00018 InventoryKey::InventoryKey() : _airlineCode (DEFAULT_AIRLINE_CODE) { 00019 assert (false); 00020 } 00021 00022 // //////////////////////////////////////////////////////////////////// 00023 InventoryKey::InventoryKey (const AirlineCode_T& iAirlineCode) 00024 : _airlineCode (iAirlineCode) { 00025 } 00026 00027 // //////////////////////////////////////////////////////////////////// 00028 InventoryKey::InventoryKey (const InventoryKey& iKey) 00029 : _airlineCode (iKey._airlineCode) { 00030 } 00031 00032 // //////////////////////////////////////////////////////////////////// 00033 InventoryKey::~InventoryKey() { 00034 } 00035 00036 // //////////////////////////////////////////////////////////////////// 00037 void InventoryKey::toStream (std::ostream& ioOut) const { 00038 ioOut << "InventoryKey: " << toString(); 00039 } 00040 00041 // //////////////////////////////////////////////////////////////////// 00042 void InventoryKey::fromStream (std::istream& ioIn) { 00043 } 00044 00045 // //////////////////////////////////////////////////////////////////// 00046 const std::string InventoryKey::toString() const { 00047 std::ostringstream oStr; 00048 oStr << _airlineCode; 00049 return oStr.str(); 00050 } 00051 00052 // //////////////////////////////////////////////////////////////////// 00053 void InventoryKey::serialisationImplementationExport() const { 00054 std::ostringstream oStr; 00055 boost::archive::text_oarchive oa (oStr); 00056 oa << *this; 00057 } 00058 00059 // //////////////////////////////////////////////////////////////////// 00060 void InventoryKey::serialisationImplementationImport() { 00061 std::istringstream iStr; 00062 boost::archive::text_iarchive ia (iStr); 00063 ia >> *this; 00064 } 00065 00066 // //////////////////////////////////////////////////////////////////// 00067 template<class Archive> 00068 void InventoryKey::serialize (Archive& ioArchive, 00069 const unsigned int iFileVersion) { 00070 ioArchive & _airlineCode; 00071 } 00072 00073 // //////////////////////////////////////////////////////////////////// 00074 // Explicit template instantiation 00075 namespace ba = boost::archive; 00076 template void InventoryKey::serialize<ba::text_oarchive> (ba::text_oarchive&, 00077 unsigned int); 00078 template void InventoryKey::serialize<ba::text_iarchive> (ba::text_iarchive&, 00079 unsigned int); 00080 // //////////////////////////////////////////////////////////////////// 00081 00082 }