2#include "gaia/config/config.h"
6#include "gaia/mem/data_layout_policy.h"
12 template <u
int32_t Size, u
int32_t Alignment>
13 struct raw_data_holder {
14 static_assert(Size > 0);
16 GAIA_ALIGNAS(Alignment) uint8_t data[Size];
18 constexpr operator uint8_t*()
noexcept {
22 constexpr operator const uint8_t*()
const noexcept {
27 template <u
int32_t Size>
28 struct raw_data_holder<Size, 0> {
29 static_assert(Size > 0);
33 constexpr operator uint8_t*()
noexcept {
37 constexpr operator const uint8_t*()
const noexcept {
47 template <
typename T, u
int32_t N>
48 using raw_data_holder = detail::raw_data_holder<N, auto_view_policy<T>::Alignment>;