00001 #pragma once
00002
00003 #include <iostream>
00004 #include <vector>
00005 #include <map>
00006 #include <string>
00007
00008 using namespace std;
00009
00010 #ifdef WIN32
00011 #if defined _USRDLL
00012 #define DllExport _declspec(dllexport)
00013 #else
00014 #define DllExport _declspec(dllimport)
00015 #endif
00016 #else
00017 #define DllExport
00018 #endif
00019
00020 #include "HLabConst.h"
00021 #include "HLabPhoneList.h"
00022
00023
00024
00025
00026 class DllExport CHLabDict
00027 {
00028 int m_iNumDicWords;
00029
00030
00031
00032
00033 std::map< std::string, vector<int> > m_mapDicWords;
00034 CHLabPhoneList* m_pPhoneList;
00035
00036 public:
00037 CHLabDict(void);
00038 ~CHLabDict(void);
00039
00040 int SetPhoneList(CHLabPhoneList* pPhoneList);
00041 int ReadDictFile(const char* szFileName);
00042 int ListDicWords(void);
00043 std::vector<int> GetDictWords(const char* szWord);
00044
00045
00046 std::string GetDictSymbol(int iID);
00047
00048 inline int GetNumDictWords(void)
00049 {
00050 return m_iNumDicWords;
00051 }
00052
00053 inline std::map< std::string, vector<int> >& GetMapDicWords(void)
00054 {
00055 return m_mapDicWords;
00056 }
00057
00058
00059
00060
00061 };