11 #define KERNEL_SMARTREFBASE_CPP 1
105 static std::string s_empty_string = std::string();
119 return s_empty_string;
const std::string & path() const
Access to path of object.
bool isEqualEx(const DataObject *pObj, const SmartRefBase &c) const
Extended equality check.
const ContainedObject * accessData(const ContainedObject *typ) const
Load on demand of ContainedObject like references.
const DataObject * m_data
Object data: Pointer to the identifiable object the link originates.
ObjectContainerBase _Container
long m_hintID
Object data: ID of the link hint to the identifiable object.
virtual long index() const
Distance in the parent container.
virtual ContainedObject * containedObject(long dist) const =0
Pointer to an object of a given distance.
User example objects: SmartRefBase.
Data provider interface definition.
const ObjectContainerBase * parent() const
Access to parent object.
IRegistry * registry() const
Get pointer to Registry.
LinkManager * linkMgr() const
Retrieve Link manager.
const ContainedObject * m_contd
Object data: Pointer to the Contained object (if applicable)
void setObject(const DataObject *pObject)
Update object pointer.
const std::string & path() const
Shortcut to access the path to the linked object.
Link * link(long id)
Retrieve symbolic link identified by ID.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
long m_linkID
Object data: ID of the object within the identifiable container (if any)
All classes that their objects may be contained in an LHCb ObjectContainer (e.g.
virtual IDataProviderSvc * dataSvc() const =0
Retrieve pointer to Transient Store.
virtual const id_type & identifier() const =0
Full identifier (or key)
ObjectContainerBase is the base class for Gaudi container classes.
void set(DataObject *pObj, long hint_id, long link_id)
Setup smart reference when reading. Must be allowed from external sources.
Embedded class defining a symbolic link Note: No copy constructor; bitwise copy (done by the compiler...
A DataObject is the base class of any identifiable object on any data store.
A LinkManager is the object aggregated into a DataObject, which is responsible for the handling of no...
DataObject * object() const
Const access to data object.
virtual StatusCode retrieveObject(IRegistry *pDirectory, const std::string &path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.