00001 #ifndef __RMOL_BOM_PARTIALSUMHOLDERHOLDER_HPP 00002 #define __RMOL_BOM_PARTIALSUMHOLDERHOLDER_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <iostream> 00009 // RMOL 00010 #include <rmol/bom/BomAbstract.hpp> 00011 #include <rmol/bom/PartialSumHolderList.hpp> 00012 00013 namespace RMOL { 00014 00017 class PartialSumHolderHolder : public BomAbstract { 00021 friend class FacPartialSumHolderHolder; 00022 00023 public: 00024 // ///////// Getters ///////// 00027 const short getSize () const; 00028 00030 PartialSumHolder& getPreviousPartialSumHolder () const; 00031 00033 PartialSumHolder& getCurrentPartialSumHolder () const; 00034 00038 void begin (); 00039 00042 void iterate (); 00043 00046 bool hasNotReachedEnd () const; 00047 00048 public: 00049 // ///////// Display methods //////// 00052 void toStream (std::ostream&) const; 00053 00056 void fromStream (std::istream&); 00057 00059 std::string toString() const; 00060 00063 const std::string describeKey() const; 00064 00067 const std::string describeShortKey() const; 00068 00070 const std::string display() const; 00071 00073 const std::string shortDisplay() const; 00074 00075 00076 private: 00078 PartialSumHolderHolder(); 00080 PartialSumHolderHolder (const int iSize); 00081 00083 virtual ~PartialSumHolderHolder(); 00084 00085 00086 private: 00091 void addPartialSumHolder (PartialSumHolder&); 00092 00093 00094 private: 00095 // //////// Attributes ///////// 00097 PartialSumHolderList_T _partialSumHolderList; 00098 00100 PartialSumHolderList_T::iterator _itPreviousPartialSumHolder; 00101 PartialSumHolderList_T::iterator _itCurrentPartialSumHolder; 00102 }; 00103 } 00104 #endif // __RMOL_BOM_PARTIALSUMHOLDERHOLDER_HPP
Generated on Fri Jul 30 21:53:12 2010 for RMOL by Doxygen 1.6.1