I am using Boost Graph library for some project and i want to find number of times an edge is repeated in a graph. for example,
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)
suppose if i have two nodes, node1 and node2 and there is an edge between them (node1, node2). edge property for each edge contains a timestamp start, end.. and there can be many such edges in the graph with different timestamps. for example.
edge1 = (node1, node2) with start = 100, end = 200.
edge2 = (node1, node2) with start = 250, end = 400.
I know that in a boost graph, given two vertices, we can find whether an edge exists in the graph or not using the following.
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;
But this could mean that it would only return any one edge even if multiple edges exist with different edge properties --> PROBLEM
can anyone suggest an idea how to get such multiple edges between two given nodes? Thanks!