00001 #pragma once
00002
00003 #include <iostream>
00004 #include <map>
00005 #include <string>
00006
00007 #include "HLabConst.h"
00008 #include "HLabPhoneList.h"
00009 #include "HLabDict.h"
00010
00026 #ifdef WIN32
00027 #if defined _USRDLL
00028 #define DllExport _declspec(dllexport)
00029 #else
00030 #define DllExport _declspec(dllimport)
00031 #endif
00032 #else
00033 #define DllExport
00034 #endif
00035
00036
00037 class DllExport CHLabTranscription
00038 {
00039 CHLabPhoneList* m_pPhoneList;
00040 CHLabDict* m_pDict;
00041 int m_iLen;
00042 FILE* m_pTransFile;
00043
00044
00045 std::vector<vector<int> > m_vecTranscription;
00046 std::vector<int> m_vecTranscriptionLine;
00047
00048 public:
00049 CHLabTranscription(void);
00050
00051 int Init(const char* pszTransFileName);
00052
00053 int SetPhoneList(CHLabPhoneList* pPhoneList);
00054 int SetDictList(CHLabDict* pDict);
00055 int ReadTranscriptionFile(const char* pszFileName);
00056 std::vector<int> ReadTranscriptionFileLine(void);
00057 int ListTranscription(void);
00058
00059 virtual ~CHLabTranscription(void);
00060 };