MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ get_frame_typed()

auto MayaFlux::Kakshya::PlotContainer::get_frame_typed ( uint64_t  frame_index) const -> std::span<const double>
private

Definition at line 467 of file PlotContainer.cpp.

468{
469 if (frame_index >= m_data.size())
470 return {};
471
472 std::span<const double> result;
473 seqlock_read_void(m_series_locks[frame_index], 8, [&] {
474 const auto* vec = std::get_if<std::vector<double>>(&m_data[frame_index]);
475 if (!vec || vec->empty())
476 return;
477 result = { vec->data(), vec->size() };
478 });
479 return result;
480}
std::vector< DataVariant > m_data
Memory::SeqlockArray m_series_locks
size_t size() const noexcept
Number of slots.
Definition SeqLock.hpp:304
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.
Definition SeqLock.hpp:222