5#ifndef INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_TYPE_TRAITS_DENOTES_RANGE_HPP_
6#define INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_TYPE_TRAITS_DENOTES_RANGE_HPP_
11#include "arene/base/constraints/constraints.hpp"
12#include "arene/base/stdlib_choice/declval.hpp"
13#include "arene/base/stdlib_choice/enable_if.hpp"
14#include "arene/base/stdlib_choice/is_copy_constructible.hpp"
15#include "arene/base/stdlib_choice/remove_cv.hpp"
16#include "arene/base/stdlib_choice/remove_reference.hpp"
17#include "arene/base/type_traits/comparison_traits.hpp"
18#include "arene/base/type_traits/iterator_category_traits.hpp"
19#include "arene/base/type_traits/remove_cvref.hpp"
28template <
typename Iterator,
typename Sentinel = Iterator>
29extern constexpr bool denotes_range_v =
34namespace denotes_range_detail {
39template <
typename Iterator,
typename Sentinel,
typename = constraints<>>
40extern constexpr bool denotes_nothrow_iterable_range_v =
false;
46template <
typename Iterator,
typename Sentinel>
47extern constexpr bool denotes_nothrow_iterable_range_v<
50 constraints<std::enable_if_t<denotes_range_v<Iterator, Sentinel>>>> =
51 noexcept(++std::declval<remove_cvref_t<Iterator>&>())&&
52 noexcept(std::declval<remove_cvref_t<Iterator>&>()++)&&
53 noexcept(*std::declval<remove_cvref_t<Iterator>&>())&&
54 noexcept(std::declval<remove_cvref_t<Iterator>&>() != std::declval<remove_cvref_t<Sentinel>&>());
65template <
typename Iterator,
typename Sentinel = Iterator>
66extern constexpr bool denotes_nothrow_iterable_range_v =
Definition array_exceptions_disabled.cpp:11
Copyright 2026, Toyota Motor Corporation.
Definition array_exceptions_disabled.cpp:10