Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
expression.h File Reference

expression - involved by interpolate and integrate More...

Go to the source code of this file.

Classes

struct  binop_error< Op, T1, T2, R >
 
struct  is_error< T >
 
struct  is_error< binop_error< Op, T1, T2, R > >
 
struct  float_traits< details::binop_error< Op, T1, T2, R > >
 
struct  generic_unary_traits< Function >
 
struct  generic_unary_traits< Function >::result_hint< Arg >
 
struct  generic_unary_traits< Function >::hint< Arg, Result >
 
struct  unary_plus
 
struct  generic_unary_traits< unary_plus >
 
struct  generic_unary_traits< unary_plus >::result_hint
 
struct  generic_unary_traits< unary_plus >::hint
 
struct  negate
 
struct  generic_unary_traits< negate >
 
struct  generic_unary_traits< negate >::result_hint
 
struct  generic_unary_traits< negate >::hint
 
struct  generic_unary_traits< tr_ >
 
struct  generic_unary_traits< tr_ >::result_hint
 
struct  generic_unary_traits< tr_ >::hint
 
struct  trans_
 
struct  generic_unary_traits< trans_ >
 
struct  generic_unary_traits< trans_ >::result_hint
 
struct  generic_unary_traits< trans_ >::hint
 
struct  norm_
 
struct  generic_unary_traits< norm_ >
 
struct  generic_unary_traits< norm_ >::result_hint
 
struct  generic_unary_traits< norm_ >::hint
 
struct  norm2_
 
struct  generic_unary_traits< norm2_ >
 
struct  generic_unary_traits< norm2_ >::result_hint
 
struct  generic_unary_traits< norm2_ >::hint
 
struct  generic_binary_traits< Function >
 
struct  generic_binary_traits< Function >::result_hint< Arg1, Arg2 >
 
struct  generic_binary_traits< Function >::hint< Arg1, Arg2, Result >
 
struct  plus_result< A1, A2, Sfinae >
 
struct  plus_result< A1, A2, typename std::enable_if< is_rheolef_arithmetic< A1 >::value &&is_rheolef_arithmetic< A2 >::value >::type >
 
struct  plus_result< A, A, typename std::enable_if< ! is_rheolef_arithmetic< A >::value >::type >
 
struct  plus
 
struct  generic_binary_traits< plus >
 
struct  generic_binary_traits< plus >::hint
 
struct  generic_binary_traits< plus >::hint< A1, A2, undeterminated_basic< R > >
 
struct  generic_binary_traits< plus >::hint< undeterminated_basic< A1 >, A2, R >
 
struct  generic_binary_traits< plus >::hint< A1, undeterminated_basic< A2 >, R >
 
struct  generic_binary_traits< plus >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, R >
 
struct  generic_binary_traits< plus >::hint< A1, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< plus >::hint< undeterminated_basic< A1 >, A2, undeterminated_basic< R > >
 
struct  generic_binary_traits< plus >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< plus >::result_hint
 
struct  minus
 
struct  generic_binary_traits< minus >
 
struct  generic_binary_traits< minus >::hint
 
struct  generic_binary_traits< minus >::result_hint
 
struct  multiplies_result< A1, A2 >
 
struct  multiplies_result< S, point_basic< S > >
 
struct  multiplies_result< S, tensor_basic< S > >
 
struct  multiplies_result< point_basic< S >, S >
 
struct  multiplies_result< point_basic< S1 >, point_basic< S2 > >
 
struct  multiplies_result< point_basic< S1 >, tensor_basic< S2 > >
 
struct  multiplies_result< tensor_basic< S >, S >
 
struct  multiplies_result< tensor_basic< S1 >, point_basic< S2 > >
 
struct  multiplies_result< tensor_basic< S1 >, tensor_basic< S2 > >
 
struct  multiplies_result< S, tensor3_basic< S > >
 
struct  multiplies_result< tensor3_basic< S >, S >
 
struct  multiplies_result< tensor3_basic< S1 >, point_basic< S2 > >
 
struct  multiplies_result< tensor3_basic< S1 >, tensor_basic< S2 > >
 
struct  multiplies_result< point_basic< S1 >, tensor3_basic< S2 > >
 
struct  multiplies_result< tensor_basic< S1 >, tensor3_basic< S2 > >
 
struct  multiplies_result< tensor3_basic< S1 >, tensor3_basic< S2 > >
 
struct  multiplies_result< S, tensor4_basic< S > >
 
struct  multiplies_result< tensor4_basic< S >, S >
 
struct  multiplies_result< point_basic< S1 >, tensor4_basic< S2 > >
 
struct  multiplies_result< tensor_basic< S1 >, tensor4_basic< S2 > >
 
