Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <cstddef>
7 : #include <variant>
8 :
9 : #include "IO/Exporter/Exporter.hpp"
10 : #include "IO/H5/VolumeData.hpp"
11 :
12 : namespace spectre::Exporter {
13 :
14 : /// Determines the selected observation ID in the volume data file, given
15 : /// multiple possible ways to specify the observation.
16 1 : struct SelectObservation {
17 0 : size_t operator()(ObservationId observation_id) const;
18 0 : size_t operator()(ObservationStep observation_step) const;
19 0 : size_t operator()(double observation_value) const;
20 0 : size_t operator()(ObservationValue observation_value) const;
21 : // NOLINTNEXTLINE(cppcoreguidelines-avoid-const-or-ref-data-members)
22 0 : const h5::VolumeData& volfile;
23 : };
24 :
25 : } // namespace spectre::Exporter
|