Essentia  2.1-beta6-dev
NetworkNode Class Reference

#include <network.h>

Public Member Functions

 NetworkNode (streaming::Algorithm *algo)
 
const std::vector< NetworkNode * > & children () const
 
void setChildren (const std::vector< NetworkNode * > &children)
 
void addChild (NetworkNode *child)
 
const streaming::Algorithmalgorithm () const
 
streaming::Algorithmalgorithm ()
 
std::vector< NetworkNode * > addVisibleDependencies (std::map< streaming::Algorithm *, NetworkNode * > &algoNodeMap)
 

Protected Attributes

streaming::Algorithm_algo
 
std::vector< NetworkNode * > _children
 

Detailed Description

A NetworkNode is a structure used to represent an Algorithm in a Network of Execution. It points to a given Algorithm and also contains a list of algorithms which execution should come after this one's, hence forming the basis for a tree structure. TODO: rename dependencies to children?

Constructor & Destructor Documentation

◆ NetworkNode()

NetworkNode ( streaming::Algorithm algo)
inline

Member Function Documentation

◆ addChild()

void addChild ( NetworkNode child)
inline

◆ addVisibleDependencies()

std::vector<NetworkNode*> addVisibleDependencies ( std::map< streaming::Algorithm *, NetworkNode * > &  algoNodeMap)

◆ algorithm() [1/2]

streaming::Algorithm* algorithm ( )
inline

References NetworkNode::_algo.

◆ algorithm() [2/2]

◆ children()

const std::vector<NetworkNode*>& children ( ) const
inline

◆ setChildren()

void setChildren ( const std::vector< NetworkNode * > &  children)
inline

Member Data Documentation

◆ _algo

streaming::Algorithm* _algo
protected

Algorithm that this node represents in the network.

Referenced by NetworkNode::algorithm().

◆ _children

std::vector<NetworkNode*> _children
protected

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