CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

edm::reftobase::RefVectorHolderBase::const_iterator Struct Reference

#include <RefVectorHolderBase.h>

List of all members.

Public Types

typedef std::ptrdiff_t difference_type
typedef boost::shared_ptr
< RefHolderBase
value_type

Public Member Functions

 const_iterator ()
 const_iterator (const_iterator_imp *it)
 const_iterator (const const_iterator &it)
bool isInvalid () const
bool isValid () const
bool operator!= (const const_iterator &ci) const
value_type operator* () const
const_iterator operator+ (difference_type n) const
const_iteratoroperator++ ()
const_iterator operator++ (int)
const_iteratoroperator+= (difference_type d)
difference_type operator- (const const_iterator &o) const
const_iterator operator- (difference_type n) const
const_iteratoroperator-- ()
const_iterator operator-- (int)
const_iteratoroperator-= (difference_type d)
bool operator< (const const_iterator &o) const
const_iteratoroperator= (const const_iterator &it)
bool operator== (const const_iterator &ci) const
 ~const_iterator ()

Private Attributes

const_iterator_impi

Detailed Description

Definition at line 44 of file RefVectorHolderBase.h.


Member Typedef Documentation

Definition at line 46 of file RefVectorHolderBase.h.

Definition at line 45 of file RefVectorHolderBase.h.


Constructor & Destructor Documentation

edm::reftobase::RefVectorHolderBase::const_iterator::const_iterator ( ) [inline]

Definition at line 47 of file RefVectorHolderBase.h.

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

: i( 0 ) { }
edm::reftobase::RefVectorHolderBase::const_iterator::const_iterator ( const_iterator_imp it) [inline]

Definition at line 48 of file RefVectorHolderBase.h.

: i( it ) { }
edm::reftobase::RefVectorHolderBase::const_iterator::const_iterator ( const const_iterator it) [inline]

Definition at line 49 of file RefVectorHolderBase.h.

: i( it.isValid() ? it.i->clone() : 0 ) { }
edm::reftobase::RefVectorHolderBase::const_iterator::~const_iterator ( ) [inline]

Definition at line 50 of file RefVectorHolderBase.h.

References i.

{ delete i; }

Member Function Documentation

bool edm::reftobase::RefVectorHolderBase::const_iterator::isInvalid ( ) const [inline]

Definition at line 147 of file RefVectorHolderBase.h.

References i.

Referenced by operator!=(), operator*(), operator+(), operator++(), operator+=(), operator-(), operator--(), operator-=(), operator<(), operator=(), and operator==().

{ return i == 0; }
bool edm::reftobase::RefVectorHolderBase::const_iterator::isValid ( void  ) const [inline]

Definition at line 146 of file RefVectorHolderBase.h.

References i.

{ return i != 0; }
bool edm::reftobase::RefVectorHolderBase::const_iterator::operator!= ( const const_iterator ci) const [inline]

Definition at line 121 of file RefVectorHolderBase.h.

References edm::reftobase::RefVectorHolderBase::const_iterator_imp::equal_to(), i, and isInvalid().

                                                          {
          if ( isInvalid() && ci.isInvalid() ) return false;
          if ( isInvalid() || ci.isInvalid() ) return true;
          return ! i->equal_to( ci.i );
        }
value_type edm::reftobase::RefVectorHolderBase::const_iterator::operator* ( ) const [inline]

Definition at line 126 of file RefVectorHolderBase.h.

References edm::reftobase::RefVectorHolderBase::const_iterator_imp::deref(), i, edm::errors::InvalidReference, isInvalid(), and edm::Exception::throwThis().

                                       {
          if ( isInvalid() )
            Exception::throwThis(errors::InvalidReference,
              "Trying to dereference an inavlid RefToBaseVector<T>::const_iterator\n");
          return i->deref();
        }
const_iterator edm::reftobase::RefVectorHolderBase::const_iterator::operator+ ( difference_type  n) const [inline]

Definition at line 93 of file RefVectorHolderBase.h.

References edm::reftobase::RefVectorHolderBase::const_iterator_imp::clone(), const_iterator(), i, edm::reftobase::RefVectorHolderBase::const_iterator_imp::increase(), edm::errors::InvalidReference, isInvalid(), and edm::Exception::throwThis().

                                                            {
          if ( isInvalid() )
            Exception::throwThis(errors::InvalidReference,
              "Trying to compute sum with an inavlid RefToBaseVector<T>::const_iterator\n");
          const_iterator_imp * ii = i->clone();
          ii->increase( n );
          return const_iterator( ii );
        }
const_iterator& edm::reftobase::RefVectorHolderBase::const_iterator::operator++ ( ) [inline]

Definition at line 56 of file RefVectorHolderBase.h.

References i, edm::reftobase::RefVectorHolderBase::const_iterator_imp::increase(), edm::errors::InvalidReference, isInvalid(), and edm::Exception::throwThis().

                                     {
          if ( isInvalid() )
            Exception::throwThis(errors::InvalidReference,
              "Trying to increment an inavlid RefToBaseVector<T>::const_iterator\n");
          i->increase();
          return *this;
        }
const_iterator edm::reftobase::RefVectorHolderBase::const_iterator::operator++ ( int  ) [inline]

Definition at line 63 of file RefVectorHolderBase.h.

References i, edm::reftobase::RefVectorHolderBase::const_iterator_imp::increase(), edm::errors::InvalidReference, isInvalid(), and edm::Exception::throwThis().

                                         {
          if ( isInvalid() )
            Exception::throwThis(errors::InvalidReference,
              "Trying to postincrement an inavlid RefToBaseVector<T>::const_iterator\n");
          const_iterator ci = *this;
          i->increase();
          return ci;
        }
