69template <
typename T, std::
size_t N>
struct Debug<std::array<T, N>> {
70 static void format(
const std::array<T, N> &val,
const sink &out)
noexcept {
73 for (
const auto &elem : val) {
89template <std::
size_t N>
struct Debug<std::bitset<N>> {
90 static void format(
const std::bitset<N> &val,
const sink &out)
noexcept {
91 for (std::size_t i = N; i > 0; --i) {
92 out.put(val.test(i - 1) ?
'1' :
'0');
102template <
typename T>
struct Debug<std::reference_wrapper<T>> {
103 static void format(
const std::reference_wrapper<T> &val,
const sink &out)
noexcept {
114template <>
struct Debug<std::byte> {
115 static void format(
const std::byte &val,
const sink &out)
noexcept {
117 microfmt::detail::format_unsigned<microfmt::detail::radix::hex>(out, std::to_integer<unsigned>(val),
false, 2);
Core formatting primitives, sinks, and customization point.
RELOCO_CONSTEXPR20 void format_to(const sink &out, microfmt::string_view fmt, const Args &...args) noexcept
Definition microfmt.hpp:1766
constexpr auto as_debug(const T &value RELOCO_LIFETIMEBOUND) noexcept
Wraps value so it always renders through reloco's Debug<T> customization point when one exists,...
Definition microfmt.hpp:1702
Definition debug_float.hpp:36
static void format(const std::array< T, N > &val, const sink &out) noexcept
Definition std_debug.hpp:70
static void format(const std::bitset< N > &val, const sink &out) noexcept
Definition std_debug.hpp:90
static void format(const std::byte &val, const sink &out) noexcept
Definition std_debug.hpp:115
static void format(const std::reference_wrapper< T > &val, const sink &out) noexcept
Definition std_debug.hpp:103