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
edm::ParentContext::streamContext
StreamContext const * streamContext() const
Definition: ParentContext.cc:45
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::ParentContext::Type::kStream
edm::ParentContext::Type::kGlobal
edm::ParentContext::Parent::module
ModuleCallingContext const * module
Definition: ParentContext.h:54
edm::ParentContext::Type::kPlaceInPath
edm::ParentContext::Parent::stream
StreamContext const * stream
Definition: ParentContext.h:56
edm::ParentContext::moduleCallingContext
ModuleCallingContext const * moduleCallingContext() const
Definition: ParentContext.cc:31
edm::ParentContext::ParentContext
ParentContext()
Definition: ParentContext.cc:15
edm::ParentContext::type
Type type() const
Definition: ParentContext.h:38
edm::ParentContext::placeInPathContext
PlaceInPathContext const * placeInPathContext() const
Definition: ParentContext.cc:38
edm::ParentContext::Parent::global
GlobalContext const * global
Definition: ParentContext.h:52
edm::operator<<
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger tbale.
Definition: HLTGlobalStatus.h:106
edm::StreamContext
Definition: StreamContext.h:31
edm::ParentContext::Type
Type
Definition: ParentContext.h:29
edm::ParentContext::Type::kInternal
edm::InternalContext
Definition: InternalContext.h:23
edm::ParentContext::Type::kModule
edm::ParentContext
Definition: ParentContext.h:27
edm::GlobalContext
Definition: GlobalContext.h:29
edm::ParentContext::internalContext
InternalContext const * internalContext() const
Definition: ParentContext.cc:59
edm::ParentContext::Parent::placeInPath
PlaceInPathContext const * placeInPath
Definition: ParentContext.h:55
edm::ParentContext::globalContext
GlobalContext const * globalContext() const
Definition: ParentContext.cc:52
edm::ParentContext::Type::kInvalid
edm::PlaceInPathContext
Definition: PlaceInPathContext.h:19
edm::ParentContext::parent_
union edm::ParentContext::Parent parent_
edm::ParentContext::isAtEndTransition
bool isAtEndTransition() const
Definition: ParentContext.cc:66
edm::ParentContext::type_
Type type_
Definition: ParentContext.h:49
edm::ParentContext::Parent
Definition: ParentContext.h:51
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29