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

◆ add_processor_at()

void MayaFlux::Kakshya::DataProcessingChain::add_processor_at ( const std::shared_ptr< DataProcessor > &  processor,
const std::shared_ptr< SignalSourceContainer > &  container,
size_t  position 
)

Adds a processor at a specific position in the chain.

Parameters
processorThe data processor to add.
containerThe signal container the processor will operate on.
positionZero-based insertion index; appends if out of range.

Definition at line 17 of file DataProcessingChain.cpp.

21{
22 auto& processors = m_container_processors[container];
23
24 if (position >= processors.size()) {
25 processors.push_back(processor);
26 } else {
27 processors.insert(processors.begin() + static_cast<std::ptrdiff_t>(position), processor);
28 }
29
30 processor->on_attach(container);
31}
std::unordered_map< std::shared_ptr< SignalSourceContainer >, std::vector< std::shared_ptr< DataProcessor > > > m_container_processors
Maps each container to its ordered processor sequence.

References m_container_processors.