CMS 3D CMS Logo

Public Types | Public Member Functions | Private Member Functions | Private Attributes

edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific Struct Reference

#include <IndirectVectorHolder.h>

Inheritance diagram for edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific:
edm::reftobase::BaseVectorHolder< T >::const_iterator_imp

List of all members.

Public Types

typedef ptrdiff_t difference_type

Public Member Functions

void assign (const const_iterator_imp *o)
const_iterator_imp_specificclone () const
 const_iterator_imp_specific (const typename RefVectorHolderBase::const_iterator &it)
 const_iterator_imp_specific ()
void decrease (difference_type d)
void decrease ()
base_ref_type deref () const
difference_type difference (const const_iterator_imp *o) const
bool equal_to (const const_iterator_imp *o) const
void increase ()
void increase (difference_type d)
bool less_than (const const_iterator_imp *o) const
 ~const_iterator_imp_specific ()

Private Member Functions

const
RefVectorHolderBase::const_iterator
dc (const const_iterator_imp *o) const

Private Attributes

RefVectorHolderBase::const_iterator i

Detailed Description

template<typename T>
struct edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific

Definition at line 63 of file IndirectVectorHolder.h.


Member Typedef Documentation


Constructor & Destructor Documentation

template<typename T>
edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::const_iterator_imp_specific ( ) [inline]

Definition at line 65 of file IndirectVectorHolder.h.

{ }
template<typename T>
edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::const_iterator_imp_specific ( const typename RefVectorHolderBase::const_iterator it) [inline, explicit]

Definition at line 66 of file IndirectVectorHolder.h.

: i ( it ) { }
template<typename T>
edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::~const_iterator_imp_specific ( ) [inline]

Definition at line 67 of file IndirectVectorHolder.h.

{ }

Member Function Documentation

template<typename T>
void edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::assign ( const const_iterator_imp o) [inline, virtual]

Implements edm::reftobase::BaseVectorHolder< T >::const_iterator_imp.

Definition at line 75 of file IndirectVectorHolder.h.

References i.

{ i = dc( o ); }
template<typename T>
const_iterator_imp_specific* edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::clone ( void  ) const [inline, virtual]

Implements edm::reftobase::BaseVectorHolder< T >::const_iterator_imp.

Definition at line 68 of file IndirectVectorHolder.h.

References i.

{ return new const_iterator_imp_specific( i ); }
template<typename T>
const RefVectorHolderBase::const_iterator& edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::dc ( const const_iterator_imp o) const [inline, private]

Definition at line 81 of file IndirectVectorHolder.h.

References edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::i, edm::errors::InvalidReference, connectstrParser::o, and edm::Exception::throwThis().

                                                                                                    {
          if ( o == 0 ) {
            Exception::throwThis( edm::errors::InvalidReference,
              "In IndirectVectorHolder trying to dereference a null pointer");
          }
          const const_iterator_imp_specific * oo = dynamic_cast<const const_iterator_imp_specific *>( o );
          if ( oo == 0 ) {
            Exception::throwThis( errors::InvalidReference,
              "In IndirectVectorHolder trying to cast iterator to wrong type ");
          }
          return oo->i;
        }
template<typename T>
void edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::decrease ( difference_type  d) [inline, virtual]

Implements edm::reftobase::BaseVectorHolder< T >::const_iterator_imp.

Definition at line 72 of file IndirectVectorHolder.h.

References i.

{ i -= d; }
template<typename T>
void edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::decrease ( ) [inline, virtual]

Implements edm::reftobase::BaseVectorHolder< T >::const_iterator_imp.

Definition at line 70 of file IndirectVectorHolder.h.

References i.

{ --i; }
template<typename T>
base_ref_type edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::deref ( ) const [inline, virtual]

Implements edm::reftobase::BaseVectorHolder< T >::const_iterator_imp.

Definition at line 76 of file IndirectVectorHolder.h.

References i.

                                    {
          return base_ref_type( * i );
        }
template<typename T>
difference_type edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::difference ( const const_iterator_imp o) const [inline, virtual]

Implements edm::reftobase::BaseVectorHolder< T >::const_iterator_imp.

Definition at line 79 of file IndirectVectorHolder.h.

References i.

{ return i - dc( o ); }
template<typename T>
bool edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::equal_to ( const const_iterator_imp o) const [inline, virtual]

Implements edm::reftobase::BaseVectorHolder< T >::const_iterator_imp.

Definition at line 73 of file IndirectVectorHolder.h.

References i.

{ return i == dc( o ); }
template<typename T>
void edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::increase ( ) [inline, virtual]

Implements edm::reftobase::BaseVectorHolder< T >::const_iterator_imp.

Definition at line 69 of file IndirectVectorHolder.h.

References i.

{ ++i; }
template<typename T>
void edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::increase ( difference_type  d) [inline, virtual]

Implements edm::reftobase::BaseVectorHolder< T >::const_iterator_imp.

Definition at line 71 of file IndirectVectorHolder.h.

References i.

{ i += d; }
template<typename T>
bool edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::less_than ( const const_iterator_imp o) const [inline, virtual]

Implements edm::reftobase::BaseVectorHolder< T >::const_iterator_imp.

Definition at line 74 of file IndirectVectorHolder.h.

References i.

{ return i < dc( o ); }

Member Data Documentation