26 #ifndef MEMORY_FILE_HPP
27 #define MEMORY_FILE_HPP
55 infinint size()
const {
return data.size(); };
59 virtual bool skippable(skippability direction,
const infinint & amount)
override {
return true; };
virtual bool skip_relative(S_I x) override
skip relatively to the current position
virtual void inherited_truncate(const infinint &pos) override
truncate file at the give offset
virtual infinint get_position() const override
get the current read/write position
memory_file()
Constructors & Destructor.
class generic_file is defined here as well as class fichierthe generic_file interface is widely used ...
contains a class that permits arbitrary large data storage
bool is_terminated() const
generic_file stored in memory
virtual void inherited_terminate() override
destructor-like call, except that it is allowed to throw exceptions
virtual U_I inherited_read(char *a, U_I size) override
implementation of read() operation
virtual bool skip_to_eof() override
skip to the end of file
arbitrary large storage structure
virtual void inherited_flush_read() override
reset internal engine, flush caches in order to read the data at current position ...
virtual bool skippable(skippability direction, const infinint &amount) override
whether the implementation is able to skip
virtual bool truncatable(const infinint &pos) const override
whether the implementation is able to truncate to the given position
virtual void inherited_sync_write() override
write down any pending data
virtual void inherited_read_ahead(const infinint &amount) override
tells the object that several calls to read() will follow to probably obtain at least the given amoun...
this is the interface class from which all other data transfer classes inherit
the arbitrary large positive integer class
virtual bool skip(const infinint &pos) override
skip at the absolute position
libdar namespace encapsulate all libdar symbols
virtual void inherited_write(const char *a, U_I size) override
implementation of the write() operation