//<Part.三> 原子数据、JSON对象与字符串之间的互转处理。
//指定数据类型进行默认值的初始化
void dataInitValue(short& data);
void dataInitValue(unsigned short& data);
void dataInitValue(int& data);
void dataInitValue(unsigned int& data);
void dataInitValue(long& data);
void dataInitValue(unsigned long& data);
void dataInitValue(long long& data);
void dataInitValue(unsigned long long& data);
void dataInitValue(float& data);
void dataInitValue(double& data);
void dataInitValue(long double& data);
void dataInitValue(string& data);
void dataInitValue(char& data);
void dataInitValue(unsigned char& data);
void dataInitValue(signed char& data);
void dataInitValue(bool& data);
void dataInitValue(jsonObjectBaseClass& data);
//克隆原子数据
short* cloneObject(const short* data);
unsigned short* cloneObject(const unsigned short* data);
int* cloneObject(const int* data);
unsigned int* cloneObject(const unsigned int* data);
long* cloneObject(const long* data);
unsigned long* cloneObject(const unsigned long* data);
long long* cloneObject(const long long* data);
unsigned long long* cloneObject(const unsigned long long* data);
float* cloneObject(const float* data);
double* cloneObject(const double* data);
long double* cloneObject(const long double* data);
string* cloneObject(const string* data);
char* cloneObject(const char* data);
unsigned char* cloneObject(const unsigned char* data);
signed char* cloneObject(const signed char* data);
bool* cloneObject(const bool* data);
//克隆JSON对象的方法见前述。
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//格式化方法集,将指定数据类型进行JSON字符串转换
void data2String(string& s, const short& data);
void data2String(string& s, const unsigned short& data);
void data2String(string& s, const int& data);
void data2String(string& s, const unsigned int& data);
void data2String(string& s, const long& data);
void data2String(string& s, const unsigned long& data);
void data2String(string& s, const long long& data);
void data2String(string& s, const unsigned long long& data);
void data2String(string& s, const float& data);
void data2String(string& s, const double& data);
void data2String(string& s, const long double& data);
void data2String(string& s, const string& data);
void data2String(string& s, const char& data);
void data2String(string& s, const unsigned char& data);
void data2String(string& s, const signed char& data);
void data2String(string& s, const bool& data);
void data2String(string& s, const jsonObjectBaseClass& data);
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//将JSON字符串转为数据类型的指针
void string2DataPtr(short*& data, jsonStringParser & kvp);
void string2DataPtr(unsigned short*& data, jsonStringParser & kvp);
void string2DataPtr(int*& data, jsonStringParser & kvp);
void string2DataPtr(unsigned int*& data, jsonStringParser & kvp);
void string2DataPtr(long*& data, jsonStringParser & kvp);
void string2DataPtr(unsigned long*& data, jsonStringParser & kvp);
void string2DataPtr(long long*& data, jsonStringParser & kvp);
void string2DataPtr(unsigned long long*& data, jsonStringParser & kvp);
void string2DataPtr(float*& data, jsonStringParser & kvp);
void string2DataPtr(double*& data, jsonStringParser & kvp);
void string2DataPtr(long double*& data, jsonStringParser & kvp);
void string2DataPtr(string*& data, jsonStringParser & kvp);
void string2DataPtr(char*& data, jsonStringParser & kvp);
void string2DataPtr(unsigned char*& data, jsonStringParser & kvp);
void string2DataPtr(signed char*& data, jsonStringParser & kvp);
void string2DataPtr(bool*& data, jsonStringParser & kvp);
//字符串转JSON对象--只为编译,jsonStringParser在解析时用不上
template<class T>
void string2DataPtr(T*& data, jsonStringParser & kvp) {
assert(false);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//将json字符中转为数据类型数组指针
void string2DataArrayPtr(vector<short*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<unsigned short*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<int*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<unsigned int*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<long*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<unsigned long*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<long long*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<unsigned long long*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<float*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<double*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<long double*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<string*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<char*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<unsigned char*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<signed char*>& data, jsonStringParser & kvp);
void string2DataArrayPtr(vector<bool*>& data, jsonStringParser & kvp);
//字符串转JSON对象数组--只为编译,jsonStringParser在解析时用不上
template<class T>
void string2DataArrayPtr(vector<T*>& data, jsonStringParser & kvp) {
assert(false);
}
//一个简单的计时器
class timeCost {
private:
unsigned long time;
const char* tips;
public:
timeCost(const char * tips) {
this->tips = tips;
time = GetTickCount();
}
~timeCost() {
LOG4J_INFO("%s Cost %d ms", tips, GetTickCount() - time);
}
};
greenJson_C++_Lib 之三:定义数据转换辅助
猜你喜欢
转载自blog.csdn.net/u011697262/article/details/103940762
今日推荐
周排行