最終更新日時:
が更新

履歴 編集

bfs_visitor<EventVisitorList>

このクラスは、(std::pair を使って作られる) EventVisitor のリストを BFSVisitor に変換するアダプタである。

コード例

以下は examples/bfs.cpp からの抜粋である。ここでは 3 つのイベントビジタを結合して BFS ビジタを作っている。関数 boost::record_distancesboost::record_predecessorscopy_graph は全て、イベントビジタを作る関数だ。

// Construct graph G and obtain the source vertex s ...

boost::breadth_first_search(G, s, 
 boost::make_bfs_visitor(
  std::make_pair(boost::record_distances(d, boost::on_tree_edge()),
  std::make_pair(boost::record_predecessors(p.begin(), 
                                            boost::on_tree_edge()),
                 copy_graph(G_copy, boost::on_examine_edge())))) );

モデル

BFSVisitor

テンプレートパラメータ

パラメータ 説明 デフォルト
EventVisitorList std::pair で作られた EventVisitor のリスト。 null_visitor

定義場所

boost/graph/breadth_first_search.hpp

メンバ関数

このクラスは BFSVisitor に要求される全てのメンバ関数を実装している。それぞれの関数で、適切なイベントが EventVisitorList の中の EventVisitor にディスパッチされる。

非メンバ関数

関数 説明
template <class EventVisitorList>
bfs_visitor<EventVisitorList>
make_bfs_visitor(EventVisitorList ev_list);
イベントビジタのリストを BFS ビジタに適合させたものを返す。

関連項目

Visitorコンセプト

イベントビジタ: predecessor_recorderdistance_recordertime_stamperproperty_writer


Copyright © 2000-2001

Japanese Translation Copyright © 2003 Hiroshi Ichikawa

オリジナルの、及びこの著作権表示が全ての複製の中に現れる限り、この文書の複製、利用、変更、販売そして配布を認める。このドキュメントは「あるがまま」に提供されており、いかなる明示的、暗黙的保証も行わない。また、いかなる目的に対しても、その利用が適していることを関知しない。