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