libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
LibXR::Format< Source >::Compiled< Args > Struct Template Reference

One brace-style source bound to a concrete call-site argument list. More...

#include <format_surface.hpp>

Static Public Member Functions

static constexpr auto ArgumentList ()
 Ordered field metadata used by runtime argument packing. / 按字段顺序排列、供运行期参数打包使用的元信息
 
static constexpr auto ArgumentOrder ()
 Field-ordered source argument references, including duplicates and reordering. / 按字段顺序排列的源参数引用,可包含重复与重排
 
static constexpr const auto & Codes ()
 Final compiled bytes consumed directly by the runtime writer. / 供运行期 writer 直接消费的最终编译字节块
 
static constexpr Print::FormatProfile Profile ()
 Returns the compile-time executor profile. / 返回编译期执行器配置
 
template<typename... Actual>
static consteval bool Matches ()
 Returns true when Actual... exactly match this bound compiled surface. / 判断 Actual... 是否与当前已绑定的编译格式完全一致
 

Static Public Attributes

static constexpr auto codes = result.codes
 Final runtime byte block kept by the compiled surface. / 编译格式表面保留的最终运行期字节块
 
static constexpr Print::FormatProfile profile = result.profile
 Compile-time executor profile used to specialize the runtime bytecode interpreter. / 用于特化运行期字节码解释器的编译期执行器配置
 

Private Types

using Frontend = Compiler<Args...>
 

Static Private Attributes

static constexpr auto result = Print::FormatCompiler<Frontend>::Compile()
 

Detailed Description

template<Print::Text Source>
template<typename... Args>
struct LibXR::Format< Source >::Compiled< Args >

One brace-style source bound to a concrete call-site argument list.

一条 brace 风格源串绑定到具体调用点参数后的编译结果。

Definition at line 61 of file format_surface.hpp.

Member Typedef Documentation

◆ Frontend

template<Print::Text Source>
template<typename... Args>
using LibXR::Format< Source >::Compiled< Args >::Frontend = Compiler<Args...>
private

Definition at line 64 of file format_surface.hpp.

Member Function Documentation

◆ ArgumentList()

template<Print::Text Source>
template<typename... Args>
static constexpr auto LibXR::Format< Source >::Compiled< Args >::ArgumentList ( )
inlinestaticnodiscardconstexpr

Ordered field metadata used by runtime argument packing. / 按字段顺序排列、供运行期参数打包使用的元信息

Definition at line 109 of file format_surface.hpp.

110 {
111 return result.arg_info;
112 }

◆ ArgumentOrder()

template<Print::Text Source>
template<typename... Args>
static constexpr auto LibXR::Format< Source >::Compiled< Args >::ArgumentOrder ( )
inlinestaticnodiscardconstexpr

Field-ordered source argument references, including duplicates and reordering. / 按字段顺序排列的源参数引用,可包含重复与重排

Definition at line 115 of file format_surface.hpp.

116 {
117 return source_analysis.argument_order;
118 }

◆ Codes()

template<Print::Text Source>
template<typename... Args>
static constexpr const auto & LibXR::Format< Source >::Compiled< Args >::Codes ( )
inlinestaticnodiscardconstexpr

Final compiled bytes consumed directly by the runtime writer. / 供运行期 writer 直接消费的最终编译字节块

Definition at line 121 of file format_surface.hpp.

122 {
123 return codes;
124 }
static constexpr auto codes
Final runtime byte block kept by the compiled surface. / 编译格式表面保留的最终运行期字节块

◆ Matches()

template<Print::Text Source>
template<typename... Args>
template<typename... Actual>
static consteval bool LibXR::Format< Source >::Compiled< Args >::Matches ( )
inlinestaticnodiscardconsteval

Returns true when Actual... exactly match this bound compiled surface. / 判断 Actual... 是否与当前已绑定的编译格式完全一致

Definition at line 134 of file format_surface.hpp.

135 {
136 return std::is_same_v<std::tuple<std::remove_cvref_t<Actual>...>,
137 std::tuple<Args...>>;
138 }

◆ Profile()

template<Print::Text Source>
template<typename... Args>
static constexpr Print::FormatProfile LibXR::Format< Source >::Compiled< Args >::Profile ( )
inlinestaticnodiscardconstexpr

Returns the compile-time executor profile. / 返回编译期执行器配置

Definition at line 127 of file format_surface.hpp.

128 {
129 return profile;
130 }
static constexpr Print::FormatProfile profile
Compile-time executor profile used to specialize the runtime bytecode interpreter....

Field Documentation

◆ codes

template<Print::Text Source>
template<typename... Args>
auto LibXR::Format< Source >::Compiled< Args >::codes = result.codes
inlinestaticconstexpr

Final runtime byte block kept by the compiled surface. / 编译格式表面保留的最终运行期字节块

Definition at line 104 of file format_surface.hpp.

◆ profile

template<Print::Text Source>
template<typename... Args>
Print::FormatProfile LibXR::Format< Source >::Compiled< Args >::profile = result.profile
inlinestaticconstexpr

Compile-time executor profile used to specialize the runtime bytecode interpreter. / 用于特化运行期字节码解释器的编译期执行器配置

Definition at line 106 of file format_surface.hpp.

◆ result

template<Print::Text Source>
template<typename... Args>
auto LibXR::Format< Source >::Compiled< Args >::result = Print::FormatCompiler<Frontend>::Compile()
inlinestaticconstexprprivate

Definition at line 65 of file format_surface.hpp.


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