acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
dispatch_array.h
1
// Created based on ca2 sequence theoric classed by
2
// camilo on 2024-1007 17:40 <3ThomasBorregaardSorensen!!
3
#pragma once
4
5
6
#include "acme/prototype/collection/procedure_array.h"
7
8
9
class
sequence;
10
11
#include "acme/prototype/prototype/function.h"
12
13
//
14
//
16
//class sequencer;
17
//using sequencer_step =
18
//::function < void(::sequencer & sequencer) >;
19
//
134
135
136
using
particle_pointer = ::pointer < ::particle >;
137
138
139
140
class
CLASS_DECL_ACME dispatch_array2 :
141
virtual
public
::procedure_array
142
{
143
public
:
144
145
146
147
//::procedure m_procedure;
148
//::pointer < sequence > m_psequence;
149
::cast < ::particle > m_pparticleDispatcher;
150
enum_dispatch m_edispatch;
151
152
153
//dispatch_array2(::particle * pparticleDispatcher, enum_dispatch edispatch);
154
dispatch_array2(::particle * pparticleDispatcher, enum_dispatch edispatch);
155
//sequence_continuation(::particle * pparticleTarget, enum_dispatch edispatch, const ::procedure & procedure, bool bCreateSequence = false);
156
dispatch_array2(::particle * pparticleDispatcher, enum_dispatch edispatch, const ::procedure &procedure);
157
dispatch_array2(
const
dispatch_array2 & dispatcha);
158
159
160
161
dispatch_array2 & operator << (const ::procedure & procedure);
162
163
164
~dispatch_array2();
165
166
167
void
run()
override
;
168
169
170
void
dispatch_this();
171
172
173
};
174
175
176
177
178
class
CLASS_DECL_ACME
dispatch_arrayø
:
179
virtual
public
::dispatch_array2
180
{
181
public
:
182
183
184
using
dispatch_array2::dispatch_array2;
185
186
187
~dispatch_arrayø
()
188
{
189
190
try
191
{
192
193
dispatch_this();
194
195
}
196
catch
(...)
197
{
198
199
}
200
201
}
202
203
204
};
205
206
207
208
209
210
// class CLASS_DECL_ACME post_dispatch_array :
211
// public dispatch_arrayø
212
// {
213
// public:
214
//
215
//
216
// post_dispatch_array(::particle * pparticleDispatcher) : dispatch_arrayø(pparticleDispatcher, e_dispatch_post) {}
217
// post_dispatch_array(::particle * pparticleDispatcher, const::procedure & procedure) : dispatch_arrayø(pparticleDispatcher, e_dispatch_post, procedure) {}
218
// post_dispatch_array & operator << (const ::procedure & procedure)
219
// {
220
// dispatch_arrayø::operator <<(procedure);
221
// return *this;
222
// }
223
//
224
// };
225
//
226
//
227
// class CLASS_DECL_ACME send_dispatch_array :
228
// public dispatch_arrayø
229
// {
230
// public:
231
//
232
//
233
// send_dispatch_array(::particle * pparticleDispatcher) : dispatch_arrayø(pparticleDispatcher, e_dispatch_send) {}
234
// send_dispatch_array(::particle * pparticleDispatcher, const::procedure & procedure) : dispatch_arrayø(pparticleDispatcher, e_dispatch_send, procedure) {}
235
// send_dispatch_array & operator << (const ::procedure & procedure)
236
// {
237
// dispatch_arrayø::operator <<(procedure);
238
// return *this;
239
// }
240
//
241
// };
dispatch_arrayø
Definition
dispatch_array.h:180
handler
dispatch_array.h
Generated by
1.17.0