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

#include <IDictLoaderSvc.h>

Inheritance diagram for IDictLoaderSvc:
Collaboration diagram for IDictLoaderSvc:

Public Member Functions

 DeclareInterfaceID (IDictLoaderSvc, 1, 0)
 
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...
 

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

◆ DeclareInterfaceID()

IDictLoaderSvc::DeclareInterfaceID ( IDictLoaderSvc  ,
,
 
)

◆ has_type() [1/3]

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

check a Reflex dictionary exists for a given type

◆ 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

◆ 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

◆ 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.

◆ 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.

◆ 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.


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