7#ifndef INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_ALGORITHM_IOTA_HPP_
8#define INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_ALGORITHM_IOTA_HPP_
16#include "arene/base/algorithm/detail/traits.hpp"
17#include "arene/base/compiler_support/cpp14_inline.hpp"
18#include "arene/base/constraints/constraints.hpp"
19#include "arene/base/stdlib_choice/declval.hpp"
20#include "arene/base/stdlib_choice/enable_if.hpp"
21#include "arene/base/stdlib_choice/is_convertible.hpp"
22#include "arene/base/type_traits/is_invocable.hpp"
23#include "arene/base/type_traits/iterator_category_traits.hpp"
33namespace iota_detail {
53 std::enable_if_t<is_forward_iterator_v<ForwardIt>>,
54 std::enable_if_t<std::is_convertible<Value, algorithm_detail::iter_value_t<ForwardIt>>::value>,
55 decltype(++std::declval<Value&>())> =
nullptr>
56 constexpr auto operator()(ForwardIt& first, ForwardIt& last, Value& value)
const noexcept(
57 noexcept(std::declval<ForwardIt&>() != std::declval<ForwardIt&>()) &&
58 noexcept(*std::declval<ForwardIt&>()++ = std::declval<Value&>()) &&
59 noexcept(++std::declval<Value&>())
63 while (first != last) {
102 std::enable_if_t<is_forward_iterator_v<ForwardIt>>,
103 std::enable_if_t<std::is_convertible<Value, algorithm_detail::iter_value_t<ForwardIt>>::value>,
104 decltype(++std::declval<Value&>())> =
nullptr>
105 constexpr auto operator()(ForwardIt first, ForwardIt last, Value value)
const noexcept(
106 arene::base::is_nothrow_invocable_v<iota_impl_fn, ForwardIt&, ForwardIt&, Value&>
110 iota_impl_fn{}(first, last, value);
Definition array_exceptions_disabled.cpp:11
ARENE_CPP14_INLINE_VARIABLE(iota_detail::iota_fn, iota)
Copyright 2026, Toyota Motor Corporation.
Definition array_exceptions_disabled.cpp:10