6 #ifndef CHARLS_LOOKUPTABLE
7 #define CHARLS_LOOKUPTABLE
17 Code(LONG value, LONG length) :
25 LONG GetLength()
const
42 ::memset(rgtype, 0,
sizeof(rgtype));
45 void AddEntry(BYTE bvalue,
Code c);
47 inlinehint
const Code& Get(LONG value)
48 {
return rgtype[value]; }
50 Code rgtype[1 << cbit];
57 void CTable::AddEntry(BYTE bvalue,
Code c)
59 LONG length = c.GetLength();
60 ASSERT(length <= cbit);
62 for (LONG i = 0; i < LONG(1) << (cbit - length); ++i)
64 ASSERT(rgtype[(bvalue << (cbit - length)) + i].GetLength() == 0);
65 rgtype[(bvalue << (cbit - length)) + i] = c;