23template <
typename char_type>
30 for (
size_t i = 0; i < detail::size_in_values_v<char_type>; ++i)
33 for (
size_t i = char_type{
'A'}; i <= char_type{
'Z'}; ++i)
34 ret[i] = ret[i] - char_type{
'A'} + char_type{
'a'};
42template <
typename char_type>
49 for (
size_t i = 0; i < detail::size_in_values_v<char_type>; ++i)
52 for (
size_t i = char_type{
'a'}; i <= char_type{
'z'}; ++i)
53 ret[i] = ret[i] - char_type{
'a'} + char_type{
'A'};
79template <builtin_
character
char_type>
80constexpr char_type
to_lower(char_type
const c)
noexcept
83 return detail::to_lower_table<char_type>[
static_cast<u_t
>(c)];
95template <builtin_
character
char_type>
96constexpr char_type
to_upper(char_type
const c)
noexcept
99 return detail::to_upper_table<char_type>[
static_cast<u_t
>(c)];
constexpr std::array< char_type, detail::size_in_values_v< char_type > > to_lower_table
Auxiliary table for seqan3::to_lower.
Definition transform.hpp:25
constexpr std::array< char_type, detail::size_in_values_v< char_type > > to_upper_table
Auxiliary table for seqan3::to_upper.
Definition transform.hpp:44
Provides metaprogramming utilities for integer types.
The internal SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
constexpr char_type to_upper(char_type const c) noexcept
Converts 'a'-'z' to 'A'-'Z' respectively; other characters are returned as is.
Definition transform.hpp:96
constexpr char_type to_lower(char_type const c) noexcept
Converts 'A'-'Z' to 'a'-'z' respectively; other characters are returned as is.
Definition transform.hpp:80
Provides concepts that do not have equivalents in C++20.