TestTags.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
7 #include "DataStructures/DataBox/Tag.hpp"
9 
10 namespace VariablesTestTags_detail {
11 /// [simple_variables_tag]
12 template <typename VectorType>
13 struct tensor : db::SimpleTag {
14  using type = tnsr::I<VectorType, 3, Frame::Grid>;
15 };
16 /// [simple_variables_tag]
17 template <typename VectorType>
18 struct scalar : db::SimpleTag {
19  using type = Scalar<VectorType>;
20 };
21 template <typename VectorType>
22 struct scalar2 : db::SimpleTag {
23  using type = Scalar<VectorType>;
24 };
25 
26 /// [prefix_variables_tag]
27 template <class Tag>
28 struct Prefix0 : db::PrefixTag, db::SimpleTag {
29  using type = db::const_item_type<Tag>;
30  using tag = Tag;
31 };
32 /// [prefix_variables_tag]
33 
34 template <class Tag>
35 struct Prefix1 : db::PrefixTag, db::SimpleTag {
36  using type = db::const_item_type<Tag>;
37  using tag = Tag;
38 };
39 
40 template <class Tag>
41 struct Prefix2 : db::PrefixTag, db::SimpleTag {
42  using type = db::const_item_type<Tag>;
43  using tag = Tag;
44 };
45 
46 template <class Tag>
47 struct Prefix3 : db::PrefixTag, db::SimpleTag {
48  using type = db::const_item_type<Tag>;
49  using tag = Tag;
50 };
51 } // namespace VariablesTestTags_detail
Tags for the DataBox inherit from this type.
Definition: Tag.hpp:23
Definition: TestTags.hpp:10
Defines a list of useful type aliases for tensors.
Marks an item as being a prefix to another tag.
Definition: Tag.hpp:66
Defines classes SimpleTag, PrefixTag, ComputeTag and several functions for retrieving tag info...
Tensor< T, Symmetry<>, index_list<> > Scalar
Scalar type.
Definition: TypeAliases.hpp:21