byteme
C++ wrappers for buffered inputs
Loading...
Searching...
No Matches
RawBufferWriter.hpp
Go to the documentation of this file.
1#ifndef BYTEME_RAW_BUFFER_WRITER_HPP
2#define BYTEME_RAW_BUFFER_WRITER_HPP
3
4#include <cstddef>
5#include <vector>
6
7#include "Writer.hpp"
8
15namespace byteme {
16
25 std::size_t reserve = 0;
26};
27
34class RawBufferWriter final : public Writer {
35public:
40 output.reserve(options.reserve);
41 }
42
43public:
44 using Writer::write;
45
46 void write(const unsigned char* buffer, std::size_t n) {
47 output.insert(output.end(), buffer, buffer + n);
48 }
49
50 void finish() {}
51
52public:
56 // Exposed for back-compatibility only.
57 std::vector<unsigned char> output;
66 std::vector<unsigned char>& get_output() {
67 return output;
68 }
69};
70
71}
72
73#endif
Write to an output sink.
Write bytes to a raw buffer.
Definition RawBufferWriter.hpp:34
RawBufferWriter(const RawBufferWriterOptions &options)
Definition RawBufferWriter.hpp:39
void write(const unsigned char *buffer, std::size_t n)
Definition RawBufferWriter.hpp:46
std::vector< unsigned char > & get_output()
Definition RawBufferWriter.hpp:66
void finish()
Definition RawBufferWriter.hpp:50
Virtual class for writing bytes to a sink.
Definition Writer.hpp:21
virtual void write(const unsigned char *buffer, std::size_t n)=0
Simple byte readers and writers.
Options for the RawBufferWriter constructor.
Definition RawBufferWriter.hpp:20
std::size_t reserve
Definition RawBufferWriter.hpp:25