00001 // -*- c++ -*- 00002 //***************************************************************************** 00016 //***************************************************************************** 00017 00018 #ifndef polybori_iterators_CCuddLastIter_h_ 00019 #define polybori_iterators_CCuddLastIter_h_ 00020 00021 // include basic definitions 00022 #include "CCuddNavigator.h" 00023 00024 BEGIN_NAMESPACE_PBORI 00025 00032 class CCuddLastIter : 00033 public CCuddNavigator { 00034 00035 public: 00037 typedef std::forward_iterator_tag iterator_category; 00038 00040 typedef CCuddLastIter self; 00041 00043 typedef CCuddNavigator base; 00044 00046 CCuddLastIter(): base() {} 00047 CCuddLastIter(pointer_type ptr); 00048 00050 CCuddLastIter(const self&); 00051 00053 ~CCuddLastIter(); 00054 00056 self& operator++(); 00057 00059 self operator++(int); 00060 00061 protected: 00063 void terminateConstant(); 00064 }; 00065 00066 00067 END_NAMESPACE_PBORI 00068 00069 #endif