53 return _fseeki64(stream, offset, origin);
58 return _ftelli64(stream);
63 return fseeko(stream, offset, origin);
68 return ftello(stream);
79 OJPH_SEEK_SET = SEEK_SET,
80 OJPH_SEEK_CUR = SEEK_CUR,
81 OJPH_SEEK_END = SEEK_END
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;
216 void expand_storage(
size_t new_size,
bool clear_all);
232 OJPH_SEEK_SET = SEEK_SET,
233 OJPH_SEEK_CUR = SEEK_CUR,
234 OJPH_SEEK_END = SEEK_END
255 void open(
const char *filename);
258 size_t read(
void *ptr,
size_t size)
override;
261 si64 tell()
override;
262 bool eof()
override {
return feof(fh) != 0; }
263 void close()
override;
276 void open(
const ui8* data,
size_t size);
279 size_t read(
void *ptr,
size_t size)
override;
283 bool eof()
override {
return cur_ptr >= data +
size; }
284 void close()
override { data = cur_ptr = NULL;
size = 0; }
virtual int seek(si64 offset, enum infile_base::seek origin)=0
virtual size_t read(void *ptr, size_t size)=0
mem_outfile stores encoded j2k codestreams in memory
si64 tell() override
Call this function to know the file size (i.e., number of bytes used to store the 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)
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)