disable ability to stream user defined types if not at least c++11
This commit is contained in:
parent
e7503fc7a2
commit
d747cc1c3d
@ -116,6 +116,7 @@ void format_arg(BasicFormatter<Char, ArgFormatter> &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 T, typename Char>
|
||||
typename std::enable_if<
|
||||
!std::is_same<
|
||||
@ -139,6 +140,7 @@ operator<<(BasicWriter<Char> &writer, const T &value) {
|
||||
buffer.resize(buffer.size() + format_buf.size());
|
||||
return writer;
|
||||
}
|
||||
#endif
|
||||
} // namespace fmt
|
||||
|
||||
#ifdef FMT_HEADER_ONLY
|
||||
|
||||
@ -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<std::size_t>::max();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user