MQEngine
载入中...
搜索中...
未找到
EnttArchiveWrapper.h
浏览该文件的文档.
1
2#ifndef MQENINE_ENTT_ARCHIVE_WRAPPER_H
3#define MQENINE_ENTT_ARCHIVE_WRAPPER_H
4#include "../Thirdparty/thirdparty.h"
5
6namespace MQEngine {
7
9 private:
10 boost::archive::binary_oarchive& m_archive;
11
12 public:
13 explicit EnttOutputArchiveWrapper(boost::archive::binary_oarchive& archive)
14 : m_archive(archive) {}
15
16 void operator()(std::underlying_type_t<entt::entity> size) {
17 m_archive << size;
18 }
19
20 void operator()(entt::entity entity) {
21 std::underlying_type_t<entt::entity> underlying_value = static_cast<std::underlying_type_t<entt::entity>>(entity);
22 m_archive << underlying_value;
23 }
24
25 template<typename T>
26 void operator()(const T& component) {
27 m_archive << component;
28 }
29 };
30
32 private:
33 boost::archive::binary_iarchive& m_archive;
34
35 public:
36 explicit EnttInputArchiveWrapper(boost::archive::binary_iarchive& archive)
37 : m_archive(archive) {}
38
39 void operator()(std::underlying_type_t<entt::entity>& size) {
40 m_archive >> size;
41 }
42
43 void operator()(entt::entity& entity) {
44 std::underlying_type_t<entt::entity> underlying_value;
45 m_archive >> underlying_value;
46 entity = static_cast<entt::entity>(underlying_value);
47 }
48
49 template<typename T>
50 void operator()(T& component) {
51 m_archive >> component;
52 }
53 };
54}
55#endif //
boost::archive::binary_iarchive & m_archive
定义 EnttArchiveWrapper.h:33
void operator()(T &component)
定义 EnttArchiveWrapper.h:50
void operator()(entt::entity &entity)
定义 EnttArchiveWrapper.h:43
EnttInputArchiveWrapper(boost::archive::binary_iarchive &archive)
定义 EnttArchiveWrapper.h:36
void operator()(std::underlying_type_t< entt::entity > &size)
定义 EnttArchiveWrapper.h:39
void operator()(std::underlying_type_t< entt::entity > size)
定义 EnttArchiveWrapper.h:16
void operator()(const T &component)
定义 EnttArchiveWrapper.h:26
boost::archive::binary_oarchive & m_archive
定义 EnttArchiveWrapper.h:10
void operator()(entt::entity entity)
定义 EnttArchiveWrapper.h:20
EnttOutputArchiveWrapper(boost::archive::binary_oarchive &archive)
定义 EnttArchiveWrapper.h:13
定义 application.h:5