"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSCompressionLib/Src/LZW/LSCLzwEncoder.h

00001 
00016 #ifndef __LSC_LZWENCODER_H__
00017 #define __LSC_LZWENCODER_H__
00018 
00019 #include "../LSCCompressionLib.h"
00020 #include "../BitStream/LSCBitStream.h"
00021 #include "LSCLzwEncodingDict.h"
00022 
00023 namespace lsc {
00024 
00031         class CLzwEncoder {
00032         public :
00033                 // == Various constructors.
00034                 LSE_CALLCTOR                                                    CLzwEncoder();
00035 
00036 
00037                 // == Functions.
00043                 LSVOID LSE_CALL                                                 SetAllocator( CStdAllocator * _psaAllocator );
00044 
00065                 LSUINT32 LSE_CALL                                               Encode( const LSUINT8 * _pui8Bytes, LSUINT64 _ui64Size,
00066                         LSUINT32 _ui32DictionaryStartingSize, LSUINT32 _ui32MaxBits,
00067                         CBitStream &_bsStream, LSBOOL _bResetDictionary = false, LSUINT32 _ui32PrevBits = 0UL, LSUINT32 _ui32MaxSize = ~0UL );
00068 
00076                 LSBOOL LSE_CALL                                                 EndStream( CBitStream &_bsStream ) const;
00077 
00078 
00079         protected :
00080                 // == Members.
00084                 CLzwEncodingDict                                                m_ledDict;
00085         };
00086 
00087 
00088         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00089         // DEFINITIONS
00090         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00091         
00092 
00093 }       // namespace lsc
00094 
00095 #endif  // __LSC_LZWENCODER_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator