23 #ifndef idDB7BACD7_96AF_4A8E_9530F074031E6A19 24 #define idDB7BACD7_96AF_4A8E_9530F074031E6A19 26 #define POLYMORPHIC_SETTER_DECLARE(ret, self, name, args) \ 27 template<typename X> void set_##name(ret (X::*x)args) \ 29 set_##name(static_cast<ret (self::*)args>(x)); \ 31 void set_##name(ret (self::*f)args); \ 33 #define POLYMORPHIC_DEFINE(ret, self, name, args, callargs) \ 34 void self::set_##name(ret (self::*f)args) \ 40 return (this->*d->name)callargs; \ 43 #define POLYMORPHIC_SETTER_DECLARE_CONST(ret, self, name, args) \ 44 template<typename X> void set_##name(ret (X::*x)args const) \ 46 set_##name(static_cast<ret (self::*)args const>(x)); \ 48 void set_##name(ret (self::*f)args const); \ 50 #define POLYMORPHIC_DEFINE_CONST(ret, self, name, args, callargs) \ 51 void self::set_##name(ret (self::*f)args const) \ 55 ret self::name args const \ 57 return (this->*d->name)callargs; \
Doomseeker © 2009-2023 The Doomseeker Team