boost::graph
アルゴリズムの使用法を新しい実装クラスのセットに変換するのに苦労しています。私は疑問に思っています:参照boost::graph
のみを保存する場合、オブジェクトのプロパティにアクセスすることさえ可能std::shared_ptr
ですか? 次のように:
class Vert {
public:
Vert();
Vert(std::string n);
std::string getName() const;
void setName( std::string const& n );
private:
std::string name;
};
typedef std::shared_ptr<Vert> Vert_ptr;
using namespace boost;
typedef boost::adjacency_list<vecS, vecS, directedS, Vert_ptr> Graph;
Graph g;
Vert_ptr a( new Vert("a"));
add_vertex( a, g );
std::ofstream dot("test.dot");
write_graphviz( dot, g, make_label_writer(boost::get(&Vert::getName,g))); //ERROR!
std::shared_ptr
実装のグラフ ラベル ライターwrite_graphviz
またはその他のプロパティで使用する のメンバーにアクセスすることは可能ですか?
ありがとうございました!