|  | 
|  | ToolHandle (const IInterface *parent=nullptr, bool createIf=true) | 
|  | Constructor for a tool with default tool type and name.  More... 
 | 
|  | 
| template<typename CT  = T, typename NCT  = std::remove_const_t<T>, typename  = std::enable_if_t<std::is_const_v<CT> && !std::is_same_v<CT, NCT>>> | 
|  | ToolHandle (const ToolHandle< NCT > &other) | 
|  | Copy constructor from a non const T to const T tool handle.  More... 
 | 
|  | 
|  | ToolHandle (const std::string &toolTypeAndName, const IInterface *parent=nullptr, bool createIf=true) | 
|  | Create a handle ('smart pointer') to a tool.  More... 
 | 
|  | 
| template<class OWNER , typename  = std::enable_if_t<std::is_base_of_v<IProperty, OWNER>>> | 
|  | ToolHandle (OWNER *owner, std::string propName, std::string toolType, std::string doc="") | 
|  | Autodeclaring constructor with property propName, tool type/name and documentation.  More... 
 | 
|  | 
| template<typename... Args> | 
|  | ToolHandle (std::tuple< Args... > &&args) | 
|  | 
| StatusCode | initialize (const std::string &toolTypeAndName, const IInterface *parent=nullptr, bool createIf=true) | 
|  | 
| StatusCode | retrieve () const override | 
|  | Retrieve the AlgTool.  More... 
 | 
|  | 
| StatusCode | retrieve (DisableTool sd) override | 
|  | 
| StatusCode | retrieve (EnableTool sd) override | 
|  | 
| StatusCode | release () const | 
|  | Release the AlgTool.  More... 
 | 
|  | 
| StatusCode | retrieve (T *&algTool) const override | 
|  | Do the real retrieval of the AlgTool.  More... 
 | 
|  | 
| StatusCode | release (T *algTool) const override | 
|  | Do the real release of the AlgTool.  More... 
 | 
|  | 
| std::string | typeAndName () const override | 
|  | 
| std::add_const_t< T > * | get () const | 
|  | 
| T * | get () | 
|  | 
|  Public Member Functions inherited from BaseToolHandle | 
| StatusCode | retrieve (IAlgTool *&tool) const | 
|  | 
| const IAlgTool * | get () const | 
|  | 
| IAlgTool * | get () | 
|  | 
| bool | isEnabled () const | 
|  | Helper to check if the ToolHandle should be retrieved.  More... 
 | 
|  | 
| void | enable () | 
|  | 
| void | disable () | 
|  | 
| bool | setEnabled (bool flag) | 
|  | 
|  Public Member Functions inherited from ToolHandleInfo | 
| virtual | ~ToolHandleInfo ()=default | 
|  | 
| bool | isPublic () const noexcept | 
|  | 
| bool | createIf () const noexcept | 
|  | 
| const IInterface * | parent () const noexcept | 
|  | 
|  Public Member Functions inherited from GaudiHandle< T > | 
| template<typename CT  = T, typename NCT  = std::remove_const_t<T>> | 
|  | GaudiHandle (const GaudiHandle< NCT > &other, std::enable_if_t< std::is_const_v< CT > &&!std::is_same_v< CT, NCT >> *=nullptr) | 
|  | Copy constructor needed for correct ref-counting.  More... 
 | 
|  | 
|  | GaudiHandle (const GaudiHandle &other) | 
|  | Copy constructor needed for correct ref-counting.  More... 
 | 
|  | 
| template<typename CT  = T, typename NCT  = std::remove_const_t<T>> | 
| std::enable_if_t< std::is_const_v< CT > &&!std::is_same_v< CT, NCT >, GaudiHandle & > | operator= (const GaudiHandle< NCT > &other) | 
|  | Assignment operator for correct ref-counting.  More... 
 | 
|  | 
| GaudiHandle & | operator= (const GaudiHandle &other) | 
|  | Assignment operator for correct ref-counting.  More... 
 | 
|  | 
| StatusCode | retrieve () const | 
|  | Retrieve the component.  More... 
 | 
|  | 
| StatusCode | release () const | 
|  | Release the component.  More... 
 | 
|  | 
| bool | isValid () const | 
|  | Check if the handle is valid (try to retrive the object is not done yet).  More... 
 | 
|  | 
|  | operator bool () const | 
|  | For testing if handle has component.  More... 
 | 
|  | 
| T * | get () | 
|  | Return the wrapped pointer, not calling retrieve() if null.  More... 
 | 
|  | 
| std::add_const_t< T > * | get () const | 
|  | Return the wrapped pointer, not calling retrieve() if null.  More... 
 | 
|  | 
| bool | isSet () const | 
|  | True if the wrapped pointer is not null.  More... 
 | 
|  | 
| T & | operator* () | 
|  | 
| T * | operator-> () | 
|  | 
| std::add_const_t< T > & | operator* () const | 
|  | 
| std::add_const_t< T > * | operator-> () const | 
|  | 
| std::string | getDefaultType () | 
|  | Helper function to get default type string from the class type.  More... 
 | 
|  | 
| std::string | getDefaultName () | 
|  | 
|  Public Member Functions inherited from GaudiHandleBase | 
| std::string | typeAndName () const | 
|  | The full type and name: "type/name".  More... 
 | 
|  | 
| std::string | type () const | 
|  | The concrete component class name: the part before the '/'.  More... 
 | 
|  | 
| std::string | name () const | 
|  | The instance name: the part after the '/'.  More... 
 | 
|  | 
| bool | empty () const | 
|  | Check if the handle has been set to empty string (i.e.  More... 
 | 
|  | 
| void | setTypeAndName (std::string myTypeAndName) | 
|  | The component "type/name" string.  More... 
 | 
|  | 
| void | setName (std::string_view myName) | 
|  | Set the instance name (part after the '/') without changing the class type.  More... 
 | 
|  | 
| std::string | pythonPropertyClassName () const override | 
|  | Name of the componentType with "Handle" appended.  More... 
 | 
|  | 
| std::string | messageName () const | 
|  | name used for printing messages  More... 
 | 
|  | 
| std::string | pythonRepr () const override | 
|  | Python representation of handle, i.e.  More... 
 | 
|  | 
|  Public Member Functions inherited from GaudiHandleInfo | 
| virtual | ~GaudiHandleInfo ()=default | 
|  | virtual destructor so that derived class destructor is called.  More... 
 | 
|  | 
| const std::string & | componentType () const | 
|  | 
| const std::string & | propertyName () const | 
|  | name as used in declareProperty(name,gaudiHandle)  More... 
 | 
|  | 
| void | setPropertyName (std::string propName) | 
|  | set name as used in declareProperty(name,gaudiHandle).  More... 
 | 
|  | 
| const std::string & | parentName () const | 
|  | The name of the parent.  More... 
 | 
|  | 
template<class T>
class ToolHandle< T >
Handle to be used in lieu of naked pointers to tools. This allows better control through the framework of tool loading and usage. @paramater T is the AlgTool interface class (or concrete class) of the tool to use, and must derive from IAlgTool.
- Author
- Wim Lavrijsen WLavr.nosp@m.ijse.nosp@m.n@lbl.nosp@m..gov 
- 
Marti.nosp@m.n.Wo.nosp@m.udstr.nosp@m.a@ce.nosp@m.rn.ch 
Definition at line 132 of file ToolHandle.h.