1 #ifndef DataFormats_Common_PtrVectorBase_h
2 #define DataFormats_Common_PtrVectorBase_h
102 std::vector<void const*>::const_iterator
void_begin()
const {
107 std::vector<void const*>::const_iterator
void_end()
const {
113 template<
typename TPtr>
116 return TPtr(reinterpret_cast<typename TPtr::value_type const*>(
cachedItems_[iIndex]),
120 return TPtr(this->
id(),
121 reinterpret_cast<typename TPtr::value_type const*>(
cachedItems_[iIndex]),
127 template<
typename TPtr>
128 TPtr
makePtr(std::vector<void const*>::const_iterator
const iIt)
const {
130 return TPtr(reinterpret_cast<typename TPtr::value_type const*>(*iIt),
134 return TPtr(this->
id(),
135 reinterpret_cast<typename TPtr::value_type const*>(*iIt),
146 return *
reinterpret_cast<const std::type_info*
>(0);
void push_back_base(RefCore const &core, key_type iKey, void const *iData)
size_type size() const
Size of the RefVector.
std::vector< void const * >::const_iterator void_begin() const
PtrVectorBase(ProductID const &productID, void const *prodPtr=0, EDProductGetter const *prodGetter=0)
bool isNull() const
Checks for null.
TPtr makePtr(unsigned long iIndex) const
bool empty() const
Is the RefVector empty.
void swap(PtrVectorBase &other)
swap
virtual std::type_info const & typeInfo() const
ProductID id() const
Accessor for product ID.
bool operator!() const
Checks for null.
bool isNonnull() const
Checks for non-null.
std::vector< key_type > indicies_
bool operator==(PtrVectorBase const &iRHS) const
std::vector< void const * > cachedItems_
void setProductGetter(EDProductGetter *iGetter) const
size_type capacity() const
Capacity of the RefVector.
std::vector< void const * >::const_iterator void_end() const
TPtr makePtr(std::vector< void const * >::const_iterator const iIt) const
EDProductGetter const * productGetter() const
void reserve(size_type n)
Reserve space for RefVector.
void clear()
Clear the PtrVector.
void checkCachedItems() const
void setProductGetter(EDProductGetter const *prodGetter) const
volatile std::atomic< bool > shutdown_flag false
EDProductGetter const * productGetter() const
Accessor for product getter.
void const * product() const