Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
art::PtrVectorBase Class Referenceabstract

#include "/cvmfs/nova.opensciencegrid.org/externals/canvas/v3_06_01/source/canvas/Persistency/Common/PtrVectorBase.h"

Inheritance diagram for art::PtrVectorBase:
art::PtrVector< T > art::PtrVector< rb::CellHit > art::PtrVector< rb::rb::CellHit >

Public Types

typedef unsigned long key_type
 
typedef std::vector< key_typeindices_t
 
typedef indices_t::size_type size_type
 

Public Member Functions

virtual ~PtrVectorBase ()=default
 
bool isNonnull () const
 
bool isNull () const
 
bool isAvailable () const
 
ProductID id () const
 
EDProductGetter const * productGetter () const
 
void setProductGetter (EDProductGetter *g) const
 
template<typename T >
art::Ptr< T >::key_type key (Ptr< T > const &ptr) const
 

Protected Member Functions

 PtrVectorBase ()=default
 
void clear ()
 
void swap (PtrVectorBase &)
 
void updateCore (RefCore const &core)
 
bool operator== (PtrVectorBase const &) const
 

Private Member Functions

void reserve (size_type n)
 
void fillPtrs () const
 
template<typename T >
Ptr< T >::key_type key (Ptr< T > const &ptr) const
 
virtual void fill_offsets (indices_t &indices)=0
 
virtual void fill_from_offsets (indices_t const &indices) const =0
 
virtual void zeroTransients ()=0
 

Private Attributes

RefCore core_
 
indices_t indicies_
 

Friends

class art::detail::PtrVectorBaseStreamer
 

Detailed Description

Definition at line 21 of file PtrVectorBase.h.

Member Typedef Documentation

Definition at line 24 of file PtrVectorBase.h.

typedef unsigned long art::PtrVectorBase::key_type

Definition at line 23 of file PtrVectorBase.h.

typedef indices_t::size_type art::PtrVectorBase::size_type

Definition at line 27 of file PtrVectorBase.h.

Constructor & Destructor Documentation

virtual art::PtrVectorBase::~PtrVectorBase ( )
virtualdefault
art::PtrVectorBase::PtrVectorBase ( )
protecteddefault

Member Function Documentation

void art::PtrVectorBase::clear ( )
inlineprotected

Definition at line 102 of file PtrVectorBase.h.

References tmp.

Referenced by art::PtrVector< T >::assign(), and art::PtrVector< T >::clear().

103 {
104  core_ = RefCore();
105  indices_t tmp;
106  indicies_.swap(tmp); // Free up memory
107 }
Float_t tmp
Definition: plot.C:36
std::vector< key_type > indices_t
Definition: PtrVectorBase.h:24
virtual void art::PtrVectorBase::fill_from_offsets ( indices_t const &  indices) const
privatepure virtual
virtual void art::PtrVectorBase::fill_offsets ( indices_t indices)
privatepure virtual
void art::PtrVectorBase::fillPtrs ( ) const
private
art::ProductID art::PtrVectorBase::id ( ) const
inline

Definition at line 84 of file PtrVectorBase.h.

85 {
86  return core_.id();
87 }
ProductID id() const
Definition: RefCore.h:93
bool art::PtrVectorBase::isAvailable ( ) const
inline

Definition at line 78 of file PtrVectorBase.h.

79 {
80  return core_.isAvailable();
81 }
bool isAvailable() const
bool art::PtrVectorBase::isNonnull ( ) const
inline

Definition at line 66 of file PtrVectorBase.h.

67 {
68  return core_.isNonnull();
69 }
bool isNonnull() const
Definition: RefCore.h:76
bool art::PtrVectorBase::isNull ( ) const
inline

Definition at line 72 of file PtrVectorBase.h.

73 {
74  return !isNonnull();
75 }
bool isNonnull() const
Definition: PtrVectorBase.h:66
template<typename T >
Ptr<T>::key_type art::PtrVectorBase::key ( Ptr< T > const &  ptr) const
private
template<typename T >
art::Ptr<T>::key_type art::PtrVectorBase::key ( Ptr< T > const &  ptr) const
inline

Definition at line 123 of file PtrVectorBase.h.

References art::Ptr< T >::key().

124 {
125  return ptr.key();
126 }
bool art::PtrVectorBase::operator== ( PtrVectorBase const &  other) const
inlineprotected

Definition at line 129 of file PtrVectorBase.h.

References core_.

Referenced by art::PtrVector< T >::operator==().

130 {
131  return core_ == other.core_;
132 }
art::EDProductGetter const * art::PtrVectorBase::productGetter ( ) const
inline

Definition at line 90 of file PtrVectorBase.h.

Referenced by art::PtrVector< T >::fill_from_offsets().

91 {
92  return core_.productGetter();
93 }
EDProductGetter const * productGetter() const
Definition: RefCore.h:105
void art::PtrVectorBase::reserve ( size_type  n)
inlineprivate

Definition at line 110 of file PtrVectorBase.h.

111 {
112  indicies_.reserve(n);
113 }
void art::PtrVectorBase::setProductGetter ( EDProductGetter g) const
inline

Definition at line 96 of file PtrVectorBase.h.

97 {
99 }
void setProductGetter(EDProductGetter const *prodGetter) const
Definition: RefCore.h:117
void art::PtrVectorBase::swap ( PtrVectorBase other)
inlineprotected

Definition at line 116 of file PtrVectorBase.h.

References core_.

Referenced by art::PtrVector< T >::swap().

117 {
118  core_.swap(other.core_);
119 }
void swap(RefCore &other)
Definition: RefCore.h:123
void art::PtrVectorBase::updateCore ( RefCore const &  core)
protected
virtual void art::PtrVectorBase::zeroTransients ( )
privatepure virtual

Friends And Related Function Documentation

friend class art::detail::PtrVectorBaseStreamer
friend

Definition at line 62 of file PtrVectorBase.h.

Member Data Documentation

RefCore art::PtrVectorBase::core_
private

Definition at line 55 of file PtrVectorBase.h.

Referenced by operator==(), and swap().

indices_t art::PtrVectorBase::indicies_
mutableprivate

Definition at line 56 of file PtrVectorBase.h.


The documentation for this class was generated from the following file: