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>
94 return proxy.m_list != NULL;
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)
reference operator*() const
ProxyIterator & operator=(ProxyIterator other)
const value_type operator[](difference_type i) const
const ProxyIterator< P, C > operator-(const ProxyIterator< P, C > &a, typename ProxyIterator< P, C >::difference_type i)
random_access_iterator_tag iterator_category
bool operator!=(const count_ptr< T > &a, const count_ptr< T > &b)
ProxyIterator operator--(int)
ProxyIterator(typename P::list_type *list, int index)
const value_type & reference
void swap(count_ptr< T > &a, count_ptr< T > &b)
void swap(ProxyIterator other)
const pntr< T, lgBC > operator+(const ptrdiff_t n, const pntr< T, lgBC > &t)
ProxyIterator & operator-=(difference_type i)
difference_type diff(const ProxyIterator &other) const
ProxyIterator & operator++()
const_iterator_type_1::type const_iterator_type
int cmp(const ProxyIterator &other) const
bool operator>=(const count_ptr< T > &a, const count_ptr< T > &b)
ProxyIterator operator++(int)
const value_type * pointer
ProxyIterator(const ProxyIterator &other)
const ProxyIterator add(difference_type i) const
bool operator==(const count_ptr< T > &a, const count_ptr< T > &b)
EnableIf< Not< IsSame< P, C > >, ProxyIterator< C, C > > const_iterator_type_1
bool operator>(const count_ptr< T > &a, const count_ptr< T > &b)
ProxyIterator & operator--()
bool equals(const ProxyIterator &other) const
pointer operator->() const