From ddf8e52a2918dd0ccec75d3e2426125fa3926724 Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Thu, 19 Sep 2019 09:27:34 -0700 Subject: Export of internal Abseil changes -- cf6037b985b629c253b8a87e4408c88a61baf89a by Abseil Team : Adds an example of using ABSL_DEPRECATED on a template. Without this, it's unclear where to add this annotation (e.g. before template <> or after it). PiperOrigin-RevId: 270057224 -- c53bc14dd683cc1e41c940a337001b42a0270eaf by Andy Getzendanner : Parser and unparser for command-line flags of type absl::LogSeverity. PiperOrigin-RevId: 269939999 -- d91174b02f3b213f0b26701d9d97c79f809e6fea by Abseil Team : Fix a typo. PiperOrigin-RevId: 269738777 GitOrigin-RevId: cf6037b985b629c253b8a87e4408c88a61baf89a Change-Id: I6cec3101014e4c77f4ff2edb4c91740982dbb459 --- absl/flags/marshalling.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'absl/flags/marshalling.h') diff --git a/absl/flags/marshalling.h b/absl/flags/marshalling.h index f9e2959..6d39180 100644 --- a/absl/flags/marshalling.h +++ b/absl/flags/marshalling.h @@ -33,6 +33,7 @@ // * `double` // * `std::string` // * `std::vector` +// * `absl::LogSeverity` (provided here due to dependency ordering) // // Note that support for integral types is implemented using overloads for // variable-width fundamental types (`short`, `int`, `long`, etc.). However, @@ -178,8 +179,8 @@ bool AbslParseFlag(absl::string_view, unsigned int*, std::string*); // NOLINT bool AbslParseFlag(absl::string_view, long*, std::string*); // NOLINT bool AbslParseFlag(absl::string_view, unsigned long*, std::string*); // NOLINT bool AbslParseFlag(absl::string_view, long long*, std::string*); // NOLINT -bool AbslParseFlag(absl::string_view, unsigned long long*, - std::string*); // NOLINT +bool AbslParseFlag(absl::string_view, unsigned long long*, // NOLINT + std::string*); bool AbslParseFlag(absl::string_view, float*, std::string*); bool AbslParseFlag(absl::string_view, double*, std::string*); bool AbslParseFlag(absl::string_view, std::string*, std::string*); @@ -248,6 +249,13 @@ inline std::string UnparseFlag(const T& v) { return flags_internal::Unparse(v); } +// Overloads for `absl::LogSeverity` can't (easily) appear alongside that type's +// definition because it is layered below flags. See proper documentation in +// base/log_severity.h. +enum class LogSeverity : int; +bool AbslParseFlag(absl::string_view, absl::LogSeverity*, std::string*); +std::string AbslUnparseFlag(absl::LogSeverity); + } // namespace absl #endif // ABSL_FLAGS_MARSHALLING_H_ -- cgit v1.2.3