Template Class DirectedAcyclicGraph

Inheritance Relationships

Base Type

Class Documentation

template<typename VertexType, int32_t VERTEX_LIMIT, int32_t DEGREE_LIMIT>
class DirectedAcyclicGraph : public DirectedGraph<VertexType, VERTEX_LIMIT, DEGREE_LIMIT>

same functionality as its parent class DirectedGraph, except that adding edges that close a cycle is impossible now (this incurs a checking overhead of course)

Public Types

using Index_t = typename base_type::Index_t

Public Functions

inline DirectedAcyclicGraph()
inline virtual bool addEdge(VertexType *fromVertex, VertexType *toVertex)

add an edge between fromVertex and toVertex to the graph

Parameters:
  • fromVertex[in]

  • toVertex[in]

Returns:

pointer true if the edge was added successfully, false otherwise (e.g. it would create a cycle)