MayaFlux 0.2.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 272 of file NodeCombine.cpp.

273 {
274 if (N > 0 && inputs.size() != N) {
275 error<std::invalid_argument>(
276 Journal::Component::Nodes, Journal::Context::Init,
277 std::source_location::current(),
278 "CompositeOpNode<{}> requires exactly {} inputs, got {}",
279 N, N, inputs.size());
280 }
281
282 if (inputs.size() < 2) {
283 error<std::invalid_argument>(
284 Journal::Component::Nodes, Journal::Context::Init,
285 std::source_location::current(),
286 "CompositeOpNode requires at least 2 inputs, got {}",
287 inputs.size());
288 }
289
290 for (size_t i = 0; i < inputs.size(); ++i) {
291 if (!inputs[i]) {
292 error<std::invalid_argument>(
293 Journal::Component::Nodes, Journal::Context::Init,
294 std::source_location::current(),
295 "CompositeOpNode input at index {} is null", i);
296 }
297 }
298 }
#define N(method_name, full_type_name)
Definition Creator.hpp:183

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