C++20 added a contains member function to some containers. Once again, the contains member function of std::set uses the nature of a set to achieve O(log n) complexity. However, there isn't (to my knowledge) a generic std::contains algorithm for containers that don't have a contains member function.
Personally, the absence of std::contains seems like an oversight. Is it?
The only way to clean up the call site is to create helper functions like you suggested.
I used to think the Ranges TS will let me do this:
std::find(myvec.range(), "foo")
but then I actually read about Ranges and I was kind of disappointed.