2 #ifndef HOBBES_UTIL_STREAM_HPP_INCLUDED 3 #define HOBBES_UTIL_STREAM_HPP_INCLUDED 8 namespace hobbes {
namespace stream {
12 template <
typename Char =
char,
typename Traits = std::
char_traits<Char> >
15 typedef std::basic_streambuf<Char, Traits>
BaseT;
25 if (c != Traits::eof()) {
26 d->push_back((uint8_t)Traits::to_char_type(c));
28 return Traits::not_eof(c);
32 template <
typename Char =
char,
typename Traits = std::
char_traits<Char> >
45 template <
typename Char =
char,
typename Traits = std::
char_traits<Char> >
48 typedef std::basic_streambuf<Char, Traits>
BaseT;
54 BaseT::setg((
Char*)&d[0], (
Char*)&d[0], (
Char*)(&d[0] + d.size()));
59 template <
typename Char =
char,
typename Traits = std::
char_traits<Char> >
RawData * d
Definition: stream.H:22
std::basic_streambuf< Char, Traits > BaseT
Definition: stream.H:15
raw_istream(const RawData &d)
Definition: stream.H:62
Definition: pattern.H:281
raw_ostream(RawData *d)
Definition: stream.H:35
raw_istream_buffer< Char, Traits > buffer
Definition: stream.H:65
BaseT::int_type int_type
Definition: stream.H:16
raw_ostream_buffer< Char, Traits > buffer
Definition: stream.H:38
raw_ostream_buffer(RawData *d)
Definition: stream.H:19
std::vector< uint8_t > RawData
Definition: stream.H:10
int_type overflow(int_type c)
Definition: stream.H:24
BaseT::char_type char_type
Definition: stream.H:17
raw_istream_buffer(const RawData &d)
Definition: stream.H:50
std::basic_streambuf< Char, Traits > BaseT
Definition: stream.H:48