byteme
Read/write bytes from various sources
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#include "utils.hpp"
9
16namespace byteme {
17
26 std::size_t reserve = 0;
27};
28
35class RawBufferWriter final : public Writer {
36public:
41 output.reserve(options.reserve);
42 }
43
44public:
45 using Writer::write;
46
47 void write(const unsigned char* buffer, std::size_t n) {
48 output.insert(output.end(), buffer, buffer + n);
49 }
50
51 void finish() {}
52
53public:
57 // Exposed for back-compatibility only.
58 std::vector<unsigned char> output;
67 std::vector<unsigned char>& get_output() {
68 return output;
69 }
70};
71
72}
73
74#endif
Write to an output sink.
Write bytes to a raw buffer.
Definition RawBufferWriter.hpp:35
RawBufferWriter(const RawBufferWriterOptions &options)
Definition RawBufferWriter.hpp:40
void write(const unsigned char *buffer, std::size_t n)
Definition RawBufferWriter.hpp:47
std::vector< unsigned char > & get_output()
Definition RawBufferWriter.hpp:67
void finish()
Definition RawBufferWriter.hpp:51
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.
Definition BufferedReader.hpp:21
Options for the RawBufferWriter constructor.
Definition RawBufferWriter.hpp:21
std::size_t reserve
Definition RawBufferWriter.hpp:26