Validate input/output types and warn about marker types.
315 {
316 if constexpr (std::is_same_v<InputType, Kakshya::Region>) {
320 "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.");
321 } else if constexpr (std::is_same_v<InputType, Kakshya::RegionGroup>) {
325 "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.");
326 } else if constexpr (std::is_same_v<InputType, std::vector<Kakshya::RegionSegment>>) {
330 "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.");
331 }
332
333 if constexpr (std::is_same_v<OutputType, Kakshya::Region>) {
337 "OutputType 'Region' is an expressive marker, not a data holder. Operations will create spatial/temporal markers with results as metadata.");
338 } else if constexpr (std::is_same_v<OutputType, Kakshya::RegionGroup>) {
342 "OutputType 'RegionGroup' is an expressive marker, not a data holder. Operations will organize results into spatial/temporal groups.");
343 } else if constexpr (std::is_same_v<OutputType, std::vector<Kakshya::RegionSegment>>) {
347 "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.");
348 }
349 }
#define MF_INFO(comp, ctx,...)
@ Runtime
General runtime operations (default fallback)
@ Yantra
DSP algorithms, computational units, matrix operations, Grammar.