33namespace bio::alphabet::detail
38template <
typename type>
39concept uint_adaptation = meta::one_of<type, uint8_t, uint16_t, uint32_t>;
51template <alphabet::detail::u
int_adaptation u
int_type>
52consteval auto tag_invoke(
size BIOCPP_DOXYGEN_ONLY(tag), uint_type
const)
noexcept
54 return meta::detail::min_viable_uint_v<meta::detail::size_in_values_v<uint_type>>;
64template <alphabet::detail::u
int_adaptation u
int_type>
66 uint_type
const intgr2,
67 uint_type & intgr)
noexcept
69 return intgr = intgr2;
78template <alphabet::detail::u
int_adaptation u
int_type>
Provides concepts for core language types and relations that don't have concepts in C++20 (yet).
consteval auto tag_invoke(size, char_type const) noexcept
The number of values the char type can take (e.g. 256 for char).
Definition: char.hpp:43
Provides metaprogramming utilities for integer types.
A namespace for third party and standard library specialisations of BioC++ customisation points.
Definition: concept.hpp:43
Customisation tag for bio::alphabet::assign_rank_to.#.
Definition: tag.hpp:29
CPO tag definition for bio::alphabet::size.
Definition: tag.hpp:45
Customisation tag for bio::alphabet::to_rank.
Definition: tag.hpp:25
Provides the customisation tags for the alphabet concepts.