5#ifndef INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_ITERATOR_DISTANCE_HPP_
6#define INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_ITERATOR_DISTANCE_HPP_
12#include "arene/base/stdlib_choice/iterator_tags.hpp"
13#include "arene/base/stdlib_choice/iterator_traits.hpp"
18namespace distance_impl {
28template <
typename Iterator>
29constexpr auto do_distance(
32 std::random_access_iterator_tag
33)
noexcept(
noexcept(last - first))
34 ->
typename std::iterator_traits<Iterator>::difference_type {
46template <
typename Iterator>
47constexpr auto do_distance(
50 std::input_iterator_tag
51)
noexcept(
noexcept(first != last) &&
noexcept(++first))
52 ->
typename std::iterator_traits<Iterator>::difference_type {
53 typename std::iterator_traits<Iterator>::difference_type result{0};
54 while (first != last) {
Definition array_exceptions_disabled.cpp:11
Copyright 2026, Toyota Motor Corporation.
Definition array_exceptions_disabled.cpp:10