Files
envi-code/SourceCode/Code2026/tg_shs/inc/subgeo/TWDictItem.h
T
2026-09-28 15:28:50 +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