microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
microfmt::register_member_field< Member, Registers > Struct Template Reference

Compile-time register-field trait backed by a pointer to member. More...

#include <register_context.hpp>

Public Types

using member_traits = detail::register_member_pointer_traits< decltype(Member)>
 
using state_type = typename member_traits::state_type
 
using value_type = typename member_traits::value_type
 

Static Public Member Functions

static constexpr bool matches (uint32_t index) noexcept
 
static constexpr const value_type * get (const state_type &state, uint32_t) noexcept
 
static constexpr value_type * get (state_type &state, uint32_t) noexcept
 

Detailed Description

template<auto Member, uint32_t... Registers>
struct microfmt::register_member_field< Member, Registers >

Compile-time register-field trait backed by a pointer to member.

Multiple register indexes may alias the same member. For nested, indexed, or mode-dependent layouts, provide a custom trait with the same state_type, value_type, matches, and get surface.

Template Parameters
MemberPointer to the bound state member.
RegistersRegister indexes mapped to the member.

Member Typedef Documentation

◆ member_traits

template<auto Member, uint32_t... Registers>
using microfmt::register_member_field< Member, Registers >::member_traits = detail::register_member_pointer_traits<decltype(Member)>

◆ state_type

template<auto Member, uint32_t... Registers>
using microfmt::register_member_field< Member, Registers >::state_type = typename member_traits::state_type

◆ value_type

template<auto Member, uint32_t... Registers>
using microfmt::register_member_field< Member, Registers >::value_type = typename member_traits::value_type

Member Function Documentation

◆ get() [1/2]

template<auto Member, uint32_t... Registers>
static constexpr const value_type * microfmt::register_member_field< Member, Registers >::get ( const state_type &  state,
uint32_t   
)
inlinestaticconstexprnoexcept

◆ get() [2/2]

template<auto Member, uint32_t... Registers>
static constexpr value_type * microfmt::register_member_field< Member, Registers >::get ( state_type &  state,
uint32_t   
)
inlinestaticconstexprnoexcept

◆ matches()

template<auto Member, uint32_t... Registers>
static constexpr bool microfmt::register_member_field< Member, Registers >::matches ( uint32_t  index)
inlinestaticconstexprnoexcept

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