The type returned by seqan3::views::minimiser.
More...
#include <seqan3/search/views/minimiser.hpp>
|
|
| minimiser_view ()=default |
| Defaulted.
|
|
| minimiser_view (minimiser_view const &rhs)=default |
| Defaulted.
|
|
| minimiser_view (minimiser_view &&rhs)=default |
| Defaulted.
|
|
minimiser_view & | operator= (minimiser_view const &rhs)=default |
| Defaulted.
|
|
minimiser_view & | operator= (minimiser_view &&rhs)=default |
| Defaulted.
|
|
| ~minimiser_view ()=default |
| Defaulted.
|
|
| minimiser_view (urng1_t urange1, size_t const window_size) |
| Construct from a view and a given number of values in one window.
|
|
template<typename other_urng1_t >
requires (std::ranges::viewable_range<other_urng1_t> && std::constructible_from<urng1_t, std::ranges::ref_view<std::remove_reference_t<other_urng1_t>>>) |
| minimiser_view (other_urng1_t &&urange1, size_t const window_size) |
| Construct from a non-view that can be view-wrapped and a given number of values in one window.
|
|
| minimiser_view (urng1_t urange1, urng2_t urange2, size_t const window_size) |
| Construct from two views and a given number of values in one window.
|
|
template<typename other_urng1_t , typename other_urng2_t >
requires (std::ranges::viewable_range<other_urng1_t> && std::constructible_from<urng1_t, std::views::all_t<other_urng1_t>> && std::ranges::viewable_range<other_urng2_t> && std::constructible_from<urng2_t, std::views::all_t<other_urng2_t>>) |
| minimiser_view (other_urng1_t &&urange1, other_urng2_t &&urange2, size_t const window_size) |
| Construct from two non-views that can be view-wrapped and a given number of values in one window.
|
|
|
basic_iterator< false > | begin () |
| Returns an iterator to the first element of the range.
|
|
basic_iterator< true > | begin () const |
| Returns an iterator to the first element of the range.
|
|
sentinel | end () const |
| Returns an iterator to the element following the last element of the range.
|
|
|
using | default_urng2_t = std::ranges::empty_view< seqan3::detail::empty_type > |
| The default argument of the second range.
|
|
using | sentinel = std::default_sentinel_t |
| The sentinel type of the minimiser_view.
|
|
|
urng1_t | urange1 {} |
| The first underlying range.
|
|
urng2_t | urange2 {} |
| The second underlying range.
|
|
size_t | window_size {} |
| The number of values in one window.
|
|
|
static constexpr bool | const_iterable |
| Whether the given ranges are const_iterable.
|
|
static constexpr bool | second_range_is_given = !std::same_as<urng2_t, default_urng2_t> |
| Boolean variable, which is true, when second range is not of empty type.
|
|
template<std::ranges::view urng1_t, std::ranges::view urng2_t = std::ranges::empty_view<seqan3::detail::empty_type>>
class seqan3::detail::minimiser_view< urng1_t, urng2_t >
The type returned by seqan3::views::minimiser.
- Template Parameters
-
urng1_t | The type of the underlying range, must model std::ranges::forward_range, the reference type must model std::totally_ordered. The typical use case is that the reference type is the result of seqan3::kmer_hash. |
urng2_t | The type of the second underlying range, must model std::ranges::forward_range, the reference type must model std::totally_ordered. If only one range is provided this defaults to std::ranges::empty_view. |
See seqan3::views::minimiser for a detailed explanation on minimizers.
- Note
- Most members of this class are generated by std::ranges::view_interface which is not yet documented here.
- See also
- seqan3::views::minimiser
◆ minimiser_view() [1/4]
template<std::ranges::view urng1_t, std::ranges::view urng2_t = std::ranges::empty_view<seqan3::detail::empty_type>>
Construct from a view and a given number of values in one window.
- Parameters
-
[in] | urange1 | The input range to process. Must model std::ranges::viewable_range and std::ranges::forward_range. |
[in] | window_size | The number of values in one window. |
◆ minimiser_view() [2/4]
template<std::ranges::view urng1_t, std::ranges::view urng2_t = std::ranges::empty_view<seqan3::detail::empty_type>>
template<typename other_urng1_t >
requires (std::ranges::viewable_range<other_urng1_t> && std::constructible_from<urng1_t, std::ranges::ref_view<
std::remove_reference_t<other_urng1_t>>>)
Construct from a non-view that can be view-wrapped and a given number of values in one window.
- Template Parameters
-
other_urng1_t | The type of another urange. Must model std::ranges::viewable_range and be constructible from urng1_t. |
- Parameters
-
[in] | urange1 | The input range to process. Must model std::ranges::viewable_range and std::ranges::forward_range. |
[in] | window_size | The number of values in one window. |
◆ minimiser_view() [3/4]
template<std::ranges::view urng1_t, std::ranges::view urng2_t = std::ranges::empty_view<seqan3::detail::empty_type>>
Construct from two views and a given number of values in one window.
- Parameters
-
[in] | urange1 | The first input range to process. Must model std::ranges::viewable_range and std::ranges::forward_range. |
[in] | urange2 | The second input range to process. Must model std::ranges::viewable_range and std::ranges::forward_range. |
[in] | window_size | The number of values in one window. |
◆ minimiser_view() [4/4]
template<std::ranges::view urng1_t, std::ranges::view urng2_t = std::ranges::empty_view<seqan3::detail::empty_type>>
template<typename other_urng1_t , typename other_urng2_t >
requires (std::ranges::viewable_range<other_urng1_t> && std::constructible_from<urng1_t, std::views::all_t<other_urng1_t>> && std::ranges::viewable_range<other_urng2_t> && std::constructible_from<urng2_t, std::views::all_t<other_urng2_t>>)
Construct from two non-views that can be view-wrapped and a given number of values in one window.
- Template Parameters
-
other_urng1_t | The type of another urange. Must model std::ranges::viewable_range and be constructible from urng1_t. |
other_urng2_t | The type of another urange. Must model std::ranges::viewable_range and be constructible from urng2_t. |
- Parameters
-
[in] | urange1 | The input range to process. Must model std::ranges::viewable_range and std::ranges::forward_range. |
[in] | urange2 | The second input range to process. Must model std::ranges::viewable_range and std::ranges::forward_range. |
[in] | window_size | The number of values in one window. |
◆ begin() [1/2]
template<std::ranges::view urng1_t, std::ranges::view urng2_t = std::ranges::empty_view<seqan3::detail::empty_type>>
Returns an iterator to the first element of the range.
- Returns
- Iterator to the first element.
Complexity
Constant.
Exceptions
Strong exception guarantee.
◆ begin() [2/2]
template<std::ranges::view urng1_t, std::ranges::view urng2_t = std::ranges::empty_view<seqan3::detail::empty_type>>
Returns an iterator to the first element of the range.
- Returns
- Iterator to the first element.
Complexity
Constant.
Exceptions
Strong exception guarantee.
◆ end()
template<std::ranges::view urng1_t, std::ranges::view urng2_t = std::ranges::empty_view<seqan3::detail::empty_type>>
Returns an iterator to the element following the last element of the range.
- Returns
- Iterator to the end.
This element acts as a placeholder; attempting to dereference it results in undefined behaviour.
Complexity
Constant.
Exceptions
No-throw guarantee.
◆ const_iterable
template<std::ranges::view urng1_t, std::ranges::view urng2_t = std::ranges::empty_view<seqan3::detail::empty_type>>
Initial value:=
Specifies requirements of an input range type for which the const version of that type satisfies the ...
Whether the given ranges are const_iterable.
The documentation for this class was generated from the following file: