Re: [v3 PATCH] Implement LWG 2744 and LWG 2754.

2016-08-15 Thread Ville Voutilainen
On 15 August 2016 at 14:55, Ville Voutilainen wrote: >>> + template >>> +struct __is_in_place >>> +: public >>> __is_in_place_impl>> >> >> >> Any reason not to use decay_t here? In all the cases where decay is >> different to stripping references and cv-qualifiers the result will be >> fa

Re: [v3 PATCH] Implement LWG 2744 and LWG 2754.

2016-08-15 Thread Ville Voutilainen
On 15 August 2016 at 12:53, Jonathan Wakely wrote: >> + template >> +struct __is_in_place_impl : false_type >> +{ }; >> + >> + template >> + struct __is_in_place_impl> : true_type > Indentation nit. Will fix. > >> +{ }; >> + >> + template >> +struct __is_in_place >> +: pu

Re: [v3 PATCH] Implement LWG 2744 and LWG 2754.

2016-08-15 Thread Jonathan Wakely
On 09/08/16 18:00 +0300, Ville Voutilainen wrote: _Args&&...> = false> diff --git a/libstdc++-v3/include/std/utility b/libstdc++-v3/include/std/utility index 0c03644..e1a523f 100644 --- a/libstdc++-v3/include/std/utility +++ b/libstdc++-v3/include/std/utility @

[v3 PATCH] Implement LWG 2744 and LWG 2754.

2016-08-09 Thread Ville Voutilainen
Tested on Linux-x64. 2016-08-09 Ville Voutilainen Implement LWG 2744 and LWG 2754. * include/std/any (any(ValueType&&)): Constrain with __is_in_place. (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay. (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...