CPN
Computational Process Networks
Public Types | Public Member Functions | Private Attributes | List of all members
IteratorRef< T >::ItrRefImpl< iterator_type > Class Template Reference
+ Inheritance diagram for IteratorRef< T >::ItrRefImpl< iterator_type >:
+ Collaboration diagram for IteratorRef< T >::ItrRefImpl< iterator_type >:

Public Types

typedef std::iterator_traits
< iterator_type >::value_type 
value_type
 

Public Member Functions

 ItrRefImpl (iterator_type itr_)
 
void Increment ()
 
void Decrement ()
 
value_typeDereference ()
 
ItrRefClone () const
 
bool Equals (const ItrRef *rhs) const
 

Private Attributes

iterator_type itr
 

Detailed Description

template<typename T>
template<typename iterator_type>
class IteratorRef< T >::ItrRefImpl< iterator_type >

Definition at line 61 of file IteratorRef.h.

Member Typedef Documentation

template<typename T>
template<typename iterator_type>
typedef std::iterator_traits<iterator_type>::value_type IteratorRef< T >::ItrRefImpl< iterator_type >::value_type

Definition at line 63 of file IteratorRef.h.

Constructor & Destructor Documentation

template<typename T>
template<typename iterator_type>
IteratorRef< T >::ItrRefImpl< iterator_type >::ItrRefImpl ( iterator_type  itr_)
inline

Definition at line 64 of file IteratorRef.h.

64 : itr(itr_) {}

Member Function Documentation

template<typename T>
template<typename iterator_type>
ItrRef* IteratorRef< T >::ItrRefImpl< iterator_type >::Clone ( ) const
inlinevirtual

Implements IteratorRef< T >::ItrRef.

Definition at line 68 of file IteratorRef.h.

References IteratorRef< T >::ItrRefImpl< iterator_type >::itr.

68 { return new ItrRefImpl<iterator_type>(itr); }
template<typename T>
template<typename iterator_type>
void IteratorRef< T >::ItrRefImpl< iterator_type >::Decrement ( )
inlinevirtual

Implements IteratorRef< T >::ItrRef.

Definition at line 66 of file IteratorRef.h.

References IteratorRef< T >::ItrRefImpl< iterator_type >::itr.

66 { --itr; }
template<typename T>
template<typename iterator_type>
value_type& IteratorRef< T >::ItrRefImpl< iterator_type >::Dereference ( )
inlinevirtual

Implements IteratorRef< T >::ItrRef.

Definition at line 67 of file IteratorRef.h.

References IteratorRef< T >::ItrRefImpl< iterator_type >::itr.

67 { return *itr; }
template<typename T>
template<typename iterator_type>
bool IteratorRef< T >::ItrRefImpl< iterator_type >::Equals ( const ItrRef rhs) const
inlinevirtual

Implements IteratorRef< T >::ItrRef.

Definition at line 69 of file IteratorRef.h.

References IteratorRef< T >::ItrRefImpl< iterator_type >::itr.

69  {
70  try {
71  const ItrRefImpl<iterator_type> *o = dynamic_cast<const ItrRefImpl<iterator_type> *>(rhs);
72  if (o) {
73  return itr == o->itr;
74  }
75  } catch (const std::bad_cast&) {}
76  return false;
77  }
template<typename T>
template<typename iterator_type>
void IteratorRef< T >::ItrRefImpl< iterator_type >::Increment ( )
inlinevirtual

Implements IteratorRef< T >::ItrRef.

Definition at line 65 of file IteratorRef.h.

References IteratorRef< T >::ItrRefImpl< iterator_type >::itr.

65 { ++itr; }

Member Data Documentation

template<typename T>
template<typename iterator_type>
iterator_type IteratorRef< T >::ItrRefImpl< iterator_type >::itr
private

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