Fishnet 2.0.1
Framework for Graph-Based Analysis of GIS Vector Data
Loading...
Searching...
No Matches
fishnet::graph::SearchPath< E, Hash, Equal > Class Template Reference

Search Path implementation. More...

#include <SearchPath.hpp>

Inheritance diagram for fishnet::graph::SearchPath< E, Hash, Equal >:
Collaboration diagram for fishnet::graph::SearchPath< E, Hash, Equal >:

Public Types

using node_type = N
 
- Public Types inherited from fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >
using node_type = N
 

Public Member Functions

 SearchPath (const N &start, const N &goal)
 
void onOpen (const N &node)
 
void onClose (const N &node)
 
void onEdge (const N &from, const N &to)
 
bool stop () const
 
std::optional< std::vector< N > > get () const
 
 ~SearchPath ()=default
 
- Public Member Functions inherited from fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >
 SearchResult ()
 
void onOpen (const N &node)
 
void onClose (const N &node)
 
void onEdge (const N &from, const N &to)
 
bool stop () const
 
NodeStatus getStatusOfNode (const N &node) const
 
void open (const N &node)
 
void close (const N &node)
 
bool isOpen (const N &node) const
 
bool isClosed (const N &node) const
 
bool isUnknown (const N &node) const
 
virtual ~SearchResult ()=default
 

Additional Inherited Members

- Protected Attributes inherited from fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >
std::unordered_map< N, NodeStatus, Hash, Equal > nodeStatus
 

Detailed Description

template<Edge E, util::HashFunction< typename E::node_type > Hash = std::hash<typename E::node_type>, fishnet::util::BiPredicate< typename E::node_type > Equal = std::equal_to<typename E::node_type>>
class fishnet::graph::SearchPath< E, Hash, Equal >

Search Path implementation.

Template Parameters
Eedge type
std::hash<typenameE::node_type> hasher on node type of the edge type
std::equal_to<typenameE::node_type> comparator on node type of the edge type

Member Typedef Documentation

◆ node_type

template<Edge E, util::HashFunction< typename E::node_type > Hash = std::hash<typename E::node_type>, fishnet::util::BiPredicate< typename E::node_type > Equal = std::equal_to<typename E::node_type>>
using fishnet::graph::SearchPath< E, Hash, Equal >::node_type = N

Constructor & Destructor Documentation

◆ SearchPath()

template<Edge E, util::HashFunction< typename E::node_type > Hash = std::hash<typename E::node_type>, fishnet::util::BiPredicate< typename E::node_type > Equal = std::equal_to<typename E::node_type>>
fishnet::graph::SearchPath< E, Hash, Equal >::SearchPath ( const N &  start,
const N &  goal 
)
inline

◆ ~SearchPath()

template<Edge E, util::HashFunction< typename E::node_type > Hash = std::hash<typename E::node_type>, fishnet::util::BiPredicate< typename E::node_type > Equal = std::equal_to<typename E::node_type>>
fishnet::graph::SearchPath< E, Hash, Equal >::~SearchPath ( )
default

Member Function Documentation

◆ get()

template<Edge E, util::HashFunction< typename E::node_type > Hash = std::hash<typename E::node_type>, fishnet::util::BiPredicate< typename E::node_type > Equal = std::equal_to<typename E::node_type>>
std::optional< std::vector< N > > fishnet::graph::SearchPath< E, Hash, Equal >::get ( ) const
inline

◆ onClose()

template<Edge E, util::HashFunction< typename E::node_type > Hash = std::hash<typename E::node_type>, fishnet::util::BiPredicate< typename E::node_type > Equal = std::equal_to<typename E::node_type>>
void fishnet::graph::SearchPath< E, Hash, Equal >::onClose ( const N &  node)
inline

◆ onEdge()

template<Edge E, util::HashFunction< typename E::node_type > Hash = std::hash<typename E::node_type>, fishnet::util::BiPredicate< typename E::node_type > Equal = std::equal_to<typename E::node_type>>
void fishnet::graph::SearchPath< E, Hash, Equal >::onEdge ( const N &  from,
const N &  to 
)
inline

◆ onOpen()

template<Edge E, util::HashFunction< typename E::node_type > Hash = std::hash<typename E::node_type>, fishnet::util::BiPredicate< typename E::node_type > Equal = std::equal_to<typename E::node_type>>
void fishnet::graph::SearchPath< E, Hash, Equal >::onOpen ( const N &  node)
inline

◆ stop()

template<Edge E, util::HashFunction< typename E::node_type > Hash = std::hash<typename E::node_type>, fishnet::util::BiPredicate< typename E::node_type > Equal = std::equal_to<typename E::node_type>>
bool fishnet::graph::SearchPath< E, Hash, Equal >::stop ( ) const
inline

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