如何从boost图形库设置和获取图形属性?

use*_*141 3 boost graph boost-graph

我不知道如何从 adjacency_list 图中设置和获取 graph_name 作为属性。我能够放置和获取顶点和边缘属性。

任何帮助,将不胜感激。

rav*_*int 5

首先是定义类来保存顶点、边和图的属性

class cVertexProps {
...
}
class cEdgeProps {
...
}
class cGraphProps {
public:
    std::string myName;
    ...
};
Run Code Online (Sandbox Code Playgroud)

现在定义你的图表

typedef boost::adjacency_list <
    boost::vecS, boost::vecS, boost::undirectedS,
    cVertexProps, cEdgeProps, cGraphProps  >
            graph_t;
graph_t myGraph;
Run Code Online (Sandbox Code Playgroud)

...所以设置你的图形名称

myGraph[graph_bundle].myName= "My First Graph";
Run Code Online (Sandbox Code Playgroud)

这使用“捆绑属性”,此处描述:http : //www.boost.org/doc/libs/1_55_0/libs/graph/doc/bundles.html