From e329e0905b63ab61bac2aa45f95992980659cd53 Mon Sep 17 00:00:00 2001 From: bangerth Date: Fri, 25 Apr 2014 14:01:05 +0000 Subject: [PATCH] Start work on bug 198 (https://code.google.com/p/dealii/issues/detail?id=198) documenting the exact types we have for iterator typedefs. git-svn-id: https://svn.dealii.org/trunk@32828 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/include/deal.II/distributed/tria.h | 41 +++++++++++++++++++--- deal.II/include/deal.II/grid/tria.h | 38 ++++++++++++++++++-- 2 files changed, 73 insertions(+), 6 deletions(-) diff --git a/deal.II/include/deal.II/distributed/tria.h b/deal.II/include/deal.II/distributed/tria.h index b00a01b224..17dbdee034 100644 --- a/deal.II/include/deal.II/distributed/tria.h +++ b/deal.II/include/deal.II/distributed/tria.h @@ -309,13 +309,46 @@ namespace parallel class Triangulation : public dealii::Triangulation { public: + /** + * A typedef that is used to to identify cell iterators. The + * concept of iterators is discussed at length in the + * @ref Iterators "iterators documentation module". + * + * The current typedef identifies cells in a triangulation. You + * can find the exact type it refers to in the base class's own + * typedef, but it should be TriaIterator >. The + * TriaIterator class works like a pointer that when you + * dereference it yields an object of type CellAccessor. + * CellAccessor is a class that identifies properties that + * are specific to cells in a triangulation, but it is derived + * (and consequently inherits) from TriaAccessor that describes + * what you can ask of more general objects (lines, faces, as + * well as cells) in a triangulation. + * + * @ingroup Iterators + */ + typedef typename dealii::Triangulation::cell_iterator cell_iterator; + /** - * Import the various - * iterator typedefs from the - * base class. + * A typedef that is used to to identify + * see @ref GlossActive "active cell iterators". The + * concept of iterators is discussed at length in the + * @ref Iterators "iterators documentation module". + * + * The current typedef identifies active cells in a triangulation. You + * can find the exact type it refers to in the base class's own + * typedef, but it should be TriaActiveIterator >. The + * TriaActiveIterator class works like a pointer to active objects that when you + * dereference it yields an object of type CellAccessor. + * CellAccessor is a class that identifies properties that + * are specific to cells in a triangulation, but it is derived + * (and consequently inherits) from TriaAccessor that describes + * what you can ask of more general objects (lines, faces, as + * well as cells) in a triangulation. + * + * @ingroup Iterators */ typedef typename dealii::Triangulation::active_cell_iterator active_cell_iterator; - typedef typename dealii::Triangulation::cell_iterator cell_iterator; /** * Generic settings for distributed Triangulations. If diff --git a/deal.II/include/deal.II/grid/tria.h b/deal.II/include/deal.II/grid/tria.h index 7e0266cc1c..292c705aac 100644 --- a/deal.II/include/deal.II/grid/tria.h +++ b/deal.II/include/deal.II/grid/tria.h @@ -1442,7 +1442,41 @@ public: maximum_smoothing = 0xffff ^ allow_anisotropic_smoothing }; + /** + * A typedef that is used to to identify cell iterators. The + * concept of iterators is discussed at length in the + * @ref Iterators "iterators documentation module". + * + * The current typedef identifies cells in a triangulation. The + * TriaIterator class works like a pointer that when you + * dereference it yields an object of type CellAccessor. + * CellAccessor is a class that identifies properties that + * are specific to cells in a triangulation, but it is derived + * (and consequently inherits) from TriaAccessor that describes + * what you can ask of more general objects (lines, faces, as + * well as cells) in a triangulation. + * + * @ingroup Iterators + */ typedef TriaIterator > cell_iterator; + + /** + * A typedef that is used to to identify + * see @ref GlossActive "active cell iterators". The + * concept of iterators is discussed at length in the + * @ref Iterators "iterators documentation module". + * + * The current typedef identifies active cells in a triangulation. The + * TriaActiveIterator class works like a pointer to active objects that when you + * dereference it yields an object of type CellAccessor. + * CellAccessor is a class that identifies properties that + * are specific to cells in a triangulation, but it is derived + * (and consequently inherits) from TriaAccessor that describes + * what you can ask of more general objects (lines, faces, as + * well as cells) in a triangulation. + * + * @ingroup Iterators + */ typedef TriaActiveIterator > active_cell_iterator; typedef TriaIterator > face_iterator; @@ -1454,8 +1488,8 @@ public: typedef typename IteratorSelector::quad_iterator quad_iterator; typedef typename IteratorSelector::active_quad_iterator active_quad_iterator; - typedef typename IteratorSelector::hex_iterator hex_iterator; - typedef typename IteratorSelector::active_hex_iterator active_hex_iterator; + typedef typename IteratorSelector::hex_iterator hex_iterator; + typedef typename IteratorSelector::active_hex_iterator active_hex_iterator; /** * Base class for refinement listeners. -- 2.39.5