This changes the serialize code (.read()
and .write()
functions) to take a Span
instead of a pointer and size. This is a breaking change for the serialize interface, so at no additional cost we can also switch to std::byte
(instead of using char
).
The benefits of using Span
:
- Less verbose and less fragile code when passing an already existing
Span
(-like) object to or from serialization
The benefits of using std::byte
:
std::byte
can’t accidentally be mistaken for an integer
The goal here is to only change serialize to use spans of std::byte
. If needed, AsBytes
, MakeUCharSpan
, … can be used (temporarily) to pass spans of the right type.
Other changes that are included here: