■
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
とかは省略可能なのは何でだろう?という素朴な疑問。