CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes | Static Private Attributes
edm::ProductResolverIndexAndSkipBit Class Reference

#include <ProductResolverIndexAndSkipBit.h>

Public Member Functions

bool operator== (ProductResolverIndexAndSkipBit const &r)
 
ProductResolverIndex productResolverIndex () const
 
 ProductResolverIndexAndSkipBit (ProductResolverIndex productResolverIndex, bool skipCurrentProcess)
 
bool skipCurrentProcess () const
 

Private Attributes

unsigned int value_
 

Static Private Attributes

static const unsigned int s_skipMask = 1U << 31
 

Detailed Description

Description: This class holds a ProductIndexHolder and a boolean value to indicate whether the skipCurrentProcess option was set. Internally it bit packs them in an unsigned int. There is a little extra complexity in the implementation to hide the fact that some special values of ProductResolverIndex use the same bit we use for skipCurrentProcess.

Usage: EDConsumerBase use this and pass a container of them to the Workers to let them know what data will be consumed.

Definition at line 28 of file ProductResolverIndexAndSkipBit.h.

Constructor & Destructor Documentation

edm::ProductResolverIndexAndSkipBit::ProductResolverIndexAndSkipBit ( ProductResolverIndex  productResolverIndex,
bool  skipCurrentProcess 
)
inline

Member Function Documentation

bool edm::ProductResolverIndexAndSkipBit::operator== ( ProductResolverIndexAndSkipBit const &  r)
inline

Definition at line 38 of file ProductResolverIndexAndSkipBit.h.

References value_.

38 { return value_ == r.value_; }
ProductResolverIndex edm::ProductResolverIndexAndSkipBit::productResolverIndex ( ) const
inline
bool edm::ProductResolverIndexAndSkipBit::skipCurrentProcess ( ) const
inline

Member Data Documentation

const unsigned int edm::ProductResolverIndexAndSkipBit::s_skipMask = 1U << 31
staticprivate

Definition at line 41 of file ProductResolverIndexAndSkipBit.h.

Referenced by productResolverIndex(), and skipCurrentProcess().

unsigned int edm::ProductResolverIndexAndSkipBit::value_
private