Go to the documentation of this file.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/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
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 }