StdAir Logo  1.00.8
C++ Standard Airline IT Object Library
NestingNodeKey.cpp
Go to the documentation of this file.
1 // //////////////////////////////////////////////////////////////////////
2 // Import section
3 // //////////////////////////////////////////////////////////////////////
4 // STL
5 #include <cassert>
6 #include <sstream>
7 // Boost.Serialization
8 #include <boost/archive/text_iarchive.hpp>
9 #include <boost/archive/text_oarchive.hpp>
10 #include <boost/serialization/access.hpp>
11 // StdAir
14 
15 namespace stdair {
16 
17  // ////////////////////////////////////////////////////////////////////
18  NestingNodeKey::NestingNodeKey() : _nestingNodeCode (DEFAULT_POLICY_CODE) {
19  assert (false);
20  }
21 
22  // ////////////////////////////////////////////////////////////////////
23  NestingNodeKey::NestingNodeKey (const NestingNodeKey& iNestingNodeKey)
24  : _nestingNodeCode (iNestingNodeKey._nestingNodeCode) {
25  }
26 
27  // ////////////////////////////////////////////////////////////////////
28  NestingNodeKey::NestingNodeKey (const NestingNodeCode_T& iNestingNodeCode)
29  : _nestingNodeCode (iNestingNodeCode) {
30  }
31 
32  // ////////////////////////////////////////////////////////////////////
34  }
35 
36  // ////////////////////////////////////////////////////////////////////
37  void NestingNodeKey::toStream (std::ostream& ioOut) const {
38  ioOut << "NestingNodeKey: " << toString();
39  }
40 
41  // ////////////////////////////////////////////////////////////////////
42  void NestingNodeKey::fromStream (std::istream& ioIn) {
43  }
44 
45  // ////////////////////////////////////////////////////////////////////
46  const std::string NestingNodeKey::toString() const {
47  std::ostringstream oStr;
48  oStr << _nestingNodeCode;
49  return oStr.str();
50  }
51 
52  // ////////////////////////////////////////////////////////////////////
53  void NestingNodeKey::serialisationImplementationExport() const {
54  std::ostringstream oStr;
55  boost::archive::text_oarchive oa (oStr);
56  oa << *this;
57  }
58 
59  // ////////////////////////////////////////////////////////////////////
60  void NestingNodeKey::serialisationImplementationImport() {
61  std::istringstream iStr;
62  boost::archive::text_iarchive ia (iStr);
63  ia >> *this;
64  }
65 
66  // ////////////////////////////////////////////////////////////////////
67  template<class Archive>
68  void NestingNodeKey::serialize (Archive& ioArchive,
69  const unsigned int iFileVersion) {
74  ioArchive & _nestingNodeCode;
75  }
76 
77  // ////////////////////////////////////////////////////////////////////
78  // Explicit template instantiation
79  namespace ba = boost::archive;
80  template void NestingNodeKey::serialize<ba::text_oarchive> (ba::text_oarchive&,
81  unsigned int);
82  template void NestingNodeKey::serialize<ba::text_iarchive> (ba::text_iarchive&,
83  unsigned int);
84  // ////////////////////////////////////////////////////////////////////
85 
86 }
stdair::NestingNodeKey::serialize
void serialize(Archive &ar, const unsigned int iFileVersion)
Definition: NestingNodeKey.cpp:68
stdair::NestingNodeKey::toStream
void toStream(std::ostream &ioOut) const
Definition: NestingNodeKey.cpp:37
stdair::NestingNodeCode_T
std::string NestingNodeCode_T
Definition: stdair_basic_types.hpp:53
boost::archive
Definition: FlightDate.hpp:21
stdair
Handle on the StdAir library context.
Definition: BasChronometer.cpp:9
BasConst_Inventory.hpp
stdair::NestingNodeKey::toString
const std::string toString() const
Definition: NestingNodeKey.cpp:46
stdair::DEFAULT_POLICY_CODE
const PolicyCode_T DEFAULT_POLICY_CODE
stdair::NestingNodeKey
Key of a given policy, made of a policy code.
Definition: NestingNodeKey.hpp:26
NestingNodeKey.hpp
stdair::NestingNodeKey::fromStream
void fromStream(std::istream &ioIn)
Definition: NestingNodeKey.cpp:42
stdair::NestingNodeKey::~NestingNodeKey
~NestingNodeKey()
Definition: NestingNodeKey.cpp:33