もしかして:

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)) {
	// ...
}

でいいと思ったけどまぁなんというか。