50 constexpr operator T()
const {
return static_cast<T
>(
value); }
204 template<
typename DataStream>
208 uint8_t b = uint8_t(val) & 0x7f;
210 b |= ((val > 0) << 7);
211 ds.write((
char*)&b,1);
224 template<
typename DataStream>
226 uint64_t v = 0;
char b = 0; uint8_t by = 0;
229 v |=
uint32_t(uint8_t(b) & 0x7f) << by;
231 }
while( uint8_t(b) & 0x80 );
232 vi.value =
static_cast<uint32_t>(v);
261 constexpr operator int32_t()
const {
return value; }
272 constexpr signed_int& operator=(
const T& v ) {
value = v;
return *
this; }
336 constexpr friend bool operator!=(
const signed_int& i,
const int32_t& v ) {
return i.value != v; }
346 constexpr friend bool operator!=(
const int32_t& i,
const signed_int& v ) {
return i != v.value; }
366 constexpr friend bool operator<(
const signed_int& i,
const int32_t& v ) {
return i.value < v; }
376 constexpr friend bool operator<(
const int32_t& i,
const signed_int& v ) {
return i < v.value; }
397 constexpr friend bool operator>=(
const signed_int& i,
const int32_t& v ) {
return i.value >= v; }
407 constexpr friend bool operator>=(
const int32_t& i,
const signed_int& v ) {
return i >= v.value; }
431 template<
typename DataStream>
435 uint8_t b = uint8_t(val) & 0x7f;
437 b |= ((val > 0) << 7);
438 ds.write((
char*)&b,1);
451 template<
typename DataStream>
453 uint32_t v = 0;
char b = 0;
int by = 0;
456 v |=
uint32_t(uint8_t(b) & 0x7f) << by;
458 }
while( uint8_t(b) & 0x80 );
459 vi.value = (v>>1) ^ (~(v&1)+1ull);