Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
#include <SquareGrid8.hpp>
Public Types | |
using | coordinate_type = TCoordinate |
using | edge_type = TEdge |
using | node_type = ext::pair< TCoordinate, TCoordinate > |
using | direction_type = SquareGridDirections |
![]() | |
using | coordinate_type = TCoordinate |
using | edge_type = TEdge |
using | node_type = ext::pair< TCoordinate, TCoordinate > |
using | direction_type = SquareGridDirections |
![]() | |
using | coordinate_type = TCoordinate |
using | edge_type = TEdge |
using | node_type = ext::pair< TCoordinate, TCoordinate > |
Public Member Functions | |
SquareGrid8 (TCoordinate height, TCoordinate width) | |
auto | operator<=> (const SquareGrid8 &other) const |
bool | operator== (const SquareGrid8 &other) const |
bool | isValidDirection (direction_type direction) const override |
![]() | |
SquareGrid (TCoordinate height, TCoordinate width) | |
const ext::set< node_type > & | getObstacleList () const & |
ext::set< node_type > && | getObstacleList () && |
void | operator>> (ext::ostream &ostream) const override |
TCoordinate | getHeight () const |
TCoordinate | getWidth () const |
virtual void | resize (TCoordinate height, TCoordinate width) |
virtual void | addObstacle (const node_type &n) |
virtual void | addObstacle (node_type &&n) |
virtual void | addObstacle (TCoordinate &&x, TCoordinate &&y) |
virtual ext::pair< bool, node_type > | step (const node_type &n, direction_type direction) const |
virtual ext::pair< bool, TEdge > | stepEdge (const node_type &n, direction_type direction) const |
virtual bool | isObstacle (const node_type &n) const |
virtual bool | isNode (const node_type &n) const |
virtual std::string | toStringAs (const ext::map< node_type, char > &map) const |
size_t | nodeCount () const override |
size_t | edgeCount () const override |
ext::set< node_type > | getNodes () const override |
ext::vector< TEdge > | getEdges () const override |
ext::set< node_type > | successors (const node_type &n) const override |
ext::vector< TEdge > | successorEdges (const node_type &n) const override |
ext::set< node_type > | predecessors (const node_type &n) const override |
ext::vector< TEdge > | predecessorEdges (const node_type &n) const override |
![]() | |
virtual | ~GridBase () noexcept=default |
Protected Member Functions | |
TEdge | createEdge (const node_type &a, const node_type &b) const override |
std::string | name () const override |
![]() | |
virtual bool | checkCoordinates (const node_type &coordinate) const |
virtual void | throwCoordinates (const node_type &coordinate) const |
Additional Inherited Members | |
![]() | |
TCoordinate | m_height |
TCoordinate | m_width |
ext::set< node_type > | m_obstacles |
using grid::SquareGrid8< TCoordinate, TEdge >::coordinate_type = TCoordinate |
using grid::SquareGrid8< TCoordinate, TEdge >::direction_type = SquareGridDirections |
using grid::SquareGrid8< TCoordinate, TEdge >::edge_type = TEdge |
using grid::SquareGrid8< TCoordinate, TEdge >::node_type = ext::pair<TCoordinate, TCoordinate> |
|
explicit |
|
overrideprotectedvirtual |
Implements grid::SquareGrid< TCoordinate, TEdge >.
|
overridevirtual |
Implements grid::SquareGrid< TCoordinate, TEdge >.
|
overrideprotectedvirtual |
Implements grid::GridInterface< TCoordinate, TEdge >.
|
inline |
|
inline |