|  | The Gaudi Framework
    v36r9p1 (5c15b2bb)
    | 
Base class used to implement the interfaces. More...
#include </builds/gaudi/Gaudi/GaudiKernel/include/GaudiKernel/implements.h>


| Public Types | |
| using | base_class = implements< Interfaces... > | 
| Typedef to this class.  More... | |
| using | extend_interfaces_base = extend_interfaces< Interfaces... > | 
| Typedef to the base of this class.  More... | |
| using | iids = typename extend_interfaces_base::ext_iids | 
|  Public Types inherited from extend_interfaces< Interfaces... > | |
| using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type | 
| take union of the ext_iids of all Interfaces...  More... | |
| Public Member Functions | |
| void * | i_cast (const InterfaceID &tid) const override | 
| Implementation of IInterface::i_cast.  More... | |
| StatusCode | queryInterface (const InterfaceID &ti, void **pp) override | 
| Implementation of IInterface::queryInterface.  More... | |
| std::vector< std::string > | getInterfaceNames () const override | 
| Implementation of IInterface::getInterfaceNames.  More... | |
| implements ()=default | |
| Default constructor.  More... | |
| implements (const implements &) | |
| Copy constructor (zero the reference count)  More... | |
| implements & | operator= (const implements &) | 
| Assignment operator (do not touch the reference count).  More... | |
| unsigned long | addRef () override | 
| Reference Interface instance More... | |
| unsigned long | release () override | 
| Release Interface instance More... | |
| unsigned long | refCount () const override | 
| Current reference count More... | |
| Protected Attributes | |
| std::atomic_ulong | m_refCount = { 0 } | 
| Reference counter More... | |
Base class used to implement the interfaces.
Definition at line 19 of file implements.h.
| using implements< Interfaces >::base_class = implements<Interfaces...> | 
Typedef to this class.
Definition at line 21 of file implements.h.
| using implements< Interfaces >::extend_interfaces_base = extend_interfaces<Interfaces...> | 
Typedef to the base of this class.
Definition at line 23 of file implements.h.
| using implements< Interfaces >::iids = typename extend_interfaces_base::ext_iids | 
Definition at line 24 of file implements.h.
| 
 | default | 
Default constructor.
| 
 | inline | 
| 
 | inlineoverride | 
| 
 | inlineoverride | 
| 
 | inlineoverride | 
| 
 | inline | 
Assignment operator (do not touch the reference count).
Definition at line 44 of file implements.h.
| 
 | inlineoverride | 
| 
 | inlineoverride | 
| 
 | inlineoverride | 
| 
 | protected | 
Reference counter 
 
Definition at line 61 of file implements.h.