|
@@ -46,14 +46,16 @@ public:
|
|
|
bool eof = false;
|
|
|
|
|
|
protected:
|
|
|
+ bool readahead_enabled = true;
|
|
|
virtual uint32_t _read_buffer(char32_t *p_buffer, uint32_t p_num_chars) = 0;
|
|
|
+ virtual bool _is_eof() const = 0;
|
|
|
|
|
|
public:
|
|
|
char32_t saved = 0;
|
|
|
|
|
|
char32_t get_char();
|
|
|
virtual bool is_utf8() const = 0;
|
|
|
- bool is_eof() const { return eof; }
|
|
|
+ bool is_eof() const;
|
|
|
|
|
|
Stream() {}
|
|
|
virtual ~Stream() {}
|
|
@@ -62,13 +64,14 @@ public:
|
|
|
struct StreamFile : public Stream {
|
|
|
protected:
|
|
|
virtual uint32_t _read_buffer(char32_t *p_buffer, uint32_t p_num_chars) override;
|
|
|
+ virtual bool _is_eof() const override;
|
|
|
|
|
|
public:
|
|
|
Ref<FileAccess> f;
|
|
|
|
|
|
virtual bool is_utf8() const override;
|
|
|
|
|
|
- StreamFile() {}
|
|
|
+ StreamFile(bool p_readahead_enabled = true) { readahead_enabled = p_readahead_enabled; }
|
|
|
};
|
|
|
|
|
|
struct StreamString : public Stream {
|
|
@@ -79,10 +82,11 @@ public:
|
|
|
|
|
|
protected:
|
|
|
virtual uint32_t _read_buffer(char32_t *p_buffer, uint32_t p_num_chars) override;
|
|
|
+ virtual bool _is_eof() const override;
|
|
|
|
|
|
public:
|
|
|
virtual bool is_utf8() const override;
|
|
|
- StreamString() {}
|
|
|
+ StreamString(bool p_readahead_enabled = true) { readahead_enabled = p_readahead_enabled; }
|
|
|
};
|
|
|
|
|
|
typedef Error (*ParseResourceFunc)(void *p_self, Stream *p_stream, Ref<Resource> &r_res, int &line, String &r_err_str);
|