Go to the documentation of this file.
18 template <
typename Container,
typename Pred>
19 auto findLink( Container&
c, Pred pred ) {
21 return i !=
c.end() ? *i :
nullptr;
35 if ( pReg )
return pReg->
address();
51 return pObject ? findLink(
m_linkVector, [=](
auto*
j ) {
return j->object() == pObject; } ) :
nullptr;
55 return pObject ? findLink(
m_linkVector, [=](
auto*
j ) {
return j->object() == pObject; } ) :
nullptr;
71 if ( pO && pO == pObject )
return n;
72 if ( lnk->path() ==
path ) {
73 if ( pObject && pObject != pO ) { lnk->setObject(
const_cast<DataObject*
>( pObject ) ); }
DataObject * m_pObject
Pointer to object behind the link.
Embedded class defining a symbolic link Note: No explicit copy constructor; implicit compiler generat...
IOpaqueAddress * address()
Access to the object's address.
~LinkManager()
Standard Destructor.
virtual IOpaqueAddress * address() const =0
Retrieve opaque storage address.
std::vector< Link * > m_linkVector
@ TODO: replace by std::vector<std::unique_ptr<Link>> once ROOT does 'automatic' schema conversion fr...
long addLink(const std::string &path, const DataObject *pObject)
Add link by object reference and path.
IRegistry * registry() const
Get pointer to Registry.
const Link * link(long id) const
Retrieve symbolic link identified by ID.