const_iterator& edm::reftobase::RefVectorHolderBase::const_iterator::operator+= ( difference_type  d) [inline]

Definition at line 139 of file RefVectorHolderBase.h.

References i, edm::reftobase::RefVectorHolderBase::const_iterator_imp::increase(), edm::errors::InvalidReference, isInvalid(), and edm::Exception::throwThis().

                                                          {
          if ( isInvalid() )
            Exception::throwThis(errors::InvalidReference,
              "Trying to increment an inavlid RefToBaseVector<T>::const_iterator\n");
          i->increase( d );
          return *this;
        }
const_iterator edm::reftobase::RefVectorHolderBase::const_iterator::operator- ( difference_type  n) const [inline]

Definition at line 101 of file RefVectorHolderBase.h.

References edm::reftobase::RefVectorHolderBase::const_iterator_imp::clone(), const_iterator(), edm::reftobase::RefVectorHolderBase::const_iterator_imp::decrease(), i, edm::errors::InvalidReference, isInvalid(), and edm::Exception::throwThis().

                                                            {
          if ( isInvalid() )
            Exception::throwThis(errors::InvalidReference,
              "Trying to compute difference with an inavlid RefToBaseVector<T>::const_iterator\n");
          const_iterator_imp * ii = i->clone();
          ii->decrease( n );
          return const_iterator( ii );
        }
difference_type edm::reftobase::RefVectorHolderBase::const_iterator::operator- ( const const_iterator o) const [inline]

Definition at line 86 of file RefVectorHolderBase.h.

References edm::reftobase::RefVectorHolderBase::const_iterator_imp::difference(), i, edm::errors::InvalidReference, isInvalid(), and edm::Exception::throwThis().

                                                                    {
          if ( isInvalid() && o.isInvalid() ) return 0;
          if ( isInvalid() || o.isInvalid() )
            Exception::throwThis(errors::InvalidReference,
              "Trying to compute difference with an inavlid RefToBaseVector<T>::const_iterator\n");
          return i->difference( o.i );
        }
const_iterator& edm::reftobase::RefVectorHolderBase::const_iterator::operator-- ( ) [inline]

Definition at line 71 of file RefVectorHolderBase.h.

References edm::reftobase::RefVectorHolderBase::const_iterator_imp::decrease(), i, edm::errors::InvalidReference, isInvalid(), and edm::Exception::throwThis().

                                     {
          if ( isInvalid() )
            Exception::throwThis(errors::InvalidReference,
              "Trying to decrement an inavlid RefToBaseVector<T>::const_iterator\n");
          i->decrease();
          return *this;
        }
const_iterator edm::reftobase::RefVectorHolderBase::const_iterator::operator-- ( int  ) [inline]

Definition at line 78 of file RefVectorHolderBase.h.

References edm::reftobase::RefVectorHolderBase::const_iterator_imp::decrease(), i, edm::errors::InvalidReference, isInvalid(), and edm::Exception::throwThis().

                                         {
          if ( isInvalid() )
            Exception::throwThis(errors::InvalidReference,
              "Trying to postdecrement an inavlid RefToBaseVector<T>::const_iterator\n");
          const_iterator ci = *this;
          i->decrease();
          return ci;
        }
const_iterator& edm::reftobase::RefVectorHolderBase::const_iterator::operator-= ( difference_type  d) [inline]

Definition at line 132 of file RefVectorHolderBase.h.

References edm::reftobase::RefVectorHolderBase::const_iterator_imp::decrease(), i, edm::errors::InvalidReference, isInvalid(), and edm::Exception::throwThis().

                                                          {
          if ( isInvalid() )
            Exception::throwThis(errors::InvalidReference,
              "Trying to decrement an inavlid RefToBaseVector<T>::const_iterator\n");
          i->decrease( d );
          return *this;
        }
bool edm::reftobase::RefVectorHolderBase::const_iterator::operator< ( const const_iterator o) const [inline]

Definition at line 109 of file RefVectorHolderBase.h.

References i, edm::errors::InvalidReference, isInvalid(), edm::reftobase::RefVectorHolderBase::const_iterator_imp::less_than(), and edm::Exception::throwThis().

                                                         {
          if ( isInvalid() && o.isInvalid() ) return false;
          if ( isInvalid() || o.isInvalid() )
            Exception::throwThis(errors::InvalidReference,
              "Trying to compute < operator with an inavlid RefToBaseVector<T>::const_iterator\n");
          return i->less_than( o.i );
        }
const_iterator& edm::reftobase::RefVectorHolderBase::const_iterator::operator= ( const const_iterator it) [inline]

Definition at line 51 of file RefVectorHolderBase.h.

References edm::reftobase::RefVectorHolderBase::const_iterator_imp::assign(), i, and isInvalid().

                                                                {
          if ( isInvalid() ) i = it.i;
          else i->assign( it.i );
          return *this;
        }
bool edm::reftobase::RefVectorHolderBase::const_iterator::operator== ( const const_iterator ci) const [inline]

Definition at line 116 of file RefVectorHolderBase.h.

References edm::reftobase::RefVectorHolderBase::const_iterator_imp::equal_to(), i, and isInvalid().

                                                          {
          if ( isInvalid() && ci.isInvalid() ) return true;
          if ( isInvalid() || ci.isInvalid() ) return false;
          return i->equal_to( ci.i );
        }

Member Data Documentation