diff options
author | Zie Weaver <zearen@google.com> | 2023-10-18 16:17:51 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2023-10-18 16:18:51 -0700 |
commit | 9687a8ea750bfcddf790372093245a1d041b21a3 (patch) | |
tree | 32c06ea4c2061d0212872cc37b73ce487b1af84c /absl/strings/has_absl_stringify_test.cc | |
parent | 7676c565eedd2581b66839c239f3825d8e381119 (diff) |
Add a template gadget to detect whether a type supports the ostream operator.
I.e. for a type `Example`, if
```
std::ostream& operator<<(std::ostream&, const Example&);
```
is declared, `absl::HasOstreamOperator<Example>::value` is `true`.
PiperOrigin-RevId: 574637891
Change-Id: I123d8f35a6e3ea894745133f7d81b1610fb475d5
Diffstat (limited to 'absl/strings/has_absl_stringify_test.cc')
-rw-r--r-- | absl/strings/has_absl_stringify_test.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/absl/strings/has_absl_stringify_test.cc b/absl/strings/has_absl_stringify_test.cc index e9915c66..59e7e1d3 100644 --- a/absl/strings/has_absl_stringify_test.cc +++ b/absl/strings/has_absl_stringify_test.cc @@ -17,6 +17,7 @@ #include <string> #include "gtest/gtest.h" +#include "absl/types/optional.h" namespace { @@ -32,6 +33,8 @@ TEST(HasAbslStringifyTest, Works) { EXPECT_FALSE(absl::HasAbslStringify<std::string>::value); EXPECT_FALSE(absl::HasAbslStringify<TypeWithoutAbslStringify>::value); EXPECT_TRUE(absl::HasAbslStringify<TypeWithAbslStringify>::value); + EXPECT_FALSE( + absl::HasAbslStringify<absl::optional<TypeWithAbslStringify>>::value); } } // namespace |