gcc/libstdc++-v3/include
Jonathan Wakely a1a2654cdc libstdc++: Avoid using std::unique_ptr in <locale>
std::wstring_convert and std::wbuffer_convert types are not copyable or
movable, and store a plain pointer without a deleter. That means a much
simpler type that just uses delete in its destructor can be used instead
of std::unique_ptr.

That avoids including and parsing all of <bits/unique_ptr.h> in every
header that includes <locale>. It also avoids instantiating
unique_ptr<C> and std::tuple<C*, default_delete<C>> when the conversion
utilities are used.

Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

libstdc++-v3/ChangeLog:

	* include/bits/locale_conv.h (__detail::_Scoped_ptr): Define new
	RAII class template.
	(wstring_convert, wbuffer_convert): Use __detail::_Scoped_ptr
	instead of unique_ptr.
2021-08-03 15:06:56 +01:00
..
backward
bits libstdc++: Avoid using std::unique_ptr in <locale> 2021-08-03 15:06:56 +01:00
c
c_compatibility
c_global
c_std
debug libstdc++: Remove unnecessary uses of <utility> 2021-07-27 12:04:18 +01:00
decimal
experimental libstdc++: Simplify std::optional::value() 2021-07-27 21:36:01 +01:00
ext libstdc++: Use __builtin_operator_new when available [PR94295] 2021-07-22 14:38:34 +01:00
parallel
precompiled
pstl
std libstdc++: Fix up implementation of LWG 3533 [PR101589] 2021-08-02 15:30:13 -04:00
tr1
tr2
Makefile.am libstdc++: Move COW string definitions to separate header 2021-07-27 12:04:18 +01:00
Makefile.in libstdc++: Move COW string definitions to separate header 2021-07-27 12:04:18 +01:00