Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <ostream>
7 :
8 : /// \cond
9 : namespace Options {
10 : class Option;
11 : template <typename T>
12 : struct create_from_yaml;
13 : } // namespace Options
14 : /// \endcond
15 :
16 : namespace Limiters {
17 : /// \ingroup LimitersGroup
18 : /// \brief Possible types of the WENO limiter
19 : ///
20 : /// \see Limiters::Weno for a description and references.
21 0 : enum class WenoType { Hweno, SimpleWeno };
22 :
23 0 : std::ostream& operator<<(std::ostream& os, Limiters::WenoType weno_type);
24 : } // namespace Limiters
25 :
26 : template <>
27 0 : struct Options::create_from_yaml<Limiters::WenoType> {
28 : template <typename Metavariables>
29 0 : static Limiters::WenoType create(const Options::Option& options) {
30 : return create<void>(options);
31 : }
32 : };
33 : template <>
34 0 : Limiters::WenoType Options::create_from_yaml<Limiters::WenoType>::create<void>(
35 : const Options::Option& options);
|