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

◆ remove_processor_direct()

void MayaFlux::Buffers::BufferProcessingChain::remove_processor_direct ( const std::shared_ptr< BufferProcessor > &  processor,
const std::shared_ptr< Buffer > &  buffer 
)
protected

Definition at line 84 of file BufferProcessingChain.cpp.

85{
86 auto& processors = m_buffer_processors[buffer];
87 auto it = std::ranges::find(processors, processor);
88
89 if (it != processors.end()) {
90 processor->on_detach(buffer);
91 processors.erase(it);
92
93 m_conditional_processors[buffer].erase(processor);
94 m_pending_removal[buffer].erase(processor);
95 }
96}
std::unordered_map< std::shared_ptr< Buffer >, std::unordered_set< std::shared_ptr< BufferProcessor > > > m_pending_removal
Map of buffers to processors pending removal.
std::unordered_map< std::shared_ptr< Buffer >, std::vector< std::shared_ptr< BufferProcessor > > > m_buffer_processors
Map of buffers to their processor sequences.
std::unordered_map< std::shared_ptr< Buffer >, std::unordered_set< std::shared_ptr< BufferProcessor > > > m_conditional_processors
Map of buffers to processors that are conditionally applied.

References m_buffer_processors, m_conditional_processors, and m_pending_removal.

Referenced by process_pending_processor_operations(), and remove_processor().

+ Here is the caller graph for this function: