aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/libcxx/include/__iterator/readable_traits.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2023-12-25 17:35:41 +0000
committerDimitry Andric <dim@FreeBSD.org>2024-04-06 20:13:06 +0000
commitcb14a3fe5122c879eae1fb480ed7ce82a699ddb6 (patch)
treeb983a613c35ece61d561b5a9ef9cd66419f6c7fb /contrib/llvm-project/libcxx/include/__iterator/readable_traits.h
parent3d68ee6cbdb244de9fab1df8a2525d2fa592571e (diff)
parent99aabd70801bd4bc72c4942747f6d62c675112f5 (diff)
downloadsrc-cb14a3fe5122c879eae1fb480ed7ce82a699ddb6.tar.gz
src-cb14a3fe5122c879eae1fb480ed7ce82a699ddb6.zip
Diffstat (limited to 'contrib/llvm-project/libcxx/include/__iterator/readable_traits.h')
-rw-r--r--contrib/llvm-project/libcxx/include/__iterator/readable_traits.h46
1 files changed, 23 insertions, 23 deletions
diff --git a/contrib/llvm-project/libcxx/include/__iterator/readable_traits.h b/contrib/llvm-project/libcxx/include/__iterator/readable_traits.h
index 9e101fc28a6f..25e74567fff1 100644
--- a/contrib/llvm-project/libcxx/include/__iterator/readable_traits.h
+++ b/contrib/llvm-project/libcxx/include/__iterator/readable_traits.h
@@ -29,50 +29,50 @@ _LIBCPP_BEGIN_NAMESPACE_STD
#if _LIBCPP_STD_VER >= 20
// [readable.traits]
-template<class> struct __cond_value_type {};
+template <class>
+struct __cond_value_type {};
-template<class _Tp>
-requires is_object_v<_Tp>
-struct __cond_value_type<_Tp> { using value_type = remove_cv_t<_Tp>; };
+template <class _Tp>
+ requires is_object_v<_Tp>
+struct __cond_value_type<_Tp> {
+ using value_type = remove_cv_t<_Tp>;
+};
-template<class _Tp>
+template <class _Tp>
concept __has_member_value_type = requires { typename _Tp::value_type; };
-template<class _Tp>
+template <class _Tp>
concept __has_member_element_type = requires { typename _Tp::element_type; };
-template<class> struct indirectly_readable_traits {};
+template <class>
+struct indirectly_readable_traits {};
-template<class _Ip>
-requires is_array_v<_Ip>
+template <class _Ip>
+ requires is_array_v<_Ip>
struct indirectly_readable_traits<_Ip> {
using value_type = remove_cv_t<remove_extent_t<_Ip>>;
};
-template<class _Ip>
+template <class _Ip>
struct indirectly_readable_traits<const _Ip> : indirectly_readable_traits<_Ip> {};
-template<class _Tp>
+template <class _Tp>
struct indirectly_readable_traits<_Tp*> : __cond_value_type<_Tp> {};
-template<__has_member_value_type _Tp>
-struct indirectly_readable_traits<_Tp>
- : __cond_value_type<typename _Tp::value_type> {};
+template <__has_member_value_type _Tp>
+struct indirectly_readable_traits<_Tp> : __cond_value_type<typename _Tp::value_type> {};
-template<__has_member_element_type _Tp>
-struct indirectly_readable_traits<_Tp>
- : __cond_value_type<typename _Tp::element_type> {};
+template <__has_member_element_type _Tp>
+struct indirectly_readable_traits<_Tp> : __cond_value_type<typename _Tp::element_type> {};
-template<__has_member_value_type _Tp>
+template <__has_member_value_type _Tp>
requires __has_member_element_type<_Tp>
struct indirectly_readable_traits<_Tp> {};
-template<__has_member_value_type _Tp>
+template <__has_member_value_type _Tp>
requires __has_member_element_type<_Tp> &&
- same_as<remove_cv_t<typename _Tp::element_type>,
- remove_cv_t<typename _Tp::value_type>>
-struct indirectly_readable_traits<_Tp>
- : __cond_value_type<typename _Tp::value_type> {};
+ same_as<remove_cv_t<typename _Tp::element_type>, remove_cv_t<typename _Tp::value_type>>
+struct indirectly_readable_traits<_Tp> : __cond_value_type<typename _Tp::value_type> {};
#endif // _LIBCPP_STD_VER >= 20