int128_stream_test.cc
Go to the documentation of this file.
00001 // Copyright 2017 The Abseil Authors.
00002 //
00003 // Licensed under the Apache License, Version 2.0 (the "License");
00004 // you may not use this file except in compliance with the License.
00005 // You may obtain a copy of the License at
00006 //
00007 //      https://www.apache.org/licenses/LICENSE-2.0
00008 //
00009 // Unless required by applicable law or agreed to in writing, software
00010 // distributed under the License is distributed on an "AS IS" BASIS,
00011 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00012 // See the License for the specific language governing permissions and
00013 // limitations under the License.
00014 
00015 #include "absl/numeric/int128.h"
00016 
00017 #include <sstream>
00018 #include <string>
00019 
00020 #include "gtest/gtest.h"
00021 
00022 namespace {
00023 
00024 struct Uint128TestCase {
00025   absl::uint128 value;
00026   std::ios_base::fmtflags flags;
00027   std::streamsize width;
00028   const char* expected;
00029 };
00030 
00031 constexpr char kFill = '_';
00032 
00033 std::string StreamFormatToString(std::ios_base::fmtflags flags,
00034                                  std::streamsize width) {
00035   std::vector<const char*> flagstr;
00036   switch (flags & std::ios::basefield) {
00037     case std::ios::dec:
00038       flagstr.push_back("std::ios::dec");
00039       break;
00040     case std::ios::oct:
00041       flagstr.push_back("std::ios::oct");
00042       break;
00043     case std::ios::hex:
00044       flagstr.push_back("std::ios::hex");
00045       break;
00046     default:  // basefield not specified
00047       break;
00048   }
00049   switch (flags & std::ios::adjustfield) {
00050     case std::ios::left:
00051       flagstr.push_back("std::ios::left");
00052       break;
00053     case std::ios::internal:
00054       flagstr.push_back("std::ios::internal");
00055       break;
00056     case std::ios::right:
00057       flagstr.push_back("std::ios::right");
00058       break;
00059     default:  // adjustfield not specified
00060       break;
00061   }
00062   if (flags & std::ios::uppercase) flagstr.push_back("std::ios::uppercase");
00063   if (flags & std::ios::showbase) flagstr.push_back("std::ios::showbase");
00064   if (flags & std::ios::showpos) flagstr.push_back("std::ios::showpos");
00065 
00066   std::ostringstream msg;
00067   msg << "\n  StreamFormatToString(test_case.flags, test_case.width)\n    "
00068          "flags: ";
00069   if (!flagstr.empty()) {
00070     for (size_t i = 0; i < flagstr.size() - 1; ++i) msg << flagstr[i] << " | ";
00071     msg << flagstr.back();
00072   } else {
00073     msg << "(default)";
00074   }
00075   msg << "\n    width: " << width << "\n    fill: '" << kFill << "'";
00076   return msg.str();
00077 }
00078 
00079 void CheckUint128Case(const Uint128TestCase& test_case) {
00080   std::ostringstream os;
00081   os.flags(test_case.flags);
00082   os.width(test_case.width);
00083   os.fill(kFill);
00084   os << test_case.value;
00085   SCOPED_TRACE(StreamFormatToString(test_case.flags, test_case.width));
00086   EXPECT_EQ(test_case.expected, os.str());
00087 }
00088 
00089 constexpr std::ios::fmtflags kDec = std::ios::dec;
00090 constexpr std::ios::fmtflags kOct = std::ios::oct;
00091 constexpr std::ios::fmtflags kHex = std::ios::hex;
00092 constexpr std::ios::fmtflags kLeft = std::ios::left;
00093 constexpr std::ios::fmtflags kInt = std::ios::internal;
00094 constexpr std::ios::fmtflags kRight = std::ios::right;
00095 constexpr std::ios::fmtflags kUpper = std::ios::uppercase;
00096 constexpr std::ios::fmtflags kBase = std::ios::showbase;
00097 constexpr std::ios::fmtflags kPos = std::ios::showpos;
00098 
00099 TEST(Uint128, OStreamValueTest) {
00100   CheckUint128Case({1, kDec, /*width = */ 0, "1"});
00101   CheckUint128Case({1, kOct, /*width = */ 0, "1"});
00102   CheckUint128Case({1, kHex, /*width = */ 0, "1"});
00103   CheckUint128Case({9, kDec, /*width = */ 0, "9"});
00104   CheckUint128Case({9, kOct, /*width = */ 0, "11"});
00105   CheckUint128Case({9, kHex, /*width = */ 0, "9"});
00106   CheckUint128Case({12345, kDec, /*width = */ 0, "12345"});
00107   CheckUint128Case({12345, kOct, /*width = */ 0, "30071"});
00108   CheckUint128Case({12345, kHex, /*width = */ 0, "3039"});
00109   CheckUint128Case(
00110       {0x8000000000000000, kDec, /*width = */ 0, "9223372036854775808"});
00111   CheckUint128Case(
00112       {0x8000000000000000, kOct, /*width = */ 0, "1000000000000000000000"});
00113   CheckUint128Case(
00114       {0x8000000000000000, kHex, /*width = */ 0, "8000000000000000"});
00115   CheckUint128Case({std::numeric_limits<uint64_t>::max(), kDec,
00116                     /*width = */ 0, "18446744073709551615"});
00117   CheckUint128Case({std::numeric_limits<uint64_t>::max(), kOct,
00118                     /*width = */ 0, "1777777777777777777777"});
00119   CheckUint128Case({std::numeric_limits<uint64_t>::max(), kHex,
00120                     /*width = */ 0, "ffffffffffffffff"});
00121   CheckUint128Case(
00122       {absl::MakeUint128(1, 0), kDec, /*width = */ 0, "18446744073709551616"});
00123   CheckUint128Case({absl::MakeUint128(1, 0), kOct, /*width = */ 0,
00124                     "2000000000000000000000"});
00125   CheckUint128Case(
00126       {absl::MakeUint128(1, 0), kHex, /*width = */ 0, "10000000000000000"});
00127   CheckUint128Case({absl::MakeUint128(0x8000000000000000, 0), kDec,
00128                     /*width = */ 0, "170141183460469231731687303715884105728"});
00129   CheckUint128Case({absl::MakeUint128(0x8000000000000000, 0), kOct,
00130                     /*width = */ 0,
00131                     "2000000000000000000000000000000000000000000"});
00132   CheckUint128Case({absl::MakeUint128(0x8000000000000000, 0), kHex,
00133                     /*width = */ 0, "80000000000000000000000000000000"});
00134   CheckUint128Case({absl::kuint128max, kDec, /*width = */ 0,
00135                     "340282366920938463463374607431768211455"});
00136   CheckUint128Case({absl::kuint128max, kOct, /*width = */ 0,
00137                     "3777777777777777777777777777777777777777777"});
00138   CheckUint128Case({absl::kuint128max, kHex, /*width = */ 0,
00139                     "ffffffffffffffffffffffffffffffff"});
00140 }
00141 
00142 std::vector<Uint128TestCase> GetUint128FormatCases();
00143 
00144 TEST(Uint128, OStreamFormatTest) {
00145   for (const Uint128TestCase& test_case : GetUint128FormatCases()) {
00146     CheckUint128Case(test_case);
00147   }
00148 }
00149 
00150 std::vector<Uint128TestCase> GetUint128FormatCases() {
00151   return {
00152       {0, std::ios_base::fmtflags(), /*width = */ 0, "0"},
00153       {0, std::ios_base::fmtflags(), /*width = */ 6, "_____0"},
00154       {0, kPos, /*width = */ 0, "0"},
00155       {0, kPos, /*width = */ 6, "_____0"},
00156       {0, kBase, /*width = */ 0, "0"},
00157       {0, kBase, /*width = */ 6, "_____0"},
00158       {0, kBase | kPos, /*width = */ 0, "0"},
00159       {0, kBase | kPos, /*width = */ 6, "_____0"},
00160       {0, kUpper, /*width = */ 0, "0"},
00161       {0, kUpper, /*width = */ 6, "_____0"},
00162       {0, kUpper | kPos, /*width = */ 0, "0"},
00163       {0, kUpper | kPos, /*width = */ 6, "_____0"},
00164       {0, kUpper | kBase, /*width = */ 0, "0"},
00165       {0, kUpper | kBase, /*width = */ 6, "_____0"},
00166       {0, kUpper | kBase | kPos, /*width = */ 0, "0"},
00167       {0, kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00168       {0, kLeft, /*width = */ 0, "0"},
00169       {0, kLeft, /*width = */ 6, "0_____"},
00170       {0, kLeft | kPos, /*width = */ 0, "0"},
00171       {0, kLeft | kPos, /*width = */ 6, "0_____"},
00172       {0, kLeft | kBase, /*width = */ 0, "0"},
00173       {0, kLeft | kBase, /*width = */ 6, "0_____"},
00174       {0, kLeft | kBase | kPos, /*width = */ 0, "0"},
00175       {0, kLeft | kBase | kPos, /*width = */ 6, "0_____"},
00176       {0, kLeft | kUpper, /*width = */ 0, "0"},
00177       {0, kLeft | kUpper, /*width = */ 6, "0_____"},
00178       {0, kLeft | kUpper | kPos, /*width = */ 0, "0"},
00179       {0, kLeft | kUpper | kPos, /*width = */ 6, "0_____"},
00180       {0, kLeft | kUpper | kBase, /*width = */ 0, "0"},
00181       {0, kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
00182       {0, kLeft | kUpper | kBase | kPos, /*width = */ 0, "0"},
00183       {0, kLeft | kUpper | kBase | kPos, /*width = */ 6, "0_____"},
00184       {0, kInt, /*width = */ 0, "0"},
00185       {0, kInt, /*width = */ 6, "_____0"},
00186       {0, kInt | kPos, /*width = */ 0, "0"},
00187       {0, kInt | kPos, /*width = */ 6, "_____0"},
00188       {0, kInt | kBase, /*width = */ 0, "0"},
00189       {0, kInt | kBase, /*width = */ 6, "_____0"},
00190       {0, kInt | kBase | kPos, /*width = */ 0, "0"},
00191       {0, kInt | kBase | kPos, /*width = */ 6, "_____0"},
00192       {0, kInt | kUpper, /*width = */ 0, "0"},
00193       {0, kInt | kUpper, /*width = */ 6, "_____0"},
00194       {0, kInt | kUpper | kPos, /*width = */ 0, "0"},
00195       {0, kInt | kUpper | kPos, /*width = */ 6, "_____0"},
00196       {0, kInt | kUpper | kBase, /*width = */ 0, "0"},
00197       {0, kInt | kUpper | kBase, /*width = */ 6, "_____0"},
00198       {0, kInt | kUpper | kBase | kPos, /*width = */ 0, "0"},
00199       {0, kInt | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00200       {0, kRight, /*width = */ 0, "0"},
00201       {0, kRight, /*width = */ 6, "_____0"},
00202       {0, kRight | kPos, /*width = */ 0, "0"},
00203       {0, kRight | kPos, /*width = */ 6, "_____0"},
00204       {0, kRight | kBase, /*width = */ 0, "0"},
00205       {0, kRight | kBase, /*width = */ 6, "_____0"},
00206       {0, kRight | kBase | kPos, /*width = */ 0, "0"},
00207       {0, kRight | kBase | kPos, /*width = */ 6, "_____0"},
00208       {0, kRight | kUpper, /*width = */ 0, "0"},
00209       {0, kRight | kUpper, /*width = */ 6, "_____0"},
00210       {0, kRight | kUpper | kPos, /*width = */ 0, "0"},
00211       {0, kRight | kUpper | kPos, /*width = */ 6, "_____0"},
00212       {0, kRight | kUpper | kBase, /*width = */ 0, "0"},
00213       {0, kRight | kUpper | kBase, /*width = */ 6, "_____0"},
00214       {0, kRight | kUpper | kBase | kPos, /*width = */ 0, "0"},
00215       {0, kRight | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00216       {0, kDec, /*width = */ 0, "0"},
00217       {0, kDec, /*width = */ 6, "_____0"},
00218       {0, kDec | kPos, /*width = */ 0, "0"},
00219       {0, kDec | kPos, /*width = */ 6, "_____0"},
00220       {0, kDec | kBase, /*width = */ 0, "0"},
00221       {0, kDec | kBase, /*width = */ 6, "_____0"},
00222       {0, kDec | kBase | kPos, /*width = */ 0, "0"},
00223       {0, kDec | kBase | kPos, /*width = */ 6, "_____0"},
00224       {0, kDec | kUpper, /*width = */ 0, "0"},
00225       {0, kDec | kUpper, /*width = */ 6, "_____0"},
00226       {0, kDec | kUpper | kPos, /*width = */ 0, "0"},
00227       {0, kDec | kUpper | kPos, /*width = */ 6, "_____0"},
00228       {0, kDec | kUpper | kBase, /*width = */ 0, "0"},
00229       {0, kDec | kUpper | kBase, /*width = */ 6, "_____0"},
00230       {0, kDec | kUpper | kBase | kPos, /*width = */ 0, "0"},
00231       {0, kDec | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00232       {0, kDec | kLeft, /*width = */ 0, "0"},
00233       {0, kDec | kLeft, /*width = */ 6, "0_____"},
00234       {0, kDec | kLeft | kPos, /*width = */ 0, "0"},
00235       {0, kDec | kLeft | kPos, /*width = */ 6, "0_____"},
00236       {0, kDec | kLeft | kBase, /*width = */ 0, "0"},
00237       {0, kDec | kLeft | kBase, /*width = */ 6, "0_____"},
00238       {0, kDec | kLeft | kBase | kPos, /*width = */ 0, "0"},
00239       {0, kDec | kLeft | kBase | kPos, /*width = */ 6, "0_____"},
00240       {0, kDec | kLeft | kUpper, /*width = */ 0, "0"},
00241       {0, kDec | kLeft | kUpper, /*width = */ 6, "0_____"},
00242       {0, kDec | kLeft | kUpper | kPos, /*width = */ 0, "0"},
00243       {0, kDec | kLeft | kUpper | kPos, /*width = */ 6, "0_____"},
00244       {0, kDec | kLeft | kUpper | kBase, /*width = */ 0, "0"},
00245       {0, kDec | kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
00246       {0, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 0, "0"},
00247       {0, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 6, "0_____"},
00248       {0, kDec | kInt, /*width = */ 0, "0"},
00249       {0, kDec | kInt, /*width = */ 6, "_____0"},
00250       {0, kDec | kInt | kPos, /*width = */ 0, "0"},
00251       {0, kDec | kInt | kPos, /*width = */ 6, "_____0"},
00252       {0, kDec | kInt | kBase, /*width = */ 0, "0"},
00253       {0, kDec | kInt | kBase, /*width = */ 6, "_____0"},
00254       {0, kDec | kInt | kBase | kPos, /*width = */ 0, "0"},
00255       {0, kDec | kInt | kBase | kPos, /*width = */ 6, "_____0"},
00256       {0, kDec | kInt | kUpper, /*width = */ 0, "0"},
00257       {0, kDec | kInt | kUpper, /*width = */ 6, "_____0"},
00258       {0, kDec | kInt | kUpper | kPos, /*width = */ 0, "0"},
00259       {0, kDec | kInt | kUpper | kPos, /*width = */ 6, "_____0"},
00260       {0, kDec | kInt | kUpper | kBase, /*width = */ 0, "0"},
00261       {0, kDec | kInt | kUpper | kBase, /*width = */ 6, "_____0"},
00262       {0, kDec | kInt | kUpper | kBase | kPos, /*width = */ 0, "0"},
00263       {0, kDec | kInt | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00264       {0, kDec | kRight, /*width = */ 0, "0"},
00265       {0, kDec | kRight, /*width = */ 6, "_____0"},
00266       {0, kDec | kRight | kPos, /*width = */ 0, "0"},
00267       {0, kDec | kRight | kPos, /*width = */ 6, "_____0"},
00268       {0, kDec | kRight | kBase, /*width = */ 0, "0"},
00269       {0, kDec | kRight | kBase, /*width = */ 6, "_____0"},
00270       {0, kDec | kRight | kBase | kPos, /*width = */ 0, "0"},
00271       {0, kDec | kRight | kBase | kPos, /*width = */ 6, "_____0"},
00272       {0, kDec | kRight | kUpper, /*width = */ 0, "0"},
00273       {0, kDec | kRight | kUpper, /*width = */ 6, "_____0"},
00274       {0, kDec | kRight | kUpper | kPos, /*width = */ 0, "0"},
00275       {0, kDec | kRight | kUpper | kPos, /*width = */ 6, "_____0"},
00276       {0, kDec | kRight | kUpper | kBase, /*width = */ 0, "0"},
00277       {0, kDec | kRight | kUpper | kBase, /*width = */ 6, "_____0"},
00278       {0, kDec | kRight | kUpper | kBase | kPos, /*width = */ 0, "0"},
00279       {0, kDec | kRight | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00280       {0, kOct, /*width = */ 0, "0"},
00281       {0, kOct, /*width = */ 6, "_____0"},
00282       {0, kOct | kPos, /*width = */ 0, "0"},
00283       {0, kOct | kPos, /*width = */ 6, "_____0"},
00284       {0, kOct | kBase, /*width = */ 0, "0"},
00285       {0, kOct | kBase, /*width = */ 6, "_____0"},
00286       {0, kOct | kBase | kPos, /*width = */ 0, "0"},
00287       {0, kOct | kBase | kPos, /*width = */ 6, "_____0"},
00288       {0, kOct | kUpper, /*width = */ 0, "0"},
00289       {0, kOct | kUpper, /*width = */ 6, "_____0"},
00290       {0, kOct | kUpper | kPos, /*width = */ 0, "0"},
00291       {0, kOct | kUpper | kPos, /*width = */ 6, "_____0"},
00292       {0, kOct | kUpper | kBase, /*width = */ 0, "0"},
00293       {0, kOct | kUpper | kBase, /*width = */ 6, "_____0"},
00294       {0, kOct | kUpper | kBase | kPos, /*width = */ 0, "0"},
00295       {0, kOct | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00296       {0, kOct | kLeft, /*width = */ 0, "0"},
00297       {0, kOct | kLeft, /*width = */ 6, "0_____"},
00298       {0, kOct | kLeft | kPos, /*width = */ 0, "0"},
00299       {0, kOct | kLeft | kPos, /*width = */ 6, "0_____"},
00300       {0, kOct | kLeft | kBase, /*width = */ 0, "0"},
00301       {0, kOct | kLeft | kBase, /*width = */ 6, "0_____"},
00302       {0, kOct | kLeft | kBase | kPos, /*width = */ 0, "0"},
00303       {0, kOct | kLeft | kBase | kPos, /*width = */ 6, "0_____"},
00304       {0, kOct | kLeft | kUpper, /*width = */ 0, "0"},
00305       {0, kOct | kLeft | kUpper, /*width = */ 6, "0_____"},
00306       {0, kOct | kLeft | kUpper | kPos, /*width = */ 0, "0"},
00307       {0, kOct | kLeft | kUpper | kPos, /*width = */ 6, "0_____"},
00308       {0, kOct | kLeft | kUpper | kBase, /*width = */ 0, "0"},
00309       {0, kOct | kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
00310       {0, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 0, "0"},
00311       {0, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 6, "0_____"},
00312       {0, kOct | kInt, /*width = */ 0, "0"},
00313       {0, kOct | kInt, /*width = */ 6, "_____0"},
00314       {0, kOct | kInt | kPos, /*width = */ 0, "0"},
00315       {0, kOct | kInt | kPos, /*width = */ 6, "_____0"},
00316       {0, kOct | kInt | kBase, /*width = */ 0, "0"},
00317       {0, kOct | kInt | kBase, /*width = */ 6, "_____0"},
00318       {0, kOct | kInt | kBase | kPos, /*width = */ 0, "0"},
00319       {0, kOct | kInt | kBase | kPos, /*width = */ 6, "_____0"},
00320       {0, kOct | kInt | kUpper, /*width = */ 0, "0"},
00321       {0, kOct | kInt | kUpper, /*width = */ 6, "_____0"},
00322       {0, kOct | kInt | kUpper | kPos, /*width = */ 0, "0"},
00323       {0, kOct | kInt | kUpper | kPos, /*width = */ 6, "_____0"},
00324       {0, kOct | kInt | kUpper | kBase, /*width = */ 0, "0"},
00325       {0, kOct | kInt | kUpper | kBase, /*width = */ 6, "_____0"},
00326       {0, kOct | kInt | kUpper | kBase | kPos, /*width = */ 0, "0"},
00327       {0, kOct | kInt | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00328       {0, kOct | kRight, /*width = */ 0, "0"},
00329       {0, kOct | kRight, /*width = */ 6, "_____0"},
00330       {0, kOct | kRight | kPos, /*width = */ 0, "0"},
00331       {0, kOct | kRight | kPos, /*width = */ 6, "_____0"},
00332       {0, kOct | kRight | kBase, /*width = */ 0, "0"},
00333       {0, kOct | kRight | kBase, /*width = */ 6, "_____0"},
00334       {0, kOct | kRight | kBase | kPos, /*width = */ 0, "0"},
00335       {0, kOct | kRight | kBase | kPos, /*width = */ 6, "_____0"},
00336       {0, kOct | kRight | kUpper, /*width = */ 0, "0"},
00337       {0, kOct | kRight | kUpper, /*width = */ 6, "_____0"},
00338       {0, kOct | kRight | kUpper | kPos, /*width = */ 0, "0"},
00339       {0, kOct | kRight | kUpper | kPos, /*width = */ 6, "_____0"},
00340       {0, kOct | kRight | kUpper | kBase, /*width = */ 0, "0"},
00341       {0, kOct | kRight | kUpper | kBase, /*width = */ 6, "_____0"},
00342       {0, kOct | kRight | kUpper | kBase | kPos, /*width = */ 0, "0"},
00343       {0, kOct | kRight | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00344       {0, kHex, /*width = */ 0, "0"},
00345       {0, kHex, /*width = */ 6, "_____0"},
00346       {0, kHex | kPos, /*width = */ 0, "0"},
00347       {0, kHex | kPos, /*width = */ 6, "_____0"},
00348       {0, kHex | kBase, /*width = */ 0, "0"},
00349       {0, kHex | kBase, /*width = */ 6, "_____0"},
00350       {0, kHex | kBase | kPos, /*width = */ 0, "0"},
00351       {0, kHex | kBase | kPos, /*width = */ 6, "_____0"},
00352       {0, kHex | kUpper, /*width = */ 0, "0"},
00353       {0, kHex | kUpper, /*width = */ 6, "_____0"},
00354       {0, kHex | kUpper | kPos, /*width = */ 0, "0"},
00355       {0, kHex | kUpper | kPos, /*width = */ 6, "_____0"},
00356       {0, kHex | kUpper | kBase, /*width = */ 0, "0"},
00357       {0, kHex | kUpper | kBase, /*width = */ 6, "_____0"},
00358       {0, kHex | kUpper | kBase | kPos, /*width = */ 0, "0"},
00359       {0, kHex | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00360       {0, kHex | kLeft, /*width = */ 0, "0"},
00361       {0, kHex | kLeft, /*width = */ 6, "0_____"},
00362       {0, kHex | kLeft | kPos, /*width = */ 0, "0"},
00363       {0, kHex | kLeft | kPos, /*width = */ 6, "0_____"},
00364       {0, kHex | kLeft | kBase, /*width = */ 0, "0"},
00365       {0, kHex | kLeft | kBase, /*width = */ 6, "0_____"},
00366       {0, kHex | kLeft | kBase | kPos, /*width = */ 0, "0"},
00367       {0, kHex | kLeft | kBase | kPos, /*width = */ 6, "0_____"},
00368       {0, kHex | kLeft | kUpper, /*width = */ 0, "0"},
00369       {0, kHex | kLeft | kUpper, /*width = */ 6, "0_____"},
00370       {0, kHex | kLeft | kUpper | kPos, /*width = */ 0, "0"},
00371       {0, kHex | kLeft | kUpper | kPos, /*width = */ 6, "0_____"},
00372       {0, kHex | kLeft | kUpper | kBase, /*width = */ 0, "0"},
00373       {0, kHex | kLeft | kUpper | kBase, /*width = */ 6, "0_____"},
00374       {0, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 0, "0"},
00375       {0, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 6, "0_____"},
00376       {0, kHex | kInt, /*width = */ 0, "0"},
00377       {0, kHex | kInt, /*width = */ 6, "_____0"},
00378       {0, kHex | kInt | kPos, /*width = */ 0, "0"},
00379       {0, kHex | kInt | kPos, /*width = */ 6, "_____0"},
00380       {0, kHex | kInt | kBase, /*width = */ 0, "0"},
00381       {0, kHex | kInt | kBase, /*width = */ 6, "_____0"},
00382       {0, kHex | kInt | kBase | kPos, /*width = */ 0, "0"},
00383       {0, kHex | kInt | kBase | kPos, /*width = */ 6, "_____0"},
00384       {0, kHex | kInt | kUpper, /*width = */ 0, "0"},
00385       {0, kHex | kInt | kUpper, /*width = */ 6, "_____0"},
00386       {0, kHex | kInt | kUpper | kPos, /*width = */ 0, "0"},
00387       {0, kHex | kInt | kUpper | kPos, /*width = */ 6, "_____0"},
00388       {0, kHex | kInt | kUpper | kBase, /*width = */ 0, "0"},
00389       {0, kHex | kInt | kUpper | kBase, /*width = */ 6, "_____0"},
00390       {0, kHex | kInt | kUpper | kBase | kPos, /*width = */ 0, "0"},
00391       {0, kHex | kInt | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00392       {0, kHex | kRight, /*width = */ 0, "0"},
00393       {0, kHex | kRight, /*width = */ 6, "_____0"},
00394       {0, kHex | kRight | kPos, /*width = */ 0, "0"},
00395       {0, kHex | kRight | kPos, /*width = */ 6, "_____0"},
00396       {0, kHex | kRight | kBase, /*width = */ 0, "0"},
00397       {0, kHex | kRight | kBase, /*width = */ 6, "_____0"},
00398       {0, kHex | kRight | kBase | kPos, /*width = */ 0, "0"},
00399       {0, kHex | kRight | kBase | kPos, /*width = */ 6, "_____0"},
00400       {0, kHex | kRight | kUpper, /*width = */ 0, "0"},
00401       {0, kHex | kRight | kUpper, /*width = */ 6, "_____0"},
00402       {0, kHex | kRight | kUpper | kPos, /*width = */ 0, "0"},
00403       {0, kHex | kRight | kUpper | kPos, /*width = */ 6, "_____0"},
00404       {0, kHex | kRight | kUpper | kBase, /*width = */ 0, "0"},
00405       {0, kHex | kRight | kUpper | kBase, /*width = */ 6, "_____0"},
00406       {0, kHex | kRight | kUpper | kBase | kPos, /*width = */ 0, "0"},
00407       {0, kHex | kRight | kUpper | kBase | kPos, /*width = */ 6, "_____0"},
00408       {37, std::ios_base::fmtflags(), /*width = */ 0, "37"},
00409       {37, std::ios_base::fmtflags(), /*width = */ 6, "____37"},
00410       {37, kPos, /*width = */ 0, "37"},
00411       {37, kPos, /*width = */ 6, "____37"},
00412       {37, kBase, /*width = */ 0, "37"},
00413       {37, kBase, /*width = */ 6, "____37"},
00414       {37, kBase | kPos, /*width = */ 0, "37"},
00415       {37, kBase | kPos, /*width = */ 6, "____37"},
00416       {37, kUpper, /*width = */ 0, "37"},
00417       {37, kUpper, /*width = */ 6, "____37"},
00418       {37, kUpper | kPos, /*width = */ 0, "37"},
00419       {37, kUpper | kPos, /*width = */ 6, "____37"},
00420       {37, kUpper | kBase, /*width = */ 0, "37"},
00421       {37, kUpper | kBase, /*width = */ 6, "____37"},
00422       {37, kUpper | kBase | kPos, /*width = */ 0, "37"},
00423       {37, kUpper | kBase | kPos, /*width = */ 6, "____37"},
00424       {37, kLeft, /*width = */ 0, "37"},
00425       {37, kLeft, /*width = */ 6, "37____"},
00426       {37, kLeft | kPos, /*width = */ 0, "37"},
00427       {37, kLeft | kPos, /*width = */ 6, "37____"},
00428       {37, kLeft | kBase, /*width = */ 0, "37"},
00429       {37, kLeft | kBase, /*width = */ 6, "37____"},
00430       {37, kLeft | kBase | kPos, /*width = */ 0, "37"},
00431       {37, kLeft | kBase | kPos, /*width = */ 6, "37____"},
00432       {37, kLeft | kUpper, /*width = */ 0, "37"},
00433       {37, kLeft | kUpper, /*width = */ 6, "37____"},
00434       {37, kLeft | kUpper | kPos, /*width = */ 0, "37"},
00435       {37, kLeft | kUpper | kPos, /*width = */ 6, "37____"},
00436       {37, kLeft | kUpper | kBase, /*width = */ 0, "37"},
00437       {37, kLeft | kUpper | kBase, /*width = */ 6, "37____"},
00438       {37, kLeft | kUpper | kBase | kPos, /*width = */ 0, "37"},
00439       {37, kLeft | kUpper | kBase | kPos, /*width = */ 6, "37____"},
00440       {37, kInt, /*width = */ 0, "37"},
00441       {37, kInt, /*width = */ 6, "____37"},
00442       {37, kInt | kPos, /*width = */ 0, "37"},
00443       {37, kInt | kPos, /*width = */ 6, "____37"},
00444       {37, kInt | kBase, /*width = */ 0, "37"},
00445       {37, kInt | kBase, /*width = */ 6, "____37"},
00446       {37, kInt | kBase | kPos, /*width = */ 0, "37"},
00447       {37, kInt | kBase | kPos, /*width = */ 6, "____37"},
00448       {37, kInt | kUpper, /*width = */ 0, "37"},
00449       {37, kInt | kUpper, /*width = */ 6, "____37"},
00450       {37, kInt | kUpper | kPos, /*width = */ 0, "37"},
00451       {37, kInt | kUpper | kPos, /*width = */ 6, "____37"},
00452       {37, kInt | kUpper | kBase, /*width = */ 0, "37"},
00453       {37, kInt | kUpper | kBase, /*width = */ 6, "____37"},
00454       {37, kInt | kUpper | kBase | kPos, /*width = */ 0, "37"},
00455       {37, kInt | kUpper | kBase | kPos, /*width = */ 6, "____37"},
00456       {37, kRight, /*width = */ 0, "37"},
00457       {37, kRight, /*width = */ 6, "____37"},
00458       {37, kRight | kPos, /*width = */ 0, "37"},
00459       {37, kRight | kPos, /*width = */ 6, "____37"},
00460       {37, kRight | kBase, /*width = */ 0, "37"},
00461       {37, kRight | kBase, /*width = */ 6, "____37"},
00462       {37, kRight | kBase | kPos, /*width = */ 0, "37"},
00463       {37, kRight | kBase | kPos, /*width = */ 6, "____37"},
00464       {37, kRight | kUpper, /*width = */ 0, "37"},
00465       {37, kRight | kUpper, /*width = */ 6, "____37"},
00466       {37, kRight | kUpper | kPos, /*width = */ 0, "37"},
00467       {37, kRight | kUpper | kPos, /*width = */ 6, "____37"},
00468       {37, kRight | kUpper | kBase, /*width = */ 0, "37"},
00469       {37, kRight | kUpper | kBase, /*width = */ 6, "____37"},
00470       {37, kRight | kUpper | kBase | kPos, /*width = */ 0, "37"},
00471       {37, kRight | kUpper | kBase | kPos, /*width = */ 6, "____37"},
00472       {37, kDec, /*width = */ 0, "37"},
00473       {37, kDec, /*width = */ 6, "____37"},
00474       {37, kDec | kPos, /*width = */ 0, "37"},
00475       {37, kDec | kPos, /*width = */ 6, "____37"},
00476       {37, kDec | kBase, /*width = */ 0, "37"},
00477       {37, kDec | kBase, /*width = */ 6, "____37"},
00478       {37, kDec | kBase | kPos, /*width = */ 0, "37"},
00479       {37, kDec | kBase | kPos, /*width = */ 6, "____37"},
00480       {37, kDec | kUpper, /*width = */ 0, "37"},
00481       {37, kDec | kUpper, /*width = */ 6, "____37"},
00482       {37, kDec | kUpper | kPos, /*width = */ 0, "37"},
00483       {37, kDec | kUpper | kPos, /*width = */ 6, "____37"},
00484       {37, kDec | kUpper | kBase, /*width = */ 0, "37"},
00485       {37, kDec | kUpper | kBase, /*width = */ 6, "____37"},
00486       {37, kDec | kUpper | kBase | kPos, /*width = */ 0, "37"},
00487       {37, kDec | kUpper | kBase | kPos, /*width = */ 6, "____37"},
00488       {37, kDec | kLeft, /*width = */ 0, "37"},
00489       {37, kDec | kLeft, /*width = */ 6, "37____"},
00490       {37, kDec | kLeft | kPos, /*width = */ 0, "37"},
00491       {37, kDec | kLeft | kPos, /*width = */ 6, "37____"},
00492       {37, kDec | kLeft | kBase, /*width = */ 0, "37"},
00493       {37, kDec | kLeft | kBase, /*width = */ 6, "37____"},
00494       {37, kDec | kLeft | kBase | kPos, /*width = */ 0, "37"},
00495       {37, kDec | kLeft | kBase | kPos, /*width = */ 6, "37____"},
00496       {37, kDec | kLeft | kUpper, /*width = */ 0, "37"},
00497       {37, kDec | kLeft | kUpper, /*width = */ 6, "37____"},
00498       {37, kDec | kLeft | kUpper | kPos, /*width = */ 0, "37"},
00499       {37, kDec | kLeft | kUpper | kPos, /*width = */ 6, "37____"},
00500       {37, kDec | kLeft | kUpper | kBase, /*width = */ 0, "37"},
00501       {37, kDec | kLeft | kUpper | kBase, /*width = */ 6, "37____"},
00502       {37, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 0, "37"},
00503       {37, kDec | kLeft | kUpper | kBase | kPos, /*width = */ 6, "37____"},
00504       {37, kDec | kInt, /*width = */ 0, "37"},
00505       {37, kDec | kInt, /*width = */ 6, "____37"},
00506       {37, kDec | kInt | kPos, /*width = */ 0, "37"},
00507       {37, kDec | kInt | kPos, /*width = */ 6, "____37"},
00508       {37, kDec | kInt | kBase, /*width = */ 0, "37"},
00509       {37, kDec | kInt | kBase, /*width = */ 6, "____37"},
00510       {37, kDec | kInt | kBase | kPos, /*width = */ 0, "37"},
00511       {37, kDec | kInt | kBase | kPos, /*width = */ 6, "____37"},
00512       {37, kDec | kInt | kUpper, /*width = */ 0, "37"},
00513       {37, kDec | kInt | kUpper, /*width = */ 6, "____37"},
00514       {37, kDec | kInt | kUpper | kPos, /*width = */ 0, "37"},
00515       {37, kDec | kInt | kUpper | kPos, /*width = */ 6, "____37"},
00516       {37, kDec | kInt | kUpper | kBase, /*width = */ 0, "37"},
00517       {37, kDec | kInt | kUpper | kBase, /*width = */ 6, "____37"},
00518       {37, kDec | kInt | kUpper | kBase | kPos, /*width = */ 0, "37"},
00519       {37, kDec | kInt | kUpper | kBase | kPos, /*width = */ 6, "____37"},
00520       {37, kDec | kRight, /*width = */ 0, "37"},
00521       {37, kDec | kRight, /*width = */ 6, "____37"},
00522       {37, kDec | kRight | kPos, /*width = */ 0, "37"},
00523       {37, kDec | kRight | kPos, /*width = */ 6, "____37"},
00524       {37, kDec | kRight | kBase, /*width = */ 0, "37"},
00525       {37, kDec | kRight | kBase, /*width = */ 6, "____37"},
00526       {37, kDec | kRight | kBase | kPos, /*width = */ 0, "37"},
00527       {37, kDec | kRight | kBase | kPos, /*width = */ 6, "____37"},
00528       {37, kDec | kRight | kUpper, /*width = */ 0, "37"},
00529       {37, kDec | kRight | kUpper, /*width = */ 6, "____37"},
00530       {37, kDec | kRight | kUpper | kPos, /*width = */ 0, "37"},
00531       {37, kDec | kRight | kUpper | kPos, /*width = */ 6, "____37"},
00532       {37, kDec | kRight | kUpper | kBase, /*width = */ 0, "37"},
00533       {37, kDec | kRight | kUpper | kBase, /*width = */ 6, "____37"},
00534       {37, kDec | kRight | kUpper | kBase | kPos, /*width = */ 0, "37"},
00535       {37, kDec | kRight | kUpper | kBase | kPos, /*width = */ 6, "____37"},
00536       {37, kOct, /*width = */ 0, "45"},
00537       {37, kOct, /*width = */ 6, "____45"},
00538       {37, kOct | kPos, /*width = */ 0, "45"},
00539       {37, kOct | kPos, /*width = */ 6, "____45"},
00540       {37, kOct | kBase, /*width = */ 0, "045"},
00541       {37, kOct | kBase, /*width = */ 6, "___045"},
00542       {37, kOct | kBase | kPos, /*width = */ 0, "045"},
00543       {37, kOct | kBase | kPos, /*width = */ 6, "___045"},
00544       {37, kOct | kUpper, /*width = */ 0, "45"},
00545       {37, kOct | kUpper, /*width = */ 6, "____45"},
00546       {37, kOct | kUpper | kPos, /*width = */ 0, "45"},
00547       {37, kOct | kUpper | kPos, /*width = */ 6, "____45"},
00548       {37, kOct | kUpper | kBase, /*width = */ 0, "045"},
00549       {37, kOct | kUpper | kBase, /*width = */ 6, "___045"},
00550       {37, kOct | kUpper | kBase | kPos, /*width = */ 0, "045"},
00551       {37, kOct | kUpper | kBase | kPos, /*width = */ 6, "___045"},
00552       {37, kOct | kLeft, /*width = */ 0, "45"},
00553       {37, kOct | kLeft, /*width = */ 6, "45____"},
00554       {37, kOct | kLeft | kPos, /*width = */ 0, "45"},
00555       {37, kOct | kLeft | kPos, /*width = */ 6, "45____"},
00556       {37, kOct | kLeft | kBase, /*width = */ 0, "045"},
00557       {37, kOct | kLeft | kBase, /*width = */ 6, "045___"},
00558       {37, kOct | kLeft | kBase | kPos, /*width = */ 0, "045"},
00559       {37, kOct | kLeft | kBase | kPos, /*width = */ 6, "045___"},
00560       {37, kOct | kLeft | kUpper, /*width = */ 0, "45"},
00561       {37, kOct | kLeft | kUpper, /*width = */ 6, "45____"},
00562       {37, kOct | kLeft | kUpper | kPos, /*width = */ 0, "45"},
00563       {37, kOct | kLeft | kUpper | kPos, /*width = */ 6, "45____"},
00564       {37, kOct | kLeft | kUpper | kBase, /*width = */ 0, "045"},
00565       {37, kOct | kLeft | kUpper | kBase, /*width = */ 6, "045___"},
00566       {37, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 0, "045"},
00567       {37, kOct | kLeft | kUpper | kBase | kPos, /*width = */ 6, "045___"},
00568       {37, kOct | kInt, /*width = */ 0, "45"},
00569       {37, kOct | kInt, /*width = */ 6, "____45"},
00570       {37, kOct | kInt | kPos, /*width = */ 0, "45"},
00571       {37, kOct | kInt | kPos, /*width = */ 6, "____45"},
00572       {37, kOct | kInt | kBase, /*width = */ 0, "045"},
00573       {37, kOct | kInt | kBase, /*width = */ 6, "___045"},
00574       {37, kOct | kInt | kBase | kPos, /*width = */ 0, "045"},
00575       {37, kOct | kInt | kBase | kPos, /*width = */ 6, "___045"},
00576       {37, kOct | kInt | kUpper, /*width = */ 0, "45"},
00577       {37, kOct | kInt | kUpper, /*width = */ 6, "____45"},
00578       {37, kOct | kInt | kUpper | kPos, /*width = */ 0, "45"},
00579       {37, kOct | kInt | kUpper | kPos, /*width = */ 6, "____45"},
00580       {37, kOct | kInt | kUpper | kBase, /*width = */ 0, "045"},
00581       {37, kOct | kInt | kUpper | kBase, /*width = */ 6, "___045"},
00582       {37, kOct | kInt | kUpper | kBase | kPos, /*width = */ 0, "045"},
00583       {37, kOct | kInt | kUpper | kBase | kPos, /*width = */ 6, "___045"},
00584       {37, kOct | kRight, /*width = */ 0, "45"},
00585       {37, kOct | kRight, /*width = */ 6, "____45"},
00586       {37, kOct | kRight | kPos, /*width = */ 0, "45"},
00587       {37, kOct | kRight | kPos, /*width = */ 6, "____45"},
00588       {37, kOct | kRight | kBase, /*width = */ 0, "045"},
00589       {37, kOct | kRight | kBase, /*width = */ 6, "___045"},
00590       {37, kOct | kRight | kBase | kPos, /*width = */ 0, "045"},
00591       {37, kOct | kRight | kBase | kPos, /*width = */ 6, "___045"},
00592       {37, kOct | kRight | kUpper, /*width = */ 0, "45"},
00593       {37, kOct | kRight | kUpper, /*width = */ 6, "____45"},
00594       {37, kOct | kRight | kUpper | kPos, /*width = */ 0, "45"},
00595       {37, kOct | kRight | kUpper | kPos, /*width = */ 6, "____45"},
00596       {37, kOct | kRight | kUpper | kBase, /*width = */ 0, "045"},
00597       {37, kOct | kRight | kUpper | kBase, /*width = */ 6, "___045"},
00598       {37, kOct | kRight | kUpper | kBase | kPos, /*width = */ 0, "045"},
00599       {37, kOct | kRight | kUpper | kBase | kPos, /*width = */ 6, "___045"},
00600       {37, kHex, /*width = */ 0, "25"},
00601       {37, kHex, /*width = */ 6, "____25"},
00602       {37, kHex | kPos, /*width = */ 0, "25"},
00603       {37, kHex | kPos, /*width = */ 6, "____25"},
00604       {37, kHex | kBase, /*width = */ 0, "0x25"},
00605       {37, kHex | kBase, /*width = */ 6, "__0x25"},
00606       {37, kHex | kBase | kPos, /*width = */ 0, "0x25"},
00607       {37, kHex | kBase | kPos, /*width = */ 6, "__0x25"},
00608       {37, kHex | kUpper, /*width = */ 0, "25"},
00609       {37, kHex | kUpper, /*width = */ 6, "____25"},
00610       {37, kHex | kUpper | kPos, /*width = */ 0, "25"},
00611       {37, kHex | kUpper | kPos, /*width = */ 6, "____25"},
00612       {37, kHex | kUpper | kBase, /*width = */ 0, "0X25"},
00613       {37, kHex | kUpper | kBase, /*width = */ 6, "__0X25"},
00614       {37, kHex | kUpper | kBase | kPos, /*width = */ 0, "0X25"},
00615       {37, kHex | kUpper | kBase | kPos, /*width = */ 6, "__0X25"},
00616       {37, kHex | kLeft, /*width = */ 0, "25"},
00617       {37, kHex | kLeft, /*width = */ 6, "25____"},
00618       {37, kHex | kLeft | kPos, /*width = */ 0, "25"},
00619       {37, kHex | kLeft | kPos, /*width = */ 6, "25____"},
00620       {37, kHex | kLeft | kBase, /*width = */ 0, "0x25"},
00621       {37, kHex | kLeft | kBase, /*width = */ 6, "0x25__"},
00622       {37, kHex | kLeft | kBase | kPos, /*width = */ 0, "0x25"},
00623       {37, kHex | kLeft | kBase | kPos, /*width = */ 6, "0x25__"},
00624       {37, kHex | kLeft | kUpper, /*width = */ 0, "25"},
00625       {37, kHex | kLeft | kUpper, /*width = */ 6, "25____"},
00626       {37, kHex | kLeft | kUpper | kPos, /*width = */ 0, "25"},
00627       {37, kHex | kLeft | kUpper | kPos, /*width = */ 6, "25____"},
00628       {37, kHex | kLeft | kUpper | kBase, /*width = */ 0, "0X25"},
00629       {37, kHex | kLeft | kUpper | kBase, /*width = */ 6, "0X25__"},
00630       {37, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 0, "0X25"},
00631       {37, kHex | kLeft | kUpper | kBase | kPos, /*width = */ 6, "0X25__"},
00632       {37, kHex | kInt, /*width = */ 0, "25"},
00633       {37, kHex | kInt, /*width = */ 6, "____25"},
00634       {37, kHex | kInt | kPos, /*width = */ 0, "25"},
00635       {37, kHex | kInt | kPos, /*width = */ 6, "____25"},
00636       {37, kHex | kInt | kBase, /*width = */ 0, "0x25"},
00637       {37, kHex | kInt | kBase, /*width = */ 6, "0x__25"},
00638       {37, kHex | kInt | kBase | kPos, /*width = */ 0, "0x25"},
00639       {37, kHex | kInt | kBase | kPos, /*width = */ 6, "0x__25"},
00640       {37, kHex | kInt | kUpper, /*width = */ 0, "25"},
00641       {37, kHex | kInt | kUpper, /*width = */ 6, "____25"},
00642       {37, kHex | kInt | kUpper | kPos, /*width = */ 0, "25"},
00643       {37, kHex | kInt | kUpper | kPos, /*width = */ 6, "____25"},
00644       {37, kHex | kInt | kUpper | kBase, /*width = */ 0, "0X25"},
00645       {37, kHex | kInt | kUpper | kBase, /*width = */ 6, "0X__25"},
00646       {37, kHex | kInt | kUpper | kBase | kPos, /*width = */ 0, "0X25"},
00647       {37, kHex | kInt | kUpper | kBase | kPos, /*width = */ 6, "0X__25"},
00648       {37, kHex | kRight, /*width = */ 0, "25"},
00649       {37, kHex | kRight, /*width = */ 6, "____25"},
00650       {37, kHex | kRight | kPos, /*width = */ 0, "25"},
00651       {37, kHex | kRight | kPos, /*width = */ 6, "____25"},
00652       {37, kHex | kRight | kBase, /*width = */ 0, "0x25"},
00653       {37, kHex | kRight | kBase, /*width = */ 6, "__0x25"},
00654       {37, kHex | kRight | kBase | kPos, /*width = */ 0, "0x25"},
00655       {37, kHex | kRight | kBase | kPos, /*width = */ 6, "__0x25"},
00656       {37, kHex | kRight | kUpper, /*width = */ 0, "25"},
00657       {37, kHex | kRight | kUpper, /*width = */ 6, "____25"},
00658       {37, kHex | kRight | kUpper | kPos, /*width = */ 0, "25"},
00659       {37, kHex | kRight | kUpper | kPos, /*width = */ 6, "____25"},
00660       {37, kHex | kRight | kUpper | kBase, /*width = */ 0, "0X25"},
00661       {37, kHex | kRight | kUpper | kBase, /*width = */ 6, "__0X25"},
00662       {37, kHex | kRight | kUpper | kBase | kPos, /*width = */ 0, "0X25"},
00663       {37, kHex | kRight | kUpper | kBase | kPos, /*width = */ 6, "__0X25"}};
00664 }
00665 
00666 }  // namespace


abseil_cpp
Author(s):
autogenerated on Wed Jun 19 2019 19:42:15