diff options
Diffstat (limited to 'boost/heap/pairing_heap.hpp')
-rw-r--r-- | boost/heap/pairing_heap.hpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/boost/heap/pairing_heap.hpp b/boost/heap/pairing_heap.hpp index 577fdc534b..238a9ff2c6 100644 --- a/boost/heap/pairing_heap.hpp +++ b/boost/heap/pairing_heap.hpp @@ -63,6 +63,10 @@ struct make_pairing_heap_base {} #ifdef BOOST_HAS_RVALUE_REFS + type(type const & rhs): + base_type(rhs), allocator_type(rhs) + {} + type(type && rhs): base_type(std::move(static_cast<base_type&>(rhs))), allocator_type(std::move(static_cast<allocator_type&>(rhs))) @@ -549,7 +553,8 @@ public: /// \copydoc boost::heap::d_ary_heap_mutable::s_handle_from_iterator static handle_type s_handle_from_iterator(iterator const & it) { - return super_t::s_handle_from_iterator(&*it); + node * ptr = const_cast<node *>(it.get_node()); + return handle_type(ptr); } /** |