From 098efcd6b47fa7a1e354e45c851afc53f4623f92 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Fri, 8 Jul 2016 13:41:47 -0500 Subject: [PATCH] Avoid use of std::is_default_constructible. Some older compilers that have a -std=c++0x flag and that we deem C++11 compatible do apparently not support std::is_default_constructible, despite the fact that they support std::is_base_of. Therefore, avoid the use of it. This does not matter here because just a few lines further down, we call 'make_shared()' which already requires default constructibility, and so the user will get an error one way or the other. While there, also ensure that we use the correct include file. --- include/deal.II/base/quadrature_point_data.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/include/deal.II/base/quadrature_point_data.h b/include/deal.II/base/quadrature_point_data.h index 4b099374fb..e383115ccb 100644 --- a/include/deal.II/base/quadrature_point_data.h +++ b/include/deal.II/base/quadrature_point_data.h @@ -32,7 +32,7 @@ #include #include -#include +#include DEAL_II_NAMESPACE_OPEN @@ -89,7 +89,7 @@ public: * in different parts of the domain. * * @pre The type @p T needs to either equal @p DataType, or be a class derived - * from @p DataType. + * from @p DataType. @p T needs to be default constructible. */ template void initialize(const CellIteratorType &cell, @@ -507,8 +507,6 @@ void CellDataStorage::initialize(const CellIteratorTy { static_assert(std::is_base_of::value, "User's T class should be derived from user's DataType class"); - static_assert(std::is_default_constructible::value, - "Class T requires default-constructible elements"); if (map.find(cell) == map.end()) { -- 2.39.5