Provides alphabet adaptations for standard uint types. More...
#include <bio/alphabet/custom/tag.hpp>
#include <bio/meta/concept/core_language.hpp>
#include <bio/meta/detail/int_types.hpp>
Go to the source code of this file.
Namespaces | |
namespace | bio |
The main BioC++ namespace. | |
namespace | bio::alphabet |
The alphabet module's namespace. | |
namespace | bio::alphabet::custom |
A namespace for third party and standard library specialisations of BioC++ customisation points. | |
Functions | |
Adapt unsigned integral types as semialphabets. | |
These overloads make | |
template<alphabet::detail::uint_adaptation uint_type> | |
constexpr uint_type & | bio::alphabet::custom::tag_invoke (assign_rank_to tag, uint_type const intgr2, uint_type &intgr) noexcept |
Assign a rank to to the uint (same as calling = ). | |
template<alphabet::detail::uint_adaptation uint_type> | |
consteval auto | bio::alphabet::custom::tag_invoke (size tag, uint_type const) noexcept |
The number of values the uint type can take (e.g. 256 for uint8_t ). | |
template<alphabet::detail::uint_adaptation uint_type> | |
constexpr auto | bio::alphabet::custom::tag_invoke (to_rank tag, uint_type const intgr) noexcept |
Converting uint to rank is a no-op (it will just return the value you pass in). | |
Provides alphabet adaptations for standard uint types.
This file provides function and type trait overloads so that the following types fulfil the bio::alphabet::semialphabet:
uint8_t
uint16_t
uint32_t
You will likely not use these interfaces directly, they are, however, very helpful for conversions between other alphabets and between other alphabets and characters.
uint64_t
is absent from the list, because there is no type that can hold its alphabet size.