27 template <
class I,
class T>
33 inline bool operator()()
const {
return !((I *)
this)->ended(); }
34 inline bool operator!()
const {
return ((I *)
this)->ended(); }
36 inline T
operator*()
const {
return ((I *)
this)->item(); }
37 inline T
operator->()
const {
return ((I *)
this)->item(); }
39 inline I&
operator++() { ((I *)
this)->next();
return *(I *)
this; }
42 inline bool operator==(
const I& i)
const {
return ((I *)
this)->equals(i); }
43 inline bool operator!=(
const I& i)
const {
return !((I *)
this)->equals(i); }
48 template <
class I,
class T>
54 inline bool operator()()
const {
return !((I *)
this)->ended(); }
55 inline bool operator!()
const {
return ((I *)
this)->ended(); }
57 inline const T&
operator*()
const {
return ((I *)
this)->item(); }
58 inline const T&
operator->()
const {
return ((I *)
this)->item(); }
60 inline I&
operator++() { ((I *)
this)->next();
return *(I *)
this; }
63 inline bool operator==(
const I& i)
const {
return ((I *)
this)->equals(i); }
64 inline bool operator!=(
const I& i)
const {
return !((I *)
this)->equals(i); }
68 template <
class I,
class T>
72 inline bool operator()()
const {
return !((I *)
this)->ended(); }
73 inline bool operator!()
const {
return ((I *)
this)->ended(); }
75 inline I&
operator++() { ((I *)
this)->next();
return *(I *)
this; }
78 inline bool operator==(
const I& i)
const {
return ((I *)
this)->equals(i); }
79 inline bool operator!=(
const I& i)
const {
return !((I *)
this)->equals(i); }
83 template <
class I,
class T>
87 inline const T&
operator*()
const {
return ((I *)
this)->item(); }
88 inline T
operator->()
const {
return ((I *)
this)->item(); }
91 template <
class I,
class T>
95 inline T&
operator*()
const {
return ((I *)
this)->item(); }
96 inline T
operator->()
const {
return ((I *)
this)->item(); }
const T & return_t
Definition: iter.h:86
const T & operator*() const
Definition: iter.h:87
T operator->() const
Definition: iter.h:88
void operator++(int)
Definition: iter.h:61
const T & return_t
Definition: iter.h:52
const T & operator*() const
Definition: iter.h:57
I & operator++()
Definition: iter.h:60
bool operator!() const
Definition: iter.h:55
const T & operator->() const
Definition: iter.h:58
bool operator==(const I &i) const
Definition: iter.h:63
bool operator()() const
Definition: iter.h:54
bool operator!=(const I &i) const
Definition: iter.h:64
T & operator*() const
Definition: iter.h:95
T & return_t
Definition: iter.h:94
T operator->() const
Definition: iter.h:96
void operator++(int)
Definition: iter.h:76
I & operator++()
Definition: iter.h:75
bool operator!() const
Definition: iter.h:73
bool operator==(const I &i) const
Definition: iter.h:78
bool operator()() const
Definition: iter.h:72
bool operator!=(const I &i) const
Definition: iter.h:79
void operator++(int)
Definition: iter.h:40
T operator*() const
Definition: iter.h:36
bool operator!() const
Definition: iter.h:34
T return_t
Definition: iter.h:31
bool operator==(const I &i) const
Definition: iter.h:42
I & operator++()
Definition: iter.h:39
bool operator()() const
Definition: iter.h:33
bool operator!=(const I &i) const
Definition: iter.h:43
T operator->() const
Definition: iter.h:37