OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
Output2DReader.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2026 Caleb Buahin
3
12
13#pragma once
14#ifdef OPENSWMM_HAS_2D_HDF5_OUTPUT
15#include <hdf5.h>
16#include <cstdint>
17#include <string>
18#include <vector>
19
20namespace openswmm {
31class Output2DReader {
32public:
38 ~Output2DReader();
39
41 Output2DReader() = default;
42
44 Output2DReader(const Output2DReader&) = delete;
45
47 Output2DReader& operator=(const Output2DReader&) = delete;
48
61 void open(const char* path);
62
72 std::string datasets() const;
73
89 void shape(const char* path, int& rank, uint64_t* dimensions, int& integer,
90 uint64_t& unlimited_axes) const;
91
102 std::string attributes(const char* path) const;
103
116 std::string attribute(const char* path, const char* name) const;
117
130 std::string strings(const char* path) const;
131
154 void read(const char* path, const uint64_t* start, const uint64_t* count,
155 const uint64_t* stride, void* values, size_t capacity, bool integer) const;
156
157private:
158 hid_t file_ = -1;
159};
160}
161#endif
Definition ExchangeLaw.hpp:60