acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
BufferedInputStream.h
1//#ifndef BUFFEREDINPUTSTREAM_H
2#pragma once
3//#define BUFFEREDINPUTSTREAM_H
4
5#include "acme/input_output/DataInputStream.h"
7
8//namespace subsystem
9//{
10 class CLASS_DECL_ACME BufferedInputStream :
11 virtual public InputStream
12 {
13 public:
14
15
16 // protected:
17
18 memsize m_iMaximumBufferSize;
19 memsize m_iInitialBufferSize;
20
21 ::pointer < DataInputStream > m_pdatainputstream;
22
23 //::array_base<::i8> m_buffer;
24 ::memory m_buffer;
25
26 memsize m_have;
27 memsize m_pos;
28
29
30 BufferedInputStream();
31 BufferedInputStream(InputStream *input, memsize iInitialBufferSize = -1, memsize iMaximumBufferSize = -1);
32 ~BufferedInputStream() override;
33
34
35 virtual void _initialize_buffered_input_stream(InputStream *input, memsize iInitialBufferSize = -1, memsize iMaximumBufferSize = -1);
36
37
38 virtual memsize read(void *buffer, memsize len) override;
39
40 memsize available() override;
41
42
43 };
44
46//}//namespace subsystem
Definition InputStream.h:37
virtual memsize read(void *buffer, memsize len)=0
Definition memory.h:33