summaryrefslogtreecommitdiff
path: root/third_party/libcxx/include/c++/v1/__tuple
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-10-16 02:39:56 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-10-16 02:39:56 +0800
commit8cace3f05003c6cb4d38c36890055f03151c2ad4 (patch)
treeaa739deaac0266f17c4e91b333957501cb1ea2e9 /third_party/libcxx/include/c++/v1/__tuple
parent3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee (diff)
downloadlume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.gz
lume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.xz
Remove old code
Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
Diffstat (limited to 'third_party/libcxx/include/c++/v1/__tuple')
-rw-r--r--third_party/libcxx/include/c++/v1/__tuple/find_index.h62
-rw-r--r--third_party/libcxx/include/c++/v1/__tuple/ignore.h39
-rw-r--r--third_party/libcxx/include/c++/v1/__tuple/sfinae_helpers.h99
-rw-r--r--third_party/libcxx/include/c++/v1/__tuple/tuple_element.h46
-rw-r--r--third_party/libcxx/include/c++/v1/__tuple/tuple_like.h42
-rw-r--r--third_party/libcxx/include/c++/v1/__tuple/tuple_like_no_subrange.h61
-rw-r--r--third_party/libcxx/include/c++/v1/__tuple/tuple_size.h70
-rw-r--r--third_party/libcxx/include/c++/v1/__tuple/tuple_transform.h45
8 files changed, 0 insertions, 464 deletions
diff --git a/third_party/libcxx/include/c++/v1/__tuple/find_index.h b/third_party/libcxx/include/c++/v1/__tuple/find_index.h
deleted file mode 100644
index cc7329d..0000000
--- a/third_party/libcxx/include/c++/v1/__tuple/find_index.h
+++ /dev/null
@@ -1,62 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___TUPLE_FIND_INDEX_H
-#define _LIBCPP___TUPLE_FIND_INDEX_H
-
-#include <__config>
-#include <__cstddef/size_t.h>
-#include <__type_traits/is_same.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if _LIBCPP_STD_VER >= 14
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-namespace __find_detail {
-
-static constexpr size_t __not_found = static_cast<size_t>(-1);
-static constexpr size_t __ambiguous = __not_found - 1;
-
-inline _LIBCPP_HIDE_FROM_ABI constexpr size_t __find_idx_return(size_t __curr_i, size_t __res, bool __matches) {
- return !__matches ? __res : (__res == __not_found ? __curr_i : __ambiguous);
-}
-
-template <size_t _Nx>
-inline _LIBCPP_HIDE_FROM_ABI constexpr size_t __find_idx(size_t __i, const bool (&__matches)[_Nx]) {
- return __i == _Nx
- ? __not_found
- : __find_detail::__find_idx_return(__i, __find_detail::__find_idx(__i + 1, __matches), __matches[__i]);
-}
-
-template <class _T1, class... _Args>
-struct __find_exactly_one_checked {
- static constexpr bool __matches[sizeof...(_Args)] = {is_same<_T1, _Args>::value...};
- static constexpr size_t value = __find_detail::__find_idx(0, __matches);
- static_assert(value != __not_found, "type not found in type list");
- static_assert(value != __ambiguous, "type occurs more than once in type list");
-};
-
-template <class _T1>
-struct __find_exactly_one_checked<_T1> {
- static_assert(!is_same<_T1, _T1>::value, "type not in empty type list");
-};
-
-} // namespace __find_detail
-
-template <typename _T1, typename... _Args>
-struct __find_exactly_one_t : public __find_detail::__find_exactly_one_checked<_T1, _Args...> {};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP_STD_VER >= 14
-
-#endif // _LIBCPP___TUPLE_FIND_INDEX_H
diff --git a/third_party/libcxx/include/c++/v1/__tuple/ignore.h b/third_party/libcxx/include/c++/v1/__tuple/ignore.h
deleted file mode 100644
index 43cce53..0000000
--- a/third_party/libcxx/include/c++/v1/__tuple/ignore.h
+++ /dev/null
@@ -1,39 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___TUPLE_IGNORE_H
-#define _LIBCPP___TUPLE_IGNORE_H
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-struct __ignore_type {
- template <class _Tp>
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const __ignore_type& operator=(const _Tp&) const noexcept {
- return *this;
- }
-};
-
-# if _LIBCPP_STD_VER >= 17
-inline constexpr __ignore_type ignore;
-# else
-constexpr __ignore_type ignore;
-# endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP_CXX03_LANG
-
-#endif // _LIBCPP___TUPLE_IGNORE_H
diff --git a/third_party/libcxx/include/c++/v1/__tuple/sfinae_helpers.h b/third_party/libcxx/include/c++/v1/__tuple/sfinae_helpers.h
deleted file mode 100644
index f81048f..0000000
--- a/third_party/libcxx/include/c++/v1/__tuple/sfinae_helpers.h
+++ /dev/null
@@ -1,99 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___TUPLE_SFINAE_HELPERS_H
-#define _LIBCPP___TUPLE_SFINAE_HELPERS_H
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#ifndef _LIBCPP_CXX03_LANG
-
-struct __check_tuple_constructor_fail {
- static _LIBCPP_HIDE_FROM_ABI constexpr bool __enable_explicit_default() { return false; }
- static _LIBCPP_HIDE_FROM_ABI constexpr bool __enable_implicit_default() { return false; }
- template <class...>
- static _LIBCPP_HIDE_FROM_ABI constexpr bool __enable_explicit() {
- return false;
- }
- template <class...>
- static _LIBCPP_HIDE_FROM_ABI constexpr bool __enable_implicit() {
- return false;
- }
- template <class...>
- static _LIBCPP_HIDE_FROM_ABI constexpr bool __enable_assign() {
- return false;
- }
-};
-#endif // !defined(_LIBCPP_CXX03_LANG)
-
-#if _LIBCPP_STD_VER >= 17
-
-template <bool _CanCopy, bool _CanMove>
-struct __sfinae_ctor_base {};
-template <>
-struct __sfinae_ctor_base<false, false> {
- __sfinae_ctor_base() = default;
- __sfinae_ctor_base(__sfinae_ctor_base const&) = delete;
- __sfinae_ctor_base(__sfinae_ctor_base&&) = delete;
- __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default;
- __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default;
-};
-template <>
-struct __sfinae_ctor_base<true, false> {
- __sfinae_ctor_base() = default;
- __sfinae_ctor_base(__sfinae_ctor_base const&) = default;
- __sfinae_ctor_base(__sfinae_ctor_base&&) = delete;
- __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default;
- __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default;
-};
-template <>
-struct __sfinae_ctor_base<false, true> {
- __sfinae_ctor_base() = default;
- __sfinae_ctor_base(__sfinae_ctor_base const&) = delete;
- __sfinae_ctor_base(__sfinae_ctor_base&&) = default;
- __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default;
- __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default;
-};
-
-template <bool _CanCopy, bool _CanMove>
-struct __sfinae_assign_base {};
-template <>
-struct __sfinae_assign_base<false, false> {
- __sfinae_assign_base() = default;
- __sfinae_assign_base(__sfinae_assign_base const&) = default;
- __sfinae_assign_base(__sfinae_assign_base&&) = default;
- __sfinae_assign_base& operator=(__sfinae_assign_base const&) = delete;
- __sfinae_assign_base& operator=(__sfinae_assign_base&&) = delete;
-};
-template <>
-struct __sfinae_assign_base<true, false> {
- __sfinae_assign_base() = default;
- __sfinae_assign_base(__sfinae_assign_base const&) = default;
- __sfinae_assign_base(__sfinae_assign_base&&) = default;
- __sfinae_assign_base& operator=(__sfinae_assign_base const&) = default;
- __sfinae_assign_base& operator=(__sfinae_assign_base&&) = delete;
-};
-template <>
-struct __sfinae_assign_base<false, true> {
- __sfinae_assign_base() = default;
- __sfinae_assign_base(__sfinae_assign_base const&) = default;
- __sfinae_assign_base(__sfinae_assign_base&&) = default;
- __sfinae_assign_base& operator=(__sfinae_assign_base const&) = delete;
- __sfinae_assign_base& operator=(__sfinae_assign_base&&) = default;
-};
-#endif // _LIBCPP_STD_VER >= 17
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP___TUPLE_SFINAE_HELPERS_H
diff --git a/third_party/libcxx/include/c++/v1/__tuple/tuple_element.h b/third_party/libcxx/include/c++/v1/__tuple/tuple_element.h
deleted file mode 100644
index 50a9807..0000000
--- a/third_party/libcxx/include/c++/v1/__tuple/tuple_element.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___TUPLE_TUPLE_ELEMENT_H
-#define _LIBCPP___TUPLE_TUPLE_ELEMENT_H
-
-#include <__config>
-#include <__cstddef/size_t.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <size_t _Ip, class _Tp>
-struct tuple_element;
-
-template <size_t _Ip, class _Tp>
-struct tuple_element<_Ip, const _Tp> {
- using type _LIBCPP_NODEBUG = const typename tuple_element<_Ip, _Tp>::type;
-};
-
-template <size_t _Ip, class _Tp>
-struct tuple_element<_Ip, volatile _Tp> {
- using type _LIBCPP_NODEBUG = volatile typename tuple_element<_Ip, _Tp>::type;
-};
-
-template <size_t _Ip, class _Tp>
-struct tuple_element<_Ip, const volatile _Tp> {
- using type _LIBCPP_NODEBUG = const volatile typename tuple_element<_Ip, _Tp>::type;
-};
-
-# if _LIBCPP_STD_VER >= 14
-template <size_t _Ip, class... _Tp>
-using tuple_element_t _LIBCPP_NODEBUG = typename tuple_element<_Ip, _Tp...>::type;
-# endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP___TUPLE_TUPLE_ELEMENT_H
diff --git a/third_party/libcxx/include/c++/v1/__tuple/tuple_like.h b/third_party/libcxx/include/c++/v1/__tuple/tuple_like.h
deleted file mode 100644
index c080a3d..0000000
--- a/third_party/libcxx/include/c++/v1/__tuple/tuple_like.h
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___TUPLE_TUPLE_LIKE_H
-#define _LIBCPP___TUPLE_TUPLE_LIKE_H
-
-#include <__config>
-#include <__fwd/subrange.h>
-#include <__tuple/tuple_like_no_subrange.h>
-#include <__tuple/tuple_size.h>
-#include <__type_traits/remove_cvref.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER >= 20
-
-template <class _Tp>
-inline constexpr bool __is_ranges_subrange_v = false;
-
-template <class _Iter, class _Sent, ranges::subrange_kind _Kind>
-inline constexpr bool __is_ranges_subrange_v<ranges::subrange<_Iter, _Sent, _Kind>> = true;
-
-template <class _Tp>
-concept __tuple_like = __tuple_like_no_subrange<_Tp> || __is_ranges_subrange_v<remove_cvref_t<_Tp>>;
-
-// As of writing this comment every use of `pair-like` in the standard excludes `ranges::subrange`, so
-// you most likely want to use `__pair_like_no_subrange` if you're looking for `pair-like`.
-
-#endif // _LIBCPP_STD_VER >= 20
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP___TUPLE_TUPLE_LIKE_H
diff --git a/third_party/libcxx/include/c++/v1/__tuple/tuple_like_no_subrange.h b/third_party/libcxx/include/c++/v1/__tuple/tuple_like_no_subrange.h
deleted file mode 100644
index 30018d6..0000000
--- a/third_party/libcxx/include/c++/v1/__tuple/tuple_like_no_subrange.h
+++ /dev/null
@@ -1,61 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___TUPLE_TUPLE_LIKE_NO_SUBRANGE_H
-#define _LIBCPP___TUPLE_TUPLE_LIKE_NO_SUBRANGE_H
-
-#include <__config>
-#include <__cstddef/size_t.h>
-#include <__fwd/array.h>
-#include <__fwd/complex.h>
-#include <__fwd/pair.h>
-#include <__fwd/tuple.h>
-#include <__tuple/tuple_size.h>
-#include <__type_traits/remove_cvref.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER >= 20
-
-template <class _Tp>
-inline constexpr bool __tuple_like_no_subrange_impl = false;
-
-template <class... _Tp>
-inline constexpr bool __tuple_like_no_subrange_impl<tuple<_Tp...>> = true;
-
-template <class _T1, class _T2>
-inline constexpr bool __tuple_like_no_subrange_impl<pair<_T1, _T2>> = true;
-
-template <class _Tp, size_t _Size>
-inline constexpr bool __tuple_like_no_subrange_impl<array<_Tp, _Size>> = true;
-
-# if _LIBCPP_STD_VER >= 26
-
-template <class _Tp>
-inline constexpr bool __tuple_like_no_subrange_impl<complex<_Tp>> = true;
-
-# endif
-
-template <class _Tp>
-concept __tuple_like_no_subrange = __tuple_like_no_subrange_impl<remove_cvref_t<_Tp>>;
-
-// This is equivalent to the exposition-only type trait `pair-like`, except that it is false for specializations of
-// `ranges::subrange`. This is more useful than the pair-like concept in the standard because every use of `pair-like`
-// excludes `ranges::subrange`.
-template <class _Tp>
-concept __pair_like_no_subrange = __tuple_like_no_subrange<_Tp> && tuple_size<remove_cvref_t<_Tp>>::value == 2;
-
-#endif // _LIBCPP_STD_VER >= 20
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP___TUPLE_TUPLE_LIKE_NO_SUBRANGE_H
diff --git a/third_party/libcxx/include/c++/v1/__tuple/tuple_size.h b/third_party/libcxx/include/c++/v1/__tuple/tuple_size.h
deleted file mode 100644
index 719edc0..0000000
--- a/third_party/libcxx/include/c++/v1/__tuple/tuple_size.h
+++ /dev/null
@@ -1,70 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___TUPLE_TUPLE_SIZE_H
-#define _LIBCPP___TUPLE_TUPLE_SIZE_H
-
-#include <__config>
-#include <__cstddef/size_t.h>
-#include <__fwd/tuple.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/integral_constant.h>
-#include <__type_traits/is_const.h>
-#include <__type_traits/is_volatile.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Tp>
-struct tuple_size;
-
-#if !defined(_LIBCPP_CXX03_LANG)
-template <class _Tp, class...>
-using __enable_if_tuple_size_imp _LIBCPP_NODEBUG = _Tp;
-
-template <class _Tp>
-struct tuple_size<
- __enable_if_tuple_size_imp<const _Tp, __enable_if_t<!is_volatile<_Tp>::value>, decltype(tuple_size<_Tp>::value)>>
- : public integral_constant<size_t, tuple_size<_Tp>::value> {};
-
-template <class _Tp>
-struct tuple_size<
- __enable_if_tuple_size_imp<volatile _Tp, __enable_if_t<!is_const<_Tp>::value>, decltype(tuple_size<_Tp>::value)>>
- : public integral_constant<size_t, tuple_size<_Tp>::value> {};
-
-template <class _Tp>
-struct tuple_size<__enable_if_tuple_size_imp<const volatile _Tp, decltype(tuple_size<_Tp>::value)>>
- : public integral_constant<size_t, tuple_size<_Tp>::value> {};
-
-#else
-template <class _Tp>
-struct tuple_size<const _Tp> : public tuple_size<_Tp> {};
-template <class _Tp>
-struct tuple_size<volatile _Tp> : public tuple_size<_Tp> {};
-template <class _Tp>
-struct tuple_size<const volatile _Tp> : public tuple_size<_Tp> {};
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class... _Tp>
-struct tuple_size<tuple<_Tp...> > : public integral_constant<size_t, sizeof...(_Tp)> {};
-
-# if _LIBCPP_STD_VER >= 17
-template <class _Tp>
-inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
-# endif
-
-#endif // _LIBCPP_CXX03_LANG
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP___TUPLE_TUPLE_SIZE_H
diff --git a/third_party/libcxx/include/c++/v1/__tuple/tuple_transform.h b/third_party/libcxx/include/c++/v1/__tuple/tuple_transform.h
deleted file mode 100644
index 92a18e0..0000000
--- a/third_party/libcxx/include/c++/v1/__tuple/tuple_transform.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___TUPLE_TUPLE_TRANSFORM_H
-#define _LIBCPP___TUPLE_TUPLE_TRANSFORM_H
-
-#include <__config>
-
-#include <__functional/invoke.h>
-#include <__utility/forward.h>
-#include <tuple>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER >= 23
-
-template <class _Fun, class _Tuple>
-_LIBCPP_HIDE_FROM_ABI constexpr auto __tuple_transform(_Fun&& __f, _Tuple&& __tuple) {
- return std::apply(
- [&]<class... _Types>(_Types&&... __elements) {
- return tuple<invoke_result_t<_Fun&, _Types>...>(std::invoke(__f, std::forward<_Types>(__elements))...);
- },
- std::forward<_Tuple>(__tuple));
-}
-
-#endif // _LIBCPP_STD_VER >= 23
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif // _LIBCPP___TUPLE_TUPLE_TRANSFORM_H