$treeview $search $mathjax
StdAir Logo  1.00.1
$projectbrief
$projectbrief
$searchbox

stdair/bom/DatePeriod.cpp

Go to the documentation of this file.
00001 // //////////////////////////////////////////////////////////////////////
00002 // Import section
00003 // //////////////////////////////////////////////////////////////////////
00004 // STL
00005 #include <cassert>
00006 #include <sstream>
00007 // StdAir
00008 #include <stdair/basic/BasConst_Period_BOM.hpp>
00009 #include <stdair/service/Logger.hpp>
00010 #include <stdair/bom/DatePeriod.hpp>
00011 
00012 namespace stdair {
00013 
00014   // ////////////////////////////////////////////////////////////////////
00015   DatePeriod::DatePeriod()
00016     : _key (BOOST_DEFAULT_DATE_PERIOD),
00017       _parent (NULL)  {
00018     // That constructor is used by the serialisation process
00019   }
00020 
00021   // ////////////////////////////////////////////////////////////////////
00022   DatePeriod::DatePeriod (const DatePeriod& iDatePeriod)
00023     : _key (iDatePeriod.getKey()), _parent (NULL)  {
00024   }
00025 
00026   // ////////////////////////////////////////////////////////////////////
00027   DatePeriod::DatePeriod (const Key_T& iKey)
00028     : _key (iKey), _parent (NULL)  {
00029   }
00030 
00031   // ////////////////////////////////////////////////////////////////////
00032   DatePeriod::~DatePeriod () {
00033   }
00034 
00035   // ////////////////////////////////////////////////////////////////////
00036   std::string DatePeriod::toString() const {
00037     std::ostringstream oStr;
00038     oStr << describeKey();
00039     return oStr.str();
00040   }
00041   
00042   // ////////////////////////////////////////////////////////////////////
00043   bool DatePeriod::
00044   isDepartureDateValid (const Date_T& iFlightDate) const {
00045 
00046     // Check if the departure date is within the date range.
00047     const DatePeriod_T& lPeriod = getDatePeriod ();
00048     if (lPeriod.contains (iFlightDate) == false) {
00049       return false;
00050     }
00051 
00052     return true;
00053   }
00054   
00055 }
00056