28#ifndef _chunked_istream_h
29#define _chunked_istream_h
58 std::string d_error_message;
67 void m_buffer_alloc() {
69 d_buffer =
new char[d_buf_size];
99 : d_is(is), d_buf_size(size), d_buffer(0), d_twiddle_bytes(false), d_set_twiddle(false), d_error(false) {
101 throw std::out_of_range(
102 "A chunked_outbuf (or chunked_ostream) was built using a buffer larger than 0x00ffffff");
117 bool error()
const {
return d_error; }
123 virtual std::streamsize
xsgetn(
char *s, std::streamsize num);
std::string error_message() const
chunked_inbuf(std::istream &is, int size)
Build a chunked input buffer.
bool twiddle_bytes() const
virtual int_type underflow()
Insert new characters into the buffer This specialization of underflow is called when the gptr() is a...
int_type read_next_chunk()
Read a chunk Normally the chunked nature of a chunked_istream/chunked_inbuf is hidden from the caller...
virtual std::streamsize xsgetn(char *s, std::streamsize num)
Read a block of data This specialization of xsgetn() reads num bytes and puts them in s first reading...
int bytes_in_buffer() const
chunked_istream(std::istream &is, int size)
std::string error_message() const
bool twiddle_bytes() const
int bytes_in_buffer() const
top level DAP object to house generic methods