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