Obecnie szukam dokumentacji Boost Dijkstra - http://www.boost.org/doc/libs/1_52_0/libs/graph/doc/dijkstra_shortest_paths.html; moim celem jest zmodyfikowanie łączenia odległości w celu uzyskania "maksimum", zamiast "plusa" przy obliczaniu odległości. Dokument mówi:Jak zdefiniować niestandardową odległość w Boost Dijkstra?
IN: distance_combine(CombineFunction cmb)
This function is used to combine distances to compute the distance of a path. The
CombineFunction type must be a model of Binary Function. The first argument typ
of the binary function must match the value type of the DistanceMap property map
and the second argument type must match the value type of the WeightMap property
map. The result type must be the same type as the distance value type.
Default: closed_plus<D> with D=typename property_traits<DistanceMap>::value_type
Jaka jest składnia w celu zdefiniowania takiej funkcji łączenia? Próbowałem grzebać przy std :: max, ale mój kompilator nie wydaje się być z niego zadowolony.
Rzeczywiście, wyszło z nieco bardziej niezdarnie. Zdefiniowałem: 'template T comb (T & a, T & b) {return std :: max (a, b); } 'i przekazany grzebień w moim Dijkstra. Dzięki! –
Balise