27 template <
class LAYOUT_TYPE,
class VALUE_TYPE>
42 return this->p_layout->value(i);
54 template <
class LAYOUT_TYPE,
class VALUE_TYPE>
69 return this->p_layout->operator[](i);
77 template <layout_offset OFFSET_TYPE, std::ranges::range SIZES_RANGE>
78 requires(std::unsigned_integral<std::ranges::range_value_t<SIZES_RANGE>>)
83 OFFSET_TYPE offset = 0;
85 for (
auto size : sizes)
88 offset +=
static_cast<OFFSET_TYPE
>(size);
Object that owns a piece of contiguous memory.
constexpr iterator begin() noexcept
constexpr layout_bracket_functor(layout_type *layout_=nullptr)
value_type operator()(std::size_t i) const
value_type operator()(std::size_t i) const
constexpr layout_value_functor(layout_type *layout_=nullptr)
inner_reference value_type
sparrow::u8_buffer< OFFSET_TYPE > offset_buffer_from_sizes(SIZES_RANGE &&sizes)
std::size_t range_size(R &&r)