microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
Namespaces | Classes
reloco Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  Debug< any >
 Debug<reloco::any>: any(<type name>), using reloco's own type_id-based type identity – never compiler RTTI – to name the held type. There is no way to format the held value generically (see this file's header comment): any exposes no formatting vtable, only a type identity, so this is necessarily limited to naming the type, not printing its contents. More...
 
struct  Debug< double >
 Debug<double>: see this file's header comment. More...
 
struct  Debug< error >
 Debug<reloco::error>: the enum member's own name (e.g. out_of_range), via a hand-written name table – kept in sync with error.hpp's member list by hand, since the enum has no reflection/name-lookup helper of its own. More...
 
struct  Debug< expected< T, E > >
 Debug<reloco::result<T>> (= Debug<reloco::expected<T, reloco::error>>): Rust's Result debug convention, Ok(value) or Err(error), recursing into the held value/error via microfmt::as_debug so each side always prefers its own Debug<T> over formatter<T>/Display<T> (matching the "`Debug` always recurses via `Debug`" rule generated struct dumps also follow, see reflect_annotate.hpp). More...
 
struct  Debug< expected< void, E > >
 Debug<reloco::expected<void, E>>: like the primary Debug<expected<T, E>> template above, but the Ok case has no value to recurse into (expected<void, E>::value() returns void), so it is printed as a bare Ok – matching Rust's Result<(), E> Debug output, Ok(())... except reloco has no unit/() type to print, so this omits the parentheses' contents entirely rather than inventing one. More...
 
struct  Debug< flat_hash_map< Key, Mapped, Hash, KeyEqual > >
 Debug<reloco::flat_hash_map<Key, Mapped, ...>>: like Debug<flat_hash_set<T, ...>> above, but for {key: val, ...} entries. More...
 
struct  Debug< flat_hash_set< T, Hash, KeyEqual > >
 Debug<reloco::flat_hash_set<T, ...>>: flat_hash_set(size: N, capacity: N, load_factor_permille: N) [val1, val2, ...] – the same element list {} Display output already shows, prefixed with the table's internal-state diagnostics (see detail/flat_hash_base.hpp's load_factor_permille(), an integer parts-per-thousand value; reloco never uses floating point for diagnostics like this). More...
 
struct  Debug< float >
 Debug<float>: see this file's header comment. More...
 
struct  Debug< long double >
 Debug<long double>: see this file's header comment. More...
 
struct  Debug< rc< T > >
 Debug<reloco::rc<T>>: rc(use_count: N) { value }, or rc(use_count: 0) { (null) } for an empty pointer – unlike the {} Display output (which just prints the pointee's value, matching every other smart pointer), this reports the live strong-reference count, a genuinely debug-only diagnostic. The pointee is rendered via microfmt::as_debug, so a pointee with its own Debug<T> (e.g. a reflect-dump-generated struct) still recurses correctly. More...
 
struct  Debug< std::array< T, N > >
 Debug<std::array<T, N>>: [val1, val2, ...], recursing into each element via microfmt::as_debug. N == 0 renders as []. More...
 
struct  Debug< std::bitset< N > >
 Debug<std::bitset<N>>: the bit string, MSB (index N - 1) first, matching std::bitset::operator<<'s own bit order – computed directly from test(i), with no to_string() allocation. More...
 
struct  Debug< std::byte >
 Debug<std::byte>: a zero-padded lowercase hex byte, e.g. 0x2a – std::byte has no operator<</formatter of its own in the standard library either, so this picks the conventional raw-byte debug representation. More...
 
struct  Debug< std::reference_wrapper< T > >
 Debug<std::reference_wrapper<T>>: forwards directly to the referenced value's own as_debug() output, with no wrapper decoration – reference_wrapper is purely transparent. More...
 
struct  Debug< weak_rc< T > >
 Debug<reloco::weak_rc<T>>: like Debug<rc<T>> above, but attempts lock() to read the pointee (the same fallback formatter<weak_rc<T>> already uses): rc(use_count: N) { value } if still alive, or rc(use_count: 0) { (expired) } once the last owning rc has released it. More...
 
struct  is_trivially_relocatable< microfmt::detail::memory_buffer_base >
 
struct  is_trivially_relocatable< microfmt::memory_buffer< N > >