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

Concurrent specialization for computing connected components. More...

#include <ConnectedComponents.hpp>

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

Public Member Functions

 ConcurrentConnectedComponents (QueuePtr q)
 
 ~ConcurrentConnectedComponents ()=default
 
- Public Member Functions inherited from fishnet::graph::ConnectedComponents< N, Hash, Equal >
 ConnectedComponents ()
 
std::vector< std::vector< N > > get () const noexcept
 
std::unordered_map< size_t, std::vector< N > > getAsMap () &noexcept
 Get connected components as a Map: ID -> std::vector<N>
 
std::unordered_map< size_t, std::vector< N > > getAsMap () &&noexcept
 Get connected components as a Map: ID -> std::vector<N>
 
std::unordered_map< N, int, Hash, Equal > nodeMap () const noexcept
 Get connected components as a Map: Node -> component-id.
 
 ~ConnectedComponents ()=default
 

Protected Member Functions

void onComponentClose (size_t component_index) noexcept override
 
- Protected Member Functions inherited from fishnet::graph::ConnectedComponents< N, Hash, Equal >
void onComponentOpen (size_t component_index) noexcept override
 
void onComponentClose (size_t component_index) noexcept override
 
void onNodeOpen (const N &node, size_t component_index) noexcept override
 
void onEdgeOpen (const N &from, const N &to, size_t component_index) noexcept override
 

Additional Inherited Members

- Public Types inherited from fishnet::graph::ConnectedComponents< N, Hash, Equal >
using node_type = N
 
- Protected Attributes inherited from fishnet::graph::ConnectedComponents< N, Hash, Equal >
std::vector< std::vector< N > > components
 

Detailed Description

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

Concurrent specialization for computing connected components.

Template Parameters
Nnode type
Hashhasher type on nodes
Equalcomparator type on nodes

Constructor & Destructor Documentation

◆ ConcurrentConnectedComponents()

template<typename N , util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
fishnet::graph::ConcurrentConnectedComponents< N, Hash, Equal >::ConcurrentConnectedComponents ( QueuePtr  q)
inline

◆ ~ConcurrentConnectedComponents()

template<typename N , util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
fishnet::graph::ConcurrentConnectedComponents< N, Hash, Equal >::~ConcurrentConnectedComponents ( )
default

Member Function Documentation

◆ onComponentClose()

template<typename N , util::HashFunction< N > Hash = std::hash<N>, fishnet::util::BiPredicate< N > Equal = std::equal_to<N>>
void fishnet::graph::ConcurrentConnectedComponents< N, Hash, Equal >::onComponentClose ( size_t  component_index)
inlineoverrideprotectednoexcept

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