time_stamper<TimeMap, TimeT, EventTag>
bfs_visitor や dfs_visitor などのアルゴリズム別のアダプタでラップする事で、 time_stamper を グラフアルゴリズムで使えるようになる。また、std::pair を使って他のイベントビジタと結合して、 EventVisitorList を作れる。
std::vectorcolor(num_vertices(G)); std::vector dtime(num_vertices(G)); std::vector ftime(num_vertices(G)); int time = 0; boost::breadth_first_search (G, vertex(s, G), make_bfs_visitor( std::make_pair(stamp_times(dtime.begin(), time, on_discover_vertex()), stamp_times(ftime.begin(), time, on_finish_vertex()))), color.begin());
パラメータ | 説明 | デフォルト |
---|---|---|
TimeMap | WritablePropertyMap 。key_type はグラフの頂点記述子型か辺記述子型 (イベントタグの種類で決まる) 、value_type は TimeT 型から変換可能な型でなければならない。 | |
TimeT | 時刻カウント用の型。時刻プロパティマップの value_type に変換可能でなければならない。 | |
EventTag | グラフアルゴリズム中、いつ time_stamper が呼び出されるかを指定するタグ。 |
型 | 説明 |
---|---|
time_stamper::event_filter | テンプレートパラメータ EventTag と同じ型。 |
メンバ | 説明 |
---|---|
time_stamper(TimeMap time_pa, TimeT& t); | 時刻プロパティマップ time_pa と時刻カウンタ t を使って time_stamter オブジェクトを構築する。 |
template <class X, class Graph> void operator()(X x, const Graph& g); |
時刻をインクリメントし、その時刻を (辺や頂点に) "記録"する。つまり、 put(time_pa, x, ++t); |
関数 | 説明 |
---|---|
template <class TimeMap, class TimeT, class Tag> time_stamper<TimeMap, TimeT, Tag> stamp_times(TimeMap pa, TimeT& t, Tag); | time_stamper を作る便利な方法。 |
イベントビジタ: distance_recorder 、
time_stamper 、
property_writer 。
Copyright © 2000-2001 |
Jeremy Siek,
Indiana University (jsiek@osl.iu.edu) Lie-Quan Lee, Indiana University (llee@cs.indiana.edu) Andrew Lumsdaine, Indiana University (lums@osl.iu.edu) |
Japanese Translation Copyright © 2003 Hiroshi Ichikawa
オリジナルの、及びこの著作権表示が全ての複製の中に現れる限り、この文書の複製、利用、変更、販売そして配布を認める。このドキュメントは「あるがまま」に提供されており、いかなる明示的、暗黙的保証も行わない。また、いかなる目的に対しても、その利用が適していることを関知しない。
このドキュメントの対象: Boost Version 1.29.0
最新版ドキュメント (英語)