Reference documentation for deal.II version 9.3.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
tria_iterator_selector.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2003 - 2020 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_tria_iterator_selector_h
17 #define dealii_tria_iterator_selector_h
18 
19 
20 #include <deal.II/base/config.h>
21 
23 
24 // Forward declarations
25 #ifndef DOXYGEN
26 template <int dim, int spacedim>
27 class CellAccessor;
28 template <int, int, int>
29 class InvalidAccessor;
30 template <int, int, int>
31 class TriaAccessor;
32 template <int dim, int spacedim>
33 class TriaAccessor<0, dim, spacedim>;
34 template <typename Accessor>
35 class TriaRawIterator;
36 template <typename Accessor>
37 class TriaIterator;
38 template <typename Accessor>
39 class TriaActiveIterator;
40 #endif
41 
42 namespace internal
43 {
44  namespace TriangulationImplementation
45  {
46  template <int dim, int spacedim>
47  struct Iterators;
48 
77  template <int spacedim>
78  struct Iterators<1, spacedim>
79  {
80  using raw_line_iterator =
83  using active_line_iterator =
85 
86  using raw_quad_iterator =
88  using quad_iterator =
90  using active_quad_iterator =
92 
93  using raw_hex_iterator =
95  using hex_iterator =
97  using active_hex_iterator =
99  };
100 
101 
102 
137  template <int spacedim>
138  struct Iterators<2, spacedim>
139  {
140  using raw_line_iterator =
143  using active_line_iterator =
145 
146  using raw_quad_iterator =
149  using active_quad_iterator =
151 
152  using raw_hex_iterator =
154  using hex_iterator =
156  using active_hex_iterator =
158  };
159 
160 
180  template <int spacedim>
181  struct Iterators<3, spacedim>
182  {
183  using raw_line_iterator =
186  using active_line_iterator =
188 
189  using raw_quad_iterator =
192  using active_quad_iterator =
194 
195  using raw_hex_iterator =
198  using active_hex_iterator =
200  };
201 
202  } // namespace TriangulationImplementation
203 
204 } // namespace internal
205 
207 
208 #endif // dealii_tria_iterator_selector_h
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:395
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:394