1 #ifndef DataFormats_Common_IndirectVectorHolder_h
2 #define DataFormats_Common_IndirectVectorHolder_h
14 class IndirectVectorHolder :
public BaseVectorHolder<T> {
35 virtual
void clear() GCC11_OVERRIDE;
38 return std::auto_ptr<reftobase::RefVectorHolderBase>(
helper_->
clone() );
42 const holder_type *
h =
dynamic_cast<const holder_type *
>(
r );
45 "In IndirectHolder<T> trying to push_back wrong reference type");
71 bool equal_to(
const const_iterator_imp *
o )
const {
return i == dc( o ); }
72 bool less_than(
const const_iterator_imp *
o )
const {
return i < dc( o ); }
73 void assign(
const const_iterator_imp *
o ) {
i = dc( o ); }
77 difference_type
difference(
const const_iterator_imp *
o )
const {
return i - dc( o ); }
82 "In IndirectVectorHolder trying to dereference a null pointer");
87 "In IndirectVectorHolder trying to cast iterator to wrong type ");
102 template <
typename T>
105 template <
typename T>
109 template <
typename T>
113 template <
typename T>
117 template <
typename T>
122 template <
typename T>
128 template <
typename T>
136 template <
typename T>
142 template <
typename T>
148 template <
typename T>
151 return helper_->
id();
154 template <
typename T>
156 return helper_->productGetter();
159 template <
typename T>
161 return helper_->empty();
164 template <
typename T>
166 return helper_->size();
169 template <
typename T>
171 return helper_->clear();
174 template <
typename T>
180 template <
typename T>
~const_iterator_imp_specific()
virtual size_type size() const
virtual std::auto_ptr< reftobase::RefVectorHolderBase > vectorHolder() const
base_type::element_type element_type
void increase(difference_type d)
virtual bool empty() const
BaseVectorHolder< T > base_type
const_iterator begin() const
virtual RefVectorHolderBase * clone() const =0
virtual ~IndirectVectorHolder()
virtual void push_back(const BaseHolder< T > *r)
base_type::const_iterator const_iterator
difference_type difference(const const_iterator_imp *o) const
void assign(const const_iterator_imp *o)
virtual BaseVectorHolder< T > * clone() const
const_iterator_imp_specific * clone() const
RefVectorHolderBase * helper_
#define CMS_CLASS_VERSION(_version_)
base_ref_type deref() const
base_type::size_type size_type
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
IndirectVectorHolder & operator=(IndirectVectorHolder const &rhs)
virtual ProductID id() const
base_type::base_ref_type base_ref_type
virtual BaseVectorHolder< T > * cloneEmpty() const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
base_type::const_iterator_imp const_iterator_imp
const_iterator_imp_specific(const typename RefVectorHolderBase::const_iterator &it)
ptrdiff_t difference_type
const_iterator end() const
bool less_than(const const_iterator_imp *o) const
const RefVectorHolderBase::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 swap(IndirectVectorHolder &other)
const_iterator_imp_specific()
virtual const_iterator begin() const =0
virtual bool isAvailable() const
tuple idx
DEBUGGING if hasattr(process,"trackMonIterativeTracking2012"): print "trackMonIterativeTracking2012 D...
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
virtual base_ref_type const at(size_type idx) const
virtual const_iterator end() const =0
virtual void push_back(RefHolderBase const *r)=0
virtual bool isAvailable() const =0
RefVectorHolderBase::const_iterator i
void swap(BaseVectorHolder &)
bool equal_to(const const_iterator_imp *o) const
virtual EDProductGetter const * productGetter() const
void swap(BaseHolder< T > &lhs, BaseHolder< T > &rhs)
void decrease(difference_type d)