The Gaudi Framework
v30r3 (a5ef0a68)
|
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... | |
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 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 |
|
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 53 of file implements.h.