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

◆ composite_validate()

void MayaFlux::Nodes::detail::composite_validate ( const std::vector< std::shared_ptr< Node > > &  inputs,
size_t  N 
)

Definition at line 281 of file NodeCombine.cpp.

282 {
283 if (N > 0 && inputs.size() != N) {
284 error<std::invalid_argument>(
285 Journal::Component::Nodes, Journal::Context::Init,
286 std::source_location::current(),
287 "CompositeOpNode<{}> requires exactly {} inputs, got {}",
288 N, N, inputs.size());
289 }
290
291 if (inputs.size() < 2) {
292 error<std::invalid_argument>(
293 Journal::Component::Nodes, Journal::Context::Init,
294 std::source_location::current(),
295 "CompositeOpNode requires at least 2 inputs, got {}",
296 inputs.size());
297 }
298
299 for (size_t i = 0; i < inputs.size(); ++i) {
300 if (!inputs[i]) {
301 error<std::invalid_argument>(
302 Journal::Component::Nodes, Journal::Context::Init,
303 std::source_location::current(),
304 "CompositeOpNode input at index {} is null", i);
305 }
306 }
307 }
#define N(method_name, full_type_name)
Definition Creator.hpp:106

References MayaFlux::Journal::Init, N, and MayaFlux::Journal::Nodes.