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

CRTP Abstraction of Search Results. More...

#include <SearchResult.hpp>

Inheritance diagram for fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >:
Collaboration diagram for fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >:

Public Types

using node_type = N
 

Public Member Functions

 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
 

Protected Attributes

std::unordered_map< N, NodeStatus, Hash, Equal > nodeStatus
 

Detailed Description

template<class ResultImpl, typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
class fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >

CRTP Abstraction of Search Results.

Template Parameters
ResultImplimplementing search result type
Nnode type
Hashhasher type on nodes
Equalcomparator type on nodes

Member Typedef Documentation

◆ node_type

template<class ResultImpl , typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
using fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >::node_type = N

Constructor & Destructor Documentation

◆ SearchResult()

template<class ResultImpl , typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >::SearchResult ( )
inline

◆ ~SearchResult()

template<class ResultImpl , typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
virtual fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >::~SearchResult ( )
virtualdefault

Member Function Documentation

◆ close()

template<class ResultImpl , typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
void fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >::close ( const N &  node)
inline

◆ getStatusOfNode()

template<class ResultImpl , typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
NodeStatus fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >::getStatusOfNode ( const N &  node) const
inline

◆ isClosed()

template<class ResultImpl , typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
bool fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >::isClosed ( const N &  node) const
inline

◆ isOpen()

template<class ResultImpl , typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
bool fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >::isOpen ( const N &  node) const
inline

◆ isUnknown()

template<class ResultImpl , typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
bool fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >::isUnknown ( const N &  node) const
inline

◆ onClose()

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

◆ onEdge()

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

◆ onOpen()

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

◆ open()

template<class ResultImpl , typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
void fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >::open ( const N &  node)
inline

◆ stop()

template<class ResultImpl , typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
bool fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >::stop ( ) const
inline

Member Data Documentation

◆ nodeStatus

template<class ResultImpl , typename N = ResultImpl::node_type, util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
std::unordered_map<N,NodeStatus,Hash,Equal> fishnet::graph::SearchResult< ResultImpl, N, Hash, Equal >::nodeStatus
protected

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