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