25 virtual std::size_t
read(
char* destination, std::size_t size) = 0;
35 virtual std::size_t
read(
Writable* destination, std::size_t size) = 0;
53 virtual std::size_t
write(
const char* source, std::size_t size) = 0;
77 virtual std::uint64_t
tell() = 0;
83 virtual void seek(std::uint64_t position) = 0;
127 virtual std::uint64_t
size() = 0;
151 virtual void resize(std::uint64_t size) = 0;
Definition: Concepts.h:120
virtual std::uint64_t size()=0
Obtain size of stream in bytes.
Definition: Concepts.h:134
virtual void flush()=0
Flush the changes to filesystem.
Definition: Concepts.h:102
virtual void close()=0
Close access to the stream.
Definition: Concepts.h:114
Definition: Concepts.h:90
virtual void open()=0
Open access to the stream.
Definition: Concepts.h:14
virtual std::size_t read(char *destination, std::size_t size)=0
Read bytes from stream into the given buffer.
virtual std::size_t read(Writable *destination, std::size_t size)=0
Read bytes from this stream into the given stream.
Definition: Concepts.h:146
virtual void resize(std::uint64_t size)=0
Resize file to the requested size.
Definition: Concepts.h:70
virtual void seek(std::uint64_t position)=0
Set the current position in the stream.
virtual std::uint64_t tell()=0
Get the current position in the stream.
Definition: Concepts.h:42
virtual std::size_t write(const char *source, std::size_t size)=0
Writes bytes from the given buffer to the stream.
virtual std::size_t write(Readable *source, std::size_t size)=0
Writes bytes from the given stream to this stream.
Definition: Concepts.h:10
#define TRIOAPI
Definition: trio/Defs.h:26