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 {}
 field-ordered source argument indexes / 按字段顺序排列的源参数索引
 
size_t field_count = 0
 parsed replacement-field count / 已解析的替换字段数量
 
size_t required_argument_count
 minimum call-site argument count / 调用点至少需要的参数个数
 
Error error = Error::None
 first parse error / 首个解析错误
 
size_t argument_count
 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 15 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 26 of file printf_frontend_source.hpp.

27 {
28 order[field_count++] = conversion.arg_index;
29 size_t used_argument_count = conversion.arg_index + 1;
30 if (used_argument_count > argument_count)
31 {
32 argument_count = used_argument_count;
33 }
34 return Error::None;
35 }
size_t arg_index
source argument index consumed by this field / 当前字段消耗的源参数索引
std::array< size_t, MaxFieldCount > order
field-ordered source argument indexes / 按字段顺序排列的源参数索引
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 39 of file format_frontend_source.hpp.

40 {
41 order[field_count++] = field.arg_index;
42 size_t used_argument_count = field.arg_index + 1;
43 if (used_argument_count > required_argument_count)
44 {
45 required_argument_count = used_argument_count;
46 }
47 return Error::None;
48 }
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 37 of file format_frontend_source.hpp.

37{ return Error::None; }

◆ Text() [2/2]

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

Definition at line 24 of file printf_frontend_source.hpp.

24{ return Error::None; }

Field Documentation

◆ argument_count

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

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

Definition at line 20 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 35 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 32 of file format_frontend_source.hpp.

◆ order

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

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

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

Definition at line 30 of file format_frontend_source.hpp.

30{};

◆ required_argument_count

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

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

Definition at line 33 of file format_frontend_source.hpp.


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