From: Wolfgang Bangerth Date: Fri, 8 Jul 2016 18:41:47 +0000 (-0500) Subject: Avoid use of std::is_default_constructible. X-Git-Tag: v8.5.0-rc1~898^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=098efcd6b47fa7a1e354e45c851afc53f4623f92;p=dealii.git 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. --- 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()) {