]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add a 'requires' clause to class DoFHandler.
authorWolfgang Bangerth <bangerth@colostate.edu>
Sun, 26 Feb 2023 13:26:48 +0000 (06:26 -0700)
committerWolfgang Bangerth <bangerth@colostate.edu>
Thu, 2 Mar 2023 10:26:28 +0000 (03:26 -0700)
27 files changed:
include/deal.II/dofs/block_info.h
include/deal.II/dofs/dof_accessor.h
include/deal.II/dofs/dof_handler.h
include/deal.II/dofs/dof_handler_policy.h
include/deal.II/dofs/dof_iterator_selector.h
include/deal.II/dofs/dof_objects.h
include/deal.II/fe/fe_tools.h
include/deal.II/fe/mapping_q_cache.h
include/deal.II/grid/tria_accessor.h
include/deal.II/hp/refinement.h
include/deal.II/multigrid/mg_constrained_dofs.h
include/deal.II/multigrid/mg_tools.h
include/deal.II/multigrid/mg_transfer_block.h
include/deal.II/multigrid/mg_transfer_component.h
include/deal.II/numerics/data_out_stack.h
include/deal.II/numerics/error_estimator.h
include/deal.II/numerics/matrix_creator.h
include/deal.II/numerics/matrix_tools.h
include/deal.II/numerics/smoothness_estimator.h
include/deal.II/numerics/vector_tools_boundary.h
include/deal.II/numerics/vector_tools_integrate_difference.h
include/deal.II/numerics/vector_tools_interpolate.h
include/deal.II/numerics/vector_tools_mean_value.h
include/deal.II/numerics/vector_tools_point_gradient.h
include/deal.II/numerics/vector_tools_point_value.h
include/deal.II/numerics/vector_tools_project.h
include/deal.II/numerics/vector_tools_rhs.h

index d79d82b1c8fbf9cb7301566f51f424b505ce8d4a..ed008fefacc823660231e40ab3de3d5da9959128 100644 (file)
@@ -20,6 +20,7 @@
 
 #include <deal.II/base/memory_consumption.h>
 #include <deal.II/base/subscriptor.h>
+#include <deal.II/base/template_constraints.h>
 
 #include <deal.II/lac/block_indices.h>
 
@@ -30,6 +31,7 @@ DEAL_II_NAMESPACE_OPEN
 // Forward declarations
 #ifndef DOXYGEN
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 #endif
 
index f7fc7e3f3a8f5974b104a34e5b1b76154440878a..cac4c92a63c2a7adb8e5c8bd10a18ab12f97d7cb 100644 (file)
@@ -739,6 +739,7 @@ private:
   // Make the DoFHandler class a friend so that it can call the set_xxx()
   // functions.
   template <int, int>
+  DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
   friend class DoFHandler;
 
   friend struct dealii::internal::DoFHandlerImplementation::Policy::
@@ -1208,7 +1209,8 @@ protected:
 
   // Make the DoFHandler class a friend so that it can call the set_xxx()
   // functions.
-  template <int, int>
+  template <int dim1, int spacedim1>
+  DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim1, spacedim1>))
   friend class DoFHandler;
 
   friend struct dealii::internal::DoFHandlerImplementation::Policy::
