OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
WriteTask.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2//
3// Copyright 2026 Caleb Buahin
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16
37
38#ifndef OPENSWMM_ENGINE_WRITE_TASK_HPP
39#define OPENSWMM_ENGINE_WRITE_TASK_HPP
40
42
43namespace openswmm {
44
54struct WriteTask {
57
59 int sequence = 0;
60
61 WriteTask() = default;
62
63 explicit WriteTask(SimulationSnapshot snap, int seq = 0)
64 : snapshot(std::move(snap)), sequence(seq) {}
65
66 // Movable; not copyable (snapshots can be large)
67 WriteTask(WriteTask&&) noexcept = default;
68 WriteTask& operator=(WriteTask&&) noexcept = default;
69 WriteTask(const WriteTask&) = delete;
70 WriteTask& operator=(const WriteTask&) = delete;
71};
72
73} /* namespace openswmm */
74
75#endif /* OPENSWMM_ENGINE_WRITE_TASK_HPP */
Read-only snapshot of simulation state passed to plugins.
Definition NodeCoupling.cpp:16
Complete simulation state snapshot at one output time step.
Definition SimulationSnapshot.hpp:117
WriteTask(WriteTask &&) noexcept=default
WriteTask(SimulationSnapshot snap, int seq=0)
Definition WriteTask.hpp:63
SimulationSnapshot snapshot
The snapshot to be written (deep copy of relevant SoA slices).
Definition WriteTask.hpp:56
int sequence
Sequential task index (0-based). Useful for ordering assertions.
Definition WriteTask.hpp:59