write_graphviz.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 59 行

CPP
59
字号
// Copyright 2007 Trustees of Indiana University// Use, modification and distribution is subject to the Boost Software// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)// A simple example of using write_graphviz to output a BGL adjacency_list// graph in GraphViz Dot format.// Author: Doug Gregor#include <boost/graph/graphviz.hpp>enum files_e { dax_h, yow_h, boz_h, zow_h, foo_cpp,                foo_o, bar_cpp, bar_o, libfoobar_a,               zig_cpp, zig_o, zag_cpp, zag_o,                  libzigzag_a, killerapp, N };const char* name[] = { "dax.h", "yow.h", "boz.h", "zow.h", "foo.cpp",                       "foo.o", "bar.cpp", "bar.o", "libfoobar.a",                       "zig.cpp", "zig.o", "zag.cpp", "zag.o",                       "libzigzag.a", "killerapp" };int main(int,char*[]){      typedef std::pair<int,int> Edge;  Edge used_by[] = {    Edge(dax_h, foo_cpp), Edge(dax_h, bar_cpp), Edge(dax_h, yow_h),    Edge(yow_h, bar_cpp), Edge(yow_h, zag_cpp),    Edge(boz_h, bar_cpp), Edge(boz_h, zig_cpp), Edge(boz_h, zag_cpp),    Edge(zow_h, foo_cpp),     Edge(foo_cpp, foo_o),    Edge(foo_o, libfoobar_a),    Edge(bar_cpp, bar_o),    Edge(bar_o, libfoobar_a),    Edge(libfoobar_a, libzigzag_a),    Edge(zig_cpp, zig_o),    Edge(zig_o, libzigzag_a),    Edge(zag_cpp, zag_o),    Edge(zag_o, libzigzag_a),    Edge(libzigzag_a, killerapp)  };  const int nedges = sizeof(used_by)/sizeof(Edge);  int weights[nedges];  std::fill(weights, weights + nedges, 1);  using namespace boost;  typedef adjacency_list< vecS, vecS, directedS,       property< vertex_color_t, default_color_type >,      property< edge_weight_t, int >    > Graph;  Graph g(used_by, used_by + nedges, weights, N);  write_graphviz(std::cout, g, make_label_writer(name));}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?