 |
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()
48 const std::vector<CLID>& clids)
53 if (
id != CLID_NULL) {
69 m_clearAddress(clearAddress),
70 m_consultProvider(consultProvider),
71 m_address(std::move(addr)),
72 m_pAddressProvider(nullptr)
81 : m_clid (static_cast<
CLID>(
other.m_clid)),
83 m_storeID (
other.m_storeID),
84 m_clearAddress (
other.m_clearAddress),
85 m_consultProvider (
other.m_consultProvider),
86 m_address (
other.m_address),
87 m_pAddressProvider (
other.m_pAddressProvider),
89 m_transientID (
other.m_transientID),
90 m_transientAlias (
other.m_transientAlias)
96 : m_clid (static_cast<
CLID>(
other.m_clid)),
98 m_storeID (
other.m_storeID),
99 m_clearAddress (
other.m_clearAddress),
100 m_consultProvider (
other.m_consultProvider),
101 m_address (std::move (
other.m_address)),
102 m_pAddressProvider (
other.m_pAddressProvider),
104 m_transientID (std::move (
other.m_transientID)),
105 m_transientAlias (std::move (
other.m_transientAlias))
118 if (
this != &
other) {
136 if (
this != &
other) {
197 if (!forceUpdate && 0 !=
address())
return true;
std::atomic< CLID > m_clid
< clid of the concrete class (persistent clid)
void reset(T *ptr=nullptr)
Change the pointer.
StoreID::type storeID() const
CxxUtils::CachedValue< std::string > m_name
all transient clids. They come from symlinks
TransientAddress & operator=(const TransientAddress &)
CxxUtils::RefCountedPtr< IOpaqueAddress > m_address
AddressProvider.
bool isValid() const
Test to see if the value is valid.
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...
void reset()
Retrieve IOpaqueAddress.
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.
const TransientClidSet & transientID() const
set alias'
bool m_consultProvider
IOpaqueAddress:
void setAddress(CxxUtils::RefCountedPtr< IOpaqueAddress > pAddress)
Retrieve primary clid.
TransientAddress()
Construct from clid and string key:
IAddressProvider * m_pAddressProvider
string key of this object