http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57283
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
N.B. you can also do it with a nested std::bind expression and std::logical_not
std::bind(std::logical_not<int>(),
std::bind(std::mem_fn(&cls::value), std::placeholders::_1))
in C++14 that means you can provide a working not1 replacement:
template<typename F>
auto not1(F f)
{
return std::bind(std::logical_not<>(), std::bind(f,
std::placeholders::_1));
}
