You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
852 B
C++

#pragma once
#include <string>
#include "data/Data.h"
/*
* 无数据数据类型
*
*
*/
class StringData : public Data
{
public:
StringData();
StringData(std::string &data);
virtual ~StringData() {};
Data* clone() override;
void copy(Data* data) override;
void copy(Data& data) override;
int length() override { return m_data.length(); };
// 转换为字符串格式
virtual std::string toStr() override;
// 转换为Byte字符串
virtual std::string toByteStr() override;
// 转换为十六进制字符串
virtual std::string toHexStr() override;
// 根据Byte字符串解析数据
virtual bool fromByteStr(std::string str = "") override;
std::string& getData() { return m_data; }
void setData(std::string& data) { m_data = data; }
private:
std::string m_data;
};