47 write<uint8_t>(uint8_t(x));
48 else if (x < 0x20 * 0x100)
50 write<uint8_t>(uint8_t(0x20 | (x >> 8)));
51 write<uint8_t>(uint8_t(x));
55 uint32_t extra_bytes = 2;
57 while ((x >> (8 * extra_bytes)) >= 0x20 && extra_bytes <
sizeof(T) - 1)
60 write<uint8_t>(uint8_t((extra_bytes << 5) | (x >> (8 * extra_bytes))));
61 write<uint8_t>(uint8_t(x >> (8 * --extra_bytes)));
62 write<uint8_t>(uint8_t(x >> (8 * --extra_bytes)));
64 write<uint8_t>(uint8_t(x >> (8 * --extra_bytes)));