19 if ((b & 0x80) == 0)
return val;
21 val |=
static_cast<uint32_t
>(b & 0x7f) << 7;
22 if ((b & 0x80) == 0)
return val;
24 val |=
static_cast<uint32_t
>(b & 0x7f) << 14;
25 if ((b & 0x80) == 0)
return val;
27 val |=
static_cast<uint32_t
>(b & 0x7f) << 21;
28 if ((b & 0x80) == 0)
return val;
30 val |=
static_cast<uint32_t
>(b & 0x7f) << 28;
31 assert((b & 0x80) == 0);
50 if ((b & 0x80) == 0)
return val;
52 val |=
static_cast<uint64_t
>(b & 0x7f) << 7;
53 if ((b & 0x80) == 0)
return val;
55 val |=
static_cast<uint64_t
>(b & 0x7f) << 14;
56 if ((b & 0x80) == 0)
return val;
58 val |=
static_cast<uint64_t
>(b & 0x7f) << 21;
59 if ((b & 0x80) == 0)
return val;
61 val |=
static_cast<uint64_t
>(b & 0x7f) << 28;
62 if ((b & 0x80) == 0)
return val;
64 val |=
static_cast<uint64_t
>(b & 0x7f) << 35;
65 if ((b & 0x80) == 0)
return val;
67 val |=
static_cast<uint64_t
>(b & 0x7f) << 42;
68 if ((b & 0x80) == 0)
return val;
70 val |=
static_cast<uint64_t
>(b & 0x7f) << 49;
71 if ((b & 0x80) == 0)
return val;
73 val |=
static_cast<uint64_t
>(b & 0x7f) << 56;
74 if ((b & 0x80) == 0)
return val;
76 val |=
static_cast<uint64_t
>(b & 0x7f) << 63;
77 assert((b & 0x80) == 0);
84 return (val >> 1) ^ -(val & 1);
90 return static_cast<int32_t
>((val >> 1) ^ -(val & 1));
96 return (val >> 1) ^ -(val & 1);
103 std::string_view sv(
reinterpret_cast<const char*
>(p), len);
111 const char* p =
reinterpret_cast<const char*
>(pStart);
114 if (*p++ >= 0) count++;
124 count -= (b >> 7) ^ 1;
142 count -= (b >> 7) ^ 1;
153 *p++ = (val & 0x7f) | 0x80;
156 *p++ =
static_cast<uint8_t
>(val);
172 return (64 - Bits::countLeadingZerosInNonZero64(v | 1) + 6) / 7;
178 return (v << 1) ^ (v >> 63);
183 return (v << 1) ^ (v >> 31);
188 return static_cast<int64_t
>((v >> 1) ^ -
static_cast<int64_t
>(v & 1));
193 return static_cast<int32_t
>((v >> 1) ^ -
static_cast<int32_t
>(v & 1));
int countVarints(const void *pStart, const void *pEnd)
Definition varint.h:108
uint64_t readVarint35(const uint8_t *&p)
Definition varint.h:13
void skipVarints(const uint8_t *&p, int count)
Definition varint.h:119
std::string_view readStringView(const uint8_t *&p)
Definition varint.h:100
uint64_t toZigzag(int64_t v)
Definition varint.h:176
void writeSignedVarint(uint8_t *&p, int64_t val)
Definition varint.h:160
int64_t readSignedVarint64(const uint8_t *&p)
Definition varint.h:93
int32_t readSignedVarint32(const uint8_t *&p)
Definition varint.h:87
uint64_t readVarint64(const uint8_t *&p)
Definition varint.h:44
int64_t fromZigzag(uint64_t v)
Definition varint.h:186
unsigned int varintSize(uint64_t v)
Returns the number of bytes required to encode the given unsigned value as a varint (A varint require...
Definition varint.h:170
int64_t readSignedVarint35(const uint8_t *&p)
Definition varint.h:81
uint32_t readVarint32(const uint8_t *&p)
Definition varint.h:35
void skipVarintsBackwardUnsafe(const uint8_t *&p, int count)
Moves pointer backward, skipping over the specified numbers of varints.
Definition varint.h:136
void writeVarint(uint8_t *&p, uint64_t val)
Definition varint.h:149