====== CompressEncoder ====== LZ法(詳しいことはいまいちわかりませんが)で圧縮してくれるStreamらしいです。 基本的にはCompressDecoderとセットで使います(性質上、セーブ・ロードなどというコード的にも時間的にも離れている部分かもしれませんが)。 ===== Example ===== コンストラクタに別のStreamを指定して生成します。Encoderにデータを流し込むとそのStreamに圧縮した内容が書き込まれる、という使い方をします。 src : FileStream("foo.png", "r"); tmp : FileStream("tmp.z", "w"); enc : CompressEncoder(tmp); enc.pour_all(src); src.close(); tmp.close(); dst : FileStream("bar.png", "w"); tmp = FileStream("tmp.z", "r"); dec : CompressDecoder(tmp); dst.pour_all(dec); dst.close(); tmp.close(); tmp.zというファイルを介してEncoder/Decoderで圧縮・展開するプログラムを書いてみました。\\ pngだとむしろサイズが大きくなってしまいましたが、生のバイナリデータやテキストデータではそれなりにサイズが小さくなりました。 ===== Methods ===== |(constructor)| インスタンス生成| |(destructor)| インスタンス破棄| |close| ストリームを閉じる| |write| ストリームに書き込む| ===== Methods inherited from Stream =====