Jonathan Wakely 391d5d2e30 Optimise std::remove_cv and use more helper aliases
Define partial specializations for std::remove_cv so that
std::remove_const and std::remove_volatile don't need to be
instantiated.

	* include/std/type_traits (__remove_cv_t): New alias template.
	(is_void, is_integral, is_floating_point, is_pointer)
	(is_member_object_pointer, is_member_function_pointer, is_null_pointer)
	(is_member_point), __is_signed_integer, __is_unsigned_integer)
	(__make_unsigned_selector, __make_signed_selector, remove_pointer)
	(__decay_selector): Use __remove_cv_t.
	(remove_cv): Add partial specializations for cv-qualified types.
	(__decay_t): New alias template.
	(__decay_and_strip, __common_type_impl, __result_of_impl): Use
	__decay_t.
	(__enable_if_t): Move earlier in the file.
	(_Require): Use __enable_if_t.
	(swap(T&, T&)): Use _Require.
	(swap(T(&)[N])): Use __enable_if_t.

From-SVN: r275562
2019-09-10 08:35:36 +01:00
..
2019-08-08 11:18:53 +01:00
bit
2019-07-31 15:38:50 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
2019-05-02 16:46:50 +01:00
2019-01-01 13:31:55 +01:00
ios
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
map
2019-01-01 13:31:55 +01:00
2019-07-31 20:08:56 +01:00
2019-06-12 15:52:06 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
set
2019-01-01 13:31:55 +01:00
2019-05-02 16:46:42 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00
2019-01-01 13:31:55 +01:00