xref: /aosp_15_r20/external/pigweed/pw_varint/docs.rst (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker.. _module-pw_varint:
2*61c4878aSAndroid Build Coastguard Worker
3*61c4878aSAndroid Build Coastguard Worker=========
4*61c4878aSAndroid Build Coastguard Workerpw_varint
5*61c4878aSAndroid Build Coastguard Worker=========
6*61c4878aSAndroid Build Coastguard Worker.. pigweed-module::
7*61c4878aSAndroid Build Coastguard Worker   :name: pw_varint
8*61c4878aSAndroid Build Coastguard Worker
9*61c4878aSAndroid Build Coastguard Worker.. doxygenfile:: pw_varint/varint.h
10*61c4878aSAndroid Build Coastguard Worker   :sections: detaileddescription
11*61c4878aSAndroid Build Coastguard Worker
12*61c4878aSAndroid Build Coastguard Worker-------------
13*61c4878aSAndroid Build Coastguard WorkerCompatibility
14*61c4878aSAndroid Build Coastguard Worker-------------
15*61c4878aSAndroid Build Coastguard Worker* C
16*61c4878aSAndroid Build Coastguard Worker* C++
17*61c4878aSAndroid Build Coastguard Worker* `Rust </rustdoc/pw_varint>`_
18*61c4878aSAndroid Build Coastguard Worker
19*61c4878aSAndroid Build Coastguard Worker-------------
20*61c4878aSAndroid Build Coastguard WorkerAPI Reference
21*61c4878aSAndroid Build Coastguard Worker-------------
22*61c4878aSAndroid Build Coastguard Worker
23*61c4878aSAndroid Build Coastguard Worker.. _module-pw_varint-api-c:
24*61c4878aSAndroid Build Coastguard Worker
25*61c4878aSAndroid Build Coastguard WorkerC
26*61c4878aSAndroid Build Coastguard Worker=
27*61c4878aSAndroid Build Coastguard Worker.. doxygendefine:: PW_VARINT_MAX_INT32_SIZE_BYTES
28*61c4878aSAndroid Build Coastguard Worker.. doxygendefine:: PW_VARINT_MAX_INT64_SIZE_BYTES
29*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw_varint_Encode32
30*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw_varint_Encode64
31*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw_varint_Decode32
32*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw_varint_Decode64
33*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw_varint_ZigZagEncode32
34*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw_varint_ZigZagEncode64
35*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw_varint_ZigZagDecode32
36*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw_varint_ZigZagDecode64
37*61c4878aSAndroid Build Coastguard Worker.. doxygendefine:: PW_VARINT_ENCODED_SIZE_BYTES
38*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw_varint_EncodedSizeBytes
39*61c4878aSAndroid Build Coastguard Worker.. doxygenenum:: pw_varint_Format
40*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw_varint_EncodeCustom
41*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw_varint_DecodeCustom
42*61c4878aSAndroid Build Coastguard Worker
43*61c4878aSAndroid Build Coastguard WorkerC++
44*61c4878aSAndroid Build Coastguard Worker===
45*61c4878aSAndroid Build Coastguard Worker.. doxygenvariable:: pw::varint::kMaxVarint32SizeBytes
46*61c4878aSAndroid Build Coastguard Worker.. doxygenvariable:: pw::varint::kMaxVarint64SizeBytes
47*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::ZigZagEncode
48*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::ZigZagDecode
49*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::EncodedSize
50*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::EncodeLittleEndianBase128
51*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::Encode(T integer, const span<std::byte> &output)
52*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::Decode(const span<const std::byte>& input, int64_t* output)
53*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::Decode(const span<const std::byte>& input, uint64_t* output)
54*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::MaxValueInBytes(size_t bytes)
55*61c4878aSAndroid Build Coastguard Worker.. doxygenenum:: pw::varint::Format
56*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::Encode(uint64_t value, span<std::byte> output, Format format)
57*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::Decode(span<const std::byte> input, uint64_t* value, Format format)
58*61c4878aSAndroid Build Coastguard Worker
59*61c4878aSAndroid Build Coastguard WorkerStream API
60*61c4878aSAndroid Build Coastguard Worker----------
61*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::Read(stream::Reader& reader, uint64_t* output, size_t max_size)
62*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::varint::Read(stream::Reader& reader, int64_t* output, size_t max_size)
63*61c4878aSAndroid Build Coastguard Worker
64*61c4878aSAndroid Build Coastguard WorkerRust
65*61c4878aSAndroid Build Coastguard Worker====
66*61c4878aSAndroid Build Coastguard Worker``pw_varint``'s Rust API is documented in our
67*61c4878aSAndroid Build Coastguard Worker`rustdoc API docs </rustdoc/pw_varint>`_.
68*61c4878aSAndroid Build Coastguard Worker
69*61c4878aSAndroid Build Coastguard Worker------
70*61c4878aSAndroid Build Coastguard WorkerZephyr
71*61c4878aSAndroid Build Coastguard Worker------
72*61c4878aSAndroid Build Coastguard WorkerTo enable ``pw_varint`` for Zephyr add ``CONFIG_PIGWEED_VARINT=y`` to the
73*61c4878aSAndroid Build Coastguard Workerproject's configuration.
74