From fcba0da97375e99a24b4d301d47f2f4ed5c919d7 Mon Sep 17 00:00:00 2001 From: Simon Sticko Date: Thu, 7 Apr 2022 09:11:58 +0200 Subject: [PATCH] Define Quadrature<0>::SubQuadrature as Quadrature<0> Before this, the SubQuadrature of Quadrature<0> was defined as Quadrature<-1>. This can lead to problems with some compilers because Quadrature<-1> should never be instantiated. Avoid this by redefining SubQuadrature of Quadrature<0>. --- include/deal.II/base/quadrature.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/include/deal.II/base/quadrature.h b/include/deal.II/base/quadrature.h index 475229341d..effb96ad2f 100644 --- a/include/deal.II/base/quadrature.h +++ b/include/deal.II/base/quadrature.h @@ -88,9 +88,10 @@ class Quadrature : public Subscriptor public: /** * Define an alias for a quadrature that acts on an object of one dimension - * less. For cells, this would then be a face quadrature. + * less. For cells, this would then be a face quadrature. A sub quadrature of + * a 0-dimensional quadrature is defined as still being 0-dimensional. */ - using SubQuadrature = Quadrature; + using SubQuadrature = Quadrature; /** * Constructor. @@ -483,7 +484,8 @@ Quadrature::serialize(Archive &ar, const unsigned int) template <> Quadrature<0>::Quadrature(const unsigned int); template <> -Quadrature<0>::Quadrature(const Quadrature<-1> &, const Quadrature<1> &); +Quadrature<0>::Quadrature(const Quadrature<0>::SubQuadrature &, + const Quadrature<1> &); template <> Quadrature<0>::Quadrature(const Quadrature<1> &); template <> -- 2.39.5