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

◆ add_processor_at()

void MayaFlux::Kakshya::DataProcessingChain::add_processor_at ( std::shared_ptr< DataProcessor processor,
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
positionThe position in the processing sequence (0-based index)

Enables precise control over processing order for advanced workflows.

Definition at line 14 of file DataProcessingChain.cpp.

17{
18 processor->on_attach(container);
19 auto& processors = m_container_processors[container];
20
21 if (position >= processors.size()) {
22 processors.push_back(processor);
23 } else {
24 processors.insert(processors.begin() + position, processor);
25 }
26}
std::unordered_map< std::shared_ptr< SignalSourceContainer >, std::vector< std::shared_ptr< DataProcessor > > > m_container_processors
Maps containers to their associated processors in sequence order.

References m_container_processors.