CMS 3D CMS Logo

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