53 return _fseeki64(stream, offset, origin);
58 return _ftelli64(stream);
63 return fseeko(stream, offset, origin);
68 return ftello(stream);
85 virtual size_t write(
const void *ptr,
size_t size) = 0;
103 void open(
const char *filename);
104 size_t write(
const void *ptr,
size_t size)
override;
105 si64 tell()
override;
106 void flush()
override;
107 void close()
override;
144 void open(
size_t initial_size = 65536,
bool clear_mem =
false);
155 size_t write(
const void *ptr,
size_t size)
override;
177 void close()
override;
204 void write_to_file(
const char *file_name)
const;
231 void expand_storage(
size_t new_size,
bool clear_all);
273 void open(
const char *filename);
276 size_t read(
void *ptr,
size_t size)
override;
279 si64 tell()
override;
280 bool eof()
override {
return feof(
fh) != 0; }
281 void close()
override;
294 void open(
const ui8* data,
size_t size);
297 size_t read(
void *ptr,
size_t size)
override;
virtual int seek(si64 offset, enum infile_base::seek origin)=0
virtual size_t read(void *ptr, size_t size)=0
size_t get_used_size() const
Call this function to get the used size of the memory file.
si64 tell() override
Call this function to know the file size (i.e., number of bytes used to store the file).
static const size_t ALIGNED_ALLOC_MASK
size_t write(const void *ptr, size_t size) override
Call this function to write data to the memory file.
void open(size_t initial_size=65536, bool clear_mem=false)
Call this function to open a memory file.
const ui8 * get_data()
Call this function to access memory file data.
const ui8 * get_data() const
Call this function to access memory file data (for const objects)
size_t get_buf_size() const
Call this function to get the total buffer size of the memory file including unused space (this is th...
virtual size_t write(const void *ptr, size_t size)=0
virtual int seek(si64 offset, enum outfile_base::seek origin)
int ojph_fseek(FILE *stream, si64 offset, int origin)
si64 ojph_ftell(FILE *stream)