@@ -620,31 +620,13 @@ class packer {
620620
621621 void append_buffer (const char * buf, size_t len)
622622 {
623- append_buffer (m_stream, &Stream::write, buf, len);
623+ append_buffer (&Stream::write, buf, len);
624624 }
625625
626- template <typename S, typename Write>
627- typename enable_if<
628- is_same<
629- std::ostream& (std::ostream::*)(const char *, std::streamsize),
630- Write
631- >::value
632- >::type
633- append_buffer (S& s, Write, const char * buf, size_t len)
626+ template <typename Ret, typename Cls, typename SizeType>
627+ void append_buffer (Ret (Cls::*)(const char *, SizeType), const char* buf, size_t len)
634628 {
635- s.write (buf, static_cast <std::streamsize>(len));
636- }
637-
638- template <typename S, typename Write>
639- typename enable_if<
640- !is_same<
641- std::ostream& (std::ostream::*)(const char *, std::streamsize),
642- Write
643- >::value
644- >::type
645- append_buffer (S& s, Write, const char * buf, size_t len)
646- {
647- s.write (buf, len);
629+ m_stream.write (buf, static_cast <SizeType>(len));
648630 }
649631
650632private:
0 commit comments