diff options
Diffstat (limited to 'libstdc++-v3/include/std/ranges')
-rw-r--r-- | libstdc++-v3/include/std/ranges | 62 |
1 files changed, 37 insertions, 25 deletions
diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges index c4d4d85..fb4a6a8 100644 --- a/libstdc++-v3/include/std/ranges +++ b/libstdc++-v3/include/std/ranges @@ -51,6 +51,21 @@ #include <bits/ranges_util.h> #include <bits/refwrap.h> +#define __glibcxx_want_ranges_as_const +#define __glibcxx_want_ranges_as_rvalue +#define __glibcxx_want_ranges_cartesian_product +#define __glibcxx_want_ranges_chunk +#define __glibcxx_want_ranges_chunk_by +#define __glibcxx_want_ranges_enumerate +#define __glibcxx_want_ranges_iota +#define __glibcxx_want_ranges_iota +#define __glibcxx_want_ranges_join_with +#define __glibcxx_want_ranges_repeat +#define __glibcxx_want_ranges_slide +#define __glibcxx_want_ranges_stride +#define __glibcxx_want_ranges_zip +#include <bits/version.h> + /** * @defgroup ranges Ranges * @@ -4390,10 +4405,7 @@ namespace views::__adaptor inline constexpr auto values = elements<1>; } // namespace views -#if __cplusplus > 202002L - -#define __cpp_lib_ranges_zip 202110L - +#ifdef __cpp_lib_ranges_zip // C++ >= 23 namespace __detail { template<typename... _Rs> @@ -5831,9 +5843,9 @@ namespace views::__adaptor inline constexpr auto pairwise_transform = adjacent_transform<2>; } +#endif // __cpp_lib_ranges_zip -#define __cpp_lib_ranges_chunk 202202L - +#ifdef __cpp_lib_ranges_chunk // C++ >= 23 namespace __detail { template<typename _Tp> @@ -6370,9 +6382,9 @@ namespace views::__adaptor inline constexpr _Chunk chunk; } +#endif // __cpp_lib_ranges_chunk -#define __cpp_lib_ranges_slide 202202L - +#ifdef __cpp_lib_ranges_slide // C++ >= 23 namespace __detail { template<typename _Vp> @@ -6735,9 +6747,9 @@ namespace views::__adaptor inline constexpr _Slide slide; } +#endif // __cpp_lib_ranges_slide -#define __cpp_lib_ranges_chunk_by 202202L - +#ifdef __cpp_lib_ranges_chunk_by // C++ >= 23 template<forward_range _Vp, indirect_binary_predicate<iterator_t<_Vp>, iterator_t<_Vp>> _Pred> requires view<_Vp> && is_object_v<_Pred> @@ -6930,9 +6942,9 @@ namespace views::__adaptor inline constexpr _ChunkBy chunk_by; } +#endif // __cpp_lib_ranges_chunk_by -#define __cpp_lib_ranges_join_with 202202L - +#ifdef __cpp_lib_ranges_join_with // C++ >= 23 namespace __detail { template<typename _Range, typename _Pattern> @@ -7412,9 +7424,9 @@ namespace views::__adaptor inline constexpr _JoinWith join_with; } // namespace views +#endif // __cpp_lib_ranges_join_with -#define __cpp_lib_ranges_repeat 202207L - +#ifdef __cpp_lib_ranges_repeat // C++ >= 32 template<copy_constructible _Tp, semiregular _Bound = unreachable_sentinel_t> requires is_object_v<_Tp> && same_as<_Tp, remove_cv_t<_Tp>> && (__detail::__is_integer_like<_Bound> || same_as<_Bound, unreachable_sentinel_t>) @@ -7666,9 +7678,9 @@ namespace views::__adaptor } } } +#endif // __cpp_lib_ranges_repeat -#define __cpp_lib_ranges_stride 202207L - +#ifdef __cpp_lib_ranges_stride // C++ >= 23 template<input_range _Vp> requires view<_Vp> class stride_view : public view_interface<stride_view<_Vp>> @@ -8019,9 +8031,9 @@ namespace views::__adaptor inline constexpr _Stride stride; } +#endif // __cpp_lib_ranges_stride -#define __cpp_lib_ranges_cartesian_product 202207L - +#ifdef __cpp_lib_ranges_cartesian_product // C++ >= 23 namespace __detail { template<bool _Const, typename _First, typename... _Vs> @@ -8542,9 +8554,9 @@ namespace views::__adaptor inline constexpr _CartesianProduct cartesian_product; } +#endif // __cpp_lib_ranges_cartesian_product -#define __cpp_lib_ranges_as_rvalue 202207L - +#ifdef __cpp_lib_ranges_as_rvalue // C++ >= 23 template<input_range _Vp> requires view<_Vp> class as_rvalue_view : public view_interface<as_rvalue_view<_Vp>> @@ -8634,9 +8646,9 @@ namespace views::__adaptor inline constexpr _AsRvalue as_rvalue; } +#endif // __cpp_lib_as_rvalue -#define __cpp_lib_ranges_enumerate 202302L - +#ifdef __cpp_lib_ranges_enumerate // C++ >= 23 namespace __detail { template<typename _Range> @@ -8937,9 +8949,9 @@ namespace views::__adaptor inline constexpr _Enumerate enumerate; } +#endif // __cpp_lib_ranges_enumerate -#define __cpp_lib_ranges_as_const 202207L - +#ifdef __cpp_lib_ranges_as_const // C++ >= 23 template<view _Vp> requires input_range<_Vp> class as_const_view : public view_interface<as_const_view<_Vp>> @@ -9043,7 +9055,7 @@ namespace views::__adaptor inline constexpr _AsConst as_const; } -#endif // C++23 +#endif // __cpp_lib_as_const } // namespace ranges namespace views = ranges::views; |