From 66e1ca029b16aeb421b0f5c5ac6b76f27e960f91 Mon Sep 17 00:00:00 2001 From: hartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d> Date: Fri, 23 Apr 2004 07:44:26 +0000 Subject: [PATCH] Unify interface of reinit_vector functions: all vector arguments are called by const reference. Copy vector within function where necessary. git-svn-id: https://svn.dealii.org/trunk@9095 0785d39b-7218-0410-832d-ea1e28bc413d --- .../deal.II/include/multigrid/mg_dof_tools.h | 8 +++--- .../deal.II/source/multigrid/mg_dof_tools.cc | 27 ++++++++++--------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/deal.II/deal.II/include/multigrid/mg_dof_tools.h b/deal.II/deal.II/include/multigrid/mg_dof_tools.h index b5dc3bd530..0cbb82b462 100644 --- a/deal.II/deal.II/include/multigrid/mg_dof_tools.h +++ b/deal.II/deal.II/include/multigrid/mg_dof_tools.h @@ -180,10 +180,10 @@ class MGTools */ template <int dim, typename number> static void - reinit_vector (const MGDoFHandler<dim>& mg_dof, - MGLevelObject<BlockVector<number> >& v, - const std::vector<bool> selected = std::vector<bool>(), - const std::vector<unsigned int> target_component + reinit_vector (const MGDoFHandler<dim> &mg_dof, + MGLevelObject<BlockVector<number> > &v, + const std::vector<bool> &selected = std::vector<bool>(), + const std::vector<unsigned int> &target_component = std::vector<unsigned int>()); /** * Adjust vectors on all levels diff --git a/deal.II/deal.II/source/multigrid/mg_dof_tools.cc b/deal.II/deal.II/source/multigrid/mg_dof_tools.cc index b989337108..53d52c834e 100644 --- a/deal.II/deal.II/source/multigrid/mg_dof_tools.cc +++ b/deal.II/deal.II/source/multigrid/mg_dof_tools.cc @@ -392,9 +392,11 @@ template<int dim, typename number> void MGTools::reinit_vector (const MGDoFHandler<dim>& mg_dof, MGLevelObject<BlockVector<number> >& v, - std::vector<bool> selected, - std::vector<unsigned int> target_component) + const std::vector<bool> &sel, + const std::vector<unsigned int> &target_comp) { + std::vector<bool> selected=sel; + std::vector<unsigned int> target_component=target_comp; const unsigned int ncomp = mg_dof.get_fe().n_components(); // If the selected and @@ -403,8 +405,9 @@ MGTools::reinit_vector (const MGDoFHandler<dim>& mg_dof, // values. // // Since we already made copies - // when this function was called, - // we use the arguments directly. + // directly after this function was + // called, we use the arguments + // directly. if (target_component.size() == 0) { target_component.resize(ncomp); @@ -456,10 +459,10 @@ MGTools::reinit_vector (const MGDoFHandler<dim>& mg_dof, template<int dim, typename number> void -MGTools::reinit_vector (const MGDoFHandler<dim>& mg_dof, - MGLevelObject<Vector<number> >& v, - const std::vector<bool>& selected, - const std::vector<unsigned int>& target_component) +MGTools::reinit_vector (const MGDoFHandler<dim> &mg_dof, + MGLevelObject<Vector<number> > &v, + const std::vector<bool> &selected, + const std::vector<unsigned int> &target_component) { Assert (selected.size() == target_component.size(), ExcDimensionMismatch(selected.size(), target_component.size())); @@ -595,13 +598,13 @@ template void MGTools::reinit_vector<deal_II_dimension> ( template void MGTools::reinit_vector<deal_II_dimension> ( const MGDoFHandler<deal_II_dimension>&, MGLevelObject<BlockVector<double> >&, - const std::vector<bool>, - const std::vector<unsigned int>); + const std::vector<bool> &, + const std::vector<unsigned int> &); template void MGTools::reinit_vector<deal_II_dimension> ( const MGDoFHandler<deal_II_dimension>&, MGLevelObject<BlockVector<float> >&, - const std::vector<bool>, - const std::vector<unsigned int>); + const std::vector<bool> &, + const std::vector<unsigned int> &); template void MGTools::reinit_vector<deal_II_dimension> ( const MGDoFHandler<deal_II_dimension>&, -- 2.39.5