Chris@16
|
1 // Copyright (C) 2000 Stephen Cleary
|
Chris@16
|
2 //
|
Chris@16
|
3 // Distributed under the Boost Software License, Version 1.0. (See accompany-
|
Chris@16
|
4 // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
5 //
|
Chris@16
|
6 // See http://www.boost.org for updates, documentation, and revision history.
|
Chris@16
|
7
|
Chris@16
|
8 // This file was AUTOMATICALLY GENERATED from "stdin"
|
Chris@16
|
9 // Do NOT include directly!
|
Chris@16
|
10 // Do NOT edit!
|
Chris@16
|
11
|
Chris@16
|
12 template <typename T0>
|
Chris@16
|
13 element_type * construct(T0 & a0)
|
Chris@16
|
14 {
|
Chris@16
|
15 element_type * const ret = (malloc)();
|
Chris@16
|
16 if (ret == 0)
|
Chris@16
|
17 return ret;
|
Chris@16
|
18 try { new (ret) element_type(a0); }
|
Chris@16
|
19 catch (...) { (free)(ret); throw; }
|
Chris@16
|
20 return ret;
|
Chris@16
|
21 }
|
Chris@16
|
22 template <typename T0>
|
Chris@16
|
23 element_type * construct(const T0 & a0)
|
Chris@16
|
24 {
|
Chris@16
|
25 element_type * const ret = (malloc)();
|
Chris@16
|
26 if (ret == 0)
|
Chris@16
|
27 return ret;
|
Chris@16
|
28 try { new (ret) element_type(a0); }
|
Chris@16
|
29 catch (...) { (free)(ret); throw; }
|
Chris@16
|
30 return ret;
|
Chris@16
|
31 }
|
Chris@16
|
32 template <typename T0>
|
Chris@16
|
33 element_type * construct(volatile T0 & a0)
|
Chris@16
|
34 {
|
Chris@16
|
35 element_type * const ret = (malloc)();
|
Chris@16
|
36 if (ret == 0)
|
Chris@16
|
37 return ret;
|
Chris@16
|
38 try { new (ret) element_type(a0); }
|
Chris@16
|
39 catch (...) { (free)(ret); throw; }
|
Chris@16
|
40 return ret;
|
Chris@16
|
41 }
|
Chris@16
|
42 template <typename T0>
|
Chris@16
|
43 element_type * construct(const volatile T0 & a0)
|
Chris@16
|
44 {
|
Chris@16
|
45 element_type * const ret = (malloc)();
|
Chris@16
|
46 if (ret == 0)
|
Chris@16
|
47 return ret;
|
Chris@16
|
48 try { new (ret) element_type(a0); }
|
Chris@16
|
49 catch (...) { (free)(ret); throw; }
|
Chris@16
|
50 return ret;
|
Chris@16
|
51 }
|
Chris@16
|
52 template <typename T0, typename T1>
|
Chris@16
|
53 element_type * construct(T0 & a0, T1 & a1)
|
Chris@16
|
54 {
|
Chris@16
|
55 element_type * const ret = (malloc)();
|
Chris@16
|
56 if (ret == 0)
|
Chris@16
|
57 return ret;
|
Chris@16
|
58 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
59 catch (...) { (free)(ret); throw; }
|
Chris@16
|
60 return ret;
|
Chris@16
|
61 }
|
Chris@16
|
62 template <typename T0, typename T1>
|
Chris@16
|
63 element_type * construct(const T0 & a0, T1 & a1)
|
Chris@16
|
64 {
|
Chris@16
|
65 element_type * const ret = (malloc)();
|
Chris@16
|
66 if (ret == 0)
|
Chris@16
|
67 return ret;
|
Chris@16
|
68 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
69 catch (...) { (free)(ret); throw; }
|
Chris@16
|
70 return ret;
|
Chris@16
|
71 }
|
Chris@16
|
72 template <typename T0, typename T1>
|
Chris@16
|
73 element_type * construct(volatile T0 & a0, T1 & a1)
|
Chris@16
|
74 {
|
Chris@16
|
75 element_type * const ret = (malloc)();
|
Chris@16
|
76 if (ret == 0)
|
Chris@16
|
77 return ret;
|
Chris@16
|
78 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
79 catch (...) { (free)(ret); throw; }
|
Chris@16
|
80 return ret;
|
Chris@16
|
81 }
|
Chris@16
|
82 template <typename T0, typename T1>
|
Chris@16
|
83 element_type * construct(const volatile T0 & a0, T1 & a1)
|
Chris@16
|
84 {
|
Chris@16
|
85 element_type * const ret = (malloc)();
|
Chris@16
|
86 if (ret == 0)
|
Chris@16
|
87 return ret;
|
Chris@16
|
88 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
89 catch (...) { (free)(ret); throw; }
|
Chris@16
|
90 return ret;
|
Chris@16
|
91 }
|
Chris@16
|
92 template <typename T0, typename T1>
|
Chris@16
|
93 element_type * construct(T0 & a0, const T1 & a1)
|
Chris@16
|
94 {
|
Chris@16
|
95 element_type * const ret = (malloc)();
|
Chris@16
|
96 if (ret == 0)
|
Chris@16
|
97 return ret;
|
Chris@16
|
98 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
99 catch (...) { (free)(ret); throw; }
|
Chris@16
|
100 return ret;
|
Chris@16
|
101 }
|
Chris@16
|
102 template <typename T0, typename T1>
|
Chris@16
|
103 element_type * construct(const T0 & a0, const T1 & a1)
|
Chris@16
|
104 {
|
Chris@16
|
105 element_type * const ret = (malloc)();
|
Chris@16
|
106 if (ret == 0)
|
Chris@16
|
107 return ret;
|
Chris@16
|
108 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
109 catch (...) { (free)(ret); throw; }
|
Chris@16
|
110 return ret;
|
Chris@16
|
111 }
|
Chris@16
|
112 template <typename T0, typename T1>
|
Chris@16
|
113 element_type * construct(volatile T0 & a0, const T1 & a1)
|
Chris@16
|
114 {
|
Chris@16
|
115 element_type * const ret = (malloc)();
|
Chris@16
|
116 if (ret == 0)
|
Chris@16
|
117 return ret;
|
Chris@16
|
118 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
119 catch (...) { (free)(ret); throw; }
|
Chris@16
|
120 return ret;
|
Chris@16
|
121 }
|
Chris@16
|
122 template <typename T0, typename T1>
|
Chris@16
|
123 element_type * construct(const volatile T0 & a0, const T1 & a1)
|
Chris@16
|
124 {
|
Chris@16
|
125 element_type * const ret = (malloc)();
|
Chris@16
|
126 if (ret == 0)
|
Chris@16
|
127 return ret;
|
Chris@16
|
128 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
129 catch (...) { (free)(ret); throw; }
|
Chris@16
|
130 return ret;
|
Chris@16
|
131 }
|
Chris@16
|
132 template <typename T0, typename T1>
|
Chris@16
|
133 element_type * construct(T0 & a0, volatile T1 & a1)
|
Chris@16
|
134 {
|
Chris@16
|
135 element_type * const ret = (malloc)();
|
Chris@16
|
136 if (ret == 0)
|
Chris@16
|
137 return ret;
|
Chris@16
|
138 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
139 catch (...) { (free)(ret); throw; }
|
Chris@16
|
140 return ret;
|
Chris@16
|
141 }
|
Chris@16
|
142 template <typename T0, typename T1>
|
Chris@16
|
143 element_type * construct(const T0 & a0, volatile T1 & a1)
|
Chris@16
|
144 {
|
Chris@16
|
145 element_type * const ret = (malloc)();
|
Chris@16
|
146 if (ret == 0)
|
Chris@16
|
147 return ret;
|
Chris@16
|
148 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
149 catch (...) { (free)(ret); throw; }
|
Chris@16
|
150 return ret;
|
Chris@16
|
151 }
|
Chris@16
|
152 template <typename T0, typename T1>
|
Chris@16
|
153 element_type * construct(volatile T0 & a0, volatile T1 & a1)
|
Chris@16
|
154 {
|
Chris@16
|
155 element_type * const ret = (malloc)();
|
Chris@16
|
156 if (ret == 0)
|
Chris@16
|
157 return ret;
|
Chris@16
|
158 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
159 catch (...) { (free)(ret); throw; }
|
Chris@16
|
160 return ret;
|
Chris@16
|
161 }
|
Chris@16
|
162 template <typename T0, typename T1>
|
Chris@16
|
163 element_type * construct(const volatile T0 & a0, volatile T1 & a1)
|
Chris@16
|
164 {
|
Chris@16
|
165 element_type * const ret = (malloc)();
|
Chris@16
|
166 if (ret == 0)
|
Chris@16
|
167 return ret;
|
Chris@16
|
168 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
169 catch (...) { (free)(ret); throw; }
|
Chris@16
|
170 return ret;
|
Chris@16
|
171 }
|
Chris@16
|
172 template <typename T0, typename T1>
|
Chris@16
|
173 element_type * construct(T0 & a0, const volatile T1 & a1)
|
Chris@16
|
174 {
|
Chris@16
|
175 element_type * const ret = (malloc)();
|
Chris@16
|
176 if (ret == 0)
|
Chris@16
|
177 return ret;
|
Chris@16
|
178 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
179 catch (...) { (free)(ret); throw; }
|
Chris@16
|
180 return ret;
|
Chris@16
|
181 }
|
Chris@16
|
182 template <typename T0, typename T1>
|
Chris@16
|
183 element_type * construct(const T0 & a0, const volatile T1 & a1)
|
Chris@16
|
184 {
|
Chris@16
|
185 element_type * const ret = (malloc)();
|
Chris@16
|
186 if (ret == 0)
|
Chris@16
|
187 return ret;
|
Chris@16
|
188 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
189 catch (...) { (free)(ret); throw; }
|
Chris@16
|
190 return ret;
|
Chris@16
|
191 }
|
Chris@16
|
192 template <typename T0, typename T1>
|
Chris@16
|
193 element_type * construct(volatile T0 & a0, const volatile T1 & a1)
|
Chris@16
|
194 {
|
Chris@16
|
195 element_type * const ret = (malloc)();
|
Chris@16
|
196 if (ret == 0)
|
Chris@16
|
197 return ret;
|
Chris@16
|
198 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
199 catch (...) { (free)(ret); throw; }
|
Chris@16
|
200 return ret;
|
Chris@16
|
201 }
|
Chris@16
|
202 template <typename T0, typename T1>
|
Chris@16
|
203 element_type * construct(const volatile T0 & a0, const volatile T1 & a1)
|
Chris@16
|
204 {
|
Chris@16
|
205 element_type * const ret = (malloc)();
|
Chris@16
|
206 if (ret == 0)
|
Chris@16
|
207 return ret;
|
Chris@16
|
208 try { new (ret) element_type(a0, a1); }
|
Chris@16
|
209 catch (...) { (free)(ret); throw; }
|
Chris@16
|
210 return ret;
|
Chris@16
|
211 }
|
Chris@16
|
212 template <typename T0, typename T1, typename T2>
|
Chris@16
|
213 element_type * construct(T0 & a0, T1 & a1, T2 & a2)
|
Chris@16
|
214 {
|
Chris@16
|
215 element_type * const ret = (malloc)();
|
Chris@16
|
216 if (ret == 0)
|
Chris@16
|
217 return ret;
|
Chris@16
|
218 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
219 catch (...) { (free)(ret); throw; }
|
Chris@16
|
220 return ret;
|
Chris@16
|
221 }
|
Chris@16
|
222 template <typename T0, typename T1, typename T2>
|
Chris@16
|
223 element_type * construct(const T0 & a0, T1 & a1, T2 & a2)
|
Chris@16
|
224 {
|
Chris@16
|
225 element_type * const ret = (malloc)();
|
Chris@16
|
226 if (ret == 0)
|
Chris@16
|
227 return ret;
|
Chris@16
|
228 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
229 catch (...) { (free)(ret); throw; }
|
Chris@16
|
230 return ret;
|
Chris@16
|
231 }
|
Chris@16
|
232 template <typename T0, typename T1, typename T2>
|
Chris@16
|
233 element_type * construct(volatile T0 & a0, T1 & a1, T2 & a2)
|
Chris@16
|
234 {
|
Chris@16
|
235 element_type * const ret = (malloc)();
|
Chris@16
|
236 if (ret == 0)
|
Chris@16
|
237 return ret;
|
Chris@16
|
238 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
239 catch (...) { (free)(ret); throw; }
|
Chris@16
|
240 return ret;
|
Chris@16
|
241 }
|
Chris@16
|
242 template <typename T0, typename T1, typename T2>
|
Chris@16
|
243 element_type * construct(const volatile T0 & a0, T1 & a1, T2 & a2)
|
Chris@16
|
244 {
|
Chris@16
|
245 element_type * const ret = (malloc)();
|
Chris@16
|
246 if (ret == 0)
|
Chris@16
|
247 return ret;
|
Chris@16
|
248 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
249 catch (...) { (free)(ret); throw; }
|
Chris@16
|
250 return ret;
|
Chris@16
|
251 }
|
Chris@16
|
252 template <typename T0, typename T1, typename T2>
|
Chris@16
|
253 element_type * construct(T0 & a0, const T1 & a1, T2 & a2)
|
Chris@16
|
254 {
|
Chris@16
|
255 element_type * const ret = (malloc)();
|
Chris@16
|
256 if (ret == 0)
|
Chris@16
|
257 return ret;
|
Chris@16
|
258 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
259 catch (...) { (free)(ret); throw; }
|
Chris@16
|
260 return ret;
|
Chris@16
|
261 }
|
Chris@16
|
262 template <typename T0, typename T1, typename T2>
|
Chris@16
|
263 element_type * construct(const T0 & a0, const T1 & a1, T2 & a2)
|
Chris@16
|
264 {
|
Chris@16
|
265 element_type * const ret = (malloc)();
|
Chris@16
|
266 if (ret == 0)
|
Chris@16
|
267 return ret;
|
Chris@16
|
268 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
269 catch (...) { (free)(ret); throw; }
|
Chris@16
|
270 return ret;
|
Chris@16
|
271 }
|
Chris@16
|
272 template <typename T0, typename T1, typename T2>
|
Chris@16
|
273 element_type * construct(volatile T0 & a0, const T1 & a1, T2 & a2)
|
Chris@16
|
274 {
|
Chris@16
|
275 element_type * const ret = (malloc)();
|
Chris@16
|
276 if (ret == 0)
|
Chris@16
|
277 return ret;
|
Chris@16
|
278 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
279 catch (...) { (free)(ret); throw; }
|
Chris@16
|
280 return ret;
|
Chris@16
|
281 }
|
Chris@16
|
282 template <typename T0, typename T1, typename T2>
|
Chris@16
|
283 element_type * construct(const volatile T0 & a0, const T1 & a1, T2 & a2)
|
Chris@16
|
284 {
|
Chris@16
|
285 element_type * const ret = (malloc)();
|
Chris@16
|
286 if (ret == 0)
|
Chris@16
|
287 return ret;
|
Chris@16
|
288 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
289 catch (...) { (free)(ret); throw; }
|
Chris@16
|
290 return ret;
|
Chris@16
|
291 }
|
Chris@16
|
292 template <typename T0, typename T1, typename T2>
|
Chris@16
|
293 element_type * construct(T0 & a0, volatile T1 & a1, T2 & a2)
|
Chris@16
|
294 {
|
Chris@16
|
295 element_type * const ret = (malloc)();
|
Chris@16
|
296 if (ret == 0)
|
Chris@16
|
297 return ret;
|
Chris@16
|
298 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
299 catch (...) { (free)(ret); throw; }
|
Chris@16
|
300 return ret;
|
Chris@16
|
301 }
|
Chris@16
|
302 template <typename T0, typename T1, typename T2>
|
Chris@16
|
303 element_type * construct(const T0 & a0, volatile T1 & a1, T2 & a2)
|
Chris@16
|
304 {
|
Chris@16
|
305 element_type * const ret = (malloc)();
|
Chris@16
|
306 if (ret == 0)
|
Chris@16
|
307 return ret;
|
Chris@16
|
308 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
309 catch (...) { (free)(ret); throw; }
|
Chris@16
|
310 return ret;
|
Chris@16
|
311 }
|
Chris@16
|
312 template <typename T0, typename T1, typename T2>
|
Chris@16
|
313 element_type * construct(volatile T0 & a0, volatile T1 & a1, T2 & a2)
|
Chris@16
|
314 {
|
Chris@16
|
315 element_type * const ret = (malloc)();
|
Chris@16
|
316 if (ret == 0)
|
Chris@16
|
317 return ret;
|
Chris@16
|
318 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
319 catch (...) { (free)(ret); throw; }
|
Chris@16
|
320 return ret;
|
Chris@16
|
321 }
|
Chris@16
|
322 template <typename T0, typename T1, typename T2>
|
Chris@16
|
323 element_type * construct(const volatile T0 & a0, volatile T1 & a1, T2 & a2)
|
Chris@16
|
324 {
|
Chris@16
|
325 element_type * const ret = (malloc)();
|
Chris@16
|
326 if (ret == 0)
|
Chris@16
|
327 return ret;
|
Chris@16
|
328 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
329 catch (...) { (free)(ret); throw; }
|
Chris@16
|
330 return ret;
|
Chris@16
|
331 }
|
Chris@16
|
332 template <typename T0, typename T1, typename T2>
|
Chris@16
|
333 element_type * construct(T0 & a0, const volatile T1 & a1, T2 & a2)
|
Chris@16
|
334 {
|
Chris@16
|
335 element_type * const ret = (malloc)();
|
Chris@16
|
336 if (ret == 0)
|
Chris@16
|
337 return ret;
|
Chris@16
|
338 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
339 catch (...) { (free)(ret); throw; }
|
Chris@16
|
340 return ret;
|
Chris@16
|
341 }
|
Chris@16
|
342 template <typename T0, typename T1, typename T2>
|
Chris@16
|
343 element_type * construct(const T0 & a0, const volatile T1 & a1, T2 & a2)
|
Chris@16
|
344 {
|
Chris@16
|
345 element_type * const ret = (malloc)();
|
Chris@16
|
346 if (ret == 0)
|
Chris@16
|
347 return ret;
|
Chris@16
|
348 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
349 catch (...) { (free)(ret); throw; }
|
Chris@16
|
350 return ret;
|
Chris@16
|
351 }
|
Chris@16
|
352 template <typename T0, typename T1, typename T2>
|
Chris@16
|
353 element_type * construct(volatile T0 & a0, const volatile T1 & a1, T2 & a2)
|
Chris@16
|
354 {
|
Chris@16
|
355 element_type * const ret = (malloc)();
|
Chris@16
|
356 if (ret == 0)
|
Chris@16
|
357 return ret;
|
Chris@16
|
358 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
359 catch (...) { (free)(ret); throw; }
|
Chris@16
|
360 return ret;
|
Chris@16
|
361 }
|
Chris@16
|
362 template <typename T0, typename T1, typename T2>
|
Chris@16
|
363 element_type * construct(const volatile T0 & a0, const volatile T1 & a1, T2 & a2)
|
Chris@16
|
364 {
|
Chris@16
|
365 element_type * const ret = (malloc)();
|
Chris@16
|
366 if (ret == 0)
|
Chris@16
|
367 return ret;
|
Chris@16
|
368 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
369 catch (...) { (free)(ret); throw; }
|
Chris@16
|
370 return ret;
|
Chris@16
|
371 }
|
Chris@16
|
372 template <typename T0, typename T1, typename T2>
|
Chris@16
|
373 element_type * construct(T0 & a0, T1 & a1, const T2 & a2)
|
Chris@16
|
374 {
|
Chris@16
|
375 element_type * const ret = (malloc)();
|
Chris@16
|
376 if (ret == 0)
|
Chris@16
|
377 return ret;
|
Chris@16
|
378 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
379 catch (...) { (free)(ret); throw; }
|
Chris@16
|
380 return ret;
|
Chris@16
|
381 }
|
Chris@16
|
382 template <typename T0, typename T1, typename T2>
|
Chris@16
|
383 element_type * construct(const T0 & a0, T1 & a1, const T2 & a2)
|
Chris@16
|
384 {
|
Chris@16
|
385 element_type * const ret = (malloc)();
|
Chris@16
|
386 if (ret == 0)
|
Chris@16
|
387 return ret;
|
Chris@16
|
388 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
389 catch (...) { (free)(ret); throw; }
|
Chris@16
|
390 return ret;
|
Chris@16
|
391 }
|
Chris@16
|
392 template <typename T0, typename T1, typename T2>
|
Chris@16
|
393 element_type * construct(volatile T0 & a0, T1 & a1, const T2 & a2)
|
Chris@16
|
394 {
|
Chris@16
|
395 element_type * const ret = (malloc)();
|
Chris@16
|
396 if (ret == 0)
|
Chris@16
|
397 return ret;
|
Chris@16
|
398 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
399 catch (...) { (free)(ret); throw; }
|
Chris@16
|
400 return ret;
|
Chris@16
|
401 }
|
Chris@16
|
402 template <typename T0, typename T1, typename T2>
|
Chris@16
|
403 element_type * construct(const volatile T0 & a0, T1 & a1, const T2 & a2)
|
Chris@16
|
404 {
|
Chris@16
|
405 element_type * const ret = (malloc)();
|
Chris@16
|
406 if (ret == 0)
|
Chris@16
|
407 return ret;
|
Chris@16
|
408 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
409 catch (...) { (free)(ret); throw; }
|
Chris@16
|
410 return ret;
|
Chris@16
|
411 }
|
Chris@16
|
412 template <typename T0, typename T1, typename T2>
|
Chris@16
|
413 element_type * construct(T0 & a0, const T1 & a1, const T2 & a2)
|
Chris@16
|
414 {
|
Chris@16
|
415 element_type * const ret = (malloc)();
|
Chris@16
|
416 if (ret == 0)
|
Chris@16
|
417 return ret;
|
Chris@16
|
418 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
419 catch (...) { (free)(ret); throw; }
|
Chris@16
|
420 return ret;
|
Chris@16
|
421 }
|
Chris@16
|
422 template <typename T0, typename T1, typename T2>
|
Chris@16
|
423 element_type * construct(const T0 & a0, const T1 & a1, const T2 & a2)
|
Chris@16
|
424 {
|
Chris@16
|
425 element_type * const ret = (malloc)();
|
Chris@16
|
426 if (ret == 0)
|
Chris@16
|
427 return ret;
|
Chris@16
|
428 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
429 catch (...) { (free)(ret); throw; }
|
Chris@16
|
430 return ret;
|
Chris@16
|
431 }
|
Chris@16
|
432 template <typename T0, typename T1, typename T2>
|
Chris@16
|
433 element_type * construct(volatile T0 & a0, const T1 & a1, const T2 & a2)
|
Chris@16
|
434 {
|
Chris@16
|
435 element_type * const ret = (malloc)();
|
Chris@16
|
436 if (ret == 0)
|
Chris@16
|
437 return ret;
|
Chris@16
|
438 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
439 catch (...) { (free)(ret); throw; }
|
Chris@16
|
440 return ret;
|
Chris@16
|
441 }
|
Chris@16
|
442 template <typename T0, typename T1, typename T2>
|
Chris@16
|
443 element_type * construct(const volatile T0 & a0, const T1 & a1, const T2 & a2)
|
Chris@16
|
444 {
|
Chris@16
|
445 element_type * const ret = (malloc)();
|
Chris@16
|
446 if (ret == 0)
|
Chris@16
|
447 return ret;
|
Chris@16
|
448 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
449 catch (...) { (free)(ret); throw; }
|
Chris@16
|
450 return ret;
|
Chris@16
|
451 }
|
Chris@16
|
452 template <typename T0, typename T1, typename T2>
|
Chris@16
|
453 element_type * construct(T0 & a0, volatile T1 & a1, const T2 & a2)
|
Chris@16
|
454 {
|
Chris@16
|
455 element_type * const ret = (malloc)();
|
Chris@16
|
456 if (ret == 0)
|
Chris@16
|
457 return ret;
|
Chris@16
|
458 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
459 catch (...) { (free)(ret); throw; }
|
Chris@16
|
460 return ret;
|
Chris@16
|
461 }
|
Chris@16
|
462 template <typename T0, typename T1, typename T2>
|
Chris@16
|
463 element_type * construct(const T0 & a0, volatile T1 & a1, const T2 & a2)
|
Chris@16
|
464 {
|
Chris@16
|
465 element_type * const ret = (malloc)();
|
Chris@16
|
466 if (ret == 0)
|
Chris@16
|
467 return ret;
|
Chris@16
|
468 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
469 catch (...) { (free)(ret); throw; }
|
Chris@16
|
470 return ret;
|
Chris@16
|
471 }
|
Chris@16
|
472 template <typename T0, typename T1, typename T2>
|
Chris@16
|
473 element_type * construct(volatile T0 & a0, volatile T1 & a1, const T2 & a2)
|
Chris@16
|
474 {
|
Chris@16
|
475 element_type * const ret = (malloc)();
|
Chris@16
|
476 if (ret == 0)
|
Chris@16
|
477 return ret;
|
Chris@16
|
478 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
479 catch (...) { (free)(ret); throw; }
|
Chris@16
|
480 return ret;
|
Chris@16
|
481 }
|
Chris@16
|
482 template <typename T0, typename T1, typename T2>
|
Chris@16
|
483 element_type * construct(const volatile T0 & a0, volatile T1 & a1, const T2 & a2)
|
Chris@16
|
484 {
|
Chris@16
|
485 element_type * const ret = (malloc)();
|
Chris@16
|
486 if (ret == 0)
|
Chris@16
|
487 return ret;
|
Chris@16
|
488 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
489 catch (...) { (free)(ret); throw; }
|
Chris@16
|
490 return ret;
|
Chris@16
|
491 }
|
Chris@16
|
492 template <typename T0, typename T1, typename T2>
|
Chris@16
|
493 element_type * construct(T0 & a0, const volatile T1 & a1, const T2 & a2)
|
Chris@16
|
494 {
|
Chris@16
|
495 element_type * const ret = (malloc)();
|
Chris@16
|
496 if (ret == 0)
|
Chris@16
|
497 return ret;
|
Chris@16
|
498 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
499 catch (...) { (free)(ret); throw; }
|
Chris@16
|
500 return ret;
|
Chris@16
|
501 }
|
Chris@16
|
502 template <typename T0, typename T1, typename T2>
|
Chris@16
|
503 element_type * construct(const T0 & a0, const volatile T1 & a1, const T2 & a2)
|
Chris@16
|
504 {
|
Chris@16
|
505 element_type * const ret = (malloc)();
|
Chris@16
|
506 if (ret == 0)
|
Chris@16
|
507 return ret;
|
Chris@16
|
508 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
509 catch (...) { (free)(ret); throw; }
|
Chris@16
|
510 return ret;
|
Chris@16
|
511 }
|
Chris@16
|
512 template <typename T0, typename T1, typename T2>
|
Chris@16
|
513 element_type * construct(volatile T0 & a0, const volatile T1 & a1, const T2 & a2)
|
Chris@16
|
514 {
|
Chris@16
|
515 element_type * const ret = (malloc)();
|
Chris@16
|
516 if (ret == 0)
|
Chris@16
|
517 return ret;
|
Chris@16
|
518 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
519 catch (...) { (free)(ret); throw; }
|
Chris@16
|
520 return ret;
|
Chris@16
|
521 }
|
Chris@16
|
522 template <typename T0, typename T1, typename T2>
|
Chris@16
|
523 element_type * construct(const volatile T0 & a0, const volatile T1 & a1, const T2 & a2)
|
Chris@16
|
524 {
|
Chris@16
|
525 element_type * const ret = (malloc)();
|
Chris@16
|
526 if (ret == 0)
|
Chris@16
|
527 return ret;
|
Chris@16
|
528 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
529 catch (...) { (free)(ret); throw; }
|
Chris@16
|
530 return ret;
|
Chris@16
|
531 }
|
Chris@16
|
532 template <typename T0, typename T1, typename T2>
|
Chris@16
|
533 element_type * construct(T0 & a0, T1 & a1, volatile T2 & a2)
|
Chris@16
|
534 {
|
Chris@16
|
535 element_type * const ret = (malloc)();
|
Chris@16
|
536 if (ret == 0)
|
Chris@16
|
537 return ret;
|
Chris@16
|
538 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
539 catch (...) { (free)(ret); throw; }
|
Chris@16
|
540 return ret;
|
Chris@16
|
541 }
|
Chris@16
|
542 template <typename T0, typename T1, typename T2>
|
Chris@16
|
543 element_type * construct(const T0 & a0, T1 & a1, volatile T2 & a2)
|
Chris@16
|
544 {
|
Chris@16
|
545 element_type * const ret = (malloc)();
|
Chris@16
|
546 if (ret == 0)
|
Chris@16
|
547 return ret;
|
Chris@16
|
548 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
549 catch (...) { (free)(ret); throw; }
|
Chris@16
|
550 return ret;
|
Chris@16
|
551 }
|
Chris@16
|
552 template <typename T0, typename T1, typename T2>
|
Chris@16
|
553 element_type * construct(volatile T0 & a0, T1 & a1, volatile T2 & a2)
|
Chris@16
|
554 {
|
Chris@16
|
555 element_type * const ret = (malloc)();
|
Chris@16
|
556 if (ret == 0)
|
Chris@16
|
557 return ret;
|
Chris@16
|
558 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
559 catch (...) { (free)(ret); throw; }
|
Chris@16
|
560 return ret;
|
Chris@16
|
561 }
|
Chris@16
|
562 template <typename T0, typename T1, typename T2>
|
Chris@16
|
563 element_type * construct(const volatile T0 & a0, T1 & a1, volatile T2 & a2)
|
Chris@16
|
564 {
|
Chris@16
|
565 element_type * const ret = (malloc)();
|
Chris@16
|
566 if (ret == 0)
|
Chris@16
|
567 return ret;
|
Chris@16
|
568 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
569 catch (...) { (free)(ret); throw; }
|
Chris@16
|
570 return ret;
|
Chris@16
|
571 }
|
Chris@16
|
572 template <typename T0, typename T1, typename T2>
|
Chris@16
|
573 element_type * construct(T0 & a0, const T1 & a1, volatile T2 & a2)
|
Chris@16
|
574 {
|
Chris@16
|
575 element_type * const ret = (malloc)();
|
Chris@16
|
576 if (ret == 0)
|
Chris@16
|
577 return ret;
|
Chris@16
|
578 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
579 catch (...) { (free)(ret); throw; }
|
Chris@16
|
580 return ret;
|
Chris@16
|
581 }
|
Chris@16
|
582 template <typename T0, typename T1, typename T2>
|
Chris@16
|
583 element_type * construct(const T0 & a0, const T1 & a1, volatile T2 & a2)
|
Chris@16
|
584 {
|
Chris@16
|
585 element_type * const ret = (malloc)();
|
Chris@16
|
586 if (ret == 0)
|
Chris@16
|
587 return ret;
|
Chris@16
|
588 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
589 catch (...) { (free)(ret); throw; }
|
Chris@16
|
590 return ret;
|
Chris@16
|
591 }
|
Chris@16
|
592 template <typename T0, typename T1, typename T2>
|
Chris@16
|
593 element_type * construct(volatile T0 & a0, const T1 & a1, volatile T2 & a2)
|
Chris@16
|
594 {
|
Chris@16
|
595 element_type * const ret = (malloc)();
|
Chris@16
|
596 if (ret == 0)
|
Chris@16
|
597 return ret;
|
Chris@16
|
598 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
599 catch (...) { (free)(ret); throw; }
|
Chris@16
|
600 return ret;
|
Chris@16
|
601 }
|
Chris@16
|
602 template <typename T0, typename T1, typename T2>
|
Chris@16
|
603 element_type * construct(const volatile T0 & a0, const T1 & a1, volatile T2 & a2)
|
Chris@16
|
604 {
|
Chris@16
|
605 element_type * const ret = (malloc)();
|
Chris@16
|
606 if (ret == 0)
|
Chris@16
|
607 return ret;
|
Chris@16
|
608 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
609 catch (...) { (free)(ret); throw; }
|
Chris@16
|
610 return ret;
|
Chris@16
|
611 }
|
Chris@16
|
612 template <typename T0, typename T1, typename T2>
|
Chris@16
|
613 element_type * construct(T0 & a0, volatile T1 & a1, volatile T2 & a2)
|
Chris@16
|
614 {
|
Chris@16
|
615 element_type * const ret = (malloc)();
|
Chris@16
|
616 if (ret == 0)
|
Chris@16
|
617 return ret;
|
Chris@16
|
618 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
619 catch (...) { (free)(ret); throw; }
|
Chris@16
|
620 return ret;
|
Chris@16
|
621 }
|
Chris@16
|
622 template <typename T0, typename T1, typename T2>
|
Chris@16
|
623 element_type * construct(const T0 & a0, volatile T1 & a1, volatile T2 & a2)
|
Chris@16
|
624 {
|
Chris@16
|
625 element_type * const ret = (malloc)();
|
Chris@16
|
626 if (ret == 0)
|
Chris@16
|
627 return ret;
|
Chris@16
|
628 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
629 catch (...) { (free)(ret); throw; }
|
Chris@16
|
630 return ret;
|
Chris@16
|
631 }
|
Chris@16
|
632 template <typename T0, typename T1, typename T2>
|
Chris@16
|
633 element_type * construct(volatile T0 & a0, volatile T1 & a1, volatile T2 & a2)
|
Chris@16
|
634 {
|
Chris@16
|
635 element_type * const ret = (malloc)();
|
Chris@16
|
636 if (ret == 0)
|
Chris@16
|
637 return ret;
|
Chris@16
|
638 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
639 catch (...) { (free)(ret); throw; }
|
Chris@16
|
640 return ret;
|
Chris@16
|
641 }
|
Chris@16
|
642 template <typename T0, typename T1, typename T2>
|
Chris@16
|
643 element_type * construct(const volatile T0 & a0, volatile T1 & a1, volatile T2 & a2)
|
Chris@16
|
644 {
|
Chris@16
|
645 element_type * const ret = (malloc)();
|
Chris@16
|
646 if (ret == 0)
|
Chris@16
|
647 return ret;
|
Chris@16
|
648 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
649 catch (...) { (free)(ret); throw; }
|
Chris@16
|
650 return ret;
|
Chris@16
|
651 }
|
Chris@16
|
652 template <typename T0, typename T1, typename T2>
|
Chris@16
|
653 element_type * construct(T0 & a0, const volatile T1 & a1, volatile T2 & a2)
|
Chris@16
|
654 {
|
Chris@16
|
655 element_type * const ret = (malloc)();
|
Chris@16
|
656 if (ret == 0)
|
Chris@16
|
657 return ret;
|
Chris@16
|
658 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
659 catch (...) { (free)(ret); throw; }
|
Chris@16
|
660 return ret;
|
Chris@16
|
661 }
|
Chris@16
|
662 template <typename T0, typename T1, typename T2>
|
Chris@16
|
663 element_type * construct(const T0 & a0, const volatile T1 & a1, volatile T2 & a2)
|
Chris@16
|
664 {
|
Chris@16
|
665 element_type * const ret = (malloc)();
|
Chris@16
|
666 if (ret == 0)
|
Chris@16
|
667 return ret;
|
Chris@16
|
668 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
669 catch (...) { (free)(ret); throw; }
|
Chris@16
|
670 return ret;
|
Chris@16
|
671 }
|
Chris@16
|
672 template <typename T0, typename T1, typename T2>
|
Chris@16
|
673 element_type * construct(volatile T0 & a0, const volatile T1 & a1, volatile T2 & a2)
|
Chris@16
|
674 {
|
Chris@16
|
675 element_type * const ret = (malloc)();
|
Chris@16
|
676 if (ret == 0)
|
Chris@16
|
677 return ret;
|
Chris@16
|
678 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
679 catch (...) { (free)(ret); throw; }
|
Chris@16
|
680 return ret;
|
Chris@16
|
681 }
|
Chris@16
|
682 template <typename T0, typename T1, typename T2>
|
Chris@16
|
683 element_type * construct(const volatile T0 & a0, const volatile T1 & a1, volatile T2 & a2)
|
Chris@16
|
684 {
|
Chris@16
|
685 element_type * const ret = (malloc)();
|
Chris@16
|
686 if (ret == 0)
|
Chris@16
|
687 return ret;
|
Chris@16
|
688 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
689 catch (...) { (free)(ret); throw; }
|
Chris@16
|
690 return ret;
|
Chris@16
|
691 }
|
Chris@16
|
692 template <typename T0, typename T1, typename T2>
|
Chris@16
|
693 element_type * construct(T0 & a0, T1 & a1, const volatile T2 & a2)
|
Chris@16
|
694 {
|
Chris@16
|
695 element_type * const ret = (malloc)();
|
Chris@16
|
696 if (ret == 0)
|
Chris@16
|
697 return ret;
|
Chris@16
|
698 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
699 catch (...) { (free)(ret); throw; }
|
Chris@16
|
700 return ret;
|
Chris@16
|
701 }
|
Chris@16
|
702 template <typename T0, typename T1, typename T2>
|
Chris@16
|
703 element_type * construct(const T0 & a0, T1 & a1, const volatile T2 & a2)
|
Chris@16
|
704 {
|
Chris@16
|
705 element_type * const ret = (malloc)();
|
Chris@16
|
706 if (ret == 0)
|
Chris@16
|
707 return ret;
|
Chris@16
|
708 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
709 catch (...) { (free)(ret); throw; }
|
Chris@16
|
710 return ret;
|
Chris@16
|
711 }
|
Chris@16
|
712 template <typename T0, typename T1, typename T2>
|
Chris@16
|
713 element_type * construct(volatile T0 & a0, T1 & a1, const volatile T2 & a2)
|
Chris@16
|
714 {
|
Chris@16
|
715 element_type * const ret = (malloc)();
|
Chris@16
|
716 if (ret == 0)
|
Chris@16
|
717 return ret;
|
Chris@16
|
718 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
719 catch (...) { (free)(ret); throw; }
|
Chris@16
|
720 return ret;
|
Chris@16
|
721 }
|
Chris@16
|
722 template <typename T0, typename T1, typename T2>
|
Chris@16
|
723 element_type * construct(const volatile T0 & a0, T1 & a1, const volatile T2 & a2)
|
Chris@16
|
724 {
|
Chris@16
|
725 element_type * const ret = (malloc)();
|
Chris@16
|
726 if (ret == 0)
|
Chris@16
|
727 return ret;
|
Chris@16
|
728 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
729 catch (...) { (free)(ret); throw; }
|
Chris@16
|
730 return ret;
|
Chris@16
|
731 }
|
Chris@16
|
732 template <typename T0, typename T1, typename T2>
|
Chris@16
|
733 element_type * construct(T0 & a0, const T1 & a1, const volatile T2 & a2)
|
Chris@16
|
734 {
|
Chris@16
|
735 element_type * const ret = (malloc)();
|
Chris@16
|
736 if (ret == 0)
|
Chris@16
|
737 return ret;
|
Chris@16
|
738 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
739 catch (...) { (free)(ret); throw; }
|
Chris@16
|
740 return ret;
|
Chris@16
|
741 }
|
Chris@16
|
742 template <typename T0, typename T1, typename T2>
|
Chris@16
|
743 element_type * construct(const T0 & a0, const T1 & a1, const volatile T2 & a2)
|
Chris@16
|
744 {
|
Chris@16
|
745 element_type * const ret = (malloc)();
|
Chris@16
|
746 if (ret == 0)
|
Chris@16
|
747 return ret;
|
Chris@16
|
748 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
749 catch (...) { (free)(ret); throw; }
|
Chris@16
|
750 return ret;
|
Chris@16
|
751 }
|
Chris@16
|
752 template <typename T0, typename T1, typename T2>
|
Chris@16
|
753 element_type * construct(volatile T0 & a0, const T1 & a1, const volatile T2 & a2)
|
Chris@16
|
754 {
|
Chris@16
|
755 element_type * const ret = (malloc)();
|
Chris@16
|
756 if (ret == 0)
|
Chris@16
|
757 return ret;
|
Chris@16
|
758 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
759 catch (...) { (free)(ret); throw; }
|
Chris@16
|
760 return ret;
|
Chris@16
|
761 }
|
Chris@16
|
762 template <typename T0, typename T1, typename T2>
|
Chris@16
|
763 element_type * construct(const volatile T0 & a0, const T1 & a1, const volatile T2 & a2)
|
Chris@16
|
764 {
|
Chris@16
|
765 element_type * const ret = (malloc)();
|
Chris@16
|
766 if (ret == 0)
|
Chris@16
|
767 return ret;
|
Chris@16
|
768 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
769 catch (...) { (free)(ret); throw; }
|
Chris@16
|
770 return ret;
|
Chris@16
|
771 }
|
Chris@16
|
772 template <typename T0, typename T1, typename T2>
|
Chris@16
|
773 element_type * construct(T0 & a0, volatile T1 & a1, const volatile T2 & a2)
|
Chris@16
|
774 {
|
Chris@16
|
775 element_type * const ret = (malloc)();
|
Chris@16
|
776 if (ret == 0)
|
Chris@16
|
777 return ret;
|
Chris@16
|
778 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
779 catch (...) { (free)(ret); throw; }
|
Chris@16
|
780 return ret;
|
Chris@16
|
781 }
|
Chris@16
|
782 template <typename T0, typename T1, typename T2>
|
Chris@16
|
783 element_type * construct(const T0 & a0, volatile T1 & a1, const volatile T2 & a2)
|
Chris@16
|
784 {
|
Chris@16
|
785 element_type * const ret = (malloc)();
|
Chris@16
|
786 if (ret == 0)
|
Chris@16
|
787 return ret;
|
Chris@16
|
788 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
789 catch (...) { (free)(ret); throw; }
|
Chris@16
|
790 return ret;
|
Chris@16
|
791 }
|
Chris@16
|
792 template <typename T0, typename T1, typename T2>
|
Chris@16
|
793 element_type * construct(volatile T0 & a0, volatile T1 & a1, const volatile T2 & a2)
|
Chris@16
|
794 {
|
Chris@16
|
795 element_type * const ret = (malloc)();
|
Chris@16
|
796 if (ret == 0)
|
Chris@16
|
797 return ret;
|
Chris@16
|
798 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
799 catch (...) { (free)(ret); throw; }
|
Chris@16
|
800 return ret;
|
Chris@16
|
801 }
|
Chris@16
|
802 template <typename T0, typename T1, typename T2>
|
Chris@16
|
803 element_type * construct(const volatile T0 & a0, volatile T1 & a1, const volatile T2 & a2)
|
Chris@16
|
804 {
|
Chris@16
|
805 element_type * const ret = (malloc)();
|
Chris@16
|
806 if (ret == 0)
|
Chris@16
|
807 return ret;
|
Chris@16
|
808 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
809 catch (...) { (free)(ret); throw; }
|
Chris@16
|
810 return ret;
|
Chris@16
|
811 }
|
Chris@16
|
812 template <typename T0, typename T1, typename T2>
|
Chris@16
|
813 element_type * construct(T0 & a0, const volatile T1 & a1, const volatile T2 & a2)
|
Chris@16
|
814 {
|
Chris@16
|
815 element_type * const ret = (malloc)();
|
Chris@16
|
816 if (ret == 0)
|
Chris@16
|
817 return ret;
|
Chris@16
|
818 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
819 catch (...) { (free)(ret); throw; }
|
Chris@16
|
820 return ret;
|
Chris@16
|
821 }
|
Chris@16
|
822 template <typename T0, typename T1, typename T2>
|
Chris@16
|
823 element_type * construct(const T0 & a0, const volatile T1 & a1, const volatile T2 & a2)
|
Chris@16
|
824 {
|
Chris@16
|
825 element_type * const ret = (malloc)();
|
Chris@16
|
826 if (ret == 0)
|
Chris@16
|
827 return ret;
|
Chris@16
|
828 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
829 catch (...) { (free)(ret); throw; }
|
Chris@16
|
830 return ret;
|
Chris@16
|
831 }
|
Chris@16
|
832 template <typename T0, typename T1, typename T2>
|
Chris@16
|
833 element_type * construct(volatile T0 & a0, const volatile T1 & a1, const volatile T2 & a2)
|
Chris@16
|
834 {
|
Chris@16
|
835 element_type * const ret = (malloc)();
|
Chris@16
|
836 if (ret == 0)
|
Chris@16
|
837 return ret;
|
Chris@16
|
838 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
839 catch (...) { (free)(ret); throw; }
|
Chris@16
|
840 return ret;
|
Chris@16
|
841 }
|
Chris@16
|
842 template <typename T0, typename T1, typename T2>
|
Chris@16
|
843 element_type * construct(const volatile T0 & a0, const volatile T1 & a1, const volatile T2 & a2)
|
Chris@16
|
844 {
|
Chris@16
|
845 element_type * const ret = (malloc)();
|
Chris@16
|
846 if (ret == 0)
|
Chris@16
|
847 return ret;
|
Chris@16
|
848 try { new (ret) element_type(a0, a1, a2); }
|
Chris@16
|
849 catch (...) { (free)(ret); throw; }
|
Chris@16
|
850 return ret;
|
Chris@16
|
851 }
|
Chris@16
|
852
|