DEAL_II_NAMESPACE_OPEN
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
const types::fe_index DoFHandler<dim, spacedim>::default_fe_index;
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
DoFHandler<dim, spacedim>::DoFHandler()
: hp_capability_enabled(true)
, tria(nullptr, typeid(*this).name())
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
DoFHandler<dim, spacedim>::DoFHandler(const Triangulation<dim, spacedim> &tria)
: DoFHandler()
{
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
DoFHandler<dim, spacedim>::~DoFHandler()
{
// unsubscribe all attachments to signals of the underlying triangulation
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::reinit(const Triangulation<dim, spacedim> &tria)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::reinit(const Triangulation<dim, spacedim> &tria)
{
//
// call destructor
/*------------------------ Cell iterator functions ------------------------*/
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename DoFHandler<dim, spacedim>::cell_iterator
-DoFHandler<dim, spacedim>::begin(const unsigned int level) const
+ DoFHandler<dim, spacedim>::begin(const unsigned int level) const
{
typename Triangulation<dim, spacedim>::cell_iterator cell =
this->get_triangulation().begin(level);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename DoFHandler<dim, spacedim>::active_cell_iterator
-DoFHandler<dim, spacedim>::begin_active(const unsigned int level) const
+ DoFHandler<dim, spacedim>::begin_active(const unsigned int level) const
{
// level is checked in begin
cell_iterator i = begin(level);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename DoFHandler<dim, spacedim>::cell_iterator
-DoFHandler<dim, spacedim>::end() const
+ DoFHandler<dim, spacedim>::end() const
{
return cell_iterator(&this->get_triangulation(), -1, -1, this);
}
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename DoFHandler<dim, spacedim>::cell_iterator
-DoFHandler<dim, spacedim>::end(const unsigned int level) const
+ DoFHandler<dim, spacedim>::end(const unsigned int level) const
{
typename Triangulation<dim, spacedim>::cell_iterator cell =
this->get_triangulation().end(level);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename DoFHandler<dim, spacedim>::active_cell_iterator
-DoFHandler<dim, spacedim>::end_active(const unsigned int level) const
+ DoFHandler<dim, spacedim>::end_active(const unsigned int level) const
{
typename Triangulation<dim, spacedim>::cell_iterator cell =
this->get_triangulation().end_active(level);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename DoFHandler<dim, spacedim>::level_cell_iterator
-DoFHandler<dim, spacedim>::begin_mg(const unsigned int level) const
+ DoFHandler<dim, spacedim>::begin_mg(const unsigned int level) const
{
Assert(this->has_level_dofs(),
ExcMessage("You can only iterate over mg "
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename DoFHandler<dim, spacedim>::level_cell_iterator
-DoFHandler<dim, spacedim>::end_mg(const unsigned int level) const
+ DoFHandler<dim, spacedim>::end_mg(const unsigned int level) const
{
Assert(this->has_level_dofs(),
ExcMessage("You can only iterate over mg "
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename DoFHandler<dim, spacedim>::level_cell_iterator
-DoFHandler<dim, spacedim>::end_mg() const
+ DoFHandler<dim, spacedim>::end_mg() const
{
return level_cell_iterator(&this->get_triangulation(), -1, -1, this);
}
template <int dim, int spacedim>
-IteratorRange<typename DoFHandler<dim, spacedim>::cell_iterator>
-DoFHandler<dim, spacedim>::cell_iterators() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+IteratorRange<typename DoFHandler<dim, spacedim>::cell_iterator> DoFHandler<
+ dim,
+ spacedim>::cell_iterators() const
{
return IteratorRange<typename DoFHandler<dim, spacedim>::cell_iterator>(
begin(), end());
template <int dim, int spacedim>
-IteratorRange<typename DoFHandler<dim, spacedim>::active_cell_iterator>
-DoFHandler<dim, spacedim>::active_cell_iterators() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+IteratorRange<typename DoFHandler<dim, spacedim>::
+ active_cell_iterator> DoFHandler<dim, spacedim>::
+ active_cell_iterators() const
{
return IteratorRange<
typename DoFHandler<dim, spacedim>::active_cell_iterator>(begin_active(),
template <int dim, int spacedim>
-IteratorRange<typename DoFHandler<dim, spacedim>::level_cell_iterator>
-DoFHandler<dim, spacedim>::mg_cell_iterators() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+IteratorRange<
+ typename DoFHandler<dim, spacedim>::
+ level_cell_iterator> DoFHandler<dim, spacedim>::mg_cell_iterators() const
{
return IteratorRange<typename DoFHandler<dim, spacedim>::level_cell_iterator>(
begin_mg(), end_mg());
template <int dim, int spacedim>
-IteratorRange<typename DoFHandler<dim, spacedim>::cell_iterator>
-DoFHandler<dim, spacedim>::cell_iterators_on_level(
- const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+IteratorRange<typename DoFHandler<dim, spacedim>::cell_iterator> DoFHandler<
+ dim,
+ spacedim>::cell_iterators_on_level(const unsigned int level) const
{
return IteratorRange<typename DoFHandler<dim, spacedim>::cell_iterator>(
begin(level), end(level));
template <int dim, int spacedim>
-IteratorRange<typename DoFHandler<dim, spacedim>::active_cell_iterator>
-DoFHandler<dim, spacedim>::active_cell_iterators_on_level(
- const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+IteratorRange<typename DoFHandler<dim, spacedim>::
+ active_cell_iterator> DoFHandler<dim, spacedim>::
+ active_cell_iterators_on_level(const unsigned int level) const
{
return IteratorRange<
typename DoFHandler<dim, spacedim>::active_cell_iterator>(
template <int dim, int spacedim>
-IteratorRange<typename DoFHandler<dim, spacedim>::level_cell_iterator>
-DoFHandler<dim, spacedim>::mg_cell_iterators_on_level(
- const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+IteratorRange<typename DoFHandler<dim, spacedim>::
+ level_cell_iterator> DoFHandler<dim, spacedim>::
+ mg_cell_iterators_on_level(const unsigned int level) const
{
return IteratorRange<typename DoFHandler<dim, spacedim>::level_cell_iterator>(
begin_mg(level), end_mg(level));
template <int dim, int spacedim>
-types::global_dof_index
-DoFHandler<dim, spacedim>::n_boundary_dofs() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+types::global_dof_index DoFHandler<dim, spacedim>::n_boundary_dofs() const
{
Assert(!(dim == 2 && spacedim == 3) || hp_capability_enabled == false,
ExcNotImplementedWithHP());
template <int dim, int spacedim>
-types::global_dof_index
-DoFHandler<dim, spacedim>::n_boundary_dofs(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+types::global_dof_index DoFHandler<dim, spacedim>::n_boundary_dofs(
const std::set<types::boundary_id> &boundary_ids) const
{
Assert(!(dim == 2 && spacedim == 3) || hp_capability_enabled == false,
template <int dim, int spacedim>
-std::size_t
-DoFHandler<dim, spacedim>::memory_consumption() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+std::size_t DoFHandler<dim, spacedim>::memory_consumption() const
{
std::size_t mem = MemoryConsumption::memory_consumption(this->tria) +
MemoryConsumption::memory_consumption(this->fe_collection) +
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::distribute_dofs(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::distribute_dofs(
const FiniteElement<dim, spacedim> &fe)
{
this->distribute_dofs(hp::FECollection<dim, spacedim>(fe));
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::distribute_dofs(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::distribute_dofs(
const hp::FECollection<dim, spacedim> &ff)
{
Assert(
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::distribute_mg_dofs()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::distribute_mg_dofs()
{
AssertThrow(hp_capability_enabled == false, ExcNotImplementedWithHP());
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::initialize_local_block_info()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::initialize_local_block_info()
{
AssertThrow(hp_capability_enabled == false, ExcNotImplementedWithHP());
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::setup_policy()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::setup_policy()
{
// decide whether we need a sequential or a parallel distributed policy
if (dynamic_cast<const dealii::parallel::shared::Triangulation<dim, spacedim>
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::clear()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::clear()
{
// release memory
this->clear_space();
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::clear_space()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::clear_space()
{
object_dof_indices.clear();
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::clear_mg_space()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::clear_mg_space()
{
this->mg_levels.clear();
this->mg_faces.reset();
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::renumber_dofs(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::renumber_dofs(
const std::vector<types::global_dof_index> &new_numbers)
{
if (hp_capability_enabled)
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::renumber_dofs(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::renumber_dofs(
const unsigned int level,
const std::vector<types::global_dof_index> &new_numbers)
{
template <int dim, int spacedim>
-unsigned int
-DoFHandler<dim, spacedim>::max_couplings_between_boundary_dofs() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int DoFHandler<dim, spacedim>::max_couplings_between_boundary_dofs()
+ const
{
Assert(this->fe_collection.size() > 0, ExcNoFESelected());
template <int dim, int spacedim>
-unsigned int
-DoFHandler<dim, spacedim>::max_couplings_between_dofs() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int DoFHandler<dim, spacedim>::max_couplings_between_dofs() const
{
Assert(this->fe_collection.size() > 0, ExcNoFESelected());
return internal::DoFHandlerImplementation::Implementation::
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::set_active_fe_indices(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::set_active_fe_indices(
const std::vector<types::fe_index> &active_fe_indices)
{
Assert(active_fe_indices.size() == this->get_triangulation().n_active_cells(),
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::set_active_fe_indices(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::set_active_fe_indices(
const std::vector<unsigned int> &active_fe_indices)
{
set_active_fe_indices(std::vector<types::fe_index>(active_fe_indices.begin(),
template <int dim, int spacedim>
-std::vector<types::fe_index>
-DoFHandler<dim, spacedim>::get_active_fe_indices() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+std::vector<types::fe_index> DoFHandler<dim, spacedim>::get_active_fe_indices()
+ const
{
std::vector<types::fe_index> active_fe_indices(
this->get_triangulation().n_active_cells(), numbers::invalid_fe_index);
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::get_active_fe_indices(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::get_active_fe_indices(
std::vector<unsigned int> &active_fe_indices) const
{
const std::vector<types::fe_index> indices = get_active_fe_indices();
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::set_future_fe_indices(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::set_future_fe_indices(
const std::vector<types::fe_index> &future_fe_indices)
{
Assert(future_fe_indices.size() == this->get_triangulation().n_active_cells(),
template <int dim, int spacedim>
-std::vector<types::fe_index>
-DoFHandler<dim, spacedim>::get_future_fe_indices() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+std::vector<types::fe_index> DoFHandler<dim, spacedim>::get_future_fe_indices()
+ const
{
std::vector<types::fe_index> future_fe_indices(
this->get_triangulation().n_active_cells(), numbers::invalid_fe_index);
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::connect_to_triangulation_signals()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::connect_to_triangulation_signals()
{
// make sure this is called during initialization in hp-mode
Assert(hp_capability_enabled, ExcOnlyAvailableWithHP());
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::create_active_fe_table()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::create_active_fe_table()
{
AssertThrow(hp_capability_enabled == true, ExcOnlyAvailableWithHP());
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::update_active_fe_table()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::update_active_fe_table()
{
// // Normally only one level is added, but if this Triangulation
// // is created by copy_triangulation, it can be more than one level.
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::pre_transfer_action()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::pre_transfer_action()
{
Assert(this->active_fe_index_transfer == nullptr, ExcInternalError());
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::pre_distributed_transfer_action()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::pre_distributed_transfer_action()
{
#ifndef DEAL_II_WITH_P4EST
Assert(false,
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::post_transfer_action()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::post_transfer_action()
{
update_active_fe_table();
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::post_distributed_transfer_action()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::post_distributed_transfer_action()
{
#ifndef DEAL_II_WITH_P4EST
Assert(false, ExcInternalError());
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::prepare_for_serialization_of_active_fe_indices()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::prepare_for_serialization_of_active_fe_indices()
{
#ifndef DEAL_II_WITH_P4EST
Assert(false,
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::deserialize_active_fe_indices()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::deserialize_active_fe_indices()
{
#ifndef DEAL_II_WITH_P4EST
Assert(false,
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
DoFHandler<dim, spacedim>::MGVertexDoFs::MGVertexDoFs()
: coarsest_level(numbers::invalid_unsigned_int)
, finest_level(0)
template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::MGVertexDoFs::init(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void DoFHandler<dim, spacedim>::MGVertexDoFs::init(
const unsigned int cl,
const unsigned int fl,
const unsigned int dofs_per_vertex)
template <int dim, int spacedim>
-unsigned int
-DoFHandler<dim, spacedim>::MGVertexDoFs::get_coarsest_level() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int DoFHandler<dim, spacedim>::MGVertexDoFs::get_coarsest_level() const
{
return coarsest_level;
}
template <int dim, int spacedim>
-unsigned int
-DoFHandler<dim, spacedim>::MGVertexDoFs::get_finest_level() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int DoFHandler<dim, spacedim>::MGVertexDoFs::get_finest_level() const
{
return finest_level;
}
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
const unsigned int Triangulation<dim, spacedim>::dimension;
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
Triangulation<dim, spacedim>::Triangulation(
const MeshSmoothing smooth_grid,
const bool check_for_distorted_cells)
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
Triangulation<dim, spacedim>::Triangulation(
Triangulation<dim, spacedim> &&tria) noexcept
: Subscriptor(std::move(tria))
template <int dim, int spacedim>
-Triangulation<dim, spacedim> &
-Triangulation<dim, spacedim>::operator=(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+Triangulation<dim, spacedim> &Triangulation<dim, spacedim>::operator=(
Triangulation<dim, spacedim> &&tria) noexcept
{
Subscriptor::operator=(std::move(tria));
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
Triangulation<dim, spacedim>::~Triangulation()
{
// notify listeners that the triangulation is going down...
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::clear()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::clear()
{
// notify listeners that the triangulation is going down...
signals.clear();
template <int dim, int spacedim>
-MPI_Comm
-Triangulation<dim, spacedim>::get_communicator() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+MPI_Comm Triangulation<dim, spacedim>::get_communicator() const
{
return MPI_COMM_SELF;
}
template <int dim, int spacedim>
-const std::weak_ptr<const Utilities::MPI::Partitioner>
-Triangulation<dim, spacedim>::global_active_cell_index_partitioner() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+const std::weak_ptr<const Utilities::MPI::Partitioner> Triangulation<
+ dim,
+ spacedim>::global_active_cell_index_partitioner() const
{
return number_cache.active_cell_index_partitioner;
}
template <int dim, int spacedim>
-const std::weak_ptr<const Utilities::MPI::Partitioner>
-Triangulation<dim, spacedim>::global_level_cell_index_partitioner(
- const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+const std::weak_ptr<const Utilities::MPI::Partitioner> Triangulation<
+ dim,
+ spacedim>::global_level_cell_index_partitioner(const unsigned int level) const
{
AssertIndexRange(level, this->n_levels());
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::set_mesh_smoothing(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::set_mesh_smoothing(
const MeshSmoothing mesh_smoothing)
{
Assert(n_levels() == 0,
template <int dim, int spacedim>
-const typename Triangulation<dim, spacedim>::MeshSmoothing &
-Triangulation<dim, spacedim>::get_mesh_smoothing() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+const typename Triangulation<dim, spacedim>::MeshSmoothing
+ &Triangulation<dim, spacedim>::get_mesh_smoothing() const
{
return smooth_grid;
}
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::set_manifold(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::set_manifold(
const types::manifold_id m_number,
const Manifold<dim, spacedim> &manifold_object)
{
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::reset_manifold(const types::manifold_id m_number)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::reset_manifold(
+ const types::manifold_id m_number)
{
AssertIndexRange(m_number, numbers::flat_manifold_id);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::reset_all_manifolds()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::reset_all_manifolds()
{
manifolds.clear();
}
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::set_all_manifold_ids(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::set_all_manifold_ids(
const types::manifold_id m_number)
{
Assert(
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::set_all_manifold_ids_on_boundary(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::set_all_manifold_ids_on_boundary(
const types::manifold_id m_number)
{
Assert(
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::set_all_manifold_ids_on_boundary(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::set_all_manifold_ids_on_boundary(
const types::boundary_id b_id,
const types::manifold_id m_number)
{
template <int dim, int spacedim>
-const Manifold<dim, spacedim> &
-Triangulation<dim, spacedim>::get_manifold(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+const Manifold<dim, spacedim> &Triangulation<dim, spacedim>::get_manifold(
const types::manifold_id m_number) const
{
// look, if there is a manifold stored at
template <int dim, int spacedim>
-std::vector<types::boundary_id>
-Triangulation<dim, spacedim>::get_boundary_ids() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+std::vector<types::boundary_id> Triangulation<dim, spacedim>::get_boundary_ids()
+ const
{
// in 1d, we store a map of all used boundary indicators. use it for
// our purposes
template <int dim, int spacedim>
-std::vector<types::manifold_id>
-Triangulation<dim, spacedim>::get_manifold_ids() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+std::vector<types::manifold_id> Triangulation<dim, spacedim>::get_manifold_ids()
+ const
{
std::set<types::manifold_id> m_ids;
for (const auto &cell : active_cell_iterators())
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::copy_triangulation(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::copy_triangulation(
const Triangulation<dim, spacedim> &other_tria)
{
Assert((vertices.size() == 0) && (levels.size() == 0) && (faces == nullptr),
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::create_triangulation_compatibility(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::create_triangulation_compatibility(
const std::vector<Point<spacedim>> &v,
const std::vector<CellData<dim>> & cells,
const SubCellData & subcelldata)
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::reset_policy()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::reset_policy()
{
this->update_reference_cells();
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::create_triangulation(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::create_triangulation(
const std::vector<Point<spacedim>> &v,
const std::vector<CellData<dim>> & cells,
const SubCellData & subcelldata)
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::create_triangulation(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::create_triangulation(
const TriangulationDescription::Description<dim, spacedim> &construction_data)
{
// 1) create coarse grid
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::flip_all_direction_flags()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::flip_all_direction_flags()
{
AssertThrow(dim + 1 == spacedim,
ExcMessage("Only works for dim == spacedim-1"));
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::set_all_refine_flags()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::set_all_refine_flags()
{
Assert(n_cells() > 0,
ExcMessage("Error: An empty Triangulation can not be refined."));
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::refine_global(const unsigned int times)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::refine_global(const unsigned int times)
{
for (unsigned int i = 0; i < times; ++i)
{
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::coarsen_global(const unsigned int times)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::coarsen_global(const unsigned int times)
{
for (unsigned int i = 0; i < times; ++i)
{
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_refine_flags(std::vector<bool> &v) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_refine_flags(std::vector<bool> &v) const
{
v.resize(dim * n_active_cells(), false);
std::vector<bool>::iterator i = v.begin();
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_refine_flags(std::ostream &out) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_refine_flags(std::ostream &out) const
{
std::vector<bool> v;
save_refine_flags(v);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_refine_flags(std::istream &in)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_refine_flags(std::istream &in)
{
std::vector<bool> v;
read_bool_vector(mn_tria_refine_flags_begin, v, mn_tria_refine_flags_end, in);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_refine_flags(const std::vector<bool> &v)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_refine_flags(const std::vector<bool> &v)
{
AssertThrow(v.size() == dim * n_active_cells(), ExcGridReadError());
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_coarsen_flags(std::vector<bool> &v) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_coarsen_flags(
+ std::vector<bool> &v) const
{
v.resize(n_active_cells(), false);
std::vector<bool>::iterator i = v.begin();
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_coarsen_flags(std::ostream &out) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_coarsen_flags(std::ostream &out) const
{
std::vector<bool> v;
save_coarsen_flags(v);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_coarsen_flags(std::istream &in)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_coarsen_flags(std::istream &in)
{
std::vector<bool> v;
read_bool_vector(mn_tria_coarsen_flags_begin,
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_coarsen_flags(const std::vector<bool> &v)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_coarsen_flags(
+ const std::vector<bool> &v)
{
Assert(v.size() == n_active_cells(), ExcGridReadError());
template <int dim, int spacedim>
-bool
-Triangulation<dim, spacedim>::get_anisotropic_refinement_flag() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+bool Triangulation<dim, spacedim>::get_anisotropic_refinement_flag() const
{
return anisotropic_refinement;
}
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::clear_user_data()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::clear_user_data()
{
// let functions in anonymous namespace do their work
dealii::clear_user_data(levels);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::clear_user_flags_line()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::clear_user_flags_line()
{
dealii::clear_user_flags_line(dim, levels, faces.get());
}
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::clear_user_flags_quad()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::clear_user_flags_quad()
{
dealii::clear_user_flags_quad(dim, levels, faces.get());
}
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::clear_user_flags_hex()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::clear_user_flags_hex()
{
dealii::clear_user_flags_hex(dim, levels, faces.get());
}
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::clear_user_flags()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::clear_user_flags()
{
clear_user_flags_line();
clear_user_flags_quad();
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_flags(std::ostream &out) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_flags(std::ostream &out) const
{
save_user_flags_line(out);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_flags(std::vector<bool> &v) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_flags(std::vector<bool> &v) const
{
// clear vector and append
// all the stuff later on
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_flags(std::istream &in)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_flags(std::istream &in)
{
load_user_flags_line(in);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_flags(const std::vector<bool> &v)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_flags(const std::vector<bool> &v)
{
Assert(v.size() == n_lines() + n_quads() + n_hexs(), ExcInternalError());
std::vector<bool> tmp;
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_flags_line(std::vector<bool> &v) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_flags_line(
+ std::vector<bool> &v) const
{
v.resize(n_lines(), false);
std::vector<bool>::iterator i = v.begin();
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_flags_line(std::ostream &out) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_flags_line(std::ostream &out) const
{
std::vector<bool> v;
save_user_flags_line(v);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_flags_line(std::istream &in)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_flags_line(std::istream &in)
{
std::vector<bool> v;
read_bool_vector(mn_tria_line_user_flags_begin,
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_flags_line(const std::vector<bool> &v)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_flags_line(
+ const std::vector<bool> &v)
{
Assert(v.size() == n_lines(), ExcGridReadError());
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_flags_quad(std::vector<bool> &v) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_flags_quad(
+ std::vector<bool> &v) const
{
v.resize(n_quads(), false);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_flags_quad(std::ostream &out) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_flags_quad(std::ostream &out) const
{
std::vector<bool> v;
save_user_flags_quad(v);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_flags_quad(std::istream &in)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_flags_quad(std::istream &in)
{
std::vector<bool> v;
read_bool_vector(mn_tria_quad_user_flags_begin,
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_flags_quad(const std::vector<bool> &v)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_flags_quad(
+ const std::vector<bool> &v)
{
Assert(v.size() == n_quads(), ExcGridReadError());
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_flags_hex(std::vector<bool> &v) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_flags_hex(
+ std::vector<bool> &v) const
{
v.resize(n_hexs(), false);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_flags_hex(std::ostream &out) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_flags_hex(std::ostream &out) const
{
std::vector<bool> v;
save_user_flags_hex(v);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_flags_hex(std::istream &in)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_flags_hex(std::istream &in)
{
std::vector<bool> v;
read_bool_vector(mn_tria_hex_user_flags_begin,
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_flags_hex(const std::vector<bool> &v)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_flags_hex(
+ const std::vector<bool> &v)
{
Assert(v.size() == n_hexs(), ExcGridReadError());
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_indices(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_indices(
std::vector<unsigned int> &v) const
{
// clear vector and append all the
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_indices(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_indices(
const std::vector<unsigned int> &v)
{
Assert(v.size() == n_lines() + n_quads() + n_hexs(), ExcInternalError());
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_indices_line(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_indices_line(
std::vector<unsigned int> &v) const
{
v.resize(n_lines(), 0);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_indices_line(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_indices_line(
const std::vector<unsigned int> &v)
{
Assert(v.size() == n_lines(), ExcGridReadError());
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_indices_quad(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_indices_quad(
std::vector<unsigned int> &v) const
{
v.resize(n_quads(), 0);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_indices_quad(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_indices_quad(
const std::vector<unsigned int> &v)
{
Assert(v.size() == n_quads(), ExcGridReadError());
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_indices_hex(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_indices_hex(
std::vector<unsigned int> &v) const
{
v.resize(n_hexs(), 0);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_indices_hex(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_indices_hex(
const std::vector<unsigned int> &v)
{
Assert(v.size() == n_hexs(), ExcGridReadError());
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_pointers(std::vector<void *> &v) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_pointers(
+ std::vector<void *> &v) const
{
// clear vector and append all the
// stuff later on
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_pointers(const std::vector<void *> &v)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_pointers(
+ const std::vector<void *> &v)
{
Assert(v.size() == n_lines() + n_quads() + n_hexs(), ExcInternalError());
std::vector<void *> tmp;
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_pointers_line(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_pointers_line(
std::vector<void *> &v) const
{
v.resize(n_lines(), nullptr);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_pointers_line(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_pointers_line(
const std::vector<void *> &v)
{
Assert(v.size() == n_lines(), ExcGridReadError());
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_pointers_quad(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_pointers_quad(
std::vector<void *> &v) const
{
v.resize(n_quads(), nullptr);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_pointers_quad(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_pointers_quad(
const std::vector<void *> &v)
{
Assert(v.size() == n_quads(), ExcGridReadError());
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::save_user_pointers_hex(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::save_user_pointers_hex(
std::vector<void *> &v) const
{
v.resize(n_hexs(), nullptr);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::load_user_pointers_hex(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::load_user_pointers_hex(
const std::vector<void *> &v)
{
Assert(v.size() == n_hexs(), ExcGridReadError());
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::raw_cell_iterator
-Triangulation<dim, spacedim>::begin_raw(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin_raw(const unsigned int level) const
{
switch (dim)
{
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::cell_iterator
-Triangulation<dim, spacedim>::begin(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin(const unsigned int level) const
{
switch (dim)
{
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::active_cell_iterator
-Triangulation<dim, spacedim>::begin_active(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin_active(const unsigned int level) const
{
switch (dim)
{
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::cell_iterator
-Triangulation<dim, spacedim>::last() const
+ Triangulation<dim, spacedim>::last() const
{
const unsigned int level = levels.size() - 1;
if (levels[level]->cells.n_objects() == 0)
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::active_cell_iterator
-Triangulation<dim, spacedim>::last_active() const
+ Triangulation<dim, spacedim>::last_active() const
{
// get the last used cell
cell_iterator cell = last();
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::cell_iterator
-Triangulation<dim, spacedim>::create_cell_iterator(const CellId &cell_id) const
+ Triangulation<dim, spacedim>::create_cell_iterator(
+ const CellId &cell_id) const
{
cell_iterator cell(
this, 0, coarse_cell_id_to_coarse_cell_index(cell_id.get_coarse_cell_id()));
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::cell_iterator
-Triangulation<dim, spacedim>::end() const
+ Triangulation<dim, spacedim>::end() const
{
return cell_iterator(const_cast<Triangulation<dim, spacedim> *>(this),
-1,
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::raw_cell_iterator
-Triangulation<dim, spacedim>::end_raw(const unsigned int level) const
+ Triangulation<dim, spacedim>::end_raw(const unsigned int level) const
{
// This function may be called on parallel triangulations on levels
// that exist globally, but not on the local portion of the
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::cell_iterator
-Triangulation<dim, spacedim>::end(const unsigned int level) const
+ Triangulation<dim, spacedim>::end(const unsigned int level) const
{
// This function may be called on parallel triangulations on levels
// that exist globally, but not on the local portion of the
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::active_cell_iterator
-Triangulation<dim, spacedim>::end_active(const unsigned int level) const
+ Triangulation<dim, spacedim>::end_active(const unsigned int level) const
{
// This function may be called on parallel triangulations on levels
// that exist globally, but not on the local portion of the
template <int dim, int spacedim>
-IteratorRange<typename Triangulation<dim, spacedim>::cell_iterator>
-Triangulation<dim, spacedim>::cell_iterators() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+IteratorRange<typename Triangulation<dim, spacedim>::
+ cell_iterator> Triangulation<dim, spacedim>::cell_iterators()
+ const
{
return IteratorRange<typename Triangulation<dim, spacedim>::cell_iterator>(
begin(), end());
template <int dim, int spacedim>
-IteratorRange<typename Triangulation<dim, spacedim>::active_cell_iterator>
-Triangulation<dim, spacedim>::active_cell_iterators() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+IteratorRange<typename Triangulation<dim, spacedim>::
+ active_cell_iterator> Triangulation<dim, spacedim>::
+ active_cell_iterators() const
{
return IteratorRange<
typename Triangulation<dim, spacedim>::active_cell_iterator>(begin_active(),
template <int dim, int spacedim>
-IteratorRange<typename Triangulation<dim, spacedim>::cell_iterator>
-Triangulation<dim, spacedim>::cell_iterators_on_level(
- const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+IteratorRange<typename Triangulation<dim, spacedim>::
+ cell_iterator> Triangulation<dim, spacedim>::
+ cell_iterators_on_level(const unsigned int level) const
{
return IteratorRange<typename Triangulation<dim, spacedim>::cell_iterator>(
begin(level), end(level));
template <int dim, int spacedim>
-IteratorRange<typename Triangulation<dim, spacedim>::active_cell_iterator>
-Triangulation<dim, spacedim>::active_cell_iterators_on_level(
- const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+IteratorRange<typename Triangulation<dim, spacedim>::
+ active_cell_iterator> Triangulation<dim, spacedim>::
+ active_cell_iterators_on_level(const unsigned int level) const
{
return IteratorRange<
typename Triangulation<dim, spacedim>::active_cell_iterator>(
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::face_iterator
-Triangulation<dim, spacedim>::begin_face() const
+ Triangulation<dim, spacedim>::begin_face() const
{
switch (dim)
{
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::active_face_iterator
-Triangulation<dim, spacedim>::begin_active_face() const
+ Triangulation<dim, spacedim>::begin_active_face() const
{
switch (dim)
{
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::face_iterator
-Triangulation<dim, spacedim>::end_face() const
+ Triangulation<dim, spacedim>::end_face() const
{
switch (dim)
{
template <int dim, int spacedim>
-IteratorRange<typename Triangulation<dim, spacedim>::active_face_iterator>
-Triangulation<dim, spacedim>::active_face_iterators() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+IteratorRange<typename Triangulation<dim, spacedim>::
+ active_face_iterator> Triangulation<dim, spacedim>::
+ active_face_iterators() const
{
return IteratorRange<
typename Triangulation<dim, spacedim>::active_face_iterator>(
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::vertex_iterator
-Triangulation<dim, spacedim>::begin_vertex() const
+ Triangulation<dim, spacedim>::begin_vertex() const
{
vertex_iterator i =
raw_vertex_iterator(const_cast<Triangulation<dim, spacedim> *>(this), 0, 0);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::active_vertex_iterator
-Triangulation<dim, spacedim>::begin_active_vertex() const
+ Triangulation<dim, spacedim>::begin_active_vertex() const
{
// every vertex is active
return begin_vertex();
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::vertex_iterator
-Triangulation<dim, spacedim>::end_vertex() const
+ Triangulation<dim, spacedim>::end_vertex() const
{
return raw_vertex_iterator(const_cast<Triangulation<dim, spacedim> *>(this),
-1,
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::raw_line_iterator
-Triangulation<dim, spacedim>::begin_raw_line(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin_raw_line(const unsigned int level) const
{
// This function may be called on parallel triangulations on levels
// that exist globally, but not on the local portion of the
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::line_iterator
-Triangulation<dim, spacedim>::begin_line(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin_line(const unsigned int level) const
{
// level is checked in begin_raw
raw_line_iterator ri = begin_raw_line(level);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::active_line_iterator
-Triangulation<dim, spacedim>::begin_active_line(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin_active_line(
+ const unsigned int level) const
{
// level is checked in begin_raw
line_iterator i = begin_line(level);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::line_iterator
-Triangulation<dim, spacedim>::end_line() const
+ Triangulation<dim, spacedim>::end_line() const
{
return raw_line_iterator(const_cast<Triangulation<dim, spacedim> *>(this),
-1,
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::raw_quad_iterator
-Triangulation<dim, spacedim>::begin_raw_quad(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin_raw_quad(const unsigned int level) const
{
// This function may be called on parallel triangulations on levels
// that exist globally, but not on the local portion of the
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::quad_iterator
-Triangulation<dim, spacedim>::begin_quad(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin_quad(const unsigned int level) const
{
// level is checked in begin_raw
raw_quad_iterator ri = begin_raw_quad(level);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::active_quad_iterator
-Triangulation<dim, spacedim>::begin_active_quad(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin_active_quad(
+ const unsigned int level) const
{
// level is checked in begin_raw
quad_iterator i = begin_quad(level);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::quad_iterator
-Triangulation<dim, spacedim>::end_quad() const
+ Triangulation<dim, spacedim>::end_quad() const
{
return raw_quad_iterator(const_cast<Triangulation<dim, spacedim> *>(this),
-1,
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::raw_hex_iterator
-Triangulation<dim, spacedim>::begin_raw_hex(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin_raw_hex(const unsigned int level) const
{
// This function may be called on parallel triangulations on levels
// that exist globally, but not on the local portion of the
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::hex_iterator
-Triangulation<dim, spacedim>::begin_hex(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin_hex(const unsigned int level) const
{
// level is checked in begin_raw
raw_hex_iterator ri = begin_raw_hex(level);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::active_hex_iterator
-Triangulation<dim, spacedim>::begin_active_hex(const unsigned int level) const
+ Triangulation<dim, spacedim>::begin_active_hex(const unsigned int level) const
{
// level is checked in begin_raw
hex_iterator i = begin_hex(level);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::hex_iterator
-Triangulation<dim, spacedim>::end_hex() const
+ Triangulation<dim, spacedim>::end_hex() const
{
return raw_hex_iterator(const_cast<Triangulation<dim, spacedim> *>(this),
-1,
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_cells() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_cells() const
{
return internal::TriangulationImplementation::n_cells(number_cache);
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_active_cells() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_active_cells() const
{
return internal::TriangulationImplementation::n_active_cells(number_cache);
}
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
types::global_cell_index
-Triangulation<dim, spacedim>::n_global_active_cells() const
+ Triangulation<dim, spacedim>::n_global_active_cells() const
{
return n_active_cells();
}
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
types::coarse_cell_id
-Triangulation<dim, spacedim>::n_global_coarse_cells() const
+ Triangulation<dim, spacedim>::n_global_coarse_cells() const
{
return n_cells(0);
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_faces() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_faces() const
{
switch (dim)
{
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_raw_faces() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_raw_faces() const
{
switch (dim)
{
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_active_faces() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_active_faces() const
{
switch (dim)
{
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_raw_cells(const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_raw_cells(
+ const unsigned int level) const
{
switch (dim)
{
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_cells(const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_cells(
+ const unsigned int level) const
{
switch (dim)
{
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_active_cells(const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_active_cells(
+ const unsigned int level) const
{
switch (dim)
{
template <int dim, int spacedim>
-bool
-Triangulation<dim, spacedim>::has_hanging_nodes() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+bool Triangulation<dim, spacedim>::has_hanging_nodes() const
{
if (anisotropic_refinement == false)
{
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_lines() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_lines() const
{
return number_cache.n_lines;
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_raw_lines(const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_raw_lines(
+ const unsigned int level) const
{
if (dim == 1)
{
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_raw_lines() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_raw_lines() const
{
if (dim == 1)
{
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_lines(const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_lines(
+ const unsigned int level) const
{
AssertIndexRange(level, number_cache.n_lines_level.size());
Assert(dim == 1, ExcFacesHaveNoLevel());
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_active_lines() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_active_lines() const
{
return number_cache.n_active_lines;
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_active_lines(const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_active_lines(
+ const unsigned int level) const
{
AssertIndexRange(level, number_cache.n_lines_level.size());
Assert(dim == 1, ExcFacesHaveNoLevel());
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_quads() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_quads() const
{
return number_cache.n_quads;
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_quads(const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_quads(
+ const unsigned int level) const
{
Assert(dim == 2, ExcFacesHaveNoLevel());
AssertIndexRange(level, number_cache.n_quads_level.size());
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_raw_quads() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_raw_quads() const
{
Assert(false, ExcNotImplemented());
return 0;
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_active_quads() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_active_quads() const
{
return number_cache.n_active_quads;
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_active_quads(const unsigned int level) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_active_quads(
+ const unsigned int level) const
{
AssertIndexRange(level, number_cache.n_quads_level.size());
Assert(dim == 2, ExcFacesHaveNoLevel());
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_hexs() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_hexs() const
{
return 0;
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_hexs(const unsigned int) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_hexs(const unsigned int) const
{
return 0;
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_raw_hexs(const unsigned int) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_raw_hexs(const unsigned int) const
{
return 0;
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_active_hexs() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_active_hexs() const
{
return 0;
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_active_hexs(const unsigned int) const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_active_hexs(
+ const unsigned int) const
{
return 0;
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::n_used_vertices() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::n_used_vertices() const
{
return std::count(vertices_used.begin(), vertices_used.end(), true);
}
template <int dim, int spacedim>
-const std::vector<bool> &
-Triangulation<dim, spacedim>::get_used_vertices() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+const std::vector<bool> &Triangulation<dim, spacedim>::get_used_vertices() const
{
return vertices_used;
}
template <int dim, int spacedim>
-unsigned int
-Triangulation<dim, spacedim>::max_adjacent_cells() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+unsigned int Triangulation<dim, spacedim>::max_adjacent_cells() const
{
cell_iterator cell = begin(0),
endc = (n_levels() > 1 ? begin(1) : cell_iterator(end()));
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
types::subdomain_id
-Triangulation<dim, spacedim>::locally_owned_subdomain() const
+ Triangulation<dim, spacedim>::locally_owned_subdomain() const
{
return numbers::invalid_subdomain_id;
}
template <int dim, int spacedim>
-Triangulation<dim, spacedim> &
-Triangulation<dim, spacedim>::get_triangulation()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+Triangulation<dim, spacedim> &Triangulation<dim, spacedim>::get_triangulation()
{
return *this;
}
template <int dim, int spacedim>
-const Triangulation<dim, spacedim> &
-Triangulation<dim, spacedim>::get_triangulation() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+const Triangulation<dim, spacedim>
+ &Triangulation<dim, spacedim>::get_triangulation() const
{
return *this;
}
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::add_periodicity(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::add_periodicity(
const std::vector<GridTools::PeriodicFacePair<cell_iterator>>
&periodicity_vector)
{
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
const typename std::map<
std::pair<typename Triangulation<dim, spacedim>::cell_iterator, unsigned int>,
std::pair<std::pair<typename Triangulation<dim, spacedim>::cell_iterator,
unsigned int>,
- std::bitset<3>>> &
-Triangulation<dim, spacedim>::get_periodic_face_map() const
+ std::bitset<3>>>
+ &Triangulation<dim, spacedim>::get_periodic_face_map() const
{
return periodic_face_map;
}
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::execute_coarsening_and_refinement()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::execute_coarsening_and_refinement()
{
// Call our version of prepare_coarsening_and_refinement() even if a derived
// class like parallel::distributed::Triangulation overrides it. Their
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::reset_active_cell_indices()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::reset_active_cell_indices()
{
unsigned int active_cell_index = 0;
for (raw_cell_iterator cell = begin_raw(); cell != end(); ++cell)
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::reset_global_cell_indices()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::reset_global_cell_indices()
{
{
types::global_cell_index cell_index = 0;
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::reset_cell_vertex_indices_cache()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::reset_cell_vertex_indices_cache()
{
for (unsigned int l = 0; l < levels.size(); ++l)
{
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::update_periodic_face_map()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::update_periodic_face_map()
{
// first empty the currently stored objects
periodic_face_map.clear();
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::update_reference_cells()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::update_reference_cells()
{
std::set<ReferenceCell> reference_cells_set;
for (auto cell : active_cell_iterators())
template <int dim, int spacedim>
-const std::vector<ReferenceCell> &
-Triangulation<dim, spacedim>::get_reference_cells() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+const std::vector<ReferenceCell>
+ &Triangulation<dim, spacedim>::get_reference_cells() const
{
return this->reference_cells;
}
template <int dim, int spacedim>
-bool
-Triangulation<dim, spacedim>::all_reference_cells_are_hyper_cube() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+bool Triangulation<dim, spacedim>::all_reference_cells_are_hyper_cube() const
{
Assert(this->reference_cells.size() > 0,
ExcMessage("You can't ask about the kinds of reference "
template <int dim, int spacedim>
-bool
-Triangulation<dim, spacedim>::all_reference_cells_are_simplex() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+bool Triangulation<dim, spacedim>::all_reference_cells_are_simplex() const
{
Assert(this->reference_cells.size() > 0,
ExcMessage("You can't ask about the kinds of reference "
template <int dim, int spacedim>
-bool
-Triangulation<dim, spacedim>::is_mixed_mesh() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+bool Triangulation<dim, spacedim>::is_mixed_mesh() const
{
Assert(this->reference_cells.size() > 0,
ExcMessage("You can't ask about the kinds of reference "
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::clear_despite_subscriptions()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::clear_despite_subscriptions()
{
levels.clear();
faces.reset();
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
typename Triangulation<dim, spacedim>::DistortedCellList
-Triangulation<dim, spacedim>::execute_refinement()
+ Triangulation<dim, spacedim>::execute_refinement()
{
const DistortedCellList cells_with_distorted_children =
this->policy->execute_refinement(*this, check_for_distorted_cells);
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::execute_coarsening()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::execute_coarsening()
{
// first find out if there are any cells at all to be coarsened in the
// loop below
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::fix_coarsen_flags()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::fix_coarsen_flags()
{
// copy a piece of code from prepare_coarsening_and_refinement that
// ensures that the level difference at vertices is limited if so
template <int dim, int spacedim>
-bool
-Triangulation<dim, spacedim>::prepare_coarsening_and_refinement()
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+bool Triangulation<dim, spacedim>::prepare_coarsening_and_refinement()
{
// save the flags to determine whether something was changed in the
// course of this function
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::write_bool_vector(
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::write_bool_vector(
const unsigned int magic_number1,
const std::vector<bool> &v,
const unsigned int magic_number2,
template <int dim, int spacedim>
-void
-Triangulation<dim, spacedim>::read_bool_vector(const unsigned int magic_number1,
- std::vector<bool> &v,
- const unsigned int magic_number2,
- std::istream & in)
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+void Triangulation<dim, spacedim>::read_bool_vector(
+ const unsigned int magic_number1,
+ std::vector<bool> &v,
+ const unsigned int magic_number2,
+ std::istream & in)
{
AssertThrow(in.fail() == false, ExcIO());
template <int dim, int spacedim>
-std::size_t
-Triangulation<dim, spacedim>::memory_consumption() const
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
+std::size_t Triangulation<dim, spacedim>::memory_consumption() const
{
std::size_t mem = 0;
mem += sizeof(MeshSmoothing);
template <int dim, int spacedim>
+DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
Triangulation<dim, spacedim>::DistortedCellList::~DistortedCellList() noexcept =
default;