language: C++11 (gcc-4.7.2)
date: 198 days 20 hours ago
link:
visibility: public
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;
}