1.00.26
C++ Standard Airline IT Object Library
Toggle main menu visibility
Loading...
Searching...
No Matches
FFDisutilityCurveHolderStruct.cpp
Go to the documentation of this file.
1
// //////////////////////////////////////////////////////////////////////
2
// Import section
3
// //////////////////////////////////////////////////////////////////////
4
// STL
5
#include <cassert>
6
#include <sstream>
7
// StdAir
8
#include <
stdair/service/Logger.hpp
>
9
#include <
stdair/bom/FFDisutilityCurveHolderStruct.hpp
>
10
11
namespace
stdair
{
12
13
// ////////////////////////////////////////////////////////////////////
14
FFDisutilityCurveHolderStruct::FFDisutilityCurveHolderStruct
() {
15
}
16
17
// ////////////////////////////////////////////////////////////////////
18
FFDisutilityCurveHolderStruct::
19
FFDisutilityCurveHolderStruct
(
const
FFDisutilityCurveHolderStruct
& iHolder)
20
: _disutilityCurveHolder (iHolder._disutilityCurveHolder) {
21
}
22
23
// ////////////////////////////////////////////////////////////////////
24
FFDisutilityCurveHolderStruct::~FFDisutilityCurveHolderStruct
() {
25
}
26
27
// ////////////////////////////////////////////////////////////////////
28
const
FFDisutilityCurve_T
&
FFDisutilityCurveHolderStruct::
29
getFFDisutilityCurve
(
const
std::string& iKey)
const
{
30
FFDisutilityCurveHolder_T::const_iterator itCurve = _disutilityCurveHolder.find (iKey);
31
if
(itCurve == _disutilityCurveHolder.end()) {
32
STDAIR_LOG_DEBUG
(
"Cannot find the FFDisutility curve correponding to the "
33
<<
"given key: "
<< iKey);
34
assert (
false
);
35
}
36
37
return
itCurve->second;
38
}
39
40
// ////////////////////////////////////////////////////////////////////
41
void
FFDisutilityCurveHolderStruct::
42
addCurve
(
const
std::string& iKey,
const
FFDisutilityCurve_T
& iCurve) {
43
bool
insert = _disutilityCurveHolder.insert (FFDisutilityCurveHolder_T::value_type(iKey, iCurve)).second;
44
if
(insert ==
false
) {
45
STDAIR_LOG_DEBUG
(
"Cannot add the FFDisutility curve correponding to the "
46
<<
"given key: "
<< iKey
47
<<
", the key may already exist."
);
48
assert (
false
);
49
}
50
}
51
52
// ////////////////////////////////////////////////////////////////////
53
void
FFDisutilityCurveHolderStruct::toStream
(std::ostream& ioOut)
const
{
54
ioOut <<
describe
();
55
}
56
57
// ////////////////////////////////////////////////////////////////////
58
void
FFDisutilityCurveHolderStruct::fromStream
(std::istream& ioIn) {
59
}
60
61
// ////////////////////////////////////////////////////////////////////
62
const
std::string
FFDisutilityCurveHolderStruct::describe
()
const
{
63
std::ostringstream oStr;
64
for
(FFDisutilityCurveHolder_T::const_iterator itCurve = _disutilityCurveHolder.begin();
65
itCurve != _disutilityCurveHolder.end(); ++itCurve) {
66
const
std::string& lKey = itCurve->first;
67
const
FFDisutilityCurve_T
& lCurve = itCurve->second;
68
oStr << lKey <<
"; "
;
69
for
(FFDisutilityCurve_T::const_reverse_iterator itFFDisutility =
70
lCurve.rbegin();itFFDisutility != lCurve.rend(); ++itFFDisutility){
71
const
DTD_T
& lDTD = itFFDisutility->first;
72
const
double
& lFFDisutility = itFFDisutility->second;
73
oStr << lDTD <<
":"
<< lFFDisutility <<
";"
;
74
}
75
oStr << std::endl;
76
}
77
return
oStr.str();
78
}
79
80
}
FFDisutilityCurveHolderStruct.hpp
Logger.hpp
STDAIR_LOG_DEBUG
#define STDAIR_LOG_DEBUG(iToBeLogged)
Definition
Logger.hpp:32
stdair
Handle on the StdAir library context.
Definition
BasChronometer.cpp:9
stdair::DTD_T
short DTD_T
Definition
stdair_inventory_types.hpp:90
stdair::FFDisutilityCurve_T
std::map< const DTD_T, double > FFDisutilityCurve_T
Definition
stdair_rm_types.hpp:55
stdair::FFDisutilityCurveHolderStruct::fromStream
void fromStream(std::istream &ioIn)
Definition
FFDisutilityCurveHolderStruct.cpp:58
stdair::FFDisutilityCurveHolderStruct::FFDisutilityCurveHolderStruct
FFDisutilityCurveHolderStruct()
Definition
FFDisutilityCurveHolderStruct.cpp:14
stdair::FFDisutilityCurveHolderStruct::getFFDisutilityCurve
const FFDisutilityCurve_T & getFFDisutilityCurve(const std::string &) const
Definition
FFDisutilityCurveHolderStruct.cpp:29
stdair::FFDisutilityCurveHolderStruct::addCurve
void addCurve(const std::string &, const FFDisutilityCurve_T &)
Definition
FFDisutilityCurveHolderStruct.cpp:42
stdair::FFDisutilityCurveHolderStruct::~FFDisutilityCurveHolderStruct
~FFDisutilityCurveHolderStruct()
Definition
FFDisutilityCurveHolderStruct.cpp:24
stdair::FFDisutilityCurveHolderStruct::describe
const std::string describe() const
Definition
FFDisutilityCurveHolderStruct.cpp:62
stdair::FFDisutilityCurveHolderStruct::toStream
void toStream(std::ostream &ioOut) const
Definition
FFDisutilityCurveHolderStruct.cpp:53
Generated for StdAir by
1.17.0