Iros
Loading...
Searching...
No Matches
forward_iterator.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/container/concepts/input_iterator.h
"
4
#include "
di/container/concepts/sentinel_for.h
"
5
#include "
di/container/types/forward_iterator_tag.h
"
6
#include "
di/meta/operations.h
"
7
8
namespace
di::concepts
{
9
template
<
typename
Iter>
10
concept
ForwardIterator
=
InputIterator<Iter>
&&
DerivedFrom<meta::IteratorCategory<Iter>
,
types::ForwardIteratorTag
> &&
11
SentinelFor<Iter, Iter>
&&
Regular<Iter>
&&
requires
(Iter iter) {
12
{ iter++ } ->
SameAs<Iter>
;
13
};
14
}
di::concepts::DerivedFrom
Definition
operations.h:114
di::concepts::ForwardIterator
Definition
forward_iterator.h:10
di::concepts::InputIterator
Definition
input_iterator.h:9
di::concepts::Regular
Definition
operations.h:120
di::concepts::SameAs
Definition
core.h:114
di::concepts::SentinelFor
Definition
sentinel_for.h:9
forward_iterator_tag.h
operations.h
input_iterator.h
di::concepts
Definition
any_storable.h:9
sentinel_for.h
di::types::ForwardIteratorTag
Definition
forward_iterator_tag.h:6
libs
di
include
di
container
concepts
forward_iterator.h
Generated by
1.13.0