24#ifndef MYSQL_UTILS_CHAR_CAST_H
25#define MYSQL_UTILS_CHAR_CAST_H
40template <mysql::meta::Is_
charlike Char_t =
char>
42 return reinterpret_cast<Char_t &
>(
ref);
46template <mysql::meta::Is_
charlike Char_t =
char>
48 return reinterpret_cast<const Char_t &
>(
ref);
52template <mysql::meta::Is_
charlike Char_t =
char>
54 return reinterpret_cast<Char_t *
>(ptr);
58template <mysql::meta::Is_
charlike Char_t =
char>
60 return reinterpret_cast<const Char_t *
>(ptr);
64template <
class Type_t>
66 return char_cast<unsigned char>(std::forward<Type_t>(
value));
70template <
class Type_t>
72 return char_cast<std::byte>(std::forward<Type_t>(
value));
PT & ref(PT *tp)
Definition: tablespace_impl.cc:359
ValueType value(const std::optional< ValueType > &v)
Definition: gtid.h:83
Definition: gtid_format.h:47
decltype(auto) uchar_cast(Type_t &&value)
Shorthand for char_cast<unsigned char>.
Definition: char_cast.h:65
decltype(auto) byte_cast(Type_t &&value)
Shorthand for char_cast<std::byte>.
Definition: char_cast.h:71
Char_t & char_cast(mysql::meta::Is_charlike auto &ref)
Definition: char_cast.h:41