8 #ifndef WPIUTIL_WPI_RAW_UV_OSTREAM_H_
9 #define WPIUTIL_WPI_RAW_UV_OSTREAM_H_
11 #include "wpi/ArrayRef.h"
12 #include "wpi/SmallVector.h"
13 #include "wpi/raw_ostream.h"
14 #include "wpi/uv/Buffer.h"
33 m_alloc([=]() {
return uv::Buffer::Allocate(allocSize); }) {
44 : m_bufs(bufs), m_alloc(alloc) {
55 void flush() =
delete;
58 void write_impl(
const char* data,
size_t len)
override;
59 uint64_t current_pos()
const override;
62 std::function<uv::Buffer()> m_alloc;
70 #endif // WPIUTIL_WPI_RAW_UV_OSTREAM_H_
This class implements an extremely fast bulk output stream that can only output to a stream...
Definition: raw_ostream.h:45
ArrayRef< uv::Buffer > bufs()
Returns an ArrayRef to the buffers.
Definition: raw_uv_ostream.h:53
void SetUnbuffered()
Set the stream to be unbuffered.
Definition: raw_ostream.h:128
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
Definition: ArrayRef.h:41
namespace to hold default to_json function
Definition: SmallString.h:21
raw_uv_ostream(SmallVectorImpl< uv::Buffer > &bufs, size_t allocSize)
Construct a new raw_uv_ostream.
Definition: raw_uv_ostream.h:31
raw_ostream style output to a SmallVector of uv::Buffer buffers.
Definition: raw_uv_ostream.h:23
Data buffer.
Definition: Buffer.h:27
raw_uv_ostream(SmallVectorImpl< uv::Buffer > &bufs, std::function< uv::Buffer()> alloc)
Construct a new raw_uv_ostream.
Definition: raw_uv_ostream.h:42