Reference documentation for deal.II version 9.5.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\}}\)
Loading...
Searching...
No Matches
grid_tools_cache_update_flags.h
Go to the documentation of this file.
1// ---------------------------------------------------------------------
2//
3// Copyright (C) 2017 - 2022 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_grid_tria_info_cache_update_flags_h
17#define dealii_grid_tria_info_cache_update_flags_h
18
19
20#include <deal.II/base/config.h>
21
23
24namespace GridTools
25{
34 {
39
45
52
57
62
67
76
81
86
92
96 update_all = 0xFFF,
97 };
98
99
105 template <class StreamType>
106 inline StreamType &
107 operator<<(StreamType &s, const CacheUpdateFlags u)
108 {
109 s << " CacheUpdateFlags";
111 s << "|vertex_to_cell_map";
113 s << "|vertex_to_cells_centers_directions";
114 if (u & update_covering_rtree)
115 s << "|covering_rtree";
116 return s;
117 }
118
119
129 inline CacheUpdateFlags
131 {
132 return static_cast<CacheUpdateFlags>(static_cast<unsigned int>(f1) |
133 static_cast<unsigned int>(f2));
134 }
135
145 inline CacheUpdateFlags
147 {
148 return static_cast<CacheUpdateFlags>(static_cast<unsigned int>(f1) ^
149 static_cast<unsigned int>(update_all));
150 }
151
152
153
160 inline CacheUpdateFlags &
162 {
163 f1 = f1 | f2;
164 return f1;
165 }
166
167
177 inline CacheUpdateFlags
179 {
180 return static_cast<CacheUpdateFlags>(static_cast<unsigned int>(f1) &
181 static_cast<unsigned int>(f2));
182 }
183
184
191 inline CacheUpdateFlags &
193 {
194 f1 = f1 & f2;
195 return f1;
196 }
197
198} // namespace GridTools
200
201#endif
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:472
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:473
CacheUpdateFlags & operator|=(CacheUpdateFlags &f1, const CacheUpdateFlags f2)
CacheUpdateFlags operator|(const CacheUpdateFlags f1, const CacheUpdateFlags f2)
CacheUpdateFlags operator&(const CacheUpdateFlags f1, const CacheUpdateFlags f2)
CacheUpdateFlags operator~(const CacheUpdateFlags f1)
StreamType & operator<<(StreamType &s, const CacheUpdateFlags u)
CacheUpdateFlags & operator&=(CacheUpdateFlags &f1, const CacheUpdateFlags f2)