7#include "roo_backport.h"
8#include "roo_backport/string_view.h"
18template <
typename OutputIterator>
20 out.write((
byte)(
v >> 0));
24template <
typename OutputIterator>
26 out.write((
byte)(
v >> 8));
27 out.write((
byte)(
v >> 0));
31template <
typename OutputIterator>
33 out.write((
byte)(
v >> 0));
34 out.write((
byte)(
v >> 8));
38template <
typename OutputIterator>
40 out.write((
byte)(
v >> 16));
41 out.write((
byte)(
v >> 8));
42 out.write((
byte)(
v >> 0));
46template <
typename OutputIterator>
48 out.write((
byte)(
v >> 0));
49 out.write((
byte)(
v >> 8));
50 out.write((
byte)(
v >> 16));
54template <
typename OutputIterator>
56 out.write((
byte)(
v >> 24));
57 out.write((
byte)(
v >> 16));
58 out.write((
byte)(
v >> 8));
59 out.write((
byte)(
v >> 0));
63template <
typename OutputIterator>
65 out.write((
byte)(
v >> 0));
66 out.write((
byte)(
v >> 8));
67 out.write((
byte)(
v >> 16));
68 out.write((
byte)(
v >> 24));
72template <
typename OutputIterator>
79template <
typename OutputIterator>
88template <
typename OutputIterator>
94template <
typename OutputIterator>
100template <
typename OutputIterator>
106template <
typename OutputIterator>
112template <
typename OutputIterator>
118template <
typename OutputIterator>
124template <
typename OutputIterator>
130template <
typename OutputIterator>
136template <
typename OutputIterator>
143template <
typename OutputIterator>
146 "WriteBeFloat requires 32-bit float.");
147 static_assert(std::numeric_limits<float>::is_iec559,
148 "WriteBeFloat requires IEEE754 float.");
155template <
typename OutputIterator>
158 "WriteLeFloat requires 32-bit float.");
159 static_assert(std::numeric_limits<float>::is_iec559,
160 "WriteLeFloat requires IEEE754 float.");
167template <
typename OutputIterator>
170 "WriteBeDouble requires 64-bit double.");
171 static_assert(std::numeric_limits<double>::is_iec559,
172 "WriteBeDouble requires IEEE754 double.");
179template <
typename OutputIterator>
182 "WriteLeDouble requires 64-bit double.");
183 static_assert(std::numeric_limits<double>::is_iec559,
184 "WriteLeDouble requires IEEE754 double.");
195template <
typename OutputIterator>
211template <
typename OutputIterator>
216 out.write((
byte)data);
222 buffer[size++] = ((
byte)data &
byte{0x7F}) |
byte{0x80};
225 buffer[size - 1] &=
byte{0x7F};
231template <
typename OutputIterator>
243template <
typename OutputIterator>
249template <
int ByteOrder>
255 template <
typename OutputIterator>
260 template <
typename OutputIterator>
265 template <
typename OutputIterator>
270 template <
typename OutputIterator>
280 template <
typename OutputIterator>
285 template <
typename OutputIterator>
290 template <
typename OutputIterator>
295 template <
typename OutputIterator>
304template <
int ByteOrder>
310 template <
typename OutputIterator>
315 template <
typename OutputIterator>
324 template <
typename OutputIterator>
329 template <
typename OutputIterator>
336template <
typename OutputIterator, ByteOrder
byte_order>
341template <
typename OutputIterator, ByteOrder
byte_order>
346template <
typename OutputIterator, ByteOrder
byte_order>
352template <
typename OutputIterator, ByteOrder
byte_order>
357template <
typename OutputIterator, ByteOrder
byte_order>
370 template <
typename OutputIterator>
378#if defined(ARDUINO) || defined(String_class_h)
385template <
typename OutputIterator>
388 if (!data.isEmpty()) {
constexpr void writeU24(OutputIterator &out, uint32_t v) const
constexpr void writeU16(OutputIterator &out, uint16_t v) const
constexpr void writeU64(OutputIterator &out, uint64_t v) const
constexpr void writeU32(OutputIterator &out, uint32_t v) const
constexpr void writeU64(OutputIterator &out, uint64_t v) const
constexpr void writeU32(OutputIterator &out, uint32_t v) const
constexpr void writeU24(OutputIterator &out, uint32_t v) const
constexpr void writeU16(OutputIterator &out, uint16_t v) const
constexpr void WriteLeS64(OutputIterator &out, int64_t v)
constexpr void WriteBeU16(OutputIterator &out, uint16_t v)
constexpr void WriteLeU16(OutputIterator &out, uint16_t v)
constexpr void WriteBeS32(OutputIterator &out, int32_t v)
constexpr void WriteU8(OutputIterator &out, uint8_t v)
constexpr void WriteLeS24(OutputIterator &out, int32_t v)
constexpr void WriteLeS16(OutputIterator &out, int16_t v)
roo::basic_string_view< CharT, Traits > basic_string_view
constexpr void WriteU24(OutputIterator &in, uint32_t v)
size_t WriteByteArray(OutputIterator &out, const byte *source, size_t count)
constexpr void WriteBeS24(OutputIterator &out, int32_t v)
constexpr void WriteBeS64(OutputIterator &out, int64_t v)
constexpr void WriteLeU24(OutputIterator &out, uint32_t v)
void WriteVarU64(OutputIterator &out, uint64_t data)
constexpr void WriteLeU32(OutputIterator &out, uint32_t v)
constexpr void WriteBeU64(OutputIterator &out, uint64_t v)
constexpr void WriteBeU24(OutputIterator &out, uint32_t v)
constexpr void WriteU32(OutputIterator &in, uint32_t v)
constexpr void WriteBeU32(OutputIterator &out, uint32_t v)
constexpr void WriteLeS32(OutputIterator &out, int32_t v)
constexpr void WriteU16(OutputIterator &in, uint16_t v)
constexpr void WriteBeS16(OutputIterator &out, int16_t v)
void WriteString(OutputIterator &itr, roo::string_view data)
constexpr void WriteLeU64(OutputIterator &out, uint64_t v)
constexpr void WriteS8(OutputIterator &out, int8_t v)
void write(OutputIterator &out, const T &v) const