The Gaudi Framework  master (53dee381)
Loading...
Searching...
No Matches
concurrency::DataNode Class Reference

#include </builds/gaudi/Gaudi/GaudiHive/src/PRGraph/PrecedenceRulesGraph.h>

Inheritance diagram for concurrency::DataNode:
Collaboration diagram for concurrency::DataNode:

Public Member Functions

 DataNode (PrecedenceRulesGraph &graph, const DataObjID &path)
 Constructor.
virtual ~DataNode ()=default
 Destructor.
const DataObjID & name () const
virtual bool accept (IGraphVisitor &visitor)
 Entry point for a visitor.
void addProducerNode (AlgorithmNode *node)
 Add relationship to producer AlgorithmNode.
void addConsumerNode (AlgorithmNode *node)
 Add relationship to consumer AlgorithmNode.
const std::vector< AlgorithmNode * > & getProducers () const
 Get all data object producers.
const std::vector< AlgorithmNode * > & getConsumers () const
 Get all data object consumers.

Public Attributes

PrecedenceRulesGraph * m_graph

Private Attributes

DataObjID m_data_object_path
std::vector< AlgorithmNode * > m_producers
std::vector< AlgorithmNode * > m_consumers

Detailed Description

Definition at line 560 of file PrecedenceRulesGraph.h.

Constructor & Destructor Documentation

◆ DataNode()

concurrency::DataNode::DataNode ( PrecedenceRulesGraph & graph,
const DataObjID & path )
inline

Constructor.

Definition at line 563 of file PrecedenceRulesGraph.h.

563: m_graph( &graph ), m_data_object_path( path ) {}
PrecedenceRulesGraph * m_graph

◆ ~DataNode()

virtual concurrency::DataNode::~DataNode ( )
virtualdefault

Destructor.

Member Function Documentation

◆ accept()

virtual bool concurrency::DataNode::accept ( IGraphVisitor & visitor)
inlinevirtual

Entry point for a visitor.

Reimplemented in concurrency::ConditionNode.

Definition at line 571 of file PrecedenceRulesGraph.h.

571 {
572 return visitor.visitEnter( *this ) ? visitor.visit( *this ) : true;
573 }

◆ addConsumerNode()

void concurrency::DataNode::addConsumerNode ( AlgorithmNode * node)
inline

Add relationship to consumer AlgorithmNode.

Definition at line 580 of file PrecedenceRulesGraph.h.

580 {
581 if ( std::find( m_consumers.begin(), m_consumers.end(), node ) == m_consumers.end() )
582 m_consumers.push_back( node );
583 }
std::vector< AlgorithmNode * > m_consumers

◆ addProducerNode()

void concurrency::DataNode::addProducerNode ( AlgorithmNode * node)
inline

Add relationship to producer AlgorithmNode.

Definition at line 575 of file PrecedenceRulesGraph.h.

575 {
576 if ( std::find( m_producers.begin(), m_producers.end(), node ) == m_producers.end() )
577 m_producers.push_back( node );
578 }
std::vector< AlgorithmNode * > m_producers

◆ getConsumers()

const std::vector< AlgorithmNode * > & concurrency::DataNode::getConsumers ( ) const
inline

Get all data object consumers.

Definition at line 587 of file PrecedenceRulesGraph.h.

587{ return m_consumers; }

◆ getProducers()

const std::vector< AlgorithmNode * > & concurrency::DataNode::getProducers ( ) const
inline

Get all data object producers.

Definition at line 585 of file PrecedenceRulesGraph.h.

585{ return m_producers; }

◆ name()

const DataObjID & concurrency::DataNode::name ( ) const
inline

Definition at line 568 of file PrecedenceRulesGraph.h.

568{ return m_data_object_path; }

Member Data Documentation

◆ m_consumers

std::vector<AlgorithmNode*> concurrency::DataNode::m_consumers
private

Definition at line 595 of file PrecedenceRulesGraph.h.

◆ m_data_object_path

DataObjID concurrency::DataNode::m_data_object_path
private

Definition at line 593 of file PrecedenceRulesGraph.h.

◆ m_graph

PrecedenceRulesGraph* concurrency::DataNode::m_graph

Definition at line 590 of file PrecedenceRulesGraph.h.

◆ m_producers

std::vector<AlgorithmNode*> concurrency::DataNode::m_producers
private

Definition at line 594 of file PrecedenceRulesGraph.h.


The documentation for this class was generated from the following file: