875{
876 if (frame_index >=
m_data.size())
877 return {};
878
879 std::span<const T> result;
881 const auto* vec = std::get_if<std::vector<T>>(&
m_data[frame_index]);
882 if (!vec || vec->empty())
883 return;
885 const size_t n = std::min(layer_elems, vec->size());
886 result = std::span<const T>(vec->data(), n);
887 });
888
889 return result;
890}
Memory::SeqlockArray m_slot_locks
std::vector< DataVariant > m_data
bool seqlock_read_void(const Seqlock &lock, uint32_t max_attempts, Fn &&fn)
Invoke a void read functor under a Seqlock with a bounded retry count.