FilterNodes< GR, NF > Class Template Reference

- Main Page
- Modules
- Classes
- Namespaces
- Files
- Related Pages

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members | Public Member Functions | Related Functions
FilterNodes< GR, NF > Class Template Reference
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. More...
void | status (const Node &n, bool v) const
| Sets the status of the given node. More...
bool | status (const Node &n) const
| Returns the status of the given node. More...
void | disable (const Node &n) const
| Disables the given node. More...
void | enable (const Node &n) const
| Enables the given node. More...

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

## Constructor & Destructor Documentation

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

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.

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).

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).

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

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