propertysetiterator.h

00001 #ifndef DDF_PROPERTYSETITERATOR_H
00002 #define DDF_PROPERTYSETITERATOR_H
00003 
00004 #include <iterator>
00005 #include <string>
00006 #include <map>
00007 
00008 namespace afl
00009 {
00010     namespace ddf
00011     {
00012         class PropertySet;
00013         class Property;
00014 
00020         class PropertySetIterator : public std::iterator<std::bidirectional_iterator_tag, Property*>
00021         {
00022 
00024           public:
00025 
00029              PropertySetIterator(  );
00030 
00036              PropertySetIterator( const PropertySetIterator& toCopy );
00037 
00043              PropertySetIterator& operator=( const PropertySetIterator& toCopy );
00044 
00048              PropertySetIterator& operator++(  );
00049 
00053              PropertySetIterator operator++( int );
00054 
00058              PropertySetIterator operator--( int );
00059 
00063              PropertySetIterator& operator--(  );
00064 
00065 
00071              bool operator==( const PropertySetIterator& toCompare ) const;
00072 
00078              bool operator!=( const PropertySetIterator& toCompare ) const;
00079 
00083              Property* operator->(  );
00084 
00088              const Property* operator->(  ) const;
00089 
00093              Property& operator*(  );
00094 
00098              const Property& operator*(  ) const;
00099 
00100 
00101 
00103           private:
00104              friend class PropertySet;
00110              PropertySetIterator( const std::map<std::string,Property*>::iterator& iter );
00111 
00117              PropertySetIterator( const std::map<std::string,Property*>::const_iterator& iter );
00118 
00119 
00120 
00123           private:
00127              std::map<std::string,Property*>::iterator _iter;
00128              std::map<std::string,Property*>::const_iterator _citer;
00129 
00130         };
00131 
00132     }
00133 }
00134 
00135 #endif // PROPERTYSETITERATOR_H
00136 

Generated on Fri Dec 22 07:17:50 2006 for afl by  doxygen 1.4.6