diff --git a/include/sampleflow/consumers/auto_covariance_matrix.h b/include/sampleflow/consumers/auto_covariance_matrix.h index 0496805..1daee86 100644 --- a/include/sampleflow/consumers/auto_covariance_matrix.h +++ b/include/sampleflow/consumers/auto_covariance_matrix.h @@ -357,6 +357,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) AutoCovarianceMatrix:: AutoCovarianceMatrix (unsigned int lag_length) : @@ -368,6 +369,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) AutoCovarianceMatrix:: ~AutoCovarianceMatrix () { @@ -376,6 +378,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) void AutoCovarianceMatrix:: consume (InputType sample, AuxiliaryData /*aux_data*/) @@ -485,6 +488,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) typename AutoCovarianceMatrix::value_type AutoCovarianceMatrix:: get () const diff --git a/include/sampleflow/consumers/auto_covariance_trace.h b/include/sampleflow/consumers/auto_covariance_trace.h index 87e9aa0..3c30120 100644 --- a/include/sampleflow/consumers/auto_covariance_trace.h +++ b/include/sampleflow/consumers/auto_covariance_trace.h @@ -397,6 +397,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) AutoCovarianceTrace:: AutoCovarianceTrace (unsigned int lag_length) : @@ -408,6 +409,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) AutoCovarianceTrace:: ~AutoCovarianceTrace () { @@ -415,7 +417,9 @@ namespace SampleFlow } + template + requires (Concepts::is_vector_space_type) void AutoCovarianceTrace:: consume (InputType sample, AuxiliaryData /*aux_data*/) @@ -520,6 +524,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) typename AutoCovarianceTrace::value_type AutoCovarianceTrace:: get () const diff --git a/include/sampleflow/consumers/average_cosinus.h b/include/sampleflow/consumers/average_cosinus.h index 427a247..6c6c632 100644 --- a/include/sampleflow/consumers/average_cosinus.h +++ b/include/sampleflow/consumers/average_cosinus.h @@ -129,6 +129,7 @@ namespace SampleFlow }; template + requires (Concepts::is_vector_space_type) AverageCosineBetweenSuccessiveSamples:: AverageCosineBetweenSuccessiveSamples (const unsigned int length) : @@ -141,6 +142,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) AverageCosineBetweenSuccessiveSamples:: ~AverageCosineBetweenSuccessiveSamples () { @@ -150,6 +152,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) void AverageCosineBetweenSuccessiveSamples:: consume (InputType sample, AuxiliaryData /*aux_data*/) @@ -216,8 +219,10 @@ namespace SampleFlow } } -//return value + + template + requires (Concepts::is_vector_space_type) std::vector AverageCosineBetweenSuccessiveSamples:: get () const diff --git a/include/sampleflow/consumers/covariance_matrix.h b/include/sampleflow/consumers/covariance_matrix.h index 7c8bf65..dd90915 100644 --- a/include/sampleflow/consumers/covariance_matrix.h +++ b/include/sampleflow/consumers/covariance_matrix.h @@ -140,6 +140,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) CovarianceMatrix:: CovarianceMatrix () : @@ -152,6 +153,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) CovarianceMatrix:: ~CovarianceMatrix () { @@ -161,6 +163,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) void CovarianceMatrix:: consume (InputType sample, AuxiliaryData /*aux_data*/) @@ -206,6 +209,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) typename CovarianceMatrix::value_type CovarianceMatrix:: get () const diff --git a/include/sampleflow/consumers/histogram.h b/include/sampleflow/consumers/histogram.h index 827e050..af79851 100644 --- a/include/sampleflow/consumers/histogram.h +++ b/include/sampleflow/consumers/histogram.h @@ -254,6 +254,7 @@ namespace SampleFlow template + requires (std::is_arithmetic_v) Histogram:: Histogram (const double min_value, const double max_value, @@ -278,6 +279,7 @@ namespace SampleFlow template + requires (std::is_arithmetic_v) Histogram:: Histogram (const double min_pre_value, const double max_pre_value, @@ -312,6 +314,7 @@ namespace SampleFlow template + requires (std::is_arithmetic_v) Histogram:: Histogram (const Histogram &o) : @@ -325,6 +328,7 @@ namespace SampleFlow template + requires (std::is_arithmetic_v) Histogram:: ~Histogram () { @@ -334,6 +338,7 @@ namespace SampleFlow template + requires (std::is_arithmetic_v) void Histogram:: consume (InputType sample, AuxiliaryData /*aux_data*/) @@ -355,6 +360,7 @@ namespace SampleFlow template + requires (std::is_arithmetic_v) typename Histogram::value_type Histogram:: get () const @@ -384,6 +390,7 @@ namespace SampleFlow template + requires (std::is_arithmetic_v) void Histogram:: write_gnuplot(std::ostream &&output_stream) const @@ -406,6 +413,7 @@ namespace SampleFlow template + requires (std::is_arithmetic_v) unsigned int Histogram:: bin_number (const double value) const diff --git a/include/sampleflow/consumers/mean_value.h b/include/sampleflow/consumers/mean_value.h index 932755a..b6cca18 100644 --- a/include/sampleflow/consumers/mean_value.h +++ b/include/sampleflow/consumers/mean_value.h @@ -156,6 +156,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) MeanValue:: MeanValue () : @@ -168,6 +169,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) MeanValue:: ~MeanValue () { @@ -177,6 +179,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) void MeanValue:: consume (InputType sample, AuxiliaryData /*aux_data*/) @@ -207,6 +210,7 @@ namespace SampleFlow template + requires (Concepts::is_vector_space_type) typename MeanValue::value_type MeanValue:: get () const diff --git a/include/sampleflow/consumers/pair_histogram.h b/include/sampleflow/consumers/pair_histogram.h index 42eea11..6154e1e 100644 --- a/include/sampleflow/consumers/pair_histogram.h +++ b/include/sampleflow/consumers/pair_histogram.h @@ -279,6 +279,9 @@ namespace SampleFlow template + requires (Concepts::has_subscript_operator && + Concepts::has_size_function && + std::is_arithmetic_v>) PairHistogram:: PairHistogram (const double min_x_value, const double max_x_value, @@ -322,6 +325,9 @@ namespace SampleFlow template + requires (Concepts::has_subscript_operator && + Concepts::has_size_function && + std::is_arithmetic_v>) PairHistogram:: PairHistogram (const double min_x_pre_value, const double max_x_pre_value, @@ -381,6 +387,9 @@ namespace SampleFlow template + requires (Concepts::has_subscript_operator && + Concepts::has_size_function && + std::is_arithmetic_v>) PairHistogram:: PairHistogram (const PairHistogram &o) : @@ -395,6 +404,9 @@ namespace SampleFlow template + requires (Concepts::has_subscript_operator && + Concepts::has_size_function && + std::is_arithmetic_v>) PairHistogram:: ~PairHistogram () { @@ -404,6 +416,9 @@ namespace SampleFlow template + requires (Concepts::has_subscript_operator && + Concepts::has_size_function && + std::is_arithmetic_v>) void PairHistogram:: consume (InputType sample, AuxiliaryData /*aux_data*/) @@ -433,6 +448,9 @@ namespace SampleFlow template + requires (Concepts::has_subscript_operator && + Concepts::has_size_function && + std::is_arithmetic_v>) typename PairHistogram::value_type PairHistogram:: get () const @@ -467,6 +485,9 @@ namespace SampleFlow template + requires (Concepts::has_subscript_operator && + Concepts::has_size_function && + std::is_arithmetic_v>) void PairHistogram:: write_gnuplot(std::ostream &&output_stream) const @@ -549,6 +570,9 @@ namespace SampleFlow template + requires (Concepts::has_subscript_operator && + Concepts::has_size_function && + std::is_arithmetic_v>) unsigned int PairHistogram:: x_bin_number (const double value) const @@ -572,6 +596,9 @@ namespace SampleFlow template + requires (Concepts::has_subscript_operator && + Concepts::has_size_function && + std::is_arithmetic_v>) unsigned int PairHistogram:: y_bin_number (const double value) const diff --git a/include/sampleflow/producer.h b/include/sampleflow/producer.h index 60a6b48..412880f 100644 --- a/include/sampleflow/producer.h +++ b/include/sampleflow/producer.h @@ -201,6 +201,7 @@ namespace SampleFlow template + requires (Concepts::is_valid_sampletype) Producer::Producer (Producer &&producer) : // Conceptually, it would be nice to move the rhs signals @@ -219,6 +220,7 @@ namespace SampleFlow template + requires (Concepts::is_valid_sampletype) Producer::~Producer () { disconnect_consumers(*this);