DUNE-ACFEM (unstable)

tags.hh
Go to the documentation of this file.
1#ifndef __DUNE_ACFEM_EXPRESSIONS_TAGS_HH__
2#define __DUNE_ACFEM_EXPRESSIONS_TAGS_HH__
3
9#include "../mpl/uniquetags.hh"
10
11namespace Dune
12{
13
14 namespace ACFem
15 {
16
48 {};
49
54 {};
55
62 {};
63
68 template<std::size_t id>
71 {};
72
81 {};
82
85 {};
86
93 {};
94
100 {};
101
106 {};
107
110 {};
111
114 {};
115
122 {};
123
129 {};
130
137 : MPL::UniqueTags<SemiPositiveExpression, SemiNegativeExpression, ConstantExpression, TypedValueExpression>
138 {};
139
144 {};
145
150 {};
151
157 : MPL::UniqueTags<PositiveExpression, ConstantExpression, TypedValueExpression>
158 {};
159
165 : MPL::UniqueTags<NegativeExpression, ConstantExpression, TypedValueExpression>
166 {};
167
175 template<class A, class Tag>
176 using HasTag = std::is_base_of<Tag, std::decay_t<A> >;
177
179
181
183
185
186 } // ACFem
187
188} // Dune
189
190#endif // __DUNE_ACFEM_EXPRESSIONS_TAGS_HH__
std::is_base_of< Tag, std::decay_t< A > > HasTag
Evaluate to std::true_type if std::decay_t<A> is derived from Tag, otherwise to std::false_type.
Definition: tags.hh:176
A constant.
Definition: tags.hh:93
An independent expression is an expression which does not depend on external state.
Definition: tags.hh:81
A tag structure which can be attached as base-class to expressions modelling a 1 (in a field,...
Definition: tags.hh:166
Something which may be change between different evaluations of an expression.
Definition: tags.hh:106
An expression which is known to be negative.
Definition: tags.hh:150
Complementary to ZeroExpression for use in std::conditional, for example, otherwise unused.
Definition: tags.hh:122
A tag structure which can be attached as base-class to expressions modelling a 1 (in a field,...
Definition: tags.hh:158
Something constant on a given entity.
Definition: tags.hh:85
An expression which is known to be positive.
Definition: tags.hh:144
Non-singular, but somehow zero, whatever that means.
Definition: tags.hh:129
A tag structure signalling that objects of this type can be considered to yield the same values at ru...
Definition: tags.hh:62
Less equal 0 expression.
Definition: tags.hh:114
Greater equal 0 expression.
Definition: tags.hh:110
A terminal expression is an "expression end-point", i.e.
Definition: tags.hh:48
A tag structure signalling that this expression carries its value in its type.
Definition: tags.hh:100
A tag for use with assume() to generate a unique type which is assumed to be "runtime equal" by inher...
Definition: tags.hh:71
A volatile expression will not be replaced by its value except for RuntimeEqual optimizations.
Definition: tags.hh:54
A tag structure which can be attached as base class to zero-expressions like the ZeroGridFunction,...
Definition: tags.hh:138
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 27, 23:30, 2024)