microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
microfmt::concrete_metadata_map Class Reference

Concrete mutable metadata map backed by an external span storage. More...

#include <concrete_metadata_map.hpp>

Classes

struct  span_iteration_state
 Required stack state structure to drive iteration safely. More...
 

Public Member Functions

constexpr concrete_metadata_map (span< property_entry > storage) noexcept
 Constructs a concrete metadata map over an external span buffer.
 
template<typename T >
constexpr bool set (microfmt::string_view key, value_ref< T > ref) noexcept
 Stores or updates a property safely with type erasure.
 
constexpr std::size_t size () const noexcept
 
constexpr std::size_t capacity () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr metadata_map make_view (span_iteration_state &state) const &noexcept RELOCO_LIFETIMEBOUND
 Exclusively creates a type-erased metadata_map view using caller-provided stack state.
 
metadata_map make_view (span_iteration_state &) const &&=delete
 

Detailed Description

Concrete mutable metadata map backed by an external span storage.

Enforces compile-time lifetime safety via value_ref and requires an explicit stack state struct to generate a read-only metadata_map view.

Constructor & Destructor Documentation

◆ concrete_metadata_map()

constexpr microfmt::concrete_metadata_map::concrete_metadata_map ( span< property_entry >  storage)
inlineexplicitconstexprnoexcept

Constructs a concrete metadata map over an external span buffer.

Parameters
storageCaller-owned span of property_entry structures for backing memory.

Member Function Documentation

◆ capacity()

constexpr std::size_t microfmt::concrete_metadata_map::capacity ( ) const
inlineconstexprnoexcept

◆ empty()

constexpr bool microfmt::concrete_metadata_map::empty ( ) const
inlineconstexprnoexcept

◆ make_view() [1/2]

metadata_map microfmt::concrete_metadata_map::make_view ( span_iteration_state &  ) const &&
delete

◆ make_view() [2/2]

constexpr metadata_map microfmt::concrete_metadata_map::make_view ( span_iteration_state &  state) const &
inlineconstexprnoexcept

Exclusively creates a type-erased metadata_map view using caller-provided stack state.

Parameters
stateReference to a stack-allocated span_iteration_state object.
Returns
A lightweight, zero-allocation metadata_map view.

◆ set()

template<typename T >
constexpr bool microfmt::concrete_metadata_map::set ( microfmt::string_view  key,
value_ref< T >  ref 
)
inlineconstexprnoexcept

Stores or updates a property safely with type erasure.

Template Parameters
TInferred type of the referenced property.
Parameters
keyProperty key string view.
refLifetime-bound wrapper ensuring the object is not a temporary.
Returns
true if stored successfully, false if the backing span is full.

◆ size()

constexpr std::size_t microfmt::concrete_metadata_map::size ( ) const
inlineconstexprnoexcept

The documentation for this class was generated from the following file: