12 #ifndef SPECIALIZED_EVENT_CA823D7C_65A6_4094_8641_FA9496F11C1F 13 #define SPECIALIZED_EVENT_CA823D7C_65A6_4094_8641_FA9496F11C1F 25 template<
class _concrete_event, sxy::event_
id _event_
id, sxy::event_priority _event_priority = DEFAULT_EVENT_PRIORITY>
47 virtual std::string
get_name()
const SX_OVERRIDE
66 #ifndef SX_CPP03_BOOST 80 static sxe::shared_ptr< _concrete_event >
create()
82 return( SX_MAKE_SHARED< _concrete_event >() );
88 template<
typename _param_type1>
89 static sxe::shared_ptr< _concrete_event >
create(
const _param_type1& _p1 )
91 return( SX_MAKE_SHARED< _concrete_event >( _p1 ) );
97 template<
typename _param_type1,
typename _param_type2>
98 static sxe::shared_ptr< _concrete_event >
create(
const _param_type1& _p1,
const _param_type2& _p2 )
100 return( SX_MAKE_SHARED< _concrete_event >( _p1, _p2 ) );
106 template<
typename _param_type1,
typename _param_type2,
typename _param_type3>
107 static sxe::shared_ptr< _concrete_event >
create(
const _param_type1& _p1,
const _param_type2& _p2,
const _param_type3& _p3 )
109 return( SX_MAKE_SHARED< _concrete_event >( _p1, _p2, _p3 ) );
115 template<
typename _param_type1,
typename _param_type2,
typename _param_type3,
typename _param_type4>
116 static sxe::shared_ptr< _concrete_event >
create(
const _param_type1& _p1,
const _param_type2& _p2,
const _param_type3& _p3,
117 const _param_type4& _p4 )
119 return( SX_MAKE_SHARED< _concrete_event >( _p1, _p2, _p3, _p4 ) );
125 template<
typename _param_type1,
typename _param_type2,
typename _param_type3,
typename _param_type4,
126 typename _param_type5>
127 static sxe::shared_ptr< _concrete_event >
create(
const _param_type1& _p1,
const _param_type2& _p2,
const _param_type3& _p3,
128 const _param_type4& _p4,
const _param_type5& _p5 )
130 return( SX_MAKE_SHARED< _concrete_event >( _p1, _p2, _p3, _p4, _p5 ) );
136 template<
typename _param_type1,
typename _param_type2,
typename _param_type3,
typename _param_type4,
137 typename _param_type5,
typename _param_type6>
138 static sxe::shared_ptr< _concrete_event >
create(
const _param_type1& _p1,
const _param_type2& _p2,
const _param_type3& _p3,
139 const _param_type4& _p4,
const _param_type5& _p5,
const _param_type6& _p6 )
141 return( SX_MAKE_SHARED< _concrete_event >( _p1, _p2, _p3, _p4, _p5, _p6 ) );
147 template<
typename _param_type1,
typename _param_type2,
typename _param_type3,
typename _param_type4,
148 typename _param_type5,
typename _param_type6,
typename _param_type7>
149 static sxe::shared_ptr< _concrete_event >
create(
const _param_type1& _p1,
const _param_type2& _p2,
const _param_type3& _p3,
150 const _param_type4& _p4,
const _param_type5& _p5,
const _param_type6& _p6,
const _param_type7& _p7 )
152 return( SX_MAKE_SHARED< _concrete_event >( _p1, _p2, _p3, _p4, _p5, _p6, _p7 ) );
158 template<
typename _param_type1,
typename _param_type2,
typename _param_type3,
typename _param_type4,
159 typename _param_type5,
typename _param_type6,
typename _param_type7,
typename _param_type8>
160 static sxe::shared_ptr< _concrete_event >
create(
const _param_type1& _p1,
const _param_type2& _p2,
const _param_type3& _p3,
161 const _param_type4& _p4,
const _param_type5& _p5,
const _param_type6& _p6,
const _param_type7& _p7,
162 const _param_type8& _p8 )
164 return( SX_MAKE_SHARED< _concrete_event >( _p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8 ) );
170 template<
typename _param_type1,
typename _param_type2,
typename _param_type3,
typename _param_type4,
171 typename _param_type5,
typename _param_type6,
typename _param_type7,
typename _param_type8,
typename _param_type9>
172 static sxe::shared_ptr< _concrete_event >
create(
const _param_type1& _p1,
const _param_type2& _p2,
const _param_type3& _p3,
173 const _param_type4& _p4,
const _param_type5& _p5,
const _param_type6& _p6,
const _param_type7& _p7,
174 const _param_type8& _p8,
const _param_type9& _p9 )
176 return( SX_MAKE_SHARED< _concrete_event >( _p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8, _p9 ) );
182 template<
typename _param_type1,
typename _param_type2,
typename _param_type3,
typename _param_type4,
183 typename _param_type5,
typename _param_type6,
typename _param_type7,
typename _param_type8,
typename _param_type9,
184 typename _param_type10>
185 static sxe::shared_ptr< _concrete_event >
create(
const _param_type1& _p1,
const _param_type2& _p2,
const _param_type3& _p3,
186 const _param_type4& _p4,
const _param_type5& _p5,
const _param_type6& _p6,
const _param_type7& _p7,
187 const _param_type8& _p8,
const _param_type9& _p9,
const _param_type10& _p10 )
189 return( SX_MAKE_SHARED< _concrete_event >( _p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8, _p9, _p10 ) );
194 template<
typename ... _param_types>
197 static sxe::shared_ptr< _concrete_event >
create( _param_types... args )
199 return( SX_MAKE_SHARED< _concrete_event >( args... ) );
specialized_event(const std::string _name=std::string())
Constructor.
Definition: specialized_event.hpp:30
virtual std::string get_name() const SX_OVERRIDE
Getter for event's name.
Definition: specialized_event.hpp:48
sxe::uint32_t event_id
The type alias for yasmine's event IDs.
Definition: event_id.hpp:26
static sxe::shared_ptr< _concrete_event > create(_param_types... args)
Method for creating an event with its parameters.
Definition: specialized_event.hpp:197
Definition: adapter_cpp11.hpp:21
Class that inherits event_impl and provides a fixed event ID and priority as well as create methods f...
Definition: specialized_event.hpp:26
virtual sxy::event_id get_id() const SX_OVERRIDE
Getter for event's ID.
Definition: specialized_event.hpp:57
Events that are processed by the state machine. An event can have an ID, a name and a priority (for p...
Definition: event_impl.hpp:25
static constexpr sxy::event_id get_event_id()
Static getter for event's ID.
Definition: specialized_event.hpp:69
virtual std::string get_name() const SX_OVERRIDE
Getter of event's name.
Definition: event_impl.cpp:45
virtual ~specialized_event() SX_NOEXCEPT SX_OVERRIDE
Definition: specialized_event.hpp:38