diff --git a/include/deque b/include/deque index 6b6d8e2..951bab9 100644 --- a/include/deque +++ b/include/deque @@ -249,7 +249,9 @@ template > class _LIBCPP_TEMPLATE_ template struct __deque_block_size { - static const _DiffType value = sizeof(_ValueType) < 256 ? 4096 / sizeof(_ValueType) : 16; + static const _DiffType __buf_size = 64 * sizeof(void*); + static const _DiffType value = (__buf_size / sizeof(_ValueType)) > 2 ? (__buf_size / sizeof(_ValueType)) : 2; + //static const _DiffType value = sizeof(_ValueType) < 256 ? 4096 / sizeof(_ValueType) : 16; }; template ::value); #endif - _LIBCPP_HIDE_FROM_ABI + _LIBCPP_REINITIALIZES_OBJECT _LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT; _LIBCPP_HIDE_FROM_ABI @@ -2836,6 +2838,7 @@ deque<_Tp, _Allocator>::swap(deque& __c) } template +_LIBCPP_REINITIALIZES_OBJECT inline void deque<_Tp, _Allocator>::clear() _NOEXCEPT