48 #ifndef GOOGLETEST_INCLUDE_GTEST_GTEST_MESSAGE_H_
49 #define GOOGLETEST_INCLUDE_GTEST_GTEST_MESSAGE_H_
60 #include <type_traits>
62 #include "absl/strings/has_absl_stringify.h"
63 #include "absl/strings/str_cat.h"
64 #endif // GTEST_HAS_ABSL
71 void operator<<(const testing::internal::Secret&,
int);
105 typedef std::ostream& (*BasicNarrowIoManip)(std::ostream&);
117 explicit Message(
const char* str) : ss_(new ::std::stringstream) {
126 #ifdef GTEST_HAS_ABSL
130 #endif // GTEST_HAS_ABSL
152 #ifdef GTEST_HAS_ABSL
155 template <
typename T,
162 *ss_ << absl::StrCat(val);
165 #endif // GTEST_HAS_ABSL
180 template <
typename T>
182 if (pointer ==
nullptr) {
209 #if GTEST_HAS_STD_WSTRING
213 #endif // GTEST_HAS_STD_WSTRING
219 std::string GetString()
const;
223 const std::unique_ptr< ::std::stringstream>
ss_;
227 void operator=(
const Message&);
241 template <
typename T>
243 return (
Message() << streamable).GetString();
251 #endif // GOOGLETEST_INCLUDE_GTEST_GTEST_MESSAGE_H_
GTEST_DISABLE_MSC_WARNINGS_POP_() TEST(LinkTest
Message & operator<<(const T &val)
Message(const Message &msg)
std::string StreamableToString(const T &streamable)
std::ostream & operator<<(std::ostream &os, const Expr< T > &xx)
#define GTEST_DISABLE_MSC_WARNINGS_PUSH_(warnings)
Message & operator<<(BasicNarrowIoManip val)
std::string GetString() const
Message & operator<<(T *const &pointer)
Message & operator<<(bool b)
const std::unique_ptr< ::std::stringstream > ss_