summaryrefslogtreecommitdiff
path: root/absl/status/status.h
diff options
context:
space:
mode:
authorGravatar Abseil Team <absl-team@google.com>2023-09-26 10:58:35 -0700
committerGravatar Copybara-Service <copybara-worker@google.com>2023-09-26 10:59:27 -0700
commite3114cc5744393c5d8e514d9f3323ef194f3bcb5 (patch)
tree9e94539ce7b8848334c13fc9f9bc7ce6c60ed94a /absl/status/status.h
parentf4c6246d2a67d1bf7d661a552a2f5be20211cca6 (diff)
Adds `AbslStringify` to `absl::Status` for completeness.
This also adds a test for `operator<<`. PiperOrigin-RevId: 568590367 Change-Id: Ia0ad39cb582e7d24e6c4131827818d8c4b10dfd9
Diffstat (limited to 'absl/status/status.h')
-rw-r--r--absl/status/status.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/absl/status/status.h b/absl/status/status.h
index 2f03bb64..dc37493a 100644
--- a/absl/status/status.h
+++ b/absl/status/status.h
@@ -64,7 +64,6 @@
#include "absl/functional/function_ref.h"
#include "absl/status/internal/status_internal.h"
#include "absl/strings/cord.h"
-#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
@@ -523,6 +522,12 @@ class Status final {
std::string ToString(
StatusToStringMode mode = StatusToStringMode::kDefault) const;
+ // Support `absl::StrCat`, `absl::StrFormat`, etc.
+ template <typename Sink>
+ friend void AbslStringify(Sink& sink, const Status& status) {
+ sink.Append(status.ToString(StatusToStringMode::kWithEverything));
+ }
+
// Status::IgnoreError()
//
// Ignores any errors. This method does nothing except potentially suppress