libxr
Embedded C++ framework for bare-metal, RTOS and Linux
Loading...
Searching...
No Matches
LibXR::Print::FormatArgumentInfo Struct Reference

Writer 消费的编译格式运行期协议 / Compiled-format runtime contract consumed by Writer. More...

#include <format_protocol.hpp>

Public Attributes

FormatPackKind pack {}
 运行期打包存储类别 / packed runtime storage kind
 
FormatArgumentRule rule
 编译期实参匹配规则 / compile-time argument rule
 

Detailed Description

Writer 消费的编译格式运行期协议 / Compiled-format runtime contract consumed by Writer.

编译格式源总会提供三部分:Codes(),即一段在块内用 FormatOp::End 结束的连续 uint8_t 字节块;ArgumentList(),即按字段执行顺序排列、供运行期参数打包使用的 FormatArgumentInfo 数组;以及 Profile(),即一个编译期运行期执行器配置。若某个 前端允许调用点参数重排,还可以额外提供独立的编译期 ArgumentOrder() 索引表或 按源参数顺序排列的匹配元信息表。 A compiled format source always provides Codes(), one contiguous uint8_t byte block terminated in-band by FormatOp::End; ArgumentList(), one field-ordered FormatArgumentInfo array used for runtime argument packing; and Profile(), one compile-time runtime executor profile. Frontends that allow reordered call-site arguments may additionally expose a separate compile-time ArgumentOrder() list or a source-ordered matching list.

每个参数对应的元信息,同时用于编译期类型检查和运行期打包 / Per-argument metadata used both for compile-time type checking and runtime packing.

pack 描述运行期参数字节块里如何存这个参数。 rule 描述编译期允许哪些 C++ 类型匹配这个参数。 pack says how the runtime argument blob stores this argument. rule says which C++ types are accepted at compile time.

Definition at line 553 of file format_protocol.hpp.

Member Data Documentation

◆ pack

FormatPackKind LibXR::Print::FormatArgumentInfo::pack {}

运行期打包存储类别 / packed runtime storage kind

Definition at line 555 of file format_protocol.hpp.

555{};

◆ rule

FormatArgumentRule LibXR::Print::FormatArgumentInfo::rule
Initial value:
=
FormatArgumentRule::None

编译期实参匹配规则 / compile-time argument rule

Definition at line 556 of file format_protocol.hpp.


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