Line data Source code
1 0 : // 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/String.hpp" 10 : #include "Utilities/PrettyType.hpp" 11 : 12 : /// \cond 13 : enum class Verbosity; 14 : /// \endcond 15 : 16 : /// \ingroup LoggingGroup 17 : /// Items related to logging 18 1 : namespace logging { 19 0 : namespace OptionTags { 20 : /// \ingroup OptionTagsGroup 21 : /// \ingroup LoggingGroup 22 : template <typename OptionsGroup> 23 0 : struct Verbosity { 24 0 : using type = ::Verbosity; 25 0 : static constexpr Options::String help{"Verbosity"}; 26 0 : using group = OptionsGroup; 27 : }; 28 : } // namespace OptionTags 29 : 30 0 : namespace Tags { 31 : /// \ingroup LoggingGroup 32 : /// \brief Tag for putting `::Verbosity` in a DataBox. 33 : template <typename OptionsGroup> 34 1 : struct Verbosity : db::SimpleTag { 35 0 : using type = ::Verbosity; 36 0 : static std::string name() { 37 : return "Verbosity(" + pretty_type::name<OptionsGroup>() + ")"; 38 : } 39 : 40 0 : using option_tags = tmpl::list<OptionTags::Verbosity<OptionsGroup>>; 41 0 : static constexpr bool pass_metavariables = false; 42 0 : static ::Verbosity create_from_options(const ::Verbosity& verbosity) { 43 : return verbosity; 44 : } 45 : }; 46 : } // namespace Tags 47 : } // namespace logging