8 #include <boost/archive/text_iarchive.hpp>
9 #include <boost/archive/text_oarchive.hpp>
10 #include <boost/serialization/access.hpp>
12 #include <stdair/basic/BasConst_General.hpp>
13 #include <stdair/basic/BasConst_Inventory.hpp>
14 #include <stdair/basic/BasConst_Period_BOM.hpp>
15 #include <stdair/basic/BasConst_TravelSolution.hpp>
23 : _period (stdair::BOOST_DEFAULT_DATE_PERIOD, stdair::DEFAULT_DOW_STRING),
24 _boardingTime (stdair::NULL_BOOST_TIME_DURATION),
25 _elapsed (stdair::NULL_BOOST_TIME_DURATION),
26 _nbOfAirlines (stdair::DEFAULT_NBOFAIRLINES) {
31 : _period (iSPPK._period),
32 _boardingTime (iSPPK._boardingTime),
33 _elapsed (iSPPK._elapsed),
34 _boardingDateOffsetList (iSPPK._boardingDateOffsetList),
35 _nbOfAirlines (iSPPK._nbOfAirlines) {
41 const stdair::Duration_T& iBoardingTime,
42 const stdair::Duration_T& iElapsedTime,
44 const stdair::NbOfAirlines_T& iNbOfAirlines)
46 _boardingTime (iBoardingTime),
47 _elapsed (iElapsedTime),
48 _boardingDateOffsetList (iBoardingDateOffsetList),
49 _nbOfAirlines (iNbOfAirlines) {
58 ioOut <<
"SegmentPathPeriodKey: " <<
toString() << std::endl;
67 std::ostringstream oStr;
68 oStr << _period.describeShort() <<
", "
69 << _boardingTime <<
", " << _elapsed <<
", ";
71 for (DateOffsetList_T::const_iterator itOffset =
72 _boardingDateOffsetList.begin();
73 itOffset != _boardingDateOffsetList.end(); ++itOffset) {
74 const stdair::DateOffset_T& lDateOffset = *itOffset;
75 oStr << lDateOffset.days() <<
", ";
78 oStr << _nbOfAirlines ;
83 void SegmentPathPeriodKey::serialisationImplementationExport()
const {
84 std::ostringstream oStr;
85 boost::archive::text_oarchive oa (oStr);
90 void SegmentPathPeriodKey::serialisationImplementationImport() {
91 std::istringstream iStr;
92 boost::archive::text_iarchive ia (iStr);
97 template<
class Archive>
99 const unsigned int iFileVersion) {
105 std::string lBTStr = boost::posix_time::to_simple_string (_boardingTime);
106 std::string lElapsedStr = boost::posix_time::to_simple_string (_elapsed);
107 ioArchive & lBTStr & lElapsedStr & _nbOfAirlines;
112 namespace ba = boost::archive;
114 void SegmentPathPeriodKey::serialize<ba::text_oarchive> (ba::text_oarchive&,
117 void SegmentPathPeriodKey::serialize<ba::text_iarchive> (ba::text_iarchive&,