summaryrefslogtreecommitdiff
path: root/boost/heap/pairing_heap.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/heap/pairing_heap.hpp')
-rw-r--r--boost/heap/pairing_heap.hpp7
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);
}
/**