yasmine
event_template.hpp File Reference
#include "essentials/compatibility/compatibility.hpp"
#include "specialized_event.hpp"

Go to the source code of this file.

Macros

#define Y_AUX_DEFAULT_EVENT_PRIORITY   sxy::DEFAULT_EVENT_PRIORITY
 
#define Y_EVENT_EXPAND(x)   x
 
#define Y_EVENT_CAT(A, B)   A ## B
 
#define Y_EVENT_SELECT(NAME, NUM)   Y_EVENT_CAT( NAME ## _, NUM )
 
#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
 
#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 ) )
 
#define Y_VA_SELECT(NAME, _level, ...)   Y_EVENT_EXPAND( Y_EVENT_SELECT( NAME, Y_EVENT_VA_SIZE(__VA_ARGS__) )( _level, __VA_ARGS__) )
 
#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__) )
 
#define Y_EVENT_CREATE(_class_name, ...)   Y_EVENT_EXPAND( Y_VA_SELECT( Y_EVENT_PARAM, _class_name, __VA_ARGS__ ) )
 Macro for creating event class. It supports up to 10 event parameters. For each parameter, the type and the name must be specified. More...
 
#define Y_EVENT_PARAM_0(_class_name, _event_id)   Y_EVENT_WITH_ID( _class_name, _event_id )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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__ ) )
 Macro for creating event class with event priority. It supports up to 10 event parameters. For each , the type and the getter name must be specified. More...
 
#define Y_EVENT_PARAM_PRIORITY_0(_class_name, _event_id, _event_priority)   Y_EVENT_WITH_ID_PRIORITY( _class_name, _event_id, _event_priority )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#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 )
 
#define Y_EVENT_WITH_ID_PRIORITY(_class_name, _event_id, _event_priority)
 Macro for creating an event class that inherits the specialized_event. The event has an ID and a priority. More...
 
#define Y_EVENT_WITH_ID(_class_name, _event_id)   Y_EVENT_WITH_ID_PRIORITY( _class_name, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY )
 Macro for creating an event class that inherits the specialized_event. The event priority is the default priority. More...
 
#define Y_EVENT_1PARAM_WITH_ID_PRIORITY(_class_name, _parameter_type1, _getter_name1, _event_id, _event_priority)
 Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and a given type parameter. More...
 
#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 )
 Macro for creating an event class that inherits the specialized_event. The event has one parameter. The event priority is the default priority. More...
 
#define Y_EVENT_2PARAM_WITH_ID_PRIORITY(_class_name, _parameter_type1, _getter_name1, _parameter_type2, _getter_name2, _event_id, _event_priority)
 Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and two given type parameter. More...
 
#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 )
 Macro for creating an event class that inherits the specialized_event. The event has two parameters. The event priority is the default priority. More...
 
#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)
 Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and three given type parameters. More...
 
#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 )
 Macro for creating an event class that inherits the specialized_event. The event has three parameters. The event priority is the default priority. More...
 
#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)
 Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and four given type parameters. More...
 
#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 )
 Macro for creating an event class that inherits the specialized_event. The event has four parameters. The event priority is the default priority. More...
 
#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)
 Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and five given type parameters. More...
 
#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 )
 Macro for creating an event class that inherits the specialized_event. The event has five parameters. The event priority is the default priority. More...
 
#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)
 Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and six given type parameters. More...
 
#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 )
 Macro for creating an event class that inherits the specialized_event. The event has six parameters. The event priority is the default priority. More...
 
#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)
 Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and seven given type parameters. More...
 
#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 )
 Macro for creating an event class that inherits the specialized_event. The event has seven parameters. The event priority is the default priority. More...
 
#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)
 Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and eight given type parameters. More...
 
#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 )
 Macro for creating an event class that inherits the specialized_event. The event has seven parameters. The event priority is the default priority. More...
 
#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)
 Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and nine given type parameters. More...
 
#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 )
 Macro for creating an event class that inherits the specialized_event. The event has seven parameters. The event priority is the default priority. More...
 
#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)
 Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and ten given type parameters. More...
 
#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 )
 Macro for creating an event class that inherits the specialized_event. The event has seven parameters. The event priority is the default priority. More...
 

Macro Definition Documentation

◆ Y_AUX_DEFAULT_EVENT_PRIORITY

#define Y_AUX_DEFAULT_EVENT_PRIORITY   sxy::DEFAULT_EVENT_PRIORITY

◆ Y_EVENT_10PARAM_WITH_ID

#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 )

