All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members | Public Types | Public Member Functions | Related Functions
FilterArcs< DGR, AF > Class Template Reference

Detailed Description

template<typename DGR, typename AF>
class lemon::FilterArcs< DGR, AF >

FilterArcs adaptor can be used for hiding arcs in a digraph. A bool arc map must be specified, which defines the filter for the arcs. Only the arcs with true filter value are shown in the subdigraph. This adaptor conforms to the Digraph concept.

The adapted digraph can also be modified through this adaptor by adding or removing nodes or arcs, unless the GR template parameter is set to be const.

This class provides only linear time counting for nodes and arcs.

Template Parameters
DGRThe type of the adapted digraph. It must conform to the Digraph concept. It can also be specified to be const.
AFThe type of the arc filter map. It must be a bool (or convertible) arc map of the adapted digraph. The default type is DGR::ArcMap<bool>.
Note
The Node and Arc types of this adaptor and the adapted digraph are convertible to each other.

#include <lemon/adaptors.h>

Public Types

typedef DGR Digraph
 The type of the adapted digraph.
 
typedef AF ArcFilterMap
 The type of the arc filter map.
 

Public Member Functions

 FilterArcs (DGR &digraph, ArcFilterMap &arc_filter)
 Constructor. More...
 
void status (const Arc &a, bool v) const
 Sets the status of the given arc. More...
 
bool status (const Arc &a) const
 Returns the status of the given arc. More...
 
void disable (const Arc &a) const
 Disables the given arc. More...
 
void enable (const Arc &a) const
 Enables the given arc. More...
 

Related Functions

(Note that these are not member functions.)

template<typename DGR , typename AF >
FilterArcs< const DGR, AF > filterArcs (const DGR &digraph, AF &arc_filter)
 Returns a read-only FilterArcs adaptor. More...
 

Constructor & Destructor Documentation

FilterArcs ( DGR &  digraph,
ArcFilterMap arc_filter 
)
inline

Creates a subdigraph for the given digraph with the given arc filter map.

Member Function Documentation

void status ( const Arc &  a,
bool  v 
) const
inline

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

bool status ( const Arc &  a) const
inline

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

void disable ( const Arc &  a) const
inline

This function disables the given arc in the subdigraph, so the iteration jumps over it. It is the same as status(a, false).

void enable ( const Arc &  a) const
inline

This function enables the given arc in the subdigraph. It is the same as status(a, true).