CMS 3D CMS Logo

StreamID.h
Go to the documentation of this file.
1 #ifndef FWCore_Utilities_StreamID_h
2 #define FWCore_Utilities_StreamID_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Utilities
6 // Class : edm::StreamID
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Fri, 26 Apr 2013 19:37:37 GMT
19 //
20 
21 // system include files
22 
23 // user include files
24 
25 // forward declarations
26 namespace edm {
27  class Schedule;
28  class EventPrincipal;
29 
30  class StreamID {
31  public:
32  ~StreamID() = default;
33  StreamID(const StreamID&) = default;
34  StreamID& operator=(const StreamID&) = default;
35 
36  bool operator==(const StreamID& iID) const { return iID.value_ == value_; }
37 
38  operator unsigned int() const { return value_; }
39 
42  unsigned int value() const { return value_; }
43 
44  static StreamID invalidStreamID() { return StreamID(0xFFFFFFFFU); }
45 
46  private:
48  friend class Schedule;
49  friend class EventPrincipal;
50  explicit StreamID(unsigned int iValue) : value_(iValue) {}
51 
52  StreamID() = delete;
53 
54  // ---------- member data --------------------------------
55  unsigned int value_;
56  };
57 } // namespace edm
58 
59 #endif
~StreamID()=default
static StreamID invalidStreamID()
Definition: StreamID.h:44
StreamID()=delete
StreamID & operator=(const StreamID &)=default
unsigned int value_
Definition: StreamID.h:55
bool operator==(const StreamID &iID) const
Definition: StreamID.h:36
unsigned int value() const
Definition: StreamID.h:42
HLT enums.
StreamID(unsigned int iValue)
Definition: StreamID.h:50