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);