mirror of
https://github.com/AxioDL/LibCommon.git
synced 2026-03-30 11:47:23 -07:00
28bb335317
Avoids dumping extremely common names into the global namespace.
34 lines
830 B
C++
34 lines
830 B
C++
#ifndef AXIO_CSERIALVERSION_H
|
|
#define AXIO_CSERIALVERSION_H
|
|
|
|
#include "Common/EGame.h"
|
|
|
|
#include <cstdint>
|
|
|
|
class IInputStream;
|
|
class IOutputStream;
|
|
|
|
class CSerialVersion
|
|
{
|
|
uint16_t mArchiveVersion = 0;
|
|
uint16_t mFileVersion = 0;
|
|
EGame mGame{};
|
|
|
|
public:
|
|
constexpr CSerialVersion() = default;
|
|
explicit constexpr CSerialVersion(uint16_t ArchiveVer, uint16_t FileVer, EGame Game)
|
|
: mArchiveVersion{ArchiveVer}, mFileVersion{FileVer}, mGame{Game} {}
|
|
|
|
explicit CSerialVersion(IInputStream& rInput);
|
|
|
|
void Read(IInputStream& rInput);
|
|
void Write(IOutputStream& rOutput) const;
|
|
|
|
uint16_t ArchiveVersion() const { return mArchiveVersion; }
|
|
uint16_t FileVersion() const { return mFileVersion; }
|
|
EGame Game() const { return mGame; }
|
|
};
|
|
|
|
#endif // AXIO_CSERIALVERSION_H
|
|
|