From 4e2e6c5c0071e6430056a8ef0a6c8a1fe584d8ff Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Tue, 20 Mar 2018 21:10:15 -0700 Subject: Changes imported from Abseil "staging" branch: - 1320147f7597a9490562d439ecea46faa1793a24 Support Hex formatting of pointers without forcing a cast... by Jorg Brown - 13c793d6e14a52063c2d4ee327b6c976631b690e Add support for native WebAssembly llvm backend. by Abseil Team GitOrigin-RevId: 1320147f7597a9490562d439ecea46faa1793a24 Change-Id: Ibd4dbf288903ab45387932e5b11a28f5accdf166 --- absl/strings/str_cat.h | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'absl/strings/str_cat.h') diff --git a/absl/strings/str_cat.h b/absl/strings/str_cat.h index 0c33b6ccd243..e38369cab7ff 100644 --- a/absl/strings/str_cat.h +++ b/absl/strings/str_cat.h @@ -127,21 +127,32 @@ struct Hex { char fill; template - explicit Hex(Int v, PadSpec spec = absl::kNoPad, - typename std::enable_if::type* = nullptr) + explicit Hex( + Int v, PadSpec spec = absl::kNoPad, + typename std::enable_if::value>::type* = nullptr) : Hex(spec, static_cast(v)) {} template - explicit Hex(Int v, PadSpec spec = absl::kNoPad, - typename std::enable_if::type* = nullptr) + explicit Hex( + Int v, PadSpec spec = absl::kNoPad, + typename std::enable_if::value>::type* = nullptr) : Hex(spec, static_cast(v)) {} template - explicit Hex(Int v, PadSpec spec = absl::kNoPad, - typename std::enable_if::type* = nullptr) + explicit Hex( + Int v, PadSpec spec = absl::kNoPad, + typename std::enable_if::value>::type* = nullptr) : Hex(spec, static_cast(v)) {} template - explicit Hex(Int v, PadSpec spec = absl::kNoPad, - typename std::enable_if::type* = nullptr) + explicit Hex( + Int v, PadSpec spec = absl::kNoPad, + typename std::enable_if::value>::type* = nullptr) : Hex(spec, static_cast(v)) {} + template + explicit Hex(Pointee* v, PadSpec spec = absl::kNoPad) + : Hex(spec, reinterpret_cast(v)) {} private: Hex(PadSpec spec, uint64_t v) -- cgit 1.4.1