Я использую связанные свойства и adjacency_list и хотел бы использовать класс подграфа.
struct Vertex
{
int index;
int seed;
};
struct Edge
{
bool visted;
double weight;
};
typedef adjacency_list<listS, listS, undirectedS, Vertex, property<edge_index_t,int,Edge> > Graph;
typedef subgraph<Graph> testSubgraph;
Необходима часть property<edge_index_t,int,Edge>
, поскольку для подграфа требуется edge_index_t
для сравнения двух ребер.
Теперь мой вопрос: как мне добавить Edge, используя связанные свойства в подграфе?
В нормальном графе без property<edge_index_t,int,Edge>
я добавляю ребро следующим образом:
Edge e;
vertex_descriptor u,v;
// fill in u and v;
e.weight = 1.0;
e.visted=false;
add_edge(u,v,e,graph);
Но это не работает для подграфа.
Надеюсь, кто-то знает решение для этого.
Спасибо
Ben