index cdf76cca82dc8be56d1221d9ad6f6c6f6562189c..37b7d41f4480b4d3584522b302017730fa5d9c21 100644 (file)
@@ -311,6 +311,7 @@ namespace parallel
  * @ingroup dofs
  */
 template <int dim, int spacedim = dim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler : public Subscriptor
 {
   using ActiveSelector =
index ed06bd23f6a66c3b12a83f6afc34b5abe2411dba..b4c81cf29fe15d9c506983b7fcb26b2a37133fd4 100644 (file)
@@ -32,7 +32,8 @@ DEAL_II_NAMESPACE_OPEN
 
 // Forward declaration
 #ifndef DOXYGEN
-template <int, int>
+template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 #endif
 
index ae405a6a2e4b9aa7c3adddafed7487c583ee337d..7664394da27621c7c655f483b2fdb456cf58abf6 100644 (file)
@@ -32,6 +32,7 @@ template <int dim, int spacedim, bool lda>
 class DoFCellAccessor;
 
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 
 template <typename Accessor>
index b8259b3a84efb6d32a5afa7990751ad059d9342f..decfe958fa3e0fa09691504b4d4afdac3e2f9d29 100644 (file)
@@ -20,6 +20,7 @@
 #include <deal.II/base/config.h>
 
 #include <deal.II/base/exceptions.h>
+#include <deal.II/base/template_constraints.h>
 
 #include <vector>
 
@@ -27,7 +28,8 @@ DEAL_II_NAMESPACE_OPEN
 
 // Forward declarations
 #ifndef DOXYGEN
-template <int, int>
+template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 #endif
 
index 1593407b8ce0161fd4abdecf649514eefb47cb9f..9612e24d559a59090ab1e94f7c32ab84dccc03f8 100644 (file)
@@ -48,6 +48,7 @@ class Quadrature;
 template <int dim, int spacedim>
 class FiniteElement;
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 template <int dim>
 class FiniteElementData;
index 734e5d982f5a7787a95eb8713197fe5178d08eb5..e39b58287a81ad8f7d26d3ea2e13fdfd5da2ebcc 100644 (file)
@@ -31,7 +31,8 @@ DEAL_II_NAMESPACE_OPEN
 
 // Forward declarations
 #ifndef DOXYGEN
-template <int, int>
+template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 #endif
 
index 60d3d4206b67edf97b3ad84488505e48a0fd57f2..07da1186452834930b6b8987ba52a929ec00fd03 100644 (file)
@@ -55,6 +55,7 @@ namespace parallel
 }
 
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 template <int dim, int spacedim, bool lda>
 class DoFCellAccessor;
index 2ec1944304cfbb2cdfa4f148e316796d500692bd..08fef0f7c0fdd8011cface78dcc5940cd9e92ee8 100644 (file)
@@ -34,6 +34,7 @@ template <typename Number>
 class Vector;
 
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 #endif
 
index 64694b461cecad605770dd012e96293b8646d1a2..2ed97fd08bb1d8d89c3853b084d66de2e30b2b21 100644 (file)
@@ -33,6 +33,7 @@ DEAL_II_NAMESPACE_OPEN
 // Forward declaration
 #ifndef DOXYGEN
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 #endif
 
index 2ea75eacfb5d76f0ac6fa46cdae4d048f1e81373..a6c788ca2910aea25eb471a84f956124720ef035 100644 (file)
@@ -32,6 +32,7 @@ DEAL_II_NAMESPACE_OPEN
 // Forward declarations
 #ifndef DOXYGEN
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 class MGConstrainedDoFs;
 #endif
index 3d23ecc8d6f87e5d40fb9ccd93c875773a0ecd7a..26b4eb843dca440b898f1c52dab61aa0db6278b1 100644 (file)
@@ -38,6 +38,7 @@ DEAL_II_NAMESPACE_OPEN
 // Forward declaration
 #ifndef DOXYGEN
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 #endif
 
index 8139049cccec3317071f45933dea24887d715775..d45b329cb0b4dc8dbddf03e1506d4b3e74a76cb3 100644 (file)
@@ -40,6 +40,7 @@ DEAL_II_NAMESPACE_OPEN
 // Forward declaration
 #ifndef DOXYGEN
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 #endif
 
index cc1c5c2a50c8282b8b9c822eeb2f10d97f3ff037..59724e0b9b9ec396069c83115f726e591b8fc688 100644 (file)
@@ -34,6 +34,7 @@ DEAL_II_NAMESPACE_OPEN
 // Forward declaration
 #ifndef DOXYGEN
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 #endif
 
