summaryrefslogtreecommitdiff
path: root/boost/stacktrace/stacktrace.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/stacktrace/stacktrace.hpp')
-rw-r--r--boost/stacktrace/stacktrace.hpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/boost/stacktrace/stacktrace.hpp b/boost/stacktrace/stacktrace.hpp
index 3c72488767..c80679c8de 100644
--- a/boost/stacktrace/stacktrace.hpp
+++ b/boost/stacktrace/stacktrace.hpp
@@ -13,6 +13,7 @@
#endif
#include <boost/core/explicit_operator_bool.hpp>
+#include <boost/container_hash/hash_fwd.hpp>
#include <iosfwd>
#include <string>
@@ -31,13 +32,6 @@
# pragma warning(disable:2196) // warning #2196: routine is both "inline" and "noinline"
#endif
-/// @cond
-namespace boost {
- // Forward declaration
- template <class It> std::size_t hash_range(It, It);
-}
-/// @endcond
-
namespace boost { namespace stacktrace {
/// Class that on construction copies minimal information about call stack into its internals and provides access to that information.
@@ -87,7 +81,11 @@ class basic_stacktrace {
}
// Failed to fit in `buffer_size`. Allocating memory:
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename Allocator::template rebind<native_frame_ptr_t>::other allocator_void_t;
+#else
+ typedef typename std::allocator_traits<Allocator>::template rebind_alloc<native_frame_ptr_t> allocator_void_t;
+#endif
std::vector<native_frame_ptr_t, allocator_void_t> buf(buffer_size * 2, 0, impl_.get_allocator());
do {
const std::size_t frames_count = boost::stacktrace::detail::this_thread_frames::collect(&buf[0], buf.size(), frames_to_skip + 1);