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

#include <DirectedAcyclicGraph.hpp>

Inheritance diagram for fishnet::graph::DirectedAcyclicGraph< G >:
Collaboration diagram for fishnet::graph::DirectedAcyclicGraph< G >:

Public Member Functions

 DirectedAcyclicGraph (G &&underlyingGraph)
 
 DirectedAcyclicGraph (DirectedAcyclicGraph &&other)
 
 DirectedAcyclicGraph (const DirectedAcyclicGraph &other)
 
DirectedAcyclicGraph & operator= (const DirectedAcyclicGraph &other)
 
DirectedAcyclicGraph & operator= (DirectedAcyclicGraph &&other)
 
 DirectedAcyclicGraph ()
 
bool addEdge (const N &from, const N &to) noexcept
 
bool addEdge (N &&from, N &&to) noexcept
 
bool addEdge (const E &edge) noexcept
 
void addEdges (util::forward_range_of< std::pair< N, N > > auto &&edges) noexcept
 
void addEdges (util::forward_range_of< E > auto &&edges) noexcept
 
size_t inDegree (const N &node) const noexcept
 
size_t outDegree (const N &node) const noexcept
 
util::forward_range_of< N > auto rootNodes () const noexcept
 
- Public Member Functions inherited from fishnet::graph::GraphDecorator< DirectedAcyclicGraph< G >, G >
bool addNode (N &node)
 
bool addNode (N &&node)
 
bool addNode (const N &node, Args... args)
 
bool addNode (N &&node, Args... args)
 
bool addNodes (util::forward_range_of< N > auto &nodes)
 
bool addNodes (util::forward_range_of< N > auto &&nodes)
 
bool containsNode (const N &node) const noexcept
 
void removeNode (const N &node)
 
bool addEdge (const N &from, const N &to)
 
bool addEdge (N &&from, N &&to)
 
bool addEdge (const typename G::edge_type &edge)
 
void addEdges (util::forward_range_of< std::pair< N, N > > auto &&edges)
 
void addEdges (util::forward_range_of< typename G::edge_type > auto &&edges)
 
bool containsEdge (const N &from, const N &to) const noexcept
 
bool containsEdge (const typename G::edge_type &edge) const noexcept
 
void removeEdge (const N &from, const N &to)
 
void removeEdge (const typename G::edge_type &edge)
 
typename G::edge_type makeEdge (const N &from, const N &to) const
 
auto getNodes () const noexcept
 
auto getEdges () const
 
auto getNeighbours (const N &node) const noexcept
 
auto getReachableFrom (const N &node) const noexcept
 
auto getOutboundEdges (const N &node) const
 
auto getInboundEdges (const N &node) const
 
const auto & getAdjacencyContainer () const
 
void clear ()
 
virtual ~GraphDecorator ()=default
 

Additional Inherited Members

- Public Types inherited from fishnet::graph::GraphDecorator< DirectedAcyclicGraph< G >, G >
using edge_type = typename G::edge_type
 
using adj_container_type = G::adj_container_type
 
using node_type = N
 
- Protected Types inherited from fishnet::graph::GraphDecorator< DirectedAcyclicGraph< G >, G >
using N = G::node_type
 
- Protected Member Functions inherited from fishnet::graph::GraphDecorator< DirectedAcyclicGraph< G >, G >
 GraphDecorator ()=default
 
 GraphDecorator (G &&source)
 
 GraphDecorator (typename G::adj_container_type &&adjContainer)
 
 GraphDecorator (util::forward_range_of< N > auto &&nodes)
 
- Protected Attributes inherited from fishnet::graph::GraphDecorator< DirectedAcyclicGraph< G >, G >
G g
 

Constructor & Destructor Documentation

◆ DirectedAcyclicGraph() [1/4]

template<class G >
fishnet::graph::DirectedAcyclicGraph< G >::DirectedAcyclicGraph ( G &&  underlyingGraph)
inline

◆ DirectedAcyclicGraph() [2/4]

template<class G >
fishnet::graph::DirectedAcyclicGraph< G >::DirectedAcyclicGraph ( DirectedAcyclicGraph< G > &&  other)
inline

◆ DirectedAcyclicGraph() [3/4]

template<class G >
fishnet::graph::DirectedAcyclicGraph< G >::DirectedAcyclicGraph ( const DirectedAcyclicGraph< G > &  other)
inline

◆ DirectedAcyclicGraph() [4/4]

template<class G >
fishnet::graph::DirectedAcyclicGraph< G >::DirectedAcyclicGraph ( )
inline

Member Function Documentation

◆ addEdge() [1/3]

template<class G >
bool fishnet::graph::DirectedAcyclicGraph< G >::addEdge ( const E &  edge)
inlinenoexcept

◆ addEdge() [2/3]

template<class G >
bool fishnet::graph::DirectedAcyclicGraph< G >::addEdge ( const N &  from,
const N &  to 
)
inlinenoexcept

◆ addEdge() [3/3]

template<class G >
bool fishnet::graph::DirectedAcyclicGraph< G >::addEdge ( N &&  from,
N &&  to 
)
inlinenoexcept

◆ addEdges() [1/2]

template<class G >
void fishnet::graph::DirectedAcyclicGraph< G >::addEdges ( util::forward_range_of< E > auto &&  edges)
inlinenoexcept

◆ addEdges() [2/2]

template<class G >
void fishnet::graph::DirectedAcyclicGraph< G >::addEdges ( util::forward_range_of< std::pair< N, N > > auto &&  edges)
inlinenoexcept

◆ inDegree()

template<class G >
size_t fishnet::graph::DirectedAcyclicGraph< G >::inDegree ( const N &  node) const
inlinenoexcept

◆ operator=() [1/2]

template<class G >
DirectedAcyclicGraph & fishnet::graph::DirectedAcyclicGraph< G >::operator= ( const DirectedAcyclicGraph< G > &  other)
inline

◆ operator=() [2/2]

template<class G >
DirectedAcyclicGraph & fishnet::graph::DirectedAcyclicGraph< G >::operator= ( DirectedAcyclicGraph< G > &&  other)
inline

◆ outDegree()

template<class G >
size_t fishnet::graph::DirectedAcyclicGraph< G >::outDegree ( const N &  node) const
inlinenoexcept

◆ rootNodes()

template<class G >
util::forward_range_of< N > auto fishnet::graph::DirectedAcyclicGraph< G >::rootNodes ( ) const
inlinenoexcept

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