Template Function liberate::serialization::uleb128_deserialize_varint

Function Documentation

template<typename inT, std::enable_if_t<liberate::types::is_8bit_type<inT>::value, int> = 0>
std::size_t liberate::serialization::uleb128_deserialize_varint(::liberate::types::varint &value, inT const *input, std::size_t input_length)

Deserialize from buffer (ULEB128).

If decoding did not work, zero is returned. Otherwise, the number of units from the the buffer is.

Note: the function is restricted to 8-bit output buffer types only.

Parameters
  • value[out] The resulting varint value.

  • input[in] The input buffer to deserialize from.

  • input_length[in] The length of the input buffer.

Returns

The number of bytes of input buffer consumed or 0 on failure.