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