25 #ifndef CONSOLE_FORWARDER_H
26 #define CONSOLE_FORWARDER_H
32 template <
class Elem =
char,
class Tr = std::
char_traits<Elem> >
43 typedef void (*pfncb)(
const Elem *, std::streamsize _Count);
46 std::basic_ostream<Elem, Tr> &m_stream;
47 std::streambuf *m_buf;
52 : m_stream(stream), m_cb(cb)
55 m_buf = m_stream.rdbuf(
this);
61 m_stream.rdbuf(m_buf);
65 std::streamsize xsputn(
const Elem *_Ptr, std::streamsize _Count)
72 typename Tr::int_type overflow(
typename Tr::int_type v)
74 Elem ch = Tr::to_char_type(v);
76 return Tr::not_eof(v);