From: Wolfgang Bangerth Date: Wed, 4 Jan 2006 16:11:16 +0000 (+0000) Subject: Move most of the hp stuff to its own namespace. X-Git-Tag: v8.0.0~12711 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5445d55b103b27cc359df637eefc7db6ec909e5e;p=dealii.git Move most of the hp stuff to its own namespace. git-svn-id: https://svn.dealii.org/trunk@11948 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/dofs/dof_accessor.h b/deal.II/deal.II/include/dofs/dof_accessor.h index 6ab7793bf5..550c99fa3d 100644 --- a/deal.II/deal.II/include/dofs/dof_accessor.h +++ b/deal.II/deal.II/include/dofs/dof_accessor.h @@ -23,7 +23,7 @@ template class SparseMatrix; template class Vector; template class DoFHandler; -template class hpDoFHandler; +template class hp::DoFHandler; template class FiniteElement; template class DH> class DoFObjectAccessor; @@ -1579,80 +1579,80 @@ DoFCellAccessor<3, DoFHandler>::face (const unsigned int i) const; template <> const FiniteElement<1> & -DoFObjectAccessor<1,1,hpDoFHandler>::get_fe () const; +DoFObjectAccessor<1,1,hp::DoFHandler>::get_fe () const; template <> const FiniteElement<2> & -DoFObjectAccessor<1,2,hpDoFHandler>::get_fe () const; +DoFObjectAccessor<1,2,hp::DoFHandler>::get_fe () const; template <> const FiniteElement<3> & -DoFObjectAccessor<1,3,hpDoFHandler>::get_fe () const; +DoFObjectAccessor<1,3,hp::DoFHandler>::get_fe () const; template <> const FiniteElement<2> & -DoFObjectAccessor<2,2,hpDoFHandler>::get_fe () const; +DoFObjectAccessor<2,2,hp::DoFHandler>::get_fe () const; template <> const FiniteElement<3> & -DoFObjectAccessor<2,3,hpDoFHandler>::get_fe () const; +DoFObjectAccessor<2,3,hp::DoFHandler>::get_fe () const; template <> const FiniteElement<3> & -DoFObjectAccessor<3,3,hpDoFHandler>::get_fe () const; +DoFObjectAccessor<3,3,hp::DoFHandler>::get_fe () const; template <> -void DoFObjectAccessor<1,1,hpDoFHandler>::set_dof_index (const unsigned int, +void DoFObjectAccessor<1,1,hp::DoFHandler>::set_dof_index (const unsigned int, const unsigned int) const; template <> -void DoFObjectAccessor<1,2,hpDoFHandler>::set_dof_index (const unsigned int, +void DoFObjectAccessor<1,2,hp::DoFHandler>::set_dof_index (const unsigned int, const unsigned int) const; template <> -void DoFObjectAccessor<1,3,hpDoFHandler>::set_dof_index (const unsigned int, +void DoFObjectAccessor<1,3,hp::DoFHandler>::set_dof_index (const unsigned int, const unsigned int) const; template <> -void DoFObjectAccessor<2,2,hpDoFHandler>::set_dof_index (const unsigned int, +void DoFObjectAccessor<2,2,hp::DoFHandler>::set_dof_index (const unsigned int, const unsigned int) const; template <> -void DoFObjectAccessor<2,3,hpDoFHandler>::set_dof_index (const unsigned int, +void DoFObjectAccessor<2,3,hp::DoFHandler>::set_dof_index (const unsigned int, const unsigned int) const; template <> -void DoFObjectAccessor<3,3,hpDoFHandler>::set_dof_index (const unsigned int, +void DoFObjectAccessor<3,3,hp::DoFHandler>::set_dof_index (const unsigned int, const unsigned int) const; template <> unsigned int -DoFObjectAccessor<1,1,hpDoFHandler>::active_fe_index () const; +DoFObjectAccessor<1,1,hp::DoFHandler>::active_fe_index () const; template <> unsigned int -DoFObjectAccessor<1,2,hpDoFHandler>::active_fe_index () const; +DoFObjectAccessor<1,2,hp::DoFHandler>::active_fe_index () const; template <> unsigned int -DoFObjectAccessor<1,3,hpDoFHandler>::active_fe_index () const; +DoFObjectAccessor<1,3,hp::DoFHandler>::active_fe_index () const; template <> unsigned int -DoFObjectAccessor<2,2,hpDoFHandler>::active_fe_index () const; +DoFObjectAccessor<2,2,hp::DoFHandler>::active_fe_index () const; template <> unsigned int -DoFObjectAccessor<2,3,hpDoFHandler>::active_fe_index () const; +DoFObjectAccessor<2,3,hp::DoFHandler>::active_fe_index () const; template <> unsigned int -DoFObjectAccessor<3,3,hpDoFHandler>::active_fe_index () const; +DoFObjectAccessor<3,3,hp::DoFHandler>::active_fe_index () const; template <> void -DoFObjectAccessor<1,1,hpDoFHandler>::set_active_fe_index (const unsigned int i); +DoFObjectAccessor<1,1,hp::DoFHandler>::set_active_fe_index (const unsigned int i); template <> void -DoFObjectAccessor<1,2,hpDoFHandler>::set_active_fe_index (const unsigned int i); +DoFObjectAccessor<1,2,hp::DoFHandler>::set_active_fe_index (const unsigned int i); template <> void -DoFObjectAccessor<1,3,hpDoFHandler>::set_active_fe_index (const unsigned int i); +DoFObjectAccessor<1,3,hp::DoFHandler>::set_active_fe_index (const unsigned int i); template <> void -DoFObjectAccessor<2,2,hpDoFHandler>::set_active_fe_index (const unsigned int i); +DoFObjectAccessor<2,2,hp::DoFHandler>::set_active_fe_index (const unsigned int i); template <> void -DoFObjectAccessor<2,3,hpDoFHandler>::set_active_fe_index (const unsigned int i); +DoFObjectAccessor<2,3,hp::DoFHandler>::set_active_fe_index (const unsigned int i); template <> void -DoFObjectAccessor<3,3,hpDoFHandler>::set_active_fe_index (const unsigned int i); +DoFObjectAccessor<3,3,hp::DoFHandler>::set_active_fe_index (const unsigned int i); // include more templates diff --git a/deal.II/deal.II/include/dofs/dof_accessor.templates.h b/deal.II/deal.II/include/dofs/dof_accessor.templates.h index f769bf0ee2..e75d761c05 100644 --- a/deal.II/deal.II/include/dofs/dof_accessor.templates.h +++ b/deal.II/deal.II/include/dofs/dof_accessor.templates.h @@ -1027,12 +1027,12 @@ DoFObjectAccessor<3,dim,DH>::operator != (const DoFObjectAccessor<3,dim,DH> &a) } -/*--------------- Functions: DoFObjectAccessor<1,dim,hpDoFHandler> -----------*/ +/*--------------- Functions: DoFObjectAccessor<1,dim,hp::DoFHandler> -----------*/ template <> inline unsigned int -DoFObjectAccessor<1,1,hpDoFHandler>::dof_index (const unsigned int i) const +DoFObjectAccessor<1,1,hp::DoFHandler>::dof_index (const unsigned int i) const { // since the exception classes are // from a template dependent base @@ -1043,7 +1043,7 @@ DoFObjectAccessor<1,1,hpDoFHandler>::dof_index (const unsigned int i) const // non-template dependent name and // use that to specify the // qualified exception names - typedef DoFAccessor<1, hpDoFHandler> BaseClass; + typedef DoFAccessor<1, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); // make sure a FE has been selected @@ -1062,7 +1062,7 @@ DoFObjectAccessor<1,1,hpDoFHandler>::dof_index (const unsigned int i) const template <> inline unsigned int -DoFObjectAccessor<1,2,hpDoFHandler>::dof_index (const unsigned int i) const +DoFObjectAccessor<1,2,hp::DoFHandler>::dof_index (const unsigned int i) const { // since the exception classes are // from a template dependent base @@ -1073,7 +1073,7 @@ DoFObjectAccessor<1,2,hpDoFHandler>::dof_index (const unsigned int i) const // non-template dependent name and // use that to specify the // qualified exception names - typedef DoFAccessor<2, hpDoFHandler> BaseClass; + typedef DoFAccessor<2, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); // make sure a FE has been selected @@ -1092,7 +1092,7 @@ DoFObjectAccessor<1,2,hpDoFHandler>::dof_index (const unsigned int i) const template <> inline unsigned int -DoFObjectAccessor<1,3,hpDoFHandler>::dof_index (const unsigned int i) const +DoFObjectAccessor<1,3,hp::DoFHandler>::dof_index (const unsigned int i) const { // since the exception classes are // from a template dependent base @@ -1103,7 +1103,7 @@ DoFObjectAccessor<1,3,hpDoFHandler>::dof_index (const unsigned int i) const // non-template dependent name and // use that to specify the // qualified exception names - typedef DoFAccessor<3, hpDoFHandler> BaseClass; + typedef DoFAccessor<3, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); // make sure a FE has been selected @@ -1123,10 +1123,10 @@ DoFObjectAccessor<1,3,hpDoFHandler>::dof_index (const unsigned int i) const template <> inline void -DoFObjectAccessor<1, 1, hpDoFHandler>::set_dof_index (const unsigned int i, +DoFObjectAccessor<1, 1, hp::DoFHandler>::set_dof_index (const unsigned int i, const unsigned int index) const { - typedef DoFAccessor<1, hpDoFHandler> BaseClass; + typedef DoFAccessor<1, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); @@ -1147,10 +1147,10 @@ DoFObjectAccessor<1, 1, hpDoFHandler>::set_dof_index (const unsigned int i, template <> inline void -DoFObjectAccessor<1, 2, hpDoFHandler>::set_dof_index (const unsigned int i, +DoFObjectAccessor<1, 2, hp::DoFHandler>::set_dof_index (const unsigned int i, const unsigned int index) const { - typedef DoFAccessor<2, hpDoFHandler> BaseClass; + typedef DoFAccessor<2, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); @@ -1175,10 +1175,10 @@ DoFObjectAccessor<1, 2, hpDoFHandler>::set_dof_index (const unsigned int i, template <> inline void -DoFObjectAccessor<1, 3, hpDoFHandler>::set_dof_index (const unsigned int i, +DoFObjectAccessor<1, 3, hp::DoFHandler>::set_dof_index (const unsigned int i, const unsigned int index) const { - typedef DoFAccessor<3, hpDoFHandler> BaseClass; + typedef DoFAccessor<3, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); @@ -1201,21 +1201,21 @@ DoFObjectAccessor<1, 3, hpDoFHandler>::set_dof_index (const unsigned int i, template <> inline const FiniteElement<1> & -DoFObjectAccessor<1,1,hpDoFHandler>::get_fe () const +DoFObjectAccessor<1,1,hp::DoFHandler>::get_fe () const { return dof_handler->finite_elements->get_fe(active_fe_index ()); } template <> inline const FiniteElement<2> & -DoFObjectAccessor<1,2,hpDoFHandler>::get_fe () const +DoFObjectAccessor<1,2,hp::DoFHandler>::get_fe () const { return dof_handler->finite_elements->get_fe(active_fe_index ()); } template <> inline const FiniteElement<3> & -DoFObjectAccessor<1,3,hpDoFHandler>::get_fe () const +DoFObjectAccessor<1,3,hp::DoFHandler>::get_fe () const { return dof_handler->finite_elements->get_fe(active_fe_index ()); } @@ -1224,7 +1224,7 @@ DoFObjectAccessor<1,3,hpDoFHandler>::get_fe () const template <> inline unsigned int -DoFObjectAccessor<1,1,hpDoFHandler>::active_fe_index () const +DoFObjectAccessor<1,1,hp::DoFHandler>::active_fe_index () const { Assert (static_cast::size_type>(this->present_index) < dof_handler->levels[this->present_level]->active_fe_indices.size (), @@ -1236,7 +1236,7 @@ DoFObjectAccessor<1,1,hpDoFHandler>::active_fe_index () const template <> inline unsigned int -DoFObjectAccessor<1,2,hpDoFHandler>::active_fe_index () const +DoFObjectAccessor<1,2,hp::DoFHandler>::active_fe_index () const { Assert (static_cast::size_type>(this->present_index) < dof_handler->levels[this->present_level]->active_fe_indices.size (), @@ -1248,7 +1248,7 @@ DoFObjectAccessor<1,2,hpDoFHandler>::active_fe_index () const template <> inline unsigned int -DoFObjectAccessor<1,3,hpDoFHandler>::active_fe_index () const +DoFObjectAccessor<1,3,hp::DoFHandler>::active_fe_index () const { Assert (static_cast::size_type>(this->present_index) < dof_handler->levels[this->present_level]->active_fe_indices.size (), @@ -1262,7 +1262,7 @@ DoFObjectAccessor<1,3,hpDoFHandler>::active_fe_index () const template <> inline void -DoFObjectAccessor<1,1,hpDoFHandler>::set_active_fe_index (const unsigned int i) +DoFObjectAccessor<1,1,hp::DoFHandler>::set_active_fe_index (const unsigned int i) { Assert (dof_handler != 0, ExcInvalidObject()); Assert (static_cast::size_type>(this->present_index) < @@ -1277,7 +1277,7 @@ DoFObjectAccessor<1,1,hpDoFHandler>::set_active_fe_index (const unsigned int i) template <> inline void -DoFObjectAccessor<1,2,hpDoFHandler>::set_active_fe_index (const unsigned int i) +DoFObjectAccessor<1,2,hp::DoFHandler>::set_active_fe_index (const unsigned int i) { Assert (dof_handler != 0, ExcInvalidObject()); Assert (static_cast::size_type>(this->present_index) < @@ -1292,7 +1292,7 @@ DoFObjectAccessor<1,2,hpDoFHandler>::set_active_fe_index (const unsigned int i) template <> inline void -DoFObjectAccessor<1,3,hpDoFHandler>::set_active_fe_index (const unsigned int i) +DoFObjectAccessor<1,3,hp::DoFHandler>::set_active_fe_index (const unsigned int i) { Assert (dof_handler != 0, ExcInvalidObject()); Assert (static_cast::size_type>(this->present_index) < @@ -1306,13 +1306,13 @@ DoFObjectAccessor<1,3,hpDoFHandler>::set_active_fe_index (const unsigned int i) } -/*------------- Functions: DoFObjectAccessor<2,dim,hpDoFHandler> -------------*/ +/*------------- Functions: DoFObjectAccessor<2,dim,hp::DoFHandler> -------------*/ template <> inline -unsigned int DoFObjectAccessor<2,2,hpDoFHandler>::dof_index (const unsigned int i) const +unsigned int DoFObjectAccessor<2,2,hp::DoFHandler>::dof_index (const unsigned int i) const { - typedef DoFAccessor<2, hpDoFHandler> BaseClass; + typedef DoFAccessor<2, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); @@ -1331,9 +1331,9 @@ unsigned int DoFObjectAccessor<2,2,hpDoFHandler>::dof_index (const unsigned int template <> inline -unsigned int DoFObjectAccessor<2,3,hpDoFHandler>::dof_index (const unsigned int i) const +unsigned int DoFObjectAccessor<2,3,hp::DoFHandler>::dof_index (const unsigned int i) const { - typedef DoFAccessor<3, hpDoFHandler> BaseClass; + typedef DoFAccessor<3, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); @@ -1354,10 +1354,10 @@ unsigned int DoFObjectAccessor<2,3,hpDoFHandler>::dof_index (const unsigned int template <> inline void -DoFObjectAccessor<2, 2, hpDoFHandler>::set_dof_index (const unsigned int i, +DoFObjectAccessor<2, 2, hp::DoFHandler>::set_dof_index (const unsigned int i, const unsigned int index) const { - typedef DoFAccessor<2, hpDoFHandler> BaseClass; + typedef DoFAccessor<2, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); @@ -1378,10 +1378,10 @@ DoFObjectAccessor<2, 2, hpDoFHandler>::set_dof_index (const unsigned int i, template <> inline void -DoFObjectAccessor<2, 3, hpDoFHandler>::set_dof_index (const unsigned int i, +DoFObjectAccessor<2, 3, hp::DoFHandler>::set_dof_index (const unsigned int i, const unsigned int index) const { - typedef DoFAccessor<3, hpDoFHandler> BaseClass; + typedef DoFAccessor<3, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); @@ -1403,7 +1403,7 @@ DoFObjectAccessor<2, 3, hpDoFHandler>::set_dof_index (const unsigned int i, template <> inline const FiniteElement<2> & -DoFObjectAccessor<2,2,hpDoFHandler>::get_fe () const +DoFObjectAccessor<2,2,hp::DoFHandler>::get_fe () const { return dof_handler->finite_elements->get_fe(active_fe_index ()); } @@ -1413,7 +1413,7 @@ DoFObjectAccessor<2,2,hpDoFHandler>::get_fe () const template <> inline const FiniteElement<3> & -DoFObjectAccessor<2,3,hpDoFHandler>::get_fe () const +DoFObjectAccessor<2,3,hp::DoFHandler>::get_fe () const { return dof_handler->finite_elements->get_fe(active_fe_index ()); } @@ -1423,7 +1423,7 @@ DoFObjectAccessor<2,3,hpDoFHandler>::get_fe () const template <> inline unsigned int -DoFObjectAccessor<2,2,hpDoFHandler>::active_fe_index () const +DoFObjectAccessor<2,2,hp::DoFHandler>::active_fe_index () const { Assert (static_cast::size_type>(this->present_index) < dof_handler->levels[this->present_level]->active_fe_indices.size (), @@ -1438,7 +1438,7 @@ DoFObjectAccessor<2,2,hpDoFHandler>::active_fe_index () const template <> inline unsigned int -DoFObjectAccessor<2,3,hpDoFHandler>::active_fe_index () const +DoFObjectAccessor<2,3,hp::DoFHandler>::active_fe_index () const { Assert (static_cast::size_type>(this->present_index) < dof_handler->levels[this->present_level]->active_fe_indices.size (), @@ -1452,7 +1452,7 @@ DoFObjectAccessor<2,3,hpDoFHandler>::active_fe_index () const template <> inline void -DoFObjectAccessor<2,2,hpDoFHandler>::set_active_fe_index (const unsigned int i) +DoFObjectAccessor<2,2,hp::DoFHandler>::set_active_fe_index (const unsigned int i) { Assert (dof_handler != 0, ExcInvalidObject()); Assert (static_cast::size_type>(this->present_index) < @@ -1470,7 +1470,7 @@ DoFObjectAccessor<2,2,hpDoFHandler>::set_active_fe_index (const unsigned int i) template <> inline void -DoFObjectAccessor<2,3,hpDoFHandler>::set_active_fe_index (const unsigned int i) +DoFObjectAccessor<2,3,hp::DoFHandler>::set_active_fe_index (const unsigned int i) { Assert (dof_handler != 0, ExcInvalidObject()); Assert (static_cast::size_type>(this->present_index) < @@ -1484,14 +1484,14 @@ DoFObjectAccessor<2,3,hpDoFHandler>::set_active_fe_index (const unsigned int i) } -/*------------- Functions: DoFObjectAccessor<3,dim,hpDoFHandler> -------------*/ +/*------------- Functions: DoFObjectAccessor<3,dim,hp::DoFHandler> -------------*/ template <> inline unsigned int -DoFObjectAccessor<3,3,hpDoFHandler>::dof_index (const unsigned int i) const +DoFObjectAccessor<3,3,hp::DoFHandler>::dof_index (const unsigned int i) const { - typedef DoFAccessor<3, hpDoFHandler> BaseClass; + typedef DoFAccessor<3, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); @@ -1512,10 +1512,10 @@ DoFObjectAccessor<3,3,hpDoFHandler>::dof_index (const unsigned int i) const template <> inline void -DoFObjectAccessor<3, 3, hpDoFHandler>::set_dof_index (const unsigned int i, +DoFObjectAccessor<3, 3, hp::DoFHandler>::set_dof_index (const unsigned int i, const unsigned int index) const { - typedef DoFAccessor<3, hpDoFHandler> BaseClass; + typedef DoFAccessor<3, hp::DoFHandler> BaseClass; Assert (this->dof_handler != 0, BaseClass::ExcInvalidObject()); @@ -1537,7 +1537,7 @@ DoFObjectAccessor<3, 3, hpDoFHandler>::set_dof_index (const unsigned int i, template <> inline const FiniteElement<3> & -DoFObjectAccessor<3,3,hpDoFHandler>::get_fe () const +DoFObjectAccessor<3,3,hp::DoFHandler>::get_fe () const { return dof_handler->finite_elements->get_fe(active_fe_index ()); } @@ -1546,7 +1546,7 @@ DoFObjectAccessor<3,3,hpDoFHandler>::get_fe () const template <> inline unsigned int -DoFObjectAccessor<3,3,hpDoFHandler>::active_fe_index () const +DoFObjectAccessor<3,3,hp::DoFHandler>::active_fe_index () const { Assert (static_cast::size_type>(this->present_index) < dof_handler->levels[this->present_level]->active_fe_indices.size (), @@ -1561,7 +1561,7 @@ DoFObjectAccessor<3,3,hpDoFHandler>::active_fe_index () const template <> inline void -DoFObjectAccessor<3,3,hpDoFHandler>::set_active_fe_index (const unsigned int i) +DoFObjectAccessor<3,3,hp::DoFHandler>::set_active_fe_index (const unsigned int i) { Assert (dof_handler != 0, ExcInvalidObject()); Assert (static_cast::size_type>(this->present_index) < @@ -1628,19 +1628,19 @@ DoFCellAccessor::child (const unsigned int i) const template <> inline -TriaIterator<1, DoFObjectAccessor<0,1,hpDoFHandler> > -DoFCellAccessor<1,hpDoFHandler>::face (const unsigned int) const +TriaIterator<1, DoFObjectAccessor<0,1,hp::DoFHandler> > +DoFCellAccessor<1,hp::DoFHandler>::face (const unsigned int) const { Assert (false, ExcImpossibleInDim(1)); - return TriaIterator<1, DoFObjectAccessor<0,1, hpDoFHandler> >(); + return TriaIterator<1, DoFObjectAccessor<0,1, hp::DoFHandler> >(); } template <> inline -TriaIterator<2, DoFObjectAccessor<1,2,hpDoFHandler> > -DoFCellAccessor<2,hpDoFHandler>::face (const unsigned int i) const +TriaIterator<2, DoFObjectAccessor<1,2,hp::DoFHandler> > +DoFCellAccessor<2,hp::DoFHandler>::face (const unsigned int i) const { return this->line(i); } @@ -1649,8 +1649,8 @@ DoFCellAccessor<2,hpDoFHandler>::face (const unsigned int i) const template <> inline -TriaIterator<3, DoFObjectAccessor<2, 3, hpDoFHandler> > -DoFCellAccessor<3,hpDoFHandler>::face (const unsigned int i) const +TriaIterator<3, DoFObjectAccessor<2, 3, hp::DoFHandler> > +DoFCellAccessor<3,hp::DoFHandler>::face (const unsigned int i) const { return this->quad(i); } diff --git a/deal.II/deal.II/include/dofs/dof_tools.h b/deal.II/deal.II/include/dofs/dof_tools.h index 3a97a1f3df..04279397d3 100644 --- a/deal.II/deal.II/include/dofs/dof_tools.h +++ b/deal.II/deal.II/include/dofs/dof_tools.h @@ -30,7 +30,7 @@ template class Function; template class Point; template class FiniteElement; template class DoFHandler; -template class hpDoFHandler; +template class hp::DoFHandler; template class MGDoFHandler; class ConstraintMatrix; template