EHM DAL 0.2.5
Data abstraction layer for Eastside Hockey Manager
Loading...
Searching...
No Matches
fixed_size_container.h
1#pragma once
2
3// Application headers
4#include "include/container/container.h"
5
6namespace ehm_dal::container {
11template<typename T_DataType>
12class FixedSizeContainer : public Container<T_DataType, quint32>
13{
14public:
15 FixedSizeContainer(const quint32 size, const bool is_sortable = true);
16 virtual ~FixedSizeContainer() {}
17
18 // File i/o
19 void read(QDataStream &in, ehm_dal::database::DatabaseVersion &version) override;
20 void write(QDataStream &out, ehm_dal::database::DatabaseVersion &version) override;
21};
22
23/* ============================= */
24/* Fixed Size Container */
25/* ============================= */
26
27// --- Default constructor --- //
28template<typename T_DataType>
29inline FixedSizeContainer<T_DataType>::FixedSizeContainer(const quint32 size, const bool is_sortable)
30 : Container<T_DataType, quint32>(size, is_sortable)
31{}
32
33/* ================= */
34/* File I/O */
35/* ================= */
36
37template<typename T_DataType>
38void FixedSizeContainer<T_DataType>::read(QDataStream &in, database::DatabaseVersion &version)
39{
40 this->readInto(in, version);
41}
42
43template<typename T_DataType>
44void FixedSizeContainer<T_DataType>::write(QDataStream &out, database::DatabaseVersion &version)
45{
46 Container<T_DataType, quint32>::write(out, version, this->size());
47}
48} // namespace ehm_dal::container
The Container class is a representation of vector in the EHM database which is written to the databas...
Definition: container.h:20
The FixedSizeContainer class is a Container class of a fixed size (i.e. it can never shrink or grow i...
Definition: fixed_size_container.h:13
The DatabaseVersion class represents the database version number.
Definition: database_version.h:12