20namespace seqan3::detail
25template <
typename char_type>
32 for (
size_t i = 0; i < detail::size_in_values_v<char_type>; ++i)
35 for (
size_t i = char_type{
'A'}; i <= char_type{
'Z'}; ++i)
36 ret[i] = ret[i] - char_type{
'A'} + char_type{
'a'};
44template <
typename char_type>
51 for (
size_t i = 0; i < detail::size_in_values_v<char_type>; ++i)
54 for (
size_t i = char_type{
'a'}; i <= char_type{
'z'}; ++i)
55 ret[i] = ret[i] - char_type{
'a'} + char_type{
'A'};
80template <builtin_
character
char_type>
81constexpr char_type
to_lower(char_type
const c)
noexcept
84 return detail::to_lower_table<char_type>[
static_cast<u_t
>(c)];
96template <builtin_
character
char_type>
97constexpr char_type
to_upper(char_type
const c)
noexcept
100 return detail::to_upper_table<char_type>[
static_cast<u_t
>(c)];
Provides concepts for core language types and relations that don't have concepts in C++20 (yet).
Provides metaprogramming utilities for integer types.
The main SeqAn3 namespace.
Definition: cigar_operation_table.hpp:2
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:97
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:81