xref: /aosp_15_r20/external/abseil-cpp/absl/numeric/int128_stream_test.cc (revision 9356374a3709195abf420251b3e825997ff56c0f)
1 // Copyright 2017 The Abseil Authors.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //      https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #include "absl/numeric/int128.h"
16 
17 #include <sstream>
18 #include <string>
19 
20 #include "gtest/gtest.h"
21 #include "absl/strings/str_cat.h"
22 
23 namespace {
24 
25 struct Uint128TestCase {
26   absl::uint128 value;
27   std::ios_base::fmtflags flags;
28   std::streamsize width;
29   const char* expected;
30 };
31 
32 constexpr char kFill = '_';
33 
StreamFormatToString(std::ios_base::fmtflags flags,std::streamsize width)34 std::string StreamFormatToString(std::ios_base::fmtflags flags,
35                                  std::streamsize width) {
36   std::vector<const char*> flagstr;
37   switch (flags & std::ios::basefield) {
38     case std::ios::dec:
39       flagstr.push_back("std::ios::dec");
40       break;
41     case std::ios::oct:
42       flagstr.push_back("std::ios::oct");
43       break;
44     case std::ios::hex:
45       flagstr.push_back("std::ios::hex");
46       break;
47     default:  // basefield not specified
48       break;
49   }
50   switch (flags & std::ios::adjustfield) {
51     case std::ios::left:
52       flagstr.push_back("std::ios::left");
53       break;
54     case std::ios::internal:
55       flagstr.push_back("std::ios::internal");
56       break;
57     case std::ios::right:
58       flagstr.push_back("std::ios::right");
59       break;
60     default:  // adjustfield not specified
61       break;
62   }
63   if (flags & std::ios::uppercase) flagstr.push_back("std::ios::uppercase");
64   if (flags & std::ios::showbase) flagstr.push_back("std::ios::showbase");
65   if (flags & std::ios::showpos) flagstr.push_back("std::ios::showpos");
66 
67   std::ostringstream msg;
68   msg << "\n  StreamFormatToString(test_case.flags, test_case.width)\n    "
69          "flags: ";
70   if (!flagstr.empty()) {
71     for (size_t i = 0; i < flagstr.size() - 1; ++i) msg << flagstr[i] << " | ";
72     msg << flagstr.back();
73   } else {
74     msg << "(default)";
75   }
76   msg << "\n    width: " << width << "\n    fill: '" << kFill << "'";
77   return msg.str();
78 }
79 
80 constexpr std::ios::fmtflags kDec = std::ios::dec;
81 constexpr std::ios::fmtflags kOct = std::ios::oct;
82 constexpr std::ios::fmtflags kHex = std::ios::hex;
83 constexpr std::ios::fmtflags kLeft = std::ios::left;
84 constexpr std::ios::fmtflags kInt = std::ios::internal;
85 constexpr std::ios::fmtflags kRight = std::ios::right;
86 constexpr std::ios::fmtflags kUpper = std::ios::uppercase;
87 constexpr std::ios::fmtflags kBase = std::ios::showbase;
88 constexpr std::ios::fmtflags kPos = std::ios::showpos;
89 
CheckUint128Case(const Uint128TestCase & test_case)90 void CheckUint128Case(const Uint128TestCase& test_case) {
91   if (test_case.flags == kDec && test_case.width == 0) {
92     EXPECT_EQ(absl::StrCat(test_case.value), test_case.expected);
93   }
94   std::ostringstream os;
95   os.flags(test_case.flags);
96   os.width(test_case.width);
97   os.fill(kFill);
98   os << test_case.value;
99   SCOPED_TRACE(StreamFormatToString(test_case.flags, test_case.width));
100   EXPECT_EQ(os.str(), test_case.expected);
101 }
102 
TEST(Uint128,OStreamValueTest)103 TEST(Uint128, OStreamValueTest) {
104   CheckUint128Case({1, kDec, /*width = */ 0, "1"});
105   CheckUint128Case({1, kOct, /*width = */ 0, "1"});
106   CheckUint128Case({1, kHex, /*width = */ 0, "1"});
107   CheckUint128Case({9, kDec, /*width = */ 0, "9"});
108   CheckUint128Case({9, kOct, /*width = */ 0, "11"});
109   CheckUint128Case({9, kHex, /*width = */ 0, "9"});
110   CheckUint128Case({12345, kDec, /*width = */ 0, "12345"});
111   CheckUint128Case({12345, kOct, /*width = */ 0, "30071"});
112   CheckUint128Case({12345, kHex, /*width = */ 0, "3039"});
113   CheckUint128Case(
114       {0x8000000000000000, kDec, /*width = */ 0, "9223372036854775808"});
115   CheckUint128Case(
116       {0x8000000000000000, kOct, /*width = */ 0, "1000000000000000000000"});
117   CheckUint128Case(
118       {0x8000000000000000, kHex, /*width = */ 0, "8000000000000000"});
119   CheckUint128Case({std::numeric_limits<uint64_t>::max(), kDec,
120                     /*width = */ 0, "18446744073709551615"});
121   CheckUint128Case({std::numeric_limits<uint64_t>::max(), kOct,
122                     /*width = */ 0, "1777777777777777777777"});
123   CheckUint128Case({std::numeric_limits<uint64_t>::max(), kHex,
124                     /*width = */ 0, "ffffffffffffffff"});
125   CheckUint128Case(
126       {absl::MakeUint128(1, 0), kDec, /*width = */ 0, "18446744073709551616"});
127   CheckUint128Case({absl::MakeUint128(1, 0), kOct, /*width = */ 0,
128                     "2000000000000000000000"});
129   CheckUint128Case(
130       {absl::MakeUint128(1, 0), kHex, /*width = */ 0, "10000000000000000"});
131   CheckUint128Case({absl::MakeUint128(0x8000000000000000, 0), kDec,
132                     /*width = */ 0, "170141183460469231731687303715884105728"});
133   CheckUint128Case({absl::MakeUint128(0x8000000000000000, 0), kOct,
134                     /*width = */ 0,
135                     "2000000000000000000000000000000000000000000"});
136   CheckUint128Case({absl::MakeUint128(0x8000000000000000, 0), kHex,
137                     /*width = */ 0, "80000000000000000000000000000000"});
138   CheckUint128Case({absl::Uint128Max(), kDec, /*width = */ 0,
139                     "340282366920938463463374607431768211455"});
140   CheckUint128Case({absl::Uint128Max(), kOct, /*width = */ 0,
141                     "3777777777777777777777777777777777777777777"});
142   CheckUint128Case({absl::Uint128Max(), kHex, /*width = */ 0,
143                     "ffffffffffffffffffffffffffffffff"});
144 }
145 
146 std::vector<Uint128TestCase> GetUint128FormatCases();
147 
TEST(Uint128,OStreamFormatTest)148 TEST(Uint128, OStreamFormatTest) {
149   for (const Uint128TestCase& test_case : GetUint128FormatCases()) {
150     CheckUint128Case(test_case);
151   }
152 }
153 
154 struct Int128TestCase {
155   absl::int128 value;
156   std::ios_base::fmtflags flags;
157   std::streamsize width;
158   const char* expected;
159 };
160 
CheckInt128Case(const Int128TestCase & test_case)161 void CheckInt128Case(const Int128TestCase& test_case) {
162   if (test_case.flags == kDec && test_case.width == 0) {
163     EXPECT_EQ(absl::StrCat(test_case.value), test_case.expected);
164   }
165   std::ostringstream os;
166   os.flags(test_case.flags);
167   os.width(test_case.width);
168   os.fill(kFill);
169   os << test_case.value;
170   SCOPED_TRACE(StreamFormatToString(test_case.flags, test_case.width));
171   EXPECT_EQ(os.str(), test_case.expected);
172 }
173 
TEST(Int128,OStreamValueTest)174 TEST(Int128, OStreamValueTest) {
175   CheckInt128Case({1, kDec, /*width = */ 0, "1"});
176   CheckInt128Case({1, kOct, /*width = */ 0, "1"});
177   CheckInt128Case({1, kHex, /*width = */ 0, "1"});
178   CheckInt128Case({9, kDec, /*width = */ 0, "9"});
179   CheckInt128Case({9, kOct, /*width = */ 0, "11"});
180   CheckInt128Case({9, kHex, /*width = */ 0, "9"});
181   CheckInt128Case({12345, kDec, /*width = */ 0, "12345"});
182   CheckInt128Case({12345, kOct, /*width = */ 0, "30071"});
183   CheckInt128Case({12345, kHex, /*width = */ 0, "3039"});
184   CheckInt128Case(
185       {0x8000000000000000, kDec, /*width = */ 0, "9223372036854775808"});
186   CheckInt128Case(
187       {0x8000000000000000, kOct, /*width = */ 0, "1000000000000000000000"});
188   CheckInt128Case(
189       {0x8000000000000000, kHex, /*width = */ 0, "8000000000000000"});
190   CheckInt128Case({std::numeric_limits<uint64_t>::max(), kDec,
191                    /*width = */ 0, "18446744073709551615"});
192   CheckInt128Case({std::numeric_limits<uint64_t>::max(), kOct,
193                    /*width = */ 0, "1777777777777777777777"});
194   CheckInt128Case({std::numeric_limits<uint64_t>::max(), kHex,
195                    /*width = */ 0, "ffffffffffffffff"});
196   CheckInt128Case(
197       {absl::MakeInt128(1, 0), kDec, /*width = */ 0, "18446744073709551616"});
198   CheckInt128Case(
199       {absl::MakeInt128(1, 0), kOct, /*width = */ 0, "2000000000000000000000"});
200   CheckInt128Case(
201       {absl::MakeInt128(1, 0), kHex, /*width = */ 0, "10000000000000000"});
202   CheckInt128Case({absl::MakeInt128(std::numeric_limits<int64_t>::max(),
203                                     std::numeric_limits<uint64_t>::max()),
204                    kDec, /*width = */ 0,
205                    "170141183460469231731687303715884105727"});
206   CheckInt128Case({absl::MakeInt128(std::numeric_limits<int64_t>::max(),
207                                     std::numeric_limits<uint64_t>::max()),
208                    kOct, /*width = */ 0,
209                    "1777777777777777777777777777777777777777777"});
210   CheckInt128Case({absl::MakeInt128(std::numeric_limits<int64_t>::max(),
211                                     std::numeric_limits<uint64_t>::max()),
212                    kHex, /*width = */ 0, "7fffffffffffffffffffffffffffffff"});
213   CheckInt128Case({absl::MakeInt128(std::numeric_limits<int64_t>::min(), 0),
214                    kDec, /*width = */ 0,
215                    "-170141183460469231731687303715884105728"});
216   CheckInt128Case({absl::MakeInt128(std::numeric_limits<int64_t>::min(), 0),
217                    kOct, /*width = */ 0,
218                    "2000000000000000000000000000000000000000000"});
219   CheckInt128Case({absl::MakeInt128(std::numeric_limits<int64_t>::min(), 0),
220                    kHex, /*width = */ 0, "80000000000000000000000000000000"});
221   CheckInt128Case({-1, kDec, /*width = */ 0, "-1"});
222   CheckInt128Case({-1, kOct, /*width = */ 0,
223                    "3777777777777777777777777777777777777777777"});
224   CheckInt128Case(
225       {-1, kHex, /*width = */ 0, "ffffffffffffffffffffffffffffffff"});
226   CheckInt128Case({-12345, kDec, /*width = */ 0, "-12345"});
227   CheckInt128Case({-12345, kOct, /*width = */ 0,
228                    "3777777777777777777777777777777777777747707"});
229   CheckInt128Case(
230       {-12345, kHex, /*width = */ 0, "ffffffffffffffffffffffffffffcfc7"});
231 }
232 
233 std::vector<Int128TestCase> GetInt128FormatCases();
TEST(Int128,OStreamFormatTest)234 TEST(Int128, OStreamFormatTest) {
235   for (const Int128TestCase& test_case : GetInt128FormatCases()) {
236     CheckInt128Case(test_case);
237   }
238 }
239 
GetInt128FormatCases()240 std::vector<Int128TestCase> GetInt128FormatCases() {
241   return {
242       {0, std::ios_base::fmtflags(), /*width = */ 0, "0"},
243       {0, std::ios_base::fmtflags(), /*width = */ 6, "_____0"},
244       {0, kPos, /*width = */ 0, "+0"},
245       {0, kPos, /*width = */ 6, "____+0"},
246       {0, kBase, /*width = */ 0, "0"},
247       {0, kBase, /*width = */ 6, "_____0"},
248       {0, kBase | kPos, /*width = */ 0, "+0"},
249       {0, kBase | kPos, /*width = */ 6, "____+0"},
250       {0, kUpper, /*width = */ 0, "0"},
251       {0, kUpper, /*width = */ 6, "_____0"},
252       {0, kUpper | kPos, /*width = */ 0, "+0"},
253       {0, kUpper | kPos, /*width = */ 6, "____+0"},
254       {0, kUpper | kBase, /*width = */ 0, "0"},
255       {0, kUpper | kBase, /*width = */ 6, "_____0"},
256       {0, kUpper | kBase | kPos, /*width = */ 0, "+0"},
257       {0, kUpper | kBase | kPos, /*width = */ 6, "____+0"},
258       {0, kLeft, /*width = */ 0, "0"},
259       {0, kLeft, /*width = */ 6, "0_____"},
260       {0, kLeft | kPos, /*width = */ 0, "+0"},
261       {0, kLeft | kPos, /*width = */ 6, "+0____"},
262       {0, kLeft | kBase, /*width = */ 0, "0"},
263       {0, kLeft | kBase, /*width = */ 6, "0_____"},
264       {0, kLeft | kBase | kPos, /*width = */ 0, "+0"},
265       {0, kLeft | kBase | kPos, /*width = */ 6, "+0____"},
266       {0, kLeft | kUpper, /*width = */ 0, "0"},
267       {0, kLeft | kUpper, /*width = */ 6, "0_____"},
268       {0, kLeft | kUpper | kPos, /*width = */ 0, "+0"},
269       {0, kLeft | kUpper | kPos, /*width = */ 6, "+0____"},
270       {0, kLeft | kUpper | kBase, /*width = */ 0, "0"},
271       {0, kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
272       {0, kLeft | kUpper | kBase | kPos, /*width = */ 0, "+0"},
273       {0, kLeft | kUpper | kBase | kPos, /*width = */ 6, "+0____"},
274       {0, kInt, /*width = */ 0, "0"},
275       {0, kInt, /*width = */ 6, "_____0"},
276       {0, kInt | kPos, /*width = */ 0, "+0"},
277       {0, kInt | kPos, /*width = */ 6, "+____0"},
278       {0, kInt | kBase, /*width = */ 0, "0"},
279       {0, kInt | kBase, /*width = */ 6, "_____0"},
280       {0, kInt | kBase | kPos, /*width = */ 0, "+0"},
281       {0, kInt | kBase | kPos, /*width = */ 6, "+____0"},
282       {0, kInt | kUpper, /*width = */ 0, "0"},
283       {0, kInt | kUpper, /*width = */ 6, "_____0"},
284       {0, kInt | kUpper | kPos, /*width = */ 0, "+0"},
285       {0, kInt | kUpper | kPos, /*width = */ 6, "+____0"},
286       {0, kInt | kUpper | kBase, /*width = */ 0, "0"},
287       {0, kInt | kUpper | kBase, /*width = */ 6, "_____0"},
288       {0, kInt | kUpper | kBase | kPos, /*width = */ 0, "+0"},
289       {0, kInt | kUpper | kBase | kPos, /*width = */ 6, "+____0"},
290       {0, kRight, /*width = */ 0, "0"},
291       {0, kRight, /*width = */ 6, "_____0"},
292       {0, kRight | kPos, /*width = */ 0, "+0"},
293       {0, kRight | kPos, /*width = */ 6, "____+0"},
294       {0, kRight | kBase, /*width = */ 0, "0"},
295       {0, kRight | kBase, /*width = */ 6, "_____0"},
296       {0, kRight | kBase | kPos, /*width = */ 0, "+0"},
297       {0, kRight | kBase | kPos, /*width = */ 6, "____+0"},
298       {0, kRight | kUpper, /*width = */ 0, "0"},
299       {0, kRight | kUpper, /*width = */ 6, "_____0"},
300       {0, kRight | kUpper | kPos, /*width = */ 0, "+0"},
301       {0, kRight | kUpper | kPos, /*width = */ 6, "____+0"},
302       {0, kRight | kUpper | kBase, /*width = */ 0, "0"},
303       {0, kRight | kUpper | kBase, /*width = */ 6, "_____0"},
304       {0, kRight | kUpper | kBase | kPos, /*width = */ 0, "+0"},
305       {0, kRight | kUpper | kBase | kPos, /*width = */ 6, "____+0"},
306       {0, kDec, /*width = */ 0, "0"},
307       {0, kDec, /*width = */ 6, "_____0"},
308       {0, kDec | kPos, /*width = */ 0, "+0"},
309       {0, kDec | kPos, /*width = */ 6, "____+0"},
310       {0, kDec | kBase, /*width = */ 0, "0"},
311       {0, kDec | kBase, /*width = */ 6, "_____0"},
312       {0, kDec | kBase | kPos, /*width = */ 0, "+0"},
313       {0, kDec | kBase | kPos, /*width = */ 6, "____+0"},
314       {0, kDec | kUpper, /*width = */ 0, "0"},
315       {0, kDec | kUpper, /*width = */ 6, "_____0"},
316       {0, kDec | kUpper | kPos, /*width = */ 0, "+0"},
317       {0, kDec | kUpper | kPos, /*width = */ 6, "____+0"},
318       {0, kDec | kUpper | kBase, /*width = */ 0, "0"},
319       {0, kDec | kUpper | kBase, /*width = */ 6, "_____0"},
320       {0, kDec | kUpper | kBase | kPos, /*width = */ 0, "+0"},
321       {0, kDec | kUpper | kBase | kPos, /*width = */ 6, "____+0"},
322       {0, kDec | kLeft, /*width = */ 0, "0"},
323       {0, kDec | kLeft, /*width = */ 6, "0_____"},
324       {0, kDec | kLeft | kPos, /*width = */ 0, "+0"},
325       {0, kDec | kLeft | kPos, /*width = */ 6, "+0____"},
326       {0, kDec | kLeft | kBase, /*width = */ 0, "0"},
327       {0, kDec | kLeft | kBase, /*width = */ 6, "0_____"},
328       {0, kDec | kLeft | kBase | kPos, /*width = */ 0, "+0"},
329       {0, kDec | kLeft | kBase | kPos, /*width = */ 6, "+0____"},
330       {0, kDec | kLeft | kUpper, /*width = */ 0, "0"},
331       {0, kDec | kLeft | kUpper, /*width = */ 6, "0_____"},
332       {0, kDec | kLeft | kUpper | kPos, /*width = */ 0, "+0"},
333       {0, kDec | kLeft | kUpper | kPos, /*width = */ 6, "+0____"},
334       {0, kDec | kLeft | kUpper | kBase, /*width = */ 0, "0"},
335       {0, kDec | kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
336       {0, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 0, "+0"},
337       {0, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 6, "+0____"},
338       {0, kDec | kInt, /*width = */ 0, "0"},
339       {0, kDec | kInt, /*width = */ 6, "_____0"},
340       {0, kDec | kInt | kPos, /*width = */ 0, "+0"},
341       {0, kDec | kInt | kPos, /*width = */ 6, "+____0"},
342       {0, kDec | kInt | kBase, /*width = */ 0, "0"},
343       {0, kDec | kInt | kBase, /*width = */ 6, "_____0"},
344       {0, kDec | kInt | kBase | kPos, /*width = */ 0, "+0"},
345       {0, kDec | kInt | kBase | kPos, /*width = */ 6, "+____0"},
346       {0, kDec | kInt | kUpper, /*width = */ 0, "0"},
347       {0, kDec | kInt | kUpper, /*width = */ 6, "_____0"},
348       {0, kDec | kInt | kUpper | kPos, /*width = */ 0, "+0"},
349       {0, kDec | kInt | kUpper | kPos, /*width = */ 6, "+____0"},
350       {0, kDec | kInt | kUpper | kBase, /*width = */ 0, "0"},
351       {0, kDec | kInt | kUpper | kBase, /*width = */ 6, "_____0"},
352       {0, kDec | kInt | kUpper | kBase | kPos, /*width = */ 0, "+0"},
353       {0, kDec | kInt | kUpper | kBase | kPos, /*width = */ 6, "+____0"},
354       {0, kDec | kRight, /*width = */ 0, "0"},
355       {0, kDec | kRight, /*width = */ 6, "_____0"},
356       {0, kDec | kRight | kPos, /*width = */ 0, "+0"},
357       {0, kDec | kRight | kPos, /*width = */ 6, "____+0"},
358       {0, kDec | kRight | kBase, /*width = */ 0, "0"},
359       {0, kDec | kRight | kBase, /*width = */ 6, "_____0"},
360       {0, kDec | kRight | kBase | kPos, /*width = */ 0, "+0"},
361       {0, kDec | kRight | kBase | kPos, /*width = */ 6, "____+0"},
362       {0, kDec | kRight | kUpper, /*width = */ 0, "0"},
363       {0, kDec | kRight | kUpper, /*width = */ 6, "_____0"},
364       {0, kDec | kRight | kUpper | kPos, /*width = */ 0, "+0"},
365       {0, kDec | kRight | kUpper | kPos, /*width = */ 6, "____+0"},
366       {0, kDec | kRight | kUpper | kBase, /*width = */ 0, "0"},
367       {0, kDec | kRight | kUpper | kBase, /*width = */ 6, "_____0"},
368       {0, kDec | kRight | kUpper | kBase | kPos, /*width = */ 0, "+0"},
369       {0, kDec | kRight | kUpper | kBase | kPos, /*width = */ 6, "____+0"},
370       {0, kOct, /*width = */ 0, "0"},
371       {0, kOct, /*width = */ 6, "_____0"},
372       {0, kOct | kPos, /*width = */ 0, "0"},
373       {0, kOct | kPos, /*width = */ 6, "_____0"},
374       {0, kOct | kBase, /*width = */ 0, "0"},
375       {0, kOct | kBase, /*width = */ 6, "_____0"},
376       {0, kOct | kBase | kPos, /*width = */ 0, "0"},
377       {0, kOct | kBase | kPos, /*width = */ 6, "_____0"},
378       {0, kOct | kUpper, /*width = */ 0, "0"},
379       {0, kOct | kUpper, /*width = */ 6, "_____0"},
380       {0, kOct | kUpper | kPos, /*width = */ 0, "0"},
381       {0, kOct | kUpper | kPos, /*width = */ 6, "_____0"},
382       {0, kOct | kUpper | kBase, /*width = */ 0, "0"},
383       {0, kOct | kUpper | kBase, /*width = */ 6, "_____0"},
384       {0, kOct | kUpper | kBase | kPos, /*width = */ 0, "0"},
385       {0, kOct | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
386       {0, kOct | kLeft, /*width = */ 0, "0"},
387       {0, kOct | kLeft, /*width = */ 6, "0_____"},
388       {0, kOct | kLeft | kPos, /*width = */ 0, "0"},
389       {0, kOct | kLeft | kPos, /*width = */ 6, "0_____"},
390       {0, kOct | kLeft | kBase, /*width = */ 0, "0"},
391       {0, kOct | kLeft | kBase, /*width = */ 6, "0_____"},
392       {0, kOct | kLeft | kBase | kPos, /*width = */ 0, "0"},
393       {0, kOct | kLeft | kBase | kPos, /*width = */ 6, "0_____"},
394       {0, kOct | kLeft | kUpper, /*width = */ 0, "0"},
395       {0, kOct | kLeft | kUpper, /*width = */ 6, "0_____"},
396       {0, kOct | kLeft | kUpper | kPos, /*width = */ 0, "0"},
397       {0, kOct | kLeft | kUpper | kPos, /*width = */ 6, "0_____"},
398       {0, kOct | kLeft | kUpper | kBase, /*width = */ 0, "0"},
399       {0, kOct | kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
400       {0, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 0, "0"},
401       {0, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 6, "0_____"},
402       {0, kOct | kInt, /*width = */ 0, "0"},
403       {0, kOct | kInt, /*width = */ 6, "_____0"},
404       {0, kOct | kInt | kPos, /*width = */ 0, "0"},
405       {0, kOct | kInt | kPos, /*width = */ 6, "_____0"},
406       {0, kOct | kInt | kBase, /*width = */ 0, "0"},
407       {0, kOct | kInt | kBase, /*width = */ 6, "_____0"},
408       {0, kOct | kInt | kBase | kPos, /*width = */ 0, "0"},
409       {0, kOct | kInt | kBase | kPos, /*width = */ 6, "_____0"},
410       {0, kOct | kInt | kUpper, /*width = */ 0, "0"},
411       {0, kOct | kInt | kUpper, /*width = */ 6, "_____0"},
412       {0, kOct | kInt | kUpper | kPos, /*width = */ 0, "0"},
413       {0, kOct | kInt | kUpper | kPos, /*width = */ 6, "_____0"},
414       {0, kOct | kInt | kUpper | kBase, /*width = */ 0, "0"},
415       {0, kOct | kInt | kUpper | kBase, /*width = */ 6, "_____0"},
416       {0, kOct | kInt | kUpper | kBase | kPos, /*width = */ 0, "0"},
417       {0, kOct | kInt | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
418       {0, kOct | kRight, /*width = */ 0, "0"},
419       {0, kOct | kRight, /*width = */ 6, "_____0"},
420       {0, kOct | kRight | kPos, /*width = */ 0, "0"},
421       {0, kOct | kRight | kPos, /*width = */ 6, "_____0"},
422       {0, kOct | kRight | kBase, /*width = */ 0, "0"},
423       {0, kOct | kRight | kBase, /*width = */ 6, "_____0"},
424       {0, kOct | kRight | kBase | kPos, /*width = */ 0, "0"},
425       {0, kOct | kRight | kBase | kPos, /*width = */ 6, "_____0"},
426       {0, kOct | kRight | kUpper, /*width = */ 0, "0"},
427       {0, kOct | kRight | kUpper, /*width = */ 6, "_____0"},
428       {0, kOct | kRight | kUpper | kPos, /*width = */ 0, "0"},
429       {0, kOct | kRight | kUpper | kPos, /*width = */ 6, "_____0"},
430       {0, kOct | kRight | kUpper | kBase, /*width = */ 0, "0"},
431       {0, kOct | kRight | kUpper | kBase, /*width = */ 6, "_____0"},
432       {0, kOct | kRight | kUpper | kBase | kPos, /*width = */ 0, "0"},
433       {0, kOct | kRight | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
434       {0, kHex, /*width = */ 0, "0"},
435       {0, kHex, /*width = */ 6, "_____0"},
436       {0, kHex | kPos, /*width = */ 0, "0"},
437       {0, kHex | kPos, /*width = */ 6, "_____0"},
438       {0, kHex | kBase, /*width = */ 0, "0"},
439       {0, kHex | kBase, /*width = */ 6, "_____0"},
440       {0, kHex | kBase | kPos, /*width = */ 0, "0"},
441       {0, kHex | kBase | kPos, /*width = */ 6, "_____0"},
442       {0, kHex | kUpper, /*width = */ 0, "0"},
443       {0, kHex | kUpper, /*width = */ 6, "_____0"},
444       {0, kHex | kUpper | kPos, /*width = */ 0, "0"},
445       {0, kHex | kUpper | kPos, /*width = */ 6, "_____0"},
446       {0, kHex | kUpper | kBase, /*width = */ 0, "0"},
447       {0, kHex | kUpper | kBase, /*width = */ 6, "_____0"},
448       {0, kHex | kUpper | kBase | kPos, /*width = */ 0, "0"},
449       {0, kHex | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
450       {0, kHex | kLeft, /*width = */ 0, "0"},
451       {0, kHex | kLeft, /*width = */ 6, "0_____"},
452       {0, kHex | kLeft | kPos, /*width = */ 0, "0"},
453       {0, kHex | kLeft | kPos, /*width = */ 6, "0_____"},
454       {0, kHex | kLeft | kBase, /*width = */ 0, "0"},
455       {0, kHex | kLeft | kBase, /*width = */ 6, "0_____"},
456       {0, kHex | kLeft | kBase | kPos, /*width = */ 0, "0"},
457       {0, kHex | kLeft | kBase | kPos, /*width = */ 6, "0_____"},
458       {0, kHex | kLeft | kUpper, /*width = */ 0, "0"},
459       {0, kHex | kLeft | kUpper, /*width = */ 6, "0_____"},
460       {0, kHex | kLeft | kUpper | kPos, /*width = */ 0, "0"},
461       {0, kHex | kLeft | kUpper | kPos, /*width = */ 6, "0_____"},
462       {0, kHex | kLeft | kUpper | kBase, /*width = */ 0, "0"},
463       {0, kHex | kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
464       {0, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 0, "0"},
465       {0, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 6, "0_____"},
466       {0, kHex | kInt, /*width = */ 0, "0"},
467       {0, kHex | kInt, /*width = */ 6, "_____0"},
468       {0, kHex | kInt | kPos, /*width = */ 0, "0"},
469       {0, kHex | kInt | kPos, /*width = */ 6, "_____0"},
470       {0, kHex | kInt | kBase, /*width = */ 0, "0"},
471       {0, kHex | kInt | kBase, /*width = */ 6, "_____0"},
472       {0, kHex | kInt | kBase | kPos, /*width = */ 0, "0"},
473       {0, kHex | kInt | kBase | kPos, /*width = */ 6, "_____0"},
474       {0, kHex | kInt | kUpper, /*width = */ 0, "0"},
475       {0, kHex | kInt | kUpper, /*width = */ 6, "_____0"},
476       {0, kHex | kInt | kUpper | kPos, /*width = */ 0, "0"},
477       {0, kHex | kInt | kUpper | kPos, /*width = */ 6, "_____0"},
478       {0, kHex | kInt | kUpper | kBase, /*width = */ 0, "0"},
479       {0, kHex | kInt | kUpper | kBase, /*width = */ 6, "_____0"},
480       {0, kHex | kInt | kUpper | kBase | kPos, /*width = */ 0, "0"},
481       {0, kHex | kInt | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
482       {0, kHex | kRight, /*width = */ 0, "0"},
483       {0, kHex | kRight, /*width = */ 6, "_____0"},
484       {0, kHex | kRight | kPos, /*width = */ 0, "0"},
485       {0, kHex | kRight | kPos, /*width = */ 6, "_____0"},
486       {0, kHex | kRight | kBase, /*width = */ 0, "0"},
487       {0, kHex | kRight | kBase, /*width = */ 6, "_____0"},
488       {0, kHex | kRight | kBase | kPos, /*width = */ 0, "0"},
489       {0, kHex | kRight | kBase | kPos, /*width = */ 6, "_____0"},
490       {0, kHex | kRight | kUpper, /*width = */ 0, "0"},
491       {0, kHex | kRight | kUpper, /*width = */ 6, "_____0"},
492       {0, kHex | kRight | kUpper | kPos, /*width = */ 0, "0"},
493       {0, kHex | kRight | kUpper | kPos, /*width = */ 6, "_____0"},
494       {0, kHex | kRight | kUpper | kBase, /*width = */ 0, "0"},
495       {0, kHex | kRight | kUpper | kBase, /*width = */ 6, "_____0"},
496       {0, kHex | kRight | kUpper | kBase | kPos, /*width = */ 0, "0"},
497       {0, kHex | kRight | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
498       {42, std::ios_base::fmtflags(), /*width = */ 0, "42"},
499       {42, std::ios_base::fmtflags(), /*width = */ 6, "____42"},
500       {42, kPos, /*width = */ 0, "+42"},
501       {42, kPos, /*width = */ 6, "___+42"},
502       {42, kBase, /*width = */ 0, "42"},
503       {42, kBase, /*width = */ 6, "____42"},
504       {42, kBase | kPos, /*width = */ 0, "+42"},
505       {42, kBase | kPos, /*width = */ 6, "___+42"},
506       {42, kUpper, /*width = */ 0, "42"},
507       {42, kUpper, /*width = */ 6, "____42"},
508       {42, kUpper | kPos, /*width = */ 0, "+42"},
509       {42, kUpper | kPos, /*width = */ 6, "___+42"},
510       {42, kUpper | kBase, /*width = */ 0, "42"},
511       {42, kUpper | kBase, /*width = */ 6, "____42"},
512       {42, kUpper | kBase | kPos, /*width = */ 0, "+42"},
513       {42, kUpper | kBase | kPos, /*width = */ 6, "___+42"},
514       {42, kLeft, /*width = */ 0, "42"},
515       {42, kLeft, /*width = */ 6, "42____"},
516       {42, kLeft | kPos, /*width = */ 0, "+42"},
517       {42, kLeft | kPos, /*width = */ 6, "+42___"},
518       {42, kLeft | kBase, /*width = */ 0, "42"},
519       {42, kLeft | kBase, /*width = */ 6, "42____"},
520       {42, kLeft | kBase | kPos, /*width = */ 0, "+42"},
521       {42, kLeft | kBase | kPos, /*width = */ 6, "+42___"},
522       {42, kLeft | kUpper, /*width = */ 0, "42"},
523       {42, kLeft | kUpper, /*width = */ 6, "42____"},
524       {42, kLeft | kUpper | kPos, /*width = */ 0, "+42"},
525       {42, kLeft | kUpper | kPos, /*width = */ 6, "+42___"},
526       {42, kLeft | kUpper | kBase, /*width = */ 0, "42"},
527       {42, kLeft | kUpper | kBase, /*width = */ 6, "42____"},
528       {42, kLeft | kUpper | kBase | kPos, /*width = */ 0, "+42"},
529       {42, kLeft | kUpper | kBase | kPos, /*width = */ 6, "+42___"},
530       {42, kInt, /*width = */ 0, "42"},
531       {42, kInt, /*width = */ 6, "____42"},
532       {42, kInt | kPos, /*width = */ 0, "+42"},
533       {42, kInt | kPos, /*width = */ 6, "+___42"},
534       {42, kInt | kBase, /*width = */ 0, "42"},
535       {42, kInt | kBase, /*width = */ 6, "____42"},
536       {42, kInt | kBase | kPos, /*width = */ 0, "+42"},
537       {42, kInt | kBase | kPos, /*width = */ 6, "+___42"},
538       {42, kInt | kUpper, /*width = */ 0, "42"},
539       {42, kInt | kUpper, /*width = */ 6, "____42"},
540       {42, kInt | kUpper | kPos, /*width = */ 0, "+42"},
541       {42, kInt | kUpper | kPos, /*width = */ 6, "+___42"},
542       {42, kInt | kUpper | kBase, /*width = */ 0, "42"},
543       {42, kInt | kUpper | kBase, /*width = */ 6, "____42"},
544       {42, kInt | kUpper | kBase | kPos, /*width = */ 0, "+42"},
545       {42, kInt | kUpper | kBase | kPos, /*width = */ 6, "+___42"},
546       {42, kRight, /*width = */ 0, "42"},
547       {42, kRight, /*width = */ 6, "____42"},
548       {42, kRight | kPos, /*width = */ 0, "+42"},
549       {42, kRight | kPos, /*width = */ 6, "___+42"},
550       {42, kRight | kBase, /*width = */ 0, "42"},
551       {42, kRight | kBase, /*width = */ 6, "____42"},
552       {42, kRight | kBase | kPos, /*width = */ 0, "+42"},
553       {42, kRight | kBase | kPos, /*width = */ 6, "___+42"},
554       {42, kRight | kUpper, /*width = */ 0, "42"},
555       {42, kRight | kUpper, /*width = */ 6, "____42"},
556       {42, kRight | kUpper | kPos, /*width = */ 0, "+42"},
557       {42, kRight | kUpper | kPos, /*width = */ 6, "___+42"},
558       {42, kRight | kUpper | kBase, /*width = */ 0, "42"},
559       {42, kRight | kUpper | kBase, /*width = */ 6, "____42"},
560       {42, kRight | kUpper | kBase | kPos, /*width = */ 0, "+42"},
561       {42, kRight | kUpper | kBase | kPos, /*width = */ 6, "___+42"},
562       {42, kDec, /*width = */ 0, "42"},
563       {42, kDec, /*width = */ 6, "____42"},
564       {42, kDec | kPos, /*width = */ 0, "+42"},
565       {42, kDec | kPos, /*width = */ 6, "___+42"},
566       {42, kDec | kBase, /*width = */ 0, "42"},
567       {42, kDec | kBase, /*width = */ 6, "____42"},
568       {42, kDec | kBase | kPos, /*width = */ 0, "+42"},
569       {42, kDec | kBase | kPos, /*width = */ 6, "___+42"},
570       {42, kDec | kUpper, /*width = */ 0, "42"},
571       {42, kDec | kUpper, /*width = */ 6, "____42"},
572       {42, kDec | kUpper | kPos, /*width = */ 0, "+42"},
573       {42, kDec | kUpper | kPos, /*width = */ 6, "___+42"},
574       {42, kDec | kUpper | kBase, /*width = */ 0, "42"},
575       {42, kDec | kUpper | kBase, /*width = */ 6, "____42"},
576       {42, kDec | kUpper | kBase | kPos, /*width = */ 0, "+42"},
577       {42, kDec | kUpper | kBase | kPos, /*width = */ 6, "___+42"},
578       {42, kDec | kLeft, /*width = */ 0, "42"},
579       {42, kDec | kLeft, /*width = */ 6, "42____"},
580       {42, kDec | kLeft | kPos, /*width = */ 0, "+42"},
581       {42, kDec | kLeft | kPos, /*width = */ 6, "+42___"},
582       {42, kDec | kLeft | kBase, /*width = */ 0, "42"},
583       {42, kDec | kLeft | kBase, /*width = */ 6, "42____"},
584       {42, kDec | kLeft | kBase | kPos, /*width = */ 0, "+42"},
585       {42, kDec | kLeft | kBase | kPos, /*width = */ 6, "+42___"},
586       {42, kDec | kLeft | kUpper, /*width = */ 0, "42"},
587       {42, kDec | kLeft | kUpper, /*width = */ 6, "42____"},
588       {42, kDec | kLeft | kUpper | kPos, /*width = */ 0, "+42"},
589       {42, kDec | kLeft | kUpper | kPos, /*width = */ 6, "+42___"},
590       {42, kDec | kLeft | kUpper | kBase, /*width = */ 0, "42"},
591       {42, kDec | kLeft | kUpper | kBase, /*width = */ 6, "42____"},
592       {42, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 0, "+42"},
593       {42, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 6, "+42___"},
594       {42, kDec | kInt, /*width = */ 0, "42"},
595       {42, kDec | kInt, /*width = */ 6, "____42"},
596       {42, kDec | kInt | kPos, /*width = */ 0, "+42"},
597       {42, kDec | kInt | kPos, /*width = */ 6, "+___42"},
598       {42, kDec | kInt | kBase, /*width = */ 0, "42"},
599       {42, kDec | kInt | kBase, /*width = */ 6, "____42"},
600       {42, kDec | kInt | kBase | kPos, /*width = */ 0, "+42"},
601       {42, kDec | kInt | kBase | kPos, /*width = */ 6, "+___42"},
602       {42, kDec | kInt | kUpper, /*width = */ 0, "42"},
603       {42, kDec | kInt | kUpper, /*width = */ 6, "____42"},
604       {42, kDec | kInt | kUpper | kPos, /*width = */ 0, "+42"},
605       {42, kDec | kInt | kUpper | kPos, /*width = */ 6, "+___42"},
606       {42, kDec | kInt | kUpper | kBase, /*width = */ 0, "42"},
607       {42, kDec | kInt | kUpper | kBase, /*width = */ 6, "____42"},
608       {42, kDec | kInt | kUpper | kBase | kPos, /*width = */ 0, "+42"},
609       {42, kDec | kInt | kUpper | kBase | kPos, /*width = */ 6, "+___42"},
610       {42, kDec | kRight, /*width = */ 0, "42"},
611       {42, kDec | kRight, /*width = */ 6, "____42"},
612       {42, kDec | kRight | kPos, /*width = */ 0, "+42"},
613       {42, kDec | kRight | kPos, /*width = */ 6, "___+42"},
614       {42, kDec | kRight | kBase, /*width = */ 0, "42"},
615       {42, kDec | kRight | kBase, /*width = */ 6, "____42"},
616       {42, kDec | kRight | kBase | kPos, /*width = */ 0, "+42"},
617       {42, kDec | kRight | kBase | kPos, /*width = */ 6, "___+42"},
618       {42, kDec | kRight | kUpper, /*width = */ 0, "42"},
619       {42, kDec | kRight | kUpper, /*width = */ 6, "____42"},
620       {42, kDec | kRight | kUpper | kPos, /*width = */ 0, "+42"},
621       {42, kDec | kRight | kUpper | kPos, /*width = */ 6, "___+42"},
622       {42, kDec | kRight | kUpper | kBase, /*width = */ 0, "42"},
623       {42, kDec | kRight | kUpper | kBase, /*width = */ 6, "____42"},
624       {42, kDec | kRight | kUpper | kBase | kPos, /*width = */ 0, "+42"},
625       {42, kDec | kRight | kUpper | kBase | kPos, /*width = */ 6, "___+42"},
626       {42, kOct, /*width = */ 0, "52"},
627       {42, kOct, /*width = */ 6, "____52"},
628       {42, kOct | kPos, /*width = */ 0, "52"},
629       {42, kOct | kPos, /*width = */ 6, "____52"},
630       {42, kOct | kBase, /*width = */ 0, "052"},
631       {42, kOct | kBase, /*width = */ 6, "___052"},
632       {42, kOct | kBase | kPos, /*width = */ 0, "052"},
633       {42, kOct | kBase | kPos, /*width = */ 6, "___052"},
634       {42, kOct | kUpper, /*width = */ 0, "52"},
635       {42, kOct | kUpper, /*width = */ 6, "____52"},
636       {42, kOct | kUpper | kPos, /*width = */ 0, "52"},
637       {42, kOct | kUpper | kPos, /*width = */ 6, "____52"},
638       {42, kOct | kUpper | kBase, /*width = */ 0, "052"},
639       {42, kOct | kUpper | kBase, /*width = */ 6, "___052"},
640       {42, kOct | kUpper | kBase | kPos, /*width = */ 0, "052"},
641       {42, kOct | kUpper | kBase | kPos, /*width = */ 6, "___052"},
642       {42, kOct | kLeft, /*width = */ 0, "52"},
643       {42, kOct | kLeft, /*width = */ 6, "52____"},
644       {42, kOct | kLeft | kPos, /*width = */ 0, "52"},
645       {42, kOct | kLeft | kPos, /*width = */ 6, "52____"},
646       {42, kOct | kLeft | kBase, /*width = */ 0, "052"},
647       {42, kOct | kLeft | kBase, /*width = */ 6, "052___"},
648       {42, kOct | kLeft | kBase | kPos, /*width = */ 0, "052"},
649       {42, kOct | kLeft | kBase | kPos, /*width = */ 6, "052___"},
650       {42, kOct | kLeft | kUpper, /*width = */ 0, "52"},
651       {42, kOct | kLeft | kUpper, /*width = */ 6, "52____"},
652       {42, kOct | kLeft | kUpper | kPos, /*width = */ 0, "52"},
653       {42, kOct | kLeft | kUpper | kPos, /*width = */ 6, "52____"},
654       {42, kOct | kLeft | kUpper | kBase, /*width = */ 0, "052"},
655       {42, kOct | kLeft | kUpper | kBase, /*width = */ 6, "052___"},
656       {42, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 0, "052"},
657       {42, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 6, "052___"},
658       {42, kOct | kInt, /*width = */ 0, "52"},
659       {42, kOct | kInt, /*width = */ 6, "____52"},
660       {42, kOct | kInt | kPos, /*width = */ 0, "52"},
661       {42, kOct | kInt | kPos, /*width = */ 6, "____52"},
662       {42, kOct | kInt | kBase, /*width = */ 0, "052"},
663       {42, kOct | kInt | kBase, /*width = */ 6, "___052"},
664       {42, kOct | kInt | kBase | kPos, /*width = */ 0, "052"},
665       {42, kOct | kInt | kBase | kPos, /*width = */ 6, "___052"},
666       {42, kOct | kInt | kUpper, /*width = */ 0, "52"},
667       {42, kOct | kInt | kUpper, /*width = */ 6, "____52"},
668       {42, kOct | kInt | kUpper | kPos, /*width = */ 0, "52"},
669       {42, kOct | kInt | kUpper | kPos, /*width = */ 6, "____52"},
670       {42, kOct | kInt | kUpper | kBase, /*width = */ 0, "052"},
671       {42, kOct | kInt | kUpper | kBase, /*width = */ 6, "___052"},
672       {42, kOct | kInt | kUpper | kBase | kPos, /*width = */ 0, "052"},
673       {42, kOct | kInt | kUpper | kBase | kPos, /*width = */ 6, "___052"},
674       {42, kOct | kRight, /*width = */ 0, "52"},
675       {42, kOct | kRight, /*width = */ 6, "____52"},
676       {42, kOct | kRight | kPos, /*width = */ 0, "52"},
677       {42, kOct | kRight | kPos, /*width = */ 6, "____52"},
678       {42, kOct | kRight | kBase, /*width = */ 0, "052"},
679       {42, kOct | kRight | kBase, /*width = */ 6, "___052"},
680       {42, kOct | kRight | kBase | kPos, /*width = */ 0, "052"},
681       {42, kOct | kRight | kBase | kPos, /*width = */ 6, "___052"},
682       {42, kOct | kRight | kUpper, /*width = */ 0, "52"},
683       {42, kOct | kRight | kUpper, /*width = */ 6, "____52"},
684       {42, kOct | kRight | kUpper | kPos, /*width = */ 0, "52"},
685       {42, kOct | kRight | kUpper | kPos, /*width = */ 6, "____52"},
686       {42, kOct | kRight | kUpper | kBase, /*width = */ 0, "052"},
687       {42, kOct | kRight | kUpper | kBase, /*width = */ 6, "___052"},
688       {42, kOct | kRight | kUpper | kBase | kPos, /*width = */ 0, "052"},
689       {42, kOct | kRight | kUpper | kBase | kPos, /*width = */ 6, "___052"},
690       {42, kHex, /*width = */ 0, "2a"},
691       {42, kHex, /*width = */ 6, "____2a"},
692       {42, kHex | kPos, /*width = */ 0, "2a"},
693       {42, kHex | kPos, /*width = */ 6, "____2a"},
694       {42, kHex | kBase, /*width = */ 0, "0x2a"},
695       {42, kHex | kBase, /*width = */ 6, "__0x2a"},
696       {42, kHex | kBase | kPos, /*width = */ 0, "0x2a"},
697       {42, kHex | kBase | kPos, /*width = */ 6, "__0x2a"},
698       {42, kHex | kUpper, /*width = */ 0, "2A"},
699       {42, kHex | kUpper, /*width = */ 6, "____2A"},
700       {42, kHex | kUpper | kPos, /*width = */ 0, "2A"},
701       {42, kHex | kUpper | kPos, /*width = */ 6, "____2A"},
702       {42, kHex | kUpper | kBase, /*width = */ 0, "0X2A"},
703       {42, kHex | kUpper | kBase, /*width = */ 6, "__0X2A"},
704       {42, kHex | kUpper | kBase | kPos, /*width = */ 0, "0X2A"},
705       {42, kHex | kUpper | kBase | kPos, /*width = */ 6, "__0X2A"},
706       {42, kHex | kLeft, /*width = */ 0, "2a"},
707       {42, kHex | kLeft, /*width = */ 6, "2a____"},
708       {42, kHex | kLeft | kPos, /*width = */ 0, "2a"},
709       {42, kHex | kLeft | kPos, /*width = */ 6, "2a____"},
710       {42, kHex | kLeft | kBase, /*width = */ 0, "0x2a"},
711       {42, kHex | kLeft | kBase, /*width = */ 6, "0x2a__"},
712       {42, kHex | kLeft | kBase | kPos, /*width = */ 0, "0x2a"},
713       {42, kHex | kLeft | kBase | kPos, /*width = */ 6, "0x2a__"},
714       {42, kHex | kLeft | kUpper, /*width = */ 0, "2A"},
715       {42, kHex | kLeft | kUpper, /*width = */ 6, "2A____"},
716       {42, kHex | kLeft | kUpper | kPos, /*width = */ 0, "2A"},
717       {42, kHex | kLeft | kUpper | kPos, /*width = */ 6, "2A____"},
718       {42, kHex | kLeft | kUpper | kBase, /*width = */ 0, "0X2A"},
719       {42, kHex | kLeft | kUpper | kBase, /*width = */ 6, "0X2A__"},
720       {42, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 0, "0X2A"},
721       {42, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 6, "0X2A__"},
722       {42, kHex | kInt, /*width = */ 0, "2a"},
723       {42, kHex | kInt, /*width = */ 6, "____2a"},
724       {42, kHex | kInt | kPos, /*width = */ 0, "2a"},
725       {42, kHex | kInt | kPos, /*width = */ 6, "____2a"},
726       {42, kHex | kInt | kBase, /*width = */ 0, "0x2a"},
727       {42, kHex | kInt | kBase, /*width = */ 6, "0x__2a"},
728       {42, kHex | kInt | kBase | kPos, /*width = */ 0, "0x2a"},
729       {42, kHex | kInt | kBase | kPos, /*width = */ 6, "0x__2a"},
730       {42, kHex | kInt | kUpper, /*width = */ 0, "2A"},
731       {42, kHex | kInt | kUpper, /*width = */ 6, "____2A"},
732       {42, kHex | kInt | kUpper | kPos, /*width = */ 0, "2A"},
733       {42, kHex | kInt | kUpper | kPos, /*width = */ 6, "____2A"},
734       {42, kHex | kInt | kUpper | kBase, /*width = */ 0, "0X2A"},
735       {42, kHex | kInt | kUpper | kBase, /*width = */ 6, "0X__2A"},
736       {42, kHex | kInt | kUpper | kBase | kPos, /*width = */ 0, "0X2A"},
737       {42, kHex | kInt | kUpper | kBase | kPos, /*width = */ 6, "0X__2A"},
738       {42, kHex | kRight, /*width = */ 0, "2a"},
739       {42, kHex | kRight, /*width = */ 6, "____2a"},
740       {42, kHex | kRight | kPos, /*width = */ 0, "2a"},
741       {42, kHex | kRight | kPos, /*width = */ 6, "____2a"},
742       {42, kHex | kRight | kBase, /*width = */ 0, "0x2a"},
743       {42, kHex | kRight | kBase, /*width = */ 6, "__0x2a"},
744       {42, kHex | kRight | kBase | kPos, /*width = */ 0, "0x2a"},
745       {42, kHex | kRight | kBase | kPos, /*width = */ 6, "__0x2a"},
746       {42, kHex | kRight | kUpper, /*width = */ 0, "2A"},
747       {42, kHex | kRight | kUpper, /*width = */ 6, "____2A"},
748       {42, kHex | kRight | kUpper | kPos, /*width = */ 0, "2A"},
749       {42, kHex | kRight | kUpper | kPos, /*width = */ 6, "____2A"},
750       {42, kHex | kRight | kUpper | kBase, /*width = */ 0, "0X2A"},
751       {42, kHex | kRight | kUpper | kBase, /*width = */ 6, "__0X2A"},
752       {42, kHex | kRight | kUpper | kBase | kPos, /*width = */ 0, "0X2A"},
753       {42, kHex | kRight | kUpper | kBase | kPos, /*width = */ 6, "__0X2A"},
754       {-321, std::ios_base::fmtflags(), /*width = */ 0, "-321"},
755       {-321, std::ios_base::fmtflags(), /*width = */ 6, "__-321"},
756       {-321, kPos, /*width = */ 0, "-321"},
757       {-321, kPos, /*width = */ 6, "__-321"},
758       {-321, kBase, /*width = */ 0, "-321"},
759       {-321, kBase, /*width = */ 6, "__-321"},
760       {-321, kBase | kPos, /*width = */ 0, "-321"},
761       {-321, kBase | kPos, /*width = */ 6, "__-321"},
762       {-321, kUpper, /*width = */ 0, "-321"},
763       {-321, kUpper, /*width = */ 6, "__-321"},
764       {-321, kUpper | kPos, /*width = */ 0, "-321"},
765       {-321, kUpper | kPos, /*width = */ 6, "__-321"},
766       {-321, kUpper | kBase, /*width = */ 0, "-321"},
767       {-321, kUpper | kBase, /*width = */ 6, "__-321"},
768       {-321, kUpper | kBase | kPos, /*width = */ 0, "-321"},
769       {-321, kUpper | kBase | kPos, /*width = */ 6, "__-321"},
770       {-321, kLeft, /*width = */ 0, "-321"},
771       {-321, kLeft, /*width = */ 6, "-321__"},
772       {-321, kLeft | kPos, /*width = */ 0, "-321"},
773       {-321, kLeft | kPos, /*width = */ 6, "-321__"},
774       {-321, kLeft | kBase, /*width = */ 0, "-321"},
775       {-321, kLeft | kBase, /*width = */ 6, "-321__"},
776       {-321, kLeft | kBase | kPos, /*width = */ 0, "-321"},
777       {-321, kLeft | kBase | kPos, /*width = */ 6, "-321__"},
778       {-321, kLeft | kUpper, /*width = */ 0, "-321"},
779       {-321, kLeft | kUpper, /*width = */ 6, "-321__"},
780       {-321, kLeft | kUpper | kPos, /*width = */ 0, "-321"},
781       {-321, kLeft | kUpper | kPos, /*width = */ 6, "-321__"},
782       {-321, kLeft | kUpper | kBase, /*width = */ 0, "-321"},
783       {-321, kLeft | kUpper | kBase, /*width = */ 6, "-321__"},
784       {-321, kLeft | kUpper | kBase | kPos, /*width = */ 0, "-321"},
785       {-321, kLeft | kUpper | kBase | kPos, /*width = */ 6, "-321__"},
786       {-321, kInt, /*width = */ 0, "-321"},
787       {-321, kInt, /*width = */ 6, "-__321"},
788       {-321, kInt | kPos, /*width = */ 0, "-321"},
789       {-321, kInt | kPos, /*width = */ 6, "-__321"},
790       {-321, kInt | kBase, /*width = */ 0, "-321"},
791       {-321, kInt | kBase, /*width = */ 6, "-__321"},
792       {-321, kInt | kBase | kPos, /*width = */ 0, "-321"},
793       {-321, kInt | kBase | kPos, /*width = */ 6, "-__321"},
794       {-321, kInt | kUpper, /*width = */ 0, "-321"},
795       {-321, kInt | kUpper, /*width = */ 6, "-__321"},
796       {-321, kInt | kUpper | kPos, /*width = */ 0, "-321"},
797       {-321, kInt | kUpper | kPos, /*width = */ 6, "-__321"},
798       {-321, kInt | kUpper | kBase, /*width = */ 0, "-321"},
799       {-321, kInt | kUpper | kBase, /*width = */ 6, "-__321"},
800       {-321, kInt | kUpper | kBase | kPos, /*width = */ 0, "-321"},
801       {-321, kInt | kUpper | kBase | kPos, /*width = */ 6, "-__321"},
802       {-321, kRight, /*width = */ 0, "-321"},
803       {-321, kRight, /*width = */ 6, "__-321"},
804       {-321, kRight | kPos, /*width = */ 0, "-321"},
805       {-321, kRight | kPos, /*width = */ 6, "__-321"},
806       {-321, kRight | kBase, /*width = */ 0, "-321"},
807       {-321, kRight | kBase, /*width = */ 6, "__-321"},
808       {-321, kRight | kBase | kPos, /*width = */ 0, "-321"},
809       {-321, kRight | kBase | kPos, /*width = */ 6, "__-321"},
810       {-321, kRight | kUpper, /*width = */ 0, "-321"},
811       {-321, kRight | kUpper, /*width = */ 6, "__-321"},
812       {-321, kRight | kUpper | kPos, /*width = */ 0, "-321"},
813       {-321, kRight | kUpper | kPos, /*width = */ 6, "__-321"},
814       {-321, kRight | kUpper | kBase, /*width = */ 0, "-321"},
815       {-321, kRight | kUpper | kBase, /*width = */ 6, "__-321"},
816       {-321, kRight | kUpper | kBase | kPos, /*width = */ 0, "-321"},
817       {-321, kRight | kUpper | kBase | kPos, /*width = */ 6, "__-321"},
818       {-321, kDec, /*width = */ 0, "-321"},
819       {-321, kDec, /*width = */ 6, "__-321"},
820       {-321, kDec | kPos, /*width = */ 0, "-321"},
821       {-321, kDec | kPos, /*width = */ 6, "__-321"},
822       {-321, kDec | kBase, /*width = */ 0, "-321"},
823       {-321, kDec | kBase, /*width = */ 6, "__-321"},
824       {-321, kDec | kBase | kPos, /*width = */ 0, "-321"},
825       {-321, kDec | kBase | kPos, /*width = */ 6, "__-321"},
826       {-321, kDec | kUpper, /*width = */ 0, "-321"},
827       {-321, kDec | kUpper, /*width = */ 6, "__-321"},
828       {-321, kDec | kUpper | kPos, /*width = */ 0, "-321"},
829       {-321, kDec | kUpper | kPos, /*width = */ 6, "__-321"},
830       {-321, kDec | kUpper | kBase, /*width = */ 0, "-321"},
831       {-321, kDec | kUpper | kBase, /*width = */ 6, "__-321"},
832       {-321, kDec | kUpper | kBase | kPos, /*width = */ 0, "-321"},
833       {-321, kDec | kUpper | kBase | kPos, /*width = */ 6, "__-321"},
834       {-321, kDec | kLeft, /*width = */ 0, "-321"},
835       {-321, kDec | kLeft, /*width = */ 6, "-321__"},
836       {-321, kDec | kLeft | kPos, /*width = */ 0, "-321"},
837       {-321, kDec | kLeft | kPos, /*width = */ 6, "-321__"},
838       {-321, kDec | kLeft | kBase, /*width = */ 0, "-321"},
839       {-321, kDec | kLeft | kBase, /*width = */ 6, "-321__"},
840       {-321, kDec | kLeft | kBase | kPos, /*width = */ 0, "-321"},
841       {-321, kDec | kLeft | kBase | kPos, /*width = */ 6, "-321__"},
842       {-321, kDec | kLeft | kUpper, /*width = */ 0, "-321"},
843       {-321, kDec | kLeft | kUpper, /*width = */ 6, "-321__"},
844       {-321, kDec | kLeft | kUpper | kPos, /*width = */ 0, "-321"},
845       {-321, kDec | kLeft | kUpper | kPos, /*width = */ 6, "-321__"},
846       {-321, kDec | kLeft | kUpper | kBase, /*width = */ 0, "-321"},
847       {-321, kDec | kLeft | kUpper | kBase, /*width = */ 6, "-321__"},
848       {-321, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 0, "-321"},
849       {-321, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 6, "-321__"},
850       {-321, kDec | kInt, /*width = */ 0, "-321"},
851       {-321, kDec | kInt, /*width = */ 6, "-__321"},
852       {-321, kDec | kInt | kPos, /*width = */ 0, "-321"},
853       {-321, kDec | kInt | kPos, /*width = */ 6, "-__321"},
854       {-321, kDec | kInt | kBase, /*width = */ 0, "-321"},
855       {-321, kDec | kInt | kBase, /*width = */ 6, "-__321"},
856       {-321, kDec | kInt | kBase | kPos, /*width = */ 0, "-321"},
857       {-321, kDec | kInt | kBase | kPos, /*width = */ 6, "-__321"},
858       {-321, kDec | kInt | kUpper, /*width = */ 0, "-321"},
859       {-321, kDec | kInt | kUpper, /*width = */ 6, "-__321"},
860       {-321, kDec | kInt | kUpper | kPos, /*width = */ 0, "-321"},
861       {-321, kDec | kInt | kUpper | kPos, /*width = */ 6, "-__321"},
862       {-321, kDec | kInt | kUpper | kBase, /*width = */ 0, "-321"},
863       {-321, kDec | kInt | kUpper | kBase, /*width = */ 6, "-__321"},
864       {-321, kDec | kInt | kUpper | kBase | kPos, /*width = */ 0, "-321"},
865       {-321, kDec | kInt | kUpper | kBase | kPos, /*width = */ 6, "-__321"},
866       {-321, kDec | kRight, /*width = */ 0, "-321"},
867       {-321, kDec | kRight, /*width = */ 6, "__-321"},
868       {-321, kDec | kRight | kPos, /*width = */ 0, "-321"},
869       {-321, kDec | kRight | kPos, /*width = */ 6, "__-321"},
870       {-321, kDec | kRight | kBase, /*width = */ 0, "-321"},
871       {-321, kDec | kRight | kBase, /*width = */ 6, "__-321"},
872       {-321, kDec | kRight | kBase | kPos, /*width = */ 0, "-321"},
873       {-321, kDec | kRight | kBase | kPos, /*width = */ 6, "__-321"},
874       {-321, kDec | kRight | kUpper, /*width = */ 0, "-321"},
875       {-321, kDec | kRight | kUpper, /*width = */ 6, "__-321"},
876       {-321, kDec | kRight | kUpper | kPos, /*width = */ 0, "-321"},
877       {-321, kDec | kRight | kUpper | kPos, /*width = */ 6, "__-321"},
878       {-321, kDec | kRight | kUpper | kBase, /*width = */ 0, "-321"},
879       {-321, kDec | kRight | kUpper | kBase, /*width = */ 6, "__-321"},
880       {-321, kDec | kRight | kUpper | kBase | kPos, /*width = */ 0, "-321"},
881       {-321, kDec | kRight | kUpper | kBase | kPos, /*width = */ 6, "__-321"}};
882 }
883 
GetUint128FormatCases()884 std::vector<Uint128TestCase> GetUint128FormatCases() {
885   return {
886       {0, std::ios_base::fmtflags(), /*width = */ 0, "0"},
887       {0, std::ios_base::fmtflags(), /*width = */ 6, "_____0"},
888       {0, kPos, /*width = */ 0, "0"},
889       {0, kPos, /*width = */ 6, "_____0"},
890       {0, kBase, /*width = */ 0, "0"},
891       {0, kBase, /*width = */ 6, "_____0"},
892       {0, kBase | kPos, /*width = */ 0, "0"},
893       {0, kBase | kPos, /*width = */ 6, "_____0"},
894       {0, kUpper, /*width = */ 0, "0"},
895       {0, kUpper, /*width = */ 6, "_____0"},
896       {0, kUpper | kPos, /*width = */ 0, "0"},
897       {0, kUpper | kPos, /*width = */ 6, "_____0"},
898       {0, kUpper | kBase, /*width = */ 0, "0"},
899       {0, kUpper | kBase, /*width = */ 6, "_____0"},
900       {0, kUpper | kBase | kPos, /*width = */ 0, "0"},
901       {0, kUpper | kBase | kPos, /*width = */ 6, "_____0"},
902       {0, kLeft, /*width = */ 0, "0"},
903       {0, kLeft, /*width = */ 6, "0_____"},
904       {0, kLeft | kPos, /*width = */ 0, "0"},
905       {0, kLeft | kPos, /*width = */ 6, "0_____"},
906       {0, kLeft | kBase, /*width = */ 0, "0"},
907       {0, kLeft | kBase, /*width = */ 6, "0_____"},
908       {0, kLeft | kBase | kPos, /*width = */ 0, "0"},
909       {0, kLeft | kBase | kPos, /*width = */ 6, "0_____"},
910       {0, kLeft | kUpper, /*width = */ 0, "0"},
911       {0, kLeft | kUpper, /*width = */ 6, "0_____"},
912       {0, kLeft | kUpper | kPos, /*width = */ 0, "0"},
913       {0, kLeft | kUpper | kPos, /*width = */ 6, "0_____"},
914       {0, kLeft | kUpper | kBase, /*width = */ 0, "0"},
915       {0, kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
916       {0, kLeft | kUpper | kBase | kPos, /*width = */ 0, "0"},
917       {0, kLeft | kUpper | kBase | kPos, /*width = */ 6, "0_____"},
918       {0, kInt, /*width = */ 0, "0"},
919       {0, kInt, /*width = */ 6, "_____0"},
920       {0, kInt | kPos, /*width = */ 0, "0"},
921       {0, kInt | kPos, /*width = */ 6, "_____0"},
922       {0, kInt | kBase, /*width = */ 0, "0"},
923       {0, kInt | kBase, /*width = */ 6, "_____0"},
924       {0, kInt | kBase | kPos, /*width = */ 0, "0"},
925       {0, kInt | kBase | kPos, /*width = */ 6, "_____0"},
926       {0, kInt | kUpper, /*width = */ 0, "0"},
927       {0, kInt | kUpper, /*width = */ 6, "_____0"},
928       {0, kInt | kUpper | kPos, /*width = */ 0, "0"},
929       {0, kInt | kUpper | kPos, /*width = */ 6, "_____0"},
930       {0, kInt | kUpper | kBase, /*width = */ 0, "0"},
931       {0, kInt | kUpper | kBase, /*width = */ 6, "_____0"},
932       {0, kInt | kUpper | kBase | kPos, /*width = */ 0, "0"},
933       {0, kInt | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
934       {0, kRight, /*width = */ 0, "0"},
935       {0, kRight, /*width = */ 6, "_____0"},
936       {0, kRight | kPos, /*width = */ 0, "0"},
937       {0, kRight | kPos, /*width = */ 6, "_____0"},
938       {0, kRight | kBase, /*width = */ 0, "0"},
939       {0, kRight | kBase, /*width = */ 6, "_____0"},
940       {0, kRight | kBase | kPos, /*width = */ 0, "0"},
941       {0, kRight | kBase | kPos, /*width = */ 6, "_____0"},
942       {0, kRight | kUpper, /*width = */ 0, "0"},
943       {0, kRight | kUpper, /*width = */ 6, "_____0"},
944       {0, kRight | kUpper | kPos, /*width = */ 0, "0"},
945       {0, kRight | kUpper | kPos, /*width = */ 6, "_____0"},
946       {0, kRight | kUpper | kBase, /*width = */ 0, "0"},
947       {0, kRight | kUpper | kBase, /*width = */ 6, "_____0"},
948       {0, kRight | kUpper | kBase | kPos, /*width = */ 0, "0"},
949       {0, kRight | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
950       {0, kDec, /*width = */ 0, "0"},
951       {0, kDec, /*width = */ 6, "_____0"},
952       {0, kDec | kPos, /*width = */ 0, "0"},
953       {0, kDec | kPos, /*width = */ 6, "_____0"},
954       {0, kDec | kBase, /*width = */ 0, "0"},
955       {0, kDec | kBase, /*width = */ 6, "_____0"},
956       {0, kDec | kBase | kPos, /*width = */ 0, "0"},
957       {0, kDec | kBase | kPos, /*width = */ 6, "_____0"},
958       {0, kDec | kUpper, /*width = */ 0, "0"},
959       {0, kDec | kUpper, /*width = */ 6, "_____0"},
960       {0, kDec | kUpper | kPos, /*width = */ 0, "0"},
961       {0, kDec | kUpper | kPos, /*width = */ 6, "_____0"},
962       {0, kDec | kUpper | kBase, /*width = */ 0, "0"},
963       {0, kDec | kUpper | kBase, /*width = */ 6, "_____0"},
964       {0, kDec | kUpper | kBase | kPos, /*width = */ 0, "0"},
965       {0, kDec | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
966       {0, kDec | kLeft, /*width = */ 0, "0"},
967       {0, kDec | kLeft, /*width = */ 6, "0_____"},
968       {0, kDec | kLeft | kPos, /*width = */ 0, "0"},
969       {0, kDec | kLeft | kPos, /*width = */ 6, "0_____"},
970       {0, kDec | kLeft | kBase, /*width = */ 0, "0"},
971       {0, kDec | kLeft | kBase, /*width = */ 6, "0_____"},
972       {0, kDec | kLeft | kBase | kPos, /*width = */ 0, "0"},
973       {0, kDec | kLeft | kBase | kPos, /*width = */ 6, "0_____"},
974       {0, kDec | kLeft | kUpper, /*width = */ 0, "0"},
975       {0, kDec | kLeft | kUpper, /*width = */ 6, "0_____"},
976       {0, kDec | kLeft | kUpper | kPos, /*width = */ 0, "0"},
977       {0, kDec | kLeft | kUpper | kPos, /*width = */ 6, "0_____"},
978       {0, kDec | kLeft | kUpper | kBase, /*width = */ 0, "0"},
979       {0, kDec | kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
980       {0, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 0, "0"},
981       {0, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 6, "0_____"},
982       {0, kDec | kInt, /*width = */ 0, "0"},
983       {0, kDec | kInt, /*width = */ 6, "_____0"},
984       {0, kDec | kInt | kPos, /*width = */ 0, "0"},
985       {0, kDec | kInt | kPos, /*width = */ 6, "_____0"},
986       {0, kDec | kInt | kBase, /*width = */ 0, "0"},
987       {0, kDec | kInt | kBase, /*width = */ 6, "_____0"},
988       {0, kDec | kInt | kBase | kPos, /*width = */ 0, "0"},
989       {0, kDec | kInt | kBase | kPos, /*width = */ 6, "_____0"},
990       {0, kDec | kInt | kUpper, /*width = */ 0, "0"},
991       {0, kDec | kInt | kUpper, /*width = */ 6, "_____0"},
992       {0, kDec | kInt | kUpper | kPos, /*width = */ 0, "0"},
993       {0, kDec | kInt | kUpper | kPos, /*width = */ 6, "_____0"},
994       {0, kDec | kInt | kUpper | kBase, /*width = */ 0, "0"},
995       {0, kDec | kInt | kUpper | kBase, /*width = */ 6, "_____0"},
996       {0, kDec | kInt | kUpper | kBase | kPos, /*width = */ 0, "0"},
997       {0, kDec | kInt | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
998       {0, kDec | kRight, /*width = */ 0, "0"},
999       {0, kDec | kRight, /*width = */ 6, "_____0"},
1000       {0, kDec | kRight | kPos, /*width = */ 0, "0"},
1001       {0, kDec | kRight | kPos, /*width = */ 6, "_____0"},
1002       {0, kDec | kRight | kBase, /*width = */ 0, "0"},
1003       {0, kDec | kRight | kBase, /*width = */ 6, "_____0"},
1004       {0, kDec | kRight | kBase | kPos, /*width = */ 0, "0"},
1005       {0, kDec | kRight | kBase | kPos, /*width = */ 6, "_____0"},
1006       {0, kDec | kRight | kUpper, /*width = */ 0, "0"},
1007       {0, kDec | kRight | kUpper, /*width = */ 6, "_____0"},
1008       {0, kDec | kRight | kUpper | kPos, /*width = */ 0, "0"},
1009       {0, kDec | kRight | kUpper | kPos, /*width = */ 6, "_____0"},
1010       {0, kDec | kRight | kUpper | kBase, /*width = */ 0, "0"},
1011       {0, kDec | kRight | kUpper | kBase, /*width = */ 6, "_____0"},
1012       {0, kDec | kRight | kUpper | kBase | kPos, /*width = */ 0, "0"},
1013       {0, kDec | kRight | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
1014       {0, kOct, /*width = */ 0, "0"},
1015       {0, kOct, /*width = */ 6, "_____0"},
1016       {0, kOct | kPos, /*width = */ 0, "0"},
1017       {0, kOct | kPos, /*width = */ 6, "_____0"},
1018       {0, kOct | kBase, /*width = */ 0, "0"},
1019       {0, kOct | kBase, /*width = */ 6, "_____0"},
1020       {0, kOct | kBase | kPos, /*width = */ 0, "0"},
1021       {0, kOct | kBase | kPos, /*width = */ 6, "_____0"},
1022       {0, kOct | kUpper, /*width = */ 0, "0"},
1023       {0, kOct | kUpper, /*width = */ 6, "_____0"},
1024       {0, kOct | kUpper | kPos, /*width = */ 0, "0"},
1025       {0, kOct | kUpper | kPos, /*width = */ 6, "_____0"},
1026       {0, kOct | kUpper | kBase, /*width = */ 0, "0"},
1027       {0, kOct | kUpper | kBase, /*width = */ 6, "_____0"},
1028       {0, kOct | kUpper | kBase | kPos, /*width = */ 0, "0"},
1029       {0, kOct | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
1030       {0, kOct | kLeft, /*width = */ 0, "0"},
1031       {0, kOct | kLeft, /*width = */ 6, "0_____"},
1032       {0, kOct | kLeft | kPos, /*width = */ 0, "0"},
1033       {0, kOct | kLeft | kPos, /*width = */ 6, "0_____"},
1034       {0, kOct | kLeft | kBase, /*width = */ 0, "0"},
1035       {0, kOct | kLeft | kBase, /*width = */ 6, "0_____"},
1036       {0, kOct | kLeft | kBase | kPos, /*width = */ 0, "0"},
1037       {0, kOct | kLeft | kBase | kPos, /*width = */ 6, "0_____"},
1038       {0, kOct | kLeft | kUpper, /*width = */ 0, "0"},
1039       {0, kOct | kLeft | kUpper, /*width = */ 6, "0_____"},
1040       {0, kOct | kLeft | kUpper | kPos, /*width = */ 0, "0"},
1041       {0, kOct | kLeft | kUpper | kPos, /*width = */ 6, "0_____"},
1042       {0, kOct | kLeft | kUpper | kBase, /*width = */ 0, "0"},
1043       {0, kOct | kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
1044       {0, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 0, "0"},
1045       {0, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 6, "0_____"},
1046       {0, kOct | kInt, /*width = */ 0, "0"},
1047       {0, kOct | kInt, /*width = */ 6, "_____0"},
1048       {0, kOct | kInt | kPos, /*width = */ 0, "0"},
1049       {0, kOct | kInt | kPos, /*width = */ 6, "_____0"},
1050       {0, kOct | kInt | kBase, /*width = */ 0, "0"},
1051       {0, kOct | kInt | kBase, /*width = */ 6, "_____0"},
1052       {0, kOct | kInt | kBase | kPos, /*width = */ 0, "0"},
1053       {0, kOct | kInt | kBase | kPos, /*width = */ 6, "_____0"},
1054       {0, kOct | kInt | kUpper, /*width = */ 0, "0"},
1055       {0, kOct | kInt | kUpper, /*width = */ 6, "_____0"},
1056       {0, kOct | kInt | kUpper | kPos, /*width = */ 0, "0"},
1057       {0, kOct | kInt | kUpper | kPos, /*width = */ 6, "_____0"},
1058       {0, kOct | kInt | kUpper | kBase, /*width = */ 0, "0"},
1059       {0, kOct | kInt | kUpper | kBase, /*width = */ 6, "_____0"},
1060       {0, kOct | kInt | kUpper | kBase | kPos, /*width = */ 0, "0"},
1061       {0, kOct | kInt | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
1062       {0, kOct | kRight, /*width = */ 0, "0"},
1063       {0, kOct | kRight, /*width = */ 6, "_____0"},
1064       {0, kOct | kRight | kPos, /*width = */ 0, "0"},
1065       {0, kOct | kRight | kPos, /*width = */ 6, "_____0"},
1066       {0, kOct | kRight | kBase, /*width = */ 0, "0"},
1067       {0, kOct | kRight | kBase, /*width = */ 6, "_____0"},
1068       {0, kOct | kRight | kBase | kPos, /*width = */ 0, "0"},
1069       {0, kOct | kRight | kBase | kPos, /*width = */ 6, "_____0"},
1070       {0, kOct | kRight | kUpper, /*width = */ 0, "0"},
1071       {0, kOct | kRight | kUpper, /*width = */ 6, "_____0"},
1072       {0, kOct | kRight | kUpper | kPos, /*width = */ 0, "0"},
1073       {0, kOct | kRight | kUpper | kPos, /*width = */ 6, "_____0"},
1074       {0, kOct | kRight | kUpper | kBase, /*width = */ 0, "0"},
1075       {0, kOct | kRight | kUpper | kBase, /*width = */ 6, "_____0"},
1076       {0, kOct | kRight | kUpper | kBase | kPos, /*width = */ 0, "0"},
1077       {0, kOct | kRight | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
1078       {0, kHex, /*width = */ 0, "0"},
1079       {0, kHex, /*width = */ 6, "_____0"},
1080       {0, kHex | kPos, /*width = */ 0, "0"},
1081       {0, kHex | kPos, /*width = */ 6, "_____0"},
1082       {0, kHex | kBase, /*width = */ 0, "0"},
1083       {0, kHex | kBase, /*width = */ 6, "_____0"},
1084       {0, kHex | kBase | kPos, /*width = */ 0, "0"},
1085       {0, kHex | kBase | kPos, /*width = */ 6, "_____0"},
1086       {0, kHex | kUpper, /*width = */ 0, "0"},
1087       {0, kHex | kUpper, /*width = */ 6, "_____0"},
1088       {0, kHex | kUpper | kPos, /*width = */ 0, "0"},
1089       {0, kHex | kUpper | kPos, /*width = */ 6, "_____0"},
1090       {0, kHex | kUpper | kBase, /*width = */ 0, "0"},
1091       {0, kHex | kUpper | kBase, /*width = */ 6, "_____0"},
1092       {0, kHex | kUpper | kBase | kPos, /*width = */ 0, "0"},
1093       {0, kHex | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
1094       {0, kHex | kLeft, /*width = */ 0, "0"},
1095       {0, kHex | kLeft, /*width = */ 6, "0_____"},
1096       {0, kHex | kLeft | kPos, /*width = */ 0, "0"},
1097       {0, kHex | kLeft | kPos, /*width = */ 6, "0_____"},
1098       {0, kHex | kLeft | kBase, /*width = */ 0, "0"},
1099       {0, kHex | kLeft | kBase, /*width = */ 6, "0_____"},
1100       {0, kHex | kLeft | kBase | kPos, /*width = */ 0, "0"},
1101       {0, kHex | kLeft | kBase | kPos, /*width = */ 6, "0_____"},
1102       {0, kHex | kLeft | kUpper, /*width = */ 0, "0"},
1103       {0, kHex | kLeft | kUpper, /*width = */ 6, "0_____"},
1104       {0, kHex | kLeft | kUpper | kPos, /*width = */ 0, "0"},
1105       {0, kHex | kLeft | kUpper | kPos, /*width = */ 6, "0_____"},
1106       {0, kHex | kLeft | kUpper | kBase, /*width = */ 0, "0"},
1107       {0, kHex | kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
1108       {0, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 0, "0"},
1109       {0, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 6, "0_____"},
1110       {0, kHex | kInt, /*width = */ 0, "0"},
1111       {0, kHex | kInt, /*width = */ 6, "_____0"},
1112       {0, kHex | kInt | kPos, /*width = */ 0, "0"},
1113       {0, kHex | kInt | kPos, /*width = */ 6, "_____0"},
1114       {0, kHex | kInt | kBase, /*width = */ 0, "0"},
1115       {0, kHex | kInt | kBase, /*width = */ 6, "_____0"},
1116       {0, kHex | kInt | kBase | kPos, /*width = */ 0, "0"},
1117       {0, kHex | kInt | kBase | kPos, /*width = */ 6, "_____0"},
1118       {0, kHex | kInt | kUpper, /*width = */ 0, "0"},
1119       {0, kHex | kInt | kUpper, /*width = */ 6, "_____0"},
1120       {0, kHex | kInt | kUpper | kPos, /*width = */ 0, "0"},
1121       {0, kHex | kInt | kUpper | kPos, /*width = */ 6, "_____0"},
1122       {0, kHex | kInt | kUpper | kBase, /*width = */ 0, "0"},
1123       {0, kHex | kInt | kUpper | kBase, /*width = */ 6, "_____0"},
1124       {0, kHex | kInt | kUpper | kBase | kPos, /*width = */ 0, "0"},
1125       {0, kHex | kInt | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
1126       {0, kHex | kRight, /*width = */ 0, "0"},
1127       {0, kHex | kRight, /*width = */ 6, "_____0"},
1128       {0, kHex | kRight | kPos, /*width = */ 0, "0"},
1129       {0, kHex | kRight | kPos, /*width = */ 6, "_____0"},
1130       {0, kHex | kRight | kBase, /*width = */ 0, "0"},
1131       {0, kHex | kRight | kBase, /*width = */ 6, "_____0"},
1132       {0, kHex | kRight | kBase | kPos, /*width = */ 0, "0"},
1133       {0, kHex | kRight | kBase | kPos, /*width = */ 6, "_____0"},
1134       {0, kHex | kRight | kUpper, /*width = */ 0, "0"},
1135       {0, kHex | kRight | kUpper, /*width = */ 6, "_____0"},
1136       {0, kHex | kRight | kUpper | kPos, /*width = */ 0, "0"},
1137       {0, kHex | kRight | kUpper | kPos, /*width = */ 6, "_____0"},
1138       {0, kHex | kRight | kUpper | kBase, /*width = */ 0, "0"},
1139       {0, kHex | kRight | kUpper | kBase, /*width = */ 6, "_____0"},
1140       {0, kHex | kRight | kUpper | kBase | kPos, /*width = */ 0, "0"},
1141       {0, kHex | kRight | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
1142       {37, std::ios_base::fmtflags(), /*width = */ 0, "37"},
1143       {37, std::ios_base::fmtflags(), /*width = */ 6, "____37"},
1144       {37, kPos, /*width = */ 0, "37"},
1145       {37, kPos, /*width = */ 6, "____37"},
1146       {37, kBase, /*width = */ 0, "37"},
1147       {37, kBase, /*width = */ 6, "____37"},
1148       {37, kBase | kPos, /*width = */ 0, "37"},
1149       {37, kBase | kPos, /*width = */ 6, "____37"},
1150       {37, kUpper, /*width = */ 0, "37"},
1151       {37, kUpper, /*width = */ 6, "____37"},
1152       {37, kUpper | kPos, /*width = */ 0, "37"},
1153       {37, kUpper | kPos, /*width = */ 6, "____37"},
1154       {37, kUpper | kBase, /*width = */ 0, "37"},
1155       {37, kUpper | kBase, /*width = */ 6, "____37"},
1156       {37, kUpper | kBase | kPos, /*width = */ 0, "37"},
1157       {37, kUpper | kBase | kPos, /*width = */ 6, "____37"},
1158       {37, kLeft, /*width = */ 0, "37"},
1159       {37, kLeft, /*width = */ 6, "37____"},
1160       {37, kLeft | kPos, /*width = */ 0, "37"},
1161       {37, kLeft | kPos, /*width = */ 6, "37____"},
1162       {37, kLeft | kBase, /*width = */ 0, "37"},
1163       {37, kLeft | kBase, /*width = */ 6, "37____"},
1164       {37, kLeft | kBase | kPos, /*width = */ 0, "37"},
1165       {37, kLeft | kBase | kPos, /*width = */ 6, "37____"},
1166       {37, kLeft | kUpper, /*width = */ 0, "37"},
1167       {37, kLeft | kUpper, /*width = */ 6, "37____"},
1168       {37, kLeft | kUpper | kPos, /*width = */ 0, "37"},
1169       {37, kLeft | kUpper | kPos, /*width = */ 6, "37____"},
1170       {37, kLeft | kUpper | kBase, /*width = */ 0, "37"},
1171       {37, kLeft | kUpper | kBase, /*width = */ 6, "37____"},
1172       {37, kLeft | kUpper | kBase | kPos, /*width = */ 0, "37"},
1173       {37, kLeft | kUpper | kBase | kPos, /*width = */ 6, "37____"},
1174       {37, kInt, /*width = */ 0, "37"},
1175       {37, kInt, /*width = */ 6, "____37"},
1176       {37, kInt | kPos, /*width = */ 0, "37"},
1177       {37, kInt | kPos, /*width = */ 6, "____37"},
1178       {37, kInt | kBase, /*width = */ 0, "37"},
1179       {37, kInt | kBase, /*width = */ 6, "____37"},
1180       {37, kInt | kBase | kPos, /*width = */ 0, "37"},
1181       {37, kInt | kBase | kPos, /*width = */ 6, "____37"},
1182       {37, kInt | kUpper, /*width = */ 0, "37"},
1183       {37, kInt | kUpper, /*width = */ 6, "____37"},
1184       {37, kInt | kUpper | kPos, /*width = */ 0, "37"},
1185       {37, kInt | kUpper | kPos, /*width = */ 6, "____37"},
1186       {37, kInt | kUpper | kBase, /*width = */ 0, "37"},
1187       {37, kInt | kUpper | kBase, /*width = */ 6, "____37"},
1188       {37, kInt | kUpper | kBase | kPos, /*width = */ 0, "37"},
1189       {37, kInt | kUpper | kBase | kPos, /*width = */ 6, "____37"},
1190       {37, kRight, /*width = */ 0, "37"},
1191       {37, kRight, /*width = */ 6, "____37"},
1192       {37, kRight | kPos, /*width = */ 0, "37"},
1193       {37, kRight | kPos, /*width = */ 6, "____37"},
1194       {37, kRight | kBase, /*width = */ 0, "37"},
1195       {37, kRight | kBase, /*width = */ 6, "____37"},
1196       {37, kRight | kBase | kPos, /*width = */ 0, "37"},
1197       {37, kRight | kBase | kPos, /*width = */ 6, "____37"},
1198       {37, kRight | kUpper, /*width = */ 0, "37"},
1199       {37, kRight | kUpper, /*width = */ 6, "____37"},
1200       {37, kRight | kUpper | kPos, /*width = */ 0, "37"},
1201       {37, kRight | kUpper | kPos, /*width = */ 6, "____37"},
1202       {37, kRight | kUpper | kBase, /*width = */ 0, "37"},
1203       {37, kRight | kUpper | kBase, /*width = */ 6, "____37"},
1204       {37, kRight | kUpper | kBase | kPos, /*width = */ 0, "37"},
1205       {37, kRight | kUpper | kBase | kPos, /*width = */ 6, "____37"},
1206       {37, kDec, /*width = */ 0, "37"},
1207       {37, kDec, /*width = */ 6, "____37"},
1208       {37, kDec | kPos, /*width = */ 0, "37"},
1209       {37, kDec | kPos, /*width = */ 6, "____37"},
1210       {37, kDec | kBase, /*width = */ 0, "37"},
1211       {37, kDec | kBase, /*width = */ 6, "____37"},
1212       {37, kDec | kBase | kPos, /*width = */ 0, "37"},
1213       {37, kDec | kBase | kPos, /*width = */ 6, "____37"},
1214       {37, kDec | kUpper, /*width = */ 0, "37"},
1215       {37, kDec | kUpper, /*width = */ 6, "____37"},
1216       {37, kDec | kUpper | kPos, /*width = */ 0, "37"},
1217       {37, kDec | kUpper | kPos, /*width = */ 6, "____37"},
1218       {37, kDec | kUpper | kBase, /*width = */ 0, "37"},
1219       {37, kDec | kUpper | kBase, /*width = */ 6, "____37"},
1220       {37, kDec | kUpper | kBase | kPos, /*width = */ 0, "37"},
1221       {37, kDec | kUpper | kBase | kPos, /*width = */ 6, "____37"},
1222       {37, kDec | kLeft, /*width = */ 0, "37"},
1223       {37, kDec | kLeft, /*width = */ 6, "37____"},
1224       {37, kDec | kLeft | kPos, /*width = */ 0, "37"},
1225       {37, kDec | kLeft | kPos, /*width = */ 6, "37____"},
1226       {37, kDec | kLeft | kBase, /*width = */ 0, "37"},
1227       {37, kDec | kLeft | kBase, /*width = */ 6, "37____"},
1228       {37, kDec | kLeft | kBase | kPos, /*width = */ 0, "37"},
1229       {37, kDec | kLeft | kBase | kPos, /*width = */ 6, "37____"},
1230       {37, kDec | kLeft | kUpper, /*width = */ 0, "37"},
1231       {37, kDec | kLeft | kUpper, /*width = */ 6, "37____"},
1232       {37, kDec | kLeft | kUpper | kPos, /*width = */ 0, "37"},
1233       {37, kDec | kLeft | kUpper | kPos, /*width = */ 6, "37____"},
1234       {37, kDec | kLeft | kUpper | kBase, /*width = */ 0, "37"},
1235       {37, kDec | kLeft | kUpper | kBase, /*width = */ 6, "37____"},
1236       {37, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 0, "37"},
1237       {37, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 6, "37____"},
1238       {37, kDec | kInt, /*width = */ 0, "37"},
1239       {37, kDec | kInt, /*width = */ 6, "____37"},
1240       {37, kDec | kInt | kPos, /*width = */ 0, "37"},
1241       {37, kDec | kInt | kPos, /*width = */ 6, "____37"},
1242       {37, kDec | kInt | kBase, /*width = */ 0, "37"},
1243       {37, kDec | kInt | kBase, /*width = */ 6, "____37"},
1244       {37, kDec | kInt | kBase | kPos, /*width = */ 0, "37"},
1245       {37, kDec | kInt | kBase | kPos, /*width = */ 6, "____37"},
1246       {37, kDec | kInt | kUpper, /*width = */ 0, "37"},
1247       {37, kDec | kInt | kUpper, /*width = */ 6, "____37"},
1248       {37, kDec | kInt | kUpper | kPos, /*width = */ 0, "37"},
1249       {37, kDec | kInt | kUpper | kPos, /*width = */ 6, "____37"},
1250       {37, kDec | kInt | kUpper | kBase, /*width = */ 0, "37"},
1251       {37, kDec | kInt | kUpper | kBase, /*width = */ 6, "____37"},
1252       {37, kDec | kInt | kUpper | kBase | kPos, /*width = */ 0, "37"},
1253       {37, kDec | kInt | kUpper | kBase | kPos, /*width = */ 6, "____37"},
1254       {37, kDec | kRight, /*width = */ 0, "37"},
1255       {37, kDec | kRight, /*width = */ 6, "____37"},
1256       {37, kDec | kRight | kPos, /*width = */ 0, "37"},
1257       {37, kDec | kRight | kPos, /*width = */ 6, "____37"},
1258       {37, kDec | kRight | kBase, /*width = */ 0, "37"},
1259       {37, kDec | kRight | kBase, /*width = */ 6, "____37"},
1260       {37, kDec | kRight | kBase | kPos, /*width = */ 0, "37"},
1261       {37, kDec | kRight | kBase | kPos, /*width = */ 6, "____37"},
1262       {37, kDec | kRight | kUpper, /*width = */ 0, "37"},
1263       {37, kDec | kRight | kUpper, /*width = */ 6, "____37"},
1264       {37, kDec | kRight | kUpper | kPos, /*width = */ 0, "37"},
1265       {37, kDec | kRight | kUpper | kPos, /*width = */ 6, "____37"},
1266       {37, kDec | kRight | kUpper | kBase, /*width = */ 0, "37"},
1267       {37, kDec | kRight | kUpper | kBase, /*width = */ 6, "____37"},
1268       {37, kDec | kRight | kUpper | kBase | kPos, /*width = */ 0, "37"},
1269       {37, kDec | kRight | kUpper | kBase | kPos, /*width = */ 6, "____37"},
1270       {37, kOct, /*width = */ 0, "45"},
1271       {37, kOct, /*width = */ 6, "____45"},
1272       {37, kOct | kPos, /*width = */ 0, "45"},
1273       {37, kOct | kPos, /*width = */ 6, "____45"},
1274       {37, kOct | kBase, /*width = */ 0, "045"},
1275       {37, kOct | kBase, /*width = */ 6, "___045"},
1276       {37, kOct | kBase | kPos, /*width = */ 0, "045"},
1277       {37, kOct | kBase | kPos, /*width = */ 6, "___045"},
1278       {37, kOct | kUpper, /*width = */ 0, "45"},
1279       {37, kOct | kUpper, /*width = */ 6, "____45"},
1280       {37, kOct | kUpper | kPos, /*width = */ 0, "45"},
1281       {37, kOct | kUpper | kPos, /*width = */ 6, "____45"},
1282       {37, kOct | kUpper | kBase, /*width = */ 0, "045"},
1283       {37, kOct | kUpper | kBase, /*width = */ 6, "___045"},
1284       {37, kOct | kUpper | kBase | kPos, /*width = */ 0, "045"},
1285       {37, kOct | kUpper | kBase | kPos, /*width = */ 6, "___045"},
1286       {37, kOct | kLeft, /*width = */ 0, "45"},
1287       {37, kOct | kLeft, /*width = */ 6, "45____"},
1288       {37, kOct | kLeft | kPos, /*width = */ 0, "45"},
1289       {37, kOct | kLeft | kPos, /*width = */ 6, "45____"},
1290       {37, kOct | kLeft | kBase, /*width = */ 0, "045"},
1291       {37, kOct | kLeft | kBase, /*width = */ 6, "045___"},
1292       {37, kOct | kLeft | kBase | kPos, /*width = */ 0, "045"},
1293       {37, kOct | kLeft | kBase | kPos, /*width = */ 6, "045___"},
1294       {37, kOct | kLeft | kUpper, /*width = */ 0, "45"},
1295       {37, kOct | kLeft | kUpper, /*width = */ 6, "45____"},
1296       {37, kOct | kLeft | kUpper | kPos, /*width = */ 0, "45"},
1297       {37, kOct | kLeft | kUpper | kPos, /*width = */ 6, "45____"},
1298       {37, kOct | kLeft | kUpper | kBase, /*width = */ 0, "045"},
1299       {37, kOct | kLeft | kUpper | kBase, /*width = */ 6, "045___"},
1300       {37, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 0, "045"},
1301       {37, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 6, "045___"},
1302       {37, kOct | kInt, /*width = */ 0, "45"},
1303       {37, kOct | kInt, /*width = */ 6, "____45"},
1304       {37, kOct | kInt | kPos, /*width = */ 0, "45"},
1305       {37, kOct | kInt | kPos, /*width = */ 6, "____45"},
1306       {37, kOct | kInt | kBase, /*width = */ 0, "045"},
1307       {37, kOct | kInt | kBase, /*width = */ 6, "___045"},
1308       {37, kOct | kInt | kBase | kPos, /*width = */ 0, "045"},
1309       {37, kOct | kInt | kBase | kPos, /*width = */ 6, "___045"},
1310       {37, kOct | kInt | kUpper, /*width = */ 0, "45"},
1311       {37, kOct | kInt | kUpper, /*width = */ 6, "____45"},
1312       {37, kOct | kInt | kUpper | kPos, /*width = */ 0, "45"},
1313       {37, kOct | kInt | kUpper | kPos, /*width = */ 6, "____45"},
1314       {37, kOct | kInt | kUpper | kBase, /*width = */ 0, "045"},
1315       {37, kOct | kInt | kUpper | kBase, /*width = */ 6, "___045"},
1316       {37, kOct | kInt | kUpper | kBase | kPos, /*width = */ 0, "045"},
1317       {37, kOct | kInt | kUpper | kBase | kPos, /*width = */ 6, "___045"},
1318       {37, kOct | kRight, /*width = */ 0, "45"},
1319       {37, kOct | kRight, /*width = */ 6, "____45"},
1320       {37, kOct | kRight | kPos, /*width = */ 0, "45"},
1321       {37, kOct | kRight | kPos, /*width = */ 6, "____45"},
1322       {37, kOct | kRight | kBase, /*width = */ 0, "045"},
1323       {37, kOct | kRight | kBase, /*width = */ 6, "___045"},
1324       {37, kOct | kRight | kBase | kPos, /*width = */ 0, "045"},
1325       {37, kOct | kRight | kBase | kPos, /*width = */ 6, "___045"},
1326       {37, kOct | kRight | kUpper, /*width = */ 0, "45"},
1327       {37, kOct | kRight | kUpper, /*width = */ 6, "____45"},
1328       {37, kOct | kRight | kUpper | kPos, /*width = */ 0, "45"},
1329       {37, kOct | kRight | kUpper | kPos, /*width = */ 6, "____45"},
1330       {37, kOct | kRight | kUpper | kBase, /*width = */ 0, "045"},
1331       {37, kOct | kRight | kUpper | kBase, /*width = */ 6, "___045"},
1332       {37, kOct | kRight | kUpper | kBase | kPos, /*width = */ 0, "045"},
1333       {37, kOct | kRight | kUpper | kBase | kPos, /*width = */ 6, "___045"},
1334       {37, kHex, /*width = */ 0, "25"},
1335       {37, kHex, /*width = */ 6, "____25"},
1336       {37, kHex | kPos, /*width = */ 0, "25"},
1337       {37, kHex | kPos, /*width = */ 6, "____25"},
1338       {37, kHex | kBase, /*width = */ 0, "0x25"},
1339       {37, kHex | kBase, /*width = */ 6, "__0x25"},
1340       {37, kHex | kBase | kPos, /*width = */ 0, "0x25"},
1341       {37, kHex | kBase | kPos, /*width = */ 6, "__0x25"},
1342       {37, kHex | kUpper, /*width = */ 0, "25"},
1343       {37, kHex | kUpper, /*width = */ 6, "____25"},
1344       {37, kHex | kUpper | kPos, /*width = */ 0, "25"},
1345       {37, kHex | kUpper | kPos, /*width = */ 6, "____25"},
1346       {37, kHex | kUpper | kBase, /*width = */ 0, "0X25"},
1347       {37, kHex | kUpper | kBase, /*width = */ 6, "__0X25"},
1348       {37, kHex | kUpper | kBase | kPos, /*width = */ 0, "0X25"},
1349       {37, kHex | kUpper | kBase | kPos, /*width = */ 6, "__0X25"},
1350       {37, kHex | kLeft, /*width = */ 0, "25"},
1351       {37, kHex | kLeft, /*width = */ 6, "25____"},
1352       {37, kHex | kLeft | kPos, /*width = */ 0, "25"},
1353       {37, kHex | kLeft | kPos, /*width = */ 6, "25____"},
1354       {37, kHex | kLeft | kBase, /*width = */ 0, "0x25"},
1355       {37, kHex | kLeft | kBase, /*width = */ 6, "0x25__"},
1356       {37, kHex | kLeft | kBase | kPos, /*width = */ 0, "0x25"},
1357       {37, kHex | kLeft | kBase | kPos, /*width = */ 6, "0x25__"},
1358       {37, kHex | kLeft | kUpper, /*width = */ 0, "25"},
1359       {37, kHex | kLeft | kUpper, /*width = */ 6, "25____"},
1360       {37, kHex | kLeft | kUpper | kPos, /*width = */ 0, "25"},
1361       {37, kHex | kLeft | kUpper | kPos, /*width = */ 6, "25____"},
1362       {37, kHex | kLeft | kUpper | kBase, /*width = */ 0, "0X25"},
1363       {37, kHex | kLeft | kUpper | kBase, /*width = */ 6, "0X25__"},
1364       {37, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 0, "0X25"},
1365       {37, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 6, "0X25__"},
1366       {37, kHex | kInt, /*width = */ 0, "25"},
1367       {37, kHex | kInt, /*width = */ 6, "____25"},
1368       {37, kHex | kInt | kPos, /*width = */ 0, "25"},
1369       {37, kHex | kInt | kPos, /*width = */ 6, "____25"},
1370       {37, kHex | kInt | kBase, /*width = */ 0, "0x25"},
1371       {37, kHex | kInt | kBase, /*width = */ 6, "0x__25"},
1372       {37, kHex | kInt | kBase | kPos, /*width = */ 0, "0x25"},
1373       {37, kHex | kInt | kBase | kPos, /*width = */ 6, "0x__25"},
1374       {37, kHex | kInt | kUpper, /*width = */ 0, "25"},
1375       {37, kHex | kInt | kUpper, /*width = */ 6, "____25"},
1376       {37, kHex | kInt | kUpper | kPos, /*width = */ 0, "25"},
1377       {37, kHex | kInt | kUpper | kPos, /*width = */ 6, "____25"},
1378       {37, kHex | kInt | kUpper | kBase, /*width = */ 0, "0X25"},
1379       {37, kHex | kInt | kUpper | kBase, /*width = */ 6, "0X__25"},
1380       {37, kHex | kInt | kUpper | kBase | kPos, /*width = */ 0, "0X25"},
1381       {37, kHex | kInt | kUpper | kBase | kPos, /*width = */ 6, "0X__25"},
1382       {37, kHex | kRight, /*width = */ 0, "25"},
1383       {37, kHex | kRight, /*width = */ 6, "____25"},
1384       {37, kHex | kRight | kPos, /*width = */ 0, "25"},
1385       {37, kHex | kRight | kPos, /*width = */ 6, "____25"},
1386       {37, kHex | kRight | kBase, /*width = */ 0, "0x25"},
1387       {37, kHex | kRight | kBase, /*width = */ 6, "__0x25"},
1388       {37, kHex | kRight | kBase | kPos, /*width = */ 0, "0x25"},
1389       {37, kHex | kRight | kBase | kPos, /*width = */ 6, "__0x25"},
1390       {37, kHex | kRight | kUpper, /*width = */ 0, "25"},
1391       {37, kHex | kRight | kUpper, /*width = */ 6, "____25"},
1392       {37, kHex | kRight | kUpper | kPos, /*width = */ 0, "25"},
1393       {37, kHex | kRight | kUpper | kPos, /*width = */ 6, "____25"},
1394       {37, kHex | kRight | kUpper | kBase, /*width = */ 0, "0X25"},
1395       {37, kHex | kRight | kUpper | kBase, /*width = */ 6, "__0X25"},
1396       {37, kHex | kRight | kUpper | kBase | kPos, /*width = */ 0, "0X25"},
1397       {37, kHex | kRight | kUpper | kBase | kPos, /*width = */ 6, "__0X25"}};
1398 }
1399 
1400 }  // namespace
1401