CMS 3D CMS Logo

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

#include <RefVectorHolder.h>

Inheritance diagram for edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific:
edm::reftobase::RefVectorHolderBase::const_iterator_imp

Public Types

typedef ptrdiff_t difference_type
 
- Public Types inherited from edm::reftobase::RefVectorHolderBase::const_iterator_imp
typedef ptrdiff_t difference_type
 

Public Member Functions

void assign (const_iterator_imp const *o) override
 
const_iterator_imp_specificclone () const override
 
 const_iterator_imp_specific ()
 
 const_iterator_imp_specific (typename REFV::const_iterator const &it)
 
void decrease () override
 
void decrease (difference_type d) override
 
std::shared_ptr< RefHolderBasederef () const override
 
difference_type difference (const_iterator_imp const *o) const override
 
bool equal_to (const_iterator_imp const *o) const override
 
void increase () override
 
void increase (difference_type d) override
 
bool less_than (const_iterator_imp const *o) const override
 
 ~const_iterator_imp_specific () override
 
- Public Member Functions inherited from edm::reftobase::RefVectorHolderBase::const_iterator_imp
 const_iterator_imp ()
 
virtual ~const_iterator_imp ()
 

Private Member Functions

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

Private Attributes

REFV::const_iterator i
 

Detailed Description

template<typename REFV>
struct edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific

Definition at line 45 of file RefVectorHolder.h.

Member Typedef Documentation

template<typename REFV>
typedef ptrdiff_t edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::difference_type

Definition at line 46 of file RefVectorHolder.h.

Constructor & Destructor Documentation

template<typename REFV>
edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::const_iterator_imp_specific ( )
inline

Definition at line 47 of file RefVectorHolder.h.

47 { }
template<typename REFV>
edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::const_iterator_imp_specific ( typename REFV::const_iterator const &  it)
inlineexplicit

Definition at line 48 of file RefVectorHolder.h.

template<typename REFV>
edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::~const_iterator_imp_specific ( )
inlineoverride

Definition at line 49 of file RefVectorHolder.h.

49 { }

Member Function Documentation

template<typename REFV>
void edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::assign ( const_iterator_imp const *  o)
inlineoverridevirtual

Implements edm::reftobase::RefVectorHolderBase::const_iterator_imp.

Definition at line 57 of file RefVectorHolder.h.

References mps_fire::i.

57 { i = dc(o); }
REFV::const_iterator const & dc(const_iterator_imp const *o) const
template<typename REFV>
const_iterator_imp_specific* edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::clone ( void  ) const
inlineoverridevirtual
template<typename REFV>
REFV::const_iterator const& edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::dc ( const_iterator_imp const *  o) const
inlineprivate

Definition at line 61 of file RefVectorHolder.h.

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

61  {
62  if (o == nullptr) {
64  "In RefVectorHolder trying to dereference a null pointer\n");
65  }
66  const_iterator_imp_specific const* oo = dynamic_cast<const_iterator_imp_specific const*>(o);
67  if (oo == nullptr) {
69  "In RefVectorHolder trying to cast iterator to wrong type\n");
70  }
71  return oo->i;
72  }
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<typename REFV>
void edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::decrease ( )
inlineoverridevirtual
template<typename REFV>
void edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::decrease ( difference_type  d)
inlineoverridevirtual
template<typename REFV >
std::shared_ptr< RefHolderBase > edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::deref ( ) const
overridevirtual

Implements edm::reftobase::RefVectorHolderBase::const_iterator_imp.

Definition at line 211 of file RefVectorHolder.h.

211  {
212  return std::shared_ptr<RefHolderBase>(std::make_shared<RefHolder<typename REFV::value_type> >(*i));
213  }
template<typename REFV>
difference_type edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::difference ( const_iterator_imp const *  o) const
inlineoverridevirtual

Implements edm::reftobase::RefVectorHolderBase::const_iterator_imp.

Definition at line 59 of file RefVectorHolder.h.

References mps_fire::i.

59 { return i - dc(o); }
REFV::const_iterator const & dc(const_iterator_imp const *o) const
template<typename REFV>
bool edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::equal_to ( const_iterator_imp const *  o) const
inlineoverridevirtual

Implements edm::reftobase::RefVectorHolderBase::const_iterator_imp.

Definition at line 55 of file RefVectorHolder.h.

References mps_fire::i.

55 { return i == dc(o); }
REFV::const_iterator const & dc(const_iterator_imp const *o) const
template<typename REFV>
void edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::increase ( )
inlineoverridevirtual
template<typename REFV>
void edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::increase ( difference_type  d)
inlineoverridevirtual
template<typename REFV>
bool edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::less_than ( const_iterator_imp const *  o) const
inlineoverridevirtual

Implements edm::reftobase::RefVectorHolderBase::const_iterator_imp.

Definition at line 56 of file RefVectorHolder.h.

References mps_fire::i.

56 { return i < dc(o); }
REFV::const_iterator const & dc(const_iterator_imp const *o) const

Member Data Documentation

template<typename REFV>
REFV::const_iterator edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::i
private