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_API void print(std::ostream &os, CStringRef format_str, ArgList args);
|
||||||
FMT_VARIADIC(void, print, std::ostream &, CStringRef)
|
FMT_VARIADIC(void, print, std::ostream &, CStringRef)
|
||||||
|
|
||||||
|
#if __cplusplus >= 201103L
|
||||||
template<typename T, typename Char>
|
template<typename T, typename Char>
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
!std::is_same<
|
!std::is_same<
|
||||||
@ -139,6 +140,7 @@ operator<<(BasicWriter<Char> &writer, const T &value) {
|
|||||||
buffer.resize(buffer.size() + format_buf.size());
|
buffer.resize(buffer.size() + format_buf.size());
|
||||||
return writer;
|
return writer;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
} // namespace fmt
|
} // namespace fmt
|
||||||
|
|
||||||
#ifdef FMT_HEADER_ONLY
|
#ifdef FMT_HEADER_ONLY
|
||||||
|
|||||||
@ -111,7 +111,10 @@ std::ostream &operator<<(std::ostream &os, EmptyTest) {
|
|||||||
return os << "";
|
return os << "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if __cplusplus >= 201103L
|
||||||
struct UserDefinedTest { int i = 42; };
|
struct UserDefinedTest { int i = 42; };
|
||||||
|
#endif
|
||||||
|
|
||||||
std::ostream &operator<<(std::ostream &os, const UserDefinedTest &u) {
|
std::ostream &operator<<(std::ostream &os, const UserDefinedTest &u) {
|
||||||
return os << u.i;
|
return os << u.i;
|
||||||
}
|
}
|
||||||
@ -134,6 +137,7 @@ TEST(OStreamTest, WriteToOStream) {
|
|||||||
EXPECT_EQ("foo", os.str());
|
EXPECT_EQ("foo", os.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if __cplusplus >= 201103L
|
||||||
TEST(OStreamTest, WriteUserDefinedTypeToOStream) {
|
TEST(OStreamTest, WriteUserDefinedTypeToOStream) {
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
fmt::MemoryWriter w;
|
fmt::MemoryWriter w;
|
||||||
@ -142,6 +146,7 @@ TEST(OStreamTest, WriteUserDefinedTypeToOStream) {
|
|||||||
fmt::internal::write(os, w);
|
fmt::internal::write(os, w);
|
||||||
EXPECT_EQ("The answer is 42", os.str());
|
EXPECT_EQ("The answer is 42", os.str());
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
TEST(OStreamTest, WriteToOStreamMaxSize) {
|
TEST(OStreamTest, WriteToOStreamMaxSize) {
|
||||||
std::size_t max_size = std::numeric_limits<std::size_t>::max();
|
std::size_t max_size = std::numeric_limits<std::size_t>::max();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user