tetl
0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
legacy_input_iterator.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: BSL-1.0
2
3
#ifndef TETL_ITERATOR_LEGACY_INPUT_ITERATOR_HPP
4
#define TETL_ITERATOR_LEGACY_INPUT_ITERATOR_HPP
5
6
#include <
etl/_concepts/equality_comparable.hpp
>
7
#include <
etl/_concepts/signed_integral.hpp
>
8
#include <
etl/_iterator/incrementable_traits.hpp
>
9
#include <
etl/_iterator/indirectly_readable_traits.hpp
>
10
#include <
etl/_iterator/iter_reference_t.hpp
>
11
#include <
etl/_iterator/legacy_iterator.hpp
>
12
#include <
etl/_type_traits/common_reference.hpp
>
13
14
namespace
etl
{
15
16
// clang-format off
17
21
template
<
typename
Iter>
22
concept
legacy_input_iterator
=
etl::legacy_iterator<Iter>
and
etl::equality_comparable<Iter>
and
requires
(Iter i) {
23
typename
etl::incrementable_traits<Iter>::difference_type
;
24
typename
etl::indirectly_readable_traits<Iter>::value_type
;
25
// typename etl::common_reference_t<etl::iter_reference_t<Iter>&&, typename etl::indirectly_readable_traits<Iter>::value_type&>;
26
*i++;
27
// typename etl::common_reference_t<decltype(*i++)&&, typename etl::indirectly_readable_traits<Iter>::value_type&>;
28
requires
etl::signed_integral<typename etl::incrementable_traits<Iter>::difference_type
>;
29
};
30
31
// clang-format on
32
33
}
// namespace etl
34
35
#endif
// TETL_ITERATOR_LEGACY_INPUT_ITERATOR_HPP
common_reference.hpp
etl::equality_comparable
Definition
equality_comparable.hpp:12
etl::legacy_input_iterator
Definition
legacy_input_iterator.hpp:22
etl::legacy_iterator
Definition
legacy_iterator.hpp:16
etl::signed_integral
The concept signed_integral<T> is satisfied if and only if T is an integral type and is_signed_v<T> i...
Definition
signed_integral.hpp:15
equality_comparable.hpp
incrementable_traits.hpp
indirectly_readable_traits.hpp
iter_reference_t.hpp
legacy_iterator.hpp
etl
Definition
adjacent_find.hpp:8
signed_integral.hpp
etl::incrementable_traits
Definition
incrementable_traits.hpp:20
etl::indirectly_readable_traits
Definition
indirectly_readable_traits.hpp:34
include
etl
_iterator
legacy_input_iterator.hpp
Generated on Sat Mar 8 2025 16:19:59 for tetl by
1.14.0