4#ifndef PROXY_ITERATOR_H_
5#define PROXY_ITERATOR_H_
21template<
bool,
class T>
37template <
class Cond,
class T>
41template <
class T,
class U>
44 static const bool value =
false;
54 static const bool value = ! T::value;
57template<
class P,
class C>
94 return proxy.m_list != NULL;
175template<
class P1,
class P2,
class C>
181template<
class P1,
class P2,
class C>
188template<
class P,
class C>
194template<
class P,
class C>
200template<
class P,
class C>
207template<
class P,
class C>
213template<
class P,
class C>
217 return a.
cmp(b) >= 0;
219template<
class P,
class C>
225template<
class P,
class C>
229 return a.
cmp(b) <= 0;
232template<
class P,
class C>
ProxyIterator & operator+=(difference_type i)
pointer operator->() const
EnableIf< Not< IsSame< EmissionProxy, EmissionConstProxy > >, ProxyIterator< EmissionConstProxy, EmissionConstProxy > > const_iterator_type_1
ProxyIterator(typename P::list_type *list, int index)
const value_type * pointer
ProxyIterator & operator=(ProxyIterator other)
random_access_iterator_tag iterator_category
int cmp(const ProxyIterator &other) const
ProxyIterator & operator-=(difference_type i)
bool equals(const ProxyIterator &other) const
ProxyIterator operator++(int)
void swap(ProxyIterator other)
ProxyIterator(const ProxyIterator &other)
const value_type operator[](difference_type i) const
const ProxyIterator add(difference_type i) const
const value_type & reference
reference operator*() const
ProxyIterator & operator++()
const_iterator_type_1::type const_iterator_type
difference_type diff(const ProxyIterator &other) const
ProxyIterator operator--(int)
ProxyIterator & operator--()
bool operator<=(const ProxyIterator< P, C > &a, const ProxyIterator< P, C > &b)
const ProxyIterator< P, C > operator+(typename ProxyIterator< P, C >::difference_type i, const ProxyIterator< P, C > &a)
const ProxyIterator< P, C > operator-(const ProxyIterator< P, C > &a, typename ProxyIterator< P, C >::difference_type i)
bool operator<(const ProxyIterator< P, C > &a, const ProxyIterator< P, C > &b)
bool operator==(const ProxyIterator< P1, C > &a, const ProxyIterator< P2, C > &b)
bool operator>(const ProxyIterator< P, C > &a, const ProxyIterator< P, C > &b)
bool operator>=(const ProxyIterator< P, C > &a, const ProxyIterator< P, C > &b)
bool operator!=(const ProxyIterator< P1, C > &a, const ProxyIterator< P2, C > &b)