18#include <seqan3/utility/simd/concept.hpp>
20namespace seqan3::detail
32template <
typename score_t>
33struct alignment_score_matrix_one_column_base
36 static_assert(arithmetic<score_t> || simd_concept<score_t>,
37 "Score type must either be either an arithmetic type or a simd vector type.");
40 using underlying_type = score_t;
42 using element_type = std::tuple<underlying_type, underlying_type>;
44 using allocator_type = aligned_allocator<element_type,
sizeof(element_type)>;
46 using pool_type = std::vector<element_type, allocator_type>;
48 using size_type = size_t;
54 std::array<underlying_type, 3> cache{};
Provides seqan3::aligned_allocator.
Provides concepts that do not have equivalents in C++20.