13 if (
size_t(offset) >= data.size())
15 const size_t max_size = data.size() - size_t(offset);
16 const size_t n = std::min(size, max_size);
17 std::memcpy(buffer, &data[
size_t(offset)], n);
26 const size_t end = size_t(offset) + size;
27 if (end >
data.size())
29 std::memcpy(&
data[
size_t(offset)], buffer, size);
void pwrite(const char *buffer, size_t size, int64_t offset) override
Write a range of bytes. Extend file size if necessary.
size_t pread(char *buffer, size_t size, int64_t offset) const override
Read a range of bytes.
#define JOEDB_DEBUG_ASSERT(x)
assertion tested in debug mode