cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Types | Private Attributes
ProxyIterator< P, C > Class Template Reference

#include <proxy_iterator.h>

Collaboration diagram for ProxyIterator< P, C >:
Collaboration graph
[legend]

Public Types

typedef P value_type
 
typedef int difference_type
 
typedef random_access_iterator_tag iterator_category
 
typedef const value_typereference
 
typedef const value_typepointer
 

Public Member Functions

 ProxyIterator (typename P::list_type *list, int index)
 
 ProxyIterator (const ProxyIterator &other)
 
 ProxyIterator (void)
 
ProxyIteratoroperator= (ProxyIterator other)
 
 operator const_iterator_type () const
 
void swap (ProxyIterator other)
 
bool associated () const
 
bool equals (const ProxyIterator &other) const
 
reference operator* () const
 
pointer operator-> () const
 
ProxyIteratoroperator++ ()
 
ProxyIterator operator++ (int)
 
ProxyIteratoroperator-- ()
 
ProxyIterator operator-- (int)
 
const ProxyIterator add (difference_type i) const
 
difference_type diff (const ProxyIterator &other) const
 
int cmp (const ProxyIterator &other) const
 
ProxyIteratoroperator+= (difference_type i)
 
ProxyIteratoroperator-= (difference_type i)
 
const value_type operator[] (difference_type i) const
 

Private Types

typedef EnableIf< Not< IsSame
< P, C > >, ProxyIterator< C,
C > > 
const_iterator_type_1
 
typedef const_iterator_type_1::type const_iterator_type
 

Private Attributes

proxy
 

Detailed Description

template<class P, class C>
class ProxyIterator< P, C >

Definition at line 58 of file proxy_iterator.h.

Member Typedef Documentation

template<class P, class C>
typedef const_iterator_type_1::type ProxyIterator< P, C >::const_iterator_type
private

Definition at line 63 of file proxy_iterator.h.

template<class P, class C>
typedef EnableIf<Not<IsSame<P,C> >, ProxyIterator<C,C> > ProxyIterator< P, C >::const_iterator_type_1
private

Definition at line 62 of file proxy_iterator.h.

template<class P, class C>
typedef int ProxyIterator< P, C >::difference_type

Definition at line 66 of file proxy_iterator.h.

template<class P, class C>
typedef random_access_iterator_tag ProxyIterator< P, C >::iterator_category

Definition at line 67 of file proxy_iterator.h.

template<class P, class C>
typedef const value_type* ProxyIterator< P, C >::pointer

Definition at line 69 of file proxy_iterator.h.

template<class P, class C>
typedef const value_type& ProxyIterator< P, C >::reference

Definition at line 68 of file proxy_iterator.h.

template<class P, class C>
typedef P ProxyIterator< P, C >::value_type

Definition at line 65 of file proxy_iterator.h.

Constructor & Destructor Documentation

template<class P, class C>
ProxyIterator< P, C >::ProxyIterator ( typename P::list_type *  list,
int  index 
)
inlineexplicit

Definition at line 71 of file proxy_iterator.h.

template<class P, class C>
ProxyIterator< P, C >::ProxyIterator ( const ProxyIterator< P, C > &  other)
inline

Definition at line 73 of file proxy_iterator.h.

template<class P, class C>
ProxyIterator< P, C >::ProxyIterator ( void  )
inlineexplicit

Definition at line 75 of file proxy_iterator.h.

Referenced by ProxyIterator< P, C >::add().

Member Function Documentation

template<class P, class C>
const ProxyIterator ProxyIterator< P, C >::add ( difference_type  i) const
inline

Definition at line 138 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy, and ProxyIterator< P, C >::ProxyIterator().

Referenced by operator+(), and operator-().

Here is the call graph for this function:

template<class P, class C>
bool ProxyIterator< P, C >::associated ( ) const
inline

Definition at line 92 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

template<class P, class C>
int ProxyIterator< P, C >::cmp ( const ProxyIterator< P, C > &  other) const
inline

Definition at line 148 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

Referenced by operator<(), operator<=(), operator>(), and operator>=().

template<class P, class C>
difference_type ProxyIterator< P, C >::diff ( const ProxyIterator< P, C > &  other) const
inline

Definition at line 143 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

Referenced by operator-().

template<class P, class C>
bool ProxyIterator< P, C >::equals ( const ProxyIterator< P, C > &  other) const
inline

Definition at line 97 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

template<class P, class C>
ProxyIterator< P, C >::operator const_iterator_type ( ) const
inline

Definition at line 81 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

template<class P, class C>
reference ProxyIterator< P, C >::operator* ( ) const
inline

Definition at line 103 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

template<class P, class C>
ProxyIterator& ProxyIterator< P, C >::operator++ ( void  )
inline

Definition at line 114 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

template<class P, class C>
ProxyIterator ProxyIterator< P, C >::operator++ ( int  )
inline

Definition at line 119 of file proxy_iterator.h.

template<class P, class C>
ProxyIterator& ProxyIterator< P, C >::operator+= ( difference_type  i)
inline

Definition at line 158 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

template<class P, class C>
ProxyIterator& ProxyIterator< P, C >::operator-- ( )
inline

Definition at line 125 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

template<class P, class C>
ProxyIterator ProxyIterator< P, C >::operator-- ( int  )
inline

Definition at line 130 of file proxy_iterator.h.

template<class P, class C>
ProxyIterator& ProxyIterator< P, C >::operator-= ( difference_type  i)
inline

Definition at line 163 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

template<class P, class C>
pointer ProxyIterator< P, C >::operator-> ( ) const
inline

Definition at line 107 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

template<class P, class C>
ProxyIterator& ProxyIterator< P, C >::operator= ( ProxyIterator< P, C >  other)
inline

Definition at line 76 of file proxy_iterator.h.

References ProxyIterator< P, C >::swap().

Here is the call graph for this function:

template<class P, class C>
const value_type ProxyIterator< P, C >::operator[] ( difference_type  i) const
inline

Definition at line 169 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy.

template<class P, class C>
void ProxyIterator< P, C >::swap ( ProxyIterator< P, C >  other)
inline

Definition at line 86 of file proxy_iterator.h.

References ProxyIterator< P, C >::proxy, and swap().

Referenced by ProxyIterator< P, C >::operator=().

Here is the call graph for this function:

Field Documentation

template<class P, class C>
P ProxyIterator< P, C >::proxy
private

The documentation for this class was generated from the following file: