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