Giriş
Şu satırı dahil ederiz.
Birinci parametre çağrılacak metod veya üye alandır. İkinci parametre ise vertex dizisidir.
Örnek
Elimizde bir graph olsun
Şu satırı dahil ederiz.
#include <boost/property_map/transform_value_property_map.hpp>
Graph'ı dolaşırken belirtilen metodu çağırarak graph vertex'inden bilgi almayı sağlar.Birinci parametre çağrılacak metod veya üye alandır. İkinci parametre ise vertex dizisidir.
Örnek
Elimizde bir graph olsun
using Graph = boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS,
std::shared_ptr<Foo> >;
Bu graph'ı dolduralım ve daha sonra ekranda göstermek isteyelim. Şöyle yaparız.#include <boost/graph/graph_utility.hpp>
void DebugPrint(std::string const& caption, Graph const& g) {
auto name_map = boost::make_transform_value_property_map(std::mem_fn(&Foo::name),
get(boost::vertex_bundle, g));
boost::print_graph(g, name_map, std::cout << "==== " << caption << "\n");
}
Metodu çağırmak için şöyle yaparız.DebugPrint("graph", g);
Çıktı olarak şunu alırız==== graph
Foo 0 --> Foo 1
Foo 1 -->
Hiç yorum yok:
Yorum Gönder