SettingOrderBoolMap Class Template Reference
[Map Adaptors]

#include <lemon/maps.h>

List of all members.


Detailed Description

template<typename Map>
class lemon::SettingOrderBoolMap< Map >

Writable bool map which stores for each true assigned elements the setting order number. It make easy to calculate the leaving order of the nodes in the Dfs algorithm.

      typedef Graph::NodeMap<int> OrderMap;
      OrderMap order(graph);
      typedef SettingOrderBoolMap<OrderMap> OrderSetterMap;
      OrderSetterMap setter(order);
      Dfs<Graph>::DefProcessedMap<OrderSetterMap>::Create dfs(graph);
      dfs.processedMap(setter);
      dfs.init();
      for (NodeIt it(graph); it != INVALID; ++it) {
        if (!dfs.reached(it)) {
          dfs.addSource(it);
          dfs.start();
        }
      }

The discovering order can be stored a little harder because the ReachedMap should be readable in the dfs algorithm but the setting order map is not readable. Now we should use the fork map:

      typedef Graph::NodeMap<int> OrderMap;
      OrderMap order(graph);
      typedef SettingOrderBoolMap<OrderMap> OrderSetterMap;
      OrderSetterMap setter(order);
      typedef Graph::NodeMap<bool> StoreMap;
      StoreMap store(graph);
     
      typedef ForkWriteMap<StoreMap, OrderSetterMap> ReachedMap;
      ReachedMap reached(store, setter);
     
      Dfs<Graph>::DefReachedMap<ReachedMap>::Create dfs(graph);
      dfs.reachedMap(reached);
      dfs.init();
      for (NodeIt it(graph); it != INVALID; ++it) {
        if (!dfs.reached(it)) {
          dfs.addSource(it);
          dfs.start();
        }
      }


Public Member Functions

 SettingOrderBoolMap (Map &_map)
 Constructor.
int num () const
 Number of set operations.
void set (const Key &key, Value value)
 Setter function of the map.


The documentation for this class was generated from the following file:
Generated on Tue Oct 31 09:51:10 2006 for LEMON by  doxygen 1.5.1