Go to the documentation of this file.
   11 #ifndef GAUDIKERNEL_DATAHANDLEHOLDERBASE 
   12 #define GAUDIKERNEL_DATAHANDLEHOLDERBASE 1 
   21 #include <unordered_set> 
   24   template <
typename Container>
 
   51     if ( handle.
owner() != 
this ) {
 
   55     m_handles.insert( &handle );
 
   59     if ( handle.
owner() != 
this ) {
 
   62     m_handles.erase( &handle );
 
   66     bool renounced = 
false;
 
   68     for ( 
auto i = m_handles.begin(), last = m_handles.end(); i != last; ) {
 
   70         i         = m_handles.erase( i );
 
   76     if ( 
auto elm = m_inputDataObjs.find( 
id ); elm != m_inputDataObjs.end() ) {
 
   77       m_inputDataObjs.erase( elm );
 
   95     for ( 
auto h : m_handles ) 
h->init();
 
  107 #endif // !GAUDIKERNEL_DATAHANDLEHOLDERBASE 
  
 
bool renounceInput(const DataObjID &id) override
virtual void setOwner(IDataHandleHolder *o)
T back_inserter(T... args)
void addDependency(const DataObjID &id, const Gaudi::DataHandle::Mode &mode) override
std::vector< Gaudi::DataHandle * > outputHandles() const override
DataObjIDColl m_outputDataObjs
void declare(Gaudi::DataHandle &handle) override
void initDataHandleHolder()
initializes all handles - called by the sysInitialize method of any descendant of this
virtual IDataHandleHolder * owner() const
virtual const DataObjIDColl & extraOutputDeps() const override
virtual const DataObjIDColl & extraInputDeps() const override
void renounce(Gaudi::DataHandle &handle) override
Base class used to extend a class implementing other interfaces.
std::vector< Gaudi::DataHandle * > inputHandles() const override
const DataObjIDColl & outputDataObjs() const override
virtual Mode mode() const
const DataObjIDColl & inputDataObjs() const override
constexpr static const auto FAILURE
std::unordered_set< Gaudi::DataHandle * > m_handles
Implementation of property with value of concrete type.