http://d.hatena.ne.jp/uskz/20071207/p2

std名前空間オーバーロードは作成してはいけない、と。
boost::rangeを使うと幸せになれるらしい、と。

template<typename Range, typename F>
typename boost::range_iterator<Range>::type remove_if(Range& r, F f){
    return remove_if(boost::begin(r), boost::end(r), f);
}

こんな感じでいいのかな??
range_exとOvenは暇があれば見てみようっと。
このBoost Vaultってのは便利なのが色々有りそうですね。
トラックバック有難う御座いました。

vectorとかはstdの名前空間修飾子を省略できないのに、remove_if
とかは省略可能なのは何でだろう?という素朴な疑問。