OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
WriteTask.hpp
Go to the documentation of this file.
1
22#ifndef OPENSWMM_ENGINE_WRITE_TASK_HPP
23#define OPENSWMM_ENGINE_WRITE_TASK_HPP
24
25#include "../../../include/openswmm/plugin_sdk/SimulationSnapshot.hpp"
26
27namespace openswmm {
28
38struct WriteTask {
41
43 int sequence = 0;
44
45 WriteTask() = default;
46
47 explicit WriteTask(SimulationSnapshot snap, int seq = 0)
48 : snapshot(std::move(snap)), sequence(seq) {}
49
50 // Movable; not copyable (snapshots can be large)
51 WriteTask(WriteTask&&) noexcept = default;
52 WriteTask& operator=(WriteTask&&) noexcept = default;
53 WriteTask(const WriteTask&) = delete;
54 WriteTask& operator=(const WriteTask&) = delete;
55};
56
57} /* namespace openswmm */
58
59#endif /* OPENSWMM_ENGINE_WRITE_TASK_HPP */
Definition Controls.cpp:24
Complete simulation state snapshot at one output time step.
Definition SimulationSnapshot.hpp:90
One item in the IOThread write queue.
Definition WriteTask.hpp:38
WriteTask(WriteTask &&) noexcept=default
WriteTask(SimulationSnapshot snap, int seq=0)
Definition WriteTask.hpp:47
SimulationSnapshot snapshot
The snapshot to be written (deep copy of relevant SoA slices).
Definition WriteTask.hpp:40
int sequence
Sequential task index (0-based). Useful for ordering assertions.
Definition WriteTask.hpp:43