Я использую библиотеку Boost Graph для какого-то проекта и хочу узнать, сколько раз ребро повторяется на графике. Например,
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, Node_Info, Edge_Info > Graph_t;
//node_info and Edge_info are external node and edge properties (structures)
предположим, что у меня есть два узла, node1 и node2, и между ними есть ребро (node1, node2). Свойство edge для каждого ребра содержит отметку времени начала, конца ... и в графе может быть много таких ребер с разными отметками времени. Например.
edge1 = (node1, node2) with start = 100, end = 200.
edge2 = (node1, node2) with start = 250, end = 400.
Я знаю, что в графе повышения, имея две вершины, мы можем определить, существует ли в графе ребро или нет, используя следующее.
std::pair < edge_t, bool > p = boost::edge( node1, node2, myGraph );
if(p.second == 1) cout << "edge exists!" << endl;
else cout << " does not exist " << endl;
Но это может означать, что он вернет только одно ребро, даже если существует несколько ребер с разными свойствами ребра -> ПРОБЛЕМА
Может ли кто-нибудь предложить идею, как получить такое количество ребер между двумя заданными узлами? Спасибо!