1 #ifndef DataFormats_Common_RefCore_h
2 #define DataFormats_Common_RefCore_h
16 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
21 class RefCoreWithIndex;
36 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
93 void wrongTypeException(std::type_info
const& expectedType, std::type_info
const& actualType)
const;
114 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
121 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
145 return !(lhs == rhs);
154 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
void pushBackItem(RefCore const &productToBeInserted, bool checkPointer)
bool operator<(DetSet< T > const &x, DetSet< T > const &y)
RefCore(void const *iCache, ProcessIndex iProcessIndex, ProductIndex iProductIndex)
void setProductPtr(void const *prodPtr) const
int isTransientInt() const
bool isThinnedAvailable(unsigned int thinnedKey, EDProductGetter const *prodGetter) const
bool tryToSetProductPtrForFirstTime(void const *prodPtr) const
WrapperBase const * getProductPtr(std::type_info const &type, EDProductGetter const *prodGetter) const
bool operator!=(debugging_allocator< X > const &, debugging_allocator< Y > const &)
void swap(Association< C > &lhs, Association< C > &rhs)
bool tryToSetCacheItemForFirstTime(std::atomic< void const * > &iCache, void const *iNewValue)
WrapperBase const * tryToGetProductPtr(std::type_info const &type, EDProductGetter const *prodGetter) const
ProductIndex productIndex_
bool cachePtrIsInvalid() const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
WrapperBase const * getThinnedProductPtr(std::type_info const &type, unsigned int &thinnedKey, EDProductGetter const *prodGetter) const
#define SETCACHEISPRODUCTPTR_IMPL(_item_)
bool operator==(debugging_allocator< X > const &, debugging_allocator< Y > const &)
void const * productPtr() const
void productNotFoundException(std::type_info const &type) const
ProcessIndex processIndex_
const std::uintptr_t kCacheIsProductPtrMask
RefCore(RefCore &&iOther)
unsigned short ProcessIndex
RefCore & operator=(RefCore const &)
void setId(ProductID const &iId)
void setCacheIsProductPtr(const void *iItem) const
EDProductGetter const * productGetter() const
std::atomic< void const * > cachePtr_
#define PRODUCTGETTER_IMPL
unsigned short ProductIndex
void setProductGetter(EDProductGetter const *prodGetter) const
void pushBackRefItem(RefCore const &productToBeInserted)
void setCacheIsProductGetter(EDProductGetter const *iGetter) const
#define SETCACHEISPRODUCTGETTER_IMPL(_getter_)
void wrongTypeException(std::type_info const &expectedType, std::type_info const &actualType) const
void nullPointerForTransientException(std::type_info const &type) const
#define SETTRANSIENT_IMPL