sixteen ways to stack a cat

上の言葉,AT&Tの,名前の読み方が良く分からないある禿げたおっちゃんの言葉ですが,この言葉,意訳すると「文字列クラスの実装には多くのものが考えられる」という意味になります.どこをどう訳したらそういう意味になるのかは置いておいて,文字列クラスという一見何の変哲もないクラスには,さまざまな実装のバリエーションが考えられます.自分が挙げられるだけでも,内部文字列を参照回数計数するか否か,短文字列最適化するか否か,内部バッファの配置の仕方と,これらの組み合わせだけですでに16通りは軽く超えそうな気がします.
この話は"Effective STL"の第15項にも取り上げられているくらいですが,自分が不思議に思うのは,こういうのをpolicy-basedでやろうという話を聞いたことがないことです.多分,自分が寡聞なだけで,絶対どこぞでそういう話が持ち上がっているに違いないと思っているのですが,どうなんでしょうか?
また,文字列のconcatenationなんかはETによる最適化の絶好のカモなんじゃないかと思うので,そういうのも含めてどっかで議論されていると思っているんですが・・・.
まぁ,そこまでこだわるのならcharのコンテナ使えって話なんでしょうけれど,そうなるとchar_traitsが使えなくなりますし・・・.
・・・と,適当な話題を振っておいて時間がないのをごまかしてみるテスト.