Version 0.7
BREAKING: Removed the use of the compatibility library to automatically generate macros and workaround for older compilers. The important compatibility workarounds like the __builtin_clz
extension are still used, but workarounds for missing C++11 library features have been removed. In particular, the library now requires compiler support for noexcept
, constexpr
, alignof
and thread_local
.This means that GCC 4.8 and Visual Studio version 12.0 (both released in 2013), are no longer supported.
Adapter
BREAKING: Remove Mutex
support from allocator_reference
and consequently from std_allocator
, allocator_deleter
, etc. Embedding the Mutex
with the reference was fundamentally broken and unusable to ensure thread safety. Use a reference to a thread_safe_allocator
instead, which actually guarantees thread safety.
Allocator
Add ability to query the minimal block size required by a memory_pool
or memory_stack
that should contain the given memory. Due to internal data structures and debug fences this is more than the naive memory request, so it can be computed now.