Functional composition of member function predicates
The verbosity of C++14 generic lambdas should be much lower than std::mem_fun 

std::remove_if(v.begin(),
               v.end(),
               [](auto const &amp; w) { return w.empty(); });


If you want to remove non-empty vectors, you can also do something like

std::function&lt;bool(std::vector&lt;int&gt;)&gt; is_empty = [](auto const &amp; w) { return w.empty(); }; 
std::remove_if(v.begin(),
               v.end(),
               std::not1(is_empty));


Oh and the -&gt; bool in your question is already superfluous in C++11 for single-line lambdas. Generic lambdas are currently supported by Clang >= 3.4, GCC 4.9 and MSVC 2013 November CTP.

I think Scott Meyers even has an Item "Prefer lambdas over bind" in his upcoming book Effective C++11/14.