From 4fad35605b82169ae9f1cd5cfde45bccf13768eb Mon Sep 17 00:00:00 2001 From: guido Date: Fri, 15 Jul 2005 20:46:26 +0000 Subject: [PATCH] more documentation on iterators git-svn-id: https://svn.dealii.org/trunk@11151 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/dofs/dof_accessor.h | 7 ++ .../deal.II/include/grid/filtered_iterator.h | 17 ++-- deal.II/deal.II/include/grid/tria_accessor.h | 90 +++++++++++-------- deal.II/deal.II/include/grid/tria_iterator.h | 5 ++ 4 files changed, 77 insertions(+), 42 deletions(-) diff --git a/deal.II/deal.II/include/dofs/dof_accessor.h b/deal.II/deal.II/include/dofs/dof_accessor.h index 903ac25a6b..ec6998e4b6 100644 --- a/deal.II/deal.II/include/dofs/dof_accessor.h +++ b/deal.II/deal.II/include/dofs/dof_accessor.h @@ -63,6 +63,7 @@ template class DoFObjectAccessor<3, dim>; * the #Assert macro is switched on. * * @ingroup dofs + * @ingroup Accessors * @author Wolfgang Bangerth, 1998 */ template @@ -169,6 +170,7 @@ class DoFAccessor * object under consideration has full dimension, i.e. constitutes a cell. * * @ingroup dofs + * @ingroup Accessors * @author Wolfgang Bangerth, 1999 */ template @@ -196,6 +198,7 @@ class DoFObjectAccessor_Inheritance * object under consideration has full dimension, i.e. constitutes a cell. * * @ingroup dofs + * @ingroup Accessors * @author Wolfgang Bangerth, 1999 */ template @@ -250,6 +253,9 @@ class DoFObjectAccessor_Inheritance * * (Internal: inheritance is necessary for the general template due to * a compiler error.) + * + * @ingroup dofs + * @ingroup Accessors */ template class DoFObjectAccessor : public DoFAccessor, @@ -459,6 +465,7 @@ class DoFObjectAccessor : public DoFAccessor, /** * Closure class. + * @ingroup dofs */ template class DoFObjectAccessor<0, dim> : public DoFAccessor, diff --git a/deal.II/deal.II/include/grid/filtered_iterator.h b/deal.II/deal.II/include/grid/filtered_iterator.h index 834bf16019..501b755e03 100644 --- a/deal.II/deal.II/include/grid/filtered_iterator.h +++ b/deal.II/deal.II/include/grid/filtered_iterator.h @@ -210,13 +210,17 @@ namespace IteratorFilters * * The object that represent the condition an iterator has to satisfy * only have to provide an interface that allows to call the - * evaluation operator, i.e. operator(). This includes function - * pointers as well as classes that implement an operator (). + * evaluation operator, i.e. bool operator() (const + * BaseIterator&). This includes function pointers as well as + * classes that implement an bool operator ()(const + * BaseIterator&). Then, the FilteredIterator will skip all + * objects where the return value of this function is false. + * * * An example of a simple valid predicate is the following: given the function * @code - * template - * bool level_equal_to_3 (const Iterator c) + * template + * bool level_equal_to_3 (const BIterator& c) * { * return (static_cast(c->level()) == 3); * }; @@ -229,8 +233,8 @@ namespace IteratorFilters * * Likewise, given the following binary function * @code - * template - * bool level_equal_to (const Iterator c, + * template + * bool level_equal_to (const BIterator& c, * const unsigned int level) * { * return (static_cast(c->level()) == level); @@ -372,6 +376,7 @@ namespace IteratorFilters * and its value does not depend on the filter. * * @ingroup grid + * @ingroup Iterators * @author Wolfgang Bangerth, 2002 */ template diff --git a/deal.II/deal.II/include/grid/tria_accessor.h b/deal.II/deal.II/include/grid/tria_accessor.h index 735cc2276d..89bd71f235 100644 --- a/deal.II/deal.II/include/grid/tria_accessor.h +++ b/deal.II/deal.II/include/grid/tria_accessor.h @@ -99,6 +99,8 @@ namespace std * "invalid" which increases the chance that somehwen earlier than for * past-the-end iterators an exception is raised. * + * @ingroup grid + * @ingroup Accessors * @author Wolfgang Bangerth, 1998 */ template @@ -225,22 +227,22 @@ class TriaAccessor */ /*@{*/ /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcCellNotUsed); /** - * Exception + * @ingroup Exceptions */ DeclException1 (ExcInvalidNeighbor, int, << "Neighbor indices must be between 0 and 2^dim-1, but " << "yours was " << arg1); /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcUnusedCellAsChild); /** - * Exception + * @ingroup Exceptions */ DeclException1 (ExcCantSetChildren, int, @@ -248,31 +250,31 @@ class TriaAccessor << "children, or clear it. The given " << "index was " << arg1 << " (-1 means: clear children)"); /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcUnusedCellAsNeighbor); /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcUncaughtCase); /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcDereferenceInvalidObject); /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcNotUsefulForThisDimension); /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcCantCompareIterators); /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcNeighborIsCoarser); /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcNeighborIsNotCoarser); /*@}*/ @@ -313,6 +315,8 @@ class TriaAccessor * access, we nevertheless document all functions of the specialized * classes here as well. However, they are not implemented. * + * @ingroup grid + * @ingroup Accessors * @author Wolfgang Bangerth, Guido Kanschat, 1999 */ template @@ -812,6 +816,8 @@ class TriaObjectAccessor : public TriaAccessor /** * Closure class to stop induction of classes. Should never be called * and thus produces an error when created. + * + * @ingroup grid */ template class TriaObjectAccessor<0, dim> : public TriaAccessor @@ -848,6 +854,7 @@ class TriaObjectAccessor<0, dim> : public TriaAccessor * also a cell and thus has much more functionality than in other * dimensions. * + * @ingroup grid * @author Wolfgang Bangerth, 1998 */ template @@ -1300,6 +1307,7 @@ class TriaObjectAccessor<1, dim> : public TriaAccessor * two space dimension, in which case a quad is also a cell and thus * has much more functionality than in other dimensions. * + * @ingroup grid * @author Wolfgang Bangerth, 1998 */ template @@ -1805,6 +1813,7 @@ class TriaObjectAccessor<2, dim> : public TriaAccessor * hexs in three space dimension, in which case a hex is also a cell * and thus has much more functionality than in other dimensions. * + * @ingroup grid * @author Wolfgang Bangerth, 1998 */ template @@ -2335,6 +2344,8 @@ class TriaObjectAccessor<3, dim> : public TriaAccessor * have neighbors, they have the possibility to check whether they are * at the boundary etc. This class offers access to all this data. * + * @ingroup grid + * @ingroup Accessors * @author Wolfgang Bangerth, 1998, 1999, 2000 */ template @@ -2573,29 +2584,36 @@ class CellAccessor : public TriaObjectAccessor * figure out which cell we want * to have. * - * This can lead to surprising results: - * if we are sitting on a cell and are - * asking for a cell behind subface @sf, - * then this means that we are - * considering the subface for the face - * in the natural direction for the - * present cell. However, if the face as - * seen from this cell has + * This can lead to surprising + * results: if we are sitting on + * a cell and are asking for a + * cell behind subface + * sf, then this means + * that we are considering the + * subface for the face in the + * natural direction for the + * present cell. However, if the + * face as seen from this cell + * has * face_orientation()==false, - * then the child of the face that - * separates the present cell from the - * neighboring cell's child is not - * necessarily the @p sf-th child of the - * face of this cell. This is so because - * the @p subface_no parameter to this - * function corresponds to the subface - * with respect to the intrinsic ordering - * of the present cell, whereas children - * of face iterators are computed with - * respect to the intrinsic ordering of - * faces; these two orderings are only - * identical if the face orientation is - * @p true, and reversed otherwise. + * then the child of the face + * that separates the present + * cell from the neighboring + * cell's child is not + * necessarily the @p sf-th child + * of the face of this cell. This + * is so because the @p + * subface_no parameter to this + * function corresponds to the + * subface with respect to the + * intrinsic ordering of the + * present cell, whereas children + * of face iterators are computed + * with respect to the intrinsic + * ordering of faces; these two + * orderings are only identical + * if the face orientation is @p + * true, and reversed otherwise. * * Fortunately, this is only very rarely * of concern, since one is usually only @@ -2669,15 +2687,15 @@ class CellAccessor : public TriaObjectAccessor /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcRefineCellNotActive); /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcCellFlaggedForRefinement); /** - * Exception + * @ingroup Exceptions */ DeclException0 (ExcCellFlaggedForCoarsening); diff --git a/deal.II/deal.II/include/grid/tria_iterator.h b/deal.II/deal.II/include/grid/tria_iterator.h index 5c3f35c108..cfad8d7035 100644 --- a/deal.II/deal.II/include/grid/tria_iterator.h +++ b/deal.II/deal.II/include/grid/tria_iterator.h @@ -219,6 +219,7 @@ template class Triangulation; * @ref TriaDimensionInfo<1> * @ref TriaDimensionInfo<2> * @ref TriaDimensionInfo<3> + * @ingroup Iterators * @author Wolfgang Bangerth, 1998 * @author documentation update Guido Kanschat, 2004 */ @@ -546,6 +547,8 @@ class TriaRawIterator : /** * This specialization of TriaRawIterator provides access only to * the used lines, quads, cells, etc. + * + * @ingroup Iterators */ template class TriaIterator : public TriaRawIterator @@ -694,6 +697,8 @@ class TriaIterator : public TriaRawIterator * active lines, quads, cells, etc. An active cell is a * cell which is not refined and thus a cell on which calculations * on the finest level are done. + * + * @ingroup Iterators */ template class TriaActiveIterator : public TriaIterator -- 2.39.5