Macro for creating an event class that inherits the specialized_event. The event has seven parameters. The event priority is the default priority.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_parameter_type6Type of the sixth parameter.
_getter_name6Name of the method that returns the value of the sixth parameter.
_parameter_type7Type of the seventh parameter.
_getter_name7Name of the method that returns the value of the seventh parameter.
_parameter_type8Type of the eighth parameter.
_getter_name8Name of the method that returns the value of the eighth parameter.
_parameter_type9Type of the ninth parameter.
_getter_name9Name of the method that returns the value of the ninth parameter.
_parameter_type10Type of the tenth parameter.
_getter_name10Name of the method that returns the value of the tenth parameter.
_event_idEvent's id.

◆ Y_EVENT_10PARAM_WITH_ID_PRIORITY

#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 
)

Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and ten given type parameters.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_parameter_type6Type of the sixth parameter.
_getter_name6Name of the method that returns the value of the sixth parameter.
_parameter_type7Type of the seventh parameter.
_getter_name7Name of the method that returns the value of the seventh parameter.
_parameter_type8Type of the eighth parameter.
_getter_name8Name of the method that returns the value of the eighth parameter.
_parameter_type9Type of the ninth parameter.
_getter_name9Name of the method that returns the value of the ninth parameter.
_parameter_type10Type of the tenth parameter.
_getter_name10Name of the method that returns the value of the tenth parameter.
_event_idEvent's id.
_event_priorityEvent's priority.

◆ Y_EVENT_1PARAM_WITH_ID

#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 )

Macro for creating an event class that inherits the specialized_event. The event has one parameter. The event priority is the default priority.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the parameter.
_getter_name1Name of the method that returns the value of the parameter.
_event_idEvent's id.

◆ Y_EVENT_1PARAM_WITH_ID_PRIORITY

#define Y_EVENT_1PARAM_WITH_ID_PRIORITY (   _class_name,
  _parameter_type1,
  _getter_name1,
  _event_id,
  _event_priority 
)
Value:
class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \
public: \
typedef sxe::remove_reference<sxe::remove_const<_parameter_type1>::type>::type _param_type1;\
explicit _class_name( const _param_type1& _p1 ) \
p1_( _p1 ) \
{ \
} \
\
\
virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \
{ \
} \
\
\
SX_NO_COPY(_class_name)\
\
\
const _param_type1& _getter_name1() const \
{ \
return( p1_ ); \
} \
\
\
private: \
const _param_type1 p1_; \
};
Class that inherits event_impl and provides a fixed event ID and priority as well as create methods f...
Definition: specialized_event.hpp:26

Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and a given type parameter.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the parameter.
_getter_name1Name of the method that returns the value of the parameter.
_event_idEvent's id.
_event_priorityEvent's priority.

◆ Y_EVENT_2PARAM_WITH_ID

#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 )

Macro for creating an event class that inherits the specialized_event. The event has two parameters. The event priority is the default priority.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_event_idEvent's id.

◆ Y_EVENT_2PARAM_WITH_ID_PRIORITY

#define Y_EVENT_2PARAM_WITH_ID_PRIORITY (   _class_name,
  _parameter_type1,
  _getter_name1,
  _parameter_type2,
  _getter_name2,
  _event_id,
  _event_priority 
)

Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and two given type parameter.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_event_idEvent's id.
_event_priorityEvent's priority.

◆ Y_EVENT_3PARAM_WITH_ID

#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 )

Macro for creating an event class that inherits the specialized_event. The event has three parameters. The event priority is the default priority.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_event_idEvent's id.

◆ Y_EVENT_3PARAM_WITH_ID_PRIORITY

#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 
)

Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and three given type parameters.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_event_idEvent's id.
_event_priorityEvent's priority.

◆ Y_EVENT_4PARAM_WITH_ID

#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 )

Macro for creating an event class that inherits the specialized_event. The event has four parameters. The event priority is the default priority.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_event_idEvent's id.

◆ Y_EVENT_4PARAM_WITH_ID_PRIORITY

#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 
)

Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and four given type parameters.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the fourth parameter.
_getter_name4Name of the method that returns the value of the fourth parameter.
_event_idEvent's id.
_event_priorityEvent's priority.

◆ Y_EVENT_5PARAM_WITH_ID

#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 )

Macro for creating an event class that inherits the specialized_event. The event has five parameters. The event priority is the default priority.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_event_idEvent's id.

◆ Y_EVENT_5PARAM_WITH_ID_PRIORITY

