wiRedPanda
Logic Circuit Simulator
Loading...
Searching...
No Matches
Serializer.h
Go to the documentation of this file.
1// Copyright 2015 - 2026, GIBIS-UNIFESP and the wiRedPanda contributors
2// SPDX-License-Identifier: GPL-3.0-or-later
3
7
8#pragma once
9
10#include <QVector>
11
12class QDataStream;
13class QFile;
14class QSaveFile;
15class QStandardItemModel;
16
24namespace DolphinSerializer {
25
34 int inputPorts = 0;
35 int columns = 0;
37 QVector<int> values;
38};
39
46void saveBinary(QDataStream &stream, const QStandardItemModel *model, int inputPorts);
47
55WaveformData loadBinary(QDataStream &stream, int maxInputPorts);
56
62void saveCSV(QSaveFile &file, const QStandardItemModel *model);
63
71WaveformData loadCSV(QFile &file, int maxInputPorts);
72
73} // namespace DolphinSerializer
Pure I/O functions for the beWavedDolphin waveform file formats.
void saveBinary(QDataStream &stream, const QStandardItemModel *model, const int inputPorts)
Serializes input rows to the binary .dolphin stream.
void saveCSV(QSaveFile &file, const QStandardItemModel *model)
Serializes all rows (inputs + outputs) to a .csv file.
WaveformData loadCSV(QFile &file, const int maxInputPorts)
Deserializes input rows from a .csv file.
WaveformData loadBinary(QDataStream &stream, const int maxInputPorts)
Deserializes input rows from a binary .dolphin stream.
Raw waveform data returned by the load functions.
Definition Serializer.h:33
int inputPorts
Number of input rows stored in values.
Definition Serializer.h:34
QVector< int > values
Cell values in row-major order (inputs only): index = row * columns + col.
Definition Serializer.h:37