Tags.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <string>
7 
8 #include "DataStructures/DataBox/Tag.hpp"
9 #include "Options/Options.hpp"
10 
11 /// \cond
12 enum class Verbosity;
13 /// \endcond
14 
15 /// \ingroup LoggingGroup
16 /// Items related to logging
17 namespace logging {
18 namespace OptionTags {
19 /// \ingroup OptionTagsGroup
20 /// \ingroup LoggingGroup
21 template <typename OptionsGroup>
22 struct Verbosity {
23  using type = ::Verbosity;
24  static constexpr Options::String help{"Verbosity"};
25  using group = OptionsGroup;
26 };
27 } // namespace OptionTags
28 
29 namespace Tags {
30 /// \ingroup LoggingGroup
31 /// \brief Tag for putting `::Verbosity` in a DataBox.
32 template <typename OptionsGroup>
34  using type = ::Verbosity;
35  static std::string name() noexcept {
36  return "Verbosity(" + Options::name<OptionsGroup>() + ")";
37  }
38 
39  using option_tags = tmpl::list<OptionTags::Verbosity<OptionsGroup>>;
40  static constexpr bool pass_metavariables = false;
41  static ::Verbosity create_from_options(
42  const ::Verbosity& verbosity) noexcept {
43  return verbosity;
44  }
45 };
46 } // namespace Tags
47 } // namespace logging
Verbosity
Verbosity
Indicates how much informative output a class should output.
Definition: Verbosity.hpp:18
std::string
Options.hpp
logging::OptionTags::Verbosity
Definition: Tags.hpp:22
db::SimpleTag
Mark a struct as a simple tag by inheriting from this.
Definition: Tag.hpp:36
logging::Tags::Verbosity
Tag for putting Verbosity in a DataBox.
Definition: Tags.hpp:33
Options::String
const char *const String
The string used in option structs.
Definition: Options.hpp:32
logging
Definition: Tags.hpp:17
string