Range¶
Meta-header for the range module .
- Author
- Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
Adaptations of concepts from the Ranges TS.
- Author
- Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
-
namespace
seqan3¶ The main SeqAn3 namespace.
Helpers for seqan3::semi_alphabet_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::semi_alphabet_concept.
Helpers for seqan3::alphabet_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::alphabet_concept.
Helpers for seqan3::nucleotide_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::nucleotide_concept.
Alphabet aliases
Other names (typedefs) for seqan3::nucl16
Range concepts
Adapted from the Ranges TS.
-
concept bool seqan3::range_concept= (bool)ranges::Range<type>() Defines the requirements of a type that allows iteration over its elements by providing a begin iterator and an end sentinel.
-
concept bool seqan3::sized_range_concept= range_concept<type> && (bool)ranges::SizedRange<type>() Specifies the requirements of a Range type that knows its size in constant time with the size function.
-
concept bool seqan3::bounded_range_concept= range_concept<type> && (bool)ranges::BoundedRange<type>() Specifies requirements of a Range type for which
beginandendreturn objects of the same type.
-
concept bool seqan3::output_range_concept= range_concept<type> && (bool)ranges::OutputRange<type, out_type>() Specifies requirements of a Range type for which
beginreturns a type that satisfies seqan3::output_iterator_concept.
-
concept bool seqan3::input_range_concept= range_concept<type> && (bool)ranges::InputRange<type>() Specifies requirements of an Range type for which
beginreturns a type that satisfies seqan3::input_iterator_concept.
-
concept bool seqan3::forward_range_concept= input_range_concept<type> && (bool)ranges::ForwardRange<type>() Specifies requirements of an Range type for which
beginreturns a type that satisfies seqan3::forward_iterator_concept.
-
concept bool seqan3::bidirectional_range_concept= forward_range_concept<type> && (bool)ranges::BidirectionalRange<type>() Specifies requirements of an Range type for which
beginreturns a type that satisfies seqan3::bidirectional_iterator_concept.
-
concept bool seqan3::random_access_range_concept= bidirectional_range_concept<type> && (bool)ranges::RandomAccessRange<type>() Specifies requirements of an Range type for which
beginreturns a type that satisfies seqan3::random_access_iterator_concept.
Container concepts
Container concepts as defined by the standard library (or very close).
Container-of-container concepts
Shortcuts for multi-dimensional container concepts.
-
Provides various metafunctions used by the range module.
- Author
- Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
-
namespace
seqan3¶ The main SeqAn3 namespace.
Helpers for seqan3::semi_alphabet_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::semi_alphabet_concept.
Helpers for seqan3::alphabet_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::alphabet_concept.
Helpers for seqan3::nucleotide_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::nucleotide_concept.
Alphabet aliases
Other names (typedefs) for seqan3::nucl16
Range concepts
Adapted from the Ranges TS.
Container concepts
Container concepts as defined by the standard library (or very close).
Container-of-container concepts
Shortcuts for multi-dimensional container concepts.
Typedefs
-
using
seqan3::innermost_value_type_t = typedef typename innermost_value_type<t>::type Shortcut for seqan3::innermost_value_type.
Variables
-
constexpr bool
has_value_type_v¶ Whether a type has a
value_typemember and/orranges::value_type_t<t>resolves [Value metafunction].- Template Parameters
t: The type to recurse on; must haveranges::value_type_t<t>
-
constexpr size_t
dimension_v¶ Returns the number of times you can call
ranges::value_type_trecursively on t [Value metafunction].- Template Parameters
t: The type to be queried; must resolveranges::value_type_tat least once.
- template <typename t>
-
struct
innermost_value_type¶ - #include <range/metafunction.hpp>
Recursively determines the
value_typeon containers and/or iterators [Type metafunction].- Template Parameters
t: The type to recurse on; must haveranges::value_type_t<t>
Public Types
-
template<>
usingtype= ranges::value_type_t<std::decay_t<t>>¶ The forwarded type.
-
using