File src/batch.h changed (mode: 100644) (index 0772dc7..f3d6d69) |
... |
... |
namespace om636 |
61 |
61 |
{ |
{ |
62 |
62 |
|
|
63 |
63 |
template<typename T> |
template<typename T> |
64 |
|
void process_and_kill( batch_type & ); |
|
|
64 |
|
void process_and_kill( T & ); |
65 |
65 |
|
|
66 |
|
template<typename T> |
|
67 |
|
template<typename V> |
|
68 |
|
void process_and_kill( batch_type &, V ); |
|
|
66 |
|
template<typename T, typename V> |
|
67 |
|
void process_and_kill( T &, V ); |
69 |
68 |
|
|
70 |
|
template<typename T> |
|
71 |
|
template<typename V, typename W> |
|
72 |
|
void process_and_kill( batch_type &, V, W ); |
|
|
69 |
|
template<typename T, typename V, typename W> |
|
70 |
|
void process_and_kill( T &, V, W ); |
73 |
71 |
|
|
74 |
72 |
template<typename T> |
template<typename T> |
75 |
|
void process( batch_type & ); |
|
|
73 |
|
void process( T & ); |
76 |
74 |
|
|
77 |
|
template<typename T> |
|
78 |
|
template<typename V> |
|
79 |
|
void process( batch_type &, V ); |
|
|
75 |
|
template<typename T, typename V> |
|
76 |
|
void process( T &, V ); |
80 |
77 |
|
|
81 |
|
template<typename T> |
|
82 |
|
template<typename V, typename W> |
|
83 |
|
void process( batch_type &, V, W ); |
|
|
78 |
|
template<typename T, typename V, typename W> |
|
79 |
|
void process( T &, V, W ); |
84 |
80 |
|
|
85 |
81 |
template<typename T> |
template<typename T> |
86 |
|
void kill_all(batch_type &); |
|
|
82 |
|
void kill_all(T &); |
87 |
83 |
} |
} |
88 |
84 |
|
|
89 |
85 |
} //control |
} //control |
File src/batch.hxx changed (mode: 100644) (index ce650c1..6f1e001) |
... |
... |
namespace om636 |
105 |
105 |
template<typename T> |
template<typename T> |
106 |
106 |
void process( T & elements ) |
void process( T & elements ) |
107 |
107 |
{ |
{ |
108 |
|
batch_type copy(elements); |
|
109 |
|
for_each( copy.begin(), copy.end(), [&](pointer_type p) { |
|
|
108 |
|
T copy(elements); |
|
109 |
|
for_each( copy.begin(), copy.end(), [&](typename T::value_type p) { |
110 |
110 |
if (!p->is_dead()) |
if (!p->is_dead()) |
111 |
111 |
p->invoke(); |
p->invoke(); |
112 |
112 |
else |
else |
|
... |
... |
namespace om636 |
115 |
115 |
} |
} |
116 |
116 |
|
|
117 |
117 |
///////////////////////////////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////////////////////////////// |
118 |
|
template<typename T> |
|
119 |
|
template<typename V> |
|
|
118 |
|
template<typename T, typename V> |
120 |
119 |
void process( T & elements, V v ) |
void process( T & elements, V v ) |
121 |
120 |
{ |
{ |
122 |
|
batch_type copy(elements); |
|
123 |
|
for_each( copy.begin(), copy.end(), [&](pointer_type p) { |
|
|
121 |
|
T copy(elements); |
|
122 |
|
for_each( copy.begin(), copy.end(), [&](typename T::value_type p) { |
124 |
123 |
if (!p->is_dead()) |
if (!p->is_dead()) |
125 |
124 |
p->invoke(v); |
p->invoke(v); |
126 |
125 |
else |
else |
|
... |
... |
namespace om636 |
129 |
128 |
} |
} |
130 |
129 |
|
|
131 |
130 |
///////////////////////////////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////////////////////////////// |
132 |
|
template<typename T> |
|
133 |
|
template<typename V, typename W> |
|
|
131 |
|
template<typename T, typename V, typename W> |
134 |
132 |
void process( T & elements, V v, W w ) |
void process( T & elements, V v, W w ) |
135 |
133 |
{ |
{ |
136 |
|
batch_type copy(elements); |
|
137 |
|
for_each( copy.begin(), copy.end(), [&](pointer_type p) { |
|
|
134 |
|
T copy(elements); |
|
135 |
|
for_each( copy.begin(), copy.end(), [&](typename T::value_type p) { |
138 |
136 |
if (!p->is_dead()) |
if (!p->is_dead()) |
139 |
137 |
p->invoke(v, w); |
p->invoke(v, w); |
140 |
138 |
else |
else |
|
... |
... |
namespace om636 |
146 |
144 |
template<typename T> |
template<typename T> |
147 |
145 |
void process_and_kill( T & elements ) |
void process_and_kill( T & elements ) |
148 |
146 |
{ |
{ |
149 |
|
batch_type copy(elements); |
|
150 |
|
for_each( copy.begin(), copy.end(), [](pointer_type p) { |
|
|
147 |
|
T copy(elements); |
|
148 |
|
for_each( copy.begin(), copy.end(), [](typename T::value_type p) { |
151 |
149 |
if (!p->is_dead()) |
if (!p->is_dead()) |
152 |
150 |
p->kill_invoke(); |
p->kill_invoke(); |
153 |
151 |
} ); |
} ); |
|
... |
... |
namespace om636 |
155 |
153 |
} |
} |
156 |
154 |
|
|
157 |
155 |
///////////////////////////////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////////////////////////////// |
158 |
|
template<typename T> |
|
159 |
|
template<typename V> |
|
|
156 |
|
template<typename T, typename V> |
160 |
157 |
void process_and_kill( T & elements, V v ) |
void process_and_kill( T & elements, V v ) |
161 |
158 |
{ |
{ |
162 |
|
batch_type copy(elements); |
|
163 |
|
for_each( copy.begin(), copy.end(), [&](pointer_type p) { |
|
|
159 |
|
T copy(elements); |
|
160 |
|
for_each( copy.begin(), copy.end(), [&](typename T::value_type p) { |
164 |
161 |
if (!p->is_dead()) |
if (!p->is_dead()) |
165 |
162 |
p->kill_invoke(v); |
p->kill_invoke(v); |
166 |
163 |
} ); |
} ); |
|
... |
... |
namespace om636 |
168 |
165 |
} |
} |
169 |
166 |
|
|
170 |
167 |
///////////////////////////////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////////////////////////////// |
171 |
|
template<typename T> |
|
172 |
|
template<typename V, typename W> |
|
|
168 |
|
template<typename T, typename V, typename W> |
173 |
169 |
void process_and_kill( T & elements, V v, W w ) |
void process_and_kill( T & elements, V v, W w ) |
174 |
170 |
{ |
{ |
175 |
|
batch_type copy(elements); |
|
176 |
|
for_each( copy.begin(), copy.end(), [&](pointer_type p) { |
|
|
171 |
|
T copy(elements); |
|
172 |
|
for_each( copy.begin(), copy.end(), [&](typename T::value_type p) { |
177 |
173 |
if (!p->is_dead()) |
if (!p->is_dead()) |
178 |
174 |
p->kill_invoke(v, w); |
p->kill_invoke(v, w); |
179 |
175 |
} ); |
} ); |
|
... |
... |
namespace om636 |
184 |
180 |
template<typename T> |
template<typename T> |
185 |
181 |
void kill_all(T & elements) |
void kill_all(T & elements) |
186 |
182 |
{ |
{ |
187 |
|
for_each( elements.begin(), elements.end(), [](pointer_type p) { |
|
|
183 |
|
for_each( elements.begin(), elements.end(), [](typename T::value_type p) { |
188 |
184 |
p->kill(); |
p->kill(); |
189 |
185 |
} ); |
} ); |
190 |
186 |
elements.clear(); |
elements.clear(); |