Reference documentation for deal.II version 9.2.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 - 2019 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 
79  template <int spacedim>
80  struct Iterators<1, spacedim>
81  {
82  using raw_line_iterator =
85  using active_line_iterator =
87 
88  using raw_quad_iterator =
90  using quad_iterator =
92  using active_quad_iterator =
94 
95  using raw_hex_iterator =
97  using hex_iterator =
99  using active_hex_iterator =
101  };
102 
103 
104 
141  template <int spacedim>
142  struct Iterators<2, spacedim>
143  {
144  using raw_line_iterator =
147  using active_line_iterator =
149 
150  using raw_quad_iterator =
153  using active_quad_iterator =
155 
156  using raw_hex_iterator =
158  using hex_iterator =
160  using active_hex_iterator =
162  };
163 
164 
186  template <int spacedim>
187  struct Iterators<3, spacedim>
188  {
189  using raw_line_iterator =
192  using active_line_iterator =
194 
195  using raw_quad_iterator =
198  using active_quad_iterator =
200 
201  using raw_hex_iterator =
204  using active_hex_iterator =
206  };
207 
208  } // namespace TriangulationImplementation
209 
210 } // namespace internal
211 
213 
214 #endif // dealii_tria_iterator_selector_h
internal::TriangulationImplementation::Iterators
Definition: tria_iterator_selector.h:47
CellAccessor
Definition: tria_accessor.h:2667
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:358
TriaAccessor
Definition: tria_accessor.h:127
TriaActiveIterator
Definition: tria_iterator.h:759
InvalidAccessor
Definition: tria_accessor.h:558
config.h
internal
Definition: aligned_vector.h:369
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:359
TriaIterator
Definition: tria_iterator.h:578
TriaRawIterator
Definition: tria_iterator.h:232