1030{
1031 if (frame_index >=
m_data.size())
1032 return {};
1033
1034 std::span<const T> result;
1036 const auto* vec = std::get_if<std::vector<T>>(&
m_data[frame_index]);
1037 if (!vec || vec->empty())
1038 return;
1040 const size_t n = std::min(layer_elems, vec->size());
1041 result = std::span<const T>(vec->data(), n);
1042 });
1043
1044 return result;
1045}
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.