Tags.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <cstddef>
7 #include <memory>
8 #include <string>
9 #include <unordered_map>
10 
12 #include "Domain/FunctionsOfTime/FunctionOfTime.hpp"
13 #include "Domain/OptionTags.hpp"
14 #include "Options/Options.hpp"
15 #include "Utilities/TMPL.hpp"
16 
17 /// \cond
18 template <size_t VolumeDim>
19 class DomainCreator;
20 /// \endcond
21 
22 namespace domain {
23 namespace Tags {
24 /// The functions of time obtained from a domain creator
25 template <size_t Dim>
27  using type = std::unordered_map<
29  using option_tags = tmpl::list<domain::OptionTags::DomainCreator<Dim>>;
30 
31  static constexpr bool pass_metavariables = false;
32  static type create_from_options(
33  const std::unique_ptr<::DomainCreator<Dim>>& domain_creator) noexcept;
34 };
35 
36 /// The functions of time
38  using type = std::unordered_map<
40 };
41 } // namespace Tags
42 } // namespace domain
std::string
DataBoxTag.hpp
domain::Tags::FunctionsOfTime
The functions of time.
Definition: Tags.hpp:37
Options.hpp
db::SimpleTag
Tags for the DataBox inherit from this type.
Definition: Tag.hpp:23
cstddef
domain::Tags::InitialFunctionsOfTime
The functions of time obtained from a domain creator.
Definition: Tags.hpp:26
memory
DomainCreator
Base class for creating Domains from an option string.
Definition: DomainCreator.hpp:88
std::unique_ptr
unordered_map
TMPL.hpp
string