index 34cff1280e66856e8dbc8b8a66f5dcc9d695ca6d..b59664503e8d8a4f10f98454cf1cc70f001fd2b2 100644 (file)
@@ -30,7 +30,8 @@ DEAL_II_NAMESPACE_OPEN
 
 // Forward declarations
 #ifndef DOXYGEN
-template <int, int>
+template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 template <int, int>
 class Mapping;
index abb6ed35ae7097786dd96a180cbc9c0f207019d9..94819944ee9412e9b6be1fd5e1926f1784a7ac59 100644 (file)
@@ -47,6 +47,7 @@ class SparseMatrix;
 template <int dim, int spacedim>
 class Mapping;
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 
 namespace hp
index 9f7c78a29fc1a83f98ea50aa1f6b682cbd2a0257..403e932d2547aacaf14c0012675bc77c2cac36ab 100644 (file)
@@ -56,6 +56,7 @@ class BlockVector;
 template <int dim, int spacedim>
 class Mapping;
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 
 namespace hp
index 1ef89230cf383930df3b5ed5f28339bd212092e6..7dd95867dbc473533a623eace2f53091147aa5d4 100644 (file)
@@ -36,6 +36,7 @@ template <typename Number>
 class Vector;
 
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 
 namespace FESeries
index 117c201fc0e8c16e44f06dce06eca50e083f33eb..572848dd6b429ae97bbd82123708b4b428ede13c 100644 (file)
@@ -30,6 +30,7 @@ DEAL_II_NAMESPACE_OPEN
 template <typename number>
 class AffineConstraints;
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 template <int dim, typename Number>
 class Function;
index 27a93981642df7d532c99f95eaade81b161baf2c..dc029fe2349ea6622fed052d654ff732e3099c8b 100644 (file)
@@ -24,6 +24,7 @@
 DEAL_II_NAMESPACE_OPEN
 
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 template <int dim, typename Number>
 class Function;
index 490d6af7bedc90e21cfd0bd639aa32c1655aac4b..007b1923d0af2472eca8e94080a18de780322831 100644 (file)
@@ -27,6 +27,7 @@ DEAL_II_NAMESPACE_OPEN
 template <typename number>
 class AffineConstraints;
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 template <typename number>
 class FullMatrix;
index 6e0246832c8dde499c1bd07ba51e8c3f6d1693ea..7ddd905b26b20004d424e80acac4261491a0db65 100644 (file)
@@ -26,6 +26,7 @@ DEAL_II_NAMESPACE_OPEN
 #ifndef DOXYGEN
 // forward declarations
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 template <int dim, int spacedim>
 class Mapping;
index 3c0bd57146695d9e134755b06dae868da8124060..d4a51e05e95f5498e813ccb7d0aaea111e98c657 100644 (file)
@@ -25,6 +25,7 @@
 DEAL_II_NAMESPACE_OPEN
 
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 template <int dim, typename Number>
 class Function;
index 728dda721125c88c85d1e1442d3af45de93ef072..972cd4696eda0dd78aa7e826899cf4d4da99309c 100644 (file)
@@ -22,6 +22,7 @@
 DEAL_II_NAMESPACE_OPEN
 
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 template <int dim, typename Number>
 class Function;
index 624684e0db4c5f3dcb379b45b71a144d64d54c14..ee8b993c2e4f0e9cca9fb812ec99f265cd056661 100644 (file)
@@ -27,6 +27,7 @@ DEAL_II_NAMESPACE_OPEN
 template <typename number>
 class AffineConstraints;
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 template <int dim, typename Number>
 class Function;
index ba3ce50a7e87eacc1d7970bcae2492c70666eb0f..40cc523691e8c554746f7cd84a0e9e9653386d9d 100644 (file)
@@ -25,6 +25,7 @@ DEAL_II_NAMESPACE_OPEN
 template <typename number>
 class AffineConstraints;
 template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
 class DoFHandler;
 template <int dim, typename Number>
 class Function;

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.