我有一個如下所示的相鄰列表定義。在這一點上,我需要訪問vertex_descriptor作爲int類型。我該怎麼做tvertex source = ...; int source_as_int = ???source???
我記得之前碰到過這個相同的問題並且解決了它,但是不記得BGL文檔是如何用作參考的,它們應該試着從Javadocs中學習和學習。如何訪問BGL的vertex_descriptor作爲int
另一種可能性是使用vertex_descriptor
類型的可能成員函數或者其他一些全局BGL函數用於此目的......一個人不知道在哪裏尋找這個,他們似乎隨機選擇做全局函數或成員功能,如果你問我,直覺設計就會失敗。
typedef adjacency_list_traits<setS, setS, bidirectionalS> ttraits;
typedef adjacency_list<setS, setS, bidirectionalS,
// vertex properties
property<vertex_color_t, default_color_type>,
// edge properties
property<edge_capacity_t, int,
property<edge_residual_capacity_t, int,
property<edge_reverse_t, ttraits::edge_descriptor> > >, no_property, vecS> tbgl_adjlist_bidir;
typedef graph_traits<tbgl_adjlist_bidir>::vertex_descriptor tvertex;
typedef graph_traits<tbgl_adjlist_bidir>::edge_descriptor tedge;
typedef property_map<tbgl_adjlist_bidir, edge_capacity_t>::type tedge_capacity_map;
typedef property_map<tbgl_adjlist_bidir, edge_reverse_t>::type treverse_edge_map;
typedef property_map<tbgl_adjlist_bidir, vertex_color_t>::type tvertex_color_map;
typedef graph_traits<tbgl_adjlist_bidir>::out_edge_iterator tout_edge_iterator;
typedef graph_traits<tbgl_adjlist_bidir>::in_edge_iterator tin_edge_iterator;