MayaFlux 1.0.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 673 of file UniversalTransformer.hpp.

674 {
675 output_type result;
676
677 result.dimensions = input.dimensions;
678 result.modality = input.modality;
679 result.metadata = input.metadata;
680 result.metadata["validation_failed"] = true;
681 result.metadata["fallback_reason"] = "Input validation failed";
682
683 if constexpr (std::is_same_v<InputType, OutputType>) {
684 result.data = input.data;
685 } else {
686 if constexpr (RequiresContainer<InputType>) {
687 if (!input.has_container()) {
688 result.container = std::make_shared<Kakshya::SignalSourceContainer>();
689 } else {
690 result.container = input.container;
691 }
692 }
693 result.data = {};
694 }
695
696 return result;
697 }
Core::GlobalInputConfig input
Definition Config.cpp:42
std::vector< Kakshya::DataDimension > dimensions
Data dimensional structure.
Definition DataIO.hpp:28

References MayaFlux::Yantra::Datum< T >::container, MayaFlux::Yantra::Datum< T >::data, MayaFlux::Yantra::Datum< T >::dimensions, input, MayaFlux::Yantra::Datum< T >::metadata, and MayaFlux::Yantra::Datum< T >::modality.

Referenced by MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::operation_function().

+ Here is the caller graph for this function: