20 virtual
std::uint64_t
size() const noexcept = 0;
29 std::uint64_t
size() const noexcept
override {
return bytes_.size; }
31 if (offset > bytes_.size || destination.size > bytes_.size - offset
32 || (destination.size && (!bytes_.data || !destination.data)))
35 std::memmove(destination.data, bytes_.data +
static_cast<std::size_t
>(offset),
109 void* context)
const noexcept = 0;
virtual const ReportScratchIoError * carried_failure() const noexcept
virtual ScratchStatus read(std::uint64_t offset, ScratchBuffer destination) const noexcept=0
virtual std::uint64_t size() const noexcept=0
virtual ~ScratchByteSource() noexcept=default
virtual ~ScratchReadback() noexcept=default
virtual ScratchStatus visit(ScratchHandle, ScratchBuffer page, ScratchChunkVisitor, void *context) const noexcept=0
virtual std::size_t page_size() const noexcept=0
virtual ScratchStatus point(ScratchHandle, ScratchRecordInfo &info) const noexcept=0
virtual ScratchStatus read(ScratchHandle, ScratchField, std::uint64_t offset, ScratchBuffer destination) const noexcept=0
virtual const ReportScratchIoError * carried_failure() const noexcept
virtual std::uint64_t record_count() const noexcept=0
virtual ScratchStatus for_each(ScratchBuffer page, ScratchRecordVisitor, void *context) const noexcept=0
ScratchSpanSource(ScratchBytes bytes) noexcept
ScratchStatus read(std::uint64_t offset, ScratchBuffer destination) const noexcept override
std::uint64_t size() const noexcept override
bool(*)(void *, const ScratchChunkView &) noexcept ScratchChunkVisitor
std::uint64_t ScratchHandle
constexpr ScratchHandle scratch_no_handle
bool(*)(void *, const ScratchRecordView &) noexcept ScratchRecordVisitor
std::uint64_t value_bytes
const ScratchByteSource & value
const ScratchByteSource & key