1 #ifndef canvas_Persistency_Common_PtrVectorBase_h 2 #define canvas_Persistency_Common_PtrVectorBase_h 17 class PtrVectorBaseStreamer;
32 bool isNonnull()
const;
34 bool isAvailable()
const;
46 void updateCore(
RefCore const& core);
50 void reserve(size_type
n);
51 void fillPtrs()
const;
58 virtual void fill_offsets(indices_t&
indices) = 0;
59 virtual void fill_from_offsets(indices_t
const&
indices)
const = 0;
60 virtual void zeroTransients() = 0;
62 friend class art::detail::PtrVectorBaseStreamer;
68 return core_.isNonnull();
80 return core_.isAvailable();
92 return core_.productGetter();
98 core_.setProductGetter(g);
112 indicies_.reserve(n);
118 core_.swap(other.
core_);
121 template <
typename T>
131 return core_ == other.
core_;
void swap(PtrVectorBase &)
EDProductGetter const * productGetter() const
Ptr< T >::key_type key(Ptr< T > const &ptr) const
bool operator==(PtrVectorBase const &) const
void swap(Handle< T > &a, Handle< T > &b)
constexpr std::array< std::size_t, geo::vect::dimension< Vector >)> indices()
Returns a sequence of indices valid for a vector of the specified type.
void reserve(size_type n)
std::vector< key_type > indices_t
bool operator==(Provenance const &a, Provenance const &b)
indices_t::size_type size_type
void setProductGetter(EDProductGetter *g) const