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

◆ create_safe_output()

template<ComputeData InputType = Kakshya::DataVariant, ComputeData OutputType = InputType>
output_type MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::create_safe_output ( const input_type input) const
inlineprivate

Creates a safe fallback output when input validation fails.

Parameters
inputOriginal input (for type/structure reference)
Returns
Safe output that won't cause further processing errors

The behavior is:

  • For same input/output types: return input unchanged
  • For type conversion: create appropriate empty/minimal output
  • Always preserves metadata structure
  • Adds metadata indicating validation failure

Definition at line 642 of file UniversalTransformer.hpp.

643 {
644 output_type result;
645
646 result.dimensions = input.dimensions;
647 result.modality = input.modality;
648 result.metadata = input.metadata;
649 result.metadata["validation_failed"] = true;
650 result.metadata["fallback_reason"] = "Input validation failed";
651
652 if constexpr (std::is_same_v<InputType, OutputType>) {
653 result.data = input.data;
654 } else {
655 if constexpr (RequiresContainer<InputType>) {
656 if (!input.has_container()) {
657 result.container = std::make_shared<Kakshya::SignalSourceContainer>();
658 } else {
659 result.container = input.container;
660 }
661 }
662 result.data = {};
663 }
664
665 return result;
666 }
std::vector< Kakshya::DataDimension > dimensions
Data dimensional structure.
Definition DataIO.hpp:26

References MayaFlux::Yantra::IO< T >::container, MayaFlux::Yantra::IO< T >::data, MayaFlux::Yantra::IO< T >::dimensions, MayaFlux::Yantra::IO< T >::has_container(), MayaFlux::Yantra::IO< T >::metadata, and MayaFlux::Yantra::IO< T >::modality.

+ Here is the call graph for this function: