@@ -72,6 +72,11 @@ namespace mgis::function {
7272 constexpr BinaryOperationModifier (const CallableType&,
7373 const FirstEvaluatorType&,
7474 const SecondEvaluatorType&);
75+ //
76+ using internals::BinaryOperationModifierBase<
77+ CallableType,
78+ FirstEvaluatorType,
79+ SecondEvaluatorType>::getNumberOfComponents;
7580 // ! \brief apply the modifier
7681 constexpr auto apply (const evaluator_result<FirstEvaluatorType>&,
7782 const evaluator_result<SecondEvaluatorType>&) const ;
@@ -80,6 +85,15 @@ namespace mgis::function {
8085 CallableType modifier;
8186 };
8287
88+ // ! \return the number of components
89+ template <typename CallableType,
90+ EvaluatorConcept FirstEvaluatorType,
91+ EvaluatorConcept SecondEvaluatorType>
92+ constexpr mgis::size_type getNumberOfComponents (
93+ const BinaryOperationModifier<CallableType,
94+ FirstEvaluatorType,
95+ SecondEvaluatorType>&);
96+
8397 template <typename CallableType,
8498 EvaluatorConcept FirstEvaluatorType,
8599 EvaluatorConcept SecondEvaluatorType>
@@ -110,11 +124,25 @@ namespace mgis::function {
110124 BinaryOperationModifier2,
111125 FirstEvaluatorType,
112126 SecondEvaluatorType>::BinaryOperationEvaluatorBase;
127+ //
128+ using internals::BinaryOperationModifierBase<
129+ CallableType,
130+ FirstEvaluatorType,
131+ SecondEvaluatorType>::getNumberOfComponents;
113132 // ! \brief apply the modifier
114133 constexpr auto apply (const evaluator_result<FirstEvaluatorType>&,
115134 const evaluator_result<SecondEvaluatorType>&) const ;
116135 };
117136
137+ // ! \return the number of components
138+ template <typename CallableType,
139+ EvaluatorConcept FirstEvaluatorType,
140+ EvaluatorConcept SecondEvaluatorType>
141+ constexpr mgis::size_type getNumberOfComponents (
142+ const BinaryOperationModifier2<CallableType,
143+ FirstEvaluatorType,
144+ SecondEvaluatorType>&);
145+
118146 namespace internals {
119147
120148 template <typename CallableType, EvaluatorConcept SecondEvaluatorType>
0 commit comments