1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
diff -ur digikam-2.5.0.orig/core/libs/database/imagehistory/imagehistorygraph_boost.h digikam-2.5.0/core/libs/database/imagehistory/imagehistorygraph_boost.h
--- core/libs/database/imagehistory/imagehistorygraph_boost.h 2012-01-03 08:32:26.000000000 +0800
+++ core/libs/database/imagehistory/imagehistorygraph_boost.h 2012-01-29 01:02:31.635993670 +0800
@@ -1198,7 +1198,7 @@
{
boost::dag_shortest_paths(graph, v,
// we provide a constant weight of 1
- weight_map(boost::ref_property_map<edge_t,int>(weight)).
+ weight_map(boost::ref_property_map<typename boost::graph_traits<GraphType>::edge_descriptor,int>(weight)).
// Store distance and predecessors in QMaps, wrapped to serve as property maps
distance_map(VertexIntMapAdaptor(distances)).
predecessor_map(VertexVertexMapAdaptor(predecessors))
@@ -1218,7 +1218,7 @@
{
boost::dag_shortest_paths(graph, v,
// we provide a constant weight of 1
- weight_map(boost::ref_property_map<edge_t,int>(weight)).
+ weight_map(boost::ref_property_map<typename boost::graph_traits<GraphType>::edge_descriptor,int>(weight)).
// Invert the default compare method: With greater, we get the longest path
distance_compare(std::greater<int>()).
// will be returned if a node is unreachable
@@ -1384,14 +1384,15 @@
template <class GraphType, typename VertexLessThan>
class lessThanMapEdgeToTarget
{
+ typedef typename boost::graph_traits<GraphType>::edge_descriptor edge_descriptor;
public:
lessThanMapEdgeToTarget(const GraphType& g, VertexLessThan vertexLessThan)
: g(g), vertexLessThan(vertexLessThan) {}
const GraphType& g;
VertexLessThan vertexLessThan;
- bool operator()(const Edge& a, const Edge& b)
+ bool operator()(const edge_descriptor& a, const edge_descriptor& b)
{
- return vertexLessThan(boost::target(a.toEdge(), g), boost::target(b.toEdge(), g));
+ return vertexLessThan(boost::target(a, g), boost::target(b, g));
}
};
@@ -1402,20 +1403,21 @@
{
typedef std::pair<Vertex, QList<Edge> > VertexInfo;
- QList<Edge> outEdges;
+ typedef typename boost::graph_traits<IncidenceGraph>::edge_descriptor edge_descriptor;
+ QList<edge_descriptor> outEdges;
std::vector<VertexInfo> stack;
boost::put(color, u, boost::gray_color);
vis.discover_vertex(u, g);
- outEdges = toEdgeList(boost::out_edges(u, g));
+ outEdges = toList<edge_descriptor>(boost::out_edges(u, g));
// Sort edges. The lessThan we have takes vertices, so we use a lessThan which
// maps the given edges to their targets, and calls our vertex lessThan.
qSort(outEdges.begin(), outEdges.end(), lessThanMapEdgeToTarget<IncidenceGraph, LessThan>(g, lessThan));
- foreach(const Edge& e, outEdges)
+ foreach(const edge_descriptor& e, outEdges)
{
- Vertex v = boost::target(e.toEdge(), g);
+ Vertex v = boost::target(e, g);
vis.examine_edge(e, g);
boost::default_color_type v_color = boost::get(color, v);
if (v_color == boost::white_color)
|