データ構造とアルゴリズムは完成して,実装もほぼ完了しました.残るはマルチバイト文字を扱う場合に文字境界をどうするか,インタフェースをどうするかという状態です.
UTF-8 なら文字境界を気にしないで使えるけど,「EUC や SJIS なんて知りません」では使いにくくなるので,関数オブジェクトでも使って,次の文字までの移動方法をユーザが定義できるようにしましょうか.
- EUC の失敗例
- 入力 "(社)"
- 出力 "(", "(社)", "兵", "社", ")"
- 入力に含まれているキーを取り出してみると,なんか変なの "兵" が混じります.