ranges/chunk: remove the clang range_adaptor_closure workaround

clang-19 exposes range_adaptor_closure so this isn't necessary.
This commit is contained in:
Danny Robson 2024-08-06 14:47:55 +10:00
parent a856edeb2c
commit 4ffe636c30

View File

@ -219,16 +219,9 @@ namespace cruft::ranges {
template <class R> template <class R>
chunk_view (R&&, std::ranges::range_difference_t<R>) -> chunk_view<std::views::all_t<R>>; chunk_view (R&&, std::ranges::range_difference_t<R>) -> chunk_view<std::views::all_t<R>>;
// HACK: clang#18 does not expose range_adaptor_closure, so we dig into the internals.
#if defined(COMPILER_GCC)
#define _CRUFT_RANGE_ADAPTOR_BASE std::ranges::range_adaptor_closure
#elif defined(COMPILER_CLANG)
#define _CRUFT_RANGE_ADAPTOR_BASE std::__range_adaptor_closure
#endif
namespace detail { namespace detail {
struct chunk_closure_t : _CRUFT_RANGE_ADAPTOR_BASE<chunk_closure_t> { struct chunk_closure_t : std::ranges::range_adaptor_closure<chunk_closure_t> {
int n; int n;
template <typename R> template <typename R>