Fishnet 2.0.1
Framework for Graph-Based Analysis of GIS Vector Data
Loading...
Searching...
No Matches
fishnet::graph::AdjacencyContainerDecorator< AdjDelegate > Class Template Reference

A decorator for adjacency containers that adds additional functionality. More...

#include <AdjacencyContainerDecorator.hpp>

Inheritance diagram for fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >:

Public Types

using node_type = typename AdjDelegate::node_type
 
using equality_predicate = typename AdjDelegate::equality_predicate
 
using hash_function = typename AdjDelegate::hash_function
 

Public Member Functions

 AdjacencyContainerDecorator (const AdjDelegate &delegate)
 
 AdjacencyContainerDecorator (AdjDelegate &&delegate)
 
void addAdjacency (const N &from, const N &to)
 
void addAdjacency (N &&from, N &&to)
 
void addAdjacencies (util::forward_range_of< std::pair< N, N > > auto &&pairs)
 
bool addNode (const N &node)
 
bool addNode (N &&node)
 
bool addNodes (util::forward_range_of< N > auto &&nodes)
 
void removeNode (const N &node)
 
void removeNodes (util::forward_range_of< N > auto &&nodes)
 
void removeAdjacency (const N &from, const N &to)
 
void removeAdjacencies (util::forward_range_of< std::pair< N, N > > auto &&pairs)
 
bool contains (const N &node) const noexcept
 
bool hasAdjacency (const N &from, const N &to) const noexcept
 
auto adjacency (const N &node) const noexcept
 
auto nodes () const noexcept
 
auto getAdjacencyPairs () const noexcept
 
void clear () noexcept
 

Detailed Description

template<class AdjDelegate>
class fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >

A decorator for adjacency containers that adds additional functionality.

Template Parameters
AdjDelegateThe type of the adjacency container to decorate.
NThe type of the nodes in the graph.

Member Typedef Documentation

◆ equality_predicate

template<class AdjDelegate >
using fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::equality_predicate = typename AdjDelegate::equality_predicate

◆ hash_function

template<class AdjDelegate >
using fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::hash_function = typename AdjDelegate::hash_function

◆ node_type

template<class AdjDelegate >
using fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::node_type = typename AdjDelegate::node_type

Constructor & Destructor Documentation

◆ AdjacencyContainerDecorator() [1/2]

template<class AdjDelegate >
fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::AdjacencyContainerDecorator ( const AdjDelegate &  delegate)
inline

◆ AdjacencyContainerDecorator() [2/2]

template<class AdjDelegate >
fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::AdjacencyContainerDecorator ( AdjDelegate &&  delegate)
inline

Member Function Documentation

◆ addAdjacencies()

template<class AdjDelegate >
void fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::addAdjacencies ( util::forward_range_of< std::pair< N, N > > auto &&  pairs)
inline

◆ addAdjacency() [1/2]

template<class AdjDelegate >
void fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::addAdjacency ( const N &  from,
const N &  to 
)
inline

◆ addAdjacency() [2/2]

template<class AdjDelegate >
void fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::addAdjacency ( N &&  from,
N &&  to 
)
inline

◆ addNode() [1/2]

template<class AdjDelegate >
bool fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::addNode ( const N &  node)
inline

◆ addNode() [2/2]

template<class AdjDelegate >
bool fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::addNode ( N &&  node)
inline

◆ addNodes()

template<class AdjDelegate >
bool fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::addNodes ( util::forward_range_of< N > auto &&  nodes)
inline

◆ adjacency()

template<class AdjDelegate >
auto fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::adjacency ( const N &  node) const
inlinenoexcept

◆ clear()

template<class AdjDelegate >
void fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::clear ( )
inlinenoexcept

◆ contains()

template<class AdjDelegate >
bool fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::contains ( const N &  node) const
inlinenoexcept

◆ getAdjacencyPairs()

template<class AdjDelegate >
auto fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::getAdjacencyPairs ( ) const
inlinenoexcept

◆ hasAdjacency()

template<class AdjDelegate >
bool fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::hasAdjacency ( const N &  from,
const N &  to 
) const
inlinenoexcept

◆ nodes()

template<class AdjDelegate >
auto fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::nodes ( ) const
inlinenoexcept

◆ removeAdjacencies()

template<class AdjDelegate >
void fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::removeAdjacencies ( util::forward_range_of< std::pair< N, N > > auto &&  pairs)
inline

◆ removeAdjacency()

template<class AdjDelegate >
void fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::removeAdjacency ( const N &  from,
const N &  to 
)
inline

◆ removeNode()

template<class AdjDelegate >
void fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::removeNode ( const N &  node)
inline

◆ removeNodes()

template<class AdjDelegate >
void fishnet::graph::AdjacencyContainerDecorator< AdjDelegate >::removeNodes ( util::forward_range_of< N > auto &&  nodes)
inline

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