Tatooine
field_concept.h
Go to the documentation of this file.
1#ifndef TATOOINE_FIELD_CONCEPT_H
2#define TATOOINE_FIELD_CONCEPT_H
3//==============================================================================
4#include <tatooine/concepts.h>
5#include <tatooine/vec.h>
7//==============================================================================
8namespace tatooine {
9//==============================================================================
10template <typename T, typename Real, std::size_t NumDimensions>
11concept weak_field_concept = requires(T f, vec<Real, NumDimensions> x, Real t) {
12 { f(x, t) } ;
13};
14//==============================================================================
15template <typename T>
21 requires(std::decay_t<T> const f, field_pos_type<std::decay_t<T>> x,
22 field_real_type< std::decay_t<T>> t) {
23 { f(x, t) } -> std::same_as<field_tensor_type<std::decay_t<T>>>;
24};
25//==============================================================================
26} // namespace tatooine
27//==============================================================================
28#endif
Definition: field_concept.h:16
Definition: concepts.h:162
Definition: concepts.h:156
Definition: concepts.h:153
Definition: concepts.h:159
Definition: field_concept.h:11
Definition: algorithm.h:6