template <int dim>
class DoFHandler : public Subscriptor
{
- typedef internal::DoFIterators<DoFHandler<dim> > IteratorSelector;
+ typedef internal::DoFHandler::Iterators<DoFHandler<dim> > IteratorSelector;
public:
typedef typename IteratorSelector::raw_line_iterator raw_line_iterator;
typedef typename IteratorSelector::line_iterator line_iterator;
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
* @ingroup Accessors
* @author W. Bangerth, G. Kanschat, O. Kayser-Herold, 1998, 2003, 2006
*/
- template <class DH>
- 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 <class DH>
+ 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<dim, DoFObjectAccessor<1, DH> > raw_line_iterator;
- /// Iterator for usual lines.
- typedef TriaIterator<dim, DoFObjectAccessor<1, DH> > line_iterator;
- /// Iterator for active lines.
- typedef TriaActiveIterator<dim, DoFObjectAccessor<1, DH> > active_line_iterator;
- /// Iterator for raw quadrilaterals
- typedef TriaRawIterator<dim, DoFObjectAccessor<2, DH> > raw_quad_iterator;
- /// Iterator for quadrilaterals
- typedef TriaIterator<dim ,DoFObjectAccessor<2, DH> > quad_iterator;
- /// Iterator for active quadrilaterals
- typedef TriaActiveIterator<dim ,DoFObjectAccessor<2, DH> > active_quad_iterator;
- /// Iterator for raw hexahedra
- typedef TriaRawIterator<dim ,DoFObjectAccessor<3, DH> > raw_hex_iterator;
- /// Iterator for hexahedra
- typedef TriaIterator<dim ,DoFObjectAccessor<3, DH> > hex_iterator;
- /// Iterator for active hexahedra
- typedef TriaActiveIterator<dim ,DoFObjectAccessor<3, DH> > active_hex_iterator;
- /// Iterator for raw cells
- typedef TriaRawIterator<dim, DoFCellAccessor<DH> > raw_cell_iterator;
- /// Iterator for cells
- typedef TriaIterator<dim, DoFCellAccessor<DH> > cell_iterator;
- /// Iterator for active cells
- typedef TriaActiveIterator<dim, DoFCellAccessor<DH> > active_cell_iterator;
- /// Iterator for raw faces
- typedef TriaRawIterator<dim ,DoFObjectAccessor<dim-1, DH> > raw_face_iterator;
- /// Iterator for faces
- typedef TriaIterator<dim ,DoFObjectAccessor<dim-1, DH> > face_iterator;
- /// Iterator for active faces
- typedef TriaActiveIterator<dim ,DoFObjectAccessor<dim-1, DH> > active_face_iterator;
- };
+ /// Iterator for raw lines.
+ typedef TriaRawIterator<dim, DoFObjectAccessor<1, DH> > raw_line_iterator;
+ /// Iterator for usual lines.
+ typedef TriaIterator<dim, DoFObjectAccessor<1, DH> > line_iterator;
+ /// Iterator for active lines.
+ typedef TriaActiveIterator<dim, DoFObjectAccessor<1, DH> > active_line_iterator;
+ /// Iterator for raw quadrilaterals
+ typedef TriaRawIterator<dim, DoFObjectAccessor<2, DH> > raw_quad_iterator;
+ /// Iterator for quadrilaterals
+ typedef TriaIterator<dim ,DoFObjectAccessor<2, DH> > quad_iterator;
+ /// Iterator for active quadrilaterals
+ typedef TriaActiveIterator<dim ,DoFObjectAccessor<2, DH> > active_quad_iterator;
+ /// Iterator for raw hexahedra
+ typedef TriaRawIterator<dim ,DoFObjectAccessor<3, DH> > raw_hex_iterator;
+ /// Iterator for hexahedra
+ typedef TriaIterator<dim ,DoFObjectAccessor<3, DH> > hex_iterator;
+ /// Iterator for active hexahedra
+ typedef TriaActiveIterator<dim ,DoFObjectAccessor<3, DH> > active_hex_iterator;
+ /// Iterator for raw cells
+ typedef TriaRawIterator<dim, DoFCellAccessor<DH> > raw_cell_iterator;
+ /// Iterator for cells
+ typedef TriaIterator<dim, DoFCellAccessor<DH> > cell_iterator;
+ /// Iterator for active cells
+ typedef TriaActiveIterator<dim, DoFCellAccessor<DH> > active_cell_iterator;
+ /// Iterator for raw faces
+ typedef TriaRawIterator<dim ,DoFObjectAccessor<dim-1, DH> > raw_face_iterator;
+ /// Iterator for faces
+ typedef TriaIterator<dim ,DoFObjectAccessor<dim-1, DH> > face_iterator;
+ /// Iterator for active faces
+ typedef TriaActiveIterator<dim ,DoFObjectAccessor<dim-1, DH> > active_face_iterator;
+ };
* 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 <template <int> class DH>
- struct DoFIterators<DH<1> >
- {
- typedef DH<1> DoFHandler_type;
+ template <template <int> class DH>
+ struct Iterators<DH<1> >
+ {
+ typedef DH<1> DoFHandler_type;
- typedef TriaRawIterator<1,DoFCellAccessor<DoFHandler_type> > raw_line_iterator;
- typedef TriaIterator<1,DoFCellAccessor<DoFHandler_type> > line_iterator;
- typedef TriaActiveIterator<1,DoFCellAccessor<DoFHandler_type> > active_line_iterator;
+ typedef TriaRawIterator<1,DoFCellAccessor<DoFHandler_type> > raw_line_iterator;
+ typedef TriaIterator<1,DoFCellAccessor<DoFHandler_type> > line_iterator;
+ typedef TriaActiveIterator<1,DoFCellAccessor<DoFHandler_type> > active_line_iterator;
- typedef void * raw_quad_iterator;
- typedef void * quad_iterator;
- typedef void * active_quad_iterator;
+ typedef void * raw_quad_iterator;
+ typedef void * quad_iterator;
+ typedef void * active_quad_iterator;
- typedef void * raw_hex_iterator;
- typedef void * hex_iterator;
- typedef void * active_hex_iterator;
+ typedef void * raw_hex_iterator;
+ typedef void * hex_iterator;
+ typedef void * active_hex_iterator;
- typedef raw_line_iterator raw_cell_iterator;
- typedef line_iterator cell_iterator;
- typedef active_line_iterator active_cell_iterator;
+ typedef raw_line_iterator raw_cell_iterator;
+ typedef line_iterator cell_iterator;
+ typedef active_line_iterator active_cell_iterator;
- typedef void * raw_face_iterator;
- typedef void * face_iterator;
- typedef void * active_face_iterator;
- };
+ typedef void * raw_face_iterator;
+ typedef void * face_iterator;
+ typedef void * active_face_iterator;
+ };
* Define some types for the DoF handling in two dimensions.
*
* 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 <template <int> class DH>
- struct DoFIterators<DH<2> >
- {
- typedef DH<2> DoFHandler_type;
+ template <template <int> class DH>
+ struct Iterators<DH<2> >
+ {
+ typedef DH<2> DoFHandler_type;
- typedef TriaRawIterator<2,DoFObjectAccessor<1, DoFHandler_type> > raw_line_iterator;
- typedef TriaIterator<2,DoFObjectAccessor<1, DoFHandler_type> > line_iterator;
- typedef TriaActiveIterator<2,DoFObjectAccessor<1, DoFHandler_type> > active_line_iterator;
+ typedef TriaRawIterator<2,DoFObjectAccessor<1, DoFHandler_type> > raw_line_iterator;
+ typedef TriaIterator<2,DoFObjectAccessor<1, DoFHandler_type> > line_iterator;
+ typedef TriaActiveIterator<2,DoFObjectAccessor<1, DoFHandler_type> > active_line_iterator;
- typedef TriaRawIterator<2,DoFCellAccessor<DoFHandler_type> > raw_quad_iterator;
- typedef TriaIterator<2,DoFCellAccessor<DoFHandler_type> > quad_iterator;
- typedef TriaActiveIterator<2,DoFCellAccessor<DoFHandler_type> > active_quad_iterator;
+ typedef TriaRawIterator<2,DoFCellAccessor<DoFHandler_type> > raw_quad_iterator;
+ typedef TriaIterator<2,DoFCellAccessor<DoFHandler_type> > quad_iterator;
+ typedef TriaActiveIterator<2,DoFCellAccessor<DoFHandler_type> > active_quad_iterator;
- typedef void * raw_hex_iterator;
- typedef void * hex_iterator;
- typedef void * active_hex_iterator;
+ typedef void * raw_hex_iterator;
+ typedef void * hex_iterator;
+ typedef void * active_hex_iterator;
- typedef raw_quad_iterator raw_cell_iterator;
- typedef quad_iterator cell_iterator;
- typedef active_quad_iterator active_cell_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 raw_line_iterator raw_face_iterator;
+ typedef line_iterator face_iterator;
+ typedef active_line_iterator active_face_iterator;
+ };
* Define some types for the DoF handling in two dimensions.
*
* The types have the same meaning as those declared in
- * TriaDimensionInfo<3>, only the treatment of templates is a
+ * internal::Triangulation::Iterators<3>, 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 <template <int> class DH>
- struct DoFIterators<DH<3> >
- {
- typedef DH<3> DoFHandler_type;
+ template <template <int> class DH>
+ struct Iterators<DH<3> >
+ {
+ typedef DH<3> DoFHandler_type;
- typedef TriaRawIterator<3,DoFObjectAccessor<1, DoFHandler_type> > raw_line_iterator;
- typedef TriaIterator<3,DoFObjectAccessor<1, DoFHandler_type> > line_iterator;
- typedef TriaActiveIterator<3,DoFObjectAccessor<1, DoFHandler_type> > active_line_iterator;
+ typedef TriaRawIterator<3,DoFObjectAccessor<1, DoFHandler_type> > raw_line_iterator;
+ typedef TriaIterator<3,DoFObjectAccessor<1, DoFHandler_type> > line_iterator;
+ typedef TriaActiveIterator<3,DoFObjectAccessor<1, DoFHandler_type> > active_line_iterator;
- typedef TriaRawIterator<3,DoFObjectAccessor<2, DoFHandler_type> > raw_quad_iterator;
- typedef TriaIterator<3,DoFObjectAccessor<2, DoFHandler_type> > quad_iterator;
- typedef TriaActiveIterator<3,DoFObjectAccessor<2, DoFHandler_type> > active_quad_iterator;
+ typedef TriaRawIterator<3,DoFObjectAccessor<2, DoFHandler_type> > raw_quad_iterator;
+ typedef TriaIterator<3,DoFObjectAccessor<2, DoFHandler_type> > quad_iterator;
+ typedef TriaActiveIterator<3,DoFObjectAccessor<2, DoFHandler_type> > active_quad_iterator;
- typedef TriaRawIterator<3,DoFCellAccessor<DoFHandler_type> > raw_hex_iterator;
- typedef TriaIterator<3,DoFCellAccessor<DoFHandler_type> > hex_iterator;
- typedef TriaActiveIterator<3,DoFCellAccessor<DoFHandler_type> > active_hex_iterator;
+ typedef TriaRawIterator<3,DoFCellAccessor<DoFHandler_type> > raw_hex_iterator;
+ typedef TriaIterator<3,DoFCellAccessor<DoFHandler_type> > hex_iterator;
+ typedef TriaActiveIterator<3,DoFCellAccessor<DoFHandler_type> > active_hex_iterator;
- typedef raw_hex_iterator raw_cell_iterator;
- typedef hex_iterator cell_iterator;
- typedef active_hex_iterator active_cell_iterator;
+ typedef raw_hex_iterator raw_cell_iterator;
+ typedef hex_iterator cell_iterator;
+ typedef active_hex_iterator active_cell_iterator;
- typedef raw_quad_iterator raw_face_iterator;
- typedef quad_iterator face_iterator;
- typedef active_quad_iterator active_face_iterator;
- };
+ typedef raw_quad_iterator raw_face_iterator;
+ typedef quad_iterator face_iterator;
+ typedef active_quad_iterator active_face_iterator;
+ };
+ }
}
#endif // __deal2__dof_iterator_selector_h
class DoFHandler : public Subscriptor,
protected Triangulation<dim>::RefinementListener
{
- typedef internal::DoFIterators<DoFHandler<dim> > IteratorSelector;
+ typedef internal::DoFHandler::Iterators<DoFHandler<dim> > IteratorSelector;
public:
typedef typename IteratorSelector::raw_line_iterator raw_line_iterator;
typedef typename IteratorSelector::line_iterator line_iterator;
* the definition of the iterator
* classes simpler.
*/
- typedef internal::TriaIterators<dim> IteratorSelector;
+ typedef internal::Triangulation::Iterators<dim> IteratorSelector;
public:
namespace internal
{
-
+ namespace Triangulation
+ {
/**
* Definition of the iterator types of the Triangulation.
*
*
* @author Wolfgang Bangerth, Guido Kanschat, 1998, 2006
*/
- template <int dim>
- struct TriaIterators
- {
- /// Iterate on raw lines
- typedef TriaRawIterator<dim,TriaObjectAccessor<1, dim> > raw_line_iterator;
- /// Iterate on raw lines
- typedef TriaIterator<dim,TriaObjectAccessor<1, dim> > line_iterator;
- /// Iterate on raw lines
- typedef TriaActiveIterator<dim,TriaObjectAccessor<1, dim> > active_line_iterator;
+ template <int dim>
+ struct Iterators
+ {
+ /// Iterate on raw lines
+ typedef TriaRawIterator<dim,TriaObjectAccessor<1, dim> > raw_line_iterator;
+ /// Iterate on raw lines
+ typedef TriaIterator<dim,TriaObjectAccessor<1, dim> > line_iterator;
+ /// Iterate on raw lines
+ typedef TriaActiveIterator<dim,TriaObjectAccessor<1, dim> > active_line_iterator;
- /// Iterate on raw quadrilaterals
- typedef TriaRawIterator<dim,TriaObjectAccessor<2, dim> > raw_quad_iterator;
- /// Iterate on quadrilaterals
- typedef TriaIterator<dim,TriaObjectAccessor<2, dim> > quad_iterator;
- /// Iterate on active quadrilaterals
- typedef TriaActiveIterator<dim,TriaObjectAccessor<2, dim> > active_quad_iterator;
-
- /// Iterate on raw hexahedra
- typedef TriaRawIterator<dim,TriaObjectAccessor<3, dim> > raw_hex_iterator;
- /// Iterate on hexahedra
- typedef TriaIterator<dim,TriaObjectAccessor<3, dim> > hex_iterator;
- /// Iterate on active hexahedra
- typedef TriaActiveIterator<dim,TriaObjectAccessor<3, dim> > active_hex_iterator;
-
- /// Iterate on raw cells
- typedef TriaRawIterator<dim,CellAccessor<dim> > raw_cell_iterator;
- /// Iterate on cells
- typedef TriaIterator<dim,CellAccessor<dim> > cell_iterator;
- /// Iterate on active cells
- typedef TriaActiveIterator<dim,CellAccessor<dim> > active_cell_iterator;
-
- /// Iterate on raw faces
- typedef TriaRawIterator<dim,TriaObjectAccessor<dim-1, dim> > raw_face_iterator;
- /// Iterate on faces
- typedef TriaIterator<dim,TriaObjectAccessor<dim-1, dim> > face_iterator;
- /// Iterate on active faces
- typedef TriaActiveIterator<dim,TriaObjectAccessor<dim-1, dim> > active_face_iterator;
- };
+ /// Iterate on raw quadrilaterals
+ typedef TriaRawIterator<dim,TriaObjectAccessor<2, dim> > raw_quad_iterator;
+ /// Iterate on quadrilaterals
+ typedef TriaIterator<dim,TriaObjectAccessor<2, dim> > quad_iterator;
+ /// Iterate on active quadrilaterals
+ typedef TriaActiveIterator<dim,TriaObjectAccessor<2, dim> > active_quad_iterator;
+
+ /// Iterate on raw hexahedra
+ typedef TriaRawIterator<dim,TriaObjectAccessor<3, dim> > raw_hex_iterator;
+ /// Iterate on hexahedra
+ typedef TriaIterator<dim,TriaObjectAccessor<3, dim> > hex_iterator;
+ /// Iterate on active hexahedra
+ typedef TriaActiveIterator<dim,TriaObjectAccessor<3, dim> > active_hex_iterator;
+
+ /// Iterate on raw cells
+ typedef TriaRawIterator<dim,CellAccessor<dim> > raw_cell_iterator;
+ /// Iterate on cells
+ typedef TriaIterator<dim,CellAccessor<dim> > cell_iterator;
+ /// Iterate on active cells
+ typedef TriaActiveIterator<dim,CellAccessor<dim> > active_cell_iterator;
+
+ /// Iterate on raw faces
+ typedef TriaRawIterator<dim,TriaObjectAccessor<dim-1, dim> > raw_face_iterator;
+ /// Iterate on faces
+ typedef TriaIterator<dim,TriaObjectAccessor<dim-1, dim> > face_iterator;
+ /// Iterate on active faces
+ typedef TriaActiveIterator<dim,TriaObjectAccessor<dim-1, dim> > active_face_iterator;
+ };
*
* @author Wolfgang Bangerth, 1998
*/
- template <>
- struct TriaIterators<1>
- {
- typedef TriaRawIterator<1,CellAccessor<1> > raw_line_iterator;
- typedef TriaIterator<1,CellAccessor<1> > line_iterator;
- typedef TriaActiveIterator<1,CellAccessor<1> > active_line_iterator;
+ template <>
+ struct Iterators<1>
+ {
+ typedef TriaRawIterator<1,CellAccessor<1> > raw_line_iterator;
+ typedef TriaIterator<1,CellAccessor<1> > line_iterator;
+ typedef TriaActiveIterator<1,CellAccessor<1> > active_line_iterator;
- typedef void * raw_quad_iterator;
- typedef void * quad_iterator;
- typedef void * active_quad_iterator;
+ typedef void * raw_quad_iterator;
+ typedef void * quad_iterator;
+ typedef void * active_quad_iterator;
- typedef void * raw_hex_iterator;
- typedef void * hex_iterator;
- typedef void * active_hex_iterator;
+ typedef void * raw_hex_iterator;
+ typedef void * hex_iterator;
+ typedef void * active_hex_iterator;
- typedef raw_line_iterator raw_cell_iterator;
- typedef line_iterator cell_iterator;
- typedef active_line_iterator active_cell_iterator;
+ typedef raw_line_iterator raw_cell_iterator;
+ typedef line_iterator cell_iterator;
+ typedef active_line_iterator active_cell_iterator;
- typedef void * raw_face_iterator;
- typedef void * face_iterator;
- typedef void * active_face_iterator;
- };
+ typedef void * raw_face_iterator;
+ typedef void * face_iterator;
+ typedef void * active_face_iterator;
+ };
*
* @author Wolfgang Bangerth, 1998
*/
- template <>
- struct TriaIterators<2>
- {
- typedef TriaRawIterator<2,TriaObjectAccessor<1, 2> > raw_line_iterator;
- typedef TriaIterator<2,TriaObjectAccessor<1, 2> > line_iterator;
- typedef TriaActiveIterator<2,TriaObjectAccessor<1, 2> > active_line_iterator;
+ template <>
+ struct Iterators<2>
+ {
+ typedef TriaRawIterator<2,TriaObjectAccessor<1, 2> > raw_line_iterator;
+ typedef TriaIterator<2,TriaObjectAccessor<1, 2> > line_iterator;
+ typedef TriaActiveIterator<2,TriaObjectAccessor<1, 2> > active_line_iterator;
- typedef TriaRawIterator<2,CellAccessor<2> > raw_quad_iterator;
- typedef TriaIterator<2,CellAccessor<2> > quad_iterator;
- typedef TriaActiveIterator<2,CellAccessor<2> > active_quad_iterator;
+ typedef TriaRawIterator<2,CellAccessor<2> > raw_quad_iterator;
+ typedef TriaIterator<2,CellAccessor<2> > quad_iterator;
+ typedef TriaActiveIterator<2,CellAccessor<2> > active_quad_iterator;
- typedef void * raw_hex_iterator;
- typedef void * hex_iterator;
- typedef void * active_hex_iterator;
+ typedef void * raw_hex_iterator;
+ typedef void * hex_iterator;
+ typedef void * active_hex_iterator;
- typedef raw_quad_iterator raw_cell_iterator;
- typedef quad_iterator cell_iterator;
- typedef active_quad_iterator active_cell_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 raw_line_iterator raw_face_iterator;
+ typedef line_iterator face_iterator;
+ typedef active_line_iterator active_face_iterator;
+ };
* These are the declararions for the 3D case only.
*
* For the declarations of the data types, more or less the same holds
- * as for lower dimensions (see <tt>TriaIterators<[12]></tt>). The
+ * as for lower dimensions (see <tt>Iterators<[12]></tt>). The
* dimension specific data types are here, since we are in three dimensions:
* @verbatim
* typedef raw_hex_iterator raw_cell_iterator;
*
* @author Wolfgang Bangerth, 1998
*/
- template <>
- struct TriaIterators<3>
- {
- typedef TriaRawIterator<3,TriaObjectAccessor<1, 3> > raw_line_iterator;
- typedef TriaIterator<3,TriaObjectAccessor<1, 3> > line_iterator;
- typedef TriaActiveIterator<3,TriaObjectAccessor<1, 3> > active_line_iterator;
+ template <>
+ struct Iterators<3>
+ {
+ typedef TriaRawIterator<3,TriaObjectAccessor<1, 3> > raw_line_iterator;
+ typedef TriaIterator<3,TriaObjectAccessor<1, 3> > line_iterator;
+ typedef TriaActiveIterator<3,TriaObjectAccessor<1, 3> > active_line_iterator;
- typedef TriaRawIterator<3,TriaObjectAccessor<2, 3> > raw_quad_iterator;
- typedef TriaIterator<3,TriaObjectAccessor<2, 3> > quad_iterator;
- typedef TriaActiveIterator<3,TriaObjectAccessor<2, 3> > active_quad_iterator;
-
- typedef TriaRawIterator<3,CellAccessor<3> > raw_hex_iterator;
- typedef TriaIterator<3,CellAccessor<3> > hex_iterator;
- typedef TriaActiveIterator<3,CellAccessor<3> > active_hex_iterator;
-
- typedef raw_hex_iterator raw_cell_iterator;
- typedef hex_iterator cell_iterator;
- typedef active_hex_iterator active_cell_iterator;
-
- typedef raw_quad_iterator raw_face_iterator;
- typedef quad_iterator face_iterator;
- typedef active_quad_iterator active_face_iterator;
- };
-
+ typedef TriaRawIterator<3,TriaObjectAccessor<2, 3> > raw_quad_iterator;
+ typedef TriaIterator<3,TriaObjectAccessor<2, 3> > quad_iterator;
+ typedef TriaActiveIterator<3,TriaObjectAccessor<2, 3> > active_quad_iterator;
+
+ typedef TriaRawIterator<3,CellAccessor<3> > raw_hex_iterator;
+ typedef TriaIterator<3,CellAccessor<3> > hex_iterator;
+ typedef TriaActiveIterator<3,CellAccessor<3> > active_hex_iterator;
+
+ typedef raw_hex_iterator raw_cell_iterator;
+ typedef hex_iterator cell_iterator;
+ typedef active_hex_iterator active_cell_iterator;
+
+ typedef raw_quad_iterator raw_face_iterator;
+ typedef quad_iterator face_iterator;
+ typedef active_quad_iterator active_face_iterator;
+ };
+
+ }
}
#include <base/config.h>
#include <dofs/dof_handler.h>
-
-template <int celldim, int dim> class MGDoFAccessor;
-template <int celldim, int dim> class MGDoFObjectAccessor;
-template <int dim> class MGDoFObjectAccessor<0, dim>;
-template <int dim> class MGDoFObjectAccessor<1, dim>;
-template <int dim> class MGDoFObjectAccessor<2, dim>;
-template <int dim> class MGDoFObjectAccessor<3, dim>;
-template <int dim> class MGDoFCellAccessor;
-
-/*!@addtogroup mg */
-/*@{*/
-
-/**
- * Depending on the dimension, this class defines the iterator types for
- * MGDoFHandler objects.
- *
- * @note The typedefs in this class are only for reference. Their real
- * values are to be found in the specializations for different
- * dimensions.
- */
-template <int dim>
-class MGDoFDimensionInfo
-{
- /// Line iterator for internal use
- typedef void * raw_line_iterator;
- /// Line iterator for all lines of hierarchy
- typedef void * line_iterator;
- /// Iterator for active lines
- typedef void * active_line_iterator;
-
- /// Quad iterator for internal use
- typedef void * raw_quad_iterator;
- /// Quad iterator for all quadrilaterals of hierarchy
- typedef void * quad_iterator;
- /// Iterator for active quadrilaterals
- typedef void * active_quad_iterator;
-
- /// Hex iterator for internal use
- typedef void * raw_hex_iterator;
- /// Hex iterator for all hexahedra of hierarchy
- typedef void * hex_iterator;
- /// Iterator for active hexahedra
- typedef void * active_hex_iterator;
-
- /** Cell iterator for internal
- * use. It is defined as one of
- * the raw iterators above,
- * depending on the dimension.
- */
- typedef void * raw_cell_iterator;
- /** Cell iterator for all cells
- * of hierarchy. It is defined as
- * one of the iterators above,
- * depending on the dimension.
- */
- typedef void * cell_iterator;
- /** Iterator for active cells. It
- * is defined as one of the
- * active iterators above,
- * depending on the dimension.
- */
- typedef void * active_cell_iterator;
-
- /** Face iterator for internal
- * use. It is defined as one of
- * the raw iterators above,
- * depending on the dimension.
- */
- typedef void * raw_face_iterator;
- /** Face iterator for all faces
- * of hierarchy. It is defined as
- * one of the iterators above,
- * depending on the dimension.
- */
- typedef void * face_iterator;
- /** Iterator for active faces. It
- * is defined as one of the
- * active iterators above,
- * depending on the dimension.
- */
- typedef void * active_face_iterator;
-};
-
-
-
-/**
- * Iterators for MGDofHandler in one dimension. See the template
- * MGDoFDimensionInfo for further explanation.
- */
-template <>
-class MGDoFDimensionInfo<1>
-{
- public:
- typedef TriaRawIterator<1,MGDoFCellAccessor<1> > raw_line_iterator;
- typedef TriaIterator<1,MGDoFCellAccessor<1> > line_iterator;
- typedef TriaActiveIterator<1,MGDoFCellAccessor<1> > active_line_iterator;
-
- typedef void * raw_quad_iterator;
- typedef void * quad_iterator;
- typedef void * active_quad_iterator;
-
- typedef void * raw_hex_iterator;
- typedef void * hex_iterator;
- typedef void * active_hex_iterator;
-
- typedef raw_line_iterator raw_cell_iterator;
- typedef line_iterator cell_iterator;
- typedef active_line_iterator active_cell_iterator;
-
- typedef void * raw_face_iterator;
- typedef void * face_iterator;
- typedef void * active_face_iterator;
-};
-
-
-
-/**
- * Iterators for MGDofHandler in one dimension. See the template
- * MGDoFDimensionInfo for further explanation.
- */
-template <>
-class MGDoFDimensionInfo<2>
-{
- public:
- typedef TriaRawIterator<2,MGDoFObjectAccessor<1, 2> > raw_line_iterator;
- typedef TriaIterator<2,MGDoFObjectAccessor<1, 2> > line_iterator;
- typedef TriaActiveIterator<2,MGDoFObjectAccessor<1, 2> > active_line_iterator;
-
- typedef TriaRawIterator<2,MGDoFCellAccessor<2> > raw_quad_iterator;
- typedef TriaIterator<2,MGDoFCellAccessor<2> > quad_iterator;
- typedef TriaActiveIterator<2,MGDoFCellAccessor<2> > active_quad_iterator;
-
- typedef void * raw_hex_iterator;
- typedef void * hex_iterator;
- typedef void * 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;
-};
-
-
-
-/**
- * Iterators for MGDofHandler in one dimension. See the template
- * MGDoFDimensionInfo for further explanation.
- */
-template <>
-class MGDoFDimensionInfo<3>
-{
- public:
- typedef TriaRawIterator<3,MGDoFObjectAccessor<1, 3> > raw_line_iterator;
- typedef TriaIterator<3,MGDoFObjectAccessor<1, 3> > line_iterator;
- typedef TriaActiveIterator<3,MGDoFObjectAccessor<1, 3> > active_line_iterator;
-
- typedef TriaRawIterator<3,MGDoFObjectAccessor<2, 3> > raw_quad_iterator;
- typedef TriaIterator<3,MGDoFObjectAccessor<2, 3> > quad_iterator;
- typedef TriaActiveIterator<3,MGDoFObjectAccessor<2, 3> > active_quad_iterator;
-
- typedef TriaRawIterator<3,MGDoFCellAccessor<3> > raw_hex_iterator;
- typedef TriaIterator<3,MGDoFCellAccessor<3> > hex_iterator;
- typedef TriaActiveIterator<3,MGDoFCellAccessor<3> > active_hex_iterator;
-
- typedef raw_hex_iterator raw_cell_iterator;
- typedef hex_iterator cell_iterator;
- typedef active_hex_iterator active_cell_iterator;
-
- typedef raw_quad_iterator raw_face_iterator;
- typedef quad_iterator face_iterator;
- typedef active_quad_iterator active_face_iterator;
-};
+#include <multigrid/mg_dof_iterator_selector.h>
class MGDoFHandler : public DoFHandler<dim>
{
public:
- typedef typename MGDoFDimensionInfo<dim>::raw_line_iterator raw_line_iterator;
- typedef typename MGDoFDimensionInfo<dim>::line_iterator line_iterator;
- typedef typename MGDoFDimensionInfo<dim>::active_line_iterator active_line_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::raw_line_iterator raw_line_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::line_iterator line_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::active_line_iterator active_line_iterator;
- typedef typename MGDoFDimensionInfo<dim>::raw_quad_iterator raw_quad_iterator;
- typedef typename MGDoFDimensionInfo<dim>::quad_iterator quad_iterator;
- typedef typename MGDoFDimensionInfo<dim>::active_quad_iterator active_quad_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::raw_quad_iterator raw_quad_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::quad_iterator quad_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::active_quad_iterator active_quad_iterator;
- typedef typename MGDoFDimensionInfo<dim>::raw_hex_iterator raw_hex_iterator;
- typedef typename MGDoFDimensionInfo<dim>::hex_iterator hex_iterator;
- typedef typename MGDoFDimensionInfo<dim>::active_hex_iterator active_hex_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::raw_hex_iterator raw_hex_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::hex_iterator hex_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::active_hex_iterator active_hex_iterator;
- typedef typename MGDoFDimensionInfo<dim>::raw_cell_iterator raw_cell_iterator;
- typedef typename MGDoFDimensionInfo<dim>::cell_iterator cell_iterator;
- typedef typename MGDoFDimensionInfo<dim>::active_cell_iterator active_cell_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::raw_cell_iterator raw_cell_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::cell_iterator cell_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::active_cell_iterator active_cell_iterator;
- typedef typename MGDoFDimensionInfo<dim>::raw_face_iterator raw_face_iterator;
- typedef typename MGDoFDimensionInfo<dim>::face_iterator face_iterator;
- typedef typename MGDoFDimensionInfo<dim>::active_face_iterator active_face_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::raw_face_iterator raw_face_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::face_iterator face_iterator;
+ typedef typename internal::MGDoFHandler::Iterators<dim>::active_face_iterator active_face_iterator;
/**
* Make the dimension available
MGDoFHandler<1>::active_cell_iterator
MGDoFHandler<1>::last_active (const unsigned int level) const;
template <>
-MGDoFDimensionInfo<1>::raw_face_iterator
+internal::MGDoFHandler::Iterators<1>::raw_face_iterator
MGDoFHandler<1>::begin_raw_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<1>::face_iterator
+internal::MGDoFHandler::Iterators<1>::face_iterator
MGDoFHandler<1>::begin_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<1>::active_face_iterator
+internal::MGDoFHandler::Iterators<1>::active_face_iterator
MGDoFHandler<1>::begin_active_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<1>::raw_face_iterator
+internal::MGDoFHandler::Iterators<1>::raw_face_iterator
MGDoFHandler<1>::end_face () const;
template <>
-MGDoFDimensionInfo<1>::raw_face_iterator
+internal::MGDoFHandler::Iterators<1>::raw_face_iterator
MGDoFHandler<1>::last_raw_face () const;
template <>
-MGDoFDimensionInfo<1>::raw_face_iterator
+internal::MGDoFHandler::Iterators<1>::raw_face_iterator
MGDoFHandler<1>::last_raw_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<1>::face_iterator
+internal::MGDoFHandler::Iterators<1>::face_iterator
MGDoFHandler<1>::last_face () const;
template <>
-MGDoFDimensionInfo<1>::face_iterator
+internal::MGDoFHandler::Iterators<1>::face_iterator
MGDoFHandler<1>::last_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<1>::active_face_iterator
+internal::MGDoFHandler::Iterators<1>::active_face_iterator
MGDoFHandler<1>::last_active_face () const;
template <>
-MGDoFDimensionInfo<1>::active_face_iterator
+internal::MGDoFHandler::Iterators<1>::active_face_iterator
MGDoFHandler<1>::last_active_face (const unsigned int) const;
template <>
MGDoFHandler<1>::raw_quad_iterator
MGDoFHandler<2>::active_cell_iterator
MGDoFHandler<2>::last_active (const unsigned int level) const;
template <>
-MGDoFDimensionInfo<2>::raw_face_iterator
+internal::MGDoFHandler::Iterators<2>::raw_face_iterator
MGDoFHandler<2>::begin_raw_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<2>::face_iterator
+internal::MGDoFHandler::Iterators<2>::face_iterator
MGDoFHandler<2>::begin_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<2>::active_face_iterator
+internal::MGDoFHandler::Iterators<2>::active_face_iterator
MGDoFHandler<2>::begin_active_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<2>::raw_face_iterator
+internal::MGDoFHandler::Iterators<2>::raw_face_iterator
MGDoFHandler<2>::end_face () const;
template <>
-MGDoFDimensionInfo<2>::raw_face_iterator
+internal::MGDoFHandler::Iterators<2>::raw_face_iterator
MGDoFHandler<2>::last_raw_face () const;
template <>
-MGDoFDimensionInfo<2>::raw_face_iterator
+internal::MGDoFHandler::Iterators<2>::raw_face_iterator
MGDoFHandler<2>::last_raw_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<2>::face_iterator
+internal::MGDoFHandler::Iterators<2>::face_iterator
MGDoFHandler<2>::last_face () const;
template <>
-MGDoFDimensionInfo<2>::face_iterator
+internal::MGDoFHandler::Iterators<2>::face_iterator
MGDoFHandler<2>::last_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<2>::active_face_iterator
+internal::MGDoFHandler::Iterators<2>::active_face_iterator
MGDoFHandler<2>::last_active_face () const;
template <>
-MGDoFDimensionInfo<2>::active_face_iterator
+internal::MGDoFHandler::Iterators<2>::active_face_iterator
MGDoFHandler<2>::last_active_face (const unsigned int) const;
template <>
MGDoFHandler<2>::raw_hex_iterator
MGDoFHandler<3>::active_cell_iterator
MGDoFHandler<3>::last_active (const unsigned int level) const;
template <>
-MGDoFDimensionInfo<3>::raw_face_iterator
+internal::MGDoFHandler::Iterators<3>::raw_face_iterator
MGDoFHandler<3>::begin_raw_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<3>::face_iterator
+internal::MGDoFHandler::Iterators<3>::face_iterator
MGDoFHandler<3>::begin_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<3>::active_face_iterator
+internal::MGDoFHandler::Iterators<3>::active_face_iterator
MGDoFHandler<3>::begin_active_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<3>::raw_face_iterator
+internal::MGDoFHandler::Iterators<3>::raw_face_iterator
MGDoFHandler<3>::end_face () const;
template <>
-MGDoFDimensionInfo<3>::raw_face_iterator
+internal::MGDoFHandler::Iterators<3>::raw_face_iterator
MGDoFHandler<3>::last_raw_face () const;
template <>
-MGDoFDimensionInfo<3>::raw_face_iterator
+internal::MGDoFHandler::Iterators<3>::raw_face_iterator
MGDoFHandler<3>::last_raw_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<3>::face_iterator
+internal::MGDoFHandler::Iterators<3>::face_iterator
MGDoFHandler<3>::last_face () const;
template <>
-MGDoFDimensionInfo<3>::face_iterator
+internal::MGDoFHandler::Iterators<3>::face_iterator
MGDoFHandler<3>::last_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<3>::active_face_iterator
+internal::MGDoFHandler::Iterators<3>::active_face_iterator
MGDoFHandler<3>::last_active_face () const;
template <>
-MGDoFDimensionInfo<3>::active_face_iterator
+internal::MGDoFHandler::Iterators<3>::active_face_iterator
MGDoFHandler<3>::last_active_face (const unsigned int) const;
template <>
-MGDoFDimensionInfo<1>::raw_face_iterator
+internal::MGDoFHandler::Iterators<1>::raw_face_iterator
MGDoFHandler<1>::begin_raw_face (const unsigned int) const
{
Assert (false, ExcImpossibleInDim(1));
template <>
-MGDoFDimensionInfo<1>::face_iterator
+internal::MGDoFHandler::Iterators<1>::face_iterator
MGDoFHandler<1>::begin_face (const unsigned int) const
{
Assert (false, ExcImpossibleInDim(1));
template <>
-MGDoFDimensionInfo<1>::active_face_iterator
+internal::MGDoFHandler::Iterators<1>::active_face_iterator
MGDoFHandler<1>::begin_active_face (const unsigned int) const
{
Assert (false, ExcImpossibleInDim(1));
template <>
-MGDoFDimensionInfo<1>::raw_face_iterator
+internal::MGDoFHandler::Iterators<1>::raw_face_iterator
MGDoFHandler<1>::end_face () const
{
Assert (false, ExcImpossibleInDim(1));
template <>
-MGDoFDimensionInfo<1>::raw_face_iterator
+internal::MGDoFHandler::Iterators<1>::raw_face_iterator
MGDoFHandler<1>::last_raw_face () const
{
Assert (false, ExcImpossibleInDim(1));
template <>
-MGDoFDimensionInfo<1>::raw_face_iterator
+internal::MGDoFHandler::Iterators<1>::raw_face_iterator
MGDoFHandler<1>::last_raw_face (const unsigned int) const
{
Assert (false, ExcImpossibleInDim(1));
template <>
-MGDoFDimensionInfo<1>::face_iterator
+internal::MGDoFHandler::Iterators<1>::face_iterator
MGDoFHandler<1>::last_face () const
{
Assert (false, ExcImpossibleInDim(1));
template <>
-MGDoFDimensionInfo<1>::face_iterator
+internal::MGDoFHandler::Iterators<1>::face_iterator
MGDoFHandler<1>::last_face (const unsigned int) const
{
Assert (false, ExcImpossibleInDim(1));
template <>
-MGDoFDimensionInfo<1>::active_face_iterator
+internal::MGDoFHandler::Iterators<1>::active_face_iterator
MGDoFHandler<1>::last_active_face () const
{
Assert (false, ExcImpossibleInDim(1));
template <>
-MGDoFDimensionInfo<1>::active_face_iterator
+internal::MGDoFHandler::Iterators<1>::active_face_iterator
MGDoFHandler<1>::last_active_face (const unsigned int) const
{
Assert (false, ExcImpossibleInDim(1));
template <>
-MGDoFDimensionInfo<2>::raw_face_iterator
+internal::MGDoFHandler::Iterators<2>::raw_face_iterator
MGDoFHandler<2>::begin_raw_face (const unsigned int level) const
{
return begin_raw_line (level);
template <>
-MGDoFDimensionInfo<2>::face_iterator
+internal::MGDoFHandler::Iterators<2>::face_iterator
MGDoFHandler<2>::begin_face (const unsigned int level) const
{
return begin_line (level);
template <>
-MGDoFDimensionInfo<2>::active_face_iterator
+internal::MGDoFHandler::Iterators<2>::active_face_iterator
MGDoFHandler<2>::begin_active_face (const unsigned int level) const
{
return begin_active_line (level);
template <>
-MGDoFDimensionInfo<2>::raw_face_iterator
+internal::MGDoFHandler::Iterators<2>::raw_face_iterator
MGDoFHandler<2>::end_face () const
{
return end_line ();
template <>
-MGDoFDimensionInfo<2>::raw_face_iterator
+internal::MGDoFHandler::Iterators<2>::raw_face_iterator
MGDoFHandler<2>::last_raw_face () const
{
return last_raw_line ();
template <>
-MGDoFDimensionInfo<2>::raw_face_iterator
+internal::MGDoFHandler::Iterators<2>::raw_face_iterator
MGDoFHandler<2>::last_raw_face (const unsigned int level) const
{
return last_raw_line (level);
template <>
-MGDoFDimensionInfo<2>::face_iterator
+internal::MGDoFHandler::Iterators<2>::face_iterator
MGDoFHandler<2>::last_face () const
{
return last_line ();
template <>
-MGDoFDimensionInfo<2>::face_iterator
+internal::MGDoFHandler::Iterators<2>::face_iterator
MGDoFHandler<2>::last_face (const unsigned int level) const
{
return last_line (level);
template <>
-MGDoFDimensionInfo<2>::active_face_iterator
+internal::MGDoFHandler::Iterators<2>::active_face_iterator
MGDoFHandler<2>::last_active_face () const
{
return last_active_line ();
template <>
-MGDoFDimensionInfo<2>::active_face_iterator
+internal::MGDoFHandler::Iterators<2>::active_face_iterator
MGDoFHandler<2>::last_active_face (const unsigned int level) const
{
return last_active_line (level);
template <>
-MGDoFDimensionInfo<3>::raw_face_iterator
+internal::MGDoFHandler::Iterators<3>::raw_face_iterator
MGDoFHandler<3>::begin_raw_face (const unsigned int level) const
{
return begin_raw_quad (level);
template <>
-MGDoFDimensionInfo<3>::face_iterator
+internal::MGDoFHandler::Iterators<3>::face_iterator
MGDoFHandler<3>::begin_face (const unsigned int level) const
{
return begin_quad (level);
template <>
-MGDoFDimensionInfo<3>::active_face_iterator
+internal::MGDoFHandler::Iterators<3>::active_face_iterator
MGDoFHandler<3>::begin_active_face (const unsigned int level) const
{
return begin_active_quad (level);
template <>
-MGDoFDimensionInfo<3>::raw_face_iterator
+internal::MGDoFHandler::Iterators<3>::raw_face_iterator
MGDoFHandler<3>::end_face () const
{
return end_quad ();
template <>
-MGDoFDimensionInfo<3>::raw_face_iterator
+internal::MGDoFHandler::Iterators<3>::raw_face_iterator
MGDoFHandler<3>::last_raw_face () const
{
return last_raw_quad ();
template <>
-MGDoFDimensionInfo<3>::raw_face_iterator
+internal::MGDoFHandler::Iterators<3>::raw_face_iterator
MGDoFHandler<3>::last_raw_face (const unsigned int level) const
{
return last_raw_quad (level);
template <>
-MGDoFDimensionInfo<3>::face_iterator
+internal::MGDoFHandler::Iterators<3>::face_iterator
MGDoFHandler<3>::last_face () const
{
return last_quad ();
template <>
-MGDoFDimensionInfo<3>::face_iterator
+internal::MGDoFHandler::Iterators<3>::face_iterator
MGDoFHandler<3>::last_face (const unsigned int level) const
{
return last_quad (level);
template <>
-MGDoFDimensionInfo<3>::active_face_iterator
+internal::MGDoFHandler::Iterators<3>::active_face_iterator
MGDoFHandler<3>::last_active_face () const
{
return last_active_quad ();
template <>
-MGDoFDimensionInfo<3>::active_face_iterator
+internal::MGDoFHandler::Iterators<3>::active_face_iterator
MGDoFHandler<3>::last_active_face (const unsigned int level) const
{
return last_active_quad (level);
template <int dim>
-typename MGDoFDimensionInfo<dim>::raw_cell_iterator
+typename internal::MGDoFHandler::Iterators<dim>::raw_cell_iterator
MGDoFHandler<dim>::end_raw (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::cell_iterator
+typename internal::MGDoFHandler::Iterators<dim>::cell_iterator
MGDoFHandler<dim>::end (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::active_cell_iterator
+typename internal::MGDoFHandler::Iterators<dim>::active_cell_iterator
MGDoFHandler<dim>::end_active (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::raw_face_iterator
+typename internal::MGDoFHandler::Iterators<dim>::raw_face_iterator
MGDoFHandler<dim>::end_raw_face (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::face_iterator
+typename internal::MGDoFHandler::Iterators<dim>::face_iterator
MGDoFHandler<dim>::end_face (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::active_face_iterator
+typename internal::MGDoFHandler::Iterators<dim>::active_face_iterator
MGDoFHandler<dim>::end_active_face (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::raw_line_iterator
+typename internal::MGDoFHandler::Iterators<dim>::raw_line_iterator
MGDoFHandler<dim>::end_raw_line (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::line_iterator
+typename internal::MGDoFHandler::Iterators<dim>::line_iterator
MGDoFHandler<dim>::end_line (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::active_line_iterator
+typename internal::MGDoFHandler::Iterators<dim>::active_line_iterator
MGDoFHandler<dim>::end_active_line (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::raw_quad_iterator
+typename internal::MGDoFHandler::Iterators<dim>::raw_quad_iterator
MGDoFHandler<dim>::end_raw_quad (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::quad_iterator
+typename internal::MGDoFHandler::Iterators<dim>::quad_iterator
MGDoFHandler<dim>::end_quad (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::active_quad_iterator
+typename internal::MGDoFHandler::Iterators<dim>::active_quad_iterator
MGDoFHandler<dim>::end_active_quad (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::raw_hex_iterator
+typename internal::MGDoFHandler::Iterators<dim>::raw_hex_iterator
MGDoFHandler<dim>::end_raw_hex (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::hex_iterator
+typename internal::MGDoFHandler::Iterators<dim>::hex_iterator
MGDoFHandler<dim>::end_hex (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?
template <int dim>
-typename MGDoFDimensionInfo<dim>::active_hex_iterator
+typename internal::MGDoFHandler::Iterators<dim>::active_hex_iterator
MGDoFHandler<dim>::end_active_hex (const unsigned int level) const
{
return (level == mg_levels.size()-1 ?