もしかして:
http://blogs.wankuma.com/episteme/archive/2009/02/06/167590.aspx
#include <boost/range.hpp>
template<typename Range, typename T>
bool contains(Range const & range, T const & val) {
return std::find(boost::begin(range), boost::end(range), val) != boost::end(range);
}
vector<int> v;
if (contains(v, 3)) {
// ...
}でいいと思ったけどまぁなんというか。