11 #ifndef KERNEL_SMARTREFBASE_H
12 #define KERNEL_SMARTREFBASE_H 1
15 #include "GaudiKernel/StreamBuffer.h"
50 mutable long m_hintID;
52 mutable long m_linkID;
60 enum { DATAOBJECT, CONTAINEDOBJECT };
101 m_type = CONTAINEDOBJECT;
103 void setObjectType(
const DataObject* )
const {
108 const std::string &
path ()
const;
111 int objectType()
const {
115 void set(
DataObject* pObj,
long hint_id,
long link_id);
118 #endif // KERNEL_SMARTREFBASE_H
The stream buffer is a small object collecting object data.
long m_hintID
Object data: ID of the link hint to the identifiable object.
const ContainedObject * m_contd
Object data: Pointer to the Contained object (if applicable)
User example objects: SmartRefBase.
void addIdentifiedLink(const DataObject *pObject, long hint)
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.
ObjectContainerBase is the base class for Gaudi container classes.
A DataObject is the base class of any identifiable object on any data store.
void addContainedLink(const ContainedObject *pObject, long hint, long link)
void getContainedLink(ContainedObject *&pObject, long &hint, long &link)
void getIdentifiedLink(DataObject *&pObject, long &hint)
const DataObject * m_data
Object data: Pointer to the identifiable object the link originates.