|  | The Gaudi Framework
    v29r0 (ff2e7097)
    | 
Base class used to implement the interfaces. More...
#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... | |
| ~implements () override=default | |
| Virtual destructor.  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... | |
|  Public Member Functions inherited from extend_interfaces< Interfaces... > | |
| ~extend_interfaces () override=default | |
| Virtual destructor.  More... | |
| Protected Attributes | |
| std::atomic_ulong | m_refCount = {0} | 
| Reference counter.  More... | |
Base class used to implement the interfaces.
Definition at line 9 of file implements.h.
| using implements< Interfaces >::base_class = implements<Interfaces...> | 
Typedef to this class.
Definition at line 11 of file implements.h.
| using implements< Interfaces >::extend_interfaces_base = extend_interfaces<Interfaces...> | 
Typedef to the base of this class.
Definition at line 13 of file implements.h.
| using implements< Interfaces >::iids = typename extend_interfaces_base::ext_iids | 
Definition at line 14 of file implements.h.
| 
 | default | 
Default constructor.
| 
 | inline | 
| 
 | overridedefault | 
Virtual destructor.
| 
 | inlineoverride | 
| 
 | inlineoverride | 
Implementation of IInterface::getInterfaceNames.
Definition at line 29 of file implements.h.
| 
 | inlineoverride | 
Implementation of IInterface::i_cast.
Definition at line 18 of file implements.h.
| 
 | inline | 
Assignment operator (do not touch the reference count).
Definition at line 35 of file implements.h.
| 
 | inlineoverride | 
Implementation of IInterface::queryInterface.
Definition at line 20 of file implements.h.
| 
 | inlineoverride | 
| 
 | inlineoverride | 
| 
 | protected | 
Reference counter.
Definition at line 55 of file implements.h.