From 904456731bce7b0d91fa78163dba85ab4fa72edf Mon Sep 17 00:00:00 2001 From: Guido Kanschat Date: Fri, 5 May 2006 16:44:56 +0000 Subject: [PATCH] more improvements on iterator definition classes git-svn-id: https://svn.dealii.org/trunk@13069 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/dofs/dof_handler.h | 2 +- .../include/dofs/dof_iterator_selector.h | 163 +++++++++--------- deal.II/deal.II/include/dofs/hp_dof_handler.h | 2 +- deal.II/deal.II/include/grid/tria.h | 4 +- .../include/grid/tria_iterator_selector.h | 58 +++++-- 5 files changed, 134 insertions(+), 95 deletions(-) diff --git a/deal.II/deal.II/include/dofs/dof_handler.h b/deal.II/deal.II/include/dofs/dof_handler.h index 1fa25a8685..8034d0171f 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 DoFIterators > IteratorSelector; + typedef internal::DoFIterators > 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 959349044a..2d6e47b964 100644 --- a/deal.II/deal.II/include/dofs/dof_iterator_selector.h +++ b/deal.II/deal.II/include/dofs/dof_iterator_selector.h @@ -1,4 +1,4 @@ -//---------------------------- dof_iterator_selector.h --------------------------- +//---------------------------------------------------------------------- // $Id$ // Version: $Name$ // @@ -9,7 +9,7 @@ // to the file deal.II/doc/license.html for the text and // further information on this license. // -//---------------------------- dof_iterator_selector.h --------------------------- +//---------------------------------------------------------------------- #ifndef __deal2__dof_iterators_h #define __deal2__dof_iterators_h @@ -32,6 +32,8 @@ template class Triangulation; template class DoFHandler; +namespace internal +{ /** * A pseudo class defining the iterator types used by DoFHandler and * hp::DoFHandler. The typedefs in this class are synonymous with @@ -52,45 +54,45 @@ template class DoFHandler; * @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 DoFIterators + { + /// 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; + }; @@ -104,31 +106,31 @@ struct DoFIterators * * @author Wolfgang Bangerth, Oliver Kayser-Herold, 1998, 2003 */ -template