diff options
author | Abseil Team <absl-team@google.com> | 2022-08-31 12:29:19 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-08-31 12:30:01 -0700 |
commit | 6a262fdaddb6cd7df7ddc8472a1cc61cc64a01db (patch) | |
tree | cc11f9fd3f38a050846d6ef32a3273b363e6137e /absl/strings/internal/str_format/arg.h | |
parent | 72ec15a317a74cccf03a62f749f3ab28206be069 (diff) | |
download | abseil-6a262fdaddb6cd7df7ddc8472a1cc61cc64a01db.tar.gz abseil-6a262fdaddb6cd7df7ddc8472a1cc61cc64a01db.tar.bz2 abseil-6a262fdaddb6cd7df7ddc8472a1cc61cc64a01db.zip |
Adds support for "%v" in absl::StrFormat and related functions for string-like types (support for other builtin types will follow in future changes). Rather than specifying %s for strings, users may specify %v and have the format specifier deduced. Notably, %v does not work for `const char*` because we cannot be certain if %s or %p was intended (nor can we be certain if the `const char*` was properly null-terminated). If you have a `const char*` you know is null-terminated and would like to work with %v, please wrap it in a `string_view` before using it.
PiperOrigin-RevId: 471321055
Change-Id: Ifbb50082d301baecc7edc277975f12e7ad3ecc8a
Diffstat (limited to 'absl/strings/internal/str_format/arg.h')
-rw-r--r-- | absl/strings/internal/str_format/arg.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/absl/strings/internal/str_format/arg.h b/absl/strings/internal/str_format/arg.h index b9dda909..a56ca301 100644 --- a/absl/strings/internal/str_format/arg.h +++ b/absl/strings/internal/str_format/arg.h @@ -110,8 +110,8 @@ constexpr FormatConversionCharSet ExtractCharSet(ArgConvertResult<C>) { return C; } -using StringConvertResult = - ArgConvertResult<FormatConversionCharSetInternal::s>; +using StringConvertResult = ArgConvertResult<FormatConversionCharSetUnion( + FormatConversionCharSetInternal::s, FormatConversionCharSetInternal::v)>; ArgConvertResult<FormatConversionCharSetInternal::p> FormatConvertImpl( VoidPtr v, FormatConversionSpecImpl conv, FormatSinkImpl* sink); |