@@ -279,6 +279,9 @@ namespace SampleFlow
279279
280280
281281 template <typename InputType>
282+ requires (Concepts::has_subscript_operator<InputType> &&
283+ Concepts::has_size_function<InputType> &&
284+ std::is_arithmetic_v<types::ScalarType<InputType>>)
282285 PairHistogram<InputType>::
283286 PairHistogram (const double min_x_value,
284287 const double max_x_value,
@@ -322,6 +325,9 @@ namespace SampleFlow
322325
323326
324327 template <typename InputType>
328+ requires (Concepts::has_subscript_operator<InputType> &&
329+ Concepts::has_size_function<InputType> &&
330+ std::is_arithmetic_v<types::ScalarType<InputType>>)
325331 PairHistogram<InputType>::
326332 PairHistogram (const double min_x_pre_value,
327333 const double max_x_pre_value,
@@ -381,6 +387,9 @@ namespace SampleFlow
381387
382388
383389 template <typename InputType>
390+ requires (Concepts::has_subscript_operator<InputType> &&
391+ Concepts::has_size_function<InputType> &&
392+ std::is_arithmetic_v<types::ScalarType<InputType>>)
384393 PairHistogram<InputType>::
385394 PairHistogram (const PairHistogram<InputType> &o)
386395 :
@@ -395,6 +404,9 @@ namespace SampleFlow
395404
396405
397406 template <typename InputType>
407+ requires (Concepts::has_subscript_operator<InputType> &&
408+ Concepts::has_size_function<InputType> &&
409+ std::is_arithmetic_v<types::ScalarType<InputType>>)
398410 PairHistogram<InputType>::
399411 ~PairHistogram ()
400412 {
@@ -404,6 +416,9 @@ namespace SampleFlow
404416
405417
406418 template <typename InputType>
419+ requires (Concepts::has_subscript_operator<InputType> &&
420+ Concepts::has_size_function<InputType> &&
421+ std::is_arithmetic_v<types::ScalarType<InputType>>)
407422 void
408423 PairHistogram<InputType>::
409424 consume (InputType sample, AuxiliaryData /* aux_data*/ )
@@ -433,6 +448,9 @@ namespace SampleFlow
433448
434449
435450 template <typename InputType>
451+ requires (Concepts::has_subscript_operator<InputType> &&
452+ Concepts::has_size_function<InputType> &&
453+ std::is_arithmetic_v<types::ScalarType<InputType>>)
436454 typename PairHistogram<InputType>::value_type
437455 PairHistogram<InputType>::
438456 get () const
@@ -467,6 +485,9 @@ namespace SampleFlow
467485
468486
469487 template <typename InputType>
488+ requires (Concepts::has_subscript_operator<InputType> &&
489+ Concepts::has_size_function<InputType> &&
490+ std::is_arithmetic_v<types::ScalarType<InputType>>)
470491 void
471492 PairHistogram<InputType>::
472493 write_gnuplot (std::ostream &&output_stream) const
@@ -549,6 +570,9 @@ namespace SampleFlow
549570
550571
551572 template <typename InputType>
573+ requires (Concepts::has_subscript_operator<InputType> &&
574+ Concepts::has_size_function<InputType> &&
575+ std::is_arithmetic_v<types::ScalarType<InputType>>)
552576 unsigned int
553577 PairHistogram<InputType>::
554578 x_bin_number (const double value) const
@@ -572,6 +596,9 @@ namespace SampleFlow
572596
573597
574598 template <typename InputType>
599+ requires (Concepts::has_subscript_operator<InputType> &&
600+ Concepts::has_size_function<InputType> &&
601+ std::is_arithmetic_v<types::ScalarType<InputType>>)
575602 unsigned int
576603 PairHistogram<InputType>::
577604 y_bin_number (const double value) const
0 commit comments