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

Thread descriptor containing thread-specific attributes and CPU register context access. More...

#include <thread.hpp>

Collaboration diagram for microfmt::thread_info:
Collaboration graph
[legend]

Classes

struct  metadata_state
 Stack iteration state supporting phase transition from core to extended properties. More...
 

Public Member Functions

constexpr metadata_map make_metadata_view (metadata_state &the_state) const &noexcept RELOCO_LIFETIMEBOUND
 Exposes a unified metadata_map view that automatically forwards from core thread properties to any attached extended metadata source.
 
metadata_map make_metadata_view (metadata_state &) const &&=delete
 

Public Attributes

uint64_t thread_id {0}
 
string_view name {}
 
uint8_t priority {0}
 
thread_state state {thread_state::ready}
 
uint32_t cpu_ticks {0}
 
uint32_t stack_size {0}
 
uint32_t stack_usage {0}
 
register_context_ref regs {}
 
metadata_next_fn_t extended_metadata_fn {nullptr}
 
void * extended_metadata_ctx {nullptr}
 

Detailed Description

Thread descriptor containing thread-specific attributes and CPU register context access.

Member Function Documentation

◆ make_metadata_view() [1/2]

metadata_map microfmt::thread_info::make_metadata_view ( metadata_state &  ) const &&
delete

◆ make_metadata_view() [2/2]

constexpr metadata_map microfmt::thread_info::make_metadata_view ( metadata_state &  the_state) const &
inlineconstexprnoexcept

Exposes a unified metadata_map view that automatically forwards from core thread properties to any attached extended metadata source.

Member Data Documentation

◆ cpu_ticks

uint32_t microfmt::thread_info::cpu_ticks {0}

◆ extended_metadata_ctx

void* microfmt::thread_info::extended_metadata_ctx {nullptr}

◆ extended_metadata_fn

metadata_next_fn_t microfmt::thread_info::extended_metadata_fn {nullptr}

◆ name

string_view microfmt::thread_info::name {}

◆ priority

uint8_t microfmt::thread_info::priority {0}

◆ regs

register_context_ref microfmt::thread_info::regs {}

◆ stack_size

uint32_t microfmt::thread_info::stack_size {0}

◆ stack_usage

uint32_t microfmt::thread_info::stack_usage {0}

◆ state

thread_state microfmt::thread_info::state {thread_state::ready}

◆ thread_id

uint64_t microfmt::thread_info::thread_id {0}

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