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-2024 The Doomseeker Team