5#ifndef WPINET_RAW_UV_OSTREAM_H_
6#define WPINET_RAW_UV_OSTREAM_H_
44 : m_bufs(
bufs), m_alloc(
std::move(alloc)) {
53 std::span<uv::Buffer>
bufs() {
return m_bufs; }
63 void write_impl(
const char*
data,
size_t len)
override;
64 uint64_t current_pos()
const override;
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Definition: SmallVector.h:557
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:44
void SetUnbuffered()
Set the stream to be unbuffered.
Definition: raw_ostream.h:163
raw_ostream style output to a SmallVector of uv::Buffer buffers.
Definition: raw_uv_ostream.h:24
raw_uv_ostream(SmallVectorImpl< uv::Buffer > &bufs, std::function< uv::Buffer()> alloc)
Construct a new raw_uv_ostream.
Definition: raw_uv_ostream.h:42
void reset()
Resets the amount of allocated space.
Definition: raw_uv_ostream.h:60
std::span< uv::Buffer > bufs()
Returns an span to the buffers.
Definition: raw_uv_ostream.h:53
~raw_uv_ostream() override=default
raw_uv_ostream(SmallVectorImpl< uv::Buffer > &bufs, size_t allocSize)
Construct a new raw_uv_ostream.
Definition: raw_uv_ostream.h:32
Data buffer.
Definition: Buffer.h:23
static Buffer Allocate(size_t size)
Definition: Buffer.h:52
::uint64_t uint64_t
Definition: Meta.h:58
Definition: StdDeque.h:50
/file This file defines the SmallVector class.
Definition: AprilTagFieldLayout.h:18
Definition: format.h:1544