Re: [v3 PATCH] Implement P0040R3, Extending memory management tools.

2016-09-13 Thread Jonathan Wakely
On 13/09/16 00:59 +0300, Ville Voutilainen wrote: @@ -682,6 +686,98 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION std::__iterator_category(__first)); } #endif +#if __cplusplus > 201402L + template +inline void +uninitialized_default_construct(_ForwardIter

[v3 PATCH] Implement P0040R3, Extending memory management tools.

2016-09-12 Thread Ville Voutilainen
Tested on Linux-x64. I didn't even try to be clever about uninitialized_move and uninitialized_move_n, so these don't (yet) try to optimize for trivially_move_constructible types. Similarly, destroy and destroy_n don't (yet) have no-op specializations for trivially destructible types. 2016-09-13