-
Notifications
You must be signed in to change notification settings - Fork 1
/
EditData.hpp
29 lines (22 loc) · 960 Bytes
/
EditData.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma once
#include "FusionAPI.hpp"
#include "Settings.hpp"
struct SerializedEditData final
{
static constexpr std::int16_t const INIPP_V1_ANSI{1}; //Jax's original ANSI version
static constexpr std::int16_t const INIPP_V2_UNICODE{2}; //Unicode rewrite
static constexpr std::int16_t const CURRENT_VERSION{INIPP_V2_UNICODE};
extHeader eHeader;
std::byte raw[sizeof(std::uint32_t)];
#ifndef FUSION_RUNTIME_ONLY
static void serialize(mv* const, SerializedEditData*&, EdittimeSettings const&);
#endif
auto deserialize(std::optional<std::uint32_t> codepage) const -> EdittimeSettings;
SerializedEditData() = delete;
SerializedEditData(SerializedEditData const&) = delete;
SerializedEditData(SerializedEditData&&) = delete;
SerializedEditData &operator=(SerializedEditData&&) = delete;
SerializedEditData &operator=(SerializedEditData const&) = delete;
~SerializedEditData() = delete;
};
static_assert(fusion::is_valid_editdata_structure());