1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream> template<class C, class R> struct proxy{ typedef R(C::*Fty)(); proxy(Fty f) : _f(f){} Fty _f;}; class testWorld { public: testWorld() {} ~testWorld() {} void initPhysics(); }; template<class C, class R> proxy<C,R> operator-(proxy<C,R> prox){ return prox; } proxy<testWorld,void> initPhysics(){ return &testWorld::initPhysics; } void testWorld::initPhysics() { std::cout << "Initiating physics..." << std::endl; } template<class C, class R> auto operator<(C* obj, proxy<C,R> prox) -> decltype((obj->*prox._f)()){ return (obj->*prox._f)(); } int main(int argc,char** argv) { std::cout << "Hello World!" << std::endl; testWorld* world; world = new testWorld(); world<-initPhysics(); return 0; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBDLCBjbGFzcyBSPiBzdHJ1Y3QgcHJveHl7IHR5cGVkZWYgUihDOjoqRnR5KSgpOyBwcm94eShGdHkgZikgOiBfZihmKXt9IEZ0eSBfZjt9OwpjbGFzcyB0ZXN0V29ybGQgewogICAgcHVibGljOgogICAgICAgIHRlc3RXb3JsZCgpIHt9CiAgICAgICAgfnRlc3RXb3JsZCgpIHt9CiAgICAgICAgdm9pZCBpbml0UGh5c2ljcygpOwp9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBDLCBjbGFzcyBSPiBwcm94eTxDLFI+IG9wZXJhdG9yLShwcm94eTxDLFI+IHByb3gpeyByZXR1cm4gcHJveDsgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm94eTx0ZXN0V29ybGQsdm9pZD4gaW5pdFBoeXNpY3MoKXsgcmV0dXJuICZ0ZXN0V29ybGQ6OmluaXRQaHlzaWNzOyB9CnZvaWQgdGVzdFdvcmxkOjppbml0UGh5c2ljcygpIHsKICAgIHN0ZDo6Y291dCA8PCAiSW5pdGlhdGluZyBwaHlzaWNzLi4uIiA8PCBzdGQ6OmVuZGw7Cn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgQywgY2xhc3MgUj4gYXV0byBvcGVyYXRvcjwoQyogb2JqLCBwcm94eTxDLFI+IHByb3gpIC0+IGRlY2x0eXBlKChvYmotPipwcm94Ll9mKSgpKXsgcmV0dXJuIChvYmotPipwcm94Ll9mKSgpOyB9CmludCBtYWluKGludCBhcmdjLGNoYXIqKiBhcmd2KSB7CiAgICBzdGQ6OmNvdXQgPDwgIkhlbGxvIFdvcmxkISIgPDwgc3RkOjplbmRsOwogICAgdGVzdFdvcmxkKiB3b3JsZDsKICAgIHdvcmxkID0gbmV3IHRlc3RXb3JsZCgpOwogICAgd29ybGQ8LWluaXRQaHlzaWNzKCk7CiAgICByZXR1cm4gMDsKfQ==
-
upload with new input
-
result: Success time: 0s memory: 2960 kB returned value: 0
Hello World! Initiating physics...


