The Gaudi Framework  master (82fdf313)
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
15#include <map>
16#include <set>
17#include <string>
18#include <vector>
19
21public:
22 using Owners = std::vector<const IDataHandleHolder*>;
23
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
40private:
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};
std::unordered_set< DataObjID, DataObjID_Hasher > DataObjIDColl
Definition DataObjID.h:121
std::vector< std::string > owners_names_of(const DataObjID &id, bool with_main=false) const
DataObjIDColl & m_odo
bool empty() const
return true if no DataHandle was found
const DataObjIDColl & ignoredOutKeys() const
const DataObjIDColl & ignoredInpKeys() const
std::vector< const IDataHandleHolder * > owners_of(const DataObjID &id) const
std::map< DataObjID, std::set< const IDataHandleHolder * > > m_owners
MsgStream & report(MsgStream &stream) const
friend MsgStream & operator<<(MsgStream &stream, const DHHVisitor &visitor)
DHHVisitor(DataObjIDColl &ido, DataObjIDColl &odo)
DataObjIDColl m_ign_i
const std::map< DataObjID, std::set< const IDataHandleHolder * > > & owners() const
std::vector< const IDataHandleHolder * > Owners
std::string m_initialName
void visit(const IDataHandleHolder *visitee) override
DataObjIDColl m_ign_o
DataObjIDColl & m_ido
Definition of the MsgStream class used to transmit messages.
Definition MsgStream.h:29