ATLAS Offline Software
IDictLoaderSvc.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // IDictLoaderSvc.h
8 // Header file for class IDictLoaderSvc
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef ATHENAKERNEL_IDICTLOADERSVC_H
12 #define ATHENAKERNEL_IDICTLOADERSVC_H 1
13 
23 // STL includes
24 #include <string>
25 #include <typeinfo>
26 
27 // FrameWork includes
28 #include "GaudiKernel/IInterface.h"
29 #include "GaudiKernel/ClassID.h"
30 
31 #include "DataModelRoot/RootType.h"
33 
34 
36  : virtual public ::IInterface
37 {
39  // Public methods:
41  public:
42 
45  virtual ~IDictLoaderSvc();
46 
48  // Non-const methods:
50 
51  static const InterfaceID& interfaceID();
52 
55  virtual
56  bool has_type (const std::string& type_name) = 0;
57 
60  virtual
61  bool has_type (const std::type_info& typeinfo) = 0;
62 
65  virtual
66  bool has_type (CLID clid) = 0;
67 
72  virtual
73  const RootType load_type (const std::string& type_name, bool recursive = false) = 0;
74 
81  virtual
82  const RootType load_type (const std::type_info& typeinfo, bool recursive = false) = 0;
83 
88  virtual
89  const RootType load_type (CLID clid, bool recursive = false) = 0;
90 
91 };
92 
94 // Inline methods:
96 
97 inline
98 const InterfaceID&
100 {
101  static const InterfaceID IID_IDictLoaderSvc("IDictLoaderSvc", 1, 0);
102  return IID_IDictLoaderSvc;
103 }
104 
105 
106 #endif //> !ATHENAKERNEL_IDICTLOADERSVC_H
IDictLoaderSvc::has_type
virtual bool has_type(const std::type_info &typeinfo)=0
check a Reflex dictionary exists for a given type
IDictLoaderSvc
Definition: IDictLoaderSvc.h:37
IDictLoaderSvc::load_type
virtual const RootType load_type(CLID clid, bool recursive=false)=0
retrieve a RootType by name (auto)loading the dictionary by any necessary means.
IDictLoaderSvc::has_type
virtual bool has_type(CLID clid)=0
check a Reflex dictionary exists for a given type
IDictLoaderSvc::load_type
virtual const RootType load_type(const std::string &type_name, bool recursive=false)=0
retrieve a RootType by name (auto)loading the dictionary by any necessary means.
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
IDictLoaderSvc::has_type
virtual bool has_type(const std::string &type_name)=0
check a Reflex dictionary exists for a given type
IDictLoaderSvc::interfaceID
static const InterfaceID & interfaceID()
Definition: IDictLoaderSvc.h:99
IDictLoaderSvc::~IDictLoaderSvc
virtual ~IDictLoaderSvc()
Destructor:
Definition: IDictLoaderSvc.cxx:18
IDictLoaderSvc::load_type
virtual const RootType load_type(const std::type_info &typeinfo, bool recursive=false)=0
retrieve a RootType by std::type_info (auto)loading the dictionary by any necessary means.
RootType.h
generateReferenceFile.recursive
recursive
Definition: generateReferenceFile.py:12
checker_macros.h
Define macros for attributes used to control the static checker.
TScopeAdapter
Definition: RootType.h:119