From b43ae6a5cd6ee363dedc8f98e48494854a90caf1 Mon Sep 17 00:00:00 2001 From: bangerth Date: Wed, 6 Jun 2012 12:40:29 +0000 Subject: [PATCH] Simplify the decision which iterator class to use somewhat. My hope is that this gives IDEs a better handle at what these iterator types actually are, though it doesn't seem to help much with Eclipse right now. git-svn-id: https://svn.dealii.org/trunk@25605 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/include/deal.II/grid/tria.h | 17 ++-- .../deal.II/grid/tria_iterator_selector.h | 83 ++++++------------- 2 files changed, 32 insertions(+), 68 deletions(-) diff --git a/deal.II/include/deal.II/grid/tria.h b/deal.II/include/deal.II/grid/tria.h index d9d6db3fac..61662fb679 100644 --- a/deal.II/include/deal.II/grid/tria.h +++ b/deal.II/include/deal.II/grid/tria.h @@ -1480,8 +1480,13 @@ class Triangulation : public Subscriptor }; - typedef typename IteratorSelector::CellAccessor cell_accessor; - typedef typename IteratorSelector::FaceAccessor face_accessor; + typedef TriaRawIterator > raw_cell_iterator; + typedef TriaIterator > cell_iterator; + typedef TriaActiveIterator > active_cell_iterator; + + typedef TriaRawIterator > raw_face_iterator; + typedef TriaIterator > face_iterator; + typedef TriaActiveIterator > active_face_iterator; typedef typename IteratorSelector::raw_line_iterator raw_line_iterator; typedef typename IteratorSelector::line_iterator line_iterator; @@ -1495,14 +1500,6 @@ class Triangulation : public Subscriptor typedef typename IteratorSelector::hex_iterator hex_iterator; typedef typename IteratorSelector::active_hex_iterator active_hex_iterator; - typedef typename IteratorSelector::raw_cell_iterator raw_cell_iterator; - typedef typename IteratorSelector::cell_iterator cell_iterator; - typedef typename IteratorSelector::active_cell_iterator active_cell_iterator; - - typedef typename IteratorSelector::raw_face_iterator raw_face_iterator; - typedef typename IteratorSelector::face_iterator face_iterator; - typedef typename IteratorSelector::active_face_iterator active_face_iterator; - /** * Base class for refinement listeners. * Other classes, which need to be diff --git a/deal.II/include/deal.II/grid/tria_iterator_selector.h b/deal.II/include/deal.II/grid/tria_iterator_selector.h index 98367a9369..714b7f7ef5 100644 --- a/deal.II/include/deal.II/grid/tria_iterator_selector.h +++ b/deal.II/include/deal.II/grid/tria_iterator_selector.h @@ -65,29 +65,18 @@ namespace internal template struct Iterators<1,spacedim> { - typedef dealii::CellAccessor<1,spacedim> CellAccessor; - typedef InvalidAccessor<0,1,spacedim> FaceAccessor; + typedef TriaRawIterator > raw_line_iterator; + typedef TriaIterator > line_iterator; + typedef TriaActiveIterator > active_line_iterator; - typedef TriaRawIterator raw_line_iterator; - typedef TriaIterator line_iterator; - typedef TriaActiveIterator active_line_iterator; + typedef TriaRawIterator > raw_quad_iterator; + typedef TriaIterator > quad_iterator; + typedef TriaActiveIterator > active_quad_iterator; - typedef TriaRawIterator > raw_quad_iterator; - typedef TriaIterator > quad_iterator; - typedef TriaActiveIterator > active_quad_iterator; - - typedef TriaRawIterator > raw_hex_iterator; - typedef TriaIterator > hex_iterator; - typedef TriaActiveIterator > active_hex_iterator; - - typedef raw_line_iterator raw_cell_iterator; - typedef line_iterator cell_iterator; - typedef active_line_iterator active_cell_iterator; - - typedef TriaRawIterator raw_face_iterator; - typedef TriaIterator face_iterator; - typedef TriaActiveIterator active_face_iterator; - }; + typedef TriaRawIterator > raw_hex_iterator; + typedef TriaIterator > hex_iterator; + typedef TriaActiveIterator > active_hex_iterator; + }; @@ -129,28 +118,17 @@ namespace internal template struct Iterators<2,spacedim> { - typedef dealii::CellAccessor<2, spacedim> CellAccessor; - typedef dealii::TriaAccessor<1, 2, spacedim> FaceAccessor; - - typedef TriaRawIterator raw_line_iterator; - typedef TriaIterator line_iterator; - typedef TriaActiveIterator active_line_iterator; + typedef TriaRawIterator > raw_line_iterator; + typedef TriaIterator > line_iterator; + typedef TriaActiveIterator > active_line_iterator; - typedef TriaRawIterator raw_quad_iterator; - typedef TriaIterator quad_iterator; - typedef TriaActiveIterator active_quad_iterator; + typedef TriaRawIterator > raw_quad_iterator; + typedef TriaIterator > quad_iterator; + typedef TriaActiveIterator > active_quad_iterator; - typedef TriaRawIterator > raw_hex_iterator; - typedef TriaIterator > hex_iterator; - typedef TriaActiveIterator > active_hex_iterator; - - typedef raw_quad_iterator raw_cell_iterator; - typedef quad_iterator cell_iterator; - typedef active_quad_iterator active_cell_iterator; - - typedef raw_line_iterator raw_face_iterator; - typedef line_iterator face_iterator; - typedef active_line_iterator active_face_iterator; + typedef TriaRawIterator > raw_hex_iterator; + typedef TriaIterator > hex_iterator; + typedef TriaActiveIterator > active_hex_iterator; }; @@ -177,28 +155,17 @@ namespace internal template struct Iterators<3,spacedim> { - typedef dealii::CellAccessor<3, spacedim> CellAccessor; - typedef dealii::TriaAccessor<2, 3, spacedim> FaceAccessor; - typedef TriaRawIterator > raw_line_iterator; typedef TriaIterator > line_iterator; typedef TriaActiveIterator > active_line_iterator; - typedef TriaRawIterator raw_quad_iterator; - typedef TriaIterator quad_iterator; - typedef TriaActiveIterator active_quad_iterator; - - typedef TriaRawIterator raw_hex_iterator; - typedef TriaIterator hex_iterator; - typedef TriaActiveIterator active_hex_iterator; - - typedef raw_hex_iterator raw_cell_iterator; - typedef hex_iterator cell_iterator; - typedef active_hex_iterator active_cell_iterator; + typedef TriaRawIterator > raw_quad_iterator; + typedef TriaIterator > quad_iterator; + typedef TriaActiveIterator > active_quad_iterator; - typedef raw_quad_iterator raw_face_iterator; - typedef quad_iterator face_iterator; - typedef active_quad_iterator active_face_iterator; + typedef TriaRawIterator > raw_hex_iterator; + typedef TriaIterator > hex_iterator; + typedef TriaActiveIterator > active_hex_iterator; }; } -- 2.39.5