A LinkManager is the object aggregated into a DataObject, which is responsible for the handling of non-tree like links.
More...
#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...
|
|
|
std::vector< Link * > | 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.
|
|
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 28 of file LinkManager.h.
◆ DirLinkType
◆ LinkManager() [1/3]
LinkManager::LinkManager |
( |
| ) |
|
|
default |
◆ LinkManager() [2/3]
◆ LinkManager() [3/3]
◆ ~LinkManager()
LinkManager::~LinkManager |
( |
| ) |
|
Standard Destructor.
destructor
Definition at line 26 of file LinkManager.cpp.
26 {
28}
std::vector< Link * > m_linkVector
@ TODO: replace by std::vector<std::unique_ptr<Link>> once ROOT does 'automatic' schema conversion fr...
◆ addLink()
long LinkManager::addLink |
( |
const std::string & | path, |
|
|
const DataObject * | pObject ) |
Add link by object reference and path.
Add link by object reference and path string.
Definition at line 66 of file LinkManager.cpp.
66 {
70 if ( pO && pO == pObject )
return n;
71 if ( lnk->path() == path ) {
72 if ( pObject && pObject != pO ) { lnk->setObject(
const_cast<DataObject*
>( pObject ) ); }
74 }
76 }
77
79}
Embedded class defining a symbolic link Note: No explicit copy constructor; implicit compiler generat...
◆ begin()
auto LinkManager::begin |
( |
| ) |
const |
|
inline |
Definition at line 103 of file LinkManager.h.
103 {
105 int i;
106 LinkManager const* parent;
107
108 public:
109 Iterator( LinkManager
const* p,
int i ) : i{ i }, parent{ p } {}
110 bool operator==( std::default_sentinel_t )
const {
return i == parent->
size(); }
112 ++i;
113 return *this;
114 }
116 };
118 }
bool operator==(const GaudiUtils::Allocator< T1 > &, const GaudiUtils::Allocator< T2 > &)
boost::spirit::classic::position_iterator2< ForwardIterator > Iterator
long size() const
Retrieve number of link present.
const Link * link(long id) const
Retrieve symbolic link identified by ID.
auto operator*(const std::chrono::duration< Rep1, Period > &lhs, const std::chrono::duration< Rep2, Period > &rhs)
Multiplication of two std::chrono::duration objects with same Period.
◆ empty()
bool LinkManager::empty |
( |
| ) |
const |
|
inline |
◆ end()
auto LinkManager::end |
( |
| ) |
const |
|
inline |
Definition at line 102 of file LinkManager.h.
102{ return std::default_sentinel; }
◆ link() [1/6]
◆ link() [2/6]
Retrieve symbolic link identified by object.
Retrieve symbolic link identified by Object pointer.
Definition at line 49 of file LinkManager.cpp.
49 {
50 return pObject ? findLink(
m_linkVector, [=](
auto* j ) {
return j->object() == pObject; } ) :
nullptr;
51}
◆ link() [3/6]
◆ link() [4/6]
Retrieve symbolic link identified by ID.
Definition at line 40 of file LinkManager.cpp.
◆ link() [5/6]
Definition at line 61 of file LinkManager.cpp.
61 {
63}
GAUDI_API std::string path(const AIDA::IBaseHistogram *aida)
get the path in THS for AIDA histogram
◆ link() [6/6]
Retrieve symbolic link identified by path.
Retrieve symbolic link identified by Object path.
Definition at line 58 of file LinkManager.cpp.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ size()
long LinkManager::size |
( |
| ) |
const |
|
inline |
Retrieve number of link present.
Definition at line 88 of file LinkManager.h.
◆ m_linkVector
std::vector<Link*> LinkManager::m_linkVector |
|
private |
@ 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 76 of file LinkManager.h.
The documentation for this class was generated from the following files: