MayaFlux 1.0.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 101 of file BufferProcessingChain.cpp.

102{
103 auto& processors = m_buffer_processors[buffer];
104 auto it = std::ranges::find(processors, processor);
105
106 if (it != processors.end()) {
107 processor->on_detach(buffer);
108 processors.erase(it);
109
110 m_conditional_processors[buffer].erase(processor);
111 m_pending_removal[buffer].erase(processor);
112 }
113}
std::shared_ptr< NetworkGeometryBuffer > buffer
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 buffer, m_buffer_processors, m_conditional_processors, and m_pending_removal.

Referenced by process_pending_processor_operations(), and remove_processor_internal().

+ Here is the caller graph for this function: