CMS 3D CMS Logo

ParentContext.h
Go to the documentation of this file.
1 #ifndef FWCore_ServiceRegistry_ParentContext_h
2 #define FWCore_ServiceRegistry_ParentContext_h
3 
13 //
14 // Original Author: W. David Dagenhart
15 // Created: 7/11/2013
16 
17 #include <iosfwd>
18 
19 namespace edm {
20 
21  class GlobalContext;
22  class InternalContext;
23  class ModuleCallingContext;
24  class PlaceInPathContext;
25  class StreamContext;
26 
27  class ParentContext {
28  public:
30 
31  ParentContext();
37 
38  Type type() const { return type_; }
39 
40  bool isAtEndTransition() const;
41 
42  GlobalContext const* globalContext() const;
43  InternalContext const* internalContext() const;
46  StreamContext const* streamContext() const;
47 
48  private:
50 
51  union Parent {
53  InternalContext const* internal;
57  } parent_;
58  };
59 
60  std::ostream& operator<<(std::ostream&, ParentContext const&);
61 } // namespace edm
62 #endif
InternalContext const * internalContext() const
Type type() const
Definition: ParentContext.h:38
ModuleCallingContext const * module
Definition: ParentContext.h:54
GlobalContext const * globalContext() const
union edm::ParentContext::Parent parent_
StreamContext const * stream
Definition: ParentContext.h:56
bool isAtEndTransition() const
StreamContext const * streamContext() const
PlaceInPathContext const * placeInPath
Definition: ParentContext.h:55
ModuleCallingContext const * moduleCallingContext() const
PlaceInPathContext const * placeInPathContext() const
HLT enums.
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger table.
GlobalContext const * global
Definition: ParentContext.h:52