39 if (str.size() > unused) NOT_REACHED();
40 std::ranges::copy(str, this->
dest.data() + this->position);
std::string_view::size_type size_type
The type of the size of our strings.
void AssignBuffer(const InPlaceBuilder &src)
Copy assignment of the buffer and its position.
bool AnyBytesUnused() const noexcept
Check whether any unused bytes are left between the Builder and Consumer position.
size_type GetBytesUnused() const noexcept
Get number of unused bytes left between the Builder and Consumer position.
const StringConsumer & consumer
The string consumer to read with.
std::span< char > dest
The buffer to process.
size_type position
The location to write to.
void PutBuffer(std::span< const char > str) override
Append buffer.
Compose data into a fixed size buffer, which is consumed at the same time.
InPlaceReplacement(std::span< char > buffer)
Create coupled Consumer+Builder pair.
InPlaceBuilder builder
Builder into shared buffer.
StringConsumer consumer
Consumer from shared buffer.
A number of safeguards to prevent using unsafe methods.
Definition of base types and functions in a cross-platform compatible way.
Inplace-replacement of textual and binary data.