34 : res(&resource), pos(position)
54 void seek(std::ptrdiff_t offset)
60 void read(
void* destBuffer, std::size_t length);
69 char* begin =
reinterpret_cast<char*
>(&t);
70 std::reverse(begin, begin +
sizeof t);
93 : res(&resource), pos(position)
113 void seek(std::ptrdiff_t offset)
119 void write(
const void* sourceBuffer, std::size_t length);
128 const char* begin =
reinterpret_cast<const char*
>(&t);
129 std::reverse_copy(begin, begin +
sizeof t, buf);
130 write(buf,
sizeof buf);
145 #if defined(GOSU_CPP11_ENABLED)
179 virtual std::size_t
size()
const = 0;
181 virtual void resize(std::size_t newSize) = 0;
183 virtual void read(std::size_t offset, std::size_t length,
184 void* destBuffer)
const = 0;
186 virtual void write(std::size_t offset, std::size_t length,
187 const void* sourceBuffer) = 0;
193 std::vector<char> buf;
212 std::size_t
size()
const;
213 void resize(std::size_t newSize);
215 void read(std::size_t offset, std::size_t length,
216 void* destBuffer)
const;
218 void write(std::size_t offset, std::size_t length,
219 const void* sourceBuffer);
249 const GOSU_UNIQUE_PTR<Impl> pimpl;
255 std::size_t
size()
const;
256 void resize(std::size_t newSize);
257 void read(std::size_t offset, std::size_t length,
258 void* destBuffer)
const;
259 void write(std::size_t offset, std::size_t length,
260 const void* sourceBuffer);
266 void saveFile(
const Buffer& buffer,
const std::wstring& filename);
std::size_t position() const
void writePod(const T &t, ByteOrder bo=boDontCare)
Convenience function; equivalent to write(&t, sizeof t).
void write(std::size_t offset, std::size_t length, const void *sourceBuffer)
void setPosition(std::size_t value)
Writer backWriter()
Convenience: Creates a new Writer that appends data at the end of the resource.
File(const std::wstring &filename, FileMode mode=fmRead)
virtual std::size_t size() const =0
Piece of memory with the Resource interface.
T getPod(ByteOrder bo=boDontCare)
Similar to readPod(T&), but returns the read value instead.
virtual void resize(std::size_t newSize)=0
virtual void write(std::size_t offset, std::size_t length, const void *sourceBuffer)=0
void write(std::size_t offset, std::size_t length, const void *sourceBuffer)
Buffer(const Buffer &other)
Utility class that points to a specific position in a resource and offers an interface for sequential...
Writer(Resource &resource, std::size_t position)
Opens an existing file for reading; throws an exception if the file cannot be found.
Buffer & operator=(const Buffer &other)
Base class for resources.
void readPod(T &t, ByteOrder bo=boDontCare)
Convenience function; equivalent to read(&t, sizeof t).
Resource & resource() const
void setPosition(std::size_t value)
void resize(std::size_t newSize)
void resize(std::size_t newSize)
Utility class that points to a specific position in a resource and offers an interface for sequential...
File with the Resource interface.
void write(const void *sourceBuffer, std::size_t length)
Reader(const Resource &resource, std::size_t position)
void saveFile(const Buffer &buffer, const std::wstring &filename)
Creates or overwrites a file with the contents of a buffer.
void read(void *destBuffer, std::size_t length)
void read(std::size_t offset, std::size_t length, void *destBuffer) const
const ByteOrder otherByteOrder
const void * data() const
void seek(std::ptrdiff_t offset)
void loadFile(Buffer &buffer, const std::wstring &filename)
Loads a whole file into a buffer.
const ByteOrder nativeByteOrder
virtual void read(std::size_t offset, std::size_t length, void *destBuffer) const =0
Reader frontReader() const
Convenience: Creates a new Reader that reads from the start of the resource.
Opens or creates a file with writing access, but does not clear existing contents.
std::size_t position() const
const Resource & resource() const
void read(std::size_t offset, std::size_t length, void *destBuffer) const
void seek(std::ptrdiff_t offset)