ぐはぁ

気づいたらid:odzさんからTBもらってたよ!
しかも、Suffix ArrayをHDD上のファイルに適用する段階でstringやめてiterator使おうと思ってたのに、id:odzさんにサクっと作られちゃったよ!
真のSTLプログラマは、まず普通のコード書いてからそれをtemplateにするんじゃなくて、最初からtemplate書けるんだなぁ。尊敬する。template系のコンパイルエラーもすらすら読めるのか、そもそも最初からコンパイルエラー出さないのか・・・。

std::lexicographical_compare って案外マイナーかもしれない。

Effective STL読み直したら、ちゃんと解説されてました。「STLで2番目に長い名前のアルゴリズム」って。Effective STLを100回読み直して出直します。
あぁ、つづりを覚えられる気がしない・・・。やっぱVisual C++のintellisense必要かなぁ。

あと、しょうもない感想としては、id:odzさんもやっぱりclassよりstruct使うのね。
class宣言の前半にpublicなメンバを書くスタイルの僕としては、メンバの9割がprivateだとしてもデフォルトはpublicであって欲しいので、滅多にclassは使わない。

Boost には transform_iterator というのがあるので、それを使うという手もあり。

これが欲しかったんだよ!やっぱり本気でSTLを使うにはboostは必須だね。
でも、せっかく自分でiterator作りかけたんで、iteratorの要件を理解するために一回はboost使わずにiterator作ってみます。

このブログに乗せているコードは引用を除き CC0 1.0 で提供します。