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