1 #ifndef DataFormats_Common_RefVectorBase_h
2 #define DataFormats_Common_RefVectorBase_h
19 template <
typename KEY>
88 template<
typename KEY>
91 return lhs.refCore() == rhs.refCore() && lhs.items() == rhs.items();
95 template<
typename KEY>
102 template<
typename KEY>
void pushBackItem(RefCore const &productToBeInserted, bool checkPointer)
std::vector< RefItem< KEY > > RefItems
RefVectorBase & operator=(RefVectorBase const &rhs)
Copy assignment.
bool empty() const
Is vector empty?
bool operator!=(debugging_allocator< X > const &, debugging_allocator< Y > const &)
void swap(Association< C > &lhs, Association< C > &rhs)
RefVectorBase()
Default constructor needed for reading from persistent store. Not for direct use. ...
void swap(RefVectorBase< KEY > &other)
swap two vectors
size_type capacity() const
Capacity of vector.
RefCore const & refCore() const
Accessor for product ID and product getter.
RefItems const & items() const
Accessor for vector of keys and pointers.
bool operator==(debugging_allocator< X > const &, debugging_allocator< Y > const &)
void clear()
clear the vector
~RefVectorBase()
Destructor.
RefVectorBase(ProductID const &productID, void const *prodPtr=0, EDProductGetter const *prodGetter=0)
void pushBack(RefCore const &product, RefItem< KEY > const &item_)
size_type size() const
Size of vector.
RefItems::iterator eraseAtIndex(size_type index)
erase an element from the vector
void reserve(size_type n)
Reserve space for vector.
RefItems::size_type size_type