20#include "pw_bytes/span.h"
21#include "pw_result/result.h"
23namespace pw::allocator {
53template <
typename T,
size_t kBufferSize,
size_t kAlignment = 1>
56 static constexpr size_t kCapacity = kBufferSize;
58 ByteSpan as_bytes() {
return buffer_; }
59 std::byte* data() {
return buffer_.data(); }
60 size_t size()
const {
return buffer_.size(); }
62 T& operator*() {
return obj_; }
63 const T& operator*()
const {
return obj_; }
65 T* operator->() {
return &obj_; }
66 const T* operator->()
const {
return &obj_; }
69 alignas(kAlignment) std::array<std::byte, kBufferSize> buffer_;
74template <
size_t kBufferSize,
size_t kAlignment>
78 alignas(kAlignment) std::array<std::byte, kBufferSize> bytes_;
Convenience alias for creating aligned byte buffers.
Definition: buffer.h:75