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

◆ CompositeOpNode() [3/3]

template<size_t N = 0>
template<typename DerivedNode >
requires std::derived_from<DerivedNode, Node>
MayaFlux::Nodes::CompositeOpNode< N >::CompositeOpNode ( std::vector< std::shared_ptr< DerivedNode > >  inputs,
CombineFunc  func,
NodeGraphManager manager,
ProcessingToken  token = ProcessingToken::AUDIO_RATE 
)
inline

Creates a composite operation node with derived node types (managed)

Template Parameters
DerivedNodeA type derived from Node
Parameters
inputsThe input nodes whose outputs will be combined
funcFunction that receives all node outputs and returns combined result
managerGraph manager for registration
tokenProcessing domain for registration (default AUDIO_RATE)

This constructor allows for creating a CompositeOpNode using a vector of shared pointers to a type derived from Node. It performs an implicit conversion to the base Node type for internal storage, while still allowing the caller to use their specific node types.

Definition at line 397 of file NodeCombine.hpp.

403 std::vector<std::shared_ptr<Node>>(inputs.begin(), inputs.end()),
404 std::move(func), manager, token)
405 {
406 }
CompositeOpNode(std::vector< std::shared_ptr< Node > > inputs, CombineFunc func)
Creates a composite operation node (unmanaged)
const std::vector< std::shared_ptr< Node > > & inputs() const