|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #include "GaudiKernel/IOpaqueAddress.h"
15 const std::string TransientAddress::s_emptyString;
18 TransientAddress::TransientAddress()
47 m_clearAddress(clearAddress),
48 m_consultProvider(consultProvider),
50 m_pAddressProvider(nullptr)
64 : m_clid (static_cast<
CLID>(
other.m_clid)),
66 m_storeID (
other.m_storeID),
67 m_clearAddress (
other.m_clearAddress),
68 m_consultProvider (
other.m_consultProvider),
69 m_pAddressProvider (
other.m_pAddressProvider),
70 m_name (
other.m_name),
71 m_transientID (
other.m_transientID),
72 m_transientAlias (
other.m_transientAlias)
80 : m_clid (static_cast<
CLID>(
other.m_clid)),
82 m_storeID (
other.m_storeID),
83 m_clearAddress (
other.m_clearAddress),
84 m_consultProvider (
other.m_consultProvider),
85 m_pAddressProvider (
other.m_pAddressProvider),
86 m_name (std::move (
other.m_name)),
87 m_transientID (std::move (
other.m_transientID)),
88 m_transientAlias (std::move (
other.m_transientAlias))
91 other.m_address =
nullptr;
104 if (
this != &
other) {
123 if (
this != &
other) {
135 other.m_address =
nullptr;
174 if (0 != pAddress) pAddress->addRef();
182 if (!forceUpdate && 0 !=
address())
return true;
std::atomic< CLID > m_clid
< clid of the concrete class (persistent clid)
StoreID::type storeID() const
CxxUtils::CachedValue< std::string > m_name
all transient clids. They come from symlinks
TransientAddress & operator=(const TransientAddress &)
bool isValid() const
Test to see if the value is valid.
IOpaqueAddress * m_address
AddressProvider.
void store(const T &val)
Store a new value.
StoreID::type m_storeID
Controls if IOpaqueAddress should be deleted:
TransientClidSet m_transientID
all alias names for a DataObject. They come from setAlias
std::atomic< sgkey_t > m_sgkey
Store type, needed by updateAddress.
IAddressProvider * provider()
bool isValid(const EventContext *ctx, bool forceUpdate=false)
cache the pointer to the Address provider which can update this transient address
IStringPool::sgkey_t sgkey_t
Default Constructor.
defines an enum used by address providers to decide what kind of StoreGateSvc they are providing addr...
uint32_t CLID
The Class ID type.
TransientAliasSet m_transientAlias
void setTransientID(CLID id)
get transient CLID's
bool m_clearAddress
Control whether the Address Provider must be consulted.
void set(const T &val) const
Set the value, assuming it is currently invalid.
void setID(CLID id, const std::string &key)
Set the CLID / key.
void setAddress(IOpaqueAddress *pAddress)
Retrieve primary clid.
const TransientClidSet & transientID() const
set alias'
bool m_consultProvider
IOpaqueAddress:
TransientAddress()
Construct from clid and string key:
IAddressProvider * m_pAddressProvider
string key of this object