56#ifndef INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_EXPLODE_HXX
57#define INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_EXPLODE_HXX
66 std::unique_ptr<HuffmanTreeNode>
left;
67 std::unique_ptr<HuffmanTreeNode>
right;
93 sal_uInt32
ReadBits(sal_uInt16 iCount, sal_uInt32& nBits);
121 static void ToString(sal_uInt32 nBits,
char* pChar, sal_uInt32 nLen);
sal_uInt32 Decode(HuffmanTreeNode *pRoot)
@descr decode tree 1 for length
void ConstructTree2()
@descr construct tree 2 for distance
sal_uInt32 m_iArrayOfM[16]
void ConstructTree1()
@descr construct tree 1 for length
sal_uInt32 m_nCurrent4Byte
sal_uInt8 m_Output[MAXWIN]
sal_uInt32 m_nOutputBufferPos
std::unique_ptr< HuffmanTreeNode > m_Tree1
sal_uInt32 ReadBits(sal_uInt16 iCount, sal_uInt32 &nBits)
@descr read specified bits from input stream @argument iCount - number of bits to be read,...
SvStream * m_pInStream
compressed/decompressed stream
static void ToString(sal_uInt32 nBits, char *pChar, sal_uInt32 nLen)
@descr bits to string
sal_uInt8 m_Buffer[CHUNK]
Decompression(SvStream *pInStream, SvStream *pOutStream)
std::unique_ptr< HuffmanTreeNode > m_Tree2
sal_Int32 explode()
decompress from instream to outstream
sal_uInt32 QueryValue(const char *pCode)
HuffmanTreeNode(sal_uInt32 value=0xffffffff)
HuffmanTreeNode * InsertNode(sal_uInt32 nValue, const char *pInCode)
HuffmanTreeNode * QueryNode(const char *pCode)
std::unique_ptr< HuffmanTreeNode > left
std::unique_ptr< HuffmanTreeNode > right
#define CHUNK
define the function type for input read, output write