From 531208a6c5b9db5e242e39abc98183378c22dff6 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Sat, 6 May 2006 03:28:30 +0000 Subject: [PATCH] Unify the way we declare iterator types. Move things into internal namespaces git-svn-id: https://svn.dealii.org/trunk@13075 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/dofs/dof_handler.h | 2 +- .../include/dofs/dof_iterator_selector.h | 205 +++++++------- deal.II/deal.II/include/dofs/hp_dof_handler.h | 2 +- deal.II/deal.II/include/grid/tria.h | 2 +- .../include/grid/tria_iterator_selector.h | 202 ++++++------- .../include/multigrid/mg_dof_handler.h | 266 +++--------------- .../source/multigrid/mg_dof_handler.cc | 90 +++--- 7 files changed, 300 insertions(+), 469 deletions(-) diff --git a/deal.II/deal.II/include/dofs/dof_handler.h b/deal.II/deal.II/include/dofs/dof_handler.h index 8034d0171f..8bed1d2e59 100644 --- a/deal.II/deal.II/include/dofs/dof_handler.h +++ b/deal.II/deal.II/include/dofs/dof_handler.h @@ -104,7 +104,7 @@ namespace internal template class DoFHandler : public Subscriptor { - typedef internal::DoFIterators > IteratorSelector; + typedef internal::DoFHandler::Iterators > IteratorSelector; public: typedef typename IteratorSelector::raw_line_iterator raw_line_iterator; typedef typename IteratorSelector::line_iterator line_iterator; diff --git a/deal.II/deal.II/include/dofs/dof_iterator_selector.h b/deal.II/deal.II/include/dofs/dof_iterator_selector.h index 2d6e47b964..33321988a0 100644 --- a/deal.II/deal.II/include/dofs/dof_iterator_selector.h +++ b/deal.II/deal.II/include/dofs/dof_iterator_selector.h @@ -34,6 +34,8 @@ template class DoFHandler; namespace internal { + namespace DoFHandler + { /** * A pseudo class defining the iterator types used by DoFHandler and * hp::DoFHandler. The typedefs in this class are synonymous with @@ -54,45 +56,45 @@ namespace internal * @ingroup Accessors * @author W. Bangerth, G. Kanschat, O. Kayser-Herold, 1998, 2003, 2006 */ - template - struct DoFIterators - { - /// The dof handler class. - typedef DH DoFHandler_type; - /// The topological dimension of the dof handler. - static const unsigned int dim = DH::dimension; + template + struct Iterators + { + /// The dof handler class. + typedef DH DoFHandler_type; + /// The topological dimension of the dof handler. + static const unsigned int dim = DH::dimension; - /// Iterator for raw lines. - typedef TriaRawIterator > raw_line_iterator; - /// Iterator for usual lines. - typedef TriaIterator > line_iterator; - /// Iterator for active lines. - typedef TriaActiveIterator > active_line_iterator; - /// Iterator for raw quadrilaterals - typedef TriaRawIterator > raw_quad_iterator; - /// Iterator for quadrilaterals - typedef TriaIterator > quad_iterator; - /// Iterator for active quadrilaterals - typedef TriaActiveIterator > active_quad_iterator; - /// Iterator for raw hexahedra - typedef TriaRawIterator > raw_hex_iterator; - /// Iterator for hexahedra - typedef TriaIterator > hex_iterator; - /// Iterator for active hexahedra - typedef TriaActiveIterator > active_hex_iterator; - /// Iterator for raw cells - typedef TriaRawIterator > raw_cell_iterator; - /// Iterator for cells - typedef TriaIterator > cell_iterator; - /// Iterator for active cells - typedef TriaActiveIterator > active_cell_iterator; - /// Iterator for raw faces - typedef TriaRawIterator > raw_face_iterator; - /// Iterator for faces - typedef TriaIterator > face_iterator; - /// Iterator for active faces - typedef TriaActiveIterator > active_face_iterator; - }; + /// Iterator for raw lines. + typedef TriaRawIterator > raw_line_iterator; + /// Iterator for usual lines. + typedef TriaIterator > line_iterator; + /// Iterator for active lines. + typedef TriaActiveIterator > active_line_iterator; + /// Iterator for raw quadrilaterals + typedef TriaRawIterator > raw_quad_iterator; + /// Iterator for quadrilaterals + typedef TriaIterator > quad_iterator; + /// Iterator for active quadrilaterals + typedef TriaActiveIterator > active_quad_iterator; + /// Iterator for raw hexahedra + typedef TriaRawIterator > raw_hex_iterator; + /// Iterator for hexahedra + typedef TriaIterator > hex_iterator; + /// Iterator for active hexahedra + typedef TriaActiveIterator > active_hex_iterator; + /// Iterator for raw cells + typedef TriaRawIterator > raw_cell_iterator; + /// Iterator for cells + typedef TriaIterator > cell_iterator; + /// Iterator for active cells + typedef TriaActiveIterator > active_cell_iterator; + /// Iterator for raw faces + typedef TriaRawIterator > raw_face_iterator; + /// Iterator for faces + typedef TriaIterator > face_iterator; + /// Iterator for active faces + typedef TriaActiveIterator > active_face_iterator; + }; @@ -100,37 +102,37 @@ namespace internal * Define some types for the DoF handling in one dimension. * * The types have the same meaning as those declared in - * TriaDimensionInfo<2>, only the treatment of templates is a + * internal::Triangulation::Iterators<2>, only the treatment of templates is a * little more complicated since the @p DoFAccessor classes want a * template template argument. * * @author Wolfgang Bangerth, Oliver Kayser-Herold, 1998, 2003 */ - template