16 #include <type_traits> 37 template <std::InputIterator it_t>
54 template <std::InputIterator it_t>
71 template <std::InputIterator it_t>
94 template <std::WeaklyIncrementable it_t>
111 template <std::WeaklyIncrementable it_t>
163 template <
typename it_t>
168 using type = iterator_category;
173 template <
typename it_t>
175 struct iterator_tag<it_t>
180 template <std::InputIterator it_t>
182 struct iterator_tag<it_t>
187 template <
typename it_t>
190 struct iterator_tag<it_t>
195 template <std::ForwardIterator it_t>
197 struct iterator_tag<it_t>
202 template <std::B
idirectionalIterator it_t>
204 struct iterator_tag<it_t>
209 template <std::RandomAccessIterator it_t>
211 struct iterator_tag<it_t>
221 template <
typename it_t>
Provides various transformation trait base templates and shortcuts.
Exposes the iterator_category from the modelled concept.
Definition: iterator.hpp:164
Provides C++20 additions to the <iterator> header.
The main SeqAn3 namespace.
decltype(std::ranges::iter_move(std::declval< it_t & >())) type
Return the member type as return type.
Definition: iterator.hpp:75
::ranges::iter_move iter_move
Alias for ranges::iter_move. Casts the result of dereferencing an object to its associated rvalue ref...
Definition: iterator:336
typename iterator_tag< it_t >::type iterator_tag_t
Return the iterator_category type of the input type (TransformationTrait shortcut).
Definition: iterator.hpp:225
Exposes the difference_type of another type.
Definition: pre.hpp:159
Exposes the size_type of another type.
Definition: pre.hpp:188
iterator_category type
The iterator_category.
Definition: iterator.hpp:169
typename std::iterator_traits< std::remove_reference_t< it_t > >::reference type
Return the member type as return type.
Definition: iterator.hpp:58
Exposes the rvalue_reference of another type.
Definition: pre.hpp:99
Exposes the reference of another type.
Definition: pre.hpp:70
The OutputIterator concept is a refinement of std::Iterator, adding the requirement that it can be us...
typename std::iterator_traits< std::remove_reference_t< it_t > >::difference_type type
Return the member type as return type.
Definition: iterator.hpp:98
Exposes the value_type of another type.
Definition: pre.hpp:41
typename std::iterator_traits< std::remove_reference_t< it_t > >::value_type type
Return the member type as return type.
Definition: iterator.hpp:41