[libc++] Remove __member_pointer_traits_imp (#82081)

They aren't ever used, so they can be removed.
This commit is contained in:
Nikolas Klauser
2024-02-26 12:04:41 +01:00
committed by GitHub
parent 53697a5dcd
commit d0c99f4b1d

View File

@@ -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