24 functor_index_iterator<FUNCTOR>,
25 std::invoke_result_t<FUNCTOR, std::size_t>,
26 std::random_access_iterator_tag,
27 std::invoke_result_t<FUNCTOR, std::size_t>
32 using result_type = std::invoke_result_t<FUNCTOR, std::size_t>;
40 : m_functor(
std::move(functor))
49 return m_functor(m_index);
80 [[nodiscard]]
bool equal(
const self_type& rhs)
const
82 return m_index == rhs.m_index;
85 [[nodiscard]]
bool less_than(
const self_type& rhs)
const
87 return m_index < rhs.m_index;
90 FUNCTOR m_functor = FUNCTOR{};