acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
procedure_array.h
1
#pragma once
2
3
4
//class ::procedure_array :
5
// virtual public array < object_procedure >
6
//{
7
//public:
8
//
9
//
10
// ::procedure_array(::particle * pparticle) :
11
// ::matter(pparticle)
12
// {
13
//
14
// }
15
//
16
//
17
// inline thread_ptra async_all()
18
// {
19
//
20
// thread_ptra threadptra;
21
//
22
// auto & a = *this;
23
//
24
// for(auto & proutine : a)
25
// {
26
//
27
// threadptra.add(fork([=]()
28
// {
29
//
30
// (this->*proutine)();
31
//
32
// }));
33
//
34
// }
35
//
36
// return threadptra;
37
//
38
// }
39
//
40
//
41
// inline void sync_all()
42
// {
43
//
44
// auto & a = *this;
45
//
46
// for(auto & proutine : a)
47
// {
48
//
49
// try
50
// {
51
//
52
// if(!::task_get_run())
53
// {
54
//
55
// break;
56
//
57
// }
58
//
59
// }
60
// catch(...)
61
// {
62
//
63
// }
64
//
65
// try
66
// {
67
//
68
// (this->*proutine)();
69
//
70
// }
71
// catch(...)
72
// {
73
//
74
// }
75
//
76
// }
77
//
78
// }
79
//
80
//
81
// inline ::extended::status try_sync_catch_all()
82
// {
83
//
84
// ::extended::status result;
85
//
86
// auto & a = *this;
87
//
88
// for(auto & proutine : a)
89
// {
90
//
91
// try
92
// {
93
//
94
// if(!::task_get_run())
95
// {
96
//
97
// break;
98
//
99
// }
100
//
101
// }
102
// catch(const ::exception & e)
103
// {
104
//
105
// result.add(e);
106
//
107
// }
108
// catch(...)
109
// {
110
//
111
// result.add(::error_exception);
112
//
113
// }
114
//
115
// try
116
// {
117
//
118
// (this->*proutine)();
119
//
120
// }
121
// catch(const ::exception & e)
122
// {
123
//
124
// result.add(e);
125
//
126
// }
127
// catch(...)
128
// {
129
//
130
// result.add(::error_exception);
131
//
132
// }
133
//
134
// }
135
//
136
// return result;
137
//
138
// }
139
//
140
//
141
//};
142
//
143
//
144
//typedef ::pointer<::procedure_array>procedure_array_pointer;
platform
procedure_array.h
Generated by
1.17.0