19 namespace seqan3::detail
32 template <
typename alignment_algorithm_t,
typename scoring_scheme_t>
33 class scoring_scheme_policy
37 friend alignment_algorithm_t;
43 constexpr scoring_scheme_policy() =
default;
45 constexpr scoring_scheme_policy(scoring_scheme_policy
const &) =
default;
47 constexpr scoring_scheme_policy(scoring_scheme_policy &&) =
default;
49 constexpr scoring_scheme_policy & operator=(scoring_scheme_policy
const &) =
default;
51 constexpr scoring_scheme_policy & operator=(scoring_scheme_policy &&) =
default;
53 ~scoring_scheme_policy() =
default;
56 template <
typename configuration_t>
57 scoring_scheme_policy(configuration_t
const & )
62 scoring_scheme_t scoring_scheme{};
74 template <
typename alphabet_t>
76 requires simd_concept<std::remove_cvref_t<alphabet_t>>
78 auto scoring_scheme_profile_column(alphabet_t &&
alphabet)
const noexcept
80 return scoring_scheme.make_score_profile(std::forward<alphabet_t>(
alphabet));
84 template <semialphabet alphabet_t>
85 alphabet_t scoring_scheme_profile_column(alphabet_t &&
alphabet)
const
88 return std::forward<alphabet_t>(
alphabet);
Core alphabet concept and free function/type trait wrappers.
The generic alphabet concept that covers most data types used in ranges.
Provides seqan3::simd::simd_concept.
Provides various type traits on generic types.