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

#include <GridInterface.hpp>

Inheritance diagram for grid::GridInterface< TCoordinate, TEdge >:
[legend]
Collaboration diagram for grid::GridInterface< TCoordinate, TEdge >:
[legend]

Public Types

using coordinate_type = TCoordinate
 
using edge_type = TEdge
 
using node_type = ext::pair< TCoordinate, TCoordinate >
 

Public Member Functions

virtual size_t nodeCount () const =0
 
virtual size_t edgeCount () const =0
 
virtual ext::set< node_typegetNodes () const =0
 
virtual ext::vector< TEdge > getEdges () const =0
 
virtual ext::set< node_typesuccessors (const node_type &n) const =0
 
virtual ext::vector< TEdge > successorEdges (const node_type &n) const =0
 
virtual ext::set< node_typepredecessors (const node_type &n) const =0
 
virtual ext::vector< TEdge > predecessorEdges (const node_type &n) const =0
 
virtual std::string name () const =0
 
- Public Member Functions inherited from grid::GridBase
virtual ~GridBase () noexcept=default
 
virtual void operator>> (ext::ostream &os) const =0
 

Member Typedef Documentation

◆ coordinate_type

template<typename TCoordinate , typename TEdge >
using grid::GridInterface< TCoordinate, TEdge >::coordinate_type = TCoordinate

◆ edge_type

template<typename TCoordinate , typename TEdge >
using grid::GridInterface< TCoordinate, TEdge >::edge_type = TEdge

◆ node_type

template<typename TCoordinate , typename TEdge >
using grid::GridInterface< TCoordinate, TEdge >::node_type = ext::pair<TCoordinate, TCoordinate>

Member Function Documentation

◆ edgeCount()

template<typename TCoordinate , typename TEdge >
virtual size_t grid::GridInterface< TCoordinate, TEdge >::edgeCount ( ) const
pure virtual

◆ getEdges()

template<typename TCoordinate , typename TEdge >
virtual ext::vector< TEdge > grid::GridInterface< TCoordinate, TEdge >::getEdges ( ) const
pure virtual

◆ getNodes()

template<typename TCoordinate , typename TEdge >
virtual ext::set< node_type > grid::GridInterface< TCoordinate, TEdge >::getNodes ( ) const
pure virtual

◆ name()

template<typename TCoordinate , typename TEdge >
virtual std::string grid::GridInterface< TCoordinate, TEdge >::name ( ) const
pure virtual

Implemented in grid::SquareGrid4< TCoordinate, TEdge >, grid::SquareGrid8< TCoordinate, TEdge >, grid::WeightedSquareGrid4< TCoordinate, TEdge >, and grid::WeightedSquareGrid8< TCoordinate, TEdge >.

Here is the caller graph for this function:

◆ nodeCount()

template<typename TCoordinate , typename TEdge >
virtual size_t grid::GridInterface< TCoordinate, TEdge >::nodeCount ( ) const
pure virtual

◆ predecessorEdges()

template<typename TCoordinate , typename TEdge >
virtual ext::vector< TEdge > grid::GridInterface< TCoordinate, TEdge >::predecessorEdges ( const node_type n) const
pure virtual

◆ predecessors()

template<typename TCoordinate , typename TEdge >
virtual ext::set< node_type > grid::GridInterface< TCoordinate, TEdge >::predecessors ( const node_type n) const
pure virtual

◆ successorEdges()

template<typename TCoordinate , typename TEdge >
virtual ext::vector< TEdge > grid::GridInterface< TCoordinate, TEdge >::successorEdges ( const node_type n) const
pure virtual

◆ successors()

template<typename TCoordinate , typename TEdge >
virtual ext::set< node_type > grid::GridInterface< TCoordinate, TEdge >::successors ( const node_type n) const
pure virtual

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