MGIS
Loading...
Searching...
No Matches
mgis::function::BinaryOperationEvaluatorBase< Child, FirstEvaluatorType, SecondEvaluatorType > Struct Template Reference

a base class to construct an evaluator by applying a binary operation on the results of two evaluators. More...

#include </home/runner/work/MFrontGenericInterfaceSupport/MFrontGenericInterfaceSupport/include/MGIS/Function/BinaryOperationEvaluatorBase.hxx>

Public Types

using Space = evaluator_space< FirstEvaluatorType >
 a simple alias
 

Public Member Functions

constexpr BinaryOperationEvaluatorBase (const FirstEvaluatorType &, const SecondEvaluatorType &)
 constructor
 
constexpr BinaryOperationEvaluatorBase (const BinaryOperationEvaluatorBase &)
 copy constructor
 
constexpr BinaryOperationEvaluatorBase (BinaryOperationEvaluatorBase &&)
 move constructor
 
constexpr decltype(autogetSpace () const
 return the underlying space
 
constexpr bool check (AbstractErrorHandler &) const
 perform consistency checks
 
constexpr auto operator() (const element_index< Space > &) const
 call operator
 
constexpr auto operator() (const element_workspace< Space > &, const element_index< Space > &) const
 call operator
 
constexpr auto operator() (const cell_index< Space >, const quadrature_point_index< Space >) const
 call operator
 
constexpr auto operator() (const cell_workspace< Space > &, const cell_index< Space >, const quadrature_point_index< Space >) const
 call operator
 

Static Public Attributes

static constexpr auto isElementEvaluator
 
static constexpr auto isQuadratureEvaluator
 

Protected Attributes

FirstEvaluatorType first_evaluator
 evaluator of the first argument of the binary operation
 
SecondEvaluatorType second_evaluator
 evaluator of the second argument of the binary operation
 

Detailed Description

template<typename Child, EvaluatorConcept FirstEvaluatorType, EvaluatorConcept SecondEvaluatorType>
requires (BinaryOperationEvaluatorBaseRequirement<FirstEvaluatorType, SecondEvaluatorType>)
struct mgis::function::BinaryOperationEvaluatorBase< Child, FirstEvaluatorType, SecondEvaluatorType >

a base class to construct an evaluator by applying a binary operation on the results of two evaluators.

Template Parameters
Childchild class
FirstEvaluatorTypeevaluator used to compute the first argument of the binary operation
SecondEvaluatorTypeevaluator used to compute the first second of the binary operation

Constructor & Destructor Documentation

◆ BinaryOperationEvaluatorBase()

template<typename Child , EvaluatorConcept FirstEvaluatorType, EvaluatorConcept SecondEvaluatorType>
requires (BinaryOperationEvaluatorBaseRequirement<FirstEvaluatorType, SecondEvaluatorType>)
constexpr mgis::function::BinaryOperationEvaluatorBase< Child, FirstEvaluatorType, SecondEvaluatorType >::BinaryOperationEvaluatorBase ( const FirstEvaluatorType &  e1,
const SecondEvaluatorType &  e2 
)
constexpr

constructor

Parameters
[in]e1first evaluator
[in]e2second evaluator

Member Function Documentation

◆ operator()() [1/4]

template<typename Child , EvaluatorConcept FirstEvaluatorType, EvaluatorConcept SecondEvaluatorType>
requires ((internals::EvaluatorResultQuery<FirstEvaluatorType>::b3) && (internals::EvaluatorResultQuery<SecondEvaluatorType>::b3))
constexpr auto mgis::function::BinaryOperationEvaluatorBase< Child, FirstEvaluatorType, SecondEvaluatorType >::operator() ( const cell_index< Space e,
const quadrature_point_index< Space i 
) const
constexpr

call operator

Parameters
[in]ecell index
[in]iintegration point index

◆ operator()() [2/4]

template<typename Child , EvaluatorConcept FirstEvaluatorType, EvaluatorConcept SecondEvaluatorType>
requires ((internals::EvaluatorResultQuery<FirstEvaluatorType>::b4) && (internals::EvaluatorResultQuery<SecondEvaluatorType>::b4))
constexpr auto mgis::function::BinaryOperationEvaluatorBase< Child, FirstEvaluatorType, SecondEvaluatorType >::operator() ( const cell_workspace< Space > &  wk,
const cell_index< Space e,
const quadrature_point_index< Space i 
) const
constexpr

call operator

Parameters
[in]ecell index
[in]iintegration point index

◆ operator()() [3/4]

template<typename Child , EvaluatorConcept FirstEvaluatorType, EvaluatorConcept SecondEvaluatorType>
requires ((internals::EvaluatorResultQuery<FirstEvaluatorType>::b1) && (internals::EvaluatorResultQuery<SecondEvaluatorType>::b1))
constexpr auto mgis::function::BinaryOperationEvaluatorBase< Child, FirstEvaluatorType, SecondEvaluatorType >::operator() ( const element_index< Space > &  e) const
constexpr

call operator

Parameters
[in]iintegration point index

◆ operator()() [4/4]

template<typename Child , EvaluatorConcept FirstEvaluatorType, EvaluatorConcept SecondEvaluatorType>
requires ((internals::EvaluatorResultQuery<FirstEvaluatorType>::b2) && (internals::EvaluatorResultQuery<SecondEvaluatorType>::b2))
constexpr auto mgis::function::BinaryOperationEvaluatorBase< Child, FirstEvaluatorType, SecondEvaluatorType >::operator() ( const element_workspace< Space > &  wk,
const element_index< Space > &  e 
) const
constexpr

call operator

Parameters
[in]iintegration point index

Member Data Documentation

◆ isElementEvaluator

template<typename Child , EvaluatorConcept FirstEvaluatorType, EvaluatorConcept SecondEvaluatorType>
constexpr auto mgis::function::BinaryOperationEvaluatorBase< Child, FirstEvaluatorType, SecondEvaluatorType >::isElementEvaluator
staticconstexpr
Initial value:
=
concept defining evaluators working on an element space
Definition EvaluatorConcept.hxx:201

◆ isQuadratureEvaluator

template<typename Child , EvaluatorConcept FirstEvaluatorType, EvaluatorConcept SecondEvaluatorType>
constexpr auto mgis::function::BinaryOperationEvaluatorBase< Child, FirstEvaluatorType, SecondEvaluatorType >::isQuadratureEvaluator
staticconstexpr
Initial value:
=
concept defining evaluators working on a quadrature space
Definition EvaluatorConcept.hxx:207

The documentation for this struct was generated from the following files: