StdAir Logo  1.00.20
C++ Standard Airline IT Object Library
Loading...
Searching...
No Matches
SegmentCabinKey.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 SegmentCabinKey::SegmentCabinKey() : _cabinCode (DEFAULT_CABIN_CODE) {
19 assert (false);
20 }
21
22 // ////////////////////////////////////////////////////////////////////
23 SegmentCabinKey::SegmentCabinKey (const CabinCode_T& iCabinCode)
24 : _cabinCode (iCabinCode) {
25 }
26
27 // ////////////////////////////////////////////////////////////////////
28 SegmentCabinKey::SegmentCabinKey (const SegmentCabinKey& iKey)
29 : _cabinCode (iKey._cabinCode) {
30 }
31
32 // ////////////////////////////////////////////////////////////////////
35
36 // ////////////////////////////////////////////////////////////////////
37 void SegmentCabinKey::toStream (std::ostream& ioOut) const {
38 ioOut << "SegmentCabinKey: " << toString();
39 }
40
41 // ////////////////////////////////////////////////////////////////////
42 void SegmentCabinKey::fromStream (std::istream& ioIn) {
43 }
44
45 // ////////////////////////////////////////////////////////////////////
46 const std::string SegmentCabinKey::toString() const {
47 std::ostringstream oStr;
48 oStr << _cabinCode;
49 return oStr.str();
50 }
51
52 // ////////////////////////////////////////////////////////////////////
53 void SegmentCabinKey::serialisationImplementationExport() const {
54 std::ostringstream oStr;
55 boost::archive::text_oarchive oa (oStr);
56 oa << *this;
57 }
58
59 // ////////////////////////////////////////////////////////////////////
60 void SegmentCabinKey::serialisationImplementationImport() {
61 std::istringstream iStr;
62 boost::archive::text_iarchive ia (iStr);
63 ia >> *this;
64 }
65
66 // ////////////////////////////////////////////////////////////////////
67 template<class Archive>
68 void SegmentCabinKey::serialize (Archive& ioArchive,
69 const unsigned int iFileVersion) {
74 ioArchive & _cabinCode;
75 }
76
77 // ////////////////////////////////////////////////////////////////////
78 // Explicit template instantiation
79 namespace ba = boost::archive;
80 template void SegmentCabinKey::
81 serialize<ba::text_oarchive> (ba::text_oarchive&, unsigned int);
82 template void SegmentCabinKey::
83 serialize<ba::text_iarchive> (ba::text_iarchive&, unsigned int);
84 // ////////////////////////////////////////////////////////////////////
85
86}
Handle on the StdAir library context.
const CabinCode_T DEFAULT_CABIN_CODE
std::string CabinCode_T
void toStream(std::ostream &ioOut) const
void serialize(Archive &ar, const unsigned int iFileVersion)
const std::string toString() const
void fromStream(std::istream &ioIn)