From f44e26e9d442321eb4da1bb56401d96f7842f70b Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Tue, 11 Dec 2012 17:10:23 +0000 Subject: [PATCH] Revert "Forgot to commit this change for the previous commit" and "Change to virtual inheritance of Subscriptor" This was a bad idea. Internally Subscriptor is abused in a significant number of places as a strict aliasing enforcer... and we would break this behaviour with virtual inheritance git-svn-id: https://svn.dealii.org/branches/branch_cmake@27792 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/include/deal.II/algorithms/operator.h | 4 ++-- .../deal.II/algorithms/timestep_control.h | 2 +- deal.II/include/deal.II/base/function.h | 2 +- deal.II/include/deal.II/base/logstream.h | 2 +- .../include/deal.II/base/mg_level_object.h | 2 +- deal.II/include/deal.II/base/named_data.h | 2 +- .../include/deal.II/base/parameter_handler.h | 2 +- deal.II/include/deal.II/base/polynomial.h | 2 +- deal.II/include/deal.II/base/quadrature.h | 2 +- deal.II/include/deal.II/base/table.h | 2 +- .../include/deal.II/base/tensor_function.h | 2 +- deal.II/include/deal.II/dofs/block_info.h | 2 +- deal.II/include/deal.II/dofs/dof_handler.h | 2 +- deal.II/include/deal.II/fe/fe.h | 2 +- deal.II/include/deal.II/fe/fe_values.h | 2 +- deal.II/include/deal.II/fe/mapping.h | 4 ++-- deal.II/include/deal.II/grid/intergrid_map.h | 2 +- deal.II/include/deal.II/grid/tria.h | 2 +- deal.II/include/deal.II/grid/tria_boundary.h | 2 +- deal.II/include/deal.II/hp/dof_handler.h | 2 +- deal.II/include/deal.II/hp/fe_collection.h | 2 +- .../include/deal.II/hp/mapping_collection.h | 2 +- deal.II/include/deal.II/hp/q_collection.h | 2 +- deal.II/include/deal.II/lac/arpack_solver.h | 2 +- deal.II/include/deal.II/lac/block_indices.h | 2 +- deal.II/include/deal.II/lac/block_list.h | 2 +- deal.II/include/deal.II/lac/block_matrix.h | 2 +- .../include/deal.II/lac/block_matrix_array.h | 2 +- .../include/deal.II/lac/block_matrix_base.h | 2 +- .../deal.II/lac/block_sparse_matrix_ez.h | 2 +- .../deal.II/lac/block_sparsity_pattern.h | 2 +- .../include/deal.II/lac/block_vector_base.h | 2 +- .../deal.II/lac/chunk_sparsity_pattern.h | 2 +- .../lac/compressed_set_sparsity_pattern.h | 2 +- .../lac/compressed_simple_sparsity_pattern.h | 2 +- .../deal.II/lac/compressed_sparsity_pattern.h | 2 +- .../include/deal.II/lac/constraint_matrix.h | 2 +- deal.II/include/deal.II/lac/filtered_matrix.h | 2 +- .../include/deal.II/lac/iterative_inverse.h | 2 +- .../include/deal.II/lac/lapack_full_matrix.h | 2 +- deal.II/include/deal.II/lac/matrix_block.h | 4 ++-- deal.II/include/deal.II/lac/matrix_lib.h | 6 ++--- deal.II/include/deal.II/lac/parallel_vector.h | 2 +- .../include/deal.II/lac/petsc_matrix_base.h | 2 +- .../include/deal.II/lac/petsc_vector_base.h | 2 +- deal.II/include/deal.II/lac/pointer_matrix.h | 2 +- deal.II/include/deal.II/lac/precondition.h | 14 +++++------ .../deal.II/lac/precondition_selector.h | 2 +- .../include/deal.II/lac/relaxation_block.h | 2 +- deal.II/include/deal.II/lac/schur_matrix.h | 2 +- deal.II/include/deal.II/lac/solver.h | 2 +- deal.II/include/deal.II/lac/solver_control.h | 2 +- deal.II/include/deal.II/lac/solver_selector.h | 2 +- deal.II/include/deal.II/lac/sparse_direct.h | 6 ++--- .../include/deal.II/lac/sparse_matrix_ez.h | 2 +- .../include/deal.II/lac/sparsity_pattern.h | 2 +- .../deal.II/lac/trilinos_precondition.h | 2 +- .../deal.II/lac/trilinos_sparse_matrix.h | 2 +- .../deal.II/lac/trilinos_sparsity_pattern.h | 2 +- .../deal.II/lac/trilinos_vector_base.h | 2 +- deal.II/include/deal.II/lac/vector.h | 2 +- deal.II/include/deal.II/lac/vector_memory.h | 2 +- .../deal.II/meshworker/local_integrator.h | 2 +- .../deal.II/meshworker/vector_selector.h | 2 +- deal.II/include/deal.II/multigrid/mg_base.h | 8 +++---- .../deal.II/multigrid/mg_constrained_dofs.h | 2 +- deal.II/include/deal.II/multigrid/multigrid.h | 4 ++-- .../deal.II/numerics/data_postprocessor.h | 2 +- .../include/deal.II/numerics/time_dependent.h | 2 +- deal.II/source/fe/fe_system.cc | 24 ++++++++++++------- 70 files changed, 102 insertions(+), 94 deletions(-) diff --git a/deal.II/include/deal.II/algorithms/operator.h b/deal.II/include/deal.II/algorithms/operator.h index 54c6b78a6b..f4e407d1e1 100644 --- a/deal.II/include/deal.II/algorithms/operator.h +++ b/deal.II/include/deal.II/algorithms/operator.h @@ -52,7 +52,7 @@ namespace Algorithms * @author Guido Kanschat, 2010 */ template - class Operator : public virtual Subscriptor + class Operator : public Subscriptor { public: /** @@ -94,7 +94,7 @@ namespace Algorithms * @author Guido Kanschat, 2010 */ template - class OutputOperator : public virtual Subscriptor + class OutputOperator : public Subscriptor { OutputOperator(const OutputOperator &); public: diff --git a/deal.II/include/deal.II/algorithms/timestep_control.h b/deal.II/include/deal.II/algorithms/timestep_control.h index e5938b660f..4a2b28a874 100644 --- a/deal.II/include/deal.II/algorithms/timestep_control.h +++ b/deal.II/include/deal.II/algorithms/timestep_control.h @@ -45,7 +45,7 @@ namespace Algorithms * The variable @p print_step can be used to control the amount of * output generated by the timestepping scheme. */ - class TimestepControl : public virtual Subscriptor + class TimestepControl : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/base/function.h b/deal.II/include/deal.II/base/function.h index 0cc2039c2e..fc79c7f79a 100644 --- a/deal.II/include/deal.II/base/function.h +++ b/deal.II/include/deal.II/base/function.h @@ -99,7 +99,7 @@ template class Vector; */ template class Function : public FunctionTime, - public virtual Subscriptor + public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/base/logstream.h b/deal.II/include/deal.II/base/logstream.h index 8255e96c60..cb50979e38 100644 --- a/deal.II/include/deal.II/base/logstream.h +++ b/deal.II/include/deal.II/base/logstream.h @@ -83,7 +83,7 @@ DEAL_II_NAMESPACE_OPEN * @ingroup textoutput * @author Guido Kanschat, Wolfgang Bangerth, 1999, 2003, 2011 */ -class LogStream : public virtual Subscriptor +class LogStream : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/base/mg_level_object.h b/deal.II/include/deal.II/base/mg_level_object.h index 7b03088a96..89dae1ab30 100644 --- a/deal.II/include/deal.II/base/mg_level_object.h +++ b/deal.II/include/deal.II/base/mg_level_object.h @@ -35,7 +35,7 @@ DEAL_II_NAMESPACE_OPEN * @author Wolfgang Bangerth, Guido Kanschat, 1999, 2005, 2010 */ template -class MGLevelObject : public virtual Subscriptor +class MGLevelObject : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/base/named_data.h b/deal.II/include/deal.II/base/named_data.h index e239894376..6d4c7b3af1 100644 --- a/deal.II/include/deal.II/base/named_data.h +++ b/deal.II/include/deal.II/base/named_data.h @@ -40,7 +40,7 @@ DEAL_II_NAMESPACE_OPEN * @author Guido Kanschat, 2007, 2008, 2009 */ template -class NamedData : public virtual Subscriptor +class NamedData : public Subscriptor { public: /** Standard constructor creating diff --git a/deal.II/include/deal.II/base/parameter_handler.h b/deal.II/include/deal.II/base/parameter_handler.h index 269cdf9282..f19849ef96 100644 --- a/deal.II/include/deal.II/base/parameter_handler.h +++ b/deal.II/include/deal.II/base/parameter_handler.h @@ -1783,7 +1783,7 @@ namespace Patterns * @ingroup input * @author Wolfgang Bangerth, October 1997, revised February 1998, 2010, 2011 */ -class ParameterHandler : public virtual Subscriptor +class ParameterHandler : public Subscriptor { private: /** diff --git a/deal.II/include/deal.II/base/polynomial.h b/deal.II/include/deal.II/base/polynomial.h index 3df54af07d..8897467e04 100644 --- a/deal.II/include/deal.II/base/polynomial.h +++ b/deal.II/include/deal.II/base/polynomial.h @@ -46,7 +46,7 @@ namespace Polynomials * @author Ralf Hartmann, Guido Kanschat, 2000, 2006 */ template - class Polynomial : public virtual Subscriptor + class Polynomial : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/base/quadrature.h b/deal.II/include/deal.II/base/quadrature.h index 5b9b575ad7..cfe06b50fc 100644 --- a/deal.II/include/deal.II/base/quadrature.h +++ b/deal.II/include/deal.II/base/quadrature.h @@ -77,7 +77,7 @@ DEAL_II_NAMESPACE_OPEN * @author Wolfgang Bangerth, Guido Kanschat, 1998, 1999, 2000, 2005, 2009 */ template -class Quadrature : public virtual Subscriptor +class Quadrature : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/base/table.h b/deal.II/include/deal.II/base/table.h index bdab58b6f2..fc28f61f82 100644 --- a/deal.II/include/deal.II/base/table.h +++ b/deal.II/include/deal.II/base/table.h @@ -459,7 +459,7 @@ namespace internal * @author Wolfgang Bangerth, 2002. */ template -class TableBase : public virtual Subscriptor +class TableBase : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/base/tensor_function.h b/deal.II/include/deal.II/base/tensor_function.h index 7592460199..81b0dc008c 100644 --- a/deal.II/include/deal.II/base/tensor_function.h +++ b/deal.II/include/deal.II/base/tensor_function.h @@ -53,7 +53,7 @@ DEAL_II_NAMESPACE_OPEN */ template class TensorFunction : public FunctionTime, - public virtual Subscriptor + public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/dofs/block_info.h b/deal.II/include/deal.II/dofs/block_info.h index fa175def88..9738685202 100644 --- a/deal.II/include/deal.II/dofs/block_info.h +++ b/deal.II/include/deal.II/dofs/block_info.h @@ -86,7 +86,7 @@ namespace hp * @ingroup dofs * @author Guido Kanschat, 2009 */ -class BlockInfo : public virtual Subscriptor +class BlockInfo : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/dofs/dof_handler.h b/deal.II/include/deal.II/dofs/dof_handler.h index 0593a28a3e..707eaedf8e 100644 --- a/deal.II/include/deal.II/dofs/dof_handler.h +++ b/deal.II/include/deal.II/dofs/dof_handler.h @@ -168,7 +168,7 @@ namespace internal * @author Wolfgang Bangerth */ template -class DoFHandler : public virtual Subscriptor +class DoFHandler : public Subscriptor { typedef dealii::internal::DoFHandler::Iterators > IteratorSelector; public: diff --git a/deal.II/include/deal.II/fe/fe.h b/deal.II/include/deal.II/fe/fe.h index 54c65aa663..6c018ffbe3 100644 --- a/deal.II/include/deal.II/fe/fe.h +++ b/deal.II/include/deal.II/fe/fe.h @@ -338,7 +338,7 @@ namespace hp * @author Wolfgang Bangerth, Guido Kanschat, Ralf Hartmann, 1998, 2000, 2001, 2005 */ template -class FiniteElement : public virtual Subscriptor, +class FiniteElement : public Subscriptor, public FiniteElementData { public: diff --git a/deal.II/include/deal.II/fe/fe_values.h b/deal.II/include/deal.II/fe/fe_values.h index 647ec442c8..9cb34a481f 100644 --- a/deal.II/include/deal.II/fe/fe_values.h +++ b/deal.II/include/deal.II/fe/fe_values.h @@ -1611,7 +1611,7 @@ public: */ template class FEValuesBase : protected FEValuesData, - public virtual Subscriptor + public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/fe/mapping.h b/deal.II/include/deal.II/fe/mapping.h index efe96109f5..73a327eded 100644 --- a/deal.II/include/deal.II/fe/mapping.h +++ b/deal.II/include/deal.II/fe/mapping.h @@ -216,7 +216,7 @@ enum MappingType * @author Guido Kanschat, Ralf Hartmann 2000, 2001 */ template -class Mapping : public virtual Subscriptor +class Mapping : public Subscriptor { public: @@ -316,7 +316,7 @@ public: * has access to the precomputed * values stored there. */ - class InternalDataBase: public virtual Subscriptor + class InternalDataBase: public Subscriptor { private: /** diff --git a/deal.II/include/deal.II/grid/intergrid_map.h b/deal.II/include/deal.II/grid/intergrid_map.h index 47b11195fb..04bf97c917 100644 --- a/deal.II/include/deal.II/grid/intergrid_map.h +++ b/deal.II/include/deal.II/grid/intergrid_map.h @@ -112,7 +112,7 @@ DEAL_II_NAMESPACE_OPEN * @author Wolfgang Bangerth, 1999 */ template -class InterGridMap : public virtual Subscriptor +class InterGridMap : public Subscriptor { public: diff --git a/deal.II/include/deal.II/grid/tria.h b/deal.II/include/deal.II/grid/tria.h index a69a21bfaa..e47add785f 100644 --- a/deal.II/include/deal.II/grid/tria.h +++ b/deal.II/include/deal.II/grid/tria.h @@ -1201,7 +1201,7 @@ namespace internal * @author Wolfgang Bangerth, 1998; Ralf Hartmann, 2005 */ template -class Triangulation : public virtual Subscriptor +class Triangulation : public Subscriptor { private: diff --git a/deal.II/include/deal.II/grid/tria_boundary.h b/deal.II/include/deal.II/grid/tria_boundary.h index b124f7f2d0..ef462423f8 100644 --- a/deal.II/include/deal.II/grid/tria_boundary.h +++ b/deal.II/include/deal.II/grid/tria_boundary.h @@ -75,7 +75,7 @@ template class Triangulation; * @author Wolfgang Bangerth, 1999, 2001, 2009, Ralf Hartmann, 2001, 2008 */ template -class Boundary : public virtual Subscriptor +class Boundary : public Subscriptor { public: diff --git a/deal.II/include/deal.II/hp/dof_handler.h b/deal.II/include/deal.II/hp/dof_handler.h index 843e04b265..57c53edc7a 100644 --- a/deal.II/include/deal.II/hp/dof_handler.h +++ b/deal.II/include/deal.II/hp/dof_handler.h @@ -73,7 +73,7 @@ namespace hp * @ingroup hp */ template - class DoFHandler : public virtual Subscriptor + class DoFHandler : public Subscriptor { typedef dealii::internal::DoFHandler::Iterators > IteratorSelector; public: diff --git a/deal.II/include/deal.II/hp/fe_collection.h b/deal.II/include/deal.II/hp/fe_collection.h index 3147efe3da..ddafe78b13 100644 --- a/deal.II/include/deal.II/hp/fe_collection.h +++ b/deal.II/include/deal.II/hp/fe_collection.h @@ -45,7 +45,7 @@ namespace hp * @author Wolfgang Bangerth, 2003 */ template - class FECollection : public virtual Subscriptor + class FECollection : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/hp/mapping_collection.h b/deal.II/include/deal.II/hp/mapping_collection.h index c72190b920..3e5b925727 100644 --- a/deal.II/include/deal.II/hp/mapping_collection.h +++ b/deal.II/include/deal.II/hp/mapping_collection.h @@ -48,7 +48,7 @@ namespace hp * @author Oliver Kayser-Herold, 2005 */ template - class MappingCollection : public virtual Subscriptor + class MappingCollection : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/hp/q_collection.h b/deal.II/include/deal.II/hp/q_collection.h index db17db53a2..23f6b4df7c 100644 --- a/deal.II/include/deal.II/hp/q_collection.h +++ b/deal.II/include/deal.II/hp/q_collection.h @@ -37,7 +37,7 @@ namespace hp * @author Oliver Kayser-Herold, 2005 */ template - class QCollection : public virtual Subscriptor + class QCollection : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/arpack_solver.h b/deal.II/include/deal.II/lac/arpack_solver.h index 36579bf988..b569834e21 100644 --- a/deal.II/include/deal.II/lac/arpack_solver.h +++ b/deal.II/include/deal.II/lac/arpack_solver.h @@ -73,7 +73,7 @@ extern "C" void dneupd_(int *rvec, char *howmany, int *select, double *d, * Class to interface with the ARPACK routines. */ -class ArpackSolver : public virtual Subscriptor +class ArpackSolver : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/block_indices.h b/deal.II/include/deal.II/lac/block_indices.h index 19320d144a..5a8264c52b 100644 --- a/deal.II/include/deal.II/lac/block_indices.h +++ b/deal.II/include/deal.II/lac/block_indices.h @@ -46,7 +46,7 @@ DEAL_II_NAMESPACE_OPEN * @see @ref GlossBlockLA "Block (linear algebra)" * @author Wolfgang Bangerth, Guido Kanschat, 2000, 2007, 2011 */ -class BlockIndices : public virtual Subscriptor +class BlockIndices : public Subscriptor { public: diff --git a/deal.II/include/deal.II/lac/block_list.h b/deal.II/include/deal.II/lac/block_list.h index 8f4fb7ebcc..d40c9c9814 100644 --- a/deal.II/include/deal.II/lac/block_list.h +++ b/deal.II/include/deal.II/lac/block_list.h @@ -45,7 +45,7 @@ DEAL_II_NAMESPACE_OPEN * @date 2010 */ class BlockList : - public virtual Subscriptor + public Subscriptor { public: /// The container for each index set diff --git a/deal.II/include/deal.II/lac/block_matrix.h b/deal.II/include/deal.II/lac/block_matrix.h index 16f8fcd921..7325b5db6a 100644 --- a/deal.II/include/deal.II/lac/block_matrix.h +++ b/deal.II/include/deal.II/lac/block_matrix.h @@ -39,7 +39,7 @@ DEAL_II_NAMESPACE_OPEN * @author Guido Kanschat, 2000 */ template -class BlockDiagonalMatrix : public virtual Subscriptor +class BlockDiagonalMatrix : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/block_matrix_array.h b/deal.II/include/deal.II/lac/block_matrix_array.h index d014d472db..028ead966e 100644 --- a/deal.II/include/deal.II/lac/block_matrix_array.h +++ b/deal.II/include/deal.II/lac/block_matrix_array.h @@ -120,7 +120,7 @@ template class Vector; * @date 2000-2005, 2010 */ template -class BlockMatrixArray : public virtual Subscriptor +class BlockMatrixArray : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/block_matrix_base.h b/deal.II/include/deal.II/lac/block_matrix_base.h index f16d611262..8cd475e641 100644 --- a/deal.II/include/deal.II/lac/block_matrix_base.h +++ b/deal.II/include/deal.II/lac/block_matrix_base.h @@ -354,7 +354,7 @@ namespace BlockMatrixIterators * @author Wolfgang Bangerth, 2000, 2004 */ template -class BlockMatrixBase : public virtual Subscriptor +class BlockMatrixBase : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/block_sparse_matrix_ez.h b/deal.II/include/deal.II/lac/block_sparse_matrix_ez.h index b659766120..c42d51ece1 100644 --- a/deal.II/include/deal.II/lac/block_sparse_matrix_ez.h +++ b/deal.II/include/deal.II/lac/block_sparse_matrix_ez.h @@ -44,7 +44,7 @@ template class BlockVector; * @author Guido Kanschat, 2002, 2003 */ template -class BlockSparseMatrixEZ : public virtual Subscriptor +class BlockSparseMatrixEZ : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/block_sparsity_pattern.h b/deal.II/include/deal.II/lac/block_sparsity_pattern.h index 7e32376cfd..ef700e9218 100644 --- a/deal.II/include/deal.II/lac/block_sparsity_pattern.h +++ b/deal.II/include/deal.II/lac/block_sparsity_pattern.h @@ -79,7 +79,7 @@ namespace TrilinosWrappers * @author Wolfgang Bangerth, 2000, 2001 */ template -class BlockSparsityPatternBase : public virtual Subscriptor +class BlockSparsityPatternBase : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/block_vector_base.h b/deal.II/include/deal.II/lac/block_vector_base.h index 9ac3a838e3..a36f8daf8c 100644 --- a/deal.II/include/deal.II/lac/block_vector_base.h +++ b/deal.II/include/deal.II/lac/block_vector_base.h @@ -708,7 +708,7 @@ namespace internal * @author Wolfgang Bangerth, Guido Kanschat, 1999, 2000, 2001, 2002, 2004 */ template -class BlockVectorBase : public virtual Subscriptor +class BlockVectorBase : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/chunk_sparsity_pattern.h b/deal.II/include/deal.II/lac/chunk_sparsity_pattern.h index fba7da6b31..8a41854df8 100644 --- a/deal.II/include/deal.II/lac/chunk_sparsity_pattern.h +++ b/deal.II/include/deal.II/lac/chunk_sparsity_pattern.h @@ -43,7 +43,7 @@ template class ChunkSparseMatrix; * * @author Wolfgang Bangerth, 2008 */ -class ChunkSparsityPattern : public virtual Subscriptor +class ChunkSparsityPattern : public Subscriptor { public: diff --git a/deal.II/include/deal.II/lac/compressed_set_sparsity_pattern.h b/deal.II/include/deal.II/lac/compressed_set_sparsity_pattern.h index c890e06515..5f23cb011c 100644 --- a/deal.II/include/deal.II/lac/compressed_set_sparsity_pattern.h +++ b/deal.II/include/deal.II/lac/compressed_set_sparsity_pattern.h @@ -103,7 +103,7 @@ template class SparseMatrix; * * @author Oliver Kayser-Herold, 2007 */ -class CompressedSetSparsityPattern : public virtual Subscriptor +class CompressedSetSparsityPattern : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/compressed_simple_sparsity_pattern.h b/deal.II/include/deal.II/lac/compressed_simple_sparsity_pattern.h index 94b551722b..09a9bffa7a 100644 --- a/deal.II/include/deal.II/lac/compressed_simple_sparsity_pattern.h +++ b/deal.II/include/deal.II/lac/compressed_simple_sparsity_pattern.h @@ -84,7 +84,7 @@ template class SparseMatrix; * * @author Timo Heister, 2008 */ -class CompressedSimpleSparsityPattern : public virtual Subscriptor +class CompressedSimpleSparsityPattern : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/compressed_sparsity_pattern.h b/deal.II/include/deal.II/lac/compressed_sparsity_pattern.h index 787deea320..ffb6333054 100644 --- a/deal.II/include/deal.II/lac/compressed_sparsity_pattern.h +++ b/deal.II/include/deal.II/lac/compressed_sparsity_pattern.h @@ -85,7 +85,7 @@ template class SparseMatrix; * * @author Wolfgang Bangerth, 2001 */ -class CompressedSparsityPattern : public virtual Subscriptor +class CompressedSparsityPattern : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/constraint_matrix.h b/deal.II/include/deal.II/lac/constraint_matrix.h index 3877077407..87a4c3c42d 100644 --- a/deal.II/include/deal.II/lac/constraint_matrix.h +++ b/deal.II/include/deal.II/lac/constraint_matrix.h @@ -136,7 +136,7 @@ namespace internals * @ingroup constraints * @author Wolfgang Bangerth, Martin Kronbichler, 1998, 2004, 2008, 2009 */ -class ConstraintMatrix : public virtual Subscriptor +class ConstraintMatrix : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/filtered_matrix.h b/deal.II/include/deal.II/lac/filtered_matrix.h index e060c537b3..8a1ee43bf7 100644 --- a/deal.II/include/deal.II/lac/filtered_matrix.h +++ b/deal.II/include/deal.II/lac/filtered_matrix.h @@ -201,7 +201,7 @@ template class FilteredMatrixBlock; * @author Wolfgang Bangerth 2001, Luca Heltai 2006, Guido Kanschat 2007, 2008 */ template -class FilteredMatrix : public virtual Subscriptor +class FilteredMatrix : public Subscriptor { public: class const_iterator; diff --git a/deal.II/include/deal.II/lac/iterative_inverse.h b/deal.II/include/deal.II/lac/iterative_inverse.h index acfa815f64..4104a547a8 100644 --- a/deal.II/include/deal.II/lac/iterative_inverse.h +++ b/deal.II/include/deal.II/lac/iterative_inverse.h @@ -73,7 +73,7 @@ DEAL_II_NAMESPACE_OPEN * @date 2010 */ template -class IterativeInverse : public virtual Subscriptor +class IterativeInverse : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/lapack_full_matrix.h b/deal.II/include/deal.II/lac/lapack_full_matrix.h index d4c2495261..fa6636a912 100644 --- a/deal.II/include/deal.II/lac/lapack_full_matrix.h +++ b/deal.II/include/deal.II/lac/lapack_full_matrix.h @@ -680,7 +680,7 @@ private: template class PreconditionLU : - public virtual Subscriptor + public Subscriptor { public: void initialize(const LAPACKFullMatrix &); diff --git a/deal.II/include/deal.II/lac/matrix_block.h b/deal.II/include/deal.II/lac/matrix_block.h index f0fd7d7eca..e2eb43ef72 100644 --- a/deal.II/include/deal.II/lac/matrix_block.h +++ b/deal.II/include/deal.II/lac/matrix_block.h @@ -98,7 +98,7 @@ namespace internal */ template class MatrixBlock - : public virtual Subscriptor + : public Subscriptor { public: /** @@ -482,7 +482,7 @@ public: */ template class MGMatrixBlockVector - : public virtual Subscriptor + : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/matrix_lib.h b/deal.II/include/deal.II/lac/matrix_lib.h index 782a649a4d..06b1df2e1a 100644 --- a/deal.II/include/deal.II/lac/matrix_lib.h +++ b/deal.II/include/deal.II/lac/matrix_lib.h @@ -154,7 +154,7 @@ private: * @author Guido Kanschat, 2007 */ template -class ScaledMatrix : public virtual Subscriptor +class ScaledMatrix : public Subscriptor { public: /** @@ -323,7 +323,7 @@ private: * * @author Guido Kanschat, 2002, 2003 */ -class MeanValueFilter : public virtual Subscriptor +class MeanValueFilter : public Subscriptor { public: /** @@ -418,7 +418,7 @@ private: * @author Guido Kanschat, 2005 */ template -class InverseMatrixRichardson : public virtual Subscriptor +class InverseMatrixRichardson : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/parallel_vector.h b/deal.II/include/deal.II/lac/parallel_vector.h index ccbbe1c439..e1c53ceb32 100644 --- a/deal.II/include/deal.II/lac/parallel_vector.h +++ b/deal.II/include/deal.II/lac/parallel_vector.h @@ -81,7 +81,7 @@ namespace parallel * @author Katharina Kormann, Martin Kronbichler, 2010, 2011 */ template - class Vector : public virtual Subscriptor + class Vector : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/petsc_matrix_base.h b/deal.II/include/deal.II/lac/petsc_matrix_base.h index f6fd66a47d..634ac7baf0 100644 --- a/deal.II/include/deal.II/lac/petsc_matrix_base.h +++ b/deal.II/include/deal.II/lac/petsc_matrix_base.h @@ -284,7 +284,7 @@ namespace PETScWrappers * @ingroup Matrix1 * @author Wolfgang Bangerth, 2004 */ - class MatrixBase : public virtual Subscriptor + class MatrixBase : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/petsc_vector_base.h b/deal.II/include/deal.II/lac/petsc_vector_base.h index 3595d68ca6..25c36dc628 100644 --- a/deal.II/include/deal.II/lac/petsc_vector_base.h +++ b/deal.II/include/deal.II/lac/petsc_vector_base.h @@ -240,7 +240,7 @@ namespace PETScWrappers * @ingroup PETScWrappers * @author Wolfgang Bangerth, 2004 */ - class VectorBase : public virtual Subscriptor + class VectorBase : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/pointer_matrix.h b/deal.II/include/deal.II/lac/pointer_matrix.h index f92617b3e5..0a193b2c78 100644 --- a/deal.II/include/deal.II/lac/pointer_matrix.h +++ b/deal.II/include/deal.II/lac/pointer_matrix.h @@ -45,7 +45,7 @@ template class TridiagonalMatrix; * @author Guido Kanschat, 2000, 2001, 2002 */ template -class PointerMatrixBase : public virtual Subscriptor +class PointerMatrixBase : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/precondition.h b/deal.II/include/deal.II/lac/precondition.h index a708c75035..497a0c153c 100644 --- a/deal.II/include/deal.II/lac/precondition.h +++ b/deal.II/include/deal.II/lac/precondition.h @@ -52,7 +52,7 @@ template class SparseMatrix; * * @author Guido Kanschat, 1999 */ -class PreconditionIdentity : public virtual Subscriptor +class PreconditionIdentity : public Subscriptor { public: @@ -139,7 +139,7 @@ public: * * @author Guido Kanschat, 2005 */ -class PreconditionRichardson : public virtual Subscriptor +class PreconditionRichardson : public Subscriptor { public: /** @@ -280,7 +280,7 @@ private: * @author Guido Kanschat, Wolfgang Bangerth, 1999 */ template, class VECTOR = Vector > -class PreconditionUseMatrix : public virtual Subscriptor +class PreconditionUseMatrix : public Subscriptor { public: /** @@ -333,7 +333,7 @@ private: * @author Guido Kanschat, 2000 */ template > -class PreconditionRelaxation : public virtual Subscriptor +class PreconditionRelaxation : public Subscriptor { public: /** @@ -761,7 +761,7 @@ private: * @author Guido Kanschat, 1999 */ template, class PRECONDITION = PreconditionIdentity> -class PreconditionLACSolver : public virtual Subscriptor +class PreconditionLACSolver : public Subscriptor { public: /** @@ -819,7 +819,7 @@ private: * @author Guido Kanschat, 2000 */ template -class PreconditionedMatrix : public virtual Subscriptor +class PreconditionedMatrix : public Subscriptor { public: /** @@ -881,7 +881,7 @@ private: * @author Martin Kronbichler, 2009 */ template , class VECTOR=Vector > -class PreconditionChebyshev : public virtual Subscriptor +class PreconditionChebyshev : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/precondition_selector.h b/deal.II/include/deal.II/lac/precondition_selector.h index 4d376e9022..12d6c4ce05 100644 --- a/deal.II/include/deal.II/lac/precondition_selector.h +++ b/deal.II/include/deal.II/lac/precondition_selector.h @@ -90,7 +90,7 @@ template class SparseMatrix; */ template , class VECTOR = dealii::Vector > -class PreconditionSelector : public virtual Subscriptor +class PreconditionSelector : public Subscriptor { public: diff --git a/deal.II/include/deal.II/lac/relaxation_block.h b/deal.II/include/deal.II/lac/relaxation_block.h index cc2f408625..6a2d94fc25 100644 --- a/deal.II/include/deal.II/lac/relaxation_block.h +++ b/deal.II/include/deal.II/lac/relaxation_block.h @@ -66,7 +66,7 @@ public: /** * Parameters for block relaxation methods. */ - class AdditionalData : public virtual Subscriptor + class AdditionalData : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/schur_matrix.h b/deal.II/include/deal.II/lac/schur_matrix.h index 97ce3c718e..8b59d15765 100644 --- a/deal.II/include/deal.II/lac/schur_matrix.h +++ b/deal.II/include/deal.II/lac/schur_matrix.h @@ -90,7 +90,7 @@ DEAL_II_NAMESPACE_OPEN * @author Guido Kanschat, 2000, 2001, 2002 */ template -class SchurMatrix : public virtual Subscriptor +class SchurMatrix : public Subscriptor { public: diff --git a/deal.II/include/deal.II/lac/solver.h b/deal.II/include/deal.II/lac/solver.h index ce643822d0..ac1c2942e5 100644 --- a/deal.II/include/deal.II/lac/solver.h +++ b/deal.II/include/deal.II/lac/solver.h @@ -139,7 +139,7 @@ class SolverControl; * @author Wolfgang Bangerth, Guido Kanschat, Ralf Hartmann, 1997-2001, 2005 */ template > -class Solver : public virtual Subscriptor +class Solver : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/solver_control.h b/deal.II/include/deal.II/lac/solver_control.h index 04bb66ca7a..0ad4ac21fc 100644 --- a/deal.II/include/deal.II/lac/solver_control.h +++ b/deal.II/include/deal.II/lac/solver_control.h @@ -58,7 +58,7 @@ class ParameterHandler; * * @author Guido Kanschat */ -class SolverControl : public virtual Subscriptor +class SolverControl : public Subscriptor { public: diff --git a/deal.II/include/deal.II/lac/solver_selector.h b/deal.II/include/deal.II/lac/solver_selector.h index afd3e96963..cb9149e6c2 100644 --- a/deal.II/include/deal.II/lac/solver_selector.h +++ b/deal.II/include/deal.II/lac/solver_selector.h @@ -92,7 +92,7 @@ DEAL_II_NAMESPACE_OPEN * @author Ralf Hartmann, 1999 */ template > -class SolverSelector : public virtual Subscriptor +class SolverSelector : public Subscriptor { public: diff --git a/deal.II/include/deal.II/lac/sparse_direct.h b/deal.II/include/deal.II/lac/sparse_direct.h index 78281bc256..03b3e1ce07 100644 --- a/deal.II/include/deal.II/lac/sparse_direct.h +++ b/deal.II/include/deal.II/lac/sparse_direct.h @@ -188,7 +188,7 @@ DEAL_II_NAMESPACE_OPEN * * @author Wolfgang Bangerth, 2000, 2001, 2002 */ -class SparseDirectMA27 : public virtual Subscriptor +class SparseDirectMA27 : public Subscriptor { public: /** @@ -678,7 +678,7 @@ private: * * @author Wolfgang Bangerth, 2000, 2001 */ -class SparseDirectMA47 : public virtual Subscriptor +class SparseDirectMA47 : public Subscriptor { public: /** @@ -1057,7 +1057,7 @@ private: * * @author Wolfgang Bangerth, 2004 */ -class SparseDirectUMFPACK : public virtual Subscriptor +class SparseDirectUMFPACK : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/sparse_matrix_ez.h b/deal.II/include/deal.II/lac/sparse_matrix_ez.h index 860bc42ccc..08718a1c62 100644 --- a/deal.II/include/deal.II/lac/sparse_matrix_ez.h +++ b/deal.II/include/deal.II/lac/sparse_matrix_ez.h @@ -94,7 +94,7 @@ template class FullMatrix; * @date 2002, 2010 */ template -class SparseMatrixEZ : public virtual Subscriptor +class SparseMatrixEZ : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/sparsity_pattern.h b/deal.II/include/deal.II/lac/sparsity_pattern.h index c3daaf603d..5c13c278e0 100644 --- a/deal.II/include/deal.II/lac/sparsity_pattern.h +++ b/deal.II/include/deal.II/lac/sparsity_pattern.h @@ -254,7 +254,7 @@ namespace SparsityPatternIterators * * @author Wolfgang Bangerth, Guido Kanschat and others */ -class SparsityPattern : public virtual Subscriptor +class SparsityPattern : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/trilinos_precondition.h b/deal.II/include/deal.II/lac/trilinos_precondition.h index 7b5fba7b80..4c349b1531 100644 --- a/deal.II/include/deal.II/lac/trilinos_precondition.h +++ b/deal.II/include/deal.II/lac/trilinos_precondition.h @@ -69,7 +69,7 @@ namespace TrilinosWrappers * @ingroup Preconditioners * @author Martin Kronbichler, 2008 */ - class PreconditionBase : public virtual Subscriptor + class PreconditionBase : public Subscriptor { public: diff --git a/deal.II/include/deal.II/lac/trilinos_sparse_matrix.h b/deal.II/include/deal.II/lac/trilinos_sparse_matrix.h index ce727d10e5..e522461661 100644 --- a/deal.II/include/deal.II/lac/trilinos_sparse_matrix.h +++ b/deal.II/include/deal.II/lac/trilinos_sparse_matrix.h @@ -302,7 +302,7 @@ namespace TrilinosWrappers * @ingroup Matrix1 * @author Martin Kronbichler, Wolfgang Bangerth, 2008, 2009 */ - class SparseMatrix : public virtual Subscriptor + class SparseMatrix : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/trilinos_sparsity_pattern.h b/deal.II/include/deal.II/lac/trilinos_sparsity_pattern.h index 355e8987fb..0967442a6f 100644 --- a/deal.II/include/deal.II/lac/trilinos_sparsity_pattern.h +++ b/deal.II/include/deal.II/lac/trilinos_sparsity_pattern.h @@ -266,7 +266,7 @@ namespace TrilinosWrappers * @ingroup Sparsity * @author Martin Kronbichler, 2008 */ - class SparsityPattern : public virtual Subscriptor + class SparsityPattern : public Subscriptor { public: diff --git a/deal.II/include/deal.II/lac/trilinos_vector_base.h b/deal.II/include/deal.II/lac/trilinos_vector_base.h index 90101eb753..76bee84634 100644 --- a/deal.II/include/deal.II/lac/trilinos_vector_base.h +++ b/deal.II/include/deal.II/lac/trilinos_vector_base.h @@ -252,7 +252,7 @@ namespace TrilinosWrappers * @ingroup Vectors * @author Martin Kronbichler, 2008 */ - class VectorBase : public virtual Subscriptor + class VectorBase : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/vector.h b/deal.II/include/deal.II/lac/vector.h index a7fe53d495..f4a65a839a 100644 --- a/deal.II/include/deal.II/lac/vector.h +++ b/deal.II/include/deal.II/lac/vector.h @@ -101,7 +101,7 @@ struct VectorOperation * @author Guido Kanschat, Franz-Theo Suttmeier, Wolfgang Bangerth */ template -class Vector : public virtual Subscriptor +class Vector : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/lac/vector_memory.h b/deal.II/include/deal.II/lac/vector_memory.h index 203e735d40..ec8926a42c 100644 --- a/deal.II/include/deal.II/lac/vector_memory.h +++ b/deal.II/include/deal.II/lac/vector_memory.h @@ -66,7 +66,7 @@ DEAL_II_NAMESPACE_OPEN * @author Guido Kanschat, 1998-2003 */ template > -class VectorMemory : public virtual Subscriptor +class VectorMemory : public Subscriptor { public: diff --git a/deal.II/include/deal.II/meshworker/local_integrator.h b/deal.II/include/deal.II/meshworker/local_integrator.h index d192bc70f9..c46173eb21 100644 --- a/deal.II/include/deal.II/meshworker/local_integrator.h +++ b/deal.II/include/deal.II/meshworker/local_integrator.h @@ -40,7 +40,7 @@ namespace MeshWorker * @date 2012 */ template - class LocalIntegrator : public virtual Subscriptor + class LocalIntegrator : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/meshworker/vector_selector.h b/deal.II/include/deal.II/meshworker/vector_selector.h index cc378e0367..0edf1df4f6 100644 --- a/deal.II/include/deal.II/meshworker/vector_selector.h +++ b/deal.II/include/deal.II/meshworker/vector_selector.h @@ -40,7 +40,7 @@ namespace MeshWorker * @author Guido Kanschat 2009 */ class VectorSelector : - public virtual Subscriptor + public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/multigrid/mg_base.h b/deal.II/include/deal.II/multigrid/mg_base.h index a180c7a259..095eae0ed2 100644 --- a/deal.II/include/deal.II/multigrid/mg_base.h +++ b/deal.II/include/deal.II/multigrid/mg_base.h @@ -46,7 +46,7 @@ template class MGLevelObject; * @author Guido Kanschat, 2002 */ template -class MGMatrixBase : public virtual Subscriptor +class MGMatrixBase : public Subscriptor { public: /* @@ -98,7 +98,7 @@ public: * @author Guido Kanschat, 2002 */ template -class MGCoarseGridBase : public virtual Subscriptor +class MGCoarseGridBase : public Subscriptor { public: /** @@ -163,7 +163,7 @@ public: * @author Wolfgang Bangerth, Guido Kanschat, 1999, 2002, 2007 */ template -class MGTransferBase : public virtual Subscriptor +class MGTransferBase : public Subscriptor { public: /** @@ -233,7 +233,7 @@ public: * @author Guido Kanschat, 2002 */ template -class MGSmootherBase : public virtual Subscriptor +class MGSmootherBase : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/multigrid/mg_constrained_dofs.h b/deal.II/include/deal.II/multigrid/mg_constrained_dofs.h index 34b4946fe1..29fcf76ca1 100644 --- a/deal.II/include/deal.II/multigrid/mg_constrained_dofs.h +++ b/deal.II/include/deal.II/multigrid/mg_constrained_dofs.h @@ -32,7 +32,7 @@ template struct FunctionMap; * * @ingroup mg */ -class MGConstrainedDoFs : public virtual Subscriptor +class MGConstrainedDoFs : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/multigrid/multigrid.h b/deal.II/include/deal.II/multigrid/multigrid.h index 9a6807249f..cf674c41f2 100644 --- a/deal.II/include/deal.II/multigrid/multigrid.h +++ b/deal.II/include/deal.II/multigrid/multigrid.h @@ -60,7 +60,7 @@ DEAL_II_NAMESPACE_OPEN * @author Guido Kanschat, 1999 - 2005 */ template -class Multigrid : public virtual Subscriptor +class Multigrid : public Subscriptor { public: /** @@ -503,7 +503,7 @@ private: * @author Guido Kanschat, 1999, 2000, 2001, 2002 */ template -class PreconditionMG : public virtual Subscriptor +class PreconditionMG : public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/numerics/data_postprocessor.h b/deal.II/include/deal.II/numerics/data_postprocessor.h index 7a533b96d3..912b65fc7d 100644 --- a/deal.II/include/deal.II/numerics/data_postprocessor.h +++ b/deal.II/include/deal.II/numerics/data_postprocessor.h @@ -95,7 +95,7 @@ DEAL_II_NAMESPACE_OPEN * @author Tobias Leicht, 2007 */ template -class DataPostprocessor: public virtual Subscriptor +class DataPostprocessor: public Subscriptor { public: /** diff --git a/deal.II/include/deal.II/numerics/time_dependent.h b/deal.II/include/deal.II/numerics/time_dependent.h index 071e1a2dc0..d9257fd470 100644 --- a/deal.II/include/deal.II/numerics/time_dependent.h +++ b/deal.II/include/deal.II/numerics/time_dependent.h @@ -754,7 +754,7 @@ private: * * @author Wolfgang Bangerth, 1999 */ -class TimeStepBase : public virtual Subscriptor +class TimeStepBase : public Subscriptor { public: /** diff --git a/deal.II/source/fe/fe_system.cc b/deal.II/source/fe/fe_system.cc index 04e146d73c..5854d2c3dd 100644 --- a/deal.II/source/fe/fe_system.cc +++ b/deal.II/source/fe/fe_system.cc @@ -973,31 +973,39 @@ FESystem::compute_fill ( } } - // fill_fe_face_values needs argument Quadrature for both - // cases dim_1==dim-1 and dim_1=dim. Hence the following workaround + // fill_fe_face_values needs + // argument Quadrature + // for both cases + // dim_1==dim-1 and + // dim_1=dim. Hence the + // following workaround const Quadrature *cell_quadrature = 0; const Quadrature *face_quadrature = 0; - // static cast to the common base class of quadrature being either - // Quadrature or Quadrature: + // static cast to the + // common base class of + // quadrature being either + // Quadrature or + // Quadrature: + const Subscriptor *quadrature_base_pointer = &quadrature; if (face_no==invalid_face_number) { Assert(dim_1==dim, ExcDimensionMismatch(dim_1,dim)); - Assert (dynamic_cast *>(&quadrature) != 0, + Assert (dynamic_cast *>(quadrature_base_pointer) != 0, ExcInternalError()); cell_quadrature - = reinterpret_cast *>(&quadrature); + = static_cast *>(quadrature_base_pointer); } else { Assert(dim_1==dim-1, ExcDimensionMismatch(dim_1,dim-1)); - Assert (dynamic_cast *>(&quadrature) != 0, + Assert (dynamic_cast *>(quadrature_base_pointer) != 0, ExcInternalError()); face_quadrature - = reinterpret_cast *>(&quadrature); + = static_cast *>(quadrature_base_pointer); } // let base elements update the -- 2.39.5