[libcxx-commits] [libcxx] [libc++] Remove __member_pointer_traits_imp (PR #82081)
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Feb 19 16:43:26 PST 2024
https://github.com/philnik777 updated https://github.com/llvm/llvm-project/pull/82081
>From 756aacaad70bd38809b9f447f0a88d8f89a2fed8 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser <nikolasklauser at berlin.de>
Date: Sat, 17 Feb 2024 01:40:32 +0100
Subject: [PATCH] [libc++] Remove __member_pointer_traits_imp
---
libcxx/include/__type_traits/invoke.h | 196 +-------------------------
1 file changed, 1 insertion(+), 195 deletions(-)
diff --git a/libcxx/include/__type_traits/invoke.h b/libcxx/include/__type_traits/invoke.h
index c0487e25a0d8b7..44ef2a83b9cc02 100644
--- a/libcxx/include/__type_traits/invoke.h
+++ b/libcxx/include/__type_traits/invoke.h
@@ -11,8 +11,6 @@
#define _LIBCPP___TYPE_TRAITS_INVOKE_H
#include <__config>
-#include <__type_traits/add_lvalue_reference.h>
-#include <__type_traits/apply_cv.h>
#include <__type_traits/conditional.h>
#include <__type_traits/decay.h>
#include <__type_traits/enable_if.h>
@@ -25,7 +23,6 @@
#include <__type_traits/is_same.h>
#include <__type_traits/is_void.h>
#include <__type_traits/nat.h>
-#include <__type_traits/remove_cv.h>
#include <__utility/declval.h>
#include <__utility/forward.h>
@@ -35,197 +32,6 @@
_LIBCPP_BEGIN_NAMESPACE_STD
-struct __any {
- __any(...);
-};
-
-template <class _MP, bool _IsMemberFunctionPtr, bool _IsMemberObjectPtr>
-struct __member_pointer_traits_imp {};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...), true, false> {
- typedef _Class _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...), true, false> {
- typedef _Class _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const, true, false> {
- typedef _Class const _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const, true, false> {
- typedef _Class const _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile, true, false> {
- typedef _Class volatile _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile, true, false> {
- typedef _Class volatile _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile, true, false> {
- typedef _Class const volatile _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile, true, false> {
- typedef _Class const volatile _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...)&, true, false> {
- typedef _Class& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...)&, true, false> {
- typedef _Class& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&, true, false> {
- typedef _Class const& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&, true, false> {
- typedef _Class const& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&, true, false> {
- typedef _Class volatile& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&, true, false> {
- typedef _Class volatile& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile&, true, false> {
- typedef _Class const volatile& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile&, true, false> {
- typedef _Class const volatile& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...)&&, true, false> {
- typedef _Class&& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...)&&, true, false> {
- typedef _Class&& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&&, true, false> {
- typedef _Class const&& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&&, true, false> {
- typedef _Class const&& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&&, true, false> {
- typedef _Class volatile&& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&&, true, false> {
- typedef _Class volatile&& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile&&, true, false> {
- typedef _Class const volatile&& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param...);
-};
-
-template <class _Rp, class _Class, class... _Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile&&, true, false> {
- typedef _Class const volatile&& _ClassType;
- typedef _Rp _ReturnType;
- typedef _Rp(_FnType)(_Param..., ...);
-};
-
-template <class _Rp, class _Class>
-struct __member_pointer_traits_imp<_Rp _Class::*, false, true> {
- typedef _Class _ClassType;
- typedef _Rp _ReturnType;
-};
-
-template <class _MP>
-struct __member_pointer_traits
- : public __member_pointer_traits_imp<__remove_cv_t<_MP>,
- is_member_function_pointer<_MP>::value,
- is_member_object_pointer<_MP>::value> {
- // typedef ... _ClassType;
- // typedef ... _ReturnType;
- // typedef ... _FnType;
-};
-
template <class _DecayedFp>
struct __member_pointer_class_type {};
@@ -285,7 +91,7 @@ using __enable_if_bullet6 =
// fall back - none of the bullets
template <class... _Args>
-__nat __invoke(__any, _Args&&... __args);
+__nat __invoke(_Args&&... __args);
// bullets 1, 2 and 3
More information about the libcxx-commits
mailing list