diff --git a/fmt/ostream.h b/fmt/ostream.h index d01c1ab4..0e13a084 100644 --- a/fmt/ostream.h +++ b/fmt/ostream.h @@ -116,6 +116,7 @@ void format_arg(BasicFormatter &f, FMT_API void print(std::ostream &os, CStringRef format_str, ArgList args); FMT_VARIADIC(void, print, std::ostream &, CStringRef) +#if __cplusplus >= 201103L template typename std::enable_if< !std::is_same< @@ -139,6 +140,7 @@ operator<<(BasicWriter &writer, const T &value) { buffer.resize(buffer.size() + format_buf.size()); return writer; } +#endif } // namespace fmt #ifdef FMT_HEADER_ONLY diff --git a/test/ostream-test.cc b/test/ostream-test.cc index 8f4f6a2c..8891ae24 100644 --- a/test/ostream-test.cc +++ b/test/ostream-test.cc @@ -111,7 +111,10 @@ std::ostream &operator<<(std::ostream &os, EmptyTest) { return os << ""; } +#if __cplusplus >= 201103L struct UserDefinedTest { int i = 42; }; +#endif + std::ostream &operator<<(std::ostream &os, const UserDefinedTest &u) { return os << u.i; } @@ -134,6 +137,7 @@ TEST(OStreamTest, WriteToOStream) { EXPECT_EQ("foo", os.str()); } +#if __cplusplus >= 201103L TEST(OStreamTest, WriteUserDefinedTypeToOStream) { std::ostringstream os; fmt::MemoryWriter w; @@ -142,6 +146,7 @@ TEST(OStreamTest, WriteUserDefinedTypeToOStream) { fmt::internal::write(os, w); EXPECT_EQ("The answer is 42", os.str()); } +#endif TEST(OStreamTest, WriteToOStreamMaxSize) { std::size_t max_size = std::numeric_limits::max();