103 std::string
param(
int idx)
const;
104 void paramPtr(
int idx,
const char *&begin,
const char *&end)
const;
107 static const int MAX_PARAMS = 3;
109 void parseFormat(
int length);
111 const char *
const format;
114 uint16_t params[MAX_PARAMS + 1];
153 explicit FormatArg(
const char *name_ = 0,
const char *defaultformat_ = 0) :
166 FormatArgT(
const char *name_,
const T &value_,
const char *defaultformat_) :
187 static type wrap(
const T &arg,
const char *name = 0,
const char *defaultformat = 0)
195 static type wrap(
const char (&arg)[N],
const char *name = 0,
const char *defaultformat = 0)
203 static type wrap(
const char *arg,
const char *name = 0,
const char *defaultformat = 0)
231formatarg(
const char *name,
const T &value,
const char *defaultformat = 0)
249template <
typename T0>
250inline std::string
stringf(
const char *fmt,
const T0 &p0)
253 FormatArg const *
const args[] = { &arg0 };
257template <
typename T0,
typename T1>
258inline std::string
stringf(
const char *fmt,
const T0 &p0,
const T1 &p1)
262 FormatArg const *
const args[] = { &arg0, &arg1 };
266template <
typename T0,
typename T1,
typename T2>
267inline std::string
stringf(
const char *fmt,
const T0 &p0,
const T1 &p1,
const T2 &p2)
272 FormatArg const *
const args[] = { &arg0, &arg1, &arg2 };
276template <
typename T0,
typename T1,
typename T2,
typename T3>
277inline std::string
stringf(
const char *fmt,
const T0 &p0,
const T1 &p1,
const T2 &p2,
const T3 &p3)
283 FormatArg const *
const args[] = { &arg0, &arg1, &arg2, &arg3 };
287template <
typename T0,
typename T1,
typename T2,
typename T3,
typename T4>
288inline std::string
stringf(
const char *fmt,
const T0 &p0,
const T1 &p1,
const T2 &p2,
const T3 &p3,
const T4 &p4)
295 FormatArg const *
const args[] = { &arg0, &arg1, &arg2, &arg3, &arg4 };
299template <
typename T0,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
300inline std::string
stringf(
const char *fmt,
const T0 &p0,
const T1 &p1,
const T2 &p2,
const T3 &p3,
const T4 &p4,
const T5 &p5)
308 FormatArg const *
const args[] = { &arg0, &arg1, &arg2, &arg3, &arg4, &arg5 };
312template <
typename T0,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
313inline std::string
stringf(
const char *fmt,
const T0 &p0,
const T1 &p1,
const T2 &p2,
const T3 &p3,
const T4 &p4,
const T5 &p5,
const T6 &p6)
322 FormatArg const *
const args[] = { &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6 };
FormatArgWrapper< T >::type formatarg(const char *name, const T &value, const char *defaultformat=0)
Definition StringF.h:231
std::string stringf(const char *fmt)
Definition StringF.h:244
std::string to_string(int8_t value, const FormatSpec &fmt)
Definition StringF.h:131
std::string string_format(const char *fmt, int numargs, FormatArg const *const args[])
Definition StringF.cpp:435
double ToDouble() const
Definition fixed.h:192
#define COUNTOF(array)
Definition libs.h:80