00001 #pragma once
00002
00003 #include <vector>
00004
00005 #include "HLabConst.h"
00006
00007 #ifdef WIN32
00008 #if defined _USRDLL
00009 #define DllExport _declspec(dllexport)
00010 #else
00011 #define DllExport _declspec(dllimport)
00012 #endif
00013 #else
00014 #define DllExport
00015 #endif
00016
00017
00019
00034 class DllExport CHLabBPTableNode
00035 {
00036
00037 public:
00038 int m_iWordID;
00039 int m_iFrameIndex;
00040 double m_dPathScore;
00041 int m_iPredNodeID;
00042
00043
00044 CHLabBPTableNode(void);
00045 ~CHLabBPTableNode(void);
00046 };
00047
00048
00049 class DllExport CHLabBPTable
00050 {
00051 public:
00052 std::vector<CHLabBPTableNode> m_vecBPNode;
00053 std::vector<int> m_vecBacktrackResult;
00054 public:
00055 CHLabBPTable(void);
00056 ~CHLabBPTable(void);
00057
00058 inline int GetNumBPNode()
00059 {
00060 return m_vecBPNode.size();
00061 }
00062
00063 inline int push_back(CHLabBPTableNode tableNode)
00064 {
00065 m_vecBPNode.push_back(tableNode);
00066
00067 return (0);
00068 }
00069
00070 std::vector<int> BackTracking(int iIndex);
00071 int BackTrackingPhoneNumber(int iIndex);
00072 };