Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
GraphCommon< GT, Node, Arc >::Out_Filt Struct Reference

Filter for output arcs of a node. More...

#include <graph-dry.H>

Public Member Functions

 Out_Filt (Node *__src) noexcept
 source node of iteration
 
bool operator() (Arc *a) const noexcept
 Return true if a is a outcoming arc from src; false otherwise.
 
Nodeget_node (Arc *a) const noexcept
 Return the source node of arc a (whose target is tgt)
 

Public Attributes

Nodesrc = nullptr
 

Detailed Description

template<class GT, class Node, class Arc>
struct GraphCommon< GT, Node, Arc >::Out_Filt

Filter for output arcs of a node.

This class is intended to be used in a arc iterator for only shwoing the output arcs.

When an arc is created, the source and target nodes are specified. For example:

auto a = g.insert_arc(s, t)

creates an arc linking the nodes s and t. If g is a directed graph, then the notion of source and target has an esential sense. In this case \(s \longrightarrow t \ neq t \longrightarrow s\). The classes List_Digraph, List_SDigraph and Array_Digraph were conceived for explicit modeling of directed graphs.

However, sometimes is very useful to consider the sense \(s \longrightarrow t\) i graph classes that do not explicitely model the sense. The Out_Filt filter used in combination with a filter iterator on arcs, is used for filtering arcs whose source is connected to the node on the which one is iterating.

This class in intensively used in Aleph-w ( \(\aleph_\omega\)) network flows, which, in order to directly have the residual net, use non-directed graphs instead of directed ones.

Normally you must not worry by the existence of this class. It is transparently used by the class Out_Iterator

Definition at line 2919 of file graph-dry.H.

Constructor & Destructor Documentation

◆ Out_Filt()

template<class GT , class Node , class Arc >
GraphCommon< GT, Node, Arc >::Out_Filt::Out_Filt ( Node __src)
inlinenoexcept

source node of iteration

Build a output filter of arc outcoming from __src

Definition at line 2924 of file graph-dry.H.

Member Function Documentation

◆ get_node()

template<class GT , class Node , class Arc >
Node * GraphCommon< GT, Node, Arc >::Out_Filt::get_node ( Arc a) const
inlinenoexcept

Return the source node of arc a (whose target is tgt)

Definition at line 2937 of file graph-dry.H.

References GraphCommon< GT, Node, Arc >::Out_Filt::src.

◆ operator()()

template<class GT , class Node , class Arc >
bool GraphCommon< GT, Node, Arc >::Out_Filt::operator() ( Arc a) const
inlinenoexcept

Return true if a is a outcoming arc from src; false otherwise.

Definition at line 2930 of file graph-dry.H.

References GraphCommon< GT, Node, Arc >::Out_Filt::src.

Member Data Documentation

◆ src

template<class GT , class Node , class Arc >
Node* GraphCommon< GT, Node, Arc >::Out_Filt::src = nullptr

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