Iterators ssize_t

This commit is contained in:
Andrey
2022-04-14 17:43:55 +03:00
parent fa93c8a486
commit bb45a60d94
2 changed files with 17 additions and 16 deletions

View File

@@ -94,9 +94,9 @@ public:
class iterator {
friend class PIDeque<T>;
private:
inline iterator(PIDeque<T> * v, size_t p): parent(v), pos(p) {}
inline iterator(PIDeque<T> * v, ssize_t p): parent(v), pos(p) {}
PIDeque<T> * parent;
size_t pos;
ssize_t pos;
public:
typedef T value_type;
typedef T* pointer;
@@ -139,9 +139,9 @@ public:
class const_iterator {
friend class PIDeque<T>;
private:
inline const_iterator(const PIDeque<T> * v, size_t p): parent(v), pos(p) {}
inline const_iterator(const PIDeque<T> * v, ssize_t p): parent(v), pos(p) {}
const PIDeque<T> * parent;
size_t pos;
ssize_t pos;
public:
typedef T value_type;
typedef T* pointer;
@@ -182,9 +182,9 @@ public:
class reverse_iterator {
friend class PIDeque<T>;
private:
inline reverse_iterator(PIDeque<T> * v, size_t p): parent(v), pos(p) {}
inline reverse_iterator(PIDeque<T> * v, ssize_t p): parent(v), pos(p) {}
PIDeque<T> * parent;
size_t pos;
ssize_t pos;
public:
typedef T value_type;
typedef T* pointer;
@@ -227,9 +227,9 @@ public:
class const_reverse_iterator {
friend class PIDeque<T>;
private:
inline const_reverse_iterator(const PIDeque<T> * v, size_t p): parent(v), pos(p) {}
inline const_reverse_iterator(const PIDeque<T> * v, ssize_t p): parent(v), pos(p) {}
const PIDeque<T> * parent;
size_t pos;
ssize_t pos;
public:
typedef T value_type;
typedef T* pointer;

View File

@@ -222,9 +222,9 @@ public:
class iterator {
friend class PIVector<T>;
private:
inline iterator(PIVector<T> * v, size_t p): parent(v), pos(p) {}
inline iterator(PIVector<T> * v, ssize_t p): parent(v), pos(p) {}
PIVector<T> * parent;
size_t pos;
ssize_t pos;
public:
typedef T value_type;
typedef T* pointer;
@@ -262,14 +262,15 @@ public:
friend inline bool operator <=(const iterator & it1, const iterator & it2) {return it1.pos <= it2.pos;}
friend inline bool operator >(const iterator & it1, const iterator & it2) {return it1.pos > it2.pos;}
friend inline bool operator >=(const iterator & it1, const iterator & it2) {return it1.pos >= it2.pos;}
void dump() {piCout << parent << pos;}
};
class const_iterator {
friend class PIVector<T>;
private:
inline const_iterator(const PIVector<T> * v, size_t p): parent(v), pos(p) {}
inline const_iterator(const PIVector<T> * v, ssize_t p): parent(v), pos(p) {}
const PIVector<T> * parent;
size_t pos;
ssize_t pos;
public:
typedef T value_type;
typedef T* pointer;
@@ -310,9 +311,9 @@ public:
class reverse_iterator {
friend class PIVector<T>;
private:
inline reverse_iterator(PIVector<T> * v, size_t p): parent(v), pos(p) {}
inline reverse_iterator(PIVector<T> * v, ssize_t p): parent(v), pos(p) {}
PIVector<T> * parent;
size_t pos;
ssize_t pos;
public:
typedef T value_type;
typedef T* pointer;
@@ -355,9 +356,9 @@ public:
class const_reverse_iterator {
friend class PIVector<T>;
private:
inline const_reverse_iterator(const PIVector<T> * v, size_t p): parent(v), pos(p) {}
inline const_reverse_iterator(const PIVector<T> * v, ssize_t p): parent(v), pos(p) {}
const PIVector<T> * parent;
size_t pos;
ssize_t pos;
public:
typedef T value_type;
typedef T* pointer;