38template <
typename score_t>
54 using typename range_base_t::alignment_column_type;
109 template <std::ranges::forward_range first_sequence_t, std::ranges::forward_range second_sequence_t>
148 return alignment_column_type{*
this,
154 template <std::random_access_iterator iter_t>
157 return {std::get<0>(*host_iter),
159 std::get<1>(*(host_iter + 1)),
160 std::get<1>(*(host_iter)),
165 template <std::random_access_iterator iter_t>
173 template <std::random_access_iterator iter_t>
180 template <std::random_access_iterator iter_t>
Provides seqan3::detail::align_config_band.
Provides seqan3::detail::alignment_matrix_column_major_range_base.
Provides seqan3::detail::alignment_score_matrix_one_column_base.
Provides seqan3::detail::alignment_score_matrix_proxy.
Configuration element for setting a fixed size band.
Definition align_config_band.hpp:60
Allocates uninitialized storage whose memory-alignment is specified by alignment.
Definition aligned_allocator.hpp:74
Provides a range interface for alignment matrices.
Definition alignment_matrix_column_major_range_base.hpp:60
std::default_sentinel_t sentinel
The type of sentinel.
Definition alignment_matrix_column_major_range_base.hpp:477
iterator_type iterator
The type of the iterator.
Definition alignment_matrix_column_major_range_base.hpp:475
A banded alignment score matrix storing only a single banded column for the computation.
Definition alignment_score_matrix_one_column_banded.hpp:42
alignment_score_matrix_proxy< score_t > value_type
The proxy type of an alignment matrix.
Definition alignment_score_matrix_one_column_banded.hpp:66
constexpr value_type make_proxy(iter_t host_iter) noexcept
Creates the proxy value returned when dereferencing the alignment-column-iterator.
Definition alignment_score_matrix_one_column_banded.hpp:155
constexpr alignment_score_matrix_one_column_banded(alignment_score_matrix_one_column_banded const &)=default
Defaulted.
size_t size_type
The size type.
Definition alignment_score_matrix_one_column_base.hpp:48
~alignment_score_matrix_one_column_banded()=default
Defaulted.
constexpr alignment_column_type initialise_column(size_type const column_index) noexcept
Returns the current alignment-column at the given column_index.
Definition alignment_score_matrix_one_column_banded.hpp:137
constexpr void after_column_iterator_increment(iter_t host_iter) noexcept
Allows to perform additional steps after incrementing the alignment-column-iterator.
Definition alignment_score_matrix_one_column_banded.hpp:181
int32_t band_row_index
The row index where the lower bound of the band passes through.
Definition alignment_score_matrix_one_column_banded.hpp:131
typename range_base_t::sentinel sentinel
The type of sentinel.
Definition alignment_score_matrix_one_column_banded.hpp:72
constexpr void on_column_iterator_creation(iter_t host_iter) noexcept
Allows additional initialisations when calling begin on an alignment-column.
Definition alignment_score_matrix_one_column_banded.hpp:166
constexpr alignment_score_matrix_one_column_banded(first_sequence_t &&first, second_sequence_t &&second, align_cfg::band_fixed_size const &band, score_t const initial_value=score_t{})
Construction from two ranges and a band.
Definition alignment_score_matrix_one_column_banded.hpp:110
int32_t band_size
The size of the band.
Definition alignment_score_matrix_one_column_banded.hpp:133
friend range_base_t
Befriend the range base class.
Definition alignment_score_matrix_one_column_banded.hpp:50
constexpr alignment_score_matrix_one_column_banded & operator=(alignment_score_matrix_one_column_banded &&)=default
Defaulted.
constexpr alignment_score_matrix_one_column_banded()=default
Defaulted.
typename range_base_t::iterator iterator
The type of the iterator.
Definition alignment_score_matrix_one_column_banded.hpp:70
std::tuple< underlying_type, underlying_type > element_type
The actual element type.
Definition alignment_score_matrix_one_column_base.hpp:42
constexpr void before_column_iterator_increment(iter_t host_iter) noexcept
Allows to perform additional steps before incrementing the alignment-column-iterator.
Definition alignment_score_matrix_one_column_banded.hpp:174
constexpr alignment_score_matrix_one_column_banded(alignment_score_matrix_one_column_banded &&)=default
Defaulted.
int32_t band_col_index
The column index where the upper bound of the band passes through.
Definition alignment_score_matrix_one_column_banded.hpp:129
constexpr alignment_score_matrix_one_column_banded & operator=(alignment_score_matrix_one_column_banded const &)=default
Defaulted.
@ band
ID for the band option.
The internal SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
A base class for alignment score matrices using only one column to compute the matrix.
Definition alignment_score_matrix_one_column_base.hpp:34
std::array< underlying_type, 3 > cache
Internal cache for the last diagonal and vertical value during the alignment computation.
Definition alignment_score_matrix_one_column_base.hpp:54
pool_type pool
The linearised memory pool storing only one column of the matrix.
Definition alignment_score_matrix_one_column_base.hpp:52
size_t size_type
The size type.
Definition alignment_score_matrix_one_column_base.hpp:48
score_t underlying_type
The underlying type of the scores.
Definition alignment_score_matrix_one_column_base.hpp:40
size_type num_rows
The number of num_rows.
Definition alignment_score_matrix_one_column_base.hpp:58
std::tuple< underlying_type, underlying_type > element_type
The actual element type.
Definition alignment_score_matrix_one_column_base.hpp:42
aligned_allocator< element_type, sizeof(element_type)> allocator_type
The allocator type.
Definition alignment_score_matrix_one_column_base.hpp:44
size_type num_cols
The number of columns.
Definition alignment_score_matrix_one_column_base.hpp:56