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