libstdc++: Remove unused helper traits

These are not used anywhere, we have more efficient variable templates
for them instead. They're not documented as extensions, and are easy for
users to write if they need them.

libstdc++-v3/ChangeLog:

	* include/bits/utility.h (__is_in_place_type): Remove.
	* include/std/variant (__is_in_place_tag): Remove.
This commit is contained in:
Jonathan Wakely
2024-03-23 11:11:17 +00:00
committed by Jonathan Wakely
parent 3a817a4a5a
commit 4436889eb4
2 changed files with 0 additions and 10 deletions

View File

@@ -220,9 +220,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp>
inline constexpr bool __is_in_place_type_v<in_place_type_t<_Tp>> = true;
template<typename _Tp>
using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>;
template<typename>
inline constexpr bool __is_in_place_index_v = false;

View File

@@ -1488,13 +1488,6 @@ namespace __detail::__variant
using _Traits = __detail::__variant::_Traits<_Types...>;
template<typename _Tp>
struct __is_in_place_tag : false_type { };
template<typename _Tp>
struct __is_in_place_tag<in_place_type_t<_Tp>> : true_type { };
template<size_t _Np>
struct __is_in_place_tag<in_place_index_t<_Np>> : true_type { };
template<typename _Tp>
static constexpr bool __not_in_place_tag
= !__is_in_place_type_v<__remove_cvref_t<_Tp>>