Iros
Loading...
Searching...
No Matches
di::concepts::Iterator Concept Reference
#include <
di/container/concepts/iterator.h
>
Concept definition
template
<
typename
Iter>
concept
di::concepts::Iterator
=
Movable<Iter>
&&
requires
(
meta::RemoveCVRef<Iter>
it) {
typename
meta::IteratorCategory<Iter>
;
typename
meta::IteratorValue<Iter>
;
typename
meta::IteratorReference<Iter>
;
typename
meta::IteratorSSizeType<Iter>
;
typename
meta::IteratorSizeType<Iter>
;
{ ++it } ->
SameAs<meta::RemoveCVRef<Iter>
&>;
it++;
{ *util::as_const(it) } -> SameAs<meta::IteratorReference<Iter>>;
}
di::concepts::Iterator
Definition
iterator.h:14
di::concepts::Movable
Definition
operations.h:49
di::concepts::SameAs
Definition
core.h:114
di::meta::RemoveCVRef
RemoveCV< RemoveReference< T > > RemoveCVRef
Definition
core.h:74
di::meta::IteratorCategory
decltype(container::iterator_category(types::in_place_type< meta::RemoveCVRef< T > >)) IteratorCategory
Definition
iterator_category.h:8
di::meta::IteratorSSizeType
decltype(container::iterator_ssize_type(types::in_place_type< meta::RemoveCVRef< T > >)) IteratorSSizeType
Definition
iterator_ssize_type.h:8
di::meta::IteratorValue
meta::Type< decltype(container::iterator_value(types::in_place_type< meta::RemoveCVRef< T > >))> IteratorValue
Definition
iterator_value.h:8
di::meta::IteratorReference
decltype(*util::declval< T const & >()) IteratorReference
Definition
iterator_reference.h:7
di::meta::IteratorSizeType
MakeUnsigned< IteratorSSizeType< T > > IteratorSizeType
Definition
iterator_size_type.h:8
di
concepts
Iterator
Generated by
1.13.0