support for std::sort in PIVector
This commit is contained in:
@@ -224,6 +224,12 @@ public:
|
|||||||
PIVector<T> * parent;
|
PIVector<T> * parent;
|
||||||
size_t pos;
|
size_t pos;
|
||||||
public:
|
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 iterator(): parent(0), pos(0) {}
|
||||||
inline T & operator *() {return (*parent)[pos];}
|
inline T & operator *() {return (*parent)[pos];}
|
||||||
inline const T & operator *() const {return (*parent)[pos];}
|
inline const T & operator *() const {return (*parent)[pos];}
|
||||||
@@ -261,6 +267,12 @@ public:
|
|||||||
const PIVector<T> * parent;
|
const PIVector<T> * parent;
|
||||||
size_t pos;
|
size_t pos;
|
||||||
public:
|
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_iterator(): parent(0), pos(0) {}
|
||||||
inline const T & operator *() const {return (*parent)[pos];}
|
inline const T & operator *() const {return (*parent)[pos];}
|
||||||
inline const T & operator->() {return (*parent)[pos];}
|
inline const T & operator->() {return (*parent)[pos];}
|
||||||
@@ -297,6 +309,12 @@ public:
|
|||||||
PIVector<T> * parent;
|
PIVector<T> * parent;
|
||||||
size_t pos;
|
size_t pos;
|
||||||
public:
|
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 reverse_iterator(): parent(0), pos(0) {}
|
||||||
inline T & operator *() {return (*parent)[pos];}
|
inline T & operator *() {return (*parent)[pos];}
|
||||||
inline const T & operator *() const {return (*parent)[pos];}
|
inline const T & operator *() const {return (*parent)[pos];}
|
||||||
@@ -315,6 +333,12 @@ public:
|
|||||||
const PIVector<T> * parent;
|
const PIVector<T> * parent;
|
||||||
size_t pos;
|
size_t pos;
|
||||||
public:
|
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_reverse_iterator(): parent(0), pos(0) {}
|
||||||
inline const T & operator *() const {return (*parent)[pos];}
|
inline const T & operator *() const {return (*parent)[pos];}
|
||||||
inline void operator ++() {--pos;}
|
inline void operator ++() {--pos;}
|
||||||
|
|||||||
Reference in New Issue
Block a user