4 #ifndef PROXY_ITERATOR_H_
5 #define PROXY_ITERATOR_H_
21 template<
bool,
class T>
37 template <
class Cond,
class T>
41 template <
class T,
class U>
44 static const bool value =
false;
54 static const bool value = ! T::value;
57 template<
class P,
class C>
175 template<
class P1,
class P2,
class C>
181 template<
class P1,
class P2,
class C>
188 template<
class P,
class C>
194 template<
class P,
class C>
200 template<
class P,
class C>
207 template<
class P,
class C>
213 template<
class P,
class C>
217 return a.
cmp(b) >= 0;
219 template<
class P,
class C>
220 inline bool operator<(const ProxyIterator<P,C> &a,
225 template<
class P,
class C>
226 inline bool operator<=(const ProxyIterator<P,C> &a,
229 return a.
cmp(b) <= 0;
232 template<
class P,
class C>
ProxyIterator & operator+=(difference_type i)
Definition: proxy_iterator.h:158
reference operator*() const
Definition: proxy_iterator.h:103
ProxyIterator & operator=(ProxyIterator other)
Definition: proxy_iterator.h:76
Definition: proxy_iterator.h:22
Definition: proxy_iterator.h:42
static const bool value
Definition: proxy_iterator.h:54
const value_type operator[](difference_type i) const
Definition: proxy_iterator.h:169
P proxy
Definition: proxy_iterator.h:60
bool associated() const
Definition: proxy_iterator.h:92
const ProxyIterator< P, C > operator-(const ProxyIterator< P, C > &a, typename ProxyIterator< P, C >::difference_type i)
Definition: proxy_iterator.h:201
random_access_iterator_tag iterator_category
Definition: proxy_iterator.h:67
const ProxyIterator< P, C > operator+(typename ProxyIterator< P, C >::difference_type i, const ProxyIterator< P, C > &a)
Definition: proxy_iterator.h:189
bool operator!=(const ProxyIterator< P1, C > &a, const ProxyIterator< P2, C > &b)
Definition: proxy_iterator.h:182
ProxyIterator operator--(int)
Definition: proxy_iterator.h:130
ProxyIterator(typename P::list_type *list, int index)
Definition: proxy_iterator.h:71
const value_type & reference
Definition: proxy_iterator.h:68
int difference_type
Definition: proxy_iterator.h:66
P value_type
Definition: proxy_iterator.h:65
Definition: proxy_iterator.h:58
ProxyIterator(void)
Definition: proxy_iterator.h:75
void swap(ProxyIterator other)
Definition: proxy_iterator.h:86
T type
Definition: proxy_iterator.h:25
ProxyIterator & operator-=(difference_type i)
Definition: proxy_iterator.h:163
static const bool value
Definition: proxy_iterator.h:44
difference_type diff(const ProxyIterator &other) const
Definition: proxy_iterator.h:143
#define NULL
Definition: cddefines.h:115
ProxyIterator & operator++()
Definition: proxy_iterator.h:114
const_iterator_type_1::type const_iterator_type
Definition: proxy_iterator.h:63
int cmp(const ProxyIterator &other) const
Definition: proxy_iterator.h:148
ProxyIterator operator++(int)
Definition: proxy_iterator.h:119
const value_type * pointer
Definition: proxy_iterator.h:69
ProxyIterator(const ProxyIterator &other)
Definition: proxy_iterator.h:73
const ProxyIterator add(difference_type i) const
Definition: proxy_iterator.h:138
Definition: proxy_iterator.h:52
EnableIf< Not< IsSame< P, C > >, ProxyIterator< C, C > > const_iterator_type_1
Definition: proxy_iterator.h:62
bool operator==(const ProxyIterator< P1, C > &a, const ProxyIterator< P2, C > &b)
Definition: proxy_iterator.h:176
Invalid type
Definition: proxy_iterator.h:35
ProxyIterator & operator--()
Definition: proxy_iterator.h:125
Definition: proxy_iterator.h:38
bool operator>(const ProxyIterator< P, C > &a, const ProxyIterator< P, C > &b)
Definition: proxy_iterator.h:208
bool equals(const ProxyIterator &other) const
Definition: proxy_iterator.h:97
pointer operator->() const
Definition: proxy_iterator.h:107
bool operator>=(const ProxyIterator< P, C > &a, const ProxyIterator< P, C > &b)
Definition: proxy_iterator.h:214