#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 
)

Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and five given type parameters.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_event_idEvent's id.
_event_priorityEvent's priority.

◆ Y_EVENT_6PARAM_WITH_ID

#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 )

Macro for creating an event class that inherits the specialized_event. The event has six parameters. The event priority is the default priority.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_parameter_type6Type of the sixth parameter.
_getter_name6Name of the method that returns the value of the sixth parameter.
_event_idEvent's id.

◆ Y_EVENT_6PARAM_WITH_ID_PRIORITY

#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 
)

Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and six given type parameters.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_parameter_type6Type of the sixth parameter.
_getter_name6Name of the method that returns the value of the sixth parameter.
_event_idEvent's id.
_event_priorityEvent's priority.

◆ Y_EVENT_7PARAM_WITH_ID

#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 )

Macro for creating an event class that inherits the specialized_event. The event has seven parameters. The event priority is the default priority.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_parameter_type6Type of the sixth parameter.
_getter_name6Name of the method that returns the value of the sixth parameter.
_parameter_type7Type of the seventh parameter.
_getter_name7Name of the method that returns the value of the seventh parameter.
_event_idEvent's id.

◆ Y_EVENT_7PARAM_WITH_ID_PRIORITY

#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 
)

Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and seven given type parameters.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_parameter_type6Type of the sixth parameter.
_getter_name6Name of the method that returns the value of the sixth parameter.
_parameter_type7Type of the seventh parameter.
_getter_name7Name of the method that returns the value of the seventh parameter.
_event_idEvent's id.
_event_priorityEvent's priority.

◆ Y_EVENT_8PARAM_WITH_ID

#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 )

Macro for creating an event class that inherits the specialized_event. The event has seven parameters. The event priority is the default priority.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_parameter_type6Type of the sixth parameter.
_getter_name6Name of the method that returns the value of the sixth parameter.
_parameter_type7Type of the seventh parameter.
_getter_name7Name of the method that returns the value of the seventh parameter.
_parameter_type8Type of the eighth parameter.
_getter_name8Name of the method that returns the value of the eighth parameter.
_event_idEvent's id.

◆ Y_EVENT_8PARAM_WITH_ID_PRIORITY

#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 
)

Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and eight given type parameters.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_parameter_type6Type of the sixth parameter.
_getter_name6Name of the method that returns the value of the sixth parameter.
_parameter_type7Type of the seventh parameter.
_getter_name7Name of the method that returns the value of the seventh parameter.
_parameter_type8Type of the eighth parameter.
_getter_name8Name of the method that returns the value of the eighth parameter.
_event_idEvent's id.
_event_priorityEvent's priority.

◆ Y_EVENT_9PARAM_WITH_ID

#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 )

Macro for creating an event class that inherits the specialized_event. The event has seven parameters. The event priority is the default priority.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_parameter_type6Type of the sixth parameter.
_getter_name6Name of the method that returns the value of the sixth parameter.
_parameter_type7Type of the seventh parameter.
_getter_name7Name of the method that returns the value of the seventh parameter.
_parameter_type8Type of the eighth parameter.
_getter_name8Name of the method that returns the value of the eighth parameter.
_parameter_type9Type of the ninth parameter.
_getter_name9Name of the method that returns the value of the ninth parameter.
_event_idEvent's id.

◆ Y_EVENT_9PARAM_WITH_ID_PRIORITY

#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 
)

Macro for creating an event class that inherits the specialized_event. The event has an ID, a priority and nine given type parameters.

Parameters
_class_nameName of the event class.
_parameter_type1Type of the first parameter.
_getter_name1Name of the method that returns the value of the first parameter.
_parameter_type2Type of the second parameter.
_getter_name2Name of the method that returns the value of the second parameter.
_parameter_type3Type of the third parameter.
_getter_name3Name of the method that returns the value of the third parameter.
_parameter_type4Type of the forth parameter.
_getter_name4Name of the method that returns the value of the forth parameter.
_parameter_type5Type of the fifth parameter.
_getter_name5Name of the method that returns the value of the fifth parameter.
_parameter_type6Type of the sixth parameter.
_getter_name6Name of the method that returns the value of the sixth parameter.
_parameter_type7Type of the seventh parameter.
_getter_name7Name of the method that returns the value of the seventh parameter.
_parameter_type8Type of the eighth parameter.
_getter_name8Name of the method that returns the value of the eighth parameter.
_parameter_type9Type of the ninth parameter.
_getter_name9Name of the method that returns the value of the ninth parameter.
_event_idEvent's id.
_event_priorityEvent's priority.

