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