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