struct  multiplies_result< tensor3_basic< S1 >, tensor4_basic< S2 > >
 
struct  multiplies_result< tensor4_basic< S1 >, point_basic< S2 > >
 
struct  multiplies_result< tensor4_basic< S1 >, tensor_basic< S2 > >
 
struct  multiplies_result< tensor4_basic< S1 >, tensor3_basic< S2 > >
 
struct  multiplies_result< tensor4_basic< S1 >, tensor4_basic< S2 > >
 
struct  multiplies
 
struct  generic_binary_traits< multiplies >
 
struct  generic_binary_traits< multiplies >::first_argument_hint
 
struct  generic_binary_traits< multiplies >::first_argument_hint< A2, point_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< A2, tensor_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< A2, tensor3_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< A2, tensor4_basic< R >, typename std::enable_if< is_rheolef_arithmetic< A2 >::value >::type >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< point_basic< A2 >, R >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< point_basic< A2 >, point_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< point_basic< A2 >, tensor_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< point_basic< A2 >, tensor3_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< point_basic< A2 >, tensor4_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor_basic< A2 >, R >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor_basic< A2 >, point_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor_basic< A2 >, tensor_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor_basic< A2 >, tensor3_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor3_basic< A2 >, R >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor3_basic< A2 >, point_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor3_basic< A2 >, tensor_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor3_basic< A2 >, tensor3_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor4_basic< A2 >, R, typename std::enable_if< is_rheolef_arithmetic< R >::value >::type >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor4_basic< A2 >, point_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor4_basic< A2 >, tensor_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor4_basic< A2 >, tensor3_basic< R > >
 
struct  generic_binary_traits< multiplies >::first_argument_hint< tensor4_basic< A2 >, tensor4_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint
 
struct  generic_binary_traits< multiplies >::second_argument_hint< A1, point_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< A1, tensor_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< A1, tensor3_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< A1, tensor4_basic< R >, typename std::enable_if< is_rheolef_arithmetic< A1 >::value >::type >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< point_basic< A1 >, R >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< point_basic< A1 >, point_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< point_basic< A1 >, tensor_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor_basic< A1 >, R >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor_basic< A1 >, point_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor_basic< A1 >, tensor_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< point_basic< A1 >, tensor3_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor_basic< A1 >, tensor3_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor3_basic< A1 >, R >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor3_basic< A1 >, point_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor3_basic< A1 >, tensor_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor3_basic< A1 >, tensor3_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor4_basic< A1 >, R, typename std::enable_if< is_rheolef_arithmetic< R >::value >::type >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor4_basic< A1 >, point_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor4_basic< A1 >, tensor_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor4_basic< A1 >, tensor3_basic< R > >
 
struct  generic_binary_traits< multiplies >::second_argument_hint< tensor4_basic< A1 >, tensor4_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint
 
struct  generic_binary_traits< multiplies >::hint< A1, A2, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, A2, R >
 
struct  generic_binary_traits< multiplies >::hint< A1, undeterminated_basic< A2 >, R >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, R >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, point_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, tensor_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, tensor3_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, tensor4_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< A1, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< point_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< tensor_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< tensor3_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, A2, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, point_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, tensor_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, tensor3_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, tensor4_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< tensor4_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< multiplies >::result_hint
 
struct  divides_result< T1, T2, Sfinae >
 
struct  divides_result< T1, T2, typename std::enable_if< is_rheolef_arithmetic< T1 >::value &&is_rheolef_arithmetic< T2 >::value >::type >
 
struct  divides_result< T1, T2, typename std::enable_if< is_undeterminated< T1 >::value &&is_undeterminated< T2 >::value >::type >
 
struct  divides_result< T, T, typename std::enable_if< ! is_rheolef_arithmetic< T >::value &&! is_undeterminated< T >::value >::type >
 
struct  divides_result< point_basic< T >, T >
 
struct  divides_result< tensor_basic< T >, T >
 
struct  divides_result< T, point_basic< T > >
 
struct  divides_result< T, tensor_basic< T > >
 
struct  divides_result< point_basic< T1 >, tensor_basic< T2 > >
 
struct  divides_result< tensor_basic< T1 >, point_basic< T2 > >
 
struct  divides_result< tensor3_basic< T >, T >
 
struct  divides_result< tensor4_basic< T >, T >
 
struct  divides_result< T, tensor3_basic< T > >
 
struct  divides_result< point_basic< T1 >, tensor3_basic< T2 > >
 
struct  divides_result< tensor_basic< T1 >, tensor3_basic< T2 > >
 
struct  divides_result< tensor3_basic< T1 >, point_basic< T2 > >
 
struct  divides_result< tensor3_basic< T1 >, tensor_basic< T2 > >
 
