My Project
Loading...
Searching...
No Matches
IterableBoolMap< GR, K > Class Template Reference

Detailed Description

template<typename GR, typename K>
class lemon::IterableBoolMap< GR, K >

This class provides a special graph map type which can store a bool value for graph items (Node, Arc or Edge). For both true and false values it is possible to iterate on the keys mapped to the value.

This type is a reference map, so it can be modified with the subscript operator.

Template Parameters
GRThe graph type.
KThe key type of the map (GR::Node, GR::Arc or GR::Edge).
See also
IterableIntMap, IterableValueMap
CrossRefMap

#include <lemon/maps.h>

Classes

class  FalseIt
 Iterator for the keys mapped to false. More...
 
class  ItemIt
 Iterator for the keys mapped to a given value. More...
 
class  Reference
 Reference to the value of the map. More...
 
class  TrueIt
 Iterator for the keys mapped to true. More...
 

Public Types

typedef True ReferenceMapTag
 Indicates that the map is reference map.
 
typedef K Key
 The key type.
 
typedef bool Value
 The value type.
 
typedef const ValueConstReference
 The const reference type.
 

Public Member Functions

 IterableBoolMap (const Graph &graph, bool def=false)
 Constructor of the map with a default value.
 
bool operator[] (const Key &key) const
 Const subscript operator of the map.
 
Reference operator[] (const Key &key)
 Subscript operator of the map.
 
void set (const Key &key, bool value)
 Set operation of the map.
 
void setAll (bool value)
 Set all items.
 
int trueNum () const
 Returns the number of the keys mapped to true.
 
int falseNum () const
 Returns the number of the keys mapped to false.
 

Constructor & Destructor Documentation

◆ IterableBoolMap()

template<typename GR , typename K >
IterableBoolMap ( const Graph & graph,
bool def = false )
inlineexplicit

Constructor of the map with a default value.

Member Function Documentation

◆ operator[]() [1/2]

template<typename GR , typename K >
bool operator[] ( const Key & key) const
inline

Const subscript operator of the map.

◆ operator[]() [2/2]

template<typename GR , typename K >
Reference operator[] ( const Key & key)
inline

Subscript operator of the map.

◆ set()

template<typename GR , typename K >
void set ( const Key & key,
bool value )
inline

Set operation of the map.

◆ setAll()

template<typename GR , typename K >
void setAll ( bool value)
inline

Set all items in the map.

Note
Constant time operation.

◆ trueNum()

template<typename GR , typename K >
int trueNum ( ) const
inline

Returns the number of the keys mapped to true.

◆ falseNum()

template<typename GR , typename K >
int falseNum ( ) const
inline

Returns the number of the keys mapped to false.