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

Provides various transformation traits used by the range module. More...

+ Include dependency graph for core/range/type_traits.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  seqan3::range_innermost_value< t >
 Recursively determines the value_type on containers and/or iterators. More...
 

Namespaces

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

Typedefs

template<bool const_range, typename range_t >
using seqan3::detail::maybe_const_iterator_t = std::ranges::iterator_t< maybe_const_range_t< const_range, range_t > >
 Returns the const iterator of range_t if const_range is true; otherwise the non-const iterator.
 
template<bool const_range, typename range_t >
using seqan3::detail::maybe_const_range_t = std::conditional_t< const_range, range_t const, range_t >
 Makes range_t const if const_range is true; otherwise keeps range_t as is.
 
template<bool const_v, typename range_t >
using seqan3::detail::maybe_const_sentinel_t = std::ranges::sentinel_t< maybe_const_range_t< const_v, range_t > >
 Returns the const sentinel of range_t if const_range is true; otherwise the non-const sentinel.
 
template<typename t >
using seqan3::range_innermost_value_t = typename range_innermost_value< t >::type
 Shortcut for seqan3::range_innermost_value (transformation_trait shortcut).
 

Variables

template<typename t >
constexpr size_t seqan3::range_dimension_v = 1
 Returns the number of times you can call seqan3::value_type_t recursively on t (type trait).
 

Detailed Description

Provides various transformation traits used by the range module.

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