Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ProxyIterator< P, C > Class Template Reference

#include <proxy_iterator.h>

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
 

Member Typedef Documentation

template<class P, class C>
typedef const_iterator_type_1::type ProxyIterator< P, C >::const_iterator_type
private
template<class P, class C>
typedef EnableIf<Not<IsSame<P,C> >, ProxyIterator<C,C> > ProxyIterator< P, C >::const_iterator_type_1
private
template<class P, class C>
typedef int ProxyIterator< P, C >::difference_type
template<class P, class C>
typedef random_access_iterator_tag ProxyIterator< P, C >::iterator_category
template<class P, class C>
typedef const value_type* ProxyIterator< P, C >::pointer
template<class P, class C>
typedef const value_type& ProxyIterator< P, C >::reference
template<class P, class C>
typedef P ProxyIterator< P, C >::value_type

Constructor & Destructor Documentation

template<class P, class C>
ProxyIterator< P, C >::ProxyIterator ( typename P::list_type *  list,
int  index 
)
inlineexplicit
template<class P, class C>
ProxyIterator< P, C >::ProxyIterator ( const ProxyIterator< P, C > &  other)
inline
template<class P, class C>
ProxyIterator< P, C >::ProxyIterator ( void  )
inlineexplicit

Member Function Documentation

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

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
template<class P, class C>
int ProxyIterator< P, C >::cmp ( const ProxyIterator< P, C > &  other) const
inline
template<class P, class C>
difference_type ProxyIterator< P, C >::diff ( const ProxyIterator< P, C > &  other) const
inline

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
template<class P, class C>
ProxyIterator< P, C >::operator const_iterator_type ( ) const
inline
template<class P, class C>
reference ProxyIterator< P, C >::operator* ( ) const
inline
template<class P, class C>
ProxyIterator& ProxyIterator< P, C >::operator++ ( void  )
inline
template<class P, class C>
ProxyIterator ProxyIterator< P, C >::operator++ ( int  )
inline
template<class P, class C>
ProxyIterator& ProxyIterator< P, C >::operator+= ( difference_type  i)
inline
template<class P, class C>
ProxyIterator& ProxyIterator< P, C >::operator-- ( )
inline
template<class P, class C>
ProxyIterator ProxyIterator< P, C >::operator-- ( int  )
inline
template<class P, class C>
ProxyIterator& ProxyIterator< P, C >::operator-= ( difference_type  i)
inline
template<class P, class C>
pointer ProxyIterator< P, C >::operator-> ( ) const
inline
template<class P, class C>
ProxyIterator& ProxyIterator< P, C >::operator= ( ProxyIterator< P, C >  other)
inline

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
template<class P, class C>
void ProxyIterator< P, C >::swap ( ProxyIterator< P, C >  other)
inline

Member Data Documentation


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