1.00.26
C++ Standard Airline IT Object Library
Toggle main menu visibility
Loading...
Searching...
No Matches
LegDate.hpp
Go to the documentation of this file.
1
#ifndef __STDAIR_BOM_LEGDATE_HPP
2
#define __STDAIR_BOM_LEGDATE_HPP
3
4
// //////////////////////////////////////////////////////////////////////
5
// Import section
6
// //////////////////////////////////////////////////////////////////////
7
// STL
8
#include <iosfwd>
9
#include <string>
10
// StdAir
11
#include <
stdair/stdair_inventory_types.hpp
>
12
#include <
stdair/bom/BomAbstract.hpp
>
13
#include <
stdair/bom/LegDateKey.hpp
>
14
#include <
stdair/bom/LegDateTypes.hpp
>
15
16
namespace
stdair
{
17
19
struct
LegCabinKey
;
20
class
LegCabin
;
21
25
class
LegDate
:
public
BomAbstract
{
26
template
<
typename
BOM>
friend
class
FacBom
;
27
template
<
typename
BOM>
friend
class
FacCloneBom
;
28
friend
class
FacBomManager
;
29
30
public
:
31
// ////////// Type definitions ////////////
33
typedef
LegDateKey
Key_T
;
34
35
36
public
:
37
// /////////// Getters /////////////
39
const
Key_T
&
getKey
()
const
{
40
return
_key
;
41
}
42
44
BomAbstract
*
const
getParent
()
const
{
45
return
_parent
;
46
}
47
49
const
AirportCode_T
&
getBoardingPoint
()
const
{
50
return
_key
.getBoardingPoint();
51
}
52
60
const
AirlineCode_T
&
getAirlineCode
()
const
;
61
65
const
HolderMap_T
&
getHolderMap
()
const
{
66
return
_holderMap
;
67
}
68
79
LegCabin
*
getLegCabin
(
const
std::string& iLegCabinKeyStr)
const
;
80
91
LegCabin
*
getLegCabin
(
const
LegCabinKey
&)
const
;
92
94
const
AirportCode_T
&
getOffPoint
()
const
{
95
return
_offPoint
;
96
}
97
99
const
Date_T
&
getBoardingDate
()
const
{
100
return
_boardingDate
;
101
}
102
104
const
Duration_T
&
getBoardingTime
()
const
{
105
return
_boardingTime
;
106
}
107
109
const
Date_T
&
getOffDate
()
const
{
110
return
_offDate
;
111
}
112
114
const
Duration_T
&
getOffTime
()
const
{
115
return
_offTime
;
116
}
117
119
const
Duration_T
&
getElapsedTime
()
const
{
120
return
_elapsedTime
;
121
}
122
124
const
Distance_T
&
getDistance
()
const
{
125
return
_distance
;
126
}
127
129
const
CabinCapacity_T
&
getCapacity
()
const
{
130
return
_capacity
;
131
}
132
134
const
DateOffset_T
getDateOffset
()
const
{
135
return
_offDate
-
_boardingDate
;
136
}
137
142
const
Duration_T
getTimeOffset
()
const
;
143
144
145
public
:
146
// ///////// Setters //////////
148
void
setOffPoint
(
const
AirportCode_T
& iOffPoint) {
149
_offPoint
= iOffPoint;
150
}
151
153
void
setBoardingDate
(
const
Date_T
& iBoardingDate) {
154
_boardingDate
= iBoardingDate;
155
}
156
158
void
setBoardingTime
(
const
Duration_T
& iBoardingTime) {
159
_boardingTime
= iBoardingTime;
160
}
161
163
void
setOffDate
(
const
Date_T
& iOffDate) {
164
_offDate
= iOffDate;
165
}
166
168
void
setOffTime
(
const
Duration_T
& iOffTime) {
169
_offTime
= iOffTime;
170
}
171
173
void
setElapsedTime
(
const
Duration_T
&);
174
176
void
setOperatingAirlineCode
(
const
AirlineCode_T
& iAirlineCode) {
177
_operatingAirlineCode
= iAirlineCode;
178
}
179
181
void
setOperatingFlightNumber
(
const
FlightNumber_T
& iFlightNumber) {
182
_operatingFlightNumber
= iFlightNumber;
183
}
184
185
private
:
187
void
updateDistanceFromElapsedTime();
188
189
190
public
:
191
// /////////// Display support methods /////////
194
void
toStream
(std::ostream& ioOut)
const
{
195
ioOut <<
toString
();
196
}
197
200
void
fromStream
(std::istream& ioIn) {
201
}
202
204
std::string
toString
()
const
;
205
207
const
std::string
describeKey
()
const
{
208
return
_key
.toString();
209
}
210
212
const
std::string
describeRoutingKey
()
const
;
213
214
protected
:
215
// ////////// Constructors and destructors /////////
217
LegDate
(
const
Key_T
&);
219
virtual
~LegDate
();
220
221
private
:
223
LegDate
();
225
LegDate
(
const
LegDate
&);
226
227
228
protected
:
229
// ////////// Attributes /////////
231
Key_T
_key
;
232
234
BomAbstract
*
_parent
;
235
237
HolderMap_T
_holderMap
;
238
240
AirportCode_T
_offPoint
;
241
243
Date_T
_boardingDate
;
244
246
Duration_T
_boardingTime
;
247
249
Date_T
_offDate
;
250
252
Duration_T
_offTime
;
253
255
Duration_T
_elapsedTime
;
256
258
Distance_T
_distance
;
259
261
CabinCapacity_T
_capacity
;
262
264
AirlineCode_T
_operatingAirlineCode
;
265
267
FlightNumber_T
_operatingFlightNumber
;
268
};
269
270
}
271
#endif
// __STDAIR_BOM_LEGDATE_HPP
272
BomAbstract.hpp
LegDateKey.hpp
LegDateTypes.hpp
stdair_inventory_types.hpp
stdair
Handle on the StdAir library context.
Definition
BasChronometer.cpp:9
stdair::Date_T
boost::gregorian::date Date_T
Definition
stdair_date_time_types.hpp:20
stdair::DateOffset_T
boost::gregorian::date_duration DateOffset_T
Definition
stdair_date_time_types.hpp:35
stdair::Distance_T
unsigned long int Distance_T
Definition
stdair_basic_types.hpp:19
stdair::CabinCapacity_T
double CabinCapacity_T
Definition
stdair_inventory_types.hpp:51
stdair::HolderMap_T
std::map< const std::type_info *, BomAbstract * > HolderMap_T
Definition
BomAbstract.hpp:63
stdair::FlightNumber_T
unsigned short FlightNumber_T
Definition
stdair_basic_types.hpp:34
stdair::AirlineCode_T
std::string AirlineCode_T
Definition
stdair_basic_types.hpp:31
stdair::Duration_T
boost::posix_time::time_duration Duration_T
Definition
stdair_date_time_types.hpp:17
stdair::AirportCode_T
LocationCode_T AirportCode_T
Definition
stdair_basic_types.hpp:22
stdair::BomAbstract::BomAbstract
BomAbstract()
Definition
BomAbstract.hpp:53
stdair::LegCabin
Class representing the actual attributes for an airline leg-cabin.
Definition
LegCabin.hpp:25
stdair::LegCabinKey
Key of a given leg-cabin, made of a cabin code (only).
Definition
LegCabinKey.hpp:26
stdair::LegDate
Definition
LegDate.hpp:25
stdair::LegDate::getOffPoint
const AirportCode_T & getOffPoint() const
Definition
LegDate.hpp:94
stdair::LegDate::LegDate
LegDate(const Key_T &)
Definition
LegDate.cpp:38
stdair::LegDate::setOperatingFlightNumber
void setOperatingFlightNumber(const FlightNumber_T &iFlightNumber)
Definition
LegDate.hpp:181
stdair::LegDate::getBoardingTime
const Duration_T & getBoardingTime() const
Definition
LegDate.hpp:104
stdair::LegDate::~LegDate
virtual ~LegDate()
Definition
LegDate.cpp:44
stdair::LegDate::getOffTime
const Duration_T & getOffTime() const
Definition
LegDate.hpp:114
stdair::LegDate::_capacity
CabinCapacity_T _capacity
Definition
LegDate.hpp:261
stdair::LegDate::toStream
void toStream(std::ostream &ioOut) const
Definition
LegDate.hpp:194
stdair::LegDate::getCapacity
const CabinCapacity_T & getCapacity() const
Definition
LegDate.hpp:129
stdair::LegDate::getElapsedTime
const Duration_T & getElapsedTime() const
Definition
LegDate.hpp:119
stdair::LegDate::setElapsedTime
void setElapsedTime(const Duration_T &)
Definition
LegDate.cpp:103
stdair::LegDate::setOffDate
void setOffDate(const Date_T &iOffDate)
Definition
LegDate.hpp:163
stdair::LegDate::_boardingDate
Date_T _boardingDate
Definition
LegDate.hpp:243
stdair::LegDate::_boardingTime
Duration_T _boardingTime
Definition
LegDate.hpp:246
stdair::LegDate::setOffTime
void setOffTime(const Duration_T &iOffTime)
Definition
LegDate.hpp:168
stdair::LegDate::setBoardingDate
void setBoardingDate(const Date_T &iBoardingDate)
Definition
LegDate.hpp:153
stdair::LegDate::getBoardingPoint
const AirportCode_T & getBoardingPoint() const
Definition
LegDate.hpp:49
stdair::LegDate::_operatingAirlineCode
AirlineCode_T _operatingAirlineCode
Definition
LegDate.hpp:264
stdair::LegDate::setOffPoint
void setOffPoint(const AirportCode_T &iOffPoint)
Definition
LegDate.hpp:148
stdair::LegDate::_holderMap
HolderMap_T _holderMap
Definition
LegDate.hpp:237
stdair::LegDate::setBoardingTime
void setBoardingTime(const Duration_T &iBoardingTime)
Definition
LegDate.hpp:158
stdair::LegDate::getDistance
const Distance_T & getDistance() const
Definition
LegDate.hpp:124
stdair::LegDate::_offDate
Date_T _offDate
Definition
LegDate.hpp:249
stdair::LegDate::getHolderMap
const HolderMap_T & getHolderMap() const
Definition
LegDate.hpp:65
stdair::LegDate::_parent
BomAbstract * _parent
Definition
LegDate.hpp:234
stdair::LegDate::getParent
BomAbstract *const getParent() const
Definition
LegDate.hpp:44
stdair::LegDate::_key
Key_T _key
Definition
LegDate.hpp:231
stdair::LegDate::fromStream
void fromStream(std::istream &ioIn)
Definition
LegDate.hpp:200
stdair::LegDate::getLegCabin
LegCabin * getLegCabin(const std::string &iLegCabinKeyStr) const
Definition
LegDate.cpp:76
stdair::LegDate::getDateOffset
const DateOffset_T getDateOffset() const
Definition
LegDate.hpp:134
stdair::LegDate::_operatingFlightNumber
FlightNumber_T _operatingFlightNumber
Definition
LegDate.hpp:267
stdair::LegDate::_distance
Distance_T _distance
Definition
LegDate.hpp:258
stdair::LegDate::describeKey
const std::string describeKey() const
Definition
LegDate.hpp:207
stdair::LegDate::getAirlineCode
const AirlineCode_T & getAirlineCode() const
Definition
LegDate.cpp:48
stdair::LegDate::describeRoutingKey
const std::string describeRoutingKey() const
Definition
LegDate.cpp:63
stdair::LegDate::getKey
const Key_T & getKey() const
Definition
LegDate.hpp:39
stdair::LegDate::FacBom
friend class FacBom
Definition
LegDate.hpp:26
stdair::LegDate::setOperatingAirlineCode
void setOperatingAirlineCode(const AirlineCode_T &iAirlineCode)
Definition
LegDate.hpp:176
stdair::LegDate::FacCloneBom
friend class FacCloneBom
Definition
LegDate.hpp:27
stdair::LegDate::FacBomManager
friend class FacBomManager
Definition
LegDate.hpp:28
stdair::LegDate::_offTime
Duration_T _offTime
Definition
LegDate.hpp:252
stdair::LegDate::getBoardingDate
const Date_T & getBoardingDate() const
Definition
LegDate.hpp:99
stdair::LegDate::_offPoint
AirportCode_T _offPoint
Definition
LegDate.hpp:240
stdair::LegDate::getOffDate
const Date_T & getOffDate() const
Definition
LegDate.hpp:109
stdair::LegDate::toString
std::string toString() const
Definition
LegDate.cpp:56
stdair::LegDate::_elapsedTime
Duration_T _elapsedTime
Definition
LegDate.hpp:255
stdair::LegDate::getTimeOffset
const Duration_T getTimeOffset() const
Definition
LegDate.cpp:88
stdair::LegDate::Key_T
LegDateKey Key_T
Definition
LegDate.hpp:33
stdair::LegDateKey
Definition
LegDateKey.hpp:16
Generated for StdAir by
1.17.0