Loading...
Searching...
No Matches
FilterNodes< GR, NF > Class Template Reference
Data Structures » Graph Structures » Adaptor Classes for Graphs

## Detailed Description

template<typename GR, typename NF>
class lemon::FilterNodes< GR, NF >

FilterNodes adaptor can be used for hiding nodes in a digraph or a graph. A `bool` node map must be specified, which defines the filter for the nodes. Only the nodes with `true` filter value and the arcs/edges incident to nodes both with `true` filter value are shown in the subgraph. This adaptor conforms to the Digraph concept or the Graph concept depending on the `GR` template parameter.

The adapted (di)graph can also be modified through this adaptor by adding or removing nodes or arcs/edges, unless the `GR` template parameter is set to be `const`.

This class provides only linear time item counting.

Template Parameters

  GR | The type of the adapted digraph or graph. It must conform to the Digraph concept or the Graph concept. It can also be specified to be `const`.
  NF | The type of the node filter map. It must be a `bool` (or convertible) node map of the adapted (di)graph. The default type is GR::NodeMap<bool>.

Note
  The `Node` and Arc/Edge types of this adaptor and the adapted (di)graph are convertible to each other.

`#include <lemon/adaptors.h>`

## Public Member Functions

| FilterNodes (GR &graph, NF &node_filter)
| Constructor.
void | status (const Node &n, bool v) const
| Sets the status of the given node.
bool | status (const Node &n) const
| Returns the status of the given node.
void | disable (const Node &n) const
| Disables the given node.
void | enable (const Node &n) const
| Enables the given node.

## Related Symbols

(Note that these are not member symbols.)
template<typename GR, typename NF>
FilterNodes< const GR, NF > | filterNodes (const GR &graph, NF &node_filter)
| Returns a read-only FilterNodes adaptor.

## Constructor & Destructor Documentation

## FilterNodes()

template<typename GR, typename NF>

FilterNodes | ( | GR & | graph,
|  | NF & | node_filter )

inline

Creates a subgraph for the given digraph or graph with the given node filter map.

## Member Function Documentation

## status() [1/2]

template<typename GR, typename NF>

void status | ( | const Node & | n,
|  | bool | v ) const

inline

This function sets the status of the given node. It is done by simply setting the assigned value of `n` to `v` in the node filter map.

## status() [2/2]

template<typename GR, typename NF>

bool status | ( | const Node & | n | ) | const

inline

This function returns the status of the given node. It is `true` if the given node is enabled (i.e. not hidden).

## disable()

template<typename GR, typename NF>

void disable | ( | const Node & | n | ) | const

inline

This function disables the given node, so the iteration jumps over it. It is the same as status(n, false).

## enable()

template<typename GR, typename NF>

void enable | ( | const Node & | n | ) | const

inline

This function enables the given node. It is the same as status(n, true).