Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Public Types | Public Member Functions
graph::GraphInterface< TNode, TEdge > Class Template Referenceabstract

#include <GraphInterface.hpp>

Inheritance diagram for graph::GraphInterface< TNode, TEdge >:
[legend]
Collaboration diagram for graph::GraphInterface< TNode, TEdge >:
[legend]

Public Types

using node_type = TNode
 
using edge_type = TEdge
 

Public Member Functions

virtual size_t nodeCount () const =0
 
virtual size_t edgeCount () const =0
 
virtual ext::set< TNode > getNodes () const =0
 
virtual ext::vector< TEdge > getEdges () const =0
 
virtual ext::set< TNode > successors (const TNode &n) const =0
 
virtual ext::vector< TEdge > successorEdges (const TNode &n) const =0
 
virtual ext::set< TNode > predecessors (const TNode &n) const =0
 
virtual ext::vector< TEdge > predecessorEdges (const TNode &n) const =0
 
virtual std::string name () const =0
 
- Public Member Functions inherited from graph::GraphBase
virtual ~GraphBase () noexcept=default
 
virtual void operator>> (ext::ostream &os) const =0
 

Member Typedef Documentation

◆ edge_type

template<typename TNode , typename TEdge >
using graph::GraphInterface< TNode, TEdge >::edge_type = TEdge

◆ node_type

template<typename TNode , typename TEdge >
using graph::GraphInterface< TNode, TEdge >::node_type = TNode

Member Function Documentation

◆ edgeCount()

template<typename TNode , typename TEdge >
virtual size_t graph::GraphInterface< TNode, TEdge >::edgeCount ( ) const
pure virtual

◆ getEdges()

template<typename TNode , typename TEdge >
virtual ext::vector< TEdge > graph::GraphInterface< TNode, TEdge >::getEdges ( ) const
pure virtual

◆ getNodes()

template<typename TNode , typename TEdge >
virtual ext::set< TNode > graph::GraphInterface< TNode, TEdge >::getNodes ( ) const
pure virtual

◆ name()

template<typename TNode , typename TEdge >
virtual std::string graph::GraphInterface< TNode, TEdge >::name ( ) const
pure virtual

◆ nodeCount()

template<typename TNode , typename TEdge >
virtual size_t graph::GraphInterface< TNode, TEdge >::nodeCount ( ) const
pure virtual

◆ predecessorEdges()

template<typename TNode , typename TEdge >
virtual ext::vector< TEdge > graph::GraphInterface< TNode, TEdge >::predecessorEdges ( const TNode &  n) const
pure virtual

◆ predecessors()

template<typename TNode , typename TEdge >
virtual ext::set< TNode > graph::GraphInterface< TNode, TEdge >::predecessors ( const TNode &  n) const
pure virtual

◆ successorEdges()

template<typename TNode , typename TEdge >
virtual ext::vector< TEdge > graph::GraphInterface< TNode, TEdge >::successorEdges ( const TNode &  n) const
pure virtual

◆ successors()

template<typename TNode , typename TEdge >
virtual ext::set< TNode > graph::GraphInterface< TNode, TEdge >::successors ( const TNode &  n) const
pure virtual

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