$treeview $search $mathjax
00001 // ////////////////////////////////////////////////////////////////////// 00002 // Import section 00003 // ////////////////////////////////////////////////////////////////////// 00004 // STL 00005 #include <cassert> 00006 #include <sstream> 00007 // StdAir 00008 #include <stdair/basic/BasConst_General.hpp> 00009 #include <stdair/service/Logger.hpp> 00010 #include <stdair/bom/TimePeriod.hpp> 00011 00012 namespace stdair { 00013 00014 // //////////////////////////////////////////////////////////////////// 00015 TimePeriod::TimePeriod() 00016 : _key (DEFAULT_EPSILON_DURATION, DEFAULT_EPSILON_DURATION), 00017 _parent (NULL) { 00018 // That constructor is used by the serialisation process 00019 } 00020 00021 // //////////////////////////////////////////////////////////////////// 00022 TimePeriod::TimePeriod (const TimePeriod& iTimePeriod) 00023 : _key (iTimePeriod.getKey()), _parent (NULL) { 00024 } 00025 00026 // //////////////////////////////////////////////////////////////////// 00027 TimePeriod::TimePeriod (const Key_T& iKey) 00028 : _key (iKey), _parent (NULL) { 00029 } 00030 00031 // //////////////////////////////////////////////////////////////////// 00032 TimePeriod::~TimePeriod () { 00033 } 00034 00035 // //////////////////////////////////////////////////////////////////// 00036 std::string TimePeriod::toString() const { 00037 std::ostringstream oStr; 00038 oStr << describeKey(); 00039 return oStr.str(); 00040 } 00041 00042 // //////////////////////////////////////////////////////////////////// 00043 bool TimePeriod:: 00044 isDepartureTimeValid (const Time_T& iFlightTime) const { 00045 00046 const Time_T& lTimeRangeStart = getTimeRangeStart(); 00047 const Time_T& lTimeRangeEnd = getTimeRangeEnd(); 00048 00049 // Check if the departure time is within the time range. 00050 if (lTimeRangeStart >= iFlightTime) { 00051 // DEBUG 00052 STDAIR_LOG_DEBUG ("Time range begin: " << lTimeRangeStart << ", " 00053 << "time: " << iFlightTime); 00054 return false; 00055 } 00056 if (lTimeRangeEnd <= iFlightTime) { 00057 // DEBUG 00058 STDAIR_LOG_DEBUG ("Time range end: " << lTimeRangeEnd << ", " 00059 << "time: " << iFlightTime); 00060 return false; 00061 } 00062 00063 return true; 00064 } 00065 00066 } 00067