CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes
edm::ProductResolverBase::Resolution Class Reference

#include <ProductResolverBase.h>

Public Member Functions

ProductData const * data () const
 
bool isAmbiguous () const
 
 Resolution (ProductData const *iData)
 

Static Public Member Functions

static Resolution makeAmbiguous ()
 

Static Public Attributes

static std::uintptr_t constexpr kAmbiguityMask = std::numeric_limits<std::uintptr_t>::max() ^ kAmbiguityValue
 
static std::uintptr_t constexpr kAmbiguityValue = 0x1
 

Private Attributes

ProductData const * m_data
 

Detailed Description

Definition at line 36 of file ProductResolverBase.h.

Constructor & Destructor Documentation

edm::ProductResolverBase::Resolution::Resolution ( ProductData const *  iData)
inlineexplicit

Definition at line 40 of file ProductResolverBase.h.

Referenced by makeAmbiguous().

40 : m_data(iData) {}

Member Function Documentation

ProductData const* edm::ProductResolverBase::Resolution::data ( ) const
inline

Definition at line 44 of file ProductResolverBase.h.

References m_data.

Referenced by edm::SwitchBaseProductResolver::resolveProductImpl().

44  {
45  return reinterpret_cast<ProductData const*>(kAmbiguityMask & reinterpret_cast<std::uintptr_t>(m_data));
46  }
static std::uintptr_t constexpr kAmbiguityMask
bool edm::ProductResolverBase::Resolution::isAmbiguous ( ) const
inline

Definition at line 42 of file ProductResolverBase.h.

References m_data.

42 { return reinterpret_cast<std::uintptr_t>(m_data) == kAmbiguityValue; }
static std::uintptr_t constexpr kAmbiguityValue
static Resolution edm::ProductResolverBase::Resolution::makeAmbiguous ( )
inlinestatic

Definition at line 48 of file ProductResolverBase.h.

References Resolution().

Referenced by edm::NoProcessProductResolver::resolveProduct_().

48 { return Resolution(reinterpret_cast<ProductData const*>(kAmbiguityValue)); }
static std::uintptr_t constexpr kAmbiguityValue
Resolution(ProductData const *iData)

Member Data Documentation

std::uintptr_t constexpr edm::ProductResolverBase::Resolution::kAmbiguityMask = std::numeric_limits<std::uintptr_t>::max() ^ kAmbiguityValue
static

Definition at line 39 of file ProductResolverBase.h.

std::uintptr_t constexpr edm::ProductResolverBase::Resolution::kAmbiguityValue = 0x1
static

Definition at line 38 of file ProductResolverBase.h.

ProductData const* edm::ProductResolverBase::Resolution::m_data
private

Definition at line 51 of file ProductResolverBase.h.

Referenced by data(), and isAmbiguous().