53 write<uint8_t>(uint8_t(x));
55 else if (x < 0x20 * 0x100)
57 write<uint8_t>(uint8_t(0x20 | (x >> 8)));
58 write<uint8_t>(uint8_t(x));
62 uint32_t extra_bytes = 2;
64 while ((x >> (8 * extra_bytes)) >= 0x20 && extra_bytes <
sizeof(T) - 1)
67 write<uint8_t>(uint8_t((extra_bytes << 5) | (x >> (8 * extra_bytes))));
68 write<uint8_t>(uint8_t(x >> (8 * --extra_bytes)));
69 write<uint8_t>(uint8_t(x >> (8 * --extra_bytes)));
71 write<uint8_t>(uint8_t(x >> (8 * --extra_bytes)));