CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific Struct Reference

#include <VectorHolder.h>

Inheritance diagram for edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific:
edm::reftobase::BaseVectorHolder< T >::const_iterator_imp

Public Types

typedef ptrdiff_t difference_type
 
- Public Types inherited from edm::reftobase::BaseVectorHolder< T >::const_iterator_imp
typedef ptrdiff_t difference_type
 

Public Member Functions

void assign (const const_iterator_imp *o) override
 
const_iterator_imp_specificclone () const override
 
 const_iterator_imp_specific ()
 
 const_iterator_imp_specific (const typename REFV::const_iterator &it)
 
void decrease () override
 
void decrease (difference_type d) override
 
base_ref_type deref () const override
 
difference_type difference (const const_iterator_imp *o) const override
 
bool equal_to (const const_iterator_imp *o) const override
 
void increase () override
 
void increase (difference_type d) override
 
bool less_than (const const_iterator_imp *o) const override
 
 ~const_iterator_imp_specific () override
 
- Public Member Functions inherited from edm::reftobase::BaseVectorHolder< T >::const_iterator_imp
virtual void assign (const_iterator_imp const *)=0
 
 const_iterator_imp ()
 
virtual difference_type difference (const_iterator_imp const *) const =0
 
virtual bool equal_to (const_iterator_imp const *) const =0
 
virtual bool less_than (const_iterator_imp const *) const =0
 
virtual ~const_iterator_imp ()
 

Private Member Functions

const ref_vector_type::const_iterator & dc (const const_iterator_imp *o) const
 

Private Attributes

ref_vector_type::const_iterator i
 

Detailed Description

template<class T, class REFV>
struct edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific

Definition at line 93 of file VectorHolder.h.

Member Typedef Documentation

template<class T , class REFV >
typedef ptrdiff_t edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::difference_type

Definition at line 94 of file VectorHolder.h.

Constructor & Destructor Documentation

template<class T , class REFV >
edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::const_iterator_imp_specific ( )
inline

Definition at line 95 of file VectorHolder.h.

95 { }
template<class T , class REFV >
edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::const_iterator_imp_specific ( const typename REFV::const_iterator &  it)
inlineexplicit

Definition at line 96 of file VectorHolder.h.

96 : i ( it ) { }
template<class T , class REFV >
edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::~const_iterator_imp_specific ( )
inlineoverride

Definition at line 97 of file VectorHolder.h.

97 { }

Member Function Documentation

template<class T , class REFV >
void edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::assign ( const const_iterator_imp o)
inlineoverride

Definition at line 105 of file VectorHolder.h.

References mps_fire::i.

105 { i = dc( o ); }
const ref_vector_type::const_iterator & dc(const const_iterator_imp *o) const
Definition: VectorHolder.h:109
template<class T , class REFV >
const_iterator_imp_specific* edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::clone ( void  ) const
inlineoverridevirtual
template<class T , class REFV >
const ref_vector_type::const_iterator& edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::dc ( const const_iterator_imp o) const
inlineprivate

Definition at line 109 of file VectorHolder.h.

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

109  {
110  if ( o == nullptr )
112  "In RefToBaseVector<T> trying to dereference a null pointer");
113  const const_iterator_imp_specific * oo = dynamic_cast<const const_iterator_imp_specific *>( o );
114  if ( oo == nullptr )
116  "In RefToBaseVector<T> trying to cast iterator to wrong type ");
117  return oo->i;
118  }
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
Definition: EDMException.cc:83
template<class T , class REFV >
void edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::decrease ( )
inlineoverridevirtual

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

Definition at line 100 of file VectorHolder.h.

References mps_fire::i.

100 { --i; }
template<class T , class REFV >
void edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::decrease ( difference_type  d)
inlineoverridevirtual
template<class T , class REFV >
base_ref_type edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::deref ( ) const
inlineoverridevirtual

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

Definition at line 106 of file VectorHolder.h.

References mps_fire::i.

106 { return base_ref_type( * i ); }
base_type::base_ref_type base_ref_type
Definition: VectorHolder.h:20
template<class T , class REFV >
difference_type edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::difference ( const const_iterator_imp o) const
inlineoverride

Definition at line 107 of file VectorHolder.h.

References mps_fire::i.

107 { return i - dc( o ); }
const ref_vector_type::const_iterator & dc(const const_iterator_imp *o) const
Definition: VectorHolder.h:109
template<class T , class REFV >
bool edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::equal_to ( const const_iterator_imp o) const
inlineoverride

Definition at line 103 of file VectorHolder.h.

References mps_fire::i.

103 { return i == dc( o ); }
const ref_vector_type::const_iterator & dc(const const_iterator_imp *o) const
Definition: VectorHolder.h:109
template<class T , class REFV >
void edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::increase ( )
inlineoverridevirtual

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

Definition at line 99 of file VectorHolder.h.

References mps_fire::i.

99 { ++i; }
template<class T , class REFV >
void edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::increase ( difference_type  d)
inlineoverridevirtual
template<class T , class REFV >
bool edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::less_than ( const const_iterator_imp o) const
inlineoverride

Definition at line 104 of file VectorHolder.h.

References mps_fire::i.

104 { return i < dc( o ); }
const ref_vector_type::const_iterator & dc(const const_iterator_imp *o) const
Definition: VectorHolder.h:109

Member Data Documentation

template<class T , class REFV >
ref_vector_type::const_iterator edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::i
private