Interface Documentation
Version: 2.-1 (devel)
Public Types | Public Member Functions | List of all members
flecsi::utils::dag_node< NODE_POLICY > Struct Template Reference

#include <dag.hh>

Inheritance diagram for flecsi::utils::dag_node< NODE_POLICY >:
Inheritance graph
[legend]
Collaboration diagram for flecsi::utils::dag_node< NODE_POLICY >:
Collaboration graph
[legend]

Public Types

using edge_list_t = std::list< size_t >
 

Public Member Functions

 dag_node ()
 
template<typename... ARGS>
 dag_node (size_t hash, std::string const &label, ARGS &&... args)
 
size_t const & hash () const
 
size_t & hash ()
 
std::string const & label () const
 
std::string & label ()
 
edge_list_t const & edges () const
 
edge_list_t & edges ()
 
bool initialize (dag_node const &node)
 

Detailed Description

template<typename NODE_POLICY>
struct flecsi::utils::dag_node< NODE_POLICY >

The dag_node type defines a compile-time extensible node for the FleCSI dag data structure.

Constructor & Destructor Documentation

◆ dag_node() [1/2]

template<typename NODE_POLICY >
flecsi::utils::dag_node< NODE_POLICY >::dag_node ( )
inline

Constructor

◆ dag_node() [2/2]

template<typename NODE_POLICY >
template<typename... ARGS>
flecsi::utils::dag_node< NODE_POLICY >::dag_node ( size_t  hash,
std::string const &  label,
ARGS &&...  args 
)
inline

Constructor.

Parameters
hashThe node identifier.
labelThe string label of the node.
ARGSA variadic list of arguments that are passed to the node policy constructor.

Member Function Documentation

◆ initialize()

template<typename NODE_POLICY >
bool flecsi::utils::dag_node< NODE_POLICY >::initialize ( dag_node< NODE_POLICY > const &  node)
inline

This method initializes the node state without overwriting any of the edge information. This is useful for allowing users to access the node from anywhere in the code in a way that does not destroy the graph.

Parameters
nodeThe node.
Returns
A boolean value that can be used to capture registrations at file scope.

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