6#include "libxr_def.hpp"
32 RawData(
void *addr,
size_t size);
50 template <
typename DataType>
52 :
addr_(const_cast<DataType *>(&data)),
size_(sizeof(DataType))
98 explicit RawData(
const std::string &data);
155 template <
typename DataType>
157 :
addr_(reinterpret_cast<const DataType *>(&data)),
size_(sizeof(DataType))
211 :
addr_(reinterpret_cast<const void *>(data)),
size_(N - 1)
238 using ID =
const void *;
245 template <
typename T>
常量原始数据封装类。 A class for encapsulating constant raw data.
ConstRawData(const char(&data)[N])
从字符数组构造 ConstRawData,数据大小为数组长度减 1(不含 \0)。 Constructs ConstRawData from a character array,...
ConstRawData()
默认构造函数,初始化为空数据。 Default constructor initializing to empty data.
ConstRawData & operator=(const ConstRawData &data)=default
赋值运算符重载。 Overloaded assignment operator.
size_t size_
数据大小(字节)。 The size of the data (in bytes).
ConstRawData(const ConstRawData &data)=default
拷贝构造函数。 Copy constructor.
const void * addr_
数据存储地址(常量)。 The storage address of the data (constant).
ConstRawData(const DataType &data)
使用任意数据类型构造 ConstRawData,数据地址指向该对象,大小为该类型的字节大小。 Constructs ConstRawData using any data type,...
原始数据封装类。 A class for encapsulating raw data.
RawData & operator=(const RawData &data)=default
赋值运算符重载。 Overloaded assignment operator.
RawData()
默认构造函数,初始化为空数据。 Default constructor initializing to empty data.
RawData(const std::string &data)
从 std::string 构造 RawData,数据地址指向字符串内容,大小为字符串长度。 Constructs RawData from std::string,...
size_t size_
数据大小(字节)。 The size of the data (in bytes).
void * addr_
数据存储地址。 The storage address of the data.
RawData(const DataType &data)
使用任意数据类型构造 RawData,数据地址指向该对象,大小为该类型的字节大小。 Constructs RawData using any data type, pointing to the obj...
RawData(const RawData &data)=default
拷贝构造函数。 Copy constructor.
RawData(const char(&data)[N])
从字符数组构造 RawData,数据大小为数组长度减 1(不含 \0)。 Constructs RawData from a character array, with size set to arra...
static ID GetID()
获取类型的唯一标识符