The Gaudi Framework
master (53dee381)
Toggle main menu visibility
Loading...
Searching...
No Matches
DataHandleHolderVisitor.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#pragma once
12
13
#include <
GaudiKernel/DataObjID.h
>
14
#include <
GaudiKernel/IDataHandleHolder.h
>
15
#include <map>
16
#include <set>
17
#include <string>
18
#include <vector>
19
20
class
DHHVisitor
:
public
IDataHandleVisitor
{
21
public
:
22
using
Owners
= std::vector<const IDataHandleHolder*>;
23
24
DHHVisitor
(
DataObjIDColl
& ido,
DataObjIDColl
& odo );
25
26
const
DataObjIDColl
&
ignoredInpKeys
()
const
{
return
m_ign_i
; }
27
const
DataObjIDColl
&
ignoredOutKeys
()
const
{
return
m_ign_o
; }
28
29
void
visit
(
const
IDataHandleHolder
* visitee )
override
;
30
31
const
std::map<DataObjID, std::set<const IDataHandleHolder*>>&
owners
()
const
{
return
m_owners
; }
32
33
std::vector<const IDataHandleHolder*>
owners_of
(
const
DataObjID
&
id
)
const
;
34
35
std::vector<std::string>
owners_names_of
(
const
DataObjID
&
id
,
bool
with_main =
false
)
const
;
36
38
bool
empty
()
const
;
39
40
private
:
41
DataObjIDColl
&
m_ido
, &
m_odo
;
42
DataObjIDColl
m_ign_i
,
m_ign_o
;
43
44
std::map<DataObjID, std::set<const IDataHandleHolder*>>
m_owners
;
45
46
std::string
m_initialName
;
47
48
MsgStream
&
report
(
MsgStream
& stream )
const
;
49
50
friend
MsgStream
&
operator<<
(
MsgStream
& stream,
const
DHHVisitor
& visitor ) {
return
visitor.
report
( stream ); }
51
};
DataObjID.h
DataObjIDColl
std::unordered_set< DataObjID, DataObjID_Hasher > DataObjIDColl
Definition
DataObjID.h:121
IDataHandleHolder.h
DHHVisitor::owners_names_of
std::vector< std::string > owners_names_of(const DataObjID &id, bool with_main=false) const
Definition
DataHandleHolderVisitor.cpp:82
DHHVisitor::m_odo
DataObjIDColl & m_odo
Definition
DataHandleHolderVisitor.h:41
DHHVisitor::empty
bool empty() const
return true if no DataHandle was found
Definition
DataHandleHolderVisitor.cpp:122
DHHVisitor::ignoredOutKeys
const DataObjIDColl & ignoredOutKeys() const
Definition
DataHandleHolderVisitor.h:27
DHHVisitor::ignoredInpKeys
const DataObjIDColl & ignoredInpKeys() const
Definition
DataHandleHolderVisitor.h:26
DHHVisitor::owners_of
std::vector< const IDataHandleHolder * > owners_of(const DataObjID &id) const
Definition
DataHandleHolderVisitor.cpp:75
DHHVisitor::m_owners
std::map< DataObjID, std::set< const IDataHandleHolder * > > m_owners
Definition
DataHandleHolderVisitor.h:44
DHHVisitor::report
MsgStream & report(MsgStream &stream) const
Definition
DataHandleHolderVisitor.cpp:91
DHHVisitor::operator<<
friend MsgStream & operator<<(MsgStream &stream, const DHHVisitor &visitor)
Definition
DataHandleHolderVisitor.h:50
DHHVisitor::DHHVisitor
DHHVisitor(DataObjIDColl &ido, DataObjIDColl &odo)
Definition
DataHandleHolderVisitor.cpp:24
DHHVisitor::m_ign_i
DataObjIDColl m_ign_i
Definition
DataHandleHolderVisitor.h:42
DHHVisitor::owners
const std::map< DataObjID, std::set< const IDataHandleHolder * > > & owners() const
Definition
DataHandleHolderVisitor.h:31
DHHVisitor::Owners
std::vector< const IDataHandleHolder * > Owners
Definition
DataHandleHolderVisitor.h:22
DHHVisitor::m_initialName
std::string m_initialName
Definition
DataHandleHolderVisitor.h:46
DHHVisitor::visit
void visit(const IDataHandleHolder *visitee) override
Definition
DataHandleHolderVisitor.cpp:26
DHHVisitor::m_ign_o
DataObjIDColl m_ign_o
Definition
DataHandleHolderVisitor.h:42
DHHVisitor::m_ido
DataObjIDColl & m_ido
Definition
DataHandleHolderVisitor.h:41
DataObjID
Definition
DataObjID.h:47
IDataHandleHolder
Definition
IDataHandleHolder.h:23
IDataHandleVisitor
Definition
IDataHandleHolder.h:45
MsgStream
Definition of the MsgStream class used to transmit messages.
Definition
MsgStream.h:29
GaudiKernel
include
GaudiKernel
DataHandleHolderVisitor.h
Generated on
for The Gaudi Framework by
1.17.0