CMS 3D CMS Logo

ESParentContext.h
Go to the documentation of this file.
1 #ifndef FWCore_ServiceRegistry_ESParentContext_h
2 #define FWCore_ServiceRegistry_ESParentContext_h
3 
12 //
13 // Original Author: C. Jones
14 // Created: 2/07/2021
15 
16 namespace edm {
17 
18  class ModuleCallingContext;
19  class ESModuleCallingContext;
20 
22  public:
23  enum class Type { kModule, kESModule, kInvalid };
24 
26  explicit ESParentContext(ModuleCallingContext const*) noexcept;
27  explicit ESParentContext(ESModuleCallingContext const*) noexcept;
28 
29  Type type() const noexcept { return type_; }
30 
33 
34  private:
36 
37  union Parent {
40  } parent_;
41  };
42 } // namespace edm
43 #endif
edm::ESModuleCallingContext
Definition: ESModuleCallingContext.h:27
edm::ESParentContext::Type::kInvalid
edm::ESParentContext::type_
Type type_
Definition: ESParentContext.h:35
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::ESParentContext::type
Type type() const noexcept
Definition: ESParentContext.h:29
edm::ESParentContext::Type::kModule
watchdog.const
const
Definition: watchdog.py:83
edm::ESParentContext::Parent::esmodule
ESModuleCallingContext const * esmodule
Definition: ESParentContext.h:39
edm::ESParentContext::Type::kESModule
edm::ESParentContext::moduleCallingContext
ModuleCallingContext const * moduleCallingContext() const
Definition: ESParentContext.cc:21
edm::ESParentContext::parent_
union edm::ESParentContext::Parent parent_
edm::ESParentContext::ESParentContext
ESParentContext()
Definition: ESParentContext.cc:11
edm::ESParentContext
Definition: ESParentContext.h:21
edm::ESParentContext::Parent::module
ModuleCallingContext const * module
Definition: ESParentContext.h:38
edm::ESParentContext::Parent
Definition: ESParentContext.h:37
edm::ESParentContext::Type
Type
Definition: ESParentContext.h:23
edm::ESParentContext::esmoduleCallingContext
ESModuleCallingContext const * esmoduleCallingContext() const
Definition: ESParentContext.cc:29
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29