libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
SourceSyntax::SourceAnalysisScratch< MaxFieldCount > Struct Template Reference

仅源串分析阶段使用的保守临时累加器 / Conservative temporary accumulator used during source-only analysis More...

#include <format_frontend_source.hpp>

Public Member Functions

consteval Error Text (size_t, size_t) const
 
consteval Error Field (const ParsedField &field)
 
consteval Error Text (size_t, size_t) const
 
consteval Error Field (const Conversion &conversion)
 

Data Fields

std::array< size_t, MaxFieldCount > order {}
 conservative field-order scratch buffer / 按字段顺序记录参数索引的临时缓冲区
 
size_t field_count = 0
 parsed replacement-field count / 已解析的替换字段数量
 
size_t required_argument_count = 0
 minimum call-site argument count / 调用点至少需要的参数个数
 
Error error = Error::None
 first parse error / 首个解析错误
 
size_t argument_count = 0
 highest referenced argument count / 最高引用到的参数个数
 

Detailed Description

template<size_t MaxFieldCount>
struct SourceSyntax::SourceAnalysisScratch< MaxFieldCount >

仅源串分析阶段使用的保守临时累加器 / Conservative temporary accumulator used during source-only analysis

供位置参数分析使用的仅源串临时摘要 / Source-only scratch summary for positional argument analysis

Template Parameters
MaxFieldCount已解析字段数量的保守上界 / Conservative upper bound for parsed field count
MaxFieldCount已解析转换项数量的保守上界 / Conservative upper bound for parsed conversion count

Definition at line 13 of file printf_frontend_source.hpp.

Member Function Documentation

◆ Field() [1/2]

template<size_t MaxFieldCount>
Error SourceSyntax::SourceAnalysisScratch< MaxFieldCount >::Field ( const Conversion & conversion)
inlinenodiscardconsteval

Definition at line 22 of file printf_frontend_source.hpp.

23 {
24 order[field_count++] = conversion.arg_index;
25 size_t used_argument_count = conversion.arg_index + 1;
26 if (used_argument_count > argument_count)
27 {
28 argument_count = used_argument_count;
29 }
30 return Error::None;
31 }
size_t arg_index
source argument index consumed by this field / 当前字段消耗的源参数索引
std::array< size_t, MaxFieldCount > order
conservative field-order scratch buffer / 按字段顺序记录参数索引的临时缓冲区
size_t argument_count
highest referenced argument count / 最高引用到的参数个数
size_t field_count
parsed replacement-field count / 已解析的替换字段数量

◆ Field() [2/2]

template<size_t MaxFieldCount>
Error SourceSyntax::SourceAnalysisScratch< MaxFieldCount >::Field ( const ParsedField & field)
inlinenodiscardconsteval

Definition at line 31 of file format_frontend_source.hpp.

32 {
33 order[field_count++] = field.arg_index;
34 size_t used_argument_count = field.arg_index + 1;
35 if (used_argument_count > required_argument_count)
36 {
37 required_argument_count = used_argument_count;
38 }
39 return Error::None;
40 }
size_t required_argument_count
minimum call-site argument count / 调用点至少需要的参数个数

◆ Text() [1/2]

template<size_t MaxFieldCount>
Error SourceSyntax::SourceAnalysisScratch< MaxFieldCount >::Text ( size_t ,
size_t  ) const
inlinenodiscardconsteval

Definition at line 29 of file format_frontend_source.hpp.

29{ return Error::None; }

◆ Text() [2/2]

template<size_t MaxFieldCount>
Error SourceSyntax::SourceAnalysisScratch< MaxFieldCount >::Text ( size_t ,
size_t  ) const
inlinenodiscardconsteval

Definition at line 20 of file printf_frontend_source.hpp.

20{ return Error::None; }

Field Documentation

◆ argument_count

template<size_t MaxFieldCount>
size_t SourceSyntax::SourceAnalysisScratch< MaxFieldCount >::argument_count = 0

highest referenced argument count / 最高引用到的参数个数

Definition at line 17 of file printf_frontend_source.hpp.

◆ error

template<size_t MaxFieldCount>
Error SourceSyntax::SourceAnalysisScratch< MaxFieldCount >::error = Error::None

first parse error / 首个解析错误

first parse/analysis error / 首个解析或分析错误

Definition at line 27 of file format_frontend_source.hpp.

◆ field_count

template<size_t MaxFieldCount>
size_t SourceSyntax::SourceAnalysisScratch< MaxFieldCount >::field_count = 0

parsed replacement-field count / 已解析的替换字段数量

parsed conversion count / 已解析的转换项数量

Definition at line 25 of file format_frontend_source.hpp.

◆ order

template<size_t MaxFieldCount>
std::array< size_t, MaxFieldCount > SourceSyntax::SourceAnalysisScratch< MaxFieldCount >::order {}

conservative field-order scratch buffer / 按字段顺序记录参数索引的临时缓冲区

field-ordered source argument indexes / 按字段顺序排列的源参数索引

Definition at line 24 of file format_frontend_source.hpp.

24{};

◆ required_argument_count

template<size_t MaxFieldCount>
size_t SourceSyntax::SourceAnalysisScratch< MaxFieldCount >::required_argument_count = 0

minimum call-site argument count / 调用点至少需要的参数个数

Definition at line 26 of file format_frontend_source.hpp.


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