1 #ifndef DataFormats_Common_VectorHolder_h
2 #define DataFormats_Common_VectorHolder_h
12 class RefVectorHolderBase;
14 template <
class T,
class REFV>
15 class VectorHolder :
public BaseVectorHolder<T> {
26 #if defined(__GXX_EXPERIMENTAL_CXX0X__)
52 #if defined(__GXX_EXPERIMENTAL_CXX0X__)
54 base_type::operator=(std::forward(rhs));
68 const holder_type *
h =
dynamic_cast<const holder_type *
>(
r );
71 "In VectorHolder<T, REFV> trying to push_back wrong reference type");
103 bool equal_to(
const const_iterator_imp *
o )
const {
return i == dc( o ); }
104 bool less_than(
const const_iterator_imp *
o )
const {
return i < dc( o ); }
105 void assign(
const const_iterator_imp *
o ) {
i = dc( o ); }
107 difference_type
difference(
const const_iterator_imp *
o )
const {
return i - dc( o ); }
109 const typename ref_vector_type::const_iterator &
dc(
const const_iterator_imp *
o )
const {
112 "In RefToBaseVector<T> trying to dereference a null pointer");
116 "In RefToBaseVector<T> trying to cast iterator to wrong type ");
119 typename ref_vector_type::const_iterator
i;
124 template <
typename T,
typename REFV>
ref_vector_type::const_iterator i
base_type::const_iterator const_iterator
const_iterator end() const
VectorHolder & operator=(VectorHolder const &rhs)
const_iterator_imp_specific * clone() const
#define CMS_CLASS_VERSION(_version_)
VectorHolder(const ProductID &iId)
void assign(const const_iterator_imp *o)
VectorHolder(const ref_vector_type &iRefVector)
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
virtual base_type * cloneEmpty() const
base_type::base_ref_type base_ref_type
virtual base_type * clone() const
virtual bool isAvailable() const
const_iterator_imp_specific()
ptrdiff_t difference_type
BaseVectorHolder< T > base_type
const ref_vector_type::const_iterator & dc(const const_iterator_imp *o) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
void decrease(difference_type d)
virtual void push_back(const BaseHolder< T > *r)
base_type::size_type size_type
ref_vector_type refVector_
base_ref_type const at(size_type idx) const
void increase(difference_type d)
tuple idx
DEBUGGING if hasattr(process,"trackMonIterativeTracking2012"): print "trackMonIterativeTracking2012 D...
difference_type difference(const const_iterator_imp *o) const
bool equal_to(const const_iterator_imp *o) const
base_type::element_type element_type
base_type::const_iterator_imp const_iterator_imp
VectorHolder(VectorHolder const &rh)
EDProductGetter const * productGetter() const
const_iterator_imp_specific(const typename REFV::const_iterator &it)
virtual std::auto_ptr< RefVectorHolderBase > vectorHolder() const
void swap(BaseVectorHolder &)
base_ref_type deref() const
~const_iterator_imp_specific()
const_iterator begin() const
void swap(BaseHolder< T > &lhs, BaseHolder< T > &rhs)
void swap(VectorHolder &other)
bool less_than(const const_iterator_imp *o) const