libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
SourceSyntax::ResolvedArgumentVisitor< FieldCount, ArgCount > Struct Template Reference

将已解析转换解析成最终源顺序参数元信息摘要的 visitor / Visitor that resolves parsed conversions into the final source-ordered argument metadata summary More...

#include <printf_frontend_source.hpp>

Public Member Functions

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

Data Fields

SourceAnalysis< FieldCount, ArgCount > & analysis
 

Detailed Description

template<size_t FieldCount, size_t ArgCount>
struct SourceSyntax::ResolvedArgumentVisitor< FieldCount, ArgCount >

将已解析转换解析成最终源顺序参数元信息摘要的 visitor / Visitor that resolves parsed conversions into the final source-ordered argument metadata summary

Template Parameters
FieldCount最终解析出的转换项数量 / Final parsed conversion count
ArgCount最终引用到的参数个数 / Final referenced argument count

Definition at line 61 of file printf_frontend_source.hpp.

Member Function Documentation

◆ Field()

template<size_t FieldCount, size_t ArgCount>
Error SourceSyntax::ResolvedArgumentVisitor< FieldCount, ArgCount >::Field ( const Conversion & conversion)
inlinenodiscardconsteval

Definition at line 67 of file printf_frontend_source.hpp.

68 {
69 auto field = FieldSelection::BuildFormatField(conversion);
70 auto info = FormatArgumentInfo{
71 .pack = field.pack,
72 .rule = field.rule,
73 };
74 auto& slot = analysis.args[conversion.arg_index];
75 if (slot.rule != FormatArgumentRule::None &&
76 (slot.rule != info.rule || slot.pack != info.pack))
77 {
78 return Error::ConflictingArgument;
79 }
80
81 slot = info;
82 return Error::None;
83 }
size_t arg_index
source argument index consumed by this field / 当前字段消耗的源参数索引

◆ Text()

template<size_t FieldCount, size_t ArgCount>
Error SourceSyntax::ResolvedArgumentVisitor< FieldCount, ArgCount >::Text ( size_t ,
size_t  ) const
inlinenodiscardconsteval

Definition at line 65 of file printf_frontend_source.hpp.

65{ return Error::None; }

Field Documentation

◆ analysis

template<size_t FieldCount, size_t ArgCount>
SourceAnalysis<FieldCount, ArgCount>& SourceSyntax::ResolvedArgumentVisitor< FieldCount, ArgCount >::analysis

Definition at line 63 of file printf_frontend_source.hpp.


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