From c7f76e8e0f9b2f2538fc41dff9cf870cae4aba5e Mon Sep 17 00:00:00 2001 From: Sergey Nizovtsev Date: Wed, 30 Sep 2020 00:28:07 +0300 Subject: [PATCH] lib: fix CPathfinder build error on GCC 10.2 CPathfinder constructs boost::fibbonacci_heap handle manually using private primitives. This stopped working with newer GCC and boost. Replace this with proper handle_type from container's public typedef. --- lib/CPathfinder.h | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/lib/CPathfinder.h b/lib/CPathfinder.h index cd0fc882c..18cf3cfcc 100644 --- a/lib/CPathfinder.h +++ b/lib/CPathfinder.h @@ -149,22 +149,13 @@ struct DLL_LINKAGE CGPathNode return turns < 255; } - boost::heap::detail::node_handle - < - boost::heap::detail::marked_heap_node*, - boost::heap::detail::make_fibonacci_heap_base - < - CGPathNode *, - boost::parameter::aux::arg_list - < - boost::heap::compare>, - boost::parameter::aux::empty_arg_list - > - >::type, - CGPathNode *& - > pqHandle; + typedef boost::heap::fibonacci_heap< + CGPathNode *, + boost::heap::compare> + > TFibHeap; - boost::heap::fibonacci_heap< CGPathNode *, boost::heap::compare> >* pq; + TFibHeap::handle_type pqHandle; + TFibHeap* pq; private: float cost; //total cost of the path to this tile measured in turns with fractions