StdAir Logo  0.45.1
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
DoWStruct.hpp
Go to the documentation of this file.
00001 #ifndef __STDAIR_BOM_DOWSTRUCT_HPP
00002 #define __STDAIR_BOM_DOWSTRUCT_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <string>
00009 #include <vector>
00010 // STDAIR
00011 #include <stdair/basic/StructAbstract.hpp>
00012 
00013 namespace stdair {
00014 
00018   struct DoWStruct : public StructAbstract {
00019   public:
00021     typedef std::vector<bool> BooleanList_T;
00022 
00023   public:
00024     // //////////////// Getters ///////////////
00026     bool getDayOfWeek (const unsigned short i) const;
00027       
00029     bool getStandardDayOfWeek (const unsigned short i) const;
00030 
00031   public:
00032     // //////////////// Setters ///////////////
00034     void setDayOfWeek (const unsigned short, const bool);
00035     
00036   public:
00037     // //////////////// Display methods ///////////////
00039     const std::string describe() const;
00040 
00042     const std::string describeShort() const;
00043 
00044   public:
00045     // ///////////////// Business Methods ////////////////
00047     DoWStruct shift (const long&) const;
00048 
00050     DoWStruct intersection (const DoWStruct&) const;
00051 
00053     const bool isValid () const;
00054     
00055   public:
00058     DoWStruct (const std::string& iDowString);
00060     DoWStruct ();
00061     DoWStruct (const DoWStruct&);
00063     ~DoWStruct () { }
00064     
00065   private:
00067     BooleanList_T _dowList;
00068   };
00069 
00070 }
00071 #endif // __STDAIR_BOM_DOWSTRUCT_HPP