1 #ifndef DataFormats_Common_VectorHolder_h 2 #define DataFormats_Common_VectorHolder_h 11 class RefVectorHolderBase;
13 template <
class T,
class REFV>
14 class VectorHolder :
public BaseVectorHolder<T> {
25 #if defined(__GXX_EXPERIMENTAL_CXX0X__) 51 #if defined(__GXX_EXPERIMENTAL_CXX0X__) 53 base_type::operator=(std::forward(rhs));
65 const holder_type*
h =
dynamic_cast<const holder_type*
>(r);
68 "In VectorHolder<T, REFV> trying to push_back wrong reference type");
71 std::unique_ptr<RefVectorHolderBase>
vectorHolder()
const override {
110 "In RefToBaseVector<T> trying to dereference a null pointer");
114 "In RefToBaseVector<T> trying to cast iterator to wrong type ");
117 typename ref_vector_type::const_iterator
i;
122 template <
typename T,
typename REFV>
base_type::element_type element_type
base_ref_type const at(size_type idx) const override
base_type * cloneEmpty() const override
bool less_than(const const_iterator_imp *o) const override
void push_back(const BaseHolder< T > *r) override
const ref_vector_type::const_iterator & dc(const const_iterator_imp *o) const
VectorHolder(VectorHolder const &rh)
BaseVectorHolder< T > base_type
base_type::const_iterator const_iterator
#define CMS_CLASS_VERSION(_version_)
ptrdiff_t difference_type
std::unique_ptr< RefVectorHolderBase > vectorHolder() const override
void assign(const const_iterator_imp *o) override
const_iterator begin() const override
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
difference_type difference(const const_iterator_imp *o) const override
base_type::base_ref_type base_ref_type
VectorHolder(const ref_vector_type &iRefVector)
bool empty() const override
const_iterator_imp_specific()
ProductID id() const override
void decrease(difference_type d) override
size_type size() const override
ref_vector_type::const_iterator i
base_type * clone() const override
VectorHolder & operator=(VectorHolder const &rhs)
EDProductGetter const * productGetter() const override
bool isAvailable() const override
bool equal_to(const const_iterator_imp *o) const override
base_type::size_type size_type
base_ref_type deref() const override
void swap(VectorHolder &other) noexcept
void increase(difference_type d) override
VectorHolder(const ProductID &iId)
ref_vector_type refVector_
~VectorHolder() noexcept override
void swap(BaseVectorHolder &)
ptrdiff_t difference_type
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
const_iterator end() const override
const_iterator_imp_specific(const typename REFV::const_iterator &it)
const_iterator_imp_specific * clone() const override
void swap(BaseHolder< T > &lhs, BaseHolder< T > &rhs)
~const_iterator_imp_specific() override