MayaFlux 0.4.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 647 of file UniversalTransformer.hpp.

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

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

+ Here is the call graph for this function: