1 #ifndef DataFormats_Common_RefCoreWithIndex_h 2 #define DataFormats_Common_RefCoreWithIndex_h 40 cachePtr_.store(iOther.cachePtr_.load(std::memory_order_relaxed), std::memory_order_relaxed);
44 cachePtr_.store(iOther.cachePtr_.load(std::memory_order_relaxed), std::memory_order_relaxed);
94 return *
reinterpret_cast<const RefCore*
>(
this);
113 void wrongTypeException(std::type_info
const& expectedType, std::type_info
const& actualType)
const {
133 return *
reinterpret_cast<RefCore*
>(
this);
void pushBackItem(RefCore const &productToBeInserted, bool checkPointer)
RefCoreWithIndex & operator=(RefCoreWithIndex &&iOther) noexcept
unsigned int elementIndex_
void setCacheIsProductPtr(void const *iItem) const
std::atomic< void const * > cachePtr_
int isTransientInt() const
WrapperBase const * getProductPtr(std::type_info const &type, EDProductGetter const *prodGetter) const
void nullPointerForTransientException(std::type_info const &type) const
unsigned int index() const
ProcessIndex processIndex_
void setProductGetter(EDProductGetter const *prodGetter) const
bool tryToSetCacheItemForFirstTime(std::atomic< void const * > &iCache, void const *iNewValue)
void setCacheIsProductGetter(EDProductGetter const *iGetter) const
ProductIndex productIndex_
EDProductGetter const * productGetter() const
RefCore const & toRefCore() const
WrapperBase const * getProductPtr(std::type_info const &type, EDProductGetter const *prodGetter) const
void swap(RefCoreWithIndex &)
void pushBackItem(RefCoreWithIndex const &productToBeInserted, bool checkPointer)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
#define SETCACHEISPRODUCTPTR_IMPL(_item_)
RefCoreWithIndex & operator=(RefCoreWithIndex const &)
~RefCoreWithIndex() noexcept
void productNotFoundException(std::type_info const &type) const
void wrongTypeException(std::type_info const &expectedType, std::type_info const &actualType) const
void productNotFoundException(std::type_info const &type) const
RefCoreWithIndex(RefCoreWithIndex &&iOther) noexcept
unsigned short ProcessIndex
void setId(ProductID const &iId)
#define PRODUCTGETTER_IMPL
void setProductPtr(void const *prodPtr) const
unsigned short ProductIndex
void setProductGetter(EDProductGetter const *prodGetter) const
#define SETCACHEISPRODUCTGETTER_IMPL(_getter_)
bool tryToSetProductPtrForFirstTime(void const *prodPtr) const
void wrongTypeException(std::type_info const &expectedType, std::type_info const &actualType) const
void setId(ProductID const &iId)
void const * productPtr() const
RefCore & toUnConstRefCore()
void nullPointerForTransientException(std::type_info const &type) const
#define SETTRANSIENT_IMPL