1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <iostream> #define RESULT(func, ...) Result<decltype(func(__VA_ARGS__))> template<typename T> class Result { public: void foo() { std::cout << "bar\n"; } }; int main(int argc, char **argv) { RESULT(main, argc, argv) result; // same as `Result<int> result;` result.foo(); return 0; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgoKI2RlZmluZSBSRVNVTFQoZnVuYywgLi4uKSBSZXN1bHQ8ZGVjbHR5cGUoZnVuYyhfX1ZBX0FSR1NfXykpPgoKdGVtcGxhdGU8dHlwZW5hbWUgVD4KY2xhc3MgUmVzdWx0IHsKcHVibGljOgogICAgdm9pZCBmb28oKSB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJiYXJcbiI7CiAgICB9Cn07CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICAgIFJFU1VMVChtYWluLCBhcmdjLCBhcmd2KSByZXN1bHQ7IC8vIHNhbWUgYXMgYFJlc3VsdDxpbnQ+IHJlc3VsdDtgCiAgICAKICAgIHJlc3VsdC5mb28oKTsKICAgIAogICAgcmV0dXJuIDA7Cn0=
-
upload with new input
-
result: Success time: 0s memory: 2928 kB returned value: 0
bar


