#include <RefCoreWithIndex.h>
Public Member Functions | |
WrapperBase const * | getProductPtr (std::type_info const &type, EDProductGetter const *prodGetter) const |
ProductID | id () const |
unsigned int | index () const |
bool | isAvailable () const |
bool | isNonnull () const |
bool | isNull () const |
bool | isTransient () const |
int | isTransientInt () const |
void | nullPointerForTransientException (std::type_info const &type) const |
bool | operator! () const |
RefCoreWithIndex & | operator= (RefCoreWithIndex const &) |
RefCoreWithIndex & | operator= (RefCoreWithIndex &&)=default |
EDProductGetter const * | productGetter () const |
void | productNotFoundException (std::type_info const &type) const |
void const * | productPtr () const |
void | pushBackItem (RefCoreWithIndex const &productToBeInserted, bool checkPointer) |
RefCoreWithIndex () | |
RefCoreWithIndex (ProductID const &theId, void const *prodPtr, EDProductGetter const *prodGetter, bool transient, unsigned int elementIndex) | |
RefCoreWithIndex (RefCore const &iCore, unsigned int) | |
RefCoreWithIndex (RefCoreWithIndex const &) | |
RefCoreWithIndex (RefCoreWithIndex &&iOther) | |
void | setProductGetter (EDProductGetter const *prodGetter) const |
void | setProductPtr (void const *prodPtr) const |
void | swap (RefCoreWithIndex &) |
RefCore const & | toRefCore () const |
bool | tryToSetProductPtrForFirstTime (void const *prodPtr) const |
void | wrongTypeException (std::type_info const &expectedType, std::type_info const &actualType) const |
Private Member Functions | |
void | setCacheIsProductGetter (EDProductGetter const *iGetter) const |
void | setCacheIsProductPtr (void const *iItem) const |
void | setId (ProductID const &iId) |
void | setTransient () |
RefCore & | toUnConstRefCore () |
Private Attributes | |
std::atomic< void const * > | cachePtr_ |
unsigned int | elementIndex_ |
ProcessIndex | processIndex_ |
ProductIndex | productIndex_ |
Definition at line 26 of file RefCoreWithIndex.h.
|
inline |
Definition at line 28 of file RefCoreWithIndex.h.
edm::RefCoreWithIndex::RefCoreWithIndex | ( | ProductID const & | theId, |
void const * | prodPtr, | ||
EDProductGetter const * | prodGetter, | ||
bool | transient, | ||
unsigned int | elementIndex | ||
) |
Definition at line 11 of file RefCoreWithIndex.cc.
References setCacheIsProductGetter(), and setTransient().
edm::RefCoreWithIndex::RefCoreWithIndex | ( | RefCore const & | iCore, |
unsigned int | iIndex | ||
) |
Definition at line 25 of file RefCoreWithIndex.cc.
edm::RefCoreWithIndex::RefCoreWithIndex | ( | RefCoreWithIndex const & | iOther | ) |
Definition at line 31 of file RefCoreWithIndex.cc.
|
inline |
Definition at line 39 of file RefCoreWithIndex.h.
|
inline |
Definition at line 96 of file RefCoreWithIndex.h.
References edm::RefCore::getProductPtr(), and toRefCore().
|
inline |
Definition at line 44 of file RefCoreWithIndex.h.
References ID_IMPL.
Referenced by OmniClusterRef::id(), edm::RefCoreWithIndexStreamer::operator()(), and reco::LeafRefCandidateT::overlap().
|
inline |
Definition at line 65 of file RefCoreWithIndex.h.
References elementIndex_.
Referenced by BeautifulSoup.PageElement::_invert(), reco::LeafRefCandidateT::getRef(), edm::RefCoreWithIndexStreamer::operator()(), reco::LeafRefCandidateT::overlap(), and OmniClusterRef::rawIndex().
|
inline |
Definition at line 79 of file RefCoreWithIndex.h.
References edm::RefCore::isAvailable(), and toRefCore().
|
inline |
Definition at line 71 of file RefCoreWithIndex.h.
References ISNONNULL_IMPL.
Referenced by isNull().
|
inline |
Definition at line 68 of file RefCoreWithIndex.h.
References isNonnull().
Referenced by operator!().
|
inline |
Definition at line 114 of file RefCoreWithIndex.h.
References ISTRANSIENT_IMPL.
Referenced by isTransientInt(), and edm::RefCoreWithIndexStreamer::operator()().
|
inline |
|
inline |
Definition at line 108 of file RefCoreWithIndex.h.
References edm::RefCore::nullPointerForTransientException(), and toRefCore().
|
inline |
RefCoreWithIndex & edm::RefCoreWithIndex::operator= | ( | RefCoreWithIndex const & | iOther | ) |
Definition at line 37 of file RefCoreWithIndex.cc.
References cachePtr_, elementIndex_, processIndex_, and productIndex_.
|
default |
|
inline |
|
inline |
Definition at line 100 of file RefCoreWithIndex.h.
References edm::RefCore::productNotFoundException(), and toRefCore().
|
inline |
If productPtr is not 0 then productGetter will be 0 since only one is available at a time
Definition at line 47 of file RefCoreWithIndex.h.
References PRODUCTPTR_IMPL.
|
inline |
Definition at line 118 of file RefCoreWithIndex.h.
References edm::RefCore::pushBackItem(), toRefCore(), and toUnConstRefCore().
|
inlineprivate |
Definition at line 132 of file RefCoreWithIndex.h.
References SETCACHEISPRODUCTGETTER_IMPL.
Referenced by RefCoreWithIndex().
|
inlineprivate |
Definition at line 131 of file RefCoreWithIndex.h.
References SETCACHEISPRODUCTPTR_IMPL.
Referenced by setProductPtr().
|
inlineprivate |
Definition at line 127 of file RefCoreWithIndex.h.
References edm::RefCore::setId(), and toUnConstRefCore().
|
inline |
Definition at line 92 of file RefCoreWithIndex.h.
References edm::RefCore::setProductGetter(), and toRefCore().
|
inline |
This function is 'const' even though it changes an internal value becuase it is meant to be used as a way to store in a thread-safe way a cache of a value. This allows classes which use the RefCore to not have to declare it 'mutable'
Definition at line 53 of file RefCoreWithIndex.h.
References setCacheIsProductPtr().
|
inlineprivate |
Definition at line 130 of file RefCoreWithIndex.h.
References SETTRANSIENT_IMPL.
Referenced by RefCoreWithIndex().
|
inline |
Definition at line 158 of file RefCoreWithIndex.h.
References cachePtr_, elementIndex_, processIndex_, productIndex_, and std::swap().
Referenced by edm::swap().
|
inline |
Definition at line 84 of file RefCoreWithIndex.h.
Referenced by OmniClusterRef::cluster_pixel(), OmniClusterRef::cluster_strip(), getProductPtr(), reco::LeafRefCandidateT::getRef(), isAvailable(), nullPointerForTransientException(), OmniClusterRef::pixelCluster(), productNotFoundException(), pushBackItem(), setProductGetter(), OmniClusterRef::stripCluster(), and wrongTypeException().
|
inlineprivate |
Definition at line 123 of file RefCoreWithIndex.h.
Referenced by pushBackItem(), and setId().
|
inline |
This function is 'const' even though it changes an internal value becuase it is meant to be used as a way to store in a thread-safe way a cache of a value. This allows classes which use the RefCore to not have to declare it 'mutable'
Definition at line 61 of file RefCoreWithIndex.h.
References cachePtr_, and edm::refcoreimpl::tryToSetCacheItemForFirstTime().
|
inline |
Definition at line 104 of file RefCoreWithIndex.h.
References toRefCore(), and edm::RefCore::wrongTypeException().
|
mutableprivate |
Definition at line 142 of file RefCoreWithIndex.h.
Referenced by operator=(), swap(), and tryToSetProductPtrForFirstTime().
|
private |
Definition at line 151 of file RefCoreWithIndex.h.
Referenced by index(), operator=(), and swap().
|
private |
Definition at line 149 of file RefCoreWithIndex.h.
Referenced by operator=(), and swap().
|
private |
Definition at line 150 of file RefCoreWithIndex.h.
Referenced by operator=(), and swap().