CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ProductResolverIndexAndSkipBit.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_ProductResolverIndexAndSkipBit_h
2 #define FWCore_Framework_ProductResolverIndexAndSkipBit_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : edm::ProductResolverIndexAndSkipBit
7 //
20 //
21 // Original Author: W. David Dagenhart
22 // Created: 3 October 2013
23 
25 
26 namespace edm {
27 
29  public:
31  : value_(skipCurrentProcess ? s_skipMask | productResolverIndex : ~s_skipMask & productResolverIndex) {}
33  bool specialIndexValue = (value_ & ProductResolverIndexValuesBit) != 0;
34  return specialIndexValue ? value_ | s_skipMask : value_ & ~s_skipMask;
35  }
36  bool skipCurrentProcess() const { return (value_ & s_skipMask) != 0; }
37 
39 
40  private:
41  static const unsigned int s_skipMask = 1U << 31;
42 
43  unsigned int value_;
44  };
45 } // namespace edm
46 #endif
unsigned int ProductResolverIndex
bool operator==(ProductResolverIndexAndSkipBit const &r)
ProductResolverIndex productResolverIndex() const
ProductResolverIndexAndSkipBit(ProductResolverIndex productResolverIndex, bool skipCurrentProcess)