21 std::array<char, 1> buf{
22 static_cast<char>(value)
33 this->
PutUint8(
static_cast<uint8_t
>(value));
42 std::array<char, 2> buf{
43 static_cast<char>(
static_cast<uint8_t
>(value)),
44 static_cast<char>(
static_cast<uint8_t
>(value >> 8))
64 std::array<char, 4> buf{
65 static_cast<char>(
static_cast<uint8_t
>(value)),
66 static_cast<char>(
static_cast<uint8_t
>(value >> 8)),
67 static_cast<char>(
static_cast<uint8_t
>(value >> 16)),
68 static_cast<char>(
static_cast<uint8_t
>(value >> 24))
88 std::array<char, 8> buf{
89 static_cast<char>(
static_cast<uint8_t
>(value)),
90 static_cast<char>(
static_cast<uint8_t
>(value >> 8)),
91 static_cast<char>(
static_cast<uint8_t
>(value >> 16)),
92 static_cast<char>(
static_cast<uint8_t
>(value >> 24)),
93 static_cast<char>(
static_cast<uint8_t
>(value >> 32)),
94 static_cast<char>(
static_cast<uint8_t
>(value >> 40)),
95 static_cast<char>(
static_cast<uint8_t
>(value >> 48)),
96 static_cast<char>(
static_cast<uint8_t
>(value >> 56))
116 this->
PutUint8(
static_cast<uint8_t
>(c));
135 this->
dest->append(str.data(), str.size());
virtual void PutBuffer(std::span< const char > str)=0
Append buffer.
void PutUint32LE(uint32_t value)
Append binary uint32 using little endian.
void PutSint8(int8_t value)
Append binary int8.
void PutUint64LE(uint64_t value)
Append binary uint64 using little endian.
void PutSint64LE(int64_t value)
Append binary int64 using little endian.
void PutUtf8(char32_t c)
Append UTF-8 char.
void PutUint16LE(uint16_t value)
Append binary uint16 using little endian.
void PutSint32LE(int32_t value)
Append binary int32 using little endian.
void PutChar(char c)
Append 8-bit char.
void PutSint16LE(int16_t value)
Append binary int16 using little endian.
void PutUint8(uint8_t value)
Append binary uint8.
void PutBuffer(std::span< const char > str) override
Append buffer.
std::string * dest
The string to write to.
A number of safeguards to prevent using unsafe methods.
Definition of base types and functions in a cross-platform compatible way.
Compose strings from textual and binary data.
std::pair< char[4], size_t > EncodeUtf8(char32_t c)
Encode a character to UTF-8.
Handling of UTF-8 encoded data.