Validate input/output types and warn about marker types.
314 {
315 if constexpr (std::is_same_v<InputType, Kakshya::Region>) {
319 "InputType 'Region' is an expressive marker, not a data holder. Operations will process coordinate data rather than signal data. Consider using DataVariant or SignalSourceContainer for signal processing.");
320 } else if constexpr (std::is_same_v<InputType, Kakshya::RegionGroup>) {
324 "InputType 'RegionGroup' is an expressive marker, not a data holder. Operations will process coordinate data rather than signal data. Consider using DataVariant or SignalSourceContainer for signal processing.");
325 } else if constexpr (std::is_same_v<InputType, std::vector<Kakshya::RegionSegment>>) {
329 "InputType 'RegionSegments' are expressive markers, not primary data holders. Operations will attempt to extract data from segment metadata. Consider using DataVariant or SignalSourceContainer for direct signal processing.");
330 }
331
332 if constexpr (std::is_same_v<OutputType, Kakshya::Region>) {
336 "OutputType 'Region' is an expressive marker, not a data holder. Operations will create spatial/temporal markers with results as metadata.");
337 } else if constexpr (std::is_same_v<OutputType, Kakshya::RegionGroup>) {
341 "OutputType 'RegionGroup' is an expressive marker, not a data holder. Operations will organize results into spatial/temporal groups.");
342 } else if constexpr (std::is_same_v<OutputType, std::vector<Kakshya::RegionSegment>>) {
346 "OutputType 'RegionSegments' is an expressive marker, not a data holder. Operations will create segments with results in metadata. Consider using DataVariant or SignalSourceContainer for direct signal processing.");
347 }
348 }
#define MF_INFO(comp, ctx,...)
@ Runtime
General runtime operations (default fallback)
@ Yantra
DSP algorithms, computational units, matrix operations, Grammar.