MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Yantra::SingleVariant Concept Reference

A SingleVariant is either a single DataVariant, an Eigen vector type, or any type constructible from DataVariant but not a vector of DataVariants, not a shared_ptr to SignalSourceContainer, and not RegionLike. More...

#include <DataSpec.hpp>

Concept definition

template<typename T>
concept MayaFlux::Yantra::SingleVariant = std::is_same_v<T, Kakshya::DataVariant>
|| (std::is_base_of_v<Eigen::MatrixBase<T>, T> && T::ColsAtCompileTime == 1)
|| std::is_same_v<T, Eigen::VectorXd>
|| (std::constructible_from<Kakshya::DataVariant, T>
&& !std::is_same_v<T, std::vector<Kakshya::DataVariant>>
&& !std::is_same_v<T, std::shared_ptr<Kakshya::SignalSourceContainer>>
&& !std::is_base_of_v<Eigen::MatrixBase<T>, T>)
A SingleVariant is either a single DataVariant, an Eigen vector type, or any type constructible from ...
Definition DataSpec.hpp:98

Detailed Description

A SingleVariant is either a single DataVariant, an Eigen vector type, or any type constructible from DataVariant but not a vector of DataVariants, not a shared_ptr to SignalSourceContainer, and not RegionLike.

This concept ensures that the type represents a single data source rather than multiple sources.

Definition at line 98 of file DataSpec.hpp.