.. _module-pw_varint: ========= pw_varint ========= .. pigweed-module:: :name: pw_varint .. doxygenfile:: pw_varint/varint.h :sections: detaileddescription ------------- Compatibility ------------- * C * C++ * `Rust `_ ------------- API Reference ------------- .. _module-pw_varint-api-c: C = .. doxygendefine:: PW_VARINT_MAX_INT32_SIZE_BYTES .. doxygendefine:: PW_VARINT_MAX_INT64_SIZE_BYTES .. doxygenfunction:: pw_varint_Encode32 .. doxygenfunction:: pw_varint_Encode64 .. doxygenfunction:: pw_varint_Decode32 .. doxygenfunction:: pw_varint_Decode64 .. doxygenfunction:: pw_varint_ZigZagEncode32 .. doxygenfunction:: pw_varint_ZigZagEncode64 .. doxygenfunction:: pw_varint_ZigZagDecode32 .. doxygenfunction:: pw_varint_ZigZagDecode64 .. doxygendefine:: PW_VARINT_ENCODED_SIZE_BYTES .. doxygenfunction:: pw_varint_EncodedSizeBytes .. doxygenenum:: pw_varint_Format .. doxygenfunction:: pw_varint_EncodeCustom .. doxygenfunction:: pw_varint_DecodeCustom C++ === .. doxygenvariable:: pw::varint::kMaxVarint32SizeBytes .. doxygenvariable:: pw::varint::kMaxVarint64SizeBytes .. doxygenfunction:: pw::varint::ZigZagEncode .. doxygenfunction:: pw::varint::ZigZagDecode .. doxygenfunction:: pw::varint::EncodedSize .. doxygenfunction:: pw::varint::EncodeLittleEndianBase128 .. doxygenfunction:: pw::varint::Encode(T integer, const span &output) .. doxygenfunction:: pw::varint::Decode(const span& input, int64_t* output) .. doxygenfunction:: pw::varint::Decode(const span& input, uint64_t* output) .. doxygenfunction:: pw::varint::MaxValueInBytes(size_t bytes) .. doxygenenum:: pw::varint::Format .. doxygenfunction:: pw::varint::Encode(uint64_t value, span output, Format format) .. doxygenfunction:: pw::varint::Decode(span input, uint64_t* value, Format format) Stream API ---------- .. doxygenfunction:: pw::varint::Read(stream::Reader& reader, uint64_t* output, size_t max_size) .. doxygenfunction:: pw::varint::Read(stream::Reader& reader, int64_t* output, size_t max_size) Rust ==== ``pw_varint``'s Rust API is documented in our `rustdoc API docs `_. ------ Zephyr ------ To enable ``pw_varint`` for Zephyr add ``CONFIG_PIGWEED_VARINT=y`` to the project's configuration.