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

◆ all_dimensions_consumed()

bool MayaFlux::Kakshya::SoundStreamContainer::all_dimensions_consumed ( ) const
overridevirtual

Check if all active dimensions have been consumed in this cycle.

Returns
true if all active dimensions have been processed

Implements MayaFlux::Kakshya::SignalSourceContainer.

Definition at line 723 of file SoundStreamContainer.cpp.

724{
725 std::lock_guard<std::mutex> lock(m_reader_mutex);
726
727 return std::ranges::all_of(m_active_readers, [this](const auto& dim_reader_pair) {
728 const auto& [dim, expected_count] = dim_reader_pair;
729
730 auto actual_count = std::ranges::count_if(m_reader_consumed_dimensions,
731 [dim](const auto& reader_dims_pair) {
732 return reader_dims_pair.second.contains(dim);
733 });
734
735 return actual_count >= expected_count;
736 });
737}
std::unordered_map< uint32_t, int > m_active_readers
std::unordered_map< uint32_t, std::unordered_set< uint32_t > > m_reader_consumed_dimensions
void lock() override
Acquire a lock for thread-safe access.

References lock(), m_active_readers, m_reader_consumed_dimensions, and m_reader_mutex.

+ Here is the call graph for this function: