17extern string _fmtTypeNames[FMT_count];
18extern uint8 _fmtTypeIdMask[FMT_count][2];
19extern bool(*_fmtTypeParseOpt[FMT_count])(
FMTVar *v, strref opt);
20extern bool(*_fmtTypeParseFinalize[FMT_count])(
FMTVar *v);
21extern bool(*_fmtTypeFormat[FMT_count])(
FMTVar *v,
string *out);
23typedef struct FMTContext {
26 int32 startarg[FMT_count];
40bool _fmtExtractVar(_Inout_ FMTContext *ctx);
41bool _fmtParseVar(_Inout_ FMTContext *ctx);
42bool _fmtFindData(_Inout_ FMTContext *ctx);
43void _fmtFormat(_Inout_ FMTContext *ctx);
46bool _fmtParseStringOpt(_Inout_
FMTVar *v, _In_ strref opt);
47bool _fmtString(_Inout_
FMTVar *v, _Inout_
string *out);
48bool _fmtParseIntOpt(_Inout_
FMTVar *v, _In_ strref opt);
49bool _fmtParseIntFinalize(_Inout_
FMTVar *v);
50bool _fmtInt(_Inout_
FMTVar *v, _Inout_
string *out);
51bool _fmtParseFloatOpt(_Inout_
FMTVar *v, _In_ strref opt);
52bool _fmtParseFloatFinalize(_Inout_
FMTVar *v);
53bool _fmtFloat(_Inout_
FMTVar *v, _Inout_
string *out);
54bool _fmtParsePtrOpt(_Inout_
FMTVar *v, _In_ strref opt);
55bool _fmtParsePtrFinalize(_Inout_
FMTVar *v);
56bool _fmtParseObjectOpt(_Inout_
FMTVar *v, _In_ strref opt);
57bool _fmtPtr(_Inout_
FMTVar *v, _Inout_
string *out);
58bool _fmtSUID(_Inout_
FMTVar *v, _Inout_
string *out);
59bool _fmtObject(_Inout_
FMTVar *v, _Inout_
string *out);
Generic type-safe containers with runtime type system integration.
#define stvar(typen, val)
Copy-on-write strings with automatic memory management and rope optimization.
Format variable descriptor for Formattable interface implementations.