◆ Y_EVENT_CAT

#define Y_EVENT_CAT (   A,
 
)    A ## B

◆ Y_EVENT_CREATE

#define Y_EVENT_CREATE (   _class_name,
  ... 
)    Y_EVENT_EXPAND( Y_VA_SELECT( Y_EVENT_PARAM, _class_name, __VA_ARGS__ ) )

Macro for creating event class. It supports up to 10 event parameters. For each parameter, the type and the name must be specified.

◆ Y_EVENT_EXPAND

#define Y_EVENT_EXPAND (   x)    x

◆ Y_EVENT_GET_COUNT

#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

◆ Y_EVENT_PARAM_0

#define Y_EVENT_PARAM_0 (   _class_name,
  _event_id 
)    Y_EVENT_WITH_ID( _class_name, _event_id )

◆ Y_EVENT_PARAM_1

#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 )

◆ Y_EVENT_PARAM_10

#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 )

◆ Y_EVENT_PARAM_2

#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 )

◆ Y_EVENT_PARAM_3

#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 )

◆ Y_EVENT_PARAM_4

#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 )

◆ Y_EVENT_PARAM_5

#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 )

◆ Y_EVENT_PARAM_6

#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 )

◆ Y_EVENT_PARAM_7

#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 )

◆ Y_EVENT_PARAM_8

#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 )

◆ Y_EVENT_PARAM_9

#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 )

◆ Y_EVENT_PARAM_PRIORITY_0

#define Y_EVENT_PARAM_PRIORITY_0 (   _class_name,
  _event_id,
  _event_priority 
)    Y_EVENT_WITH_ID_PRIORITY( _class_name, _event_id, _event_priority )

◆ Y_EVENT_PARAM_PRIORITY_1

#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 )

◆ Y_EVENT_PARAM_PRIORITY_10

#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 )

◆ Y_EVENT_PARAM_PRIORITY_2

#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 )

◆ Y_EVENT_PARAM_PRIORITY_3

#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 )

◆ Y_EVENT_PARAM_PRIORITY_4

#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 )

◆ Y_EVENT_PARAM_PRIORITY_5

#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 )

◆ Y_EVENT_PARAM_PRIORITY_6

#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 )

◆ Y_EVENT_PARAM_PRIORITY_7

#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 )

◆ Y_EVENT_PARAM_PRIORITY_8

#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 )

◆ Y_EVENT_PARAM_PRIORITY_9

#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 )

◆ Y_EVENT_SELECT

#define Y_EVENT_SELECT (   NAME,
  NUM 
)    Y_EVENT_CAT( NAME ## _, NUM )

◆ Y_EVENT_VA_SIZE

#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 ) )

◆ Y_EVENT_WITH_ID

#define Y_EVENT_WITH_ID (   _class_name,
  _event_id 
)    Y_EVENT_WITH_ID_PRIORITY( _class_name, _event_id, Y_AUX_DEFAULT_EVENT_PRIORITY )

Macro for creating an event class that inherits the specialized_event. The event priority is the default priority.

Parameters
_class_nameName of the event class.
_event_idEvent's id.

◆ Y_EVENT_WITH_ID_PRIORITY

#define Y_EVENT_WITH_ID_PRIORITY (   _class_name,
  _event_id,
  _event_priority 
)
Value:
class _class_name: public sxy::specialized_event< _class_name, _event_id, _event_priority > { \
public: \
explicit _class_name() \
{ \
} \
\
\
virtual ~_class_name() SX_NOEXCEPT SX_OVERRIDE \
{ \
} \
\
\
SX_NO_COPY( _class_name )\
\
\
};
Class that inherits event_impl and provides a fixed event ID and priority as well as create methods f...
Definition: specialized_event.hpp:26

Macro for creating an event class that inherits the specialized_event. The event has an ID and a priority.

Parameters
_class_nameName of the event class.
_event_idEvent's ID.
_event_priorityEvent's priority.

◆ Y_EVENT_WITH_PRIORITY_CREATE

#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__ ) )

Macro for creating event class with event priority. It supports up to 10 event parameters. For each , the type and the getter name must be specified.

◆ Y_VA_SELECT

#define Y_VA_SELECT (   NAME,
  _level,
  ... 
)    Y_EVENT_EXPAND( Y_EVENT_SELECT( NAME, Y_EVENT_VA_SIZE(__VA_ARGS__) )( _level, __VA_ARGS__) )

◆ Y_VA_SELECT_PRIORITY

#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__) )