CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  {
32 
33  public:
34  ~StreamID() = default;
35  StreamID(const StreamID&) = default;
36  StreamID& operator=(const StreamID&) = default;
37 
38  bool operator==(const StreamID& iID) const {
39  return iID.value_ == value_;
40  }
41 
42  operator unsigned int() const {return value_;}
43 
46  unsigned int value() const { return value_; }
47 
49  return StreamID(0xFFFFFFFFU);
50  }
51 
52  private:
54  friend class Schedule;
55  friend class EventPrincipal;
56  explicit StreamID(unsigned int iValue) : value_(iValue) {}
57 
58  StreamID() = delete;
59 
60  // ---------- member data --------------------------------
61  unsigned int value_;
62  };
63 }
64 
65 
66 #endif
~StreamID()=default
static StreamID invalidStreamID()
Definition: StreamID.h:48
StreamID()=delete
StreamID & operator=(const StreamID &)=default
unsigned int value_
Definition: StreamID.h:61
bool operator==(const StreamID &iID) const
Definition: StreamID.h:38
unsigned int value() const
Definition: StreamID.h:46
StreamID(unsigned int iValue)
Definition: StreamID.h:56