diff options
author | Abseil Team <absl-team@google.com> | 2020-02-20 12:34:37 -0800 |
---|---|---|
committer | Xiaoyi Zhang <zhangxy@google.com> | 2020-02-20 15:37:22 -0500 |
commit | 914ff44510505f209d8e85a01e31f4c5fb1b6a5b (patch) | |
tree | 1214a2d25654bd73cdecf18f77798ab044beb369 /absl/strings/internal/str_format/bind.cc | |
parent | 3c814105108680997d0821077694f663693b5382 (diff) | |
download | abseil-914ff44510505f209d8e85a01e31f4c5fb1b6a5b.tar.gz abseil-914ff44510505f209d8e85a01e31f4c5fb1b6a5b.tar.bz2 abseil-914ff44510505f209d8e85a01e31f4c5fb1b6a5b.zip |
Export of internal Abseil changes
--
bffb14058bb46137d42c7a113a36b6b582997cda by Xiaoyi Zhang <zhangxy@google.com>:
Add ABSL_MUST_USE_RESULT to Status.
PiperOrigin-RevId: 296272498
--
b426fdd3b3f687d7a8aeb644925923bbab503778 by CJ Johnson <johnsoncj@google.com>:
Optimizes absl::InlinedVector::clear() by not deallocating the data, if allocated. This allows allocations to be reused.
This matches the behavior of std::vector::clear()
PiperOrigin-RevId: 296197235
--
8cb9fbfe20e749816065c1a042e84f72dac9bfc0 by CJ Johnson <johnsoncj@google.com>:
Optimizes absl::InlinedVector::clear() by not deallocating the data, if allocated. This allows allocations to be reused.
This matches the behavior of std::vector::clear()
PiperOrigin-RevId: 296058092
--
2558d3369a482879919155b6f46317ccafe0ca13 by Matthew Brown <matthewbr@google.com>:
Internal cleanup
PiperOrigin-RevId: 296025806
--
cf7ee57228534021c15ed7421df92acf6c27c9c7 by Gennadiy Rozental <rogeeff@google.com>:
Make FlagOps enum class.
We also add comments to all the functions used to invoke flag ops.
PiperOrigin-RevId: 295975809
--
74bbdbd12fbc54e9c4ebcb3005e727becf0e509d by Xiaoyi Zhang <zhangxy@google.com>:
Release `absl::Status`.
PiperOrigin-RevId: 295777662
--
3dbc622b4e2227863525da2f7de7ecbeb3ede21f by Xiaoyi Zhang <zhangxy@google.com>:
Internal change.
PiperOrigin-RevId: 295733658
--
48d74aa0ab01d611da6012b377f038d8b26c712e by Abseil Team <absl-team@google.com>:
Fix typo in container/CMakeLists.txt for container_common
PiperOrigin-RevId: 295491438
GitOrigin-RevId: bffb14058bb46137d42c7a113a36b6b582997cda
Change-Id: Ia966857b07fa7412cd6489ac37b5fa26640e4141
Diffstat (limited to 'absl/strings/internal/str_format/bind.cc')
-rw-r--r-- | absl/strings/internal/str_format/bind.cc | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/absl/strings/internal/str_format/bind.cc b/absl/strings/internal/str_format/bind.cc index 2d19b613..27522fdb 100644 --- a/absl/strings/internal/str_format/bind.cc +++ b/absl/strings/internal/str_format/bind.cc @@ -66,18 +66,22 @@ inline bool ArgContext::Bind(const UnboundConversion* unbound, return false; } - bound->set_width(width); - bound->set_precision(precision); - bound->set_flags(unbound->flags); - if (force_left) - bound->set_left(true); + FormatConversionSpecImplFriend::SetWidth(width, bound); + FormatConversionSpecImplFriend::SetPrecision(precision, bound); + + if (force_left) { + Flags flags = unbound->flags; + flags.left = true; + FormatConversionSpecImplFriend::SetFlags(flags, bound); + } else { + FormatConversionSpecImplFriend::SetFlags(unbound->flags, bound); + } } else { - bound->set_flags(unbound->flags); - bound->set_width(-1); - bound->set_precision(-1); + FormatConversionSpecImplFriend::SetFlags(unbound->flags, bound); + FormatConversionSpecImplFriend::SetWidth(-1, bound); + FormatConversionSpecImplFriend::SetPrecision(-1, bound); } - - bound->set_conv(unbound->conv); + FormatConversionSpecImplFriend::SetConversionChar(unbound->conv, bound); bound->set_arg(arg); return true; } @@ -139,7 +143,8 @@ class SummarizingConverter { UntypedFormatSpecImpl spec("%d"); std::ostringstream ss; - ss << "{" << Streamable(spec, {*bound.arg()}) << ":" << bound.flags(); + ss << "{" << Streamable(spec, {*bound.arg()}) << ":" + << FormatConversionSpecImplFriend::FlagsToString(bound); if (bound.width() >= 0) ss << bound.width(); if (bound.precision() >= 0) ss << "." << bound.precision(); ss << bound.conv() << "}"; |