読者です 読者をやめる 読者になる 読者になる

Boost.Graph Graphviz形式ファイルの読み込み

C++

書き込みとは違い、読み込みにはGraphライブラリとRegexライブラリをビルドする必要があります。

#include <fstream>
#include <string>
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/graphviz.hpp>
#include <boost/graph/graph_utility.hpp>

typedef
    boost::adjacency_list<boost::listS, boost::vecS, boost::directedS,
        boost::no_property, boost::property<boost::edge_weight_t, int>>
Graph;

enum { A, B, C, D, E, N };
const std::string name = "ABCDE";

int main()
{
    std::ifstream file("test.dot");

    Graph g;
    boost::dynamic_properties dp(boost::ignore_other_properties);
    boost::read_graphviz(file, g, dp);

    boost::print_graph(g, name.c_str());
}
A --> B C D
B --> E
C --> E
D --> E
E -->