[4459]
Re:cmemory修正アップ
ラスティブ
cmemory 修正アップです。
ブリーフケース/Developer/Source/sdiff_2006-04-20_CMemoryFixed_0.13_b.zip
readme.txt から転載します。
◆ 前回からの変更(大まかに)
・sdiff_2006-04-20_CMemoryFixed_0.71_b_TrialVer.diff(sdiff_2006-04-20_CMemoryFixed_0.7.1_b_TrialVerの間違い) の修正分.
・【バグ】CMemory.cpp 修正箇所内で,void CMemory::Append() が直前に確保したメモリ領域を有効に使わない動作になっていた問題を修正.
・CMem クラスへの関数追加.(CalcObjectSize, IsCapableSize, SetObjectSize, SetContainerSize.)
・前回作成した void CMemory::AppendBlock(const char*, size_t) インターフェースを void CMemory::Append(const char*, size_t) に統合.
・ChartypeConverter.cpp に CMemory::ToLower, CMemory::ToUpper, CMemory::ToZenkaku, CMemory::ToHankaku の中身を移植.
・英大文字←→英小文字 のインターフェース名を,ロシア語,ギリシャ文字も変換するのってことで,大文字←→小文字に変更.
◆これまでのまとめ
・改善:VC6 で,new が失敗したら bad_alloc() を飛ばすように.
・新機能:EUC-JP, UTF-8, Unicode, UnicodeBe を内部コード(今のところSJIS)へ変換できなかった場合に報告するように.
・改善:CMemory::Append() を大規模データに対してもある程度対応できる仕様に.
・改善か改悪か分からない変更:機能をより明確に表現するために,EUC を EUCJP に名称変更.
・改善か改悪か分からない変更:機能をより明確に表現するために,英大文字←→英小文字 を 大文字←→小文字 に名称変更.
当初の目的はこれでほぼ達成できた感じですので、
CMemoryFixed_0.13_b をもって個人的にバージョン 1.0 とさせて下さい。
(既存の SJIS 専用関数を Unicode に対応させる抽象化作業が残ってる…、けど構想練るにまだかかりそうで。)
仕様的にベータ版ですが、以上です。