CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 :
32  ~s_skipMask & productResolverIndex) { }
34  bool specialIndexValue = (value_ & ProductResolverIndexValuesBit) != 0;
35  return specialIndexValue ? value_ | s_skipMask :
36  value_ & ~s_skipMask;
37  }
38  bool skipCurrentProcess() const { return (value_ & s_skipMask) != 0; }
39 
41  return value_ == r.value_;
42  }
43 
44  private:
45  static const unsigned int s_skipMask = 1U << 31;
46 
47  unsigned int value_;
48  };
49 }
50 #endif
unsigned int ProductResolverIndex
bool operator==(ProductResolverIndexAndSkipBit const &r)
ProductResolverIndex productResolverIndex() const
ProductResolverIndexAndSkipBit(ProductResolverIndex productResolverIndex, bool skipCurrentProcess)