From 76932a0181a963123b9d380ba6aeb64c8b08cdf1 Mon Sep 17 00:00:00 2001 From: Patrick Roberts Date: Sat, 8 Feb 2025 00:13:57 -0600 Subject: [PATCH] Remove unused IterConcept from iterator_interface --- include/beman/any_view/detail/iterator.hpp | 5 ++--- .../beman/any_view/detail/iterator_adaptor.hpp | 15 +++++++-------- .../beman/any_view/detail/iterator_interface.hpp | 2 +- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/include/beman/any_view/detail/iterator.hpp b/include/beman/any_view/detail/iterator.hpp index 7f25558..05123f6 100644 --- a/include/beman/any_view/detail/iterator.hpp +++ b/include/beman/any_view/detail/iterator.hpp @@ -33,13 +33,12 @@ class iterator { static constexpr bool random_access = std::derived_from; static constexpr bool contiguous = std::derived_from; - using interface_type = iterator_interface; + using interface_type = iterator_interface; // inplace storage sufficient for a vtable pointer and two pointers intrusive_small_ptr iterator_ptr; template - using adaptor_type = - detail::iterator_adaptor; + using adaptor_type = detail::iterator_adaptor; template static constexpr auto get_noexcept() { diff --git a/include/beman/any_view/detail/iterator_adaptor.hpp b/include/beman/any_view/detail/iterator_adaptor.hpp index dc722aa..3893a2c 100644 --- a/include/beman/any_view/detail/iterator_adaptor.hpp +++ b/include/beman/any_view/detail/iterator_adaptor.hpp @@ -11,28 +11,27 @@ namespace beman::any_view::detail { -template SentinelT> -class iterator_adaptor : public iterator_interface { +class iterator_adaptor : public iterator_interface { [[no_unique_address]] IteratorT iterator; [[no_unique_address]] SentinelT sentinel; - using iterator_interface = detail::iterator_interface; + using iterator_interface = detail::iterator_interface; using pointer = std::add_pointer_t; static constexpr auto get_noexcept() { return std::is_nothrow_move_constructible_v and std::is_nothrow_move_constructible_v; } - static constexpr bool forward = std::derived_from; - static constexpr bool bidirectional = std::derived_from; - static constexpr bool random_access = std::derived_from; - static constexpr bool contiguous = std::derived_from; + static constexpr bool forward = std::forward_iterator; + static constexpr bool bidirectional = std::bidirectional_iterator; + static constexpr bool random_access = std::random_access_iterator; + static constexpr bool contiguous = std::contiguous_iterator; static constexpr auto down_cast(const iterator_interface& other) { return dynamic_cast(std::addressof(other)); diff --git a/include/beman/any_view/detail/iterator_interface.hpp b/include/beman/any_view/detail/iterator_interface.hpp index 43bde0b..d86acd4 100644 --- a/include/beman/any_view/detail/iterator_interface.hpp +++ b/include/beman/any_view/detail/iterator_interface.hpp @@ -9,7 +9,7 @@ namespace beman::any_view::detail { -template +template class iterator_interface { using pointer = std::add_pointer_t;