16 #ifndef dealii_differentiation_sd_symengine_product_types_h 17 #define dealii_differentiation_sd_symengine_product_types_h 21 #ifdef DEAL_II_WITH_SYMENGINE 28 # include <boost/type_traits.hpp> 30 # include <type_traits> 63 template <
typename T,
typename U,
typename V =
void>
70 typename std::enable_if<std::is_arithmetic<T>::value>
::type>
79 typename std::enable_if<
80 boost::is_complex<T>::value &&
81 std::is_arithmetic<typename T::value_type>::value>
::type>
100 using type =
typename SD::
101 GeneralProductTypeImpl<T, Differentiation::SD::Expression>::type;
104 template <
typename T>
107 using type =
typename SD::
108 GeneralProductTypeImpl<T, Differentiation::SD::Expression>::type;
115 #endif // DEAL_II_WITH_SYMENGINE
#define DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_OPEN
typename SD::GeneralProductTypeImpl< T, Differentiation::SD::Expression >::type type
typename SD::GeneralProductTypeImpl< T, Differentiation::SD::Expression >::type type