diff --git a/libs/main/containers/pivector.h b/libs/main/containers/pivector.h index 742b0657..0b71e48e 100644 --- a/libs/main/containers/pivector.h +++ b/libs/main/containers/pivector.h @@ -224,6 +224,12 @@ public: PIVector * parent; size_t pos; public: + typedef T value_type; + typedef T* pointer; + typedef T& reference; + typedef std::ptrdiff_t difference_type; + typedef std::random_access_iterator_tag iterator_category; + inline iterator(): parent(0), pos(0) {} inline T & operator *() {return (*parent)[pos];} inline const T & operator *() const {return (*parent)[pos];} @@ -261,6 +267,12 @@ public: const PIVector * parent; size_t pos; public: + typedef T value_type; + typedef T* pointer; + typedef T& reference; + typedef std::ptrdiff_t difference_type; + typedef std::random_access_iterator_tag iterator_category; + inline const_iterator(): parent(0), pos(0) {} inline const T & operator *() const {return (*parent)[pos];} inline const T & operator->() {return (*parent)[pos];} @@ -297,6 +309,12 @@ public: PIVector * parent; size_t pos; public: + typedef T value_type; + typedef T* pointer; + typedef T& reference; + typedef std::ptrdiff_t difference_type; + typedef std::random_access_iterator_tag iterator_category; + inline reverse_iterator(): parent(0), pos(0) {} inline T & operator *() {return (*parent)[pos];} inline const T & operator *() const {return (*parent)[pos];} @@ -315,6 +333,12 @@ public: const PIVector * parent; size_t pos; public: + typedef T value_type; + typedef T* pointer; + typedef T& reference; + typedef std::ptrdiff_t difference_type; + typedef std::random_access_iterator_tag iterator_category; + inline const_reverse_iterator(): parent(0), pos(0) {} inline const T & operator *() const {return (*parent)[pos];} inline void operator ++() {--pos;}