TNB Library
クラス | 公開メンバ関数 | 全メンバ一覧
CSlideCompressor クラス

圧縮展開処理クラス [詳解]

#include <TnbSlideCompressor.h>

公開メンバ関数

 CSlideCompressor (void)
 コンストラクタ [詳解]
 
CByteVector Decode (const IConstCollectionT< BYTE > &in)
 [処理] 展開 [詳解]
 
bool Decode (ICollectionT< BYTE > &_out, const IConstCollectionT< BYTE > &in)
 [処理] 展開 [詳解]
 
CByteVector Encode (const IConstCollectionT< BYTE > &in, bool boIsPlain=false)
 [処理] 圧縮 [詳解]
 
bool Encode (ICollectionT< BYTE > &_out, const IConstCollectionT< BYTE > &in, bool boIsPlain=false)
 [処理] 圧縮 [詳解]
 
int GetSizeAfterDecoding (const IConstCollectionT< BYTE > &in)
 [取得] 展開サイズ [詳解]
 
 ~CSlideCompressor (void)
 デストラクタ [詳解]
 

詳解

圧縮展開処理クラス

BYTEの羅列を圧縮、展開するクラスです。
覚え書き
Encodeしたデータの塊を、クラッドと呼びます。
コレクション以外のメモリは、 CConstAdapterT を用いて代入が可能です。
使用例

    CByteVector vb;
    CSlideCompressor slide;
    vb = slide.Encode(CConstAdapterT(5, "12345"));          
    
必要ファイル
TnbSlideCompressor.h
日付
99/01/01 新規作成
06/07/20 クラス化
06/08/10 出力先も抽象化指定できるようにした。

TnbSlideCompressor.h47 行目に定義があります。

構築子と解体子

◆ CSlideCompressor()

CSlideCompressor ( void  )

コンストラクタ

TnbSlideCompressor.h569 行目に定義があります。

◆ ~CSlideCompressor()

~CSlideCompressor ( void  )

デストラクタ

TnbSlideCompressor.h575 行目に定義があります。

関数詳解

◆ Decode() [1/2]

CByteVector Decode ( const IConstCollectionT< BYTE > &  in)

[処理] 展開

引数
inEncode() で作成したクラッド。
戻り値
デコード結果。Invalid状態ならエラー。
例外
CTnbException指定コレクションの構造により、読込み処理でスローされる可能性があります。

TnbSlideCompressor.h637 行目に定義があります。

◆ Decode() [2/2]

bool Decode ( ICollectionT< BYTE > &  _out,
const IConstCollectionT< BYTE > &  in 
)

[処理] 展開

引数
[out]_outデコードデータ格納先。追加されますので、通常Emptyのコレクションを指定します。
[in]inEncode() で作成したクラッド。
戻り値
trueデコード成功。
false失敗。
例外
CTnbException指定コレクションの構造により、読込み処理でスローされる可能性があります。

TnbSlideCompressor.h626 行目に定義があります。

◆ Encode() [1/2]

CByteVector Encode ( const IConstCollectionT< BYTE > &  in,
bool  boIsPlain = false 
)

[処理] 圧縮

引数
in圧縮対象
boIsPlain省略すると、非圧縮/圧縮を自動判断します。
trueを指定すると、非圧縮クラッドが作成されます。
戻り値
クラッド(非圧縮/圧縮のいずれか)。Invalid状態ならエラー。
例外
CTnbException指定コレクションの構造により、読込み処理でスローされる可能性があります。

TnbSlideCompressor.h607 行目に定義があります。

◆ Encode() [2/2]

bool Encode ( ICollectionT< BYTE > &  _out,
const IConstCollectionT< BYTE > &  in,
bool  boIsPlain = false 
)

[処理] 圧縮

引数
[out]_outクラッド格納先。追加されますので、通常Emptyのコレクションを指定します。
[in]in圧縮対象
[in]boIsPlain省略すると、非圧縮/圧縮を自動判断します。
trueを指定すると、非圧縮クラッドが作成されます。
戻り値
trueエンコード成功。
false失敗。
例外
CTnbException指定コレクションの構造により、読込み処理でスローされる可能性があります。

TnbSlideCompressor.h594 行目に定義があります。

◆ GetSizeAfterDecoding()

int GetSizeAfterDecoding ( const IConstCollectionT< BYTE > &  in)

[取得] 展開サイズ

引数
inEncode() で作成したクラッド
戻り値
0以上展開後のサイズ
マイナスクラッドではない
例外
CTnbException指定コレクションの構造により、読込み処理でスローされる可能性があります。

TnbSlideCompressor.h663 行目に定義があります。