tagging release
[dasher.git] / trunk / Src / DasherCore / SCENode.h
blob658a20a3bacfe7cd052c63740893bead5ad0e366
1 #ifndef __SCENODE_H__
2 #define __SCENODE_H__
4 /*Common Node Definition for Chinese Pinyin (possibly also Japanese)
5 Conversion Library and Dasher ConversionManager*/
8 /// \ingroup Model
9 /// \{
10 class SCENode {
11 public:
12 SCENode();
14 ~SCENode();
16 void Ref() {
17 ++m_iRefCount;
20 void Unref() {
21 --m_iRefCount;
23 if(m_iRefCount == 0) {
24 delete this;
28 SCENode *GetNext() {
29 return m_pNext;
32 void SetNext(SCENode *pNext);
34 SCENode *GetChild() {
35 return m_pChild;
38 void SetChild(SCENode *pChild);
40 char *pszConversion;
42 int IsHeadAndCandNum;
43 int CandIndex;
44 int Symbol;
45 unsigned int SumPYProbStore;
47 int IsComplete;
48 int AcCharCount; /*accumulative character count*/
50 int NodeSize;
52 unsigned int HZFreq;
53 float HZProb;
54 private:
55 int m_iRefCount;
57 SCENode *m_pNext;
58 SCENode *m_pChild;
60 /// \}
62 #endif