GenerateCoordinateMap.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include "Utilities/TMPL.hpp"
7 
8 /// \cond
9 namespace domain {
10 template <typename SourceFrame, typename TargetFrame, typename... Maps>
11 class CoordinateMap;
12 } // namespace domain
13 namespace Frame {
14 struct Grid;
15 struct Inertial;
16 } // namespace Frame
17 /// \endcond
18 
19 namespace domain {
20 namespace creators {
21 namespace time_dependence {
22 namespace detail {
23 template <typename MapsList>
24 struct generate_coordinate_map;
25 
26 template <typename... Maps>
27 struct generate_coordinate_map<tmpl::list<Maps...>> {
28  using type = domain::CoordinateMap<Frame::Grid, Frame::Inertial, Maps...>;
29 };
30 
31 template <typename MapsList>
32 using generate_coordinate_map_t =
33  typename generate_coordinate_map<MapsList>::type;
34 } // namespace detail
35 } // namespace time_dependence
36 } // namespace creators
37 } // namespace domain
Frame::Inertial
Definition: IndexType.hpp:44
Frame::Grid
Definition: IndexType.hpp:43
Frame
Definition: IndexType.hpp:36
TMPL.hpp
domain::CoordinateMap
A coordinate map or composition of coordinate maps.
Definition: CoordinateMap.hpp:237