| #pragma clang system_header | |
| template <typename T, typename CreateFunction> | |
| void callMethod(CreateFunction createFunction) { | |
| createFunction()->method(); | |
| } | |
| template <typename T, typename CreateFunction> | |
| inline void localVar(CreateFunction createFunction) { | |
| T* obj = createFunction(); | |
| obj->method(); | |
| } | |
| template <typename T> | |
| struct MemberVariable { | |
| T* obj { nullptr }; | |
| }; |