blob: 2e21aaa95dce959aef30c2953095293999fc47b9 [file] [log] [blame]
Wyatt Heplerf9fb90f2020-09-30 18:59:33 -07001.. _module-pw_bytes:
shaneajg9c19db42020-06-11 15:49:51 -04002
3---------
4pw_bytes
5---------
6pw_bytes is a collection of utilities for manipulating binary data.
7
8Compatibility
9=============
10C++17
11
12Dependencies
13============
14* ``pw_preprocessor``
15* ``pw_status``
16* ``pw_span``
17
18Features
19========
20
Wyatt Hepler05ca54c2020-09-02 17:04:59 -070021pw_bytes/array.h
22----------------
23Functions for working with byte arrays, primarily for building fixed-size byte
24arrays at compile time.
shaneajg9c19db42020-06-11 15:49:51 -040025
Wyatt Hepler05ca54c2020-09-02 17:04:59 -070026pw_bytes/byte_builder.h
27-----------------------
28.. cpp:class:: ByteBuilder
29
30 ``ByteBuilder`` is a class that facilitates building or reading arrays of
31 bytes in a fixed-size buffer. ByteBuilder handles reading and writing integers
32 with varying endianness.
33
Ewout van Bekkum5ea33402021-03-31 11:00:02 -070034.. cpp:class:: template <size_t kMaxSize> ByteBuffer
Wyatt Hepler05ca54c2020-09-02 17:04:59 -070035
36 ``ByteBuilder`` with an internally allocated buffer.
shaneajg3181d182020-06-17 20:17:23 -040037
shaneajgf20ef8e2020-06-30 16:15:58 -040038Size report: using ByteBuffer
39^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
40.. include:: byte_builder_size_report
41
Wyatt Hepler05ca54c2020-09-02 17:04:59 -070042pw_bytes/endian.h
43-----------------
44Functions for converting the endianness of integral values.