|
1
|
1 #pragma once
|
|
|
2
|
|
|
3 class stream_reader_buffered : public stream_reader
|
|
|
4 {
|
|
|
5 public:
|
|
|
6 stream_reader_buffered(stream_reader * p_base,t_size p_buffer);
|
|
|
7 t_size read(void * p_buffer,t_size p_bytes,abort_callback & p_abort);
|
|
|
8 private:
|
|
|
9 stream_reader * m_base;
|
|
|
10 pfc::array_t<char> m_buffer;
|
|
|
11 const char * m_bufferPtr;
|
|
|
12 size_t m_bufferRemaining;
|
|
|
13 };
|
|
|
14
|
|
|
15 class stream_writer_buffered : public stream_writer
|
|
|
16 {
|
|
|
17 public:
|
|
|
18 stream_writer_buffered(stream_writer * p_base,t_size p_buffer);
|
|
|
19
|
|
|
20 void write(const void * p_buffer,t_size p_bytes,abort_callback & p_abort);
|
|
|
21
|
|
|
22 void flush(abort_callback & p_abort);
|
|
|
23
|
|
|
24 private:
|
|
|
25 stream_writer * m_base;
|
|
|
26 pfc::array_t<char> m_buffer;
|
|
|
27 t_size m_buffer_ptr;
|
|
|
28 };
|
|
|
29
|