The Germ of Modern C++ GP Idioms Found in STL

http://www.boost.org/more/generic_programming.html
ここなんか見てると,今Boostで大々的に利用されているものってSTL(本当はSLというべきですかw)でも使われていたものなんだっていうのが良く分かりますね.STLもGPを基調としているんだから当たり前つったら当たり前なんですがw.Policyに代表されるようなC++のModernなGPのidiomもSTLにその萌芽を見ることができる,ということをここでは言いたいのです.Conceptはもちろんのこと,TraitsやTag Dispatching, Adaptors, Object Generators, Policy Classes,いずれもSTLでその実例を見ることができますね.でも,STLのそれらをきちんと使っている人はそうめったに見かけませんがw.私もSTL覚えたての頃はpairのobject作るのにわざわざtemplate agument付きでconstructor呼ぶなんて普通にやってましたしw.ちなみに,Type GeneratorsのSTLでの例として自分が真っ先に思いつくのはallocator::rebindですね.最初TC++PLに書いてある説明見たときは,最初良く分からずしばらく考えた後,ようやく理解して「ふ〜ん,上手いことやるもんだね〜」なんて思っていたんですけどね...Boostに出会うまではw.