Pixie
Loading...
Searching...
No Matches
pixie::SeekableBinaryOutputSink Concept Reference

Contract for an append-only output that supports checked overwrites. More...

#include <serialization.h>

Concept definition

template<class Sink>
concept pixie::SeekableBinaryOutputSink = requires(Sink& sink,
std::size_t position,
std::span<const std::byte> bytes) {
{ sink.write(bytes) } -> std::same_as<void>;
{ sink.write_at(position, bytes) } -> std::same_as<void>;
{ sink.finish() } -> std::same_as<void>;
}
Contract for an append-only output that supports checked overwrites.
Definition serialization.h:71

Detailed Description

Contract for an append-only output that supports checked overwrites.

A sink starts empty. write() appends all bytes or throws; write_at() replaces bytes within the already-written prefix without changing the append position; and finish() completes the output. A sink may become unusable after finish().