![]() |
ATLAS Offline Software
|
Type specific implementation of ITypeProxy. More...
#include <TypeProxy.h>
Public Types | |
typedef T | value_type |
Convenience type declaration. More... | |
typedef T * | pointer_type |
Convenience type declaration. More... | |
Public Member Functions | |
TypeProxy () | |
Default constructor. More... | |
TypeProxy (pointer_type t) | |
Constructor pointing to an existing object. More... | |
virtual StatusCode | create () override |
Make a new object. More... | |
virtual StatusCode | reg (StoreGateSvc *sg, const std::string &key) override |
Save proxied object in DG (record) More... | |
virtual StatusCode | sync (StoreGateSvc *sg, const std::string &key) override |
SG retrieve, and fill the proxy. More... | |
virtual StatusCode | clear (StoreGateSvc *sg) override |
Remove the object from SG and make the pointer null. More... | |
virtual void | syncTypeless () override |
virtual ITypeProxy * | clone () const override |
This is how typed proxy is obtained. More... | |
pointer_type | data () |
Pointer to the exact object type. More... | |
const pointer_type & | data () const |
Constant pointer to the exact object type. More... | |
pointer_type & | data_ref () |
Reference to the exact object type pointer. More... | |
bool | contains (StoreGateSvc *sg, const std::string &key) const |
Check whether StoreGate contains an object of this type and with the specified key. More... | |
bool | transientContains (StoreGateSvc *sg, const std::string &key) const |
Check whether StoreGate contains a modifyable object of this type and with the specified key. More... | |
bool | empty () const |
True if proxy has not yet made object or not synced to any yet (0 pointer) More... | |
CLID | clid () const |
The CLID of the object being proxied. More... | |
const std::string & | typeName () const |
The type name of the object being proxied. More... | |
const void * | cptr () const |
Protected Attributes | |
CLID | m_clid {0} |
The CLID of the type being proxied. More... | |
std::string | m_typeName |
The type name of the object being proxied. More... | |
std::string | m_key |
StoreGate key of the proxied object. More... | |
SG::DataProxy * | m_proxy {nullptr} |
StoreGate proxy for the object. More... | |
void * | m_ncPointer {nullptr} |
Non-const pointer to the proxied object. More... | |
const void * | m_pointer {nullptr} |
Const pointer to the proxied object. More... | |
bool | m_isAuxVectorBase {false} |
Does the proxied type inherit from SG::AuxVectorBase? More... | |
Private Attributes | |
pointer_type | m_data {nullptr} |
Non-const pointer to the proxied object. More... | |
Type specific implementation of ITypeProxy.
Definition at line 170 of file TypeProxy.h.
typedef T* HLTNavDetails::TypeProxy< T >::pointer_type |
Convenience type declaration.
Definition at line 176 of file TypeProxy.h.
typedef T HLTNavDetails::TypeProxy< T >::value_type |
Convenience type declaration.
Definition at line 174 of file TypeProxy.h.
HLTNavDetails::TypeProxy< T >::TypeProxy |
HLTNavDetails::TypeProxy< T >::TypeProxy | ( | pointer_type | t | ) |
Constructor pointing to an existing object.
Notice that this constructor delegates much of the work to the default constructor. (C++11 magic...)
Definition at line 229 of file TypeProxy.h.
|
inherited |
Return a pointer to the SG::AuxVectorBase base class of the object if possible.
Definition at line 35 of file TypeProxy.cxx.
|
inherited |
Return a pointer to the SG::IAuxStore base class of the object if possible.
This cast can be done based on StoreGate, since SG::IAuxStore has a CLID, as should the type that we're proxying.
Definition at line 47 of file TypeProxy.cxx.
|
overridevirtual |
Remove the object from SG and make the pointer null.
Unfortunately the typeless removeProxy functions of StoreGateSvc are all private.
Although I would've loved to implement this function in a non-template way as well... :-/
Implements HLTNavDetails::ITypeProxy.
Definition at line 281 of file TypeProxy.h.
|
inherited |
The CLID of the object being proxied.
Definition at line 68 of file TypeProxy.cxx.
|
inlineoverridevirtual |
This is how typed proxy is obtained.
Implements HLTNavDetails::ITypeProxy.
Definition at line 198 of file TypeProxy.h.
|
inherited |
Check whether StoreGate contains an object of this type and with the specified key.
Definition at line 52 of file TypeProxy.cxx.
|
inlineinherited |
Definition at line 92 of file TypeProxy.h.
|
overridevirtual |
Make a new object.
Implements HLTNavDetails::ITypeProxy.
Definition at line 241 of file TypeProxy.h.
|
inline |
|
inline |
|
inline |
|
inherited |
True if proxy has not yet made object or not synced to any yet (0 pointer)
Definition at line 63 of file TypeProxy.cxx.
|
overridevirtual |
Save proxied object in DG (record)
Implements HLTNavDetails::ITypeProxy.
Definition at line 263 of file TypeProxy.h.
|
overridevirtual |
SG retrieve, and fill the proxy.
Reimplemented from HLTNavDetails::ITypeProxy.
Definition at line 297 of file TypeProxy.h.
|
inlineoverridevirtual |
Implements HLTNavDetails::ITypeProxy.
Definition at line 192 of file TypeProxy.h.
|
inherited |
Check whether StoreGate contains a modifyable object of this type and with the specified key.
Definition at line 57 of file TypeProxy.cxx.
|
inherited |
The type name of the object being proxied.
Definition at line 73 of file TypeProxy.cxx.
|
protectedinherited |
The CLID of the type being proxied.
Definition at line 95 of file TypeProxy.h.
|
private |
Non-const pointer to the proxied object.
Definition at line 208 of file TypeProxy.h.
|
protectedinherited |
Does the proxied type inherit from SG::AuxVectorBase?
Definition at line 102 of file TypeProxy.h.
|
protectedinherited |
StoreGate key of the proxied object.
Definition at line 97 of file TypeProxy.h.
|
protectedinherited |
Non-const pointer to the proxied object.
Definition at line 99 of file TypeProxy.h.
|
protectedinherited |
Const pointer to the proxied object.
Definition at line 100 of file TypeProxy.h.
|
protectedinherited |
StoreGate proxy for the object.
Definition at line 98 of file TypeProxy.h.
|
protectedinherited |
The type name of the object being proxied.
Definition at line 96 of file TypeProxy.h.