Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
mg_dof_iterator_selector.h
1 // ---------------------------------------------------------------------
2 // @f$Id: mg_dof_iterator_selector.h 30036 2013-07-18 16:55:32Z maier @f$
3 //
4 // Copyright (C) 1998 - 2013 by the deal.II authors
5 //
6 // This file is part of the deal.II library.
7 //
8 // The deal.II library is free software; you can use it, redistribute
9 // it, and/or modify it under the terms of the GNU Lesser General
10 // Public License as published by the Free Software Foundation; either
11 // version 2.1 of the License, or (at your option) any later version.
12 // The full text of the license can be found in the file LICENSE at
13 // the top level of the deal.II distribution.
14 //
15 // ---------------------------------------------------------------------
16 
17 #ifndef __deal2__mg_dof_iterator_selector_h
18 #define __deal2__mg_dof_iterator_selector_h
19 
20 
21 #include <deal.II/base/config.h>
22 
23 
25 
26 template <int structdim, int dim, int spacedim> class MGDoFAccessor;
27 template <int dim, int spacedim> class MGDoFCellAccessor;
28 template <int, int, int> class InvalidAccessor;
29 
30 template <typename Accessor> class TriaRawIterator;
31 template <typename Accessor> class TriaIterator;
32 template <typename Accessor> class TriaActiveIterator;
33 
34 
35 namespace internal
36 {
37  namespace MGDoFHandler
38  {
39  template <int dim, int spacedim>
40  class Iterators;
41 
42 
47  template <int spacedim>
48  class Iterators<1,spacedim>
49  {
50  public:
51  typedef ::MGDoFCellAccessor<1,spacedim> CellAccessor;
52  typedef ::MGDoFAccessor<0,1,spacedim> FaceAccessor;
53 
57 
61 
65 
66  typedef raw_line_iterator raw_cell_iterator;
67  typedef line_iterator cell_iterator;
68  typedef active_line_iterator active_cell_iterator;
69 
73  };
74 
75 
76 
81  template <int spacedim>
82  class Iterators<2,spacedim>
83  {
84  public:
85  typedef ::MGDoFCellAccessor<2,spacedim> CellAccessor;
86  typedef ::MGDoFAccessor<1,2,spacedim> FaceAccessor;
87 
91 
95 
99 
100  typedef raw_quad_iterator raw_cell_iterator;
101  typedef quad_iterator cell_iterator;
102  typedef active_quad_iterator active_cell_iterator;
103 
104  typedef raw_line_iterator raw_face_iterator;
105  typedef line_iterator face_iterator;
106  typedef active_line_iterator active_face_iterator;
107  };
108 
109 
110 
115  template <int spacedim>
116  class Iterators<3,spacedim>
117  {
118  public:
119  typedef ::MGDoFCellAccessor<3,spacedim> CellAccessor;
120  typedef ::MGDoFAccessor<2,3,spacedim> FaceAccessor;
121 
125 
129 
133 
134  typedef raw_hex_iterator raw_cell_iterator;
135  typedef hex_iterator cell_iterator;
136  typedef active_hex_iterator active_cell_iterator;
137 
138  typedef raw_quad_iterator raw_face_iterator;
139  typedef quad_iterator face_iterator;
140  typedef active_quad_iterator active_face_iterator;
141  };
142  }
143 }
144 
145 
146 DEAL_II_NAMESPACE_CLOSE
147 
148 #endif
149 /*---------------------------- mg_dof_iterator_selector.h ---------------------------*/