16#include "pw_bytes/endian.h"
17#include "pw_bytes/span.h"
18#include "pw_protobuf/decoder.h"
19#include "pw_result/result.h"
20#include "pw_status/status.h"
21#include "pw_status/try.h"
23namespace pw::protobuf {
50inline Result<uint32_t> DecodeBytesToUint32(Decoder& decoder) {
51 ConstByteSpan bytes_read;
52 PW_TRY(decoder.ReadBytes(&bytes_read));
53 if (bytes_read.size() !=
sizeof(uint32_t)) {
static constexpr Status InvalidArgument()
Definition: status.h:164
static constexpr Status Internal()
Definition: status.h:292
T ReadInOrder(endian order, const void *buffer)
Definition: endian.h:168
#define PW_TRY(expr)
Returns early if expr is a non-OK Status or Result.
Definition: try.h:27