27 #ifndef _cmnCallbackStreambuf_h
28 #define _cmnCallbackStreambuf_h
65 template<
class _element,
class _trait = std::
char_traits<_element> >
69 typedef typename std::basic_streambuf<_element, _trait>::int_type
int_type;
96 if (_trait::eq_int_type(_trait::eof(), c))
97 return (_trait::not_eof(c));
108 return _trait::not_eof(c);
115 std::streamsize todo = n;
117 std::streamsize tmp =
static_cast<std::streamsize
>(
sizeof(
Buffer)-
Idx-1);
118 std::streamsize limit = (todo < tmp) ? todo : tmp;
119 for (std::streamsize i=0; i < limit; i++) {
145 #endif // _cmnCallbackStreambuf_h
virtual int_type overflow(int_type c)
Definition: cmnCallbackStreambuf.h:93
void(* CallbackType)(const ElementType *, int len)
Definition: cmnCallbackStreambuf.h:73
Portability across compilers and operating systems tools.
_element ElementType
Definition: cmnCallbackStreambuf.h:71
CallbackType Callback
Definition: cmnCallbackStreambuf.h:86
unsigned int Idx
Definition: cmnCallbackStreambuf.h:85
ElementType Buffer[256]
Definition: cmnCallbackStreambuf.h:84
virtual int sync()
Definition: cmnCallbackStreambuf.h:137
virtual void PrintLine()
Definition: cmnCallbackStreambuf.h:89
cmnCallbackStreambuf(CallbackType func)
Definition: cmnCallbackStreambuf.h:80
virtual std::streamsize xsputn(const ElementType *s, std::streamsize n)
Definition: cmnCallbackStreambuf.h:113
std::basic_streambuf< _element, _trait >::int_type int_type
Definition: cmnCallbackStreambuf.h:69
A Streambuffer class that outputs via a callback function.
Definition: cmnCallbackStreambuf.h:66