#include <iostream>
#include <string>
using namespace std;
void println(string s){
cout<< s << endl;
}
auto deco = [](void (*f)(string s)){
return [f](string s) {
cout << "Chamada da função decoradora" << endl;
return f(s);
};
};
int main()
{
auto f = deco(println);
f("Teste");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcmludGxuKHN0cmluZyBzKXsKICBjb3V0PDwgcyA8PCBlbmRsOwp9CgphdXRvIGRlY28gPSBbXSh2b2lkICgqZikoc3RyaW5nIHMpKXsgIAogIHJldHVybiBbZl0oc3RyaW5nIHMpIHsKICAgIGNvdXQgPDwgIkNoYW1hZGEgZGEgZnVuw6fDo28gZGVjb3JhZG9yYSIgPDwgZW5kbDsKICAgIHJldHVybiBmKHMpOwogIH07Cn07CgppbnQgbWFpbigpIAp7CiAgYXV0byBmID0gZGVjbyhwcmludGxuKTsKICBmKCJUZXN0ZSIpOwogIHJldHVybiAwOwp9