#include <limits>
#include <cstdint>
#include <atomic>
Go to the source code of this file.
Namespaces | |
edm | |
HLT enums. | |
edm::refcoreimpl | |
Macros | |
#define | DataFormats_Common_refcore_implementation_h |
#define | ID_IMPL return ProductID(processIndex_ & refcoreimpl::kProcessIndexMask,productIndex_) |
#define | ID_IMPL return ProductID(processIndex_ & refcoreimpl::kProcessIndexMask,productIndex_) |
#define | ISNONNULL_IMPL return isTransient() ? productPtr() != nullptr : id().isValid() |
#define | ISNONNULL_IMPL return isTransient() ? productPtr() != nullptr : id().isValid() |
#define | ISTRANSIENT_IMPL return 0!=(processIndex_ & refcoreimpl::kTransientBit) |
#define | ISTRANSIENT_IMPL return 0!=(processIndex_ & refcoreimpl::kTransientBit) |
#define | PRODUCTGETTER_IMPL return refcoreimpl::productGetter(cachePtr_) |
#define | PRODUCTGETTER_IMPL return refcoreimpl::productGetter(cachePtr_) |
#define | PRODUCTPTR_IMPL return refcoreimpl::productPtr(cachePtr_) |
#define | PRODUCTPTR_IMPL return refcoreimpl::productPtr(cachePtr_) |
#define | SETCACHEISPRODUCTGETTER_IMPL(_getter_) refcoreimpl::setCacheIsProductGetter(cachePtr_, _getter_) |
#define | SETCACHEISPRODUCTGETTER_IMPL(_getter_) refcoreimpl::setCacheIsProductGetter(cachePtr_, _getter_) |
#define | SETCACHEISPRODUCTPTR_IMPL(_item_) refcoreimpl::setCacheIsItem(cachePtr_,_item_) |
#define | SETCACHEISPRODUCTPTR_IMPL(_item_) refcoreimpl::setCacheIsItem(cachePtr_,_item_) |
#define | SETTRANSIENT_IMPL processIndex_ |=refcoreimpl::kTransientBit |
#define | SETTRANSIENT_IMPL processIndex_ |=refcoreimpl::kTransientBit |
Functions | |
bool | edm::refcoreimpl::cacheIsProductPtr (void const *iPtr) |
EDProductGetter const * | edm::refcoreimpl::productGetter (std::atomic< void const * > const &iCache) |
void const * | edm::refcoreimpl::productPtr (std::atomic< void const * > const &iCache) |
void | edm::refcoreimpl::setCacheIsItem (std::atomic< void const * > &iCache, void const *iNewValue) |
void | edm::refcoreimpl::setCacheIsProductGetter (std::atomic< void const * > &ptr, EDProductGetter const *iGetter) |
void | edm::refcoreimpl::setCacheIsProductGetter (void const *&ptr, EDProductGetter const *iGetter) |
bool | edm::refcoreimpl::tryToSetCacheItemForFirstTime (std::atomic< void const * > &iCache, void const *iNewValue) |
Variables | |
const std::uintptr_t | edm::refcoreimpl::kCacheIsProductPtrBit = 0x1 |
const std::uintptr_t | edm::refcoreimpl::kCacheIsProductPtrMask = std::numeric_limits<std::uintptr_t>::max() ^ kCacheIsProductPtrBit |
const unsigned short | edm::refcoreimpl::kProcessIndexMask = 0x3FFF |
const unsigned short | edm::refcoreimpl::kTransientBit = 0x8000 |
#define ID_IMPL return ProductID(processIndex_ & refcoreimpl::kProcessIndexMask,productIndex_) |
Definition at line 93 of file classes.h.
Referenced by edm::RefCore::id(), and edm::RefCoreWithIndex::id().
#define ID_IMPL return ProductID(processIndex_ & refcoreimpl::kProcessIndexMask,productIndex_) |
#define ISNONNULL_IMPL return isTransient() ? productPtr() != nullptr : id().isValid() |
Definition at line 97 of file classes.h.
Referenced by edm::RefCore::isNonnull(), and edm::RefCoreWithIndex::isNonnull().
#define ISNONNULL_IMPL return isTransient() ? productPtr() != nullptr : id().isValid() |
#define ISTRANSIENT_IMPL return 0!=(processIndex_ & refcoreimpl::kTransientBit) |
Definition at line 101 of file classes.h.
Referenced by edm::RefCore::isTransient(), and edm::RefCoreWithIndex::isTransient().
#define ISTRANSIENT_IMPL return 0!=(processIndex_ & refcoreimpl::kTransientBit) |
#define PRODUCTGETTER_IMPL return refcoreimpl::productGetter(cachePtr_) |
Definition at line 99 of file classes.h.
Referenced by edm::RefCore::productGetter(), and edm::RefCoreWithIndex::productGetter().
#define PRODUCTGETTER_IMPL return refcoreimpl::productGetter(cachePtr_) |
#define PRODUCTPTR_IMPL return refcoreimpl::productPtr(cachePtr_) |
Definition at line 95 of file classes.h.
Referenced by edm::RefCore::productPtr(), and edm::RefCoreWithIndex::productPtr().
#define PRODUCTPTR_IMPL return refcoreimpl::productPtr(cachePtr_) |
#define SETCACHEISPRODUCTGETTER_IMPL | ( | _getter_ | ) | refcoreimpl::setCacheIsProductGetter(cachePtr_, _getter_) |
Definition at line 107 of file classes.h.
Referenced by edm::RefCore::setCacheIsProductGetter(), and edm::RefCoreWithIndex::setCacheIsProductGetter().
#define SETCACHEISPRODUCTGETTER_IMPL | ( | _getter_ | ) | refcoreimpl::setCacheIsProductGetter(cachePtr_, _getter_) |
#define SETCACHEISPRODUCTPTR_IMPL | ( | _item_ | ) | refcoreimpl::setCacheIsItem(cachePtr_,_item_) |
#define SETCACHEISPRODUCTPTR_IMPL | ( | _item_ | ) | refcoreimpl::setCacheIsItem(cachePtr_,_item_) |
Definition at line 105 of file classes.h.
Referenced by edm::RefCore::setCacheIsProductPtr(), and edm::RefCoreWithIndex::setCacheIsProductPtr().
#define SETTRANSIENT_IMPL processIndex_ |=refcoreimpl::kTransientBit |
Definition at line 103 of file classes.h.
Referenced by edm::RefCore::setTransient(), and edm::RefCoreWithIndex::setTransient().
#define SETTRANSIENT_IMPL processIndex_ |=refcoreimpl::kTransientBit |