struct  divides_result< T, tensor4_basic< T > >
 
struct  divides_result< point_basic< T1 >, tensor4_basic< T2 > >
 
struct  divides_result< tensor_basic< T1 >, tensor4_basic< T2 > >
 
struct  divides_result< tensor3_basic< T1 >, tensor4_basic< T2 > >
 
struct  divides
 
struct  generic_binary_traits< divides >
 
struct  generic_binary_traits< divides >::result_hint
 
struct  generic_binary_traits< divides >::hint
 
struct  generic_binary_traits< divides >::hint< A1, A2, undeterminated_basic< R > >
 
struct  generic_binary_traits< divides >::hint< undeterminated_basic< A1 >, A2, R >
 
struct  generic_binary_traits< divides >::hint< A1, undeterminated_basic< A2 >, R >
 
struct  generic_binary_traits< divides >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, R >
 
struct  generic_binary_traits< divides >::hint< A1, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< divides >::hint< undeterminated_basic< A1 >, A2, undeterminated_basic< R > >
 
struct  generic_binary_traits< divides >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  scalar_binary_traits< F >
 
struct  scalar_binary_traits< F >::result_hint< Arg1, Arg2 >
 
struct  scalar_binary_traits< F >::hint< A1, A2, R >
 
struct  generic_binary_traits< dot_ >
 
struct  generic_binary_traits< dot_ >::result_hint
 
struct  generic_binary_traits< dot_ >::hint
 
struct  ddot_result< A1, A2 >
 
struct  ddot_result< tensor_basic< A1 >, tensor_basic< A2 > >
 
struct  ddot_result< tensor4_basic< A1 >, tensor_basic< A2 > >
 
struct  ddot_result< tensor_basic< A1 >, tensor4_basic< A2 > >
 
struct  ddot_
 
struct  generic_binary_traits< ddot_ >
 
struct  generic_binary_traits< ddot_ >::hint
 
struct  generic_binary_traits< ddot_ >::hint< A1, A2, undeterminated_basic< R > >
 
struct  generic_binary_traits< ddot_ >::hint< undeterminated_basic< A1 >, tensor_basic< A2 >, R >
 
struct  generic_binary_traits< ddot_ >::hint< tensor_basic< A1 >, undeterminated_basic< A2 >, R >
 
struct  generic_binary_traits< ddot_ >::hint< undeterminated_basic< A1 >, tensor4_basic< A2 >, tensor_basic< R > >
 
struct  generic_binary_traits< ddot_ >::hint< tensor4_basic< A1 >, undeterminated_basic< A2 >, tensor_basic< R > >
 
struct  generic_binary_traits< ddot_ >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, R >
 
struct  generic_binary_traits< ddot_ >::hint< undeterminated_basic< A1 >, tensor_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< ddot_ >::hint< undeterminated_basic< A1 >, tensor4_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< ddot_ >::hint< tensor_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< ddot_ >::hint< tensor4_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< ddot_ >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< ddot_ >::result_hint
 
struct  dddot_result< A1, A2 >
 
struct  dddot_result< tensor3_basic< A1 >, tensor3_basic< A2 > >
 
struct  dddot_
 
struct  generic_binary_traits< dddot_ >
 
struct  generic_binary_traits< dddot_ >::hint
 
struct  generic_binary_traits< dddot_ >::hint< A1, A2, undeterminated_basic< R > >
 
struct  generic_binary_traits< dddot_ >::hint< undeterminated_basic< A1 >, tensor3_basic< A2 >, R >
 
struct  generic_binary_traits< dddot_ >::hint< tensor3_basic< A1 >, undeterminated_basic< A2 >, R >
 
struct  generic_binary_traits< dddot_ >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, R >
 
struct  generic_binary_traits< dddot_ >::hint< tensor3_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< dddot_ >::hint< undeterminated_basic< A1 >, undeterminated_basic< A2 >, undeterminated_basic< R > >
 
struct  generic_binary_traits< dddot_ >::result_hint
 
struct  binder_first< BinaryFunction, A1 >
 
struct  generic_unary_traits< binder_first< BinaryFunction, A1 > >
 
struct  generic_unary_traits< binder_first< BinaryFunction, A1 > >::result_hint< A2 >
 
struct  generic_unary_traits< binder_first< BinaryFunction, A1 > >::hint< A2, Result >
 
struct  generic_unary_traits< binder_first< BinaryFunction, A1 > >::hint< A2, undeterminated_basic< T > >
 
struct  generic_unary_traits< binder_first< BinaryFunction, A1 > >::hint< undeterminated_basic< T >, R >
 
struct  generic_unary_traits< binder_first< BinaryFunction, A1 > >::hint< undeterminated_basic< T1 >, undeterminated_basic< T > >
 
