The Gaudi Framework  master (82fdf313)
Loading...
Searching...
No Matches
IDataHandleHolder.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
17
18#include <set>
19#include <vector>
20
22
24public:
25 virtual std::vector<Gaudi::DataHandle*> inputHandles() const = 0;
26 virtual std::vector<Gaudi::DataHandle*> outputHandles() const = 0;
27
28 virtual const DataObjIDColl& extraInputDeps() const = 0;
29 virtual const DataObjIDColl& extraOutputDeps() const = 0;
30
31 virtual void acceptDHVisitor( IDataHandleVisitor* ) const = 0;
32
33 virtual const DataObjIDColl& inputDataObjs() const = 0;
34 virtual const DataObjIDColl& outputDataObjs() const = 0;
35
36 virtual void addDependency( const DataObjID&, const Gaudi::DataHandle::Mode& ) = 0;
37
39
40 virtual void declare( Gaudi::DataHandle& ) = 0;
41 virtual void renounce( Gaudi::DataHandle& ) = 0;
42 virtual bool renounceInput( const DataObjID& ) = 0;
43};
44
46public:
47 virtual ~IDataHandleVisitor() = default;
48 virtual void visit( const IDataHandleHolder* ) = 0;
49};
std::unordered_set< DataObjID, DataObjID_Hasher > DataObjIDColl
Definition DataObjID.h:121
#define GAUDI_API
Definition Kernel.h:49
DeclareInterfaceID(IDataHandleHolder, 1, 0)
virtual const DataObjIDColl & extraOutputDeps() const =0
virtual std::vector< Gaudi::DataHandle * > outputHandles() const =0
virtual void addDependency(const DataObjID &, const Gaudi::DataHandle::Mode &)=0
virtual void declare(Gaudi::DataHandle &)=0
virtual std::vector< Gaudi::DataHandle * > inputHandles() const =0
virtual void renounce(Gaudi::DataHandle &)=0
virtual const DataObjIDColl & inputDataObjs() const =0
virtual void acceptDHVisitor(IDataHandleVisitor *) const =0
virtual const DataObjIDColl & extraInputDeps() const =0
virtual const DataObjIDColl & outputDataObjs() const =0
virtual bool renounceInput(const DataObjID &)=0
virtual void visit(const IDataHandleHolder *)=0
virtual ~IDataHandleVisitor()=default
IInterface compliant class extending IInterface with the name() method.