From 1f035e1215a0cb9020df7d5e940f1e9f2b23e5d2 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Sun, 26 Feb 2023 06:26:48 -0700 Subject: [PATCH] Add a 'requires' clause to class DoFHandler. --- include/deal.II/dofs/block_info.h | 2 ++ include/deal.II/dofs/dof_accessor.h | 4 +++- include/deal.II/dofs/dof_handler.h | 1 + include/deal.II/dofs/dof_handler_policy.h | 3 ++- include/deal.II/dofs/dof_iterator_selector.h | 1 + include/deal.II/dofs/dof_objects.h | 4 +++- include/deal.II/fe/fe_tools.h | 1 + include/deal.II/fe/mapping_q_cache.h | 3 ++- include/deal.II/grid/tria_accessor.h | 1 + include/deal.II/hp/refinement.h | 1 + include/deal.II/multigrid/mg_constrained_dofs.h | 1 + include/deal.II/multigrid/mg_tools.h | 1 + include/deal.II/multigrid/mg_transfer_block.h | 1 + include/deal.II/multigrid/mg_transfer_component.h | 1 + include/deal.II/numerics/data_out_stack.h | 1 + include/deal.II/numerics/error_estimator.h | 3 ++- include/deal.II/numerics/matrix_creator.h | 1 + include/deal.II/numerics/matrix_tools.h | 1 + include/deal.II/numerics/smoothness_estimator.h | 1 + include/deal.II/numerics/vector_tools_boundary.h | 1 + include/deal.II/numerics/vector_tools_integrate_difference.h | 1 + include/deal.II/numerics/vector_tools_interpolate.h | 1 + include/deal.II/numerics/vector_tools_mean_value.h | 1 + include/deal.II/numerics/vector_tools_point_gradient.h | 1 + include/deal.II/numerics/vector_tools_point_value.h | 1 + include/deal.II/numerics/vector_tools_project.h | 1 + include/deal.II/numerics/vector_tools_rhs.h | 1 + 27 files changed, 35 insertions(+), 5 deletions(-) diff --git a/include/deal.II/dofs/block_info.h b/include/deal.II/dofs/block_info.h index d79d82b1c8..ed008fefac 100644 --- a/include/deal.II/dofs/block_info.h +++ b/include/deal.II/dofs/block_info.h @@ -20,6 +20,7 @@ #include #include +#include #include @@ -30,6 +31,7 @@ DEAL_II_NAMESPACE_OPEN // Forward declarations #ifndef DOXYGEN template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; #endif diff --git a/include/deal.II/dofs/dof_accessor.h b/include/deal.II/dofs/dof_accessor.h index f7fc7e3f3a..cac4c92a63 100644 --- a/include/deal.II/dofs/dof_accessor.h +++ b/include/deal.II/dofs/dof_accessor.h @@ -739,6 +739,7 @@ private: // Make the DoFHandler class a friend so that it can call the set_xxx() // functions. template + DEAL_II_CXX20_REQUIRES((concepts::is_valid_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 + template + DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) friend class DoFHandler; friend struct dealii::internal::DoFHandlerImplementation::Policy:: diff --git a/include/deal.II/dofs/dof_handler.h b/include/deal.II/dofs/dof_handler.h index cdf76cca82..37b7d41f44 100644 --- a/include/deal.II/dofs/dof_handler.h +++ b/include/deal.II/dofs/dof_handler.h @@ -311,6 +311,7 @@ namespace parallel * @ingroup dofs */ template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler : public Subscriptor { using ActiveSelector = diff --git a/include/deal.II/dofs/dof_handler_policy.h b/include/deal.II/dofs/dof_handler_policy.h index ed06bd23f6..b4c81cf29f 100644 --- a/include/deal.II/dofs/dof_handler_policy.h +++ b/include/deal.II/dofs/dof_handler_policy.h @@ -32,7 +32,8 @@ DEAL_II_NAMESPACE_OPEN // Forward declaration #ifndef DOXYGEN -template +template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; #endif diff --git a/include/deal.II/dofs/dof_iterator_selector.h b/include/deal.II/dofs/dof_iterator_selector.h index ae405a6a2e..7664394da2 100644 --- a/include/deal.II/dofs/dof_iterator_selector.h +++ b/include/deal.II/dofs/dof_iterator_selector.h @@ -32,6 +32,7 @@ template class DoFCellAccessor; template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template diff --git a/include/deal.II/dofs/dof_objects.h b/include/deal.II/dofs/dof_objects.h index b8259b3a84..decfe958fa 100644 --- a/include/deal.II/dofs/dof_objects.h +++ b/include/deal.II/dofs/dof_objects.h @@ -20,6 +20,7 @@ #include #include +#include #include @@ -27,7 +28,8 @@ DEAL_II_NAMESPACE_OPEN // Forward declarations #ifndef DOXYGEN -template +template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; #endif diff --git a/include/deal.II/fe/fe_tools.h b/include/deal.II/fe/fe_tools.h index 1593407b8c..9612e24d55 100644 --- a/include/deal.II/fe/fe_tools.h +++ b/include/deal.II/fe/fe_tools.h @@ -48,6 +48,7 @@ class Quadrature; template class FiniteElement; template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template class FiniteElementData; diff --git a/include/deal.II/fe/mapping_q_cache.h b/include/deal.II/fe/mapping_q_cache.h index 734e5d982f..e39b58287a 100644 --- a/include/deal.II/fe/mapping_q_cache.h +++ b/include/deal.II/fe/mapping_q_cache.h @@ -31,7 +31,8 @@ DEAL_II_NAMESPACE_OPEN // Forward declarations #ifndef DOXYGEN -template +template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; #endif diff --git a/include/deal.II/grid/tria_accessor.h b/include/deal.II/grid/tria_accessor.h index 60d3d4206b..07da118645 100644 --- a/include/deal.II/grid/tria_accessor.h +++ b/include/deal.II/grid/tria_accessor.h @@ -55,6 +55,7 @@ namespace parallel } template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template class DoFCellAccessor; diff --git a/include/deal.II/hp/refinement.h b/include/deal.II/hp/refinement.h index 2ec1944304..08fef0f7c0 100644 --- a/include/deal.II/hp/refinement.h +++ b/include/deal.II/hp/refinement.h @@ -34,6 +34,7 @@ template class Vector; template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; #endif diff --git a/include/deal.II/multigrid/mg_constrained_dofs.h b/include/deal.II/multigrid/mg_constrained_dofs.h index 64694b461c..2ed97fd08b 100644 --- a/include/deal.II/multigrid/mg_constrained_dofs.h +++ b/include/deal.II/multigrid/mg_constrained_dofs.h @@ -33,6 +33,7 @@ DEAL_II_NAMESPACE_OPEN // Forward declaration #ifndef DOXYGEN template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; #endif diff --git a/include/deal.II/multigrid/mg_tools.h b/include/deal.II/multigrid/mg_tools.h index 2ea75eacfb..a6c788ca29 100644 --- a/include/deal.II/multigrid/mg_tools.h +++ b/include/deal.II/multigrid/mg_tools.h @@ -32,6 +32,7 @@ DEAL_II_NAMESPACE_OPEN // Forward declarations #ifndef DOXYGEN template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; class MGConstrainedDoFs; #endif diff --git a/include/deal.II/multigrid/mg_transfer_block.h b/include/deal.II/multigrid/mg_transfer_block.h index 3d23ecc8d6..26b4eb843d 100644 --- a/include/deal.II/multigrid/mg_transfer_block.h +++ b/include/deal.II/multigrid/mg_transfer_block.h @@ -38,6 +38,7 @@ DEAL_II_NAMESPACE_OPEN // Forward declaration #ifndef DOXYGEN template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; #endif diff --git a/include/deal.II/multigrid/mg_transfer_component.h b/include/deal.II/multigrid/mg_transfer_component.h index 8139049ccc..d45b329cb0 100644 --- a/include/deal.II/multigrid/mg_transfer_component.h +++ b/include/deal.II/multigrid/mg_transfer_component.h @@ -40,6 +40,7 @@ DEAL_II_NAMESPACE_OPEN // Forward declaration #ifndef DOXYGEN template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; #endif diff --git a/include/deal.II/numerics/data_out_stack.h b/include/deal.II/numerics/data_out_stack.h index cc1c5c2a50..59724e0b9b 100644 --- a/include/deal.II/numerics/data_out_stack.h +++ b/include/deal.II/numerics/data_out_stack.h @@ -34,6 +34,7 @@ DEAL_II_NAMESPACE_OPEN // Forward declaration #ifndef DOXYGEN template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; #endif diff --git a/include/deal.II/numerics/error_estimator.h b/include/deal.II/numerics/error_estimator.h index 34cff1280e..b59664503e 100644 --- a/include/deal.II/numerics/error_estimator.h +++ b/include/deal.II/numerics/error_estimator.h @@ -30,7 +30,8 @@ DEAL_II_NAMESPACE_OPEN // Forward declarations #ifndef DOXYGEN -template +template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template class Mapping; diff --git a/include/deal.II/numerics/matrix_creator.h b/include/deal.II/numerics/matrix_creator.h index abb6ed35ae..94819944ee 100644 --- a/include/deal.II/numerics/matrix_creator.h +++ b/include/deal.II/numerics/matrix_creator.h @@ -47,6 +47,7 @@ class SparseMatrix; template class Mapping; template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; namespace hp diff --git a/include/deal.II/numerics/matrix_tools.h b/include/deal.II/numerics/matrix_tools.h index 9f7c78a29f..403e932d25 100644 --- a/include/deal.II/numerics/matrix_tools.h +++ b/include/deal.II/numerics/matrix_tools.h @@ -56,6 +56,7 @@ class BlockVector; template class Mapping; template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; namespace hp diff --git a/include/deal.II/numerics/smoothness_estimator.h b/include/deal.II/numerics/smoothness_estimator.h index 1ef89230cf..7dd95867db 100644 --- a/include/deal.II/numerics/smoothness_estimator.h +++ b/include/deal.II/numerics/smoothness_estimator.h @@ -36,6 +36,7 @@ template class Vector; template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; namespace FESeries diff --git a/include/deal.II/numerics/vector_tools_boundary.h b/include/deal.II/numerics/vector_tools_boundary.h index 117c201fc0..572848dd6b 100644 --- a/include/deal.II/numerics/vector_tools_boundary.h +++ b/include/deal.II/numerics/vector_tools_boundary.h @@ -30,6 +30,7 @@ DEAL_II_NAMESPACE_OPEN template class AffineConstraints; template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template class Function; diff --git a/include/deal.II/numerics/vector_tools_integrate_difference.h b/include/deal.II/numerics/vector_tools_integrate_difference.h index 27a9398164..dc029fe234 100644 --- a/include/deal.II/numerics/vector_tools_integrate_difference.h +++ b/include/deal.II/numerics/vector_tools_integrate_difference.h @@ -24,6 +24,7 @@ DEAL_II_NAMESPACE_OPEN template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template class Function; diff --git a/include/deal.II/numerics/vector_tools_interpolate.h b/include/deal.II/numerics/vector_tools_interpolate.h index 490d6af7be..007b1923d0 100644 --- a/include/deal.II/numerics/vector_tools_interpolate.h +++ b/include/deal.II/numerics/vector_tools_interpolate.h @@ -27,6 +27,7 @@ DEAL_II_NAMESPACE_OPEN template class AffineConstraints; template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template class FullMatrix; diff --git a/include/deal.II/numerics/vector_tools_mean_value.h b/include/deal.II/numerics/vector_tools_mean_value.h index 6e0246832c..7ddd905b26 100644 --- a/include/deal.II/numerics/vector_tools_mean_value.h +++ b/include/deal.II/numerics/vector_tools_mean_value.h @@ -26,6 +26,7 @@ DEAL_II_NAMESPACE_OPEN #ifndef DOXYGEN // forward declarations template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template class Mapping; diff --git a/include/deal.II/numerics/vector_tools_point_gradient.h b/include/deal.II/numerics/vector_tools_point_gradient.h index 3c0bd57146..d4a51e05e9 100644 --- a/include/deal.II/numerics/vector_tools_point_gradient.h +++ b/include/deal.II/numerics/vector_tools_point_gradient.h @@ -25,6 +25,7 @@ DEAL_II_NAMESPACE_OPEN template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template class Function; diff --git a/include/deal.II/numerics/vector_tools_point_value.h b/include/deal.II/numerics/vector_tools_point_value.h index 728dda7211..972cd4696e 100644 --- a/include/deal.II/numerics/vector_tools_point_value.h +++ b/include/deal.II/numerics/vector_tools_point_value.h @@ -22,6 +22,7 @@ DEAL_II_NAMESPACE_OPEN template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template class Function; diff --git a/include/deal.II/numerics/vector_tools_project.h b/include/deal.II/numerics/vector_tools_project.h index 624684e0db..ee8b993c2e 100644 --- a/include/deal.II/numerics/vector_tools_project.h +++ b/include/deal.II/numerics/vector_tools_project.h @@ -27,6 +27,7 @@ DEAL_II_NAMESPACE_OPEN template class AffineConstraints; template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template class Function; diff --git a/include/deal.II/numerics/vector_tools_rhs.h b/include/deal.II/numerics/vector_tools_rhs.h index ba3ce50a7e..40cc523691 100644 --- a/include/deal.II/numerics/vector_tools_rhs.h +++ b/include/deal.II/numerics/vector_tools_rhs.h @@ -25,6 +25,7 @@ DEAL_II_NAMESPACE_OPEN template class AffineConstraints; template +DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim)) class DoFHandler; template class Function; -- 2.39.5