FastLED 3.9.15
Loading...
Searching...
No Matches

◆ format()

fl::string fl::format_detail::FormatArg::format ( const FormatSpec & spec) const
inline

Definition at line 323 of file format.h.

323 {
324 switch (mType) {
325 case Type::Int: return format_integer(mData.i, spec);
326 case Type::UInt: return format_integer(mData.u, spec);
327 case Type::Long: return format_integer(mData.l, spec);
328 case Type::ULong: return format_integer(mData.ul, spec);
329 case Type::LongLong: return format_integer(mData.ll, spec);
330 case Type::ULongLong: return format_integer(mData.ull, spec);
331 case Type::Double: return format_float(mData.d, spec);
332 case Type::Char: {
333 if (spec.type == 'd' || spec.type == 'x' || spec.type == 'X' ||
334 spec.type == 'b' || spec.type == 'o') {
335 return format_integer(static_cast<int>(mData.c), spec);
336 }
337 char buf[2] = {mData.c, '\0'};
338 return fl::string(buf);
339 }
340 case Type::CString: return format_string(mData.s, spec);
341 case Type::String: return format_string(mData.str->c_str(), spec);
342 case Type::Pointer: return format_pointer(mData.p, spec);
343 case Type::None:
344 default: return fl::string("<invalid>");
345 }
346 }
union fl::format_detail::FormatArg::@343262056374325343016100266356354013163234001243 mData
fl::string format_integer(T value, const FormatSpec &spec)
Definition format.h:165
fl::string format_pointer(const void *ptr, const FormatSpec &spec)
Definition format.h:273
fl::string format_string(const char *value, const FormatSpec &spec)
Definition format.h:284
fl::string format_float(double value, const FormatSpec &spec)
Definition format.h:249

References Char, CString, Double, fl::format_detail::format_float(), fl::format_detail::format_integer(), fl::format_detail::format_pointer(), fl::format_detail::format_string(), Int, Long, LongLong, mData, mType, None, Pointer, String, fl::format_detail::FormatSpec::type, UInt, ULong, and ULongLong.

+ Here is the call graph for this function: