![]() |
![]() |
#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 &&iOther) noexcept |
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) noexcept | |
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 |
~RefCoreWithIndex () noexcept | |
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 25 of file RefCoreWithIndex.h.
|
inline |
Definition at line 27 of file RefCoreWithIndex.h.
References operator=().
edm::RefCoreWithIndex::RefCoreWithIndex | ( | ProductID const & | theId, |
void const * | prodPtr, | ||
EDProductGetter const * | prodGetter, | ||
bool | transient, | ||
unsigned int | elementIndex | ||
) |
Definition at line 6 of file RefCoreWithIndex.cc.
References setCacheIsProductGetter(), and setTransient().
edm::RefCoreWithIndex::RefCoreWithIndex | ( | RefCore const & | iCore, |
unsigned int | iIndex | ||
) |
Definition at line 20 of file RefCoreWithIndex.cc.
References edm::RefCore::cachePtr_, and cachePtr_.
edm::RefCoreWithIndex::RefCoreWithIndex | ( | RefCoreWithIndex const & | iOther | ) |
Definition at line 27 of file RefCoreWithIndex.cc.
References cachePtr_.
|
inlinenoexcept |
Definition at line 37 of file RefCoreWithIndex.h.
References cachePtr_.
|
inlinenoexcept |
Definition at line 51 of file RefCoreWithIndex.h.
|
inline |
Definition at line 105 of file RefCoreWithIndex.h.
References edm::RefCore::getProductPtr(), and toRefCore().
|
inline |
Definition at line 53 of file RefCoreWithIndex.h.
References ID_IMPL.
Referenced by OmniClusterRef::id(), edm::RefCoreWithIndexStreamer::operator()(), and reco::LeafRefCandidateT::overlap().
|
inline |
Definition at line 74 of file RefCoreWithIndex.h.
References elementIndex_.
Referenced by reco::LeafRefCandidateT::getRef(), BeautifulSoup.PageElement::insert(), edm::RefCoreWithIndexStreamer::operator()(), reco::LeafRefCandidateT::overlap(), and OmniClusterRef::rawIndex().
|
inline |
Definition at line 88 of file RefCoreWithIndex.h.
References edm::RefCore::isAvailable(), and toRefCore().
|
inline |
Definition at line 80 of file RefCoreWithIndex.h.
References ISNONNULL_IMPL.
Referenced by isNull().
|
inline |
Definition at line 77 of file RefCoreWithIndex.h.
References isNonnull().
Referenced by operator!().
|
inline |
Definition at line 123 of file RefCoreWithIndex.h.
References ISTRANSIENT_IMPL.
Referenced by isTransientInt(), and edm::RefCoreWithIndexStreamer::operator()().
|
inline |
|
inline |
Definition at line 117 of file RefCoreWithIndex.h.
References edm::RefCore::nullPointerForTransientException(), swap(), and toRefCore().
|
inline |
RefCoreWithIndex & edm::RefCoreWithIndex::operator= | ( | RefCoreWithIndex const & | iOther | ) |
Definition at line 34 of file RefCoreWithIndex.cc.
References cachePtr_, elementIndex_, processIndex_, and productIndex_.
Referenced by RefCoreWithIndex().
|
inlinenoexcept |
Definition at line 43 of file RefCoreWithIndex.h.
References cachePtr_, elementIndex_, processIndex_, and productIndex_.
|
inline |
|
inline |
Definition at line 109 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 56 of file RefCoreWithIndex.h.
References PRODUCTPTR_IMPL.
|
inline |
Definition at line 127 of file RefCoreWithIndex.h.
References edm::RefCore::pushBackItem(), toRefCore(), and toUnConstRefCore().
|
inlineprivate |
Definition at line 141 of file RefCoreWithIndex.h.
References SETCACHEISPRODUCTGETTER_IMPL.
Referenced by RefCoreWithIndex().
|
inlineprivate |
Definition at line 140 of file RefCoreWithIndex.h.
References SETCACHEISPRODUCTPTR_IMPL.
Referenced by setProductPtr().
|
inlineprivate |
Definition at line 136 of file RefCoreWithIndex.h.
References edm::RefCore::setId(), and toUnConstRefCore().
|
inline |
Definition at line 101 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 62 of file RefCoreWithIndex.h.
References setCacheIsProductPtr().
|
inlineprivate |
Definition at line 139 of file RefCoreWithIndex.h.
References SETTRANSIENT_IMPL.
Referenced by RefCoreWithIndex().
|
inline |
Definition at line 162 of file RefCoreWithIndex.h.
References cachePtr_, elementIndex_, processIndex_, productIndex_, and std::swap().
Referenced by nullPointerForTransientException(), and edm::swap().
|
inline |
Definition at line 93 of file RefCoreWithIndex.h.
Referenced by OmniClusterRef::cluster_mtd(), OmniClusterRef::cluster_phase2OT(), OmniClusterRef::cluster_pixel(), OmniClusterRef::cluster_strip(), getProductPtr(), reco::LeafRefCandidateT::getRef(), isAvailable(), OmniClusterRef::mtdCluster(), nullPointerForTransientException(), OmniClusterRef::phase2OTCluster(), OmniClusterRef::pixelCluster(), productNotFoundException(), pushBackItem(), setProductGetter(), OmniClusterRef::stripCluster(), and wrongTypeException().
|
inlineprivate |
Definition at line 132 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 70 of file RefCoreWithIndex.h.
References cachePtr_, and edm::refcoreimpl::tryToSetCacheItemForFirstTime().
|
inline |
Definition at line 113 of file RefCoreWithIndex.h.
References toRefCore(), and edm::RefCore::wrongTypeException().
|
mutableprivate |
Definition at line 150 of file RefCoreWithIndex.h.
Referenced by operator=(), RefCoreWithIndex(), swap(), and tryToSetProductPtrForFirstTime().
|
private |
Definition at line 156 of file RefCoreWithIndex.h.
Referenced by index(), operator=(), and swap().
|
private |
Definition at line 154 of file RefCoreWithIndex.h.
Referenced by operator=(), and swap().
|
private |
Definition at line 155 of file RefCoreWithIndex.h.
Referenced by operator=(), and swap().