34 void WriteData(
size_t count,
const void * data);
39 size_t WriteData(
size_t max_count,
const std::vector<uint8_t>& data,
size_t offset = 0);
44 size_t WriteData(
const std::vector<uint8_t>& data,
size_t offset = 0);
49 template <
class T, std::
size_t N>
50 void WriteData(
const std::array<T, N>& data,
size_t offset = 0)
54 WriteData(N - offset,
reinterpret_cast<const char *
>(data.data()) + offset);
60 void WriteData(
size_t count, std::string text,
char padding =
'\0');
70 void WriteData(
size_t count, std::istream& in);
80 void WriteWord(
size_t bytes, uint64_t value);
83 void ForceSeek(offset_t offset);
89 void Seek(offset_t offset);
94 void Skip(offset_t offset);
99 void SeekEnd(offset_t offset = 0);
109 void FillTo(offset_t position);
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
void Seek(offset_t offset)
Jump to a specific location in the ouput stream.
Definition writer.cc:95
void WriteData(size_t count, const void *data)
Write out a sequence of bytes.
Definition writer.cc:7
EndianType endiantype
The default endianness of the binary format, used for reading multibyte numeric data.
Definition writer.h:20
void Skip(offset_t offset)
Jump to a distance in the output stream.
Definition writer.cc:103
void SeekEnd(offset_t offset=0)
Jump to a specific offset from the end.
Definition writer.cc:112
void FillTo(offset_t position)
Move to a specific offset, fill with zeroes if needed.
Definition writer.cc:125
void AlignTo(offset_t align)
Align the current pointer.
Definition writer.cc:146
std::ostream * out
The input stream.
Definition writer.h:24
void WriteWord(size_t bytes, uint64_t value, EndianType endiantype)
Read a word.
Definition writer.cc:66
void WriteData(const std::array< T, N > &data, size_t offset=0)
Write out a sequence of bytes.
Definition writer.h:50
offset_t Tell()
Retrieve the current location.
Definition writer.cc:120