CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
edm::reftobase::BaseVectorHolder< T >::const_iterator Struct Reference

#include <BaseVectorHolder.h>

Inheritance diagram for edm::reftobase::BaseVectorHolder< T >::const_iterator:

Public Types

typedef std::ptrdiff_t difference_type
 
typedef std::auto_ptr< value_typepointer
 
typedef base_ref_type value_type
 

Public Member Functions

 const_iterator ()
 
 const_iterator (const_iterator_imp *it)
 
 const_iterator (const_iterator const &it)
 
bool isInvalid () const
 
bool isValid () const
 
bool operator!= (const_iterator const &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_iterator const &o) const
 
const_iterator operator- (difference_type n) const
 
const_iteratoroperator-- ()
 
const_iterator operator-- (int)
 
const_iteratoroperator-= (difference_type d)
 
pointer operator-> () const
 
bool operator< (const_iterator const &o) const
 
const_iteratoroperator= (const_iterator const &it)
 
bool operator== (const_iterator const &ci) const
 
void throwInvalidReference (bool iIsInvalid, char const *iWhy) const
 
 ~const_iterator ()
 

Private Attributes

const_iterator_impi
 

Detailed Description

template<typename T>
struct edm::reftobase::BaseVectorHolder< T >::const_iterator

Definition at line 52 of file BaseVectorHolder.h.

Member Typedef Documentation

template<typename T>
typedef std::ptrdiff_t edm::reftobase::BaseVectorHolder< T >::const_iterator::difference_type

Definition at line 55 of file BaseVectorHolder.h.

template<typename T>
typedef std::auto_ptr<value_type> edm::reftobase::BaseVectorHolder< T >::const_iterator::pointer

Definition at line 54 of file BaseVectorHolder.h.

Definition at line 53 of file BaseVectorHolder.h.

Constructor & Destructor Documentation

template<typename T>
edm::reftobase::BaseVectorHolder< T >::const_iterator::const_iterator ( )
inline
template<typename T>
edm::reftobase::BaseVectorHolder< T >::const_iterator::const_iterator ( const_iterator_imp it)
inline

Definition at line 58 of file BaseVectorHolder.h.

58 : i(it) { }
template<typename T>
edm::reftobase::BaseVectorHolder< T >::const_iterator::const_iterator ( const_iterator const &  it)
inline

Definition at line 59 of file BaseVectorHolder.h.

59 : i(it.isValid() ? it.i->clone() : 0) { }
template<typename T>
edm::reftobase::BaseVectorHolder< T >::const_iterator::~const_iterator ( )
inline

Member Function Documentation

template<typename T>
bool edm::reftobase::BaseVectorHolder< T >::const_iterator::isInvalid ( ) const
inline
template<typename T>
bool edm::reftobase::BaseVectorHolder< T >::const_iterator::isValid ( void  ) const
inline

Definition at line 140 of file BaseVectorHolder.h.

References edm::reftobase::BaseVectorHolder< T >::const_iterator::i.

140 { return i != 0; }
template<typename T>
bool edm::reftobase::BaseVectorHolder< T >::const_iterator::operator!= ( const_iterator const &  ci) const
inline

Definition at line 118 of file BaseVectorHolder.h.

References edm::reftobase::BaseVectorHolder< T >::const_iterator_imp::equal_to(), edm::reftobase::BaseVectorHolder< T >::const_iterator::i, and edm::reftobase::BaseVectorHolder< T >::const_iterator::isInvalid().

118  {
119  if (isInvalid() && ci.isInvalid()) return false;
120  if (isInvalid() || ci.isInvalid()) return true;
121  return ! i->equal_to(ci.i);
122  }
virtual bool equal_to(const_iterator_imp const *) const =0
template<typename T>
value_type edm::reftobase::BaseVectorHolder< T >::const_iterator::operator* ( ) const
inline
template<typename T>
const_iterator edm::reftobase::BaseVectorHolder< T >::const_iterator::operator+ ( difference_type  n) const
inline
template<typename T>
const_iterator& edm::reftobase::BaseVectorHolder< T >::const_iterator::operator++ ( )
inline
template<typename T>
const_iterator edm::reftobase::BaseVectorHolder< T >::const_iterator::operator++ ( int  )
inline
template<typename T>
const_iterator& edm::reftobase::BaseVectorHolder< T >::const_iterator::operator+= ( difference_type  d)
inline
template<typename T>
difference_type edm::reftobase::BaseVectorHolder< T >::const_iterator::operator- ( const_iterator const &  o) const
inline
template<typename T>
const_iterator edm::reftobase::BaseVectorHolder< T >::const_iterator::operator- ( difference_type  n) const
inline
template<typename T>
const_iterator& edm::reftobase::BaseVectorHolder< T >::const_iterator::operator-- ( )
inline
template<typename T>
const_iterator edm::reftobase::BaseVectorHolder< T >::const_iterator::operator-- ( int  )
inline
template<typename T>
const_iterator& edm::reftobase::BaseVectorHolder< T >::const_iterator::operator-= ( difference_type  d)
inline
template<typename T>
pointer edm::reftobase::BaseVectorHolder< T >::const_iterator::operator-> ( ) const
inline

Definition at line 127 of file BaseVectorHolder.h.

127  {
128  return pointer(new value_type(operator*()));
129  }
template<typename T>
bool edm::reftobase::BaseVectorHolder< T >::const_iterator::operator< ( const_iterator const &  o) const
inline
template<typename T>
const_iterator& edm::reftobase::BaseVectorHolder< T >::const_iterator::operator= ( const_iterator const &  it)
inline

Definition at line 61 of file BaseVectorHolder.h.

References edm::reftobase::BaseVectorHolder< T >::const_iterator_imp::assign(), edm::reftobase::BaseVectorHolder< T >::const_iterator::i, and edm::reftobase::BaseVectorHolder< T >::const_iterator::isInvalid().

61  {
62  if(this == &it) {
63  return *this;
64  }
65  if (isInvalid()) i = it.i;
66  else i->assign(it.i);
67  return *this;
68  }
virtual void assign(const_iterator_imp const *)=0
template<typename T>
bool edm::reftobase::BaseVectorHolder< T >::const_iterator::operator== ( const_iterator const &  ci) const
inline

Definition at line 113 of file BaseVectorHolder.h.

References edm::reftobase::BaseVectorHolder< T >::const_iterator_imp::equal_to(), edm::reftobase::BaseVectorHolder< T >::const_iterator::i, and edm::reftobase::BaseVectorHolder< T >::const_iterator::isInvalid().

113  {
114  if (isInvalid() && ci.isInvalid()) return true;
115  if (isInvalid() || ci.isInvalid()) return false;
116  return i->equal_to(ci.i);
117  }
virtual bool equal_to(const_iterator_imp const *) const =0
template<typename T>
void edm::reftobase::BaseVectorHolder< T >::const_iterator::throwInvalidReference ( bool  iIsInvalid,
char const *  iWhy 
) const
inline

Member Data Documentation

template<typename T>
const_iterator_imp* edm::reftobase::BaseVectorHolder< T >::const_iterator::i
private