Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

82 lines
2.3 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TWDictItem 类
// = Version : ver2.0
// = Author : wlw
// = CreateDate : 2002-09-09
// = Description: 字典项TWDictItem 声明
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _TWDICTITEM_H_
#define _TWDICTITEM_H_
#define RAPIDJSON_HAS_STDSTRING 1
#include "../../../dep_inc/rapidjson/document.h"
#include "../../../dep_inc/rapidjson/encodings.h"
#include "../../../dep_inc/rapidjson/stringbuffer.h"
#include "../../../dep_inc/rapidjson/filereadstream.h"
#include "../../../dep_inc/rapidjson/filewritestream.h"
#include "../../../dep_inc/rapidjson/encodedstream.h"
#include "../../../dep_inc/rapidjson/prettywriter.h"
using namespace rapidjson;
typedef GenericDocument<UTF16<> > WDocument;
typedef GenericValue<UTF16<> > WValue;
typedef const GenericValue<UTF16<> > WCValue;
typedef GenericArray<false, WValue> Arr;
typedef GenericArray<true, WValue> CArr;
typedef WValue::ConstMemberIterator MCIt;
typedef WValue::MemberIterator MIt;
typedef WValue::ConstValueIterator VCIt;
typedef WValue::ValueIterator VIt;
typedef GenericStringBuffer<UTF16<> > WStringBuffer;
typedef PrettyWriter<WStringBuffer, UTF16<>> WPrettyWriter;
typedef Writer<WStringBuffer, UTF16<>> WWriter;
extern WDocument::AllocatorType& getJsonAllocator();
//字典项
class GEOAPI TWDictItem
{
public:
TWDictItem(const TCHAR* sName = NULL, const TCHAR* sDesc = NULL);
virtual ~TWDictItem();
virtual int GetType() const;
virtual void operator >> (CArchive &ar);
virtual void operator << (CArchive &ar);
virtual void CopyData(const TWDictItem &src);
bool IsDict() const;
bool IsValid();
bool operator == (const TWDictItem &item) const;
bool operator != (const TWDictItem &item) const;
bool operator > (const TWDictItem &item) const;
bool operator < (const TWDictItem &item) const;
virtual void saveToJson(WValue &v);
virtual void loadByJson(const WValue &v);
static bool json2File(LPCTSTR path, const WValue &v, bool pretty);
static bool file2Json(LPCTSTR pszJson, WDocument &doc);
public:
//名称不能为空,区分大小写!
CString m_sName;
//项描述
CString m_sDesc;
};
#endif