MCPcopy Create free account
hub / github.com/cginternals/globjects / parseFormat

Function parseFormat

source/globjects/source/base/formatString.cpp:31–164  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29}
30
31void parseFormat(std::ostream & stream, const char * & format)
32{
33 std::locale loc;
34
35 static std::set<char> alignmentFlags = { 'l', 'r', 'i' };
36 while (alignmentFlags.find(*format) != alignmentFlags.end())
37 {
38 char alignment = *format++;
39
40 switch (alignment)
41 {
42 case 'l':
43 stream << std::left;
44 break;
45 case 'r':
46 stream << std::right;
47 break;
48 case 'i':
49 stream << std::internal;
50 break;
51 default:
52 break;
53 }
54 }
55
56 static std::set<char> flags = { 'a', '+', ' ', '#', 'u', 'p', '0' };
57 while (flags.find(std::tolower(*format, loc)) != flags.end())
58 {
59 char flag = *format++;
60
61 switch (flag)
62 {
63 case 'a':
64 stream << std::boolalpha;
65 break;
66 case '+':
67 stream << std::showpos;
68 break;
69 case ' ':
70 stream << std::skipws;
71 break;
72 case '#':
73 stream << std::showbase;
74 break;
75 case 'u':
76 stream << std::uppercase;
77 break;
78 case 'p':
79 stream << std::showpoint;
80 break;
81 case '0':
82 stream << std::setfill('0');
83 break;
84 default:
85 break;
86 }
87 }
88

Callers

nothing calls this directly

Calls 2

readIntFunction · 0.85
endMethod · 0.45

Tested by

no test coverage detected