Re: [v3 PATCH] Implement LWG 2758.

2016-08-17 Thread Jonathan Wakely
On 16/08/16 16:15 +0300, Ville Voutilainen wrote: On 16 August 2016 at 15:58, Jonathan Wakely wrote: This patch constrains the new overloads using: template using _If_sv = enable_if_t< __and_>::value, _Res>;

Re: [v3 PATCH] Implement LWG 2758.

2016-08-16 Thread Ville Voutilainen
On 16 August 2016 at 15:58, Jonathan Wakely wrote: > This patch constrains the new overloads using: > > template >using _If_sv = enable_if_t< > __and_ __not_>::value, > _Res>; > > so that anything convertible to

Re: [v3 PATCH] Implement LWG 2758.

2016-08-16 Thread Jonathan Wakely
On 16/08/16 12:52 +0100, Jonathan Wakely wrote: On 10/08/16 10:50 +0300, Ville Voutilainen wrote: diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 59f1c64..89e2100 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++

Re: [v3 PATCH] Implement LWG 2758.

2016-08-16 Thread Jonathan Wakely
On 10/08/16 10:50 +0300, Ville Voutilainen wrote: diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 59f1c64..89e2100 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -1227,9 +1227,13 @@

Re: [v3 PATCH] Implement LWG 2758.

2016-08-10 Thread Ville Voutilainen
On 10 August 2016 at 19:06, Paolo Carlini wrote: >> Implement LWG 2758. > > If I understand correctly this touches only the new C++17 members and in any > case, a recent commit by Jon disabled the extern template strings in C++17 > mode, thus there are no

Re: [v3 PATCH] Implement LWG 2758.

2016-08-10 Thread Paolo Carlini
Hi Ville, On 10/08/2016 09:50, Ville Voutilainen wrote: Tested on Linux-x64. 2016-08-10 Ville Voutilainen Implement LWG 2758. If I understand correctly this touches only the new C++17 members and in any case, a recent commit by Jon disabled the extern

[v3 PATCH] Implement LWG 2758.

2016-08-10 Thread Ville Voutilainen
Tested on Linux-x64. 2016-08-10 Ville Voutilainen Implement LWG 2758. * include/bits/basic_string.h (append(__sv_type, size_type, size_type)): Turn into a template, change parameter type, constrain, add a conversion to __sv_type from the