|
yasmine
|
Go to the documentation of this file. 12 #ifndef EVENT_TEMPLATE_D5281A8F_E064_45B5_B1E6_0C5B91DCD932 13 #define EVENT_TEMPLATE_D5281A8F_E064_45B5_B1E6_0C5B91DCD932 16 #include "essentials/compatibility/compatibility.hpp" 21 #if defined( SX_CPP03_BOOST ) || ( defined(_MSC_VER) && _MSC_VER <=1800 ) 22 #define Y_AUX_DEFAULT_EVENT_PRIORITY DEFAULT_EVENT_PRIORITY 24 #define Y_AUX_DEFAULT_EVENT_PRIORITY sxy::DEFAULT_EVENT_PRIORITY 28 #ifndef SX_NO_VARIADIC_MACRO 30 #define Y_EVENT_EXPAND( x ) x 32 #define Y_EVENT_CAT( A, B ) A ## B 33 #define Y_EVENT_SELECT( NAME, NUM ) Y_EVENT_CAT( NAME ## _, NUM ) 35 #define Y_EVENT_GET_COUNT( _ONE, _TWO, _THREE, _FOUR, _FIVE, _SIX, _SEVEN, _EIGHT, _NINE, _TEN, _ELEVEN, _TWELVE, _THIRTEEN, _FOURTEEN, _FIFTEEN, _SIXTEEN, _EIGHTEEN, _NINETEEN, _TWENTY, _TWENTY_ONE, _TWENTY_TWO, COUNT, ... ) COUNT 36 #define Y_EVENT_VA_SIZE( ... ) Y_EVENT_EXPAND( Y_EVENT_GET_COUNT( __VA_ARGS__, 10, 10, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 0, 0, -1, -1, -2, -2 ) ) 38 #define Y_VA_SELECT( NAME, _level, ... ) Y_EVENT_EXPAND( Y_EVENT_SELECT( NAME, Y_EVENT_VA_SIZE(__VA_ARGS__) )( _level, __VA_ARGS__) ) 39 #define Y_VA_SELECT_PRIORITY( NAME, _level, _level_2, ... ) Y_EVENT_EXPAND( Y_EVENT_SELECT( NAME, Y_EVENT_VA_SIZE(__VA_ARGS__) )( _level, _level_2, __VA_ARGS__) ) 43 #define Y_EVENT_CREATE( _class_name, ... ) Y_EVENT_EXPAND( Y_VA_SELECT( Y_EVENT_PARAM, _class_name, __VA_ARGS__ ) ) 45 #define Y_EVENT_PARAM_0( _class_name, _event_id ) Y_EVENT_WITH_ID( _class_name, _event_id ) 46 #define Y_EVENT_PARAM_1( _class_name, _event_id, _parameter_type1, _getter_name1 ) Y_EVENT_1PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _event_id ) 47 #define Y_EVENT_PARAM_2( _class_name, _event_id, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2 ) Y_EVENT_2PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _event_id ) 48 #define Y_EVENT_PARAM_3( _class_name, _event_id, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3 ) Y_EVENT_3PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _event_id ) 49 #define Y_EVENT_PARAM_4( _class_name, _event_id, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4 ) Y_EVENT_4PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _event_id ) 50 #define Y_EVENT_PARAM_5( _class_name, _event_id, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5 ) Y_EVENT_5PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _event_id ) 51 #define Y_EVENT_PARAM_6( _class_name, _event_id, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6 ) Y_EVENT_6PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _event_id ) 52 #define Y_EVENT_PARAM_7( _class_name, _event_id, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7 ) Y_EVENT_7PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _event_id ) 53 #define Y_EVENT_PARAM_8( _class_name, _event_id, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8 ) Y_EVENT_8PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _event_id ) 54 #define Y_EVENT_PARAM_9( _class_name, _event_id, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9 ) Y_EVENT_9PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _event_id ) 55 #define Y_EVENT_PARAM_10( _class_name, _event_id, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _parameter_type10, _getter_name10 ) Y_EVENT_10PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _parameter_type10, _getter_name10, _event_id ) 60 #define Y_EVENT_WITH_PRIORITY_CREATE( _class_name, _event_id, ... ) Y_EVENT_EXPAND( Y_VA_SELECT_PRIORITY( Y_EVENT_PARAM_PRIORITY, _class_name, _event_id, __VA_ARGS__ ) ) 62 #define Y_EVENT_PARAM_PRIORITY_0( _class_name, _event_id, _event_priority ) Y_EVENT_WITH_ID_PRIORITY( _class_name, _event_id, _event_priority ) 63 #define Y_EVENT_PARAM_PRIORITY_1( _class_name, _event_id, _event_priority, _parameter_type1, _getter_name1 ) Y_EVENT_1PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _event_id, _event_priority ) 64 #define Y_EVENT_PARAM_PRIORITY_2( _class_name, _event_id, _event_priority, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2 ) Y_EVENT_2PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _event_id, _event_priority ) 65 #define Y_EVENT_PARAM_PRIORITY_3( _class_name, _event_id, _event_priority, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3 ) Y_EVENT_3PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _event_id, _event_priority ) 66 #define Y_EVENT_PARAM_PRIORITY_4( _class_name, _event_id, _event_priority, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4 ) Y_EVENT_4PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _event_id, _event_priority ) 67 #define Y_EVENT_PARAM_PRIORITY_5( _class_name, _event_id, _event_priority, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5 ) Y_EVENT_5PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _event_id, _event_priority ) 68 #define Y_EVENT_PARAM_PRIORITY_6( _class_name, _event_id, _event_priority, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6 ) Y_EVENT_6PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _event_id, _event_priority ) 69 #define Y_EVENT_PARAM_PRIORITY_7( _class_name, _event_id, _event_priority, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7 ) Y_EVENT_7PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _event_id, _event_priority ) 70 #define Y_EVENT_PARAM_PRIORITY_8( _class_name, _event_id, _event_priority, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8 ) Y_EVENT_8PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _event_id, _event_priority ) 71 #define Y_EVENT_PARAM_PRIORITY_9( _class_name, _event_id, _event_priority, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9 ) Y_EVENT_9PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _event_id, _event_priority ) 72 #define Y_EVENT_PARAM_PRIORITY_10( _class_name, _event_id, _event_priority, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _parameter_type10, _getter_name10 ) Y_EVENT_10PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _parameter_type10, _getter_name10, _event_id, _event_priority ) 83 #define Y_EVENT_WITH_ID_PRIORITY( _class_name, _event_id, _event_priority ) \ 84 class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \ 86 explicit _class_name() \ 87 : sxy::specialized_event< _class_name, _event_id, _event_priority >( #_class_name ) \ 92 virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \ 97 SX_NO_COPY( _class_name )\ 106 #define Y_EVENT_WITH_ID( _class_name, _event_id ) Y_EVENT_WITH_ID_PRIORITY( _class_name, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY ) 115 #define Y_EVENT_1PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _event_id, _event_priority ) \ 116 class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \ 118 typedef sxe::remove_reference<sxe::remove_const<_parameter_type1>::type>::type _param_type1;\ 119 explicit _class_name( const _param_type1& _p1 ) \ 120 : sxy::specialized_event< _class_name, _event_id, _event_priority >( #_class_name ), \ 126 virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \ 131 SX_NO_COPY(_class_name)\ 134 const _param_type1& _getter_name1() const \ 141 const _param_type1 p1_; \ 150 #define Y_EVENT_1PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _event_id ) Y_EVENT_1PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY ) 161 #define Y_EVENT_2PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _event_id, _event_priority ) \ 162 class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \ 164 typedef sxe::remove_reference<sxe::remove_const<_parameter_type1>::type>::type _param_type1;\ 165 typedef sxe::remove_reference<sxe::remove_const<_parameter_type2>::type>::type _param_type2;\ 166 explicit _class_name( const _param_type1& _p1, const _param_type2& _p2 ) \ 167 : sxy::specialized_event< _class_name, _event_id, _event_priority >( #_class_name ), \ 174 virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \ 179 SX_NO_COPY(_class_name)\ 182 const _param_type1& _getter_name1() const \ 188 const _param_type2& _getter_name2() const \ 195 const _param_type1 p1_; \ 196 const _param_type2 p2_; \ 207 #define Y_EVENT_2PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _event_id ) Y_EVENT_2PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY ) 220 #define Y_EVENT_3PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _event_id, _event_priority ) \ 221 class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \ 223 typedef sxe::remove_reference<sxe::remove_const<_parameter_type1>::type>::type _param_type1;\ 224 typedef sxe::remove_reference<sxe::remove_const<_parameter_type2>::type>::type _param_type2;\ 225 typedef sxe::remove_reference<sxe::remove_const<_parameter_type3>::type>::type _param_type3;\ 226 explicit _class_name( const _param_type1& _p1, const _param_type2& _p2, const _param_type3& _p3 ) \ 227 : sxy::specialized_event< _class_name, _event_id, _event_priority >( #_class_name ), \ 235 virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \ 240 SX_NO_COPY(_class_name)\ 243 const _param_type1& _getter_name1() const \ 249 const _param_type2& _getter_name2() const \ 255 const _param_type3& _getter_name3() const \ 262 const _param_type1 p1_; \ 263 const _param_type2 p2_; \ 264 const _param_type3 p3_; \ 277 #define Y_EVENT_3PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _event_id ) Y_EVENT_3PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY ) 292 #define Y_EVENT_4PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _event_id, _event_priority ) \ 293 class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \ 295 typedef sxe::remove_reference<sxe::remove_const<_parameter_type1>::type>::type _param_type1;\ 296 typedef sxe::remove_reference<sxe::remove_const<_parameter_type2>::type>::type _param_type2;\ 297 typedef sxe::remove_reference<sxe::remove_const<_parameter_type3>::type>::type _param_type3;\ 298 typedef sxe::remove_reference<sxe::remove_const<_parameter_type4>::type>::type _param_type4;\ 299 explicit _class_name( const _param_type1& _p1, const _param_type2& _p2, const _param_type3& _p3, const _param_type4& _p4 ) \ 300 : sxy::specialized_event< _class_name, _event_id, _event_priority >( #_class_name ), \ 309 virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \ 314 SX_NO_COPY(_class_name)\ 317 const _param_type1& _getter_name1() const \ 323 const _param_type2& _getter_name2() const \ 329 const _param_type3& _getter_name3() const \ 335 const _param_type4& _getter_name4() const \ 342 const _param_type1 p1_; \ 343 const _param_type2 p2_; \ 344 const _param_type3 p3_; \ 345 const _param_type4 p4_; \ 360 #define Y_EVENT_4PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _event_id ) Y_EVENT_4PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY ) 377 #define Y_EVENT_5PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _event_id, _event_priority ) \ 378 class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \ 380 typedef sxe::remove_reference<sxe::remove_const<_parameter_type1>::type>::type _param_type1;\ 381 typedef sxe::remove_reference<sxe::remove_const<_parameter_type2>::type>::type _param_type2;\ 382 typedef sxe::remove_reference<sxe::remove_const<_parameter_type3>::type>::type _param_type3;\ 383 typedef sxe::remove_reference<sxe::remove_const<_parameter_type4>::type>::type _param_type4;\ 384 typedef sxe::remove_reference<sxe::remove_const<_parameter_type5>::type>::type _param_type5;\ 385 explicit _class_name( const _param_type1& _p1, const _param_type2& _p2, const _param_type3& _p3, const _param_type4& _p4, const _param_type5& _p5 ) \ 386 : sxy::specialized_event< _class_name, _event_id, _event_priority >( #_class_name ), \ 396 virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \ 401 SX_NO_COPY(_class_name)\ 404 const _param_type1& _getter_name1() const \ 410 const _param_type2& _getter_name2() const \ 416 const _param_type3& _getter_name3() const \ 422 const _param_type4& _getter_name4() const \ 428 const _param_type5& _getter_name5() const \ 435 const _param_type1 p1_; \ 436 const _param_type2 p2_; \ 437 const _param_type3 p3_; \ 438 const _param_type4 p4_; \ 439 const _param_type5 p5_; \ 456 #define Y_EVENT_5PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _event_id ) Y_EVENT_5PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY ) 475 #define Y_EVENT_6PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _event_id, _event_priority ) \ 476 class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \ 478 typedef sxe::remove_reference<sxe::remove_const<_parameter_type1>::type>::type _param_type1;\ 479 typedef sxe::remove_reference<sxe::remove_const<_parameter_type2>::type>::type _param_type2;\ 480 typedef sxe::remove_reference<sxe::remove_const<_parameter_type3>::type>::type _param_type3;\ 481 typedef sxe::remove_reference<sxe::remove_const<_parameter_type4>::type>::type _param_type4;\ 482 typedef sxe::remove_reference<sxe::remove_const<_parameter_type5>::type>::type _param_type5;\ 483 typedef sxe::remove_reference<sxe::remove_const<_parameter_type6>::type>::type _param_type6;\ 484 explicit _class_name( const _param_type1& _p1, const _param_type2& _p2, const _param_type3& _p3, const _param_type4& _p4, const _param_type5& _p5, const _param_type6& _p6 ) \ 485 : sxy::specialized_event< _class_name, _event_id, _event_priority >( #_class_name ), \ 496 virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \ 501 SX_NO_COPY(_class_name)\ 504 const _param_type1& _getter_name1() const \ 510 const _param_type2& _getter_name2() const \ 516 const _param_type3& _getter_name3() const \ 522 const _param_type4& _getter_name4() const \ 528 const _param_type5& _getter_name5() const \ 534 const _parameter_type6& _getter_name6() const \ 541 const _param_type1 p1_; \ 542 const _param_type2 p2_; \ 543 const _param_type3 p3_; \ 544 const _param_type4 p4_; \ 545 const _param_type5 p5_; \ 546 const _param_type6 p6_; \ 565 #define Y_EVENT_6PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _event_id ) Y_EVENT_6PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY ) 586 #define Y_EVENT_7PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _event_id, _event_priority ) \ 587 class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \ 589 typedef sxe::remove_reference<sxe::remove_const<_parameter_type1>::type>::type _param_type1;\ 590 typedef sxe::remove_reference<sxe::remove_const<_parameter_type2>::type>::type _param_type2;\ 591 typedef sxe::remove_reference<sxe::remove_const<_parameter_type3>::type>::type _param_type3;\ 592 typedef sxe::remove_reference<sxe::remove_const<_parameter_type4>::type>::type _param_type4;\ 593 typedef sxe::remove_reference<sxe::remove_const<_parameter_type5>::type>::type _param_type5;\ 594 typedef sxe::remove_reference<sxe::remove_const<_parameter_type6>::type>::type _param_type6;\ 595 typedef sxe::remove_reference<sxe::remove_const<_parameter_type7>::type>::type _param_type7;\ 596 explicit _class_name( const _param_type1& _p1, const _param_type2& _p2, const _param_type3& _p3, const _param_type4& _p4, const _param_type5& _p5, const _param_type6& _p6, const _param_type7& _p7 ) \ 597 : sxy::specialized_event< _class_name, _event_id, _event_priority >( #_class_name ), \ 609 virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \ 614 SX_NO_COPY(_class_name)\ 617 const _param_type1& _getter_name1() const \ 623 const _param_type2& _getter_name2() const \ 629 const _param_type3& _getter_name3() const \ 635 const _param_type4& _getter_name4() const \ 641 const _param_type5& _getter_name5() const \ 647 const _param_type6& _getter_name6() const \ 653 const _param_type7& _getter_name7() const \ 660 const _param_type1 p1_; \ 661 const _param_type2 p2_; \ 662 const _param_type3 p3_; \ 663 const _param_type4 p4_; \ 664 const _param_type5 p5_; \ 665 const _param_type6 p6_; \ 666 const _param_type7 p7_; \ 687 #define Y_EVENT_7PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _event_id ) Y_EVENT_7PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY ) 710 #define Y_EVENT_8PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _event_id, _event_priority ) \ 711 class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \ 713 typedef sxe::remove_reference<sxe::remove_const<_parameter_type1>::type>::type _param_type1;\ 714 typedef sxe::remove_reference<sxe::remove_const<_parameter_type2>::type>::type _param_type2;\ 715 typedef sxe::remove_reference<sxe::remove_const<_parameter_type3>::type>::type _param_type3;\ 716 typedef sxe::remove_reference<sxe::remove_const<_parameter_type4>::type>::type _param_type4;\ 717 typedef sxe::remove_reference<sxe::remove_const<_parameter_type5>::type>::type _param_type5;\ 718 typedef sxe::remove_reference<sxe::remove_const<_parameter_type6>::type>::type _param_type6;\ 719 typedef sxe::remove_reference<sxe::remove_const<_parameter_type7>::type>::type _param_type7;\ 720 typedef sxe::remove_reference<sxe::remove_const<_parameter_type8>::type>::type _param_type8;\ 721 explicit _class_name( const _param_type1& _p1, const _param_type2& _p2, const _param_type3& _p3, const _param_type4& _p4, const _param_type5& _p5, const _param_type6& _p6, const _param_type7& _p7, const _param_type8& _p8 ) \ 722 : sxy::specialized_event< _class_name, _event_id, _event_priority >( #_class_name ), \ 735 virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \ 740 SX_NO_COPY(_class_name)\ 743 const _param_type1& _getter_name1() const \ 749 const _param_type2& _getter_name2() const \ 755 const _param_type3& _getter_name3() const \ 761 const _param_type4& _getter_name4() const \ 767 const _param_type5& _getter_name5() const \ 773 const _param_type6& _getter_name6() const \ 779 const _param_type7& _getter_name7() const \ 785 const _param_type8& _getter_name8() const \ 792 const _param_type1 p1_; \ 793 const _param_type2 p2_; \ 794 const _param_type3 p3_; \ 795 const _param_type4 p4_; \ 796 const _param_type5 p5_; \ 797 const _param_type6 p6_; \ 798 const _param_type7 p7_; \ 799 const _param_type8 p8_; \ 822 #define Y_EVENT_8PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _event_id ) Y_EVENT_8PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY ) 848 #define Y_EVENT_9PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _event_id, _event_priority ) \ 849 class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \ 851 typedef sxe::remove_reference<sxe::remove_const<_parameter_type1>::type>::type _param_type1;\ 852 typedef sxe::remove_reference<sxe::remove_const<_parameter_type2>::type>::type _param_type2;\ 853 typedef sxe::remove_reference<sxe::remove_const<_parameter_type3>::type>::type _param_type3;\ 854 typedef sxe::remove_reference<sxe::remove_const<_parameter_type4>::type>::type _param_type4;\ 855 typedef sxe::remove_reference<sxe::remove_const<_parameter_type5>::type>::type _param_type5;\ 856 typedef sxe::remove_reference<sxe::remove_const<_parameter_type6>::type>::type _param_type6;\ 857 typedef sxe::remove_reference<sxe::remove_const<_parameter_type7>::type>::type _param_type7;\ 858 typedef sxe::remove_reference<sxe::remove_const<_parameter_type8>::type>::type _param_type8;\ 859 typedef sxe::remove_reference<sxe::remove_const<_parameter_type9>::type>::type _param_type9;\ 860 explicit _class_name( const _param_type1& _p1, const _param_type2& _p2, const _param_type3& _p3, const _param_type4& _p4, const _param_type5& _p5, const _param_type6& _p6, const _param_type7& _p7, const _param_type8& _p8, const _param_type9& _p9 ) \ 861 : sxy::specialized_event< _class_name, _event_id, _event_priority >( #_class_name ), \ 875 virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \ 880 SX_NO_COPY(_class_name)\ 883 const _param_type1& _getter_name1() const \ 889 const _param_type2& _getter_name2() const \ 895 const _param_type3& _getter_name3() const \ 901 const _param_type4& _getter_name4() const \ 907 const _param_type5& _getter_name5() const \ 913 const _param_type6& _getter_name6() const \ 919 const _param_type7& _getter_name7() const \ 925 const _param_type8& _getter_name8() const \ 931 const _param_type9& _getter_name9() const \ 938 const _param_type1 p1_; \ 939 const _param_type2 p2_; \ 940 const _param_type3 p3_; \ 941 const _param_type4 p4_; \ 942 const _param_type5 p5_; \ 943 const _param_type6 p6_; \ 944 const _param_type7 p7_; \ 945 const _param_type8 p8_; \ 946 const _param_type9 p9_; \ 971 #define Y_EVENT_9PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _event_id ) Y_EVENT_9PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY ) 999 #define Y_EVENT_10PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _parameter_type10, _getter_name10, _event_id, _event_priority ) \ 1000 class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \ 1002 typedef sxe::remove_reference<sxe::remove_const<_parameter_type1>::type>::type _param_type1;\ 1003 typedef sxe::remove_reference<sxe::remove_const<_parameter_type2>::type>::type _param_type2;\ 1004 typedef sxe::remove_reference<sxe::remove_const<_parameter_type3>::type>::type _param_type3;\ 1005 typedef sxe::remove_reference<sxe::remove_const<_parameter_type4>::type>::type _param_type4;\ 1006 typedef sxe::remove_reference<sxe::remove_const<_parameter_type5>::type>::type _param_type5;\ 1007 typedef sxe::remove_reference<sxe::remove_const<_parameter_type6>::type>::type _param_type6;\ 1008 typedef sxe::remove_reference<sxe::remove_const<_parameter_type7>::type>::type _param_type7;\ 1009 typedef sxe::remove_reference<sxe::remove_const<_parameter_type8>::type>::type _param_type8;\ 1010 typedef sxe::remove_reference<sxe::remove_const<_parameter_type9>::type>::type _param_type9;\ 1011 typedef sxe::remove_reference<sxe::remove_const<_parameter_type10>::type>::type _param_type10;\ 1012 explicit _class_name( const _param_type1& _p1, const _param_type2& _p2, const _param_type3& _p3, const _param_type4& _p4, const _param_type5& _p5, const _param_type6& _p6, const _param_type7& _p7, const _param_type8& _p8, const _param_type9& _p9, const _param_type10& _p10 ) \ 1013 : sxy::specialized_event< _class_name, _event_id, _event_priority >( #_class_name ), \ 1028 virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \ 1033 SX_NO_COPY(_class_name)\ 1036 const _param_type1& _getter_name1() const \ 1042 const _param_type2& _getter_name2() const \ 1048 const _param_type3& _getter_name3() const \ 1054 const _param_type4& _getter_name4() const \ 1060 const _param_type5& _getter_name5() const \ 1066 const _param_type6& _getter_name6() const \ 1072 const _param_type7& _getter_name7() const \ 1078 const _param_type8& _getter_name8() const \ 1084 const _param_type9& _getter_name9() const \ 1090 const _param_type10& _getter_name10() const \ 1097 const _param_type1 p1_; \ 1098 const _param_type2 p2_; \ 1099 const _param_type3 p3_; \ 1100 const _param_type4 p4_; \ 1101 const _param_type5 p5_; \ 1102 const _param_type6 p6_; \ 1103 const _param_type7 p7_; \ 1104 const _param_type8 p8_; \ 1105 const _param_type9 p9_; \ 1106 const _param_type10 p10_; \ 1133 #define Y_EVENT_10PARAM_WITH_ID( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _parameter_type10, _getter_name10, _event_id ) Y_EVENT_10PARAM_WITH_ID_PRIORITY( _class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _parameter_type3, _getter_name3, _parameter_type4, _getter_name4, _parameter_type5, _getter_name5, _parameter_type6, _getter_name6, _parameter_type7, _getter_name7, _parameter_type8, _getter_name8, _parameter_type9, _getter_name9, _parameter_type10, _getter_name10, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY )