Go to the documentation of this file.
21 #ifndef KERNEL_SMARTREFBASE_H
22 #define KERNEL_SMARTREFBASE_H 1
83 return ( m_hintID ==
c.m_hintID && m_linkID ==
c.m_linkID && m_data ==
c.m_data && m_contd ==
c.m_contd );
87 return m_linkID ==
c.m_linkID && m_data ==
c.m_data;
93 s.addContainedLink( pObject, m_hintID, m_linkID );
98 s.getIdentifiedLink( pObj, m_hintID );
104 s.getContainedLink( pObj, m_hintID, m_linkID );
116 void set(
DataObject* pObj,
long hint_id,
long link_id );
118 #endif // KERNEL_SMARTREFBASE_H
void setObjectType(const DataObject *) const
void writeObject(const ContainedObject *pObject, StreamBuffer &s) const
Output streamer for ContainedObject like references.
bool isEqual(const DataObject *, const SmartRefBase &c) const
Equality operator for DataObject like references.
ContainedObject * readObject(const ContainedObject *, StreamBuffer &s) const
Output streamer for ContainedObject like references.
User example objects: SmartRefBase.
long m_linkID
Object data: ID of the object within the identifiable container (if any)
DataObject * readObject(const DataObject *, StreamBuffer &s) const
Input streamer for DataObject like references.
void writeObject(const DataObject *pObject, StreamBuffer &s) const
Output streamer for DataObject like references.
const DataObject * m_data
Object data: Pointer to the identifiable object the link originates.
long m_hintID
Object data: ID of the link hint to the identifiable object.
void setObjectType(const ContainedObject *) const
const ContainedObject * m_contd
Object data: Pointer to the Contained object (if applicable)
bool isEqual(const ContainedObject *, const SmartRefBase &c) const
Equality operator for ContainedObject like references.