データ構造
- 1次元文字データを gap_vector<wchar_t> 等で管理
- 文字位置はバッファ先頭からのインデックスで示す
- gap_vector を使ったとしても、サイズが大きいとデータ移動に処理時間をとられる
- スクロールバーでの上下スクロール処理を高速に行うには、行番号→文字位置変換を高速に行う必要がある
- 各行の文字位置をテーブルで保持しておけば、高速に処理できるが、編集時に更新処理コストが発生する
- 極端に長い行が無いという条件であれば、行単位に管理する方法が優れる
- 行ごとに文字データ用メモリを確保する
- 行情報をコンテナクラスで管理する