SeqAn3  3.0.3
The Modern C++ library for sequence analysis.
iterator_traits.hpp File Reference

Provides various transformation traits for use on iterators. More...

#include <seqan3/std/iterator>
#include <type_traits>
#include <seqan3/core/platform.hpp>
#include <seqan3/utility/type_traits/pre.hpp>
+ Include dependency graph for iterator_traits.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  seqan3::detail::difference_type< it_t >
 Exposes the difference_type of another type. More...
 
struct  seqan3::detail::iter_pointer< it_t >
 This is like std::iter_value_t, but for the pointer type. More...
 
struct  seqan3::detail::reference< it_t >
 Exposes the reference type of another type. More...
 
struct  seqan3::detail::rvalue_reference< it_t >
 Exposes the rvalue_reference type of another type. More...
 
struct  seqan3::detail::size_type< it_t >
 Exposes the size_type of another type. More...
 
struct  seqan3::detail::value_type< it_t >
 Exposes the value_type of another type. More...
 

Namespaces

 seqan3
 The main SeqAn3 namespace.
 
 seqan3::detail
 The internal SeqAn3 namespace.
 

Typedefs

template<typename it_t >
using seqan3::detail::iter_pointer_t = typename iter_pointer< it_t >::type
 Return the pointer type of the input type (transformation_trait shortcut). More...
 
template<typename it_t >
using seqan3::detail::iterator_category_tag_t = typename std::iterator_traits< it_t >::iterator_category
 Exposes the iterator_category from the modelled concept. More...
 
template<typename it_t >
using seqan3::detail::iterator_concept_tag_t = std::conditional_t< std::contiguous_iterator< it_t >, std::contiguous_iterator_tag, std::conditional_t< std::random_access_iterator< it_t >, std::random_access_iterator_tag, std::conditional_t< std::bidirectional_iterator< it_t >, std::bidirectional_iterator_tag, std::conditional_t< std::forward_iterator< it_t >, std::forward_iterator_tag, std::conditional_t< std::input_iterator< it_t >, std::input_iterator_tag, std::output_iterator_tag > >> >>
 Exposes the iterator_concept from the modelled concept. More...
 

Detailed Description

Provides various transformation traits for use on iterators.

Author
Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>