From ae50151b9258a5f79431140f6c83edd6bb9bfa86 Mon Sep 17 00:00:00 2001 From: Jean-Paul Pelteret Date: Thu, 24 Aug 2017 11:05:56 +0200 Subject: [PATCH] Update FEValuesViews OutputType to use std::decay --- include/deal.II/fe/fe_values.h | 36 ++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/include/deal.II/fe/fe_values.h b/include/deal.II/fe/fe_values.h index 1afb4abcc3..3839ea98d0 100644 --- a/include/deal.II/fe/fe_values.h +++ b/include/deal.II/fe/fe_values.h @@ -38,6 +38,8 @@ #include #include +#include + // dummy include in order to have the // definition of PetscScalar available @@ -176,31 +178,31 @@ namespace FEValuesViews * A typedef for the data type of the product of a @p Number and the * values of the view the Scalar class. */ - typedef typename ProductType::type, typename Scalar::value_type>::type value_type; + typedef typename ProductType::type, typename Scalar::value_type>::type value_type; /** * A typedef for the data type of the product of a @p Number and the * gradients of the view the Scalar class. */ - typedef typename ProductType::type, typename Scalar::gradient_type>::type gradient_type; + typedef typename ProductType::type, typename Scalar::gradient_type>::type gradient_type; /** * A typedef for the data type of the product of a @p Number and the * laplacians of the view the Scalar class. */ - typedef typename ProductType::type, typename Scalar::value_type>::type laplacian_type; + typedef typename ProductType::type, typename Scalar::value_type>::type laplacian_type; /** * A typedef for the data type of the product of a @p Number and the * hessians of the view the Scalar class. */ - typedef typename ProductType::type, typename Scalar::hessian_type>::type hessian_type; + typedef typename ProductType::type, typename Scalar::hessian_type>::type hessian_type; /** * A typedef for the data type of the product of a @p Number and the * third derivatives of the view the Scalar class. */ - typedef typename ProductType::type, typename Scalar::third_derivative_type>::type third_derivative_type; + typedef typename ProductType::type, typename Scalar::third_derivative_type>::type third_derivative_type; }; /** @@ -593,49 +595,49 @@ namespace FEValuesViews * A typedef for the data type of the product of a @p Number and the * values of the view the Vector class. */ - typedef typename ProductType::type, typename Vector::value_type>::type value_type; + typedef typename ProductType::type, typename Vector::value_type>::type value_type; /** * A typedef for the data type of the product of a @p Number and the * gradients of the view the Vector class. */ - typedef typename ProductType::type, typename Vector::gradient_type>::type gradient_type; + typedef typename ProductType::type, typename Vector::gradient_type>::type gradient_type; /** * A typedef for the data type of the product of a @p Number and the * symmetric gradients of the view the Vector class. */ - typedef typename ProductType::type, typename Vector::symmetric_gradient_type>::type symmetric_gradient_type; + typedef typename ProductType::type, typename Vector::symmetric_gradient_type>::type symmetric_gradient_type; /** * A typedef for the data type of the product of a @p Number and the * divergences of the view the Vector class. */ - typedef typename ProductType::type, typename Vector::divergence_type>::type divergence_type; + typedef typename ProductType::type, typename Vector::divergence_type>::type divergence_type; /** * A typedef for the data type of the product of a @p Number and the * laplacians of the view the Vector class. */ - typedef typename ProductType::type, typename Vector::value_type>::type laplacian_type; + typedef typename ProductType::type, typename Vector::value_type>::type laplacian_type; /** * A typedef for the data type of the product of a @p Number and the * curls of the view the Vector class. */ - typedef typename ProductType::type, typename Vector::curl_type>::type curl_type; + typedef typename ProductType::type, typename Vector::curl_type>::type curl_type; /** * A typedef for the data type of the product of a @p Number and the * hessians of the view the Vector class. */ - typedef typename ProductType::type, typename Vector::hessian_type>::type hessian_type; + typedef typename ProductType::type, typename Vector::hessian_type>::type hessian_type; /** * A typedef for the data type of the product of a @p Number and the * third derivatives of the view the Vector class. */ - typedef typename ProductType::type, typename Vector::third_derivative_type>::type third_derivative_type; + typedef typename ProductType::type, typename Vector::third_derivative_type>::type third_derivative_type; }; /** @@ -1155,13 +1157,13 @@ namespace FEValuesViews * A typedef for the data type of the product of a @p Number and the * values of the view the SymmetricTensor class. */ - typedef typename ProductType::type, typename SymmetricTensor<2,dim,spacedim>::value_type>::type value_type; + typedef typename ProductType::type, typename SymmetricTensor<2,dim,spacedim>::value_type>::type value_type; /** * A typedef for the data type of the product of a @p Number and the * divergences of the view the SymmetricTensor class. */ - typedef typename ProductType::type, typename SymmetricTensor<2,dim,spacedim>::divergence_type>::type divergence_type; + typedef typename ProductType::type, typename SymmetricTensor<2,dim,spacedim>::divergence_type>::type divergence_type; }; /** @@ -1411,13 +1413,13 @@ namespace FEValuesViews * A typedef for the data type of the product of a @p Number and the * values of the view the Tensor class. */ - typedef typename ProductType::type, typename Tensor<2,dim,spacedim>::value_type>::type value_type; + typedef typename ProductType::type, typename Tensor<2,dim,spacedim>::value_type>::type value_type; /** * A typedef for the data type of the product of a @p Number and the * divergences of the view the Tensor class. */ - typedef typename ProductType::type, typename Tensor<2,dim,spacedim>::divergence_type>::type divergence_type; + typedef typename ProductType::type, typename Tensor<2,dim,spacedim>::divergence_type>::type divergence_type; }; /** -- 2.39.5