1 #ifndef NDNPH_TLV_VARNUM_HPP
2 #define NDNPH_TLV_VARNUM_HPP
4 #include "../core/common.hpp"
12 return n < 0xFD ? 1 : n <= 0xFFFF ? 3 : 5;
20 }
else if (n <= 0xFFFF) {
39 if (size >= 1 &&
input[0] < 0xFD) {
43 if (size >= 3 &&
input[0] == 0xFD) {
44 n = (
static_cast<uint32_t
>(
input[1]) << 8) |
static_cast<uint32_t
>(
input[2]);
47 if (size >= 5 &&
input[0] == 0xFE) {
48 n = (
static_cast<uint32_t
>(
input[1]) << 24) | (
static_cast<uint32_t
>(
input[2]) << 16) |
49 (
static_cast<uint32_t
>(
input[3]) << 8) |
static_cast<uint32_t
>(
input[4]);
bool input(Region ®ion, T &target, std::istream &is=std::cin)
Read and decode from input stream.
Definition: io.hpp:15
int readVarNum(const uint8_t *input, size_t size, uint32_t &n)
Read VAR-NUMBER.
Definition: varnum.hpp:38
void writeVarNum(uint8_t *room, uint32_t n)
Write VAR-NUMBER.
Definition: varnum.hpp:17
constexpr size_t sizeofVarNum(uint32_t n)
Compute size of VAR-NUMBER.
Definition: varnum.hpp:11