microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions
reloco.hpp File Reference
#include <microfmt/formatters/floating.hpp>
#include <microfmt/formatters/variant.hpp>
#include <microfmt/microfmt.hpp>
#include <reloco/binary_heap.hpp>
#include <reloco/boxed_slice.hpp>
#include <reloco/call_location.hpp>
#include <reloco/cell.hpp>
#include <reloco/checked.hpp>
#include <reloco/collection_view.hpp>
#include <reloco/cow.hpp>
#include <reloco/duration.hpp>
#include <reloco/error.hpp>
#include <reloco/external_vector.hpp>
#include <reloco/fixed_int.hpp>
#include <reloco/fixed_point.hpp>
#include <reloco/flat_hash_map.hpp>
#include <reloco/flat_hash_set.hpp>
#include <reloco/flat_map.hpp>
#include <reloco/flat_set.hpp>
#include <reloco/inline_flat_map.hpp>
#include <reloco/inline_flat_set.hpp>
#include <reloco/inline_string.hpp>
#include <reloco/inline_vec_deque.hpp>
#include <reloco/inline_vector.hpp>
#include <reloco/instant.hpp>
#include <reloco/lifetime.hpp>
#include <reloco/lru_cache.hpp>
#include <reloco/masked_pointer.hpp>
#include <reloco/non_zero.hpp>
#include <reloco/obfuscated_string.hpp>
#include <reloco/ordering.hpp>
#include <reloco/outline_vec_deque.hpp>
#include <reloco/outline_vector.hpp>
#include <reloco/packed_bits.hpp>
#include <reloco/rc.hpp>
#include <reloco/ring_buffer.hpp>
#include <reloco/saturating.hpp>
#include <reloco/shared_ptr.hpp>
#include <reloco/sso_flat_map.hpp>
#include <reloco/sso_flat_set.hpp>
#include <reloco/sso_string.hpp>
#include <reloco/sso_vec_deque.hpp>
#include <reloco/sso_vector.hpp>
#include <reloco/string.hpp>
#include <reloco/tree_map.hpp>
#include <reloco/tree_set.hpp>
#include <reloco/type_id.hpp>
#include <reloco/unique_ptr.hpp>
#include <reloco/variant.hpp>
#include <reloco/vec_deque.hpp>
#include <reloco/vector.hpp>
#include <reloco/wrapping.hpp>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  microfmt::formatter< reloco::collection_view< T > >
 Core formatter for type-erased collection views. More...
 
struct  microfmt::formatter< reloco::detail::mutable_sequence_container_ref< T > >
 Formatter for sequence container references (e.g. vector adapter). More...
 
struct  microfmt::formatter< reloco::detail::mutable_associative_container_ref< T, Key > >
 Formatter for associative container references (e.g. flat_set, map adapters). More...
 
struct  microfmt::formatter< reloco::vector< T > >
 Formatter for reloco::vector<T>. More...
 
struct  microfmt::formatter< reloco::flat_set< T, Compare > >
 Formatter for reloco::flat_set<T, Compare>. More...
 
struct  microfmt::formatter< reloco::basic_string< CharT, TraitsT > >
 Formatter for reloco::basic_string<CharT, TraitsT>. More...
 
struct  microfmt::formatter< reloco::basic_inline_string< Capacity, CharT, TraitsT > >
 Formatter for reloco::basic_inline_string<Capacity, CharT, TraitsT>. More...
 
struct  microfmt::formatter< reloco::basic_sso_string< CharT, TraitsT > >
 Formatter for reloco::basic_sso_string<CharT, TraitsT>. More...
 
struct  microfmt::formatter< reloco::obfuscated_decrypted_view< N > >
 Formatter for reloco::obfuscated_decrypted_view<N> – the type returned by obfuscated_string<N>::decrypt()/RELOCO_OBFUSCATED_STR. More...
 
struct  microfmt::formatter< reloco::obfuscated_string_ref >
 Formatter for reloco::obfuscated_string_ref – the type-erased handle (see RELOCO_DECLARE_OBFUSCATED_STR/RELOCO_DEFINE_OBFUSCATED_STR in obfuscated_string.hpp). More...
 
struct  microfmt::formatter< reloco::obfuscated_string< N > >
 Formatter for reloco::obfuscated_string<N> itself. More...
 
struct  microfmt::formatter< reloco::inline_vector< T, Capacity > >
 Formatter for reloco::inline_vector<T, Capacity>. More...
 
struct  microfmt::formatter< reloco::inline_flat_set< T, Capacity, Compare > >
 Formatter for reloco::inline_flat_set<T, Capacity, Compare>. More...
 
struct  microfmt::formatter< reloco::flat_map< Key, Mapped, Compare > >
 Formatter for reloco::flat_map<Key, Mapped, Compare>. More...
 
struct  microfmt::formatter< reloco::inline_flat_map< Key, Mapped, Capacity, Compare > >
 Formatter for reloco::inline_flat_map<Key, Mapped, Capacity, Compare>. More...
 
struct  microfmt::formatter< reloco::boxed_slice< T > >
 Formatter for reloco::boxed_slice<T>. More...
 
struct  microfmt::formatter< reloco::binary_heap< T, Compare > >
 Formatter for reloco::binary_heap<T, Compare>. More...
 
struct  microfmt::formatter< reloco::sso_vector< T, InlineCapacity > >
 Formatter for reloco::sso_vector<T, InlineCapacity>. More...
 
struct  microfmt::formatter< reloco::sso_flat_set< T, InlineCapacity, Compare > >
 Formatter for reloco::sso_flat_set<T, InlineCapacity, Compare>. More...
 
struct  microfmt::formatter< reloco::sso_flat_map< Key, Mapped, InlineCapacity, Compare > >
 Formatter for reloco::sso_flat_map<Key, Mapped, InlineCapacity, Compare>. More...
 
struct  microfmt::formatter< reloco::outline_vector< T > >
 Formatter for reloco::outline_vector<T>. More...
 
struct  microfmt::formatter< reloco::vec_deque< T > >
 Formatter for reloco::vec_deque<T>. More...
 
struct  microfmt::formatter< reloco::sso_vec_deque< T, InlineCapacity > >
 Formatter for reloco::sso_vec_deque<T, InlineCapacity>. More...
 
struct  microfmt::formatter< reloco::inline_vec_deque< T, Capacity > >
 Formatter for reloco::inline_vec_deque<T, Capacity>. More...
 
struct  microfmt::formatter< reloco::outline_vec_deque< T > >
 Formatter for reloco::outline_vec_deque<T>. More...
 
struct  microfmt::formatter< reloco::flat_hash_set< T, Hash, KeyEqual > >
 Formatter for reloco::flat_hash_set<T, Hash, KeyEqual>. More...
 
struct  microfmt::formatter< reloco::flat_hash_map< Key, Mapped, Hash, KeyEqual > >
 Formatter for reloco::flat_hash_map<Key, Mapped, Hash, KeyEqual>. More...
 
struct  microfmt::formatter< value_ptr< T > >
 Formatter for microfmt::value_ptr<T> (a reloco::value_ptr<T> alias). More...
 
struct  microfmt::formatter< value_ref< T > >
 Formatter for microfmt::value_ref<T> (a reloco::value_ref<T> alias). More...
 
struct  microfmt::formatter< reloco::unique_ptr< T > >
 Formatter for reloco::unique_ptr<T>. More...
 
struct  microfmt::formatter< reloco::shared_ptr< T > >
 Formatter for reloco::shared_ptr<T>. More...
 
struct  microfmt::formatter< reloco::weak_ptr< T > >
 Formatter for reloco::weak_ptr<T>. More...
 
struct  microfmt::formatter< reloco::rc< T > >
 Formatter for reloco::rc<T>. More...
 
struct  microfmt::formatter< reloco::weak_rc< T > >
 Formatter for reloco::weak_rc<T>. More...
 
struct  microfmt::formatter< reloco::cow< T > >
 Formatter for reloco::cow<T>. More...
 
struct  microfmt::formatter< reloco::non_zero< T > >
 Formatter for reloco::non_zero<T>. Formats the wrapped value. More...
 
struct  microfmt::formatter< reloco::saturating< T > >
 Formatter for reloco::saturating<T>. Formats the wrapped value. More...
 
struct  microfmt::formatter< reloco::wrapping< T > >
 Formatter for reloco::wrapping<T>. Formats the wrapped value. More...
 
struct  microfmt::formatter< reloco::checked< T > >
 Formatter for reloco::checked<T>. Formats the wrapped value. More...
 
struct  microfmt::formatter< reloco::duration >
 Formatter for reloco::duration. More...
 
struct  microfmt::formatter< reloco::instant >
 Formatter for reloco::instant. More...
 
struct  microfmt::formatter< reloco::ordering >
 Formatter for reloco::ordering. More...
 
struct  microfmt::formatter< reloco::type_id >
 Formatter for reloco::type_id, the RTTI-free process-wide type identity from <reloco/type_id.hpp>. More...
 
struct  microfmt::formatter< reloco::error >
 Formatter for 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, since the enum has no name-lookup helper. More...
 
struct  microfmt::formatter< reloco::tree_set< T, Compare > >
 Formatter for reloco::tree_set<T, Compare>. More...
 
struct  microfmt::formatter< reloco::tree_map< Key, Mapped, Compare > >
 Formatter for reloco::tree_map<Key, Mapped, Compare>. More...
 
struct  microfmt::formatter< reloco::lru_cache< Key, Mapped, Hash, KeyEqual > >
 Formatter for reloco::lru_cache<Key, Mapped, Hash, KeyEqual>. More...
 
struct  microfmt::formatter< reloco::external_vector< T > >
 Formatter for reloco::external_vector<T>: [val1, val2, ...]. More...
 
struct  microfmt::formatter< reloco::variant< Ts... > >
 Formatter for reloco::variant<Ts...>: formats the active alternative like std::variant. More...
 
struct  microfmt::formatter< reloco::cell< T > >
 Formatter for reloco::cell<T>: formats the current value. More...
 
struct  microfmt::formatter< reloco::call_location >
 Formatter for reloco::call_location: file:line. More...
 
struct  microfmt::formatter< reloco::call_location_ref >
 Formatter for reloco::call_location_ref: file:line, or <no location> when empty. More...
 
struct  microfmt::formatter< reloco::packed_bits< T > >
 Formatter for reloco::packed_bits<T>: the raw packed integer; specifiers apply to it. More...
 
struct  microfmt::formatter< reloco::masked_pointer< T, AuthPolicy > >
 Formatter for reloco::masked_pointer<T, AuthPolicy>: the authenticated pointer address (0x...), or (null). Authenticating a corrupted pointer follows the policy's own failure behavior. More...
 
struct  microfmt::formatter< reloco::fixed_point< Rep, FracBits >, std::enable_if_t< std::is_arithmetic_v< Rep > > >
 Formatter for reloco::fixed_point<Rep, FracBits> with a built-in integral Rep. More...
 
struct  microfmt::formatter< reloco::detail::wide_int< N, Signed > >
 Formatter for reloco::detail::wide_int<N, Signed> (the reloco::fixed_int<N, Signed> fallback for widths beyond the native integers). More...
 

Namespaces

namespace  microfmt
 
namespace  microfmt::detail
 

Macros

#define MICROFMT_RELOCO_RING_FORMATTER(TEMPLATE_HEAD, TYPE)
 Formatters for the reloco::ring_buffer family (ring_buffer, outline_ring_buffer, inline_ring_buffer, sso_ring_buffer, ring_buffer_ref): [val1, val2, ...] from oldest to newest element.
 
#define MICROFMT_COMMA   ,
 

Functions

template<typename Formatter , typename Range >
void microfmt::detail::format_reloco_sequence (const Formatter &elem_formatter, const Range &range, const sink &out) noexcept
 
template<typename KeyFormatter , typename ValueFormatter , typename Range >
void microfmt::detail::format_reloco_map (const KeyFormatter &key_formatter, const ValueFormatter &value_formatter, const Range &range, const sink &out) noexcept
 
template<typename Container , std::enable_if_t< reloco::detail::has_collection_view_traits< std::remove_const_t< Container > >::value, int > = 0>
constexpr auto microfmt::as_collection_view (Container &c) noexcept
 
 microfmt::MICROFMT_RELOCO_RING_FORMATTER (template< typename T >, reloco::ring_buffer< T >)
 
 microfmt::MICROFMT_RELOCO_RING_FORMATTER (template< typename T >, reloco::outline_ring_buffer< T >)
 
 microfmt::MICROFMT_RELOCO_RING_FORMATTER (template< typename T >, reloco::ring_buffer_ref< T >)
 
 microfmt::MICROFMT_RELOCO_RING_FORMATTER (template< typename T MICROFMT_COMMA std::size_t N >, reloco::inline_ring_buffer< T MICROFMT_COMMA N >)
 
 microfmt::MICROFMT_RELOCO_RING_FORMATTER (template< typename T MICROFMT_COMMA std::size_t N >, reloco::sso_ring_buffer< T MICROFMT_COMMA N >)
 

Macro Definition Documentation

◆ MICROFMT_COMMA

#define MICROFMT_COMMA   ,

◆ MICROFMT_RELOCO_RING_FORMATTER

#define MICROFMT_RELOCO_RING_FORMATTER (   TEMPLATE_HEAD,
  TYPE 
)
Value:
TEMPLATE_HEAD struct formatter<TYPE> { \
detail::element_formatter<std::remove_cv_t<T>> underlying_formatter; \
constexpr void parse(format_parse_context &ctx) noexcept { underlying_formatter.parse(ctx); } \
void format(const TYPE &ring, const sink &out) const noexcept { \
detail::format_reloco_sequence(underlying_formatter, ring, out); \
} \
}

Formatters for the reloco::ring_buffer family (ring_buffer, outline_ring_buffer, inline_ring_buffer, sso_ring_buffer, ring_buffer_ref): [val1, val2, ...] from oldest to newest element.

Examples
/home/runner/work/microfmt/microfmt/include/microfmt/formatters/reloco.hpp.