NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
binary_serializer.hpp
浏览该文件的文档.
1#ifndef NEFORCE_CORE_SERIALIZE_BINARY_SERIALIZER_HPP__
2#define NEFORCE_CORE_SERIALIZE_BINARY_SERIALIZER_HPP__
3
20
23NEFORCE_BEGIN_NAMESPACE__
24NEFORCE_BEGIN_SERIALIZE__
25
30
38class NEFORCE_API binary_serializer {
39public:
41
45 static constexpr uint32_t MAGIC = 0x4E454246;
46
50 static constexpr uint16_t VERSION = 1;
51
58 static buffer serialize(const reflect::meta_any& obj, const serialize_context& ctx = {});
59
67};
68 // Serializer
70
71NEFORCE_END_SERIALIZE__
72NEFORCE_END_NAMESPACE__
73#endif // NEFORCE_CORE_SERIALIZE_BINARY_SERIALIZER_HPP__
static reflect::meta_any deserialize(const byte_t *data, size_t size)
从二进制数据反序列化对象
static constexpr uint32_t MAGIC
二进制格式魔数 "NEBF"
static constexpr uint16_t VERSION
当前格式版本
vector< byte_t > buffer
二进制缓冲区类型
static buffer serialize(const reflect::meta_any &obj, const serialize_context &ctx={})
将反射对象序列化为二进制
动态大小数组容器
unsigned char byte_t
字节类型,定义为无符号字符
unsigned int uint32_t
32位无符号整数类型
unsigned short uint16_t
16位无符号整数类型
constexpr decltype(auto) size(const Container &cont) noexcept(noexcept(cont.size()))
获取容器的大小
constexpr decltype(auto) data(Container &cont) noexcept(noexcept(cont.data()))
获取容器的底层数据指针
序列化器公共基础设施
动态大小数组容器