# HG changeset patch
# User "Balazs Dezso <deba@inf.elte.hu>"
# Date 1208453599 -7200
# Node ID a067463a2bc6485cd1fdbcfd655076f4cb507cf0
# Parent 6e7aee618f037c144a58dce8fb91cffbfa9ff11f
Icc compatibility fixes
diff -r 6e7aee618f03 -r a067463a2bc6 lemon/kruskal.h
a
|
b
|
|
212 | 212 | } |
213 | 213 | }; |
214 | 214 | |
| 215 | template <typename T> |
| 216 | struct RemoveConst { |
| 217 | typedef T type; |
| 218 | }; |
| 219 | |
| 220 | template <typename T> |
| 221 | struct RemoveConst<const T> { |
| 222 | typedef T type; |
| 223 | }; |
| 224 | |
215 | 225 | template <typename Graph, typename In, typename Out> |
216 | 226 | struct KruskalOutputSelector<Graph, In, Out, |
217 | 227 | typename enable_if<SequenceOutputIndicator<Out>, void>::type > |
… |
… |
|
219 | 229 | typedef typename In::value_type::second_type Value; |
220 | 230 | |
221 | 231 | static Value kruskal(const Graph& graph, const In& in, Out& out) { |
222 | | typedef StoreBoolMap<Out> Map; |
| 232 | typedef StoreBoolMap<typename RemoveConst<Out>::type> Map; |
223 | 233 | Map map(out); |
224 | 234 | return _kruskal_bits::kruskal(graph, in, map); |
225 | 235 | } |
diff -r 6e7aee618f03 -r a067463a2bc6 test/maps_test.cc
a
|
b
|
|
85 | 85 | checkConcept<ReadWriteMap<A,B>, ConstMap<A,B> >(); |
86 | 86 | checkConcept<ReadWriteMap<A,C>, ConstMap<A,C> >(); |
87 | 87 | ConstMap<A,B> map1; |
88 | | ConstMap<A,B> map2(B()); |
| 88 | ConstMap<A,B> map2 = B(); |
89 | 89 | ConstMap<A,B> map3 = map1; |
90 | 90 | map1 = constMap<A>(B()); |
91 | 91 | map1 = constMap<A,B>(); |
… |
… |
|
143 | 143 | { |
144 | 144 | checkConcept<ReferenceMap<A,B,B&,const B&>, SparseMap<A,B> >(); |
145 | 145 | SparseMap<A,B> map1; |
146 | | SparseMap<A,B> map2(B()); |
| 146 | SparseMap<A,B> map2 = B(); |
147 | 147 | SparseMap<A,B> map3 = sparseMap<A,B>(); |
148 | 148 | SparseMap<A,B> map4 = sparseMap<A>(B()); |
149 | 149 | |