#include <GaudiKernel/LinkManager.h>
|
class | Link |
| Embedded class defining a symbolic link Note: No explicit copy constructor; implicit compiler generated one is just fine. More...
|
|
struct | Sentinel |
|
A LinkManager is the object aggregated into a DataObject, which is responsible for the handling of non-tree like links.
- Author
- M.Frank
Definition at line 31 of file LinkManager.h.
◆ DirLinkType
◆ LinkManager()
LinkManager::LinkManager |
( |
| ) |
|
|
default |
◆ ~LinkManager()
LinkManager::~LinkManager |
( |
| ) |
|
◆ addLink()
Add link by object reference and path.
Add link by object reference and path string.
Definition at line 75 of file LinkManager.cpp.
79 if ( pO && pO == pObject )
return n;
80 if ( lnk->path() ==
path ) {
81 if ( pObject && pObject != pO ) { lnk->setObject(
const_cast<DataObject*
>( pObject ) ); }
◆ begin()
auto LinkManager::begin |
( |
| ) |
const |
|
inline |
◆ empty()
bool LinkManager::empty |
( |
| ) |
const |
|
inline |
◆ end()
◆ link() [1/6]
Definition at line 62 of file LinkManager.cpp.
63 return pObject ? findLink(
m_linkVector, [=](
auto* j ) {
return j->object() == pObject; } ) :
nullptr;
◆ link() [2/6]
Retrieve symbolic link identified by object.
Retrieve symbolic link identified by Object pointer.
Definition at line 58 of file LinkManager.cpp.
59 return pObject ? findLink(
m_linkVector, [=](
auto* j ) {
return j->object() == pObject; } ) :
nullptr;
◆ link() [3/6]
◆ link() [4/6]
Retrieve symbolic link identified by ID.
Definition at line 49 of file LinkManager.cpp.
◆ link() [5/6]
◆ link() [6/6]
Retrieve symbolic link identified by path.
Retrieve symbolic link identified by Object path.
Definition at line 67 of file LinkManager.cpp.
68 return !
path.empty() ? findLink(
m_linkVector, [=](
auto* j ) {
return j->path() ==
path; } ) :
nullptr;
◆ newInstance()
Static instantiation.
Definition at line 46 of file LinkManager.cpp.
46 {
return s_newInstance ? ( *s_newInstance )() :
new LinkManager(); }
◆ setInstantiator()
void LinkManager::setInstantiator |
( |
LinkManager *(*)() |
newInstance | ) |
|
|
static |
◆ size()
long LinkManager::size |
( |
| ) |
const |
|
inline |
Retrieve number of link present.
Definition at line 91 of file LinkManager.h.
◆ m_linkVector
@ TODO: replace by std::vector<std::unique_ptr<Link>> once ROOT does 'automatic' schema conversion from T* to std::unique_ptr<T>...
Or, even better, just std::vector<Link>, given that Link is barely larger than a pointer (40 vs. 8 bytes) – but that requires more invasive schema evolution.
The vector containing all links which are non-tree like
Definition at line 79 of file LinkManager.h.
The documentation for this class was generated from the following files: