ATLAS Offline Software
Public Member Functions | Static Public Member Functions | List of all members
IDictLoaderSvc Class Referenceabstract

#include <IDictLoaderSvc.h>

Inheritance diagram for IDictLoaderSvc:
Collaboration diagram for IDictLoaderSvc:

Public Member Functions

virtual ~IDictLoaderSvc ()
 Destructor: More...
 
virtual bool has_type (const std::string &type_name)=0
 check a Reflex dictionary exists for a given type More...
 
virtual bool has_type (const std::type_info &typeinfo)=0
 check a Reflex dictionary exists for a given type More...
 
virtual bool has_type (CLID clid)=0
 check a Reflex dictionary exists for a given type More...
 
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. More...
 
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. More...
 
virtual const RootType load_type (CLID clid, bool recursive=false)=0
 retrieve a RootType by name (auto)loading the dictionary by any necessary means. More...
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 

Detailed Description

a simple interface to interact with the Reflex dictionaries and abstract/workaround a few ROOT bugs. There are 2 methods in this interface: has_type to check if a type is known to the reflex system load_type to retrieve the RootType associated with a given C++ type (by name or by std::type_info)

Definition at line 35 of file IDictLoaderSvc.h.

Constructor & Destructor Documentation

◆ ~IDictLoaderSvc()

IDictLoaderSvc::~IDictLoaderSvc ( )
virtual

Destructor:

Definition at line 18 of file IDictLoaderSvc.cxx.

19 {}

Member Function Documentation

◆ has_type() [1/3]

virtual bool IDictLoaderSvc::has_type ( CLID  clid)
pure virtual

check a Reflex dictionary exists for a given type

Implemented in AthDictLoaderSvc.

◆ has_type() [2/3]

virtual bool IDictLoaderSvc::has_type ( const std::string &  type_name)
pure virtual

check a Reflex dictionary exists for a given type

Implemented in AthDictLoaderSvc.

◆ has_type() [3/3]

virtual bool IDictLoaderSvc::has_type ( const std::type_info &  typeinfo)
pure virtual

check a Reflex dictionary exists for a given type

Implemented in AthDictLoaderSvc.

◆ interfaceID()

const InterfaceID & IDictLoaderSvc::interfaceID ( )
inlinestatic

Definition at line 99 of file IDictLoaderSvc.h.

100 {
101  static const InterfaceID IID_IDictLoaderSvc("IDictLoaderSvc", 1, 0);
102  return IID_IDictLoaderSvc;
103 }

◆ load_type() [1/3]

virtual const RootType IDictLoaderSvc::load_type ( CLID  clid,
bool  recursive = false 
)
pure virtual

retrieve a RootType by name (auto)loading the dictionary by any necessary means.

If recursive is true, then recursively load contained types.

Implemented in AthDictLoaderSvc.

◆ load_type() [2/3]

virtual const RootType IDictLoaderSvc::load_type ( const std::string &  type_name,
bool  recursive = false 
)
pure virtual

retrieve a RootType by name (auto)loading the dictionary by any necessary means.

If recursive is true, then recursively load contained types.

Implemented in AthDictLoaderSvc.

◆ load_type() [3/3]

virtual const RootType IDictLoaderSvc::load_type ( const std::type_info &  typeinfo,
bool  recursive = false 
)
pure virtual

retrieve a RootType by std::type_info (auto)loading the dictionary by any necessary means.

This method is preferred over the above one as it is guaranteed to succeed IF the dictionary for that type has been generated. If recursive is true, then recursively load contained types.

Implemented in AthDictLoaderSvc.


The documentation for this class was generated from the following files: