Relocation (= move+destroy)

Jonathan Wakely jwakely@redhat.com
Sat Oct 13 17:01:00 GMT 2018


On 13/10/18 11:07 +0200, Marc Glisse wrote:
>--- libstdc++-v3/include/bits/alloc_traits.h	(revision 265131)
>+++ libstdc++-v3/include/bits/alloc_traits.h	(working copy)
>@@ -233,38 +233,43 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
> 	  using type = decltype(__test<_Alloc>(0));
> 	};
> 
>       template<typename _Tp, typename... _Args>
> 	using __has_construct
> 	  = typename __construct_helper<_Tp, _Args...>::type;
> 
>       template<typename _Tp, typename... _Args>
> 	static _Require<__has_construct<_Tp, _Args...>>
> 	_S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
>+	noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...)))

You could use std::declval<_Args>()... instead of forwarding __args...
which would be slightly shorter (and might keep some of the others on
a single line). No need to change it unless you want to, either is OK.

I'll finish reviewing the rest on Monday.




More information about the Gcc-patches mailing list