Go to the documentation of this file.
11 #ifndef GAUDIKERNEL_LINKMANAGER_H
12 #define GAUDIKERNEL_LINKMANAGER_H
54 : m_path(
std::move(
path ) ), m_pObject( pObject ), m_id( id ) {}
73 long ID()
const {
return m_id; }
89 friend class MergeEventAlg;
108 static void setInstantiator(
LinkManager* ( *newInstance )() );
113 Link* link(
long id );
121 long removeLink(
const DataObject* pObject )
const;
123 long removeLink(
const std::string& fullPath )
const;
125 long removeLink(
long id )
const;
129 #endif // GAUDIKERNEL_LINKMANAGER_H
LinkManager()=default
Standard Constructor.
Embedded class defining a symbolic link Note: No copy constructor; bitwise copy (done by the compiler...
void setObject(const DataObject *pObject)
Update object pointer.
void set(long id, std::string path, DataObject *pObject)
Update the link content.
Link()=default
Standard constructor.
const std::string & path() const
Access to path of object.
long size() const
Retrieve number of link present.
bool operator==(const Link &link) const
Equality operator: check paths only.
std::vector< Link * > m_linkVector
@ TODO: replace by std::vector<std::unique_ptr<Link>> once ROOT does 'automatic' schema conversion fr...
Link(long id, std::string path, DataObject *pObject=nullptr)
Standard constructor.
std::string m_path
DataObject is a friend.
long ID() const
Link identifier.
DirLinkType
Directory link types.
const DataObject * object() const
Const access to data object.