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 : struct Option; 11 : template <typename T> 12 : struct create_from_yaml; 13 : } // namespace Options 14 : /// \endcond 15 : 16 : namespace importers { 17 : 18 : /// Represents the first or last observation in a volume data file, to allow 19 : /// specifying it in an input file without knowledge of the specific observation 20 : /// values. 21 0 : enum class ObservationSelector { First, Last }; 22 : 23 0 : std::ostream& operator<<(std::ostream& os, const ObservationSelector value); 24 : 25 : } // namespace importers 26 : 27 : template <> 28 0 : struct Options::create_from_yaml<importers::ObservationSelector> { 29 : template <typename Metavariables> 30 0 : static importers::ObservationSelector create(const Options::Option& options) { 31 : return create<void>(options); 32 : } 33 : }; 34 : template <> 35 0 : importers::ObservationSelector 36 : Options::create_from_yaml<importers::ObservationSelector>::create<void>( 37 : const Options::Option& options);