From 397d273802fde68ed86304f16f8343030810cb4d Mon Sep 17 00:00:00 2001 From: peri4 Date: Wed, 6 Apr 2022 20:48:20 +0300 Subject: [PATCH] support for std::sort in PIVector --- libs/main/containers/pivector.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) 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;}