StdAir Logo  1.00.16
C++ Standard Airline IT Object Library
Loading...
Searching...
No Matches
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
15namespace 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 // ////////////////////////////////////////////////////////////////////
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}
Handle on the StdAir library context.
std::string NestingNodeCode_T
const PolicyCode_T DEFAULT_POLICY_CODE
Key of a given policy, made of a policy code.
void serialize(Archive &ar, const unsigned int iFileVersion)
void toStream(std::ostream &ioOut) const
const std::string toString() const
void fromStream(std::istream &ioIn)