SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
iterator_traits.hpp File Reference

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

#include <iterator>
#include <type_traits>
#include <seqan3/core/platform.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::iter_pointer< it_t >
 This is like std::iter_value_t, but for the pointer type. More...
 
struct  seqan3::detail::maybe_inherited_iterator_category< underling_iterator_t >
 This handles more cases than maybe_iterator_category if you inherit the underling_iterator_t. More...
 
struct  seqan3::detail::maybe_iterator_category< underlying_iterator_t >
 Defines iterator_category member if underlying_iterator_t has a valid std::iterator_traits::iterator_category overload. More...
 

Namespaces

namespace  seqan3
 The main SeqAn3 namespace.
 
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).
 
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.
 

Detailed Description

Provides various transformation traits for use on iterators.

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