struct  binder_second< BinaryFunction, A2 >
 
struct  generic_unary_traits< binder_second< BinaryFunction, A2 > >
 
struct  generic_unary_traits< binder_second< BinaryFunction, A2 > >::result_hint< A1 >
 
struct  generic_unary_traits< binder_second< BinaryFunction, A2 > >::hint< A1, Result >
 
struct  generic_unary_traits< binder_second< BinaryFunction, A2 > >::hint< A1, undeterminated_basic< T > >
 
struct  generic_unary_traits< binder_second< BinaryFunction, A2 > >::hint< undeterminated_basic< T >, R >
 
struct  generic_unary_traits< binder_second< BinaryFunction, A2 > >::hint< undeterminated_basic< T1 >, undeterminated_basic< T > >
 
struct  swapper< BinaryFunction >
 
struct  generic_binary_traits< swapper< BinaryFunction > >
 
struct  generic_binary_traits< swapper< BinaryFunction > >::result_hint< A1, A2 >
 
struct  generic_binary_traits< swapper< BinaryFunction > >::hint< A1, A2, Result >
 
struct  function_wrapper< Function >
 
struct  function_wrapper< Result(Arg)>
 
struct  function_wrapper< Result(Arg1, Arg2)>
 

Namespaces

namespace  rheolef
 This file is part of Rheolef.
 
namespace  rheolef::details
 

Macros

#define _RHEOLEF_generic_unary_scalar(F)
 
#define _RHEOLEF_generic_binary_scalar(F)
 

Functions

 _RHEOLEF_generic_unary_scalar (cos) _RHEOLEF_generic_unary_scalar(sin) _RHEOLEF_generic_unary_scalar(tan) _RHEOLEF_generic_unary_scalar(acos) _RHEOLEF_generic_unary_scalar(asin) _RHEOLEF_generic_unary_scalar(atan) _RHEOLEF_generic_unary_scalar(cosh) _RHEOLEF_generic_unary_scalar(sinh) _RHEOLEF_generic_unary_scalar(tanh) _RHEOLEF_generic_unary_scalar(exp) _RHEOLEF_generic_unary_scalar(log) _RHEOLEF_generic_unary_scalar(log10) _RHEOLEF_generic_unary_scalar(sqrt) _RHEOLEF_generic_unary_scalar(abs) _RHEOLEF_generic_unary_scalar(fabs) _RHEOLEF_generic_unary_scalar(floor) _RHEOLEF_generic_unary_scalar(ceil) _RHEOLEF_generic_unary_scalar(sqr) struct tr_
 
 _RHEOLEF_generic_binary_scalar (atan2) _RHEOLEF_generic_binary_scalar(pow) _RHEOLEF_generic_binary_scalar(fmod) _RHEOLEF_generic_binary_scalar(min) _RHEOLEF_generic_binary_scalar(max) struct dot_
 
template<class Function >
Function function_wrap (Function f)
 
template<class Result , class Arg >
std::pointer_to_unary_function< Arg, Result > function_wrap (Result(*f)(Arg))
 
template<class Result , class Arg1 , class Arg2 >
std::pointer_to_binary_function< Arg1, Arg2, Result > function_wrap (Result(*f)(Arg1, Arg2))
 

Detailed Description

expression - involved by interpolate and integrate

Definition in file expression.h.

Macro Definition Documentation

◆ _RHEOLEF_generic_unary_scalar

#define _RHEOLEF_generic_unary_scalar (   F)
Value:
struct F##_ { \
template<class T> \
T operator() (const T& x) const { return F(x); } \
}; \
template<> \
struct generic_unary_traits<F##_> { \
template <class Arg> \
struct result_hint { \
typedef typename scalar_traits<Arg>::type type; \
}; \
template <class Arg, class Result> \
struct hint { \
typedef typename promote< \
typename scalar_traits<Arg>::type \
,typename scalar_traits<Result>::type>::type S; \
typedef S result_type; \
typedef S argument_type; \
}; \
static space_constant::valued_type \
valued_tag (space_constant::valued_type) { \
return space_constant::scalar; \
} \
};
Expr1::float_type T
Definition field_expr.h:230

Definition at line 254 of file expression.h.

◆ _RHEOLEF_generic_binary_scalar

#define _RHEOLEF_generic_binary_scalar (   F)
Value:
struct F##_ { \
template<class A1, class A2> \
typename promote<A1,A2>::type \
operator() (const A1& x, const A2& y) const { \
typedef typename promote<A1,A2>::type R; \
return F(R(x),R(y)); } \
}; \
template<> \
struct generic_binary_traits<F##_> : scalar_binary_traits<F##_> {}; \

Definition at line 1428 of file expression.h.