29template <
typename index_type>
44template <std::
signed_
integral index_type>
48template <std::
unsigned_
integral index_type>
52template <simd_index index_type>
60template <
typename index_type>
75template <std::
signed_
integral index_type>
79template <std::
unsigned_
integral index_type>
83template <simd_index index_type>
91template <
typename index_t>
132 template <seqan3::arithmetic scalar_index_t>
146 template <std::
integral other_index_t>
148 requires (!std::same_as<other_index_t, index_t>)
151 :
row{
static_cast<index_t
>(other.
row)}, col{
static_cast<index_t
>(other.
col)}
156 template <std::
integral first_index_t, std::
integral second_index_t>
159 return std::pair{
static_cast<first_index_t
>(col),
static_cast<second_index_t
>(
row)};
174template <std::
integral row_index_t, std::
integral col_index_t>
176 requires std::common_with<row_index_t, col_index_t>
182template <simd_index index_t>
194template <simd_index index_t>
Provides algorithms to modify seqan3::simd::simd_type.
CRTP base class to declare a strong typedef for a regular type to avoid ambiguous parameter settings ...
Definition: strong_type.hpp:175
@ row
The corresponding alignment coordinate will be incrementable/decrementable in the row index.
Refines the seqan3::simd::simd_concept requiring the underlying scalar type to model std::integral.
The internal SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
Provides basic data structure for strong types.
A strong type for designated initialisation of the column index of a matrix.
Definition: matrix_coordinate.hpp:34
column_index_type(index_type) -> column_index_type< std::ptrdiff_t >
Deduces an signed integral type to std::ptrdiff_t.
column_index_type(index_type) -> column_index_type< size_t >
Deduces an unsigned integral type to size_t.
column_index_type(index_type) -> column_index_type< index_type >
Deduces the template argument from a simd vector index type.
A representation of a location or offset within a two-dimensional matrix.
Definition: matrix_coordinate.hpp:96
index_t row
The row index.
Definition: matrix_coordinate.hpp:162
matrix_index(row_index_type< row_index_t >, column_index_type< col_index_t >) -> matrix_index< std::common_type_t< row_index_t, col_index_t > >
Deduces the index type from the common type of both index types.
constexpr matrix_index(row_index_type< index_t > const row_idx, column_index_type< index_t > const col_idx) noexcept
Construction from strongly typed row index and column index.
Definition: matrix_coordinate.hpp:111
matrix_index() -> matrix_index< std::ptrdiff_t >
Deduces the default index type to std::ptrdiff_t.
constexpr matrix_index(row_index_type< scalar_index_t > const row_idx, column_index_type< scalar_index_t > const col_idx) noexcept
Construction from strongly typed row index and column index over a scalar type when the index is a si...
Definition: matrix_coordinate.hpp:133
matrix_index(row_index_type< index_t >, column_index_type< index_t >) -> matrix_index< index_t >
Deduces the index type from the simd vector index type.
~matrix_index()=default
Defaulted.
constexpr matrix_index & operator=(matrix_index &&)=default
Defaulted.
constexpr matrix_index & operator=(matrix_index const &)=default
Defaulted.
constexpr matrix_index(matrix_index< other_index_t > other) noexcept
Construction from other matrix_index with different integral type.
Definition: matrix_coordinate.hpp:150
constexpr matrix_index(matrix_index const &)=default
Defaulted.
constexpr matrix_index()=default
Defaulted.
index_t col
The column index.
Definition: matrix_coordinate.hpp:163
constexpr matrix_index(matrix_index &&)=default
Defaulted.
A strong type for designated initialisation of the row index of a matrix.
Definition: matrix_coordinate.hpp:65
row_index_type(index_type) -> row_index_type< std::ptrdiff_t >
Deduces an signed integral type to std::ptrdiff_t.
row_index_type(index_type) -> row_index_type< index_type >
Deduces the template argument from a simd vector index type.
row_index_type(index_type) -> row_index_type< size_t >
Deduces an unsigned integral type to size_t.
seqan3::simd::simd_traits is the trait class that provides uniform interface to the properties of sim...
Definition: simd_traits.hpp:41
Provides concepts that do not have equivalents in C++20.
Provides seqan3::simd::simd_concept.