6 #ifndef LIB_STRING_FORMAT_HPP_
7 #define LIB_STRING_FORMAT_HPP_
12 class LibStringFormat {
42 static const char HEX_CHARS_LOWER_CASE[];
43 static const char HEX_CHARS_UPPER_CASE[];
46 static int printf(
class LibStreamOut& stream,
const char* format, ...) __attribute__ ((format (printf, 2, 3)));
47 static
int vprintf(class LibStreamOut& stream, const
char* format, va_list args);
50 static const
char* parseFlags(const
char* format, FLAGS& flags);
51 static const
char* parseWidth(const
char* format,
int& width);
52 static const
char* parsePrecision(const
char* format,
int& precision);
53 static const
char* parseLength(const
char* format,
int& length);
55 static
int writeChar(class LibStreamOut& stream, const
char c, const FORMAT_PARAMETERS& parameters);
56 static
int writeNaturalNumber(class LibStreamOut& stream,
unsigned int value, const FORMAT_PARAMETERS& parameters);
57 static
int writeFloat(class LibStreamOut& stream,
double value, FORMAT_PARAMETERS& parameters);
58 static
int writeString(class LibStreamOut& stream, const
char*
string, const FORMAT_PARAMETERS& parameters);
59 static
int writePad(class LibStreamOut& stream, const
char c,
int& size);