summaryrefslogtreecommitdiff
path: root/boost/multi_index/detail/rnd_index_node.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/multi_index/detail/rnd_index_node.hpp')
-rw-r--r--boost/multi_index/detail/rnd_index_node.hpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/boost/multi_index/detail/rnd_index_node.hpp b/boost/multi_index/detail/rnd_index_node.hpp
index def057583a..ad61ea25dd 100644
--- a/boost/multi_index/detail/rnd_index_node.hpp
+++ b/boost/multi_index/detail/rnd_index_node.hpp
@@ -17,6 +17,7 @@
#include <algorithm>
#include <boost/detail/allocator_utilities.hpp>
#include <boost/integer/common_factor_rt.hpp>
+#include <boost/multi_index/detail/raw_ptr.hpp>
#include <cstddef>
#include <functional>
@@ -219,14 +220,18 @@ public:
static random_access_index_node* from_impl(impl_pointer x)
{
- return static_cast<random_access_index_node*>(
- static_cast<trampoline*>(&*x));
+ return
+ static_cast<random_access_index_node*>(
+ static_cast<trampoline*>(
+ raw_ptr<impl_type*>(x)));
}
static const random_access_index_node* from_impl(const_impl_pointer x)
{
- return static_cast<const random_access_index_node*>(
- static_cast<const trampoline*>(&*x));
+ return
+ static_cast<const random_access_index_node*>(
+ static_cast<const trampoline*>(
+ raw_ptr<const impl_type*>(x)));
}
/* interoperability with rnd_node_iterator */