15 using Value = std::remove_const_t<T>;
50 return *
reinterpret_cast<Pointer>(First_ + index * StrideBytes_);
55 std::conditional_t<std::is_const_v<T>,
const std::byte, std::byte>;
56 using BytePointer = Byte*;
60 std::size_t StrideBytes_{};
63 template <
typename Record,
typename Field>
76 template <
typename Record,
typename Field>
std::remove_const_t< T > Value
constexpr StridedSpan() noexcept=default
constexpr std::size_t StrideBytes() const noexcept
constexpr bool Empty() const noexcept
constexpr std::size_t Size() const noexcept
Reference operator[](std::size_t index) const noexcept
StridedSpan< Field > MakeFieldView(std::span< Record > records, Field Record::*member) noexcept