27namespace bio::alphabet::detail
36template <alphabet out_t, alphabet in_t>
41 for (
auto i =
decltype(size<in_t>){0}; i < size<in_t>; ++i)
51template <meta::detail::literal_buffer_
string str,
typename alphabet_t>
54 auto illegal_char_at = []()
consteval -> int32_t
56 for (int32_t i = 0; i < (int32_t)str.size(); ++i)
57 if (!char_is_valid_for<alphabet_t>(str[i]))
61 static_assert(illegal_char_at() == -1,
"Illegal character in string literal.");
66 for (
size_t i = 0; i < str.size(); ++i)
67 r[i].assign_char(str[i]);
Core alphabet concept and free function/type trait wrappers.
constexpr auto to_char
Return the char representation of an alphabet object.
Definition: concept.hpp:192
constexpr auto assign_char_to
Assign a char to an alphabet object.
Definition: concept.hpp:260
constexpr auto assign_rank_to
Assign a rank to an alphabet object.
Definition: concept.hpp:138
Provides bio::meta::vtag.