#include <functional>
#include <string>
#include <algorithm>
#include <iostream>
bool pred(const std::string& s)
{
return s.size() % 2;
}
int main()
{
std::string data[] = { "hello", "world!" };
std::cout << std::count_if(data, data+2,
pred) << std::endl;
std::cout << std::count_if(data, data+2,
std::ptr_fun(pred) ) << std::endl;
std::cout << std::count_if(data, data+2,
std::not1(std::ptr_fun(pred))) << std::endl;
return 0;
}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCmJvb2wgcHJlZChjb25zdCBzdGQ6OnN0cmluZyYgcykKewogICAgcmV0dXJuIHMuc2l6ZSgpICUgMjsKfQoKaW50IG1haW4oKQp7CiAgICBzdGQ6OnN0cmluZyBkYXRhW10gPSB7ICJoZWxsbyIsICJ3b3JsZCEiIH07CgogICAgc3RkOjpjb3V0IDw8IHN0ZDo6Y291bnRfaWYoZGF0YSwgZGF0YSsyLCAKICAgICAgICAgICAgcHJlZCkgPDwgc3RkOjplbmRsOwoKICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmNvdW50X2lmKGRhdGEsIGRhdGErMiwgCiAgICAgICAgICAgIHN0ZDo6cHRyX2Z1bihwcmVkKSApIDw8IHN0ZDo6ZW5kbDsKCiAgICBzdGQ6OmNvdXQgPDwgc3RkOjpjb3VudF9pZihkYXRhLCBkYXRhKzIsIAogICAgICAgICAgICBzdGQ6Om5vdDEoc3RkOjpwdHJfZnVuKHByZWQpKSkgPDwgc3RkOjplbmRsOwoKICAgIHJldHVybiAwOwp9