diff --git a/include/msgpack/v1/pack.hpp b/include/msgpack/v1/pack.hpp index 14da8642..677c39fa 100644 --- a/include/msgpack/v1/pack.hpp +++ b/include/msgpack/v1/pack.hpp @@ -620,31 +620,13 @@ private: void append_buffer(const char* buf, size_t len) { - append_buffer(m_stream, &Stream::write, buf, len); + append_buffer(&Stream::write, buf, len); } - template - typename enable_if< - is_same< - std::ostream& (std::ostream::*)(const char*, std::streamsize), - Write - >::value - >::type - append_buffer(S& s, Write, const char* buf, size_t len) + template + void append_buffer(Ret (Cls::*)(const char*, SizeType), const char* buf, size_t len) { - s.write(buf, static_cast(len)); - } - - template - typename enable_if< - !is_same< - std::ostream& (std::ostream::*)(const char*, std::streamsize), - Write - >::value - >::type - append_buffer(S& s, Write, const char* buf, size_t len) - { - s.write(buf, len); + m_stream.write(buf, static_cast(len)); } private: