@@ -57,13 +57,11 @@ namespace mgis::function {
5757 FunctionType&,
5858 const ExecutionPolicy,
5959 const EvaluatorType) //
60- requires(((LinearElementSpaceConcept<std::decay_t <
61- decltype (getSpace(std::declval<EvaluatorType>()))>>) ||
62- (LinearQuadratureSpaceConcept<std::decay_t <
63- decltype (getSpace(std::declval<EvaluatorType>()))>>)) &&
64- internals::same_decay_type<
65- decltype(getSpace(std::declval<FunctionType>())),
66- decltype(getSpace(std::declval<EvaluatorType>()))>);
60+ requires(
61+ ((LinearElementSpaceConcept<evaluator_space<EvaluatorType>>) ||
62+ (LinearQuadratureSpaceConcept<evaluator_space<EvaluatorType>>)) &&
63+ std::same_as<function_space<FunctionType>,
64+ evaluator_space<EvaluatorType>>);
6765 /* !
6866 * \brief assign the evaluator to a function
6967 * \param[in] ctx: execution context
@@ -80,10 +78,7 @@ namespace mgis::function {
8078 const ExecutionPolicy,
8179 const EvaluatorType,
8280 const OperatorType,
83- const real) requires(LinearElementSpaceConcept<std::
84- decay_t <decltype (getSpace(
85- std::declval<
86- EvaluatorType>()))>>);
81+ const real) requires(LinearElementSpaceConcept<evaluator_space<EvaluatorType>>);
8782#endif /* MGIS_HAS_STL_PARALLEL_ALGORITHMS */
8883
8984 /* !
@@ -96,13 +91,11 @@ namespace mgis::function {
9691 [[nodiscard]] constexpr bool assign (AbstractErrorHandler&,
9792 FunctionType&,
9893 const EvaluatorType) //
99- requires(((LinearElementSpaceConcept<std::decay_t <
100- decltype (getSpace(std::declval<EvaluatorType>()))>>) ||
101- (LinearQuadratureSpaceConcept<std::decay_t <
102- decltype (getSpace(std::declval<EvaluatorType>()))>>)) &&
103- internals::same_decay_type<
104- decltype(getSpace(std::declval<FunctionType>())),
105- decltype(getSpace(std::declval<EvaluatorType>()))>);
94+ requires(
95+ ((LinearElementSpaceConcept<evaluator_space<EvaluatorType>>) ||
96+ (LinearQuadratureSpaceConcept<evaluator_space<EvaluatorType>>)) &&
97+ std::same_as<function_space<FunctionType>,
98+ evaluator_space<EvaluatorType>>);
10699 /* !
107100 * \brief assign the evaluator to a function
108101 * \param[in] ctx: execution context
@@ -115,10 +108,7 @@ namespace mgis::function {
115108 AbstractErrorHandler&,
116109 const EvaluatorType,
117110 const OperatorType,
118- const real) requires(LinearElementSpaceConcept<std::
119- decay_t <decltype (getSpace(
120- std::declval<
121- EvaluatorType>()))>>);
111+ const real) requires(LinearElementSpaceConcept<evaluator_space<EvaluatorType>>);
122112
123113#endif /* MSC_VER */
124114
0 commit comments