mirror of https://github.com/bsnes-emu/bsnes.git
14 lines
586 B
C++
14 lines
586 B
C++
|
#if !defined(property)
|
||
|
#define property1(declaration) public: declaration
|
||
|
#define property2(declaration, getter) public: __declspec(property(get=getter)) declaration; protected: declaration##_
|
||
|
#define property3(declaration, getter, setter) public: __declspec(property(get=getter, put=setter)) declaration; protected: declaration##_
|
||
|
#define property_(_1, _2, _3, name, ...) name
|
||
|
#define property(...) property_(__VA_ARGS__, property3, property2, property1)(__VA_ARGS__)
|
||
|
#else
|
||
|
#undef property1
|
||
|
#undef property2
|
||
|
#undef property3
|
||
|
#undef property_
|
||
|
#undef property
|
||
|
#endif
|