]> git.wh0rd.org Git - ICEs.git/blob - 147166/file.ii
initial import
[ICEs.git] / 147166 / file.ii
1 // /usr/libexec/gcc/i686-pc-linux-gnu/4.1.1/cc1plus -quiet -I. -I/home/emanuel/DIKU/3dot/source/scripting -I../.. -I/home/emanuel/DIKU/3dot/source -I/home/emanuel/DIKU/3dot//externals/luabind/ -I/usr/include/CEGUI -MD registerentity.d -MF .deps/registerentity.Tpo -MP -MT registerentity.o -MQ registerentity.o -dD -D_GNU_SOURCE -DHAVE_CONFIG_H /home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp -quiet -dumpbase registerentity.cpp -mtune=pentiumpro -auxbase-strip registerentity.o -g3 -O0 -o - -frandom-seed=0
2 # 1 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp"
3 # 1 "/home/emanuel/DIKU/3dot/debug/source/scripting//"
4 # 1 "<built-in>"
5 #define __STDC__ 1
6 # 1 "<built-in>"
7 #define __cplusplus 1
8 # 1 "<built-in>"
9 #define __STDC_HOSTED__ 1
10 # 1 "<built-in>"
11 #define __GNUC__ 4
12 # 1 "<built-in>"
13 #define __GNUG__ 4
14 # 1 "<built-in>"
15 #define __GNUC_MINOR__ 1
16 # 1 "<built-in>"
17 #define __GNUC_PATCHLEVEL__ 1
18 # 1 "<built-in>"
19 #define __SIZE_TYPE__ unsigned int
20 # 1 "<built-in>"
21 #define __PTRDIFF_TYPE__ int
22 # 1 "<built-in>"
23 #define __WCHAR_TYPE__ long int
24 # 1 "<built-in>"
25 #define __WINT_TYPE__ unsigned int
26 # 1 "<built-in>"
27 #define __INTMAX_TYPE__ long long int
28 # 1 "<built-in>"
29 #define __UINTMAX_TYPE__ long long unsigned int
30 # 1 "<built-in>"
31 #define __GXX_WEAK__ 1
32 # 1 "<built-in>"
33 #define __DEPRECATED 1
34 # 1 "<built-in>"
35 #define __EXCEPTIONS 1
36 # 1 "<built-in>"
37 #define __GXX_ABI_VERSION 1002
38 # 1 "<built-in>"
39 #define __SCHAR_MAX__ 127
40 # 1 "<built-in>"
41 #define __SHRT_MAX__ 32767
42 # 1 "<built-in>"
43 #define __INT_MAX__ 2147483647
44 # 1 "<built-in>"
45 #define __LONG_MAX__ 2147483647L
46 # 1 "<built-in>"
47 #define __LONG_LONG_MAX__ 9223372036854775807LL
48 # 1 "<built-in>"
49 #define __WCHAR_MAX__ 2147483647
50 # 1 "<built-in>"
51 #define __CHAR_BIT__ 8
52 # 1 "<built-in>"
53 #define __INTMAX_MAX__ 9223372036854775807LL
54 # 1 "<built-in>"
55 #define __FLT_EVAL_METHOD__ 2
56 # 1 "<built-in>"
57 #define __FLT_RADIX__ 2
58 # 1 "<built-in>"
59 #define __FLT_MANT_DIG__ 24
60 # 1 "<built-in>"
61 #define __FLT_DIG__ 6
62 # 1 "<built-in>"
63 #define __FLT_MIN_EXP__ (-125)
64 # 1 "<built-in>"
65 #define __FLT_MIN_10_EXP__ (-37)
66 # 1 "<built-in>"
67 #define __FLT_MAX_EXP__ 128
68 # 1 "<built-in>"
69 #define __FLT_MAX_10_EXP__ 38
70 # 1 "<built-in>"
71 #define __FLT_MAX__ 3.40282347e+38F
72 # 1 "<built-in>"
73 #define __FLT_MIN__ 1.17549435e-38F
74 # 1 "<built-in>"
75 #define __FLT_EPSILON__ 1.19209290e-7F
76 # 1 "<built-in>"
77 #define __FLT_DENORM_MIN__ 1.40129846e-45F
78 # 1 "<built-in>"
79 #define __FLT_HAS_INFINITY__ 1
80 # 1 "<built-in>"
81 #define __FLT_HAS_QUIET_NAN__ 1
82 # 1 "<built-in>"
83 #define __DBL_MANT_DIG__ 53
84 # 1 "<built-in>"
85 #define __DBL_DIG__ 15
86 # 1 "<built-in>"
87 #define __DBL_MIN_EXP__ (-1021)
88 # 1 "<built-in>"
89 #define __DBL_MIN_10_EXP__ (-307)
90 # 1 "<built-in>"
91 #define __DBL_MAX_EXP__ 1024
92 # 1 "<built-in>"
93 #define __DBL_MAX_10_EXP__ 308
94 # 1 "<built-in>"
95 #define __DBL_MAX__ 1.7976931348623157e+308
96 # 1 "<built-in>"
97 #define __DBL_MIN__ 2.2250738585072014e-308
98 # 1 "<built-in>"
99 #define __DBL_EPSILON__ 2.2204460492503131e-16
100 # 1 "<built-in>"
101 #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
102 # 1 "<built-in>"
103 #define __DBL_HAS_INFINITY__ 1
104 # 1 "<built-in>"
105 #define __DBL_HAS_QUIET_NAN__ 1
106 # 1 "<built-in>"
107 #define __LDBL_MANT_DIG__ 64
108 # 1 "<built-in>"
109 #define __LDBL_DIG__ 18
110 # 1 "<built-in>"
111 #define __LDBL_MIN_EXP__ (-16381)
112 # 1 "<built-in>"
113 #define __LDBL_MIN_10_EXP__ (-4931)
114 # 1 "<built-in>"
115 #define __LDBL_MAX_EXP__ 16384
116 # 1 "<built-in>"
117 #define __LDBL_MAX_10_EXP__ 4932
118 # 1 "<built-in>"
119 #define __DECIMAL_DIG__ 21
120 # 1 "<built-in>"
121 #define __LDBL_MAX__ 1.18973149535723176502e+4932L
122 # 1 "<built-in>"
123 #define __LDBL_MIN__ 3.36210314311209350626e-4932L
124 # 1 "<built-in>"
125 #define __LDBL_EPSILON__ 1.08420217248550443401e-19L
126 # 1 "<built-in>"
127 #define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
128 # 1 "<built-in>"
129 #define __LDBL_HAS_INFINITY__ 1
130 # 1 "<built-in>"
131 #define __LDBL_HAS_QUIET_NAN__ 1
132 # 1 "<built-in>"
133 #define __REGISTER_PREFIX__ 
134 # 1 "<built-in>"
135 #define __USER_LABEL_PREFIX__ 
136 # 1 "<built-in>"
137 #define __VERSION__ "4.1.1 (Gentoo 4.1.1)"
138 # 1 "<built-in>"
139 #define __NO_INLINE__ 1
140 # 1 "<built-in>"
141 #define __FINITE_MATH_ONLY__ 0
142 # 1 "<built-in>"
143 #define __i386 1
144 # 1 "<built-in>"
145 #define __i386__ 1
146 # 1 "<built-in>"
147 #define i386 1
148 # 1 "<built-in>"
149 #define __tune_i686__ 1
150 # 1 "<built-in>"
151 #define __tune_pentiumpro__ 1
152 # 1 "<built-in>"
153 #define __gnu_linux__ 1
154 # 1 "<built-in>"
155 #define __linux 1
156 # 1 "<built-in>"
157 #define __linux__ 1
158 # 1 "<built-in>"
159 #define linux 1
160 # 1 "<built-in>"
161 #define __unix 1
162 # 1 "<built-in>"
163 #define __unix__ 1
164 # 1 "<built-in>"
165 #define unix 1
166 # 1 "<built-in>"
167 #define __ELF__ 1
168 # 1 "<command line>"
169 #define _GNU_SOURCE 1
170 # 1 "<command line>"
171 #define HAVE_CONFIG_H 1
172 # 1 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp"
173 # 1 "/home/emanuel/DIKU/3dot/source/scripting/register.hpp" 1
174
175 #define SCRIPTING_REGISTER_HPP 
176
177 # 1 "/home/emanuel/DIKU/3dot/source/scripting/registercontrollers.hpp" 1
178
179
180
181
182
183
184 #define SCRIPTING_REGISTER_CONTROLLERS_3DIKU 
185
186 # 1 "/home/emanuel/DIKU/3dot/source/scripting/registervehicles.hpp" 1
187
188
189
190
191
192
193 #define SCRIPTING_REGISTER_VEHICLE_CONTROLLERS_3DIKU 
194
195
196 namespace Scripting
197 {
198  void Plane();
199  void Boxy();
200
201  void All_Vehicles();
202
203 }
204 # 10 "/home/emanuel/DIKU/3dot/source/scripting/registercontrollers.hpp" 2
205
206 namespace Scripting
207 {
208
209
210
211
212  void RegControllers();
213
214
215 }
216 # 5 "/home/emanuel/DIKU/3dot/source/scripting/register.hpp" 2
217
218 namespace Scripting {
219
220  void RegisterLuaGraphics();
221  void RegisterLuaCamera();
222  void RegisterLuaGeometryNS();
223  void RegisterLuaInputDevices();
224  void RegisterXMLSerialize();
225  void RegisterEntities();
226  void RegisterLuaMath();
227  void RegisterLuaModule();
228  void RegisterFactory();
229
230
231  void RegisterControllers();
232
233 }
234 # 2 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp" 2
235
236 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/luabind.hpp" 1
237 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/luabind.hpp"
238 #define LUABIND_BIND_HPP_INCLUDED 
239
240 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/config.hpp" 1
241 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/config.hpp"
242 #define LUABIND_CONFIG_HPP_INCLUDED 
243
244 # 1 "/usr/include/boost/config.hpp" 1 3 4
245 # 18 "/usr/include/boost/config.hpp" 3 4
246 #define BOOST_CONFIG_HPP 
247
248
249
250 #define BOOST_USER_CONFIG <boost/config/user.hpp>
251
252
253
254 # 1 "/usr/include/boost/config/user.hpp" 1 3 4
255 # 27 "/usr/include/boost/config.hpp" 2 3 4
256
257
258
259
260 # 1 "/usr/include/boost/config/select_compiler_config.hpp" 1 3 4
261 # 29 "/usr/include/boost/config/select_compiler_config.hpp" 3 4
262 #define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
263 # 32 "/usr/include/boost/config.hpp" 2 3 4
264
265
266
267 # 1 "/usr/include/boost/config/compiler/gcc.hpp" 1 3 4
268 # 76 "/usr/include/boost/config/compiler/gcc.hpp" 3 4
269 #define BOOST_HAS_LONG_LONG 
270
271
272
273
274
275 #define BOOST_HAS_NRVO 
276
277
278 #define BOOST_COMPILER "GNU C++ version " __VERSION__
279 # 36 "/usr/include/boost/config.hpp" 2 3 4
280
281
282
283
284 # 1 "/usr/include/boost/config/select_stdlib_config.hpp" 1 3 4
285 # 20 "/usr/include/boost/config/select_stdlib_config.hpp" 3 4
286 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/utility" 1 3 4
287 # 61 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/utility" 3 4
288 #define _GLIBCXX_UTILITY 1
289
290        
291 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/utility" 3
292 #pragma GCC visibility push(default)
293
294 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 1 3
295 # 32 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 3
296 #define _CXXCONFIG 1
297
298
299 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/os_defines.h" 1 3
300 # 31 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/os_defines.h" 3
301 #define _GLIBCXX_OS_DEFINES 1
302
303
304
305
306
307 #define __NO_CTYPE 1
308
309 # 1 "/usr/include/features.h" 1 3 4
310 # 21 "/usr/include/features.h" 3 4
311 #define _FEATURES_H 1
312 # 93 "/usr/include/features.h" 3 4
313 #undef __USE_ISOC99
314 #undef __USE_POSIX
315 #undef __USE_POSIX2
316 #undef __USE_POSIX199309
317 #undef __USE_POSIX199506
318 #undef __USE_XOPEN
319 #undef __USE_XOPEN_EXTENDED
320 #undef __USE_UNIX98
321 #undef __USE_XOPEN2K
322 #undef __USE_LARGEFILE
323 #undef __USE_LARGEFILE64
324 #undef __USE_FILE_OFFSET64
325 #undef __USE_BSD
326 #undef __USE_SVID
327 #undef __USE_MISC
328 #undef __USE_ATFILE
329 #undef __USE_GNU
330 #undef __USE_REENTRANT
331 #undef __USE_FORTIFY_LEVEL
332 #undef __FAVOR_BSD
333 #undef __KERNEL_STRICT_NAMES
334
335
336
337
338 #define __KERNEL_STRICT_NAMES 
339
340
341
342 #define __USE_ANSI 1
343 # 132 "/usr/include/features.h" 3 4
344 #define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
345 # 149 "/usr/include/features.h" 3 4
346 #undef _ISOC99_SOURCE
347 #define _ISOC99_SOURCE 1
348 #undef _POSIX_SOURCE
349 #define _POSIX_SOURCE 1
350 #undef _POSIX_C_SOURCE
351 #define _POSIX_C_SOURCE 199506L
352 #undef _XOPEN_SOURCE
353 #define _XOPEN_SOURCE 600
354 #undef _XOPEN_SOURCE_EXTENDED
355 #define _XOPEN_SOURCE_EXTENDED 1
356 #undef _LARGEFILE64_SOURCE
357 #define _LARGEFILE64_SOURCE 1
358 #undef _BSD_SOURCE
359 #define _BSD_SOURCE 1
360 #undef _SVID_SOURCE
361 #define _SVID_SOURCE 1
362 #undef _ATFILE_SOURCE
363 #define _ATFILE_SOURCE 1
364 # 185 "/usr/include/features.h" 3 4
365 #define __USE_ISOC99 1
366 # 203 "/usr/include/features.h" 3 4
367 #define __USE_POSIX 1
368
369
370
371 #define __USE_POSIX2 1
372
373
374
375 #define __USE_POSIX199309 1
376
377
378
379 #define __USE_POSIX199506 1
380
381
382
383
384
385
386
387 #define __USE_XOPEN 1
388
389 #define __USE_XOPEN_EXTENDED 1
390 #define __USE_UNIX98 1
391 #undef _LARGEFILE_SOURCE
392 #define _LARGEFILE_SOURCE 1
393
394 #define __USE_XOPEN2K 1
395 #undef __USE_ISOC99
396 #define __USE_ISOC99 1
397 # 242 "/usr/include/features.h" 3 4
398 #define __USE_LARGEFILE 1
399
400
401
402 #define __USE_LARGEFILE64 1
403
404
405
406
407
408
409
410 #define __USE_MISC 1
411
412
413
414 #define __USE_BSD 1
415
416
417
418 #define __USE_SVID 1
419
420
421
422 #define __USE_ATFILE 1
423
424
425
426 #define __USE_GNU 1
427 # 285 "/usr/include/features.h" 3 4
428 #define __USE_FORTIFY_LEVEL 0
429
430
431
432 #define __STDC_IEC_559__ 1
433 #define __STDC_IEC_559_COMPLEX__ 1
434
435
436 #define __STDC_ISO_10646__ 200009L
437
438
439
440
441
442
443
444 #undef __GNU_LIBRARY__
445 #define __GNU_LIBRARY__ 6
446
447
448
449 #define __GLIBC__ 2
450 #define __GLIBC_MINOR__ 4
451
452 #define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
453
454
455
456
457
458
459
460 #define __GLIBC_HAVE_LONG_LONG 1
461
462
463
464
465
466 # 1 "/usr/include/sys/cdefs.h" 1 3 4
467 # 21 "/usr/include/sys/cdefs.h" 3 4
468 #define _SYS_CDEFS_H 1
469 # 36 "/usr/include/sys/cdefs.h" 3 4
470 #undef __P
471 #undef __PMT
472 # 51 "/usr/include/sys/cdefs.h" 3 4
473 #define __THROW throw ()
474 #define __NTH(fct) fct throw ()
475 # 74 "/usr/include/sys/cdefs.h" 3 4
476 #define __P(args) args
477 #define __PMT(args) args
478
479
480
481
482 #define __CONCAT(x,y) x ## y
483 #define __STRING(x) #x
484
485
486 #define __ptr_t void *
487 #define __long_double_t long double
488
489
490
491
492 #define __BEGIN_DECLS extern "C" {
493 #define __END_DECLS }
494 # 114 "/usr/include/sys/cdefs.h" 3 4
495 #define __BEGIN_NAMESPACE_STD 
496 #define __END_NAMESPACE_STD 
497 #define __USING_NAMESPACE_STD(name) 
498 #define __BEGIN_NAMESPACE_C99 
499 #define __END_NAMESPACE_C99 
500 #define __USING_NAMESPACE_C99(name) 
501
502
503
504
505
506 #define __bounded 
507 #define __unbounded 
508 #define __ptrvalue 
509
510
511
512
513 #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
514 #define __bos0(ptr) __builtin_object_size (ptr, 0)
515 #define __warndecl(name,msg) extern void name (void)
516
517
518
519
520
521 #define __flexarr []
522 # 167 "/usr/include/sys/cdefs.h" 3 4
523 #define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))
524
525 #define __REDIRECT_NTH(name,proto,alias) name proto __THROW __asm__ (__ASMNAME (#alias))
526
527
528
529
530
531 #define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
532 #define __ASMNAME2(prefix,cname) __STRING (prefix) cname
533 # 197 "/usr/include/sys/cdefs.h" 3 4
534 #define __attribute_malloc__ __attribute__ ((__malloc__))
535 # 206 "/usr/include/sys/cdefs.h" 3 4
536 #define __attribute_pure__ __attribute__ ((__pure__))
537 # 215 "/usr/include/sys/cdefs.h" 3 4
538 #define __attribute_used__ __attribute__ ((__used__))
539 #define __attribute_noinline__ __attribute__ ((__noinline__))
540
541
542
543
544
545
546
547 #define __attribute_deprecated__ __attribute__ ((__deprecated__))
548 # 236 "/usr/include/sys/cdefs.h" 3 4
549 #define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
550 # 246 "/usr/include/sys/cdefs.h" 3 4
551 #define __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))
552 # 255 "/usr/include/sys/cdefs.h" 3 4
553 #define __nonnull(params) __attribute__ ((__nonnull__ params))
554
555
556
557
558
559
560
561 #define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))
562 # 272 "/usr/include/sys/cdefs.h" 3 4
563 #define __wur 
564
565
566
567
568 #define __always_inline __inline __attribute__ ((__always_inline__))
569 # 302 "/usr/include/sys/cdefs.h" 3 4
570 #define __restrict_arr 
571 # 313 "/usr/include/sys/cdefs.h" 3 4
572 # 1 "/usr/include/bits/wordsize.h" 1 3 4
573 # 19 "/usr/include/bits/wordsize.h" 3 4
574 #define __WORDSIZE 32
575 # 314 "/usr/include/sys/cdefs.h" 2 3 4
576 # 331 "/usr/include/sys/cdefs.h" 3 4
577 #define __LDBL_REDIR1(name,proto,alias) name proto
578 #define __LDBL_REDIR(name,proto) name proto
579 #define __LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW
580 #define __LDBL_REDIR_NTH(name,proto) name proto __THROW
581 #define __LDBL_REDIR_DECL(name) 
582 # 324 "/usr/include/features.h" 2 3 4
583 # 346 "/usr/include/features.h" 3 4
584 # 1 "/usr/include/gnu/stubs.h" 1 3 4
585
586
587
588 # 1 "/usr/include/bits/wordsize.h" 1 3 4
589 # 19 "/usr/include/bits/wordsize.h" 3 4
590 #define __WORDSIZE 32
591 # 5 "/usr/include/gnu/stubs.h" 2 3 4
592
593
594 # 1 "/usr/include/gnu/stubs-32.h" 1 3 4
595 # 10 "/usr/include/gnu/stubs-32.h" 3 4
596 #define __stub___kernel_cosl 
597 #define __stub___kernel_sinl 
598 #define __stub___kernel_tanl 
599 #define __stub_chflags 
600 #define __stub_fattach 
601 #define __stub_fchflags 
602 #define __stub_fdetach 
603 #define __stub_gtty 
604 #define __stub_inotify_add_watch 
605 #define __stub_inotify_init 
606 #define __stub_inotify_rm_watch 
607 #define __stub_lchmod 
608 #define __stub_lutimes 
609 #define __stub_revoke 
610 #define __stub_setlogin 
611 #define __stub_sigreturn 
612 #define __stub_sstk 
613 #define __stub_stty 
614 #define __stub_unshare 
615 # 8 "/usr/include/gnu/stubs.h" 2 3 4
616 # 347 "/usr/include/features.h" 2 3 4
617 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/os_defines.h" 2 3
618
619
620
621 #define __NO_STRING_INLINES 
622 # 36 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 2 3
623
624
625 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/cpu_defines.h" 1 3
626 # 31 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/cpu_defines.h" 3
627 #define _GLIBCXX_CPU_DEFINES 1
628 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 2 3
629
630
631
632
633 namespace __gnu_debug_def { }
634
635 namespace __gnu_debug
636 {
637   using namespace __gnu_debug_def;
638 }
639 # 65 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 3
640 #define _GLIBCXX_STD std
641 # 79 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 3
642 #define _GLIBCXX_EXTERN_TEMPLATE 1
643
644
645
646
647
648
649 #define _GLIBCXX_WEAK_DEFINITION 
650 # 96 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 3
651 #define _GLIBCXX_FAST_MATH 0
652
653
654
655
656
657
658 #define __N(msgid) (msgid)
659
660
661 #define __GLIBCXX__ 20060524
662
663
664
665
666 #define _GLIBCXX_HAVE_ACOSF 1
667
668
669 #define _GLIBCXX_HAVE_ACOSL 1
670
671
672 #define _GLIBCXX_HAVE_ASINF 1
673
674
675 #define _GLIBCXX_HAVE_ASINL 1
676
677
678 #define _GLIBCXX_HAVE_ATAN2F 1
679
680
681 #define _GLIBCXX_HAVE_ATAN2L 1
682
683
684 #define _GLIBCXX_HAVE_ATANF 1
685
686
687 #define _GLIBCXX_HAVE_ATANL 1
688
689
690 #define _GLIBCXX_HAVE_CEILF 1
691
692
693 #define _GLIBCXX_HAVE_CEILL 1
694
695
696 #define _GLIBCXX_HAVE_COMPLEX_H 1
697
698
699 #define _GLIBCXX_HAVE_COPYSIGN 1
700
701
702 #define _GLIBCXX_HAVE_COPYSIGNF 1
703
704
705 #define _GLIBCXX_HAVE_COPYSIGNL 1
706
707
708 #define _GLIBCXX_HAVE_COSF 1
709
710
711 #define _GLIBCXX_HAVE_COSHF 1
712
713
714 #define _GLIBCXX_HAVE_COSHL 1
715
716
717 #define _GLIBCXX_HAVE_COSL 1
718
719
720 #define _GLIBCXX_HAVE_ENDIAN_H 1
721
722
723 #define _GLIBCXX_HAVE_EXPF 1
724
725
726 #define _GLIBCXX_HAVE_EXPL 1
727
728
729 #define _GLIBCXX_HAVE_FABSF 1
730
731
732 #define _GLIBCXX_HAVE_FABSL 1
733
734
735 #define _GLIBCXX_HAVE_FINITE 1
736
737
738 #define _GLIBCXX_HAVE_FINITEF 1
739
740
741 #define _GLIBCXX_HAVE_FINITEL 1
742
743
744 #define _GLIBCXX_HAVE_FLOAT_H 1
745
746
747 #define _GLIBCXX_HAVE_FLOORF 1
748
749
750 #define _GLIBCXX_HAVE_FLOORL 1
751
752
753 #define _GLIBCXX_HAVE_FMODF 1
754
755
756 #define _GLIBCXX_HAVE_FMODL 1
757 # 210 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 3
758 #define _GLIBCXX_HAVE_FREXPF 1
759
760
761 #define _GLIBCXX_HAVE_FREXPL 1
762
763
764 #define _GLIBCXX_HAVE_GCONV_H 1
765
766
767 #define _GLIBCXX_HAVE_GETPAGESIZE 1
768
769
770
771 #define _GLIBCXX_HAVE_GTHR_DEFAULT 1
772
773
774 #define _GLIBCXX_HAVE_HYPOT 1
775
776
777 #define _GLIBCXX_HAVE_HYPOTF 1
778
779
780 #define _GLIBCXX_HAVE_HYPOTL 1
781
782
783 #define _GLIBCXX_HAVE_ICONV 1
784
785
786 #define _GLIBCXX_HAVE_ICONV_CLOSE 1
787
788
789 #define _GLIBCXX_HAVE_ICONV_OPEN 1
790
791
792
793
794
795 #define _GLIBCXX_HAVE_INT64_T 1
796
797
798 #define _GLIBCXX_HAVE_INTTYPES_H 1
799
800
801 #define _GLIBCXX_HAVE_ISINF 1
802
803
804 #define _GLIBCXX_HAVE_ISINFF 1
805
806
807 #define _GLIBCXX_HAVE_ISINFL 1
808
809
810 #define _GLIBCXX_HAVE_ISNAN 1
811
812
813 #define _GLIBCXX_HAVE_ISNANF 1
814
815
816 #define _GLIBCXX_HAVE_ISNANL 1
817
818
819 #define _GLIBCXX_HAVE_ISWBLANK 1
820
821
822 #define _GLIBCXX_HAVE_LC_MESSAGES 1
823
824
825 #define _GLIBCXX_HAVE_LDEXPF 1
826
827
828 #define _GLIBCXX_HAVE_LDEXPL 1
829
830
831 #define _GLIBCXX_HAVE_LIBINTL_H 1
832
833
834 #define _GLIBCXX_HAVE_LIBM 1
835
836
837 #define _GLIBCXX_HAVE_LIMIT_AS 1
838
839
840 #define _GLIBCXX_HAVE_LIMIT_DATA 1
841
842
843 #define _GLIBCXX_HAVE_LIMIT_FSIZE 1
844
845
846 #define _GLIBCXX_HAVE_LIMIT_RSS 1
847
848
849 #define _GLIBCXX_HAVE_LIMIT_VMEM 0
850
851
852 #define _GLIBCXX_HAVE_LOCALE_H 1
853
854
855 #define _GLIBCXX_HAVE_LOG10F 1
856
857
858 #define _GLIBCXX_HAVE_LOG10L 1
859
860
861 #define _GLIBCXX_HAVE_LOGF 1
862
863
864 #define _GLIBCXX_HAVE_LOGL 1
865 # 325 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 3
866 #define _GLIBCXX_HAVE_MBSTATE_T 1
867
868
869 #define _GLIBCXX_HAVE_MEMORY_H 1
870
871
872 #define _GLIBCXX_HAVE_MMAP 1
873
874
875 #define _GLIBCXX_HAVE_MODF 1
876
877
878 #define _GLIBCXX_HAVE_MODFF 1
879
880
881 #define _GLIBCXX_HAVE_MODFL 1
882
883
884
885
886
887 #define _GLIBCXX_HAVE_NL_LANGINFO 1
888
889
890 #define _GLIBCXX_HAVE_POLL 1
891
892
893 #define _GLIBCXX_HAVE_POWF 1
894
895
896 #define _GLIBCXX_HAVE_POWL 1
897
898
899
900
901
902 #define _GLIBCXX_HAVE_SETENV 1
903
904
905 #define _GLIBCXX_HAVE_SIGSETJMP 1
906
907
908 #define _GLIBCXX_HAVE_SINCOS 1
909
910
911 #define _GLIBCXX_HAVE_SINCOSF 1
912
913
914 #define _GLIBCXX_HAVE_SINCOSL 1
915
916
917 #define _GLIBCXX_HAVE_SINF 1
918
919
920 #define _GLIBCXX_HAVE_SINHF 1
921
922
923 #define _GLIBCXX_HAVE_SINHL 1
924
925
926 #define _GLIBCXX_HAVE_SINL 1
927
928
929 #define _GLIBCXX_HAVE_SQRTF 1
930
931
932 #define _GLIBCXX_HAVE_SQRTL 1
933
934
935 #define _GLIBCXX_HAVE_STDINT_H 1
936
937
938 #define _GLIBCXX_HAVE_STDLIB_H 1
939
940
941 #define _GLIBCXX_HAVE_STRINGS_H 1
942
943
944 #define _GLIBCXX_HAVE_STRING_H 1
945
946
947 #define _GLIBCXX_HAVE_STRTOF 1
948
949
950 #define _GLIBCXX_HAVE_STRTOLD 1
951
952
953
954
955
956 #define _GLIBCXX_HAVE_SYS_IOCTL_H 1
957
958
959 #define _GLIBCXX_HAVE_SYS_IPC_H 1
960 # 430 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 3
961 #define _GLIBCXX_HAVE_SYS_RESOURCE_H 1
962
963
964 #define _GLIBCXX_HAVE_SYS_SEM_H 1
965
966
967 #define _GLIBCXX_HAVE_SYS_STAT_H 1
968
969
970 #define _GLIBCXX_HAVE_SYS_TIME_H 1
971
972
973 #define _GLIBCXX_HAVE_SYS_TYPES_H 1
974
975
976 #define _GLIBCXX_HAVE_SYS_UIO_H 1
977
978
979
980
981
982 #define _GLIBCXX_HAVE_S_ISREG 1
983
984
985 #define _GLIBCXX_HAVE_TANF 1
986
987
988 #define _GLIBCXX_HAVE_TANHF 1
989
990
991 #define _GLIBCXX_HAVE_TANHL 1
992
993
994 #define _GLIBCXX_HAVE_TANL 1
995
996
997 #define _GLIBCXX_HAVE_TLS 1
998
999
1000 #define _GLIBCXX_HAVE_UNISTD_H 1
1001
1002
1003 #define _GLIBCXX_HAVE_VFWSCANF 1
1004
1005
1006 #define _GLIBCXX_HAVE_VSWSCANF 1
1007
1008
1009 #define _GLIBCXX_HAVE_VWSCANF 1
1010
1011
1012 #define _GLIBCXX_HAVE_WCHAR_H 1
1013
1014
1015 #define _GLIBCXX_HAVE_WCSTOF 1
1016
1017
1018 #define _GLIBCXX_HAVE_WCTYPE_H 1
1019
1020
1021 #define _GLIBCXX_HAVE_WRITEV 1
1022 # 685 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 3
1023 #define _GLIBCXX_HAVE___BUILTIN_ABS 1
1024
1025
1026 #define _GLIBCXX_HAVE___BUILTIN_COS 1
1027
1028
1029 #define _GLIBCXX_HAVE___BUILTIN_COSF 1
1030
1031
1032 #define _GLIBCXX_HAVE___BUILTIN_COSL 1
1033
1034
1035 #define _GLIBCXX_HAVE___BUILTIN_FABS 1
1036
1037
1038 #define _GLIBCXX_HAVE___BUILTIN_FABSF 1
1039
1040
1041 #define _GLIBCXX_HAVE___BUILTIN_FABSL 1
1042
1043
1044 #define _GLIBCXX_HAVE___BUILTIN_LABS 1
1045
1046
1047 #define _GLIBCXX_HAVE___BUILTIN_SIN 1
1048
1049
1050 #define _GLIBCXX_HAVE___BUILTIN_SINF 1
1051
1052
1053 #define _GLIBCXX_HAVE___BUILTIN_SINL 1
1054
1055
1056 #define _GLIBCXX_HAVE___BUILTIN_SQRT 1
1057
1058
1059 #define _GLIBCXX_HAVE___BUILTIN_SQRTF 1
1060
1061
1062 #define _GLIBCXX_HAVE___BUILTIN_SQRTL 1
1063
1064
1065 #define _GLIBCXX_HAVE___SIGNBIT 1
1066
1067
1068 #define _GLIBCXX_HAVE___SIGNBITF 1
1069
1070
1071 #define _GLIBCXX_HAVE___SIGNBITL 1
1072
1073
1074
1075
1076
1077 #define _GLIBCXX_PACKAGE_BUGREPORT ""
1078
1079
1080 #define _GLIBCXX_PACKAGE_NAME "package-unused"
1081
1082
1083 #define _GLIBCXX_PACKAGE_STRING "package-unused version-unused"
1084
1085
1086 #define _GLIBCXX_PACKAGE_TARNAME "libstdc++"
1087
1088
1089 #define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused"
1090
1091
1092 #define STDC_HEADERS 1
1093 # 766 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h" 3
1094 #define _GLIBCXX_HOSTED 1
1095
1096
1097 #define _GLIBCXX_PTRDIFF_T_IS_INT 1
1098
1099
1100 #define _GLIBCXX_RES_LIMITS 1
1101
1102
1103 #define _GLIBCXX_SIZE_T_IS_UINT 1
1104
1105
1106
1107
1108
1109 #define _GLIBCXX_SYMVER 1
1110
1111
1112
1113 #define _GLIBCXX_USE_C99 1
1114
1115
1116
1117
1118 #define _GLIBCXX_USE_C99_COMPLEX 1
1119
1120
1121
1122 #define _GLIBCXX_USE_C99_MATH 1
1123
1124
1125 #define _GLIBCXX_USE_ICONV 1
1126
1127
1128 #define _GLIBCXX_USE_LFS 1
1129
1130
1131 #define _GLIBCXX_USE_LONG_LONG 1
1132
1133
1134 #define _GLIBCXX_USE_NLS 1
1135
1136
1137 #define _GLIBCXX_USE_WCHAR_T 1
1138 # 67 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/utility" 2 3
1139 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_relops.h" 1 3
1140 # 72 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_relops.h" 3
1141 #define _STL_RELOPS_H 1
1142
1143 namespace std
1144 {
1145   namespace rel_ops
1146   {
1147 # 90 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_relops.h" 3
1148     template <class _Tp>
1149       inline bool
1150       operator!=(const _Tp& __x, const _Tp& __y)
1151       { return !(__x == __y); }
1152 # 103 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_relops.h" 3
1153     template <class _Tp>
1154       inline bool
1155       operator>(const _Tp& __x, const _Tp& __y)
1156       { return __y < __x; }
1157 # 116 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_relops.h" 3
1158     template <class _Tp>
1159       inline bool
1160       operator<=(const _Tp& __x, const _Tp& __y)
1161       { return !(__y < __x); }
1162 # 129 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_relops.h" 3
1163     template <class _Tp>
1164       inline bool
1165       operator>=(const _Tp& __x, const _Tp& __y)
1166       { return !(__x < __y); }
1167
1168   }
1169 }
1170 # 68 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/utility" 2 3
1171 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_pair.h" 1 3
1172 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_pair.h" 3
1173 #define _PAIR_H 1
1174
1175 namespace std
1176 {
1177
1178   template<class _T1, class _T2>
1179     struct pair
1180     {
1181       typedef _T1 first_type;
1182       typedef _T2 second_type;
1183
1184       _T1 first;
1185       _T2 second;
1186
1187
1188
1189
1190
1191       pair()
1192       : first(), second() { }
1193
1194
1195       pair(const _T1& __a, const _T2& __b)
1196       : first(__a), second(__b) { }
1197
1198
1199       template<class _U1, class _U2>
1200         pair(const pair<_U1, _U2>& __p)
1201  : first(__p.first), second(__p.second) { }
1202     };
1203
1204
1205   template<class _T1, class _T2>
1206     inline bool
1207     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1208     { return __x.first == __y.first && __x.second == __y.second; }
1209
1210
1211   template<class _T1, class _T2>
1212     inline bool
1213     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1214     { return __x.first < __y.first
1215       || (!(__y.first < __x.first) && __x.second < __y.second); }
1216
1217
1218   template<class _T1, class _T2>
1219     inline bool
1220     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1221     { return !(__x == __y); }
1222
1223
1224   template<class _T1, class _T2>
1225     inline bool
1226     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1227     { return __y < __x; }
1228
1229
1230   template<class _T1, class _T2>
1231     inline bool
1232     operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1233     { return !(__y < __x); }
1234
1235
1236   template<class _T1, class _T2>
1237     inline bool
1238     operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1239     { return !(__x < __y); }
1240 # 142 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_pair.h" 3
1241   template<class _T1, class _T2>
1242     inline pair<_T1, _T2>
1243     make_pair(_T1 __x, _T2 __y)
1244     { return pair<_T1, _T2>(__x, __y); }
1245 }
1246 # 69 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/utility" 2 3
1247
1248 #pragma GCC visibility pop
1249 # 21 "/usr/include/boost/config/select_stdlib_config.hpp" 2 3 4
1250 # 38 "/usr/include/boost/config/select_stdlib_config.hpp" 3 4
1251 #define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp"
1252 # 41 "/usr/include/boost/config.hpp" 2 3 4
1253
1254
1255
1256 # 1 "/usr/include/boost/config/stdlib/libstdcpp3.hpp" 1 3 4
1257 # 13 "/usr/include/boost/config/stdlib/libstdcpp3.hpp" 3 4
1258 #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__)
1259 # 40 "/usr/include/boost/config/stdlib/libstdcpp3.hpp" 3 4
1260 #define BOOST_HAS_THREADS 
1261 # 45 "/usr/include/boost/config.hpp" 2 3 4
1262
1263
1264
1265
1266 # 1 "/usr/include/boost/config/select_platform_config.hpp" 1 3 4
1267 # 18 "/usr/include/boost/config/select_platform_config.hpp" 3 4
1268 #define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp"
1269 # 50 "/usr/include/boost/config.hpp" 2 3 4
1270
1271
1272
1273 # 1 "/usr/include/boost/config/platform/linux.hpp" 1 3 4
1274 # 11 "/usr/include/boost/config/platform/linux.hpp" 3 4
1275 #define BOOST_PLATFORM "linux"
1276
1277
1278 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 1 3 4
1279 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 3 4
1280 #define _GLIBCXX_CSTDLIB 1
1281
1282        
1283 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 3
1284 #pragma GCC visibility push(default)
1285
1286
1287 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstddef" 1 3
1288 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstddef" 3
1289 #define _GLIBCXX_CSTDDEF 1
1290
1291        
1292 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstddef" 3
1293 #pragma GCC visibility push(default)
1294
1295 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
1296 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1297 #define _STDDEF_H 
1298 #define _STDDEF_H_ 
1299
1300 #define _ANSI_STDDEF_H 
1301
1302 #define __STDDEF_H__ 
1303 # 141 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1304 #define _PTRDIFF_T 
1305 #define _T_PTRDIFF_ 
1306 #define _T_PTRDIFF 
1307 #define __PTRDIFF_T 
1308 #define _PTRDIFF_T_ 
1309 #define _BSD_PTRDIFF_T_ 
1310 #define ___int_ptrdiff_t_h 
1311 #define _GCC_PTRDIFF_T 
1312
1313
1314
1315 typedef int ptrdiff_t;
1316 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1317 #undef __need_ptrdiff_t
1318 # 189 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1319 #define __size_t__ 
1320 #define __SIZE_T__ 
1321 #define _SIZE_T 
1322 #define _SYS_SIZE_T_H 
1323 #define _T_SIZE_ 
1324 #define _T_SIZE 
1325 #define __SIZE_T 
1326 #define _SIZE_T_ 
1327 #define _BSD_SIZE_T_ 
1328 #define _SIZE_T_DEFINED_ 
1329 #define _SIZE_T_DEFINED 
1330 #define _BSD_SIZE_T_DEFINED_ 
1331 #define _SIZE_T_DECLARED 
1332 #define ___int_size_t_h 
1333 #define _GCC_SIZE_T 
1334 #define _SIZET_ 
1335
1336
1337
1338 #define __size_t 
1339
1340
1341
1342
1343
1344 typedef unsigned int size_t;
1345 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1346 #undef __need_size_t
1347 # 265 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1348 #define __wchar_t__ 
1349 #define __WCHAR_T__ 
1350 #define _WCHAR_T 
1351 #define _T_WCHAR_ 
1352 #define _T_WCHAR 
1353 #define __WCHAR_T 
1354 #define _WCHAR_T_ 
1355 #define _BSD_WCHAR_T_ 
1356 #define _WCHAR_T_DEFINED_ 
1357 #define _WCHAR_T_DEFINED 
1358 #define _WCHAR_T_H 
1359 #define ___int_wchar_t_h 
1360 #define __INT_WCHAR_T_H 
1361 #define _GCC_WCHAR_T 
1362 #define _WCHAR_T_DECLARED 
1363 # 292 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1364 #undef _BSD_WCHAR_T_
1365 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1366 #undef __need_wchar_t
1367 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1368 #undef NULL
1369
1370 #define NULL __null
1371 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1372 #undef __need_NULL
1373
1374
1375
1376
1377 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
1378 # 52 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstddef" 2 3
1379
1380 namespace std
1381 {
1382   using ::ptrdiff_t;
1383   using ::size_t;
1384 }
1385
1386 #pragma GCC visibility pop
1387 # 53 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 2 3
1388 # 72 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 3
1389 # 1 "/usr/include/stdlib.h" 1 3 4
1390 # 28 "/usr/include/stdlib.h" 3 4
1391 #define __need_size_t 
1392
1393 #define __need_wchar_t 
1394 #define __need_NULL 
1395
1396 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
1397 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1398 #undef __need_ptrdiff_t
1399 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1400 #undef __need_size_t
1401 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1402 #undef __need_wchar_t
1403 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1404 #undef NULL
1405
1406 #define NULL __null
1407 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1408 #undef __need_NULL
1409
1410
1411
1412
1413 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
1414 # 34 "/usr/include/stdlib.h" 2 3 4
1415
1416 extern "C" {
1417
1418
1419 #define _STDLIB_H 1
1420
1421
1422
1423 # 1 "/usr/include/bits/waitflags.h" 1 3 4
1424 # 26 "/usr/include/bits/waitflags.h" 3 4
1425 #define WNOHANG 1
1426 #define WUNTRACED 2
1427
1428
1429 #define WSTOPPED 2
1430 #define WEXITED 4
1431 #define WCONTINUED 8
1432 #define WNOWAIT 0x01000000
1433
1434 #define __WNOTHREAD 0x20000000
1435
1436 #define __WALL 0x40000000
1437 #define __WCLONE 0x80000000
1438 # 43 "/usr/include/stdlib.h" 2 3 4
1439 # 1 "/usr/include/bits/waitstatus.h" 1 3 4
1440 # 29 "/usr/include/bits/waitstatus.h" 3 4
1441 #define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
1442
1443
1444 #define __WTERMSIG(status) ((status) & 0x7f)
1445
1446
1447 #define __WSTOPSIG(status) __WEXITSTATUS(status)
1448
1449
1450 #define __WIFEXITED(status) (__WTERMSIG(status) == 0)
1451
1452
1453 #define __WIFSIGNALED(status) (((signed char) (((status) & 0x7f) + 1) >> 1) > 0)
1454
1455
1456
1457 #define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
1458
1459
1460
1461
1462 #define __WIFCONTINUED(status) ((status) == __W_CONTINUED)
1463
1464
1465
1466 #define __WCOREDUMP(status) ((status) & __WCOREFLAG)
1467
1468
1469 #define __W_EXITCODE(ret,sig) ((ret) << 8 | (sig))
1470 #define __W_STOPCODE(sig) ((sig) << 8 | 0x7f)
1471 #define __W_CONTINUED 0xffff
1472 #define __WCOREFLAG 0x80
1473
1474
1475
1476
1477 # 1 "/usr/include/endian.h" 1 3 4
1478 # 20 "/usr/include/endian.h" 3 4
1479 #define _ENDIAN_H 1
1480 # 32 "/usr/include/endian.h" 3 4
1481 #define __LITTLE_ENDIAN 1234
1482 #define __BIG_ENDIAN 4321
1483 #define __PDP_ENDIAN 3412
1484
1485
1486 # 1 "/usr/include/bits/endian.h" 1 3 4
1487
1488
1489
1490
1491
1492
1493 #define __BYTE_ORDER __LITTLE_ENDIAN
1494 # 38 "/usr/include/endian.h" 2 3 4
1495
1496
1497
1498
1499 #define __FLOAT_WORD_ORDER __BYTE_ORDER
1500
1501
1502
1503 #define LITTLE_ENDIAN __LITTLE_ENDIAN
1504 #define BIG_ENDIAN __BIG_ENDIAN
1505 #define PDP_ENDIAN __PDP_ENDIAN
1506 #define BYTE_ORDER __BYTE_ORDER
1507
1508
1509
1510 #define __LONG_LONG_PAIR(HI,LO) LO, HI
1511 # 66 "/usr/include/bits/waitstatus.h" 2 3 4
1512
1513 union wait
1514   {
1515     int w_status;
1516     struct
1517       {
1518
1519  unsigned int __w_termsig:7;
1520  unsigned int __w_coredump:1;
1521  unsigned int __w_retcode:8;
1522  unsigned int:16;
1523
1524
1525
1526
1527
1528
1529
1530       } __wait_terminated;
1531     struct
1532       {
1533
1534  unsigned int __w_stopval:8;
1535  unsigned int __w_stopsig:8;
1536  unsigned int:16;
1537
1538
1539
1540
1541
1542
1543       } __wait_stopped;
1544   };
1545
1546 #define w_termsig __wait_terminated.__w_termsig
1547 #define w_coredump __wait_terminated.__w_coredump
1548 #define w_retcode __wait_terminated.__w_retcode
1549 #define w_stopsig __wait_stopped.__w_stopsig
1550 #define w_stopval __wait_stopped.__w_stopval
1551 # 44 "/usr/include/stdlib.h" 2 3 4
1552 # 55 "/usr/include/stdlib.h" 3 4
1553 #define __WAIT_INT(status) (*(int *) &(status))
1554 # 64 "/usr/include/stdlib.h" 3 4
1555 #define __WAIT_STATUS void *
1556 #define __WAIT_STATUS_DEFN void *
1557 # 85 "/usr/include/stdlib.h" 3 4
1558 #define WEXITSTATUS(status) __WEXITSTATUS(__WAIT_INT(status))
1559 #define WTERMSIG(status) __WTERMSIG(__WAIT_INT(status))
1560 #define WSTOPSIG(status) __WSTOPSIG(__WAIT_INT(status))
1561 #define WIFEXITED(status) __WIFEXITED(__WAIT_INT(status))
1562 #define WIFSIGNALED(status) __WIFSIGNALED(__WAIT_INT(status))
1563 #define WIFSTOPPED(status) __WIFSTOPPED(__WAIT_INT(status))
1564
1565 #define WIFCONTINUED(status) __WIFCONTINUED(__WAIT_INT(status))
1566
1567
1568
1569
1570
1571 typedef struct
1572   {
1573     int quot;
1574     int rem;
1575   } div_t;
1576
1577
1578
1579 typedef struct
1580   {
1581     long int quot;
1582     long int rem;
1583   } ldiv_t;
1584 #define __ldiv_t_defined 1
1585
1586
1587
1588
1589
1590
1591 __extension__ typedef struct
1592   {
1593     long long int quot;
1594     long long int rem;
1595   } lldiv_t;
1596 #define __lldiv_t_defined 1
1597
1598
1599
1600
1601
1602 #define RAND_MAX 2147483647
1603
1604
1605
1606
1607 #define EXIT_FAILURE 1
1608 #define EXIT_SUCCESS 0
1609
1610
1611
1612 #define MB_CUR_MAX (__ctype_get_mb_cur_max ())
1613 extern size_t __ctype_get_mb_cur_max (void) throw () ;
1614
1615
1616
1617
1618 extern double atof (__const char *__nptr)
1619      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1620
1621 extern int atoi (__const char *__nptr)
1622      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1623
1624 extern long int atol (__const char *__nptr)
1625      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1626
1627
1628
1629
1630
1631 __extension__ extern long long int atoll (__const char *__nptr)
1632      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1633
1634
1635
1636
1637
1638 extern double strtod (__const char *__restrict __nptr,
1639         char **__restrict __endptr)
1640      throw () __attribute__ ((__nonnull__ (1))) ;
1641
1642
1643
1644
1645
1646 extern float strtof (__const char *__restrict __nptr,
1647        char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ;
1648
1649 extern long double strtold (__const char *__restrict __nptr,
1650        char **__restrict __endptr)
1651      throw () __attribute__ ((__nonnull__ (1))) ;
1652
1653
1654
1655
1656
1657 extern long int strtol (__const char *__restrict __nptr,
1658    char **__restrict __endptr, int __base)
1659      throw () __attribute__ ((__nonnull__ (1))) ;
1660
1661 extern unsigned long int strtoul (__const char *__restrict __nptr,
1662       char **__restrict __endptr, int __base)
1663      throw () __attribute__ ((__nonnull__ (1))) ;
1664
1665
1666
1667
1668 __extension__
1669 extern long long int strtoq (__const char *__restrict __nptr,
1670         char **__restrict __endptr, int __base)
1671      throw () __attribute__ ((__nonnull__ (1))) ;
1672
1673 __extension__
1674 extern unsigned long long int strtouq (__const char *__restrict __nptr,
1675            char **__restrict __endptr, int __base)
1676      throw () __attribute__ ((__nonnull__ (1))) ;
1677
1678
1679
1680
1681
1682 __extension__
1683 extern long long int strtoll (__const char *__restrict __nptr,
1684          char **__restrict __endptr, int __base)
1685      throw () __attribute__ ((__nonnull__ (1))) ;
1686
1687 __extension__
1688 extern unsigned long long int strtoull (__const char *__restrict __nptr,
1689      char **__restrict __endptr, int __base)
1690      throw () __attribute__ ((__nonnull__ (1))) ;
1691
1692 # 236 "/usr/include/stdlib.h" 3 4
1693 # 1 "/usr/include/xlocale.h" 1 3 4
1694 # 22 "/usr/include/xlocale.h" 3 4
1695 #define _XLOCALE_H 1
1696
1697
1698
1699
1700
1701 typedef struct __locale_struct
1702 {
1703
1704   struct locale_data *__locales[13];
1705
1706
1707   const unsigned short int *__ctype_b;
1708   const int *__ctype_tolower;
1709   const int *__ctype_toupper;
1710
1711
1712   const char *__names[13];
1713 } *__locale_t;
1714 # 237 "/usr/include/stdlib.h" 2 3 4
1715
1716
1717
1718 extern long int strtol_l (__const char *__restrict __nptr,
1719      char **__restrict __endptr, int __base,
1720      __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) ;
1721
1722 extern unsigned long int strtoul_l (__const char *__restrict __nptr,
1723         char **__restrict __endptr,
1724         int __base, __locale_t __loc)
1725      throw () __attribute__ ((__nonnull__ (1, 4))) ;
1726
1727 __extension__
1728 extern long long int strtoll_l (__const char *__restrict __nptr,
1729     char **__restrict __endptr, int __base,
1730     __locale_t __loc)
1731      throw () __attribute__ ((__nonnull__ (1, 4))) ;
1732
1733 __extension__
1734 extern unsigned long long int strtoull_l (__const char *__restrict __nptr,
1735        char **__restrict __endptr,
1736        int __base, __locale_t __loc)
1737      throw () __attribute__ ((__nonnull__ (1, 4))) ;
1738
1739 extern double strtod_l (__const char *__restrict __nptr,
1740    char **__restrict __endptr, __locale_t __loc)
1741      throw () __attribute__ ((__nonnull__ (1, 3))) ;
1742
1743 extern float strtof_l (__const char *__restrict __nptr,
1744          char **__restrict __endptr, __locale_t __loc)
1745      throw () __attribute__ ((__nonnull__ (1, 3))) ;
1746
1747 extern long double strtold_l (__const char *__restrict __nptr,
1748          char **__restrict __endptr,
1749          __locale_t __loc)
1750      throw () __attribute__ ((__nonnull__ (1, 3))) ;
1751
1752
1753
1754
1755
1756
1757 extern double __strtod_internal (__const char *__restrict __nptr,
1758      char **__restrict __endptr, int __group)
1759      throw () __attribute__ ((__nonnull__ (1))) ;
1760 extern float __strtof_internal (__const char *__restrict __nptr,
1761     char **__restrict __endptr, int __group)
1762      throw () __attribute__ ((__nonnull__ (1))) ;
1763 extern long double __strtold_internal (__const char *__restrict __nptr,
1764            char **__restrict __endptr,
1765            int __group)
1766      throw () __attribute__ ((__nonnull__ (1))) ;
1767
1768 extern long int __strtol_internal (__const char *__restrict __nptr,
1769        char **__restrict __endptr,
1770        int __base, int __group)
1771      throw () __attribute__ ((__nonnull__ (1))) ;
1772 #define __strtol_internal_defined 1
1773
1774
1775 extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
1776           char **__restrict __endptr,
1777           int __base, int __group)
1778      throw () __attribute__ ((__nonnull__ (1))) ;
1779 #define __strtoul_internal_defined 1
1780
1781
1782
1783 __extension__
1784 extern long long int __strtoll_internal (__const char *__restrict __nptr,
1785       char **__restrict __endptr,
1786       int __base, int __group)
1787      throw () __attribute__ ((__nonnull__ (1))) ;
1788 #define __strtoll_internal_defined 1
1789
1790
1791 __extension__
1792 extern unsigned long long int __strtoull_internal (__const char *
1793          __restrict __nptr,
1794          char **__restrict __endptr,
1795          int __base, int __group)
1796      throw () __attribute__ ((__nonnull__ (1))) ;
1797 #define __strtoull_internal_defined 1
1798 # 429 "/usr/include/stdlib.h" 3 4
1799 extern char *l64a (long int __n) throw () ;
1800
1801
1802 extern long int a64l (__const char *__s)
1803      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1804
1805
1806
1807
1808 # 1 "/usr/include/sys/types.h" 1 3 4
1809 # 25 "/usr/include/sys/types.h" 3 4
1810 #define _SYS_TYPES_H 1
1811
1812
1813
1814 extern "C" {
1815
1816 # 1 "/usr/include/bits/types.h" 1 3 4
1817 # 25 "/usr/include/bits/types.h" 3 4
1818 #define _BITS_TYPES_H 1
1819
1820
1821 # 1 "/usr/include/bits/wordsize.h" 1 3 4
1822 # 19 "/usr/include/bits/wordsize.h" 3 4
1823 #define __WORDSIZE 32
1824 # 29 "/usr/include/bits/types.h" 2 3 4
1825
1826 #define __need_size_t 
1827 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
1828 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1829 #undef __need_ptrdiff_t
1830 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1831 #undef __need_size_t
1832 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1833 #undef __need_wchar_t
1834 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1835 #undef NULL
1836
1837 #define NULL __null
1838 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1839 #undef __need_NULL
1840
1841
1842
1843
1844 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
1845 # 32 "/usr/include/bits/types.h" 2 3 4
1846
1847
1848 typedef unsigned char __u_char;
1849 typedef unsigned short int __u_short;
1850 typedef unsigned int __u_int;
1851 typedef unsigned long int __u_long;
1852
1853
1854 typedef signed char __int8_t;
1855 typedef unsigned char __uint8_t;
1856 typedef signed short int __int16_t;
1857 typedef unsigned short int __uint16_t;
1858 typedef signed int __int32_t;
1859 typedef unsigned int __uint32_t;
1860
1861
1862
1863
1864 __extension__ typedef signed long long int __int64_t;
1865 __extension__ typedef unsigned long long int __uint64_t;
1866
1867
1868
1869
1870
1871
1872
1873 __extension__ typedef long long int __quad_t;
1874 __extension__ typedef unsigned long long int __u_quad_t;
1875 # 102 "/usr/include/bits/types.h" 3 4
1876 #define __S16_TYPE short int
1877 #define __U16_TYPE unsigned short int
1878 #define __S32_TYPE int
1879 #define __U32_TYPE unsigned int
1880 #define __SLONGWORD_TYPE long int
1881 #define __ULONGWORD_TYPE unsigned long int
1882
1883 #define __SQUAD_TYPE __quad_t
1884 #define __UQUAD_TYPE __u_quad_t
1885 #define __SWORD_TYPE int
1886 #define __UWORD_TYPE unsigned int
1887 #define __SLONG32_TYPE long int
1888 #define __ULONG32_TYPE unsigned long int
1889 #define __S64_TYPE __quad_t
1890 #define __U64_TYPE __u_quad_t
1891
1892
1893 #define __STD_TYPE __extension__ typedef
1894 # 134 "/usr/include/bits/types.h" 3 4
1895 # 1 "/usr/include/bits/typesizes.h" 1 3 4
1896 # 25 "/usr/include/bits/typesizes.h" 3 4
1897 #define _BITS_TYPESIZES_H 1
1898
1899
1900
1901
1902 #define __DEV_T_TYPE __UQUAD_TYPE
1903 #define __UID_T_TYPE __U32_TYPE
1904 #define __GID_T_TYPE __U32_TYPE
1905 #define __INO_T_TYPE __ULONGWORD_TYPE
1906 #define __INO64_T_TYPE __UQUAD_TYPE
1907 #define __MODE_T_TYPE __U32_TYPE
1908 #define __NLINK_T_TYPE __UWORD_TYPE
1909 #define __OFF_T_TYPE __SLONGWORD_TYPE
1910 #define __OFF64_T_TYPE __SQUAD_TYPE
1911 #define __PID_T_TYPE __S32_TYPE
1912 #define __RLIM_T_TYPE __ULONGWORD_TYPE
1913 #define __RLIM64_T_TYPE __UQUAD_TYPE
1914 #define __BLKCNT_T_TYPE __SLONGWORD_TYPE
1915 #define __BLKCNT64_T_TYPE __SQUAD_TYPE
1916 #define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
1917 #define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
1918 #define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
1919 #define __FSFILCNT64_T_TYPE __UQUAD_TYPE
1920 #define __ID_T_TYPE __U32_TYPE
1921 #define __CLOCK_T_TYPE __SLONGWORD_TYPE
1922 #define __TIME_T_TYPE __SLONGWORD_TYPE
1923 #define __USECONDS_T_TYPE __U32_TYPE
1924 #define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
1925 #define __DADDR_T_TYPE __S32_TYPE
1926 #define __SWBLK_T_TYPE __SLONGWORD_TYPE
1927 #define __KEY_T_TYPE __S32_TYPE
1928 #define __CLOCKID_T_TYPE __S32_TYPE
1929 #define __TIMER_T_TYPE void *
1930 #define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
1931 #define __FSID_T_TYPE struct { int __val[2]; }
1932 #define __SSIZE_T_TYPE __SWORD_TYPE
1933
1934
1935 #define __FD_SETSIZE 1024
1936 # 135 "/usr/include/bits/types.h" 2 3 4
1937
1938
1939 __extension__ typedef __u_quad_t __dev_t;
1940 __extension__ typedef unsigned int __uid_t;
1941 __extension__ typedef unsigned int __gid_t;
1942 __extension__ typedef unsigned long int __ino_t;
1943 __extension__ typedef __u_quad_t __ino64_t;
1944 __extension__ typedef unsigned int __mode_t;
1945 __extension__ typedef unsigned int __nlink_t;
1946 __extension__ typedef long int __off_t;
1947 __extension__ typedef __quad_t __off64_t;
1948 __extension__ typedef int __pid_t;
1949 __extension__ typedef struct { int __val[2]; } __fsid_t;
1950 __extension__ typedef long int __clock_t;
1951 __extension__ typedef unsigned long int __rlim_t;
1952 __extension__ typedef __u_quad_t __rlim64_t;
1953 __extension__ typedef unsigned int __id_t;
1954 __extension__ typedef long int __time_t;
1955 __extension__ typedef unsigned int __useconds_t;
1956 __extension__ typedef long int __suseconds_t;
1957
1958 __extension__ typedef int __daddr_t;
1959 __extension__ typedef long int __swblk_t;
1960 __extension__ typedef int __key_t;
1961
1962
1963 __extension__ typedef int __clockid_t;
1964
1965
1966 __extension__ typedef void * __timer_t;
1967
1968
1969 __extension__ typedef long int __blksize_t;
1970
1971
1972
1973
1974 __extension__ typedef long int __blkcnt_t;
1975 __extension__ typedef __quad_t __blkcnt64_t;
1976
1977
1978 __extension__ typedef unsigned long int __fsblkcnt_t;
1979 __extension__ typedef __u_quad_t __fsblkcnt64_t;
1980
1981
1982 __extension__ typedef unsigned long int __fsfilcnt_t;
1983 __extension__ typedef __u_quad_t __fsfilcnt64_t;
1984
1985 __extension__ typedef int __ssize_t;
1986
1987
1988
1989 typedef __off64_t __loff_t;
1990 typedef __quad_t *__qaddr_t;
1991 typedef char *__caddr_t;
1992
1993
1994 __extension__ typedef int __intptr_t;
1995
1996
1997 __extension__ typedef unsigned int __socklen_t;
1998
1999
2000 #undef __STD_TYPE
2001 # 32 "/usr/include/sys/types.h" 2 3 4
2002
2003
2004
2005 typedef __u_char u_char;
2006 typedef __u_short u_short;
2007 typedef __u_int u_int;
2008 typedef __u_long u_long;
2009 typedef __quad_t quad_t;
2010 typedef __u_quad_t u_quad_t;
2011 typedef __fsid_t fsid_t;
2012 #define __u_char_defined 
2013
2014
2015
2016 typedef __loff_t loff_t;
2017
2018
2019
2020 typedef __ino_t ino_t;
2021
2022
2023
2024 #define __ino_t_defined 
2025
2026
2027 typedef __ino64_t ino64_t;
2028 #define __ino64_t_defined 
2029
2030
2031
2032 typedef __dev_t dev_t;
2033 #define __dev_t_defined 
2034
2035
2036
2037 typedef __gid_t gid_t;
2038 #define __gid_t_defined 
2039
2040
2041
2042 typedef __mode_t mode_t;
2043 #define __mode_t_defined 
2044
2045
2046
2047 typedef __nlink_t nlink_t;
2048 #define __nlink_t_defined 
2049
2050
2051
2052 typedef __uid_t uid_t;
2053 #define __uid_t_defined 
2054
2055
2056
2057
2058 typedef __off_t off_t;
2059
2060
2061
2062 #define __off_t_defined 
2063
2064
2065 typedef __off64_t off64_t;
2066 #define __off64_t_defined 
2067
2068
2069
2070 typedef __pid_t pid_t;
2071 #define __pid_t_defined 
2072
2073
2074
2075 typedef __id_t id_t;
2076 #define __id_t_defined 
2077
2078
2079
2080 typedef __ssize_t ssize_t;
2081 #define __ssize_t_defined 
2082
2083
2084
2085
2086 typedef __daddr_t daddr_t;
2087 typedef __caddr_t caddr_t;
2088 #define __daddr_t_defined 
2089
2090
2091
2092
2093 typedef __key_t key_t;
2094 #define __key_t_defined 
2095
2096
2097
2098 #define __need_clock_t 
2099
2100 #define __need_time_t 
2101 #define __need_timer_t 
2102 #define __need_clockid_t 
2103 # 1 "/usr/include/time.h" 1 3 4
2104 # 55 "/usr/include/time.h" 3 4
2105 #define __clock_t_defined 1
2106
2107
2108
2109
2110
2111 typedef __clock_t clock_t;
2112
2113
2114
2115
2116
2117
2118 #undef __need_clock_t
2119
2120
2121 #define __time_t_defined 1
2122
2123
2124
2125
2126
2127 typedef __time_t time_t;
2128
2129
2130
2131
2132
2133
2134 #undef __need_time_t
2135
2136
2137
2138 #define __clockid_t_defined 1
2139
2140
2141
2142
2143 typedef __clockid_t clockid_t;
2144
2145
2146 #undef __clockid_time_t
2147
2148
2149
2150 #define __timer_t_defined 1
2151
2152
2153
2154
2155 typedef __timer_t timer_t;
2156
2157
2158 #undef __need_timer_t
2159 # 128 "/usr/include/time.h" 3 4
2160 #undef __need_timespec
2161 # 134 "/usr/include/sys/types.h" 2 3 4
2162
2163
2164
2165 typedef __useconds_t useconds_t;
2166 #define __useconds_t_defined 
2167
2168
2169 typedef __suseconds_t suseconds_t;
2170 #define __suseconds_t_defined 
2171
2172
2173
2174 #define __need_size_t 
2175 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2176 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
2177 #undef __need_ptrdiff_t
2178 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
2179 #undef __need_size_t
2180 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
2181 #undef __need_wchar_t
2182 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
2183 #undef NULL
2184
2185 #define NULL __null
2186 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
2187 #undef __need_NULL
2188
2189
2190
2191
2192 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
2193 # 148 "/usr/include/sys/types.h" 2 3 4
2194
2195
2196
2197 typedef unsigned long int ulong;
2198 typedef unsigned short int ushort;
2199 typedef unsigned int uint;
2200 # 188 "/usr/include/sys/types.h" 3 4
2201 #define __intN_t(N,MODE) typedef int int ##N ##_t __attribute__ ((__mode__ (MODE)))
2202
2203 #define __u_intN_t(N,MODE) typedef unsigned int u_int ##N ##_t __attribute__ ((__mode__ (MODE)))
2204
2205
2206
2207 #define __int8_t_defined 
2208 typedef int int8_t __attribute__ ((__mode__ (__QI__)));
2209 typedef int int16_t __attribute__ ((__mode__ (__HI__)));
2210 typedef int int32_t __attribute__ ((__mode__ (__SI__)));
2211 typedef int int64_t __attribute__ ((__mode__ (__DI__)));
2212
2213
2214 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
2215 typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
2216 typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
2217 typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
2218
2219 typedef int register_t __attribute__ ((__mode__ (__word__)));
2220
2221
2222
2223
2224
2225 #define __BIT_TYPES_DEFINED__ 1
2226
2227
2228
2229
2230
2231
2232
2233 # 1 "/usr/include/sys/select.h" 1 3 4
2234 # 23 "/usr/include/sys/select.h" 3 4
2235 #define _SYS_SELECT_H 1
2236
2237
2238
2239
2240
2241
2242
2243 # 1 "/usr/include/bits/select.h" 1 3 4
2244 # 26 "/usr/include/bits/select.h" 3 4
2245 #define __FD_ZERO(fdsp) do { int __d0, __d1; __asm__ __volatile__ ("cld; rep; stosl" : "=c" (__d0), "=D" (__d1) : "a" (0), "0" (sizeof (fd_set) / sizeof (__fd_mask)), "1" (&__FDS_BITS (fdsp)[0]) : "memory"); } while (0)
2246 # 37 "/usr/include/bits/select.h" 3 4
2247 #define __FD_SET(fd,fdsp) __asm__ __volatile__ ("btsl %1,%0" : "=m" (__FDS_BITS (fdsp)[__FDELT (fd)]) : "r" (((int) (fd)) % __NFDBITS) : "cc","memory")
2248
2249
2250
2251
2252 #define __FD_CLR(fd,fdsp) __asm__ __volatile__ ("btrl %1,%0" : "=m" (__FDS_BITS (fdsp)[__FDELT (fd)]) : "r" (((int) (fd)) % __NFDBITS) : "cc","memory")
2253
2254
2255
2256
2257 #define __FD_ISSET(fd,fdsp) (__extension__ ({register char __result; __asm__ __volatile__ ("btl %1,%2 ; setcb %b0" : "=q" (__result) : "r" (((int) (fd)) % __NFDBITS), "m" (__FDS_BITS (fdsp)[__FDELT (fd)]) : "cc"); __result; }))
2258 # 32 "/usr/include/sys/select.h" 2 3 4
2259
2260
2261 # 1 "/usr/include/bits/sigset.h" 1 3 4
2262 # 21 "/usr/include/bits/sigset.h" 3 4
2263 #define _SIGSET_H_types 1
2264
2265 typedef int __sig_atomic_t;
2266
2267
2268
2269 #define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
2270 typedef struct
2271   {
2272     unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
2273   } __sigset_t;
2274 # 35 "/usr/include/sys/select.h" 2 3 4
2275
2276
2277 #define __sigset_t_defined 
2278 typedef __sigset_t sigset_t;
2279
2280
2281
2282 #define __need_time_t 
2283 #define __need_timespec 
2284 # 1 "/usr/include/time.h" 1 3 4
2285 # 68 "/usr/include/time.h" 3 4
2286 #undef __need_clock_t
2287 # 84 "/usr/include/time.h" 3 4
2288 #undef __need_time_t
2289 # 96 "/usr/include/time.h" 3 4
2290 #undef __clockid_time_t
2291 # 108 "/usr/include/time.h" 3 4
2292 #undef __need_timer_t
2293
2294
2295
2296
2297
2298
2299 #define __timespec_defined 1
2300
2301
2302
2303
2304
2305 struct timespec
2306   {
2307     __time_t tv_sec;
2308     long int tv_nsec;
2309   };
2310
2311
2312 #undef __need_timespec
2313 # 45 "/usr/include/sys/select.h" 2 3 4
2314 #define __need_timeval 
2315 # 1 "/usr/include/bits/time.h" 1 3 4
2316 # 62 "/usr/include/bits/time.h" 3 4
2317 #undef __need_timeval
2318
2319 #define _STRUCT_TIMEVAL 1
2320
2321
2322
2323
2324 struct timeval
2325   {
2326     __time_t tv_sec;
2327     __suseconds_t tv_usec;
2328   };
2329 # 47 "/usr/include/sys/select.h" 2 3 4
2330 # 55 "/usr/include/sys/select.h" 3 4
2331 typedef long int __fd_mask;
2332
2333
2334 #undef __NFDBITS
2335 #undef __FDELT
2336 #undef __FDMASK
2337
2338 #define __NFDBITS (8 * sizeof (__fd_mask))
2339 #define __FDELT(d) ((d) / __NFDBITS)
2340 #define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS))
2341
2342
2343 typedef struct
2344   {
2345
2346
2347
2348     __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
2349 #define __FDS_BITS(set) ((set)->fds_bits)
2350
2351
2352
2353
2354   } fd_set;
2355
2356
2357 #define FD_SETSIZE __FD_SETSIZE
2358
2359
2360
2361 typedef __fd_mask fd_mask;
2362
2363
2364 #define NFDBITS __NFDBITS
2365
2366
2367
2368
2369 #define FD_SET(fd,fdsetp) __FD_SET (fd, fdsetp)
2370 #define FD_CLR(fd,fdsetp) __FD_CLR (fd, fdsetp)
2371 #define FD_ISSET(fd,fdsetp) __FD_ISSET (fd, fdsetp)
2372 #define FD_ZERO(fdsetp) __FD_ZERO (fdsetp)
2373
2374
2375 extern "C" {
2376 # 109 "/usr/include/sys/select.h" 3 4
2377 extern int select (int __nfds, fd_set *__restrict __readfds,
2378      fd_set *__restrict __writefds,
2379      fd_set *__restrict __exceptfds,
2380      struct timeval *__restrict __timeout);
2381 # 121 "/usr/include/sys/select.h" 3 4
2382 extern int pselect (int __nfds, fd_set *__restrict __readfds,
2383       fd_set *__restrict __writefds,
2384       fd_set *__restrict __exceptfds,
2385       const struct timespec *__restrict __timeout,
2386       const __sigset_t *__restrict __sigmask);
2387
2388
2389 }
2390 # 221 "/usr/include/sys/types.h" 2 3 4
2391
2392
2393 # 1 "/usr/include/sys/sysmacros.h" 1 3 4
2394 # 21 "/usr/include/sys/sysmacros.h" 3 4
2395 #define _SYS_SYSMACROS_H 1
2396
2397
2398
2399
2400
2401
2402
2403 __extension__
2404 extern __inline unsigned int gnu_dev_major (unsigned long long int __dev)
2405      throw ();
2406 __extension__
2407 extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
2408      throw ();
2409 __extension__
2410 extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
2411        unsigned int __minor)
2412      throw ();
2413
2414
2415 __extension__ extern __inline unsigned int
2416 gnu_dev_major (unsigned long long int __dev) throw ()
2417 {
2418   return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
2419 }
2420
2421 __extension__ extern __inline unsigned int
2422 gnu_dev_minor (unsigned long long int __dev) throw ()
2423 {
2424   return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
2425 }
2426
2427 __extension__ extern __inline unsigned long long int
2428 gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw ()
2429 {
2430   return ((__minor & 0xff) | ((__major & 0xfff) << 8)
2431    | (((unsigned long long int) (__minor & ~0xff)) << 12)
2432    | (((unsigned long long int) (__major & ~0xfff)) << 32));
2433 }
2434
2435
2436
2437
2438 #define major(dev) gnu_dev_major (dev)
2439 #define minor(dev) gnu_dev_minor (dev)
2440 #define makedev(maj,min) gnu_dev_makedev (maj, min)
2441 # 224 "/usr/include/sys/types.h" 2 3 4
2442
2443
2444
2445
2446 typedef __blksize_t blksize_t;
2447 #define __blksize_t_defined 
2448
2449
2450
2451
2452
2453 typedef __blkcnt_t blkcnt_t;
2454 #define __blkcnt_t_defined 
2455
2456
2457 typedef __fsblkcnt_t fsblkcnt_t;
2458 #define __fsblkcnt_t_defined 
2459
2460
2461 typedef __fsfilcnt_t fsfilcnt_t;
2462 #define __fsfilcnt_t_defined 
2463 # 262 "/usr/include/sys/types.h" 3 4
2464 typedef __blkcnt64_t blkcnt64_t;
2465 typedef __fsblkcnt64_t fsblkcnt64_t;
2466 typedef __fsfilcnt64_t fsfilcnt64_t;
2467
2468
2469
2470
2471
2472 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
2473 # 20 "/usr/include/bits/pthreadtypes.h" 3 4
2474 #define _BITS_PTHREADTYPES_H 1
2475
2476 #define __SIZEOF_PTHREAD_ATTR_T 36
2477 #define __SIZEOF_PTHREAD_MUTEX_T 24
2478 #define __SIZEOF_PTHREAD_MUTEXATTR_T 4
2479 #define __SIZEOF_PTHREAD_COND_T 48
2480 #define __SIZEOF_PTHREAD_COND_COMPAT_T 12
2481 #define __SIZEOF_PTHREAD_CONDATTR_T 4
2482 #define __SIZEOF_PTHREAD_RWLOCK_T 32
2483 #define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
2484 #define __SIZEOF_PTHREAD_BARRIER_T 20
2485 #define __SIZEOF_PTHREAD_BARRIERATTR_T 4
2486
2487
2488
2489
2490 typedef unsigned long int pthread_t;
2491
2492
2493 typedef union
2494 {
2495   char __size[36];
2496   long int __align;
2497 } pthread_attr_t;
2498
2499
2500 typedef struct __pthread_internal_slist
2501 {
2502   struct __pthread_internal_slist *__next;
2503 } __pthread_slist_t;
2504
2505
2506
2507
2508 typedef union
2509 {
2510   struct __pthread_mutex_s
2511   {
2512     int __lock;
2513     unsigned int __count;
2514     int __owner;
2515
2516
2517     int __kind;
2518     unsigned int __nusers;
2519     __extension__ union
2520     {
2521       int __spins;
2522       __pthread_slist_t __list;
2523     };
2524   } __data;
2525   char __size[24];
2526   long int __align;
2527 } pthread_mutex_t;
2528
2529 typedef union
2530 {
2531   char __size[4];
2532   long int __align;
2533 } pthread_mutexattr_t;
2534
2535
2536
2537
2538 typedef union
2539 {
2540   struct
2541   {
2542     int __lock;
2543     unsigned int __futex;
2544     __extension__ unsigned long long int __total_seq;
2545     __extension__ unsigned long long int __wakeup_seq;
2546     __extension__ unsigned long long int __woken_seq;
2547     void *__mutex;
2548     unsigned int __nwaiters;
2549     unsigned int __broadcast_seq;
2550   } __data;
2551   char __size[48];
2552   __extension__ long long int __align;
2553 } pthread_cond_t;
2554
2555 typedef union
2556 {
2557   char __size[4];
2558   long int __align;
2559 } pthread_condattr_t;
2560
2561
2562
2563 typedef unsigned int pthread_key_t;
2564
2565
2566
2567 typedef int pthread_once_t;
2568
2569
2570
2571
2572
2573 typedef union
2574 {
2575   struct
2576   {
2577     int __lock;
2578     unsigned int __nr_readers;
2579     unsigned int __readers_wakeup;
2580     unsigned int __writer_wakeup;
2581     unsigned int __nr_readers_queued;
2582     unsigned int __nr_writers_queued;
2583
2584
2585     unsigned int __flags;
2586     int __writer;
2587   } __data;
2588   char __size[32];
2589   long int __align;
2590 } pthread_rwlock_t;
2591
2592 typedef union
2593 {
2594   char __size[8];
2595   long int __align;
2596 } pthread_rwlockattr_t;
2597
2598
2599
2600
2601
2602 typedef volatile int pthread_spinlock_t;
2603
2604
2605
2606
2607 typedef union
2608 {
2609   char __size[20];
2610   long int __align;
2611 } pthread_barrier_t;
2612
2613 typedef union
2614 {
2615   char __size[4];
2616   int __align;
2617 } pthread_barrierattr_t;
2618
2619
2620
2621
2622 #define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
2623 # 271 "/usr/include/sys/types.h" 2 3 4
2624
2625
2626 }
2627 # 439 "/usr/include/stdlib.h" 2 3 4
2628
2629
2630
2631
2632
2633
2634 extern long int random (void) throw ();
2635
2636
2637 extern void srandom (unsigned int __seed) throw ();
2638
2639
2640
2641
2642
2643 extern char *initstate (unsigned int __seed, char *__statebuf,
2644    size_t __statelen) throw () __attribute__ ((__nonnull__ (2)));
2645
2646
2647
2648 extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1)));
2649
2650
2651
2652
2653
2654
2655
2656 struct random_data
2657   {
2658     int32_t *fptr;
2659     int32_t *rptr;
2660     int32_t *state;
2661     int rand_type;
2662     int rand_deg;
2663     int rand_sep;
2664     int32_t *end_ptr;
2665   };
2666
2667 extern int random_r (struct random_data *__restrict __buf,
2668        int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
2669
2670 extern int srandom_r (unsigned int __seed, struct random_data *__buf)
2671      throw () __attribute__ ((__nonnull__ (2)));
2672
2673 extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
2674    size_t __statelen,
2675    struct random_data *__restrict __buf)
2676      throw () __attribute__ ((__nonnull__ (2, 4)));
2677
2678 extern int setstate_r (char *__restrict __statebuf,
2679          struct random_data *__restrict __buf)
2680      throw () __attribute__ ((__nonnull__ (1, 2)));
2681
2682
2683
2684
2685
2686
2687 extern int rand (void) throw ();
2688
2689 extern void srand (unsigned int __seed) throw ();
2690
2691
2692
2693
2694 extern int rand_r (unsigned int *__seed) throw ();
2695
2696
2697
2698
2699
2700
2701
2702 extern double drand48 (void) throw ();
2703 extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1)));
2704
2705
2706 extern long int lrand48 (void) throw ();
2707 extern long int nrand48 (unsigned short int __xsubi[3])
2708      throw () __attribute__ ((__nonnull__ (1)));
2709
2710
2711 extern long int mrand48 (void) throw ();
2712 extern long int jrand48 (unsigned short int __xsubi[3])
2713      throw () __attribute__ ((__nonnull__ (1)));
2714
2715
2716 extern void srand48 (long int __seedval) throw ();
2717 extern unsigned short int *seed48 (unsigned short int __seed16v[3])
2718      throw () __attribute__ ((__nonnull__ (1)));
2719 extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1)));
2720
2721
2722
2723
2724
2725 struct drand48_data
2726   {
2727     unsigned short int __x[3];
2728     unsigned short int __old_x[3];
2729     unsigned short int __c;
2730     unsigned short int __init;
2731     unsigned long long int __a;
2732   };
2733
2734
2735 extern int drand48_r (struct drand48_data *__restrict __buffer,
2736         double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
2737 extern int erand48_r (unsigned short int __xsubi[3],
2738         struct drand48_data *__restrict __buffer,
2739         double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
2740
2741
2742 extern int lrand48_r (struct drand48_data *__restrict __buffer,
2743         long int *__restrict __result)
2744      throw () __attribute__ ((__nonnull__ (1, 2)));
2745 extern int nrand48_r (unsigned short int __xsubi[3],
2746         struct drand48_data *__restrict __buffer,
2747         long int *__restrict __result)
2748      throw () __attribute__ ((__nonnull__ (1, 2)));
2749
2750
2751 extern int mrand48_r (struct drand48_data *__restrict __buffer,
2752         long int *__restrict __result)
2753      throw () __attribute__ ((__nonnull__ (1, 2)));
2754 extern int jrand48_r (unsigned short int __xsubi[3],
2755         struct drand48_data *__restrict __buffer,
2756         long int *__restrict __result)
2757      throw () __attribute__ ((__nonnull__ (1, 2)));
2758
2759
2760 extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
2761      throw () __attribute__ ((__nonnull__ (2)));
2762
2763 extern int seed48_r (unsigned short int __seed16v[3],
2764        struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2)));
2765
2766 extern int lcong48_r (unsigned short int __param[7],
2767         struct drand48_data *__buffer)
2768      throw () __attribute__ ((__nonnull__ (1, 2)));
2769
2770
2771
2772
2773
2774
2775 #define __malloc_and_calloc_defined 
2776
2777
2778 extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
2779
2780 extern void *calloc (size_t __nmemb, size_t __size)
2781      throw () __attribute__ ((__malloc__)) ;
2782
2783
2784
2785
2786
2787
2788
2789 extern void *realloc (void *__ptr, size_t __size)
2790      throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
2791
2792 extern void free (void *__ptr) throw ();
2793
2794
2795
2796
2797 extern void cfree (void *__ptr) throw ();
2798
2799
2800
2801 # 1 "/usr/include/alloca.h" 1 3 4
2802 # 20 "/usr/include/alloca.h" 3 4
2803 #define _ALLOCA_H 1
2804
2805
2806
2807 #define __need_size_t 
2808 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2809 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
2810 #undef __need_ptrdiff_t
2811 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
2812 #undef __need_size_t
2813 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
2814 #undef __need_wchar_t
2815 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
2816 #undef NULL
2817
2818 #define NULL __null
2819 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
2820 #undef __need_NULL
2821
2822
2823
2824
2825 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
2826 # 26 "/usr/include/alloca.h" 2 3 4
2827
2828 extern "C" {
2829
2830
2831 #undef alloca
2832
2833
2834 extern void *alloca (size_t __size) throw ();
2835
2836
2837 #define alloca(size) __builtin_alloca (size)
2838
2839
2840 }
2841 # 613 "/usr/include/stdlib.h" 2 3 4
2842
2843
2844
2845
2846 extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
2847
2848
2849
2850
2851 extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
2852      throw () __attribute__ ((__nonnull__ (1))) ;
2853
2854
2855
2856
2857 extern void abort (void) throw () __attribute__ ((__noreturn__));
2858
2859
2860
2861 extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1)));
2862
2863
2864
2865
2866
2867 extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
2868      throw () __attribute__ ((__nonnull__ (1)));
2869
2870
2871
2872
2873
2874
2875 extern void exit (int __status) throw () __attribute__ ((__noreturn__));
2876
2877
2878
2879
2880
2881
2882 extern void _Exit (int __status) throw () __attribute__ ((__noreturn__));
2883
2884
2885
2886
2887
2888
2889 extern char *getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ;
2890
2891
2892
2893
2894 extern char *__secure_getenv (__const char *__name)
2895      throw () __attribute__ ((__nonnull__ (1))) ;
2896
2897
2898
2899
2900
2901 extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1)));
2902
2903
2904
2905
2906
2907 extern int setenv (__const char *__name, __const char *__value, int __replace)
2908      throw () __attribute__ ((__nonnull__ (2)));
2909
2910
2911 extern int unsetenv (__const char *__name) throw ();
2912
2913
2914
2915
2916
2917
2918 extern int clearenv (void) throw ();
2919 # 698 "/usr/include/stdlib.h" 3 4
2920 extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ;
2921 # 709 "/usr/include/stdlib.h" 3 4
2922 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
2923 # 719 "/usr/include/stdlib.h" 3 4
2924 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
2925 # 729 "/usr/include/stdlib.h" 3 4
2926 extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ;
2927
2928
2929
2930
2931
2932
2933
2934
2935 extern int system (__const char *__command) ;
2936
2937
2938
2939
2940
2941
2942
2943 extern char *canonicalize_file_name (__const char *__name)
2944      throw () __attribute__ ((__nonnull__ (1))) ;
2945 # 757 "/usr/include/stdlib.h" 3 4
2946 extern char *realpath (__const char *__restrict __name,
2947          char *__restrict __resolved) throw () ;
2948
2949
2950
2951
2952
2953 #define __COMPAR_FN_T 
2954 typedef int (*__compar_fn_t) (__const void *, __const void *);
2955
2956
2957 typedef __compar_fn_t comparison_fn_t;
2958
2959
2960
2961
2962
2963
2964 extern void *bsearch (__const void *__key, __const void *__base,
2965         size_t __nmemb, size_t __size, __compar_fn_t __compar)
2966      __attribute__ ((__nonnull__ (1, 2, 5))) ;
2967
2968
2969
2970 extern void qsort (void *__base, size_t __nmemb, size_t __size,
2971      __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
2972
2973
2974
2975 extern int abs (int __x) throw () __attribute__ ((__const__)) ;
2976 extern long int labs (long int __x) throw () __attribute__ ((__const__)) ;
2977
2978
2979
2980 __extension__ extern long long int llabs (long long int __x)
2981      throw () __attribute__ ((__const__)) ;
2982
2983
2984
2985
2986
2987
2988
2989 extern div_t div (int __numer, int __denom)
2990      throw () __attribute__ ((__const__)) ;
2991 extern ldiv_t ldiv (long int __numer, long int __denom)
2992      throw () __attribute__ ((__const__)) ;
2993
2994
2995
2996
2997 __extension__ extern lldiv_t lldiv (long long int __numer,
2998         long long int __denom)
2999      throw () __attribute__ ((__const__)) ;
3000
3001 # 822 "/usr/include/stdlib.h" 3 4
3002 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
3003      int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ;
3004
3005
3006
3007
3008 extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
3009      int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ;
3010
3011
3012
3013
3014 extern char *gcvt (double __value, int __ndigit, char *__buf)
3015      throw () __attribute__ ((__nonnull__ (3))) ;
3016
3017
3018
3019
3020 extern char *qecvt (long double __value, int __ndigit,
3021       int *__restrict __decpt, int *__restrict __sign)
3022      throw () __attribute__ ((__nonnull__ (3, 4))) ;
3023 extern char *qfcvt (long double __value, int __ndigit,
3024       int *__restrict __decpt, int *__restrict __sign)
3025      throw () __attribute__ ((__nonnull__ (3, 4))) ;
3026 extern char *qgcvt (long double __value, int __ndigit, char *__buf)
3027      throw () __attribute__ ((__nonnull__ (3))) ;
3028
3029
3030
3031
3032 extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
3033      int *__restrict __sign, char *__restrict __buf,
3034      size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5)));
3035 extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
3036      int *__restrict __sign, char *__restrict __buf,
3037      size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5)));
3038
3039 extern int qecvt_r (long double __value, int __ndigit,
3040       int *__restrict __decpt, int *__restrict __sign,
3041       char *__restrict __buf, size_t __len)
3042      throw () __attribute__ ((__nonnull__ (3, 4, 5)));
3043 extern int qfcvt_r (long double __value, int __ndigit,
3044       int *__restrict __decpt, int *__restrict __sign,
3045       char *__restrict __buf, size_t __len)
3046      throw () __attribute__ ((__nonnull__ (3, 4, 5)));
3047
3048
3049
3050
3051
3052
3053
3054 extern int mblen (__const char *__s, size_t __n) throw () ;
3055
3056
3057 extern int mbtowc (wchar_t *__restrict __pwc,
3058      __const char *__restrict __s, size_t __n) throw () ;
3059
3060
3061 extern int wctomb (char *__s, wchar_t __wchar) throw () ;
3062
3063
3064
3065 extern size_t mbstowcs (wchar_t *__restrict __pwcs,
3066    __const char *__restrict __s, size_t __n) throw ();
3067
3068 extern size_t wcstombs (char *__restrict __s,
3069    __const wchar_t *__restrict __pwcs, size_t __n)
3070      throw ();
3071
3072
3073
3074
3075
3076
3077
3078
3079 extern int rpmatch (__const char *__response) throw () __attribute__ ((__nonnull__ (1))) ;
3080 # 910 "/usr/include/stdlib.h" 3 4
3081 extern int getsubopt (char **__restrict __optionp,
3082         char *__const *__restrict __tokens,
3083         char **__restrict __valuep)
3084      throw () __attribute__ ((__nonnull__ (1, 2, 3))) ;
3085
3086
3087
3088
3089
3090 extern void setkey (__const char *__key) throw () __attribute__ ((__nonnull__ (1)));
3091
3092
3093
3094
3095
3096
3097
3098 extern int posix_openpt (int __oflag) ;
3099
3100
3101
3102
3103
3104
3105
3106 extern int grantpt (int __fd) throw ();
3107
3108
3109
3110 extern int unlockpt (int __fd) throw ();
3111
3112
3113
3114
3115 extern char *ptsname (int __fd) throw () ;
3116
3117
3118
3119
3120
3121
3122 extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
3123      throw () __attribute__ ((__nonnull__ (2)));
3124
3125
3126 extern int getpt (void);
3127
3128
3129
3130
3131
3132
3133 extern int getloadavg (double __loadavg[], int __nelem)
3134      throw () __attribute__ ((__nonnull__ (1)));
3135 # 976 "/usr/include/stdlib.h" 3 4
3136 #undef __need_malloc_and_calloc
3137
3138 }
3139 # 73 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 2 3
3140
3141
3142 #undef abort
3143 #undef abs
3144 #undef atexit
3145 #undef atof
3146 #undef atoi
3147 #undef atol
3148 #undef bsearch
3149 #undef calloc
3150 #undef div
3151 #undef exit
3152 #undef free
3153 #undef getenv
3154 #undef labs
3155 #undef ldiv
3156 #undef malloc
3157 #undef mblen
3158 #undef mbstowcs
3159 #undef mbtowc
3160 #undef qsort
3161 #undef rand
3162 #undef realloc
3163 #undef srand
3164 #undef strtod
3165 #undef strtol
3166 #undef strtoul
3167 #undef system
3168 #undef wcstombs
3169 #undef wctomb
3170
3171 namespace std
3172 {
3173   using ::div_t;
3174   using ::ldiv_t;
3175
3176   using ::abort;
3177   using ::abs;
3178   using ::atexit;
3179   using ::atof;
3180   using ::atoi;
3181   using ::atol;
3182   using ::bsearch;
3183   using ::calloc;
3184   using ::div;
3185   using ::exit;
3186   using ::free;
3187   using ::getenv;
3188   using ::labs;
3189   using ::ldiv;
3190   using ::malloc;
3191
3192   using ::mblen;
3193   using ::mbstowcs;
3194   using ::mbtowc;
3195
3196   using ::qsort;
3197   using ::rand;
3198   using ::realloc;
3199   using ::srand;
3200   using ::strtod;
3201   using ::strtol;
3202   using ::strtoul;
3203   using ::system;
3204
3205   using ::wcstombs;
3206   using ::wctomb;
3207
3208
3209   inline long
3210   abs(long __i) { return labs(__i); }
3211
3212   inline ldiv_t
3213   div(long __i, long __j) { return ldiv(__i, __j); }
3214 }
3215
3216
3217
3218 #undef _Exit
3219 #undef llabs
3220 #undef lldiv
3221 #undef atoll
3222 #undef strtoll
3223 #undef strtoull
3224 #undef strtof
3225 #undef strtold
3226
3227 namespace __gnu_cxx
3228 {
3229
3230   using ::lldiv_t;
3231
3232
3233
3234
3235
3236   using ::_Exit;
3237
3238
3239   inline long long
3240   abs(long long __x) { return __x >= 0 ? __x : -__x; }
3241
3242
3243   using ::llabs;
3244
3245   inline lldiv_t
3246   div(long long __n, long long __d)
3247   { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
3248
3249   using ::lldiv;
3250 # 193 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 3
3251   using ::atoll;
3252   using ::strtoll;
3253   using ::strtoull;
3254
3255   using ::strtof;
3256   using ::strtold;
3257 }
3258
3259 namespace std
3260 {
3261
3262   using ::__gnu_cxx::lldiv_t;
3263
3264   using ::__gnu_cxx::_Exit;
3265   using ::__gnu_cxx::abs;
3266
3267   using ::__gnu_cxx::llabs;
3268   using ::__gnu_cxx::div;
3269   using ::__gnu_cxx::lldiv;
3270
3271   using ::__gnu_cxx::atoll;
3272   using ::__gnu_cxx::strtof;
3273   using ::__gnu_cxx::strtoll;
3274   using ::__gnu_cxx::strtoull;
3275   using ::__gnu_cxx::strtold;
3276 }
3277
3278
3279
3280
3281
3282 #pragma GCC visibility pop
3283 # 15 "/usr/include/boost/config/platform/linux.hpp" 2 3 4
3284 # 25 "/usr/include/boost/config/platform/linux.hpp" 3 4
3285 #define BOOST_HAS_STDINT_H 
3286 # 50 "/usr/include/boost/config/platform/linux.hpp" 3 4
3287 #define BOOST_HAS_GETTIMEOFDAY 
3288
3289
3290
3291 #define BOOST_HAS_NANOSLEEP 
3292 # 69 "/usr/include/boost/config/platform/linux.hpp" 3 4
3293 #define BOOST_HAS_UNISTD_H 
3294 # 1 "/usr/include/boost/config/posix_features.hpp" 1 3 4
3295 # 18 "/usr/include/boost/config/posix_features.hpp" 3 4
3296 # 1 "/usr/include/unistd.h" 1 3 4
3297 # 24 "/usr/include/unistd.h" 3 4
3298 #define _UNISTD_H 1
3299
3300
3301
3302 extern "C" {
3303
3304
3305
3306
3307
3308 #define _POSIX_VERSION 200112L
3309
3310
3311
3312
3313
3314 #define _POSIX2_VERSION 200112L
3315
3316
3317
3318 #define _POSIX2_C_BIND 200112L
3319
3320
3321
3322 #define _POSIX2_C_DEV 200112L
3323
3324
3325
3326 #define _POSIX2_SW_DEV 200112L
3327
3328
3329
3330 #define _POSIX2_LOCALEDEF 200112L
3331
3332
3333
3334 #define _XOPEN_VERSION 500
3335
3336
3337
3338
3339
3340 #define _XOPEN_XCU_VERSION 4
3341
3342
3343 #define _XOPEN_XPG2 1
3344 #define _XOPEN_XPG3 1
3345 #define _XOPEN_XPG4 1
3346
3347
3348 #define _XOPEN_UNIX 1
3349
3350
3351 #define _XOPEN_CRYPT 1
3352
3353
3354
3355 #define _XOPEN_ENH_I18N 1
3356
3357
3358 #define _XOPEN_LEGACY 1
3359 # 171 "/usr/include/unistd.h" 3 4
3360 # 1 "/usr/include/bits/posix_opt.h" 1 3 4
3361 # 21 "/usr/include/bits/posix_opt.h" 3 4
3362 #define _POSIX_OPT_H 1
3363
3364
3365 #define _POSIX_JOB_CONTROL 1
3366
3367
3368 #define _POSIX_SAVED_IDS 1
3369
3370
3371 #define _POSIX_PRIORITY_SCHEDULING 200112L
3372
3373
3374 #define _POSIX_SYNCHRONIZED_IO 200112L
3375
3376
3377 #define _POSIX_FSYNC 200112L
3378
3379
3380 #define _POSIX_MAPPED_FILES 200112L
3381
3382
3383 #define _POSIX_MEMLOCK 200112L
3384
3385
3386 #define _POSIX_MEMLOCK_RANGE 200112L
3387
3388
3389 #define _POSIX_MEMORY_PROTECTION 200112L
3390
3391
3392 #define _POSIX_CHOWN_RESTRICTED 1
3393
3394
3395
3396 #define _POSIX_VDISABLE '\0'
3397
3398
3399 #define _POSIX_NO_TRUNC 1
3400
3401
3402 #define _XOPEN_REALTIME 1
3403
3404
3405 #define _XOPEN_SHM 1
3406
3407
3408 #define _POSIX_THREADS 200112L
3409
3410
3411 #define _POSIX_REENTRANT_FUNCTIONS 1
3412 #define _POSIX_THREAD_SAFE_FUNCTIONS 200112L
3413
3414
3415 #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L
3416
3417
3418 #define _POSIX_THREAD_ATTR_STACKSIZE 200112L
3419
3420
3421 #define _POSIX_THREAD_ATTR_STACKADDR 200112L
3422
3423
3424 #define _POSIX_SEMAPHORES 200112L
3425
3426
3427 #define _POSIX_REALTIME_SIGNALS 200112L
3428
3429
3430 #define _POSIX_ASYNCHRONOUS_IO 200112L
3431 #define _POSIX_ASYNC_IO 1
3432
3433 #define _LFS_ASYNCHRONOUS_IO 1
3434
3435 #define _POSIX_PRIORITIZED_IO 200112L
3436
3437
3438 #define _LFS64_ASYNCHRONOUS_IO 1
3439
3440
3441 #define _LFS_LARGEFILE 1
3442 #define _LFS64_LARGEFILE 1
3443 #define _LFS64_STDIO 1
3444
3445
3446 #define _POSIX_SHARED_MEMORY_OBJECTS 200112L
3447
3448
3449 #define _POSIX_CPUTIME 0
3450
3451
3452 #define _POSIX_THREAD_CPUTIME 0
3453
3454
3455 #define _POSIX_REGEXP 1
3456
3457
3458 #define _POSIX_READER_WRITER_LOCKS 200112L
3459
3460
3461 #define _POSIX_SHELL 1
3462
3463
3464 #define _POSIX_TIMEOUTS 200112L
3465
3466
3467 #define _POSIX_SPIN_LOCKS 200112L
3468
3469
3470 #define _POSIX_SPAWN 200112L
3471
3472
3473 #define _POSIX_TIMERS 200112L
3474
3475
3476 #define _POSIX_BARRIERS 200112L
3477
3478
3479 #define _POSIX_MESSAGE_PASSING 200112L
3480
3481
3482 #define _POSIX_THREAD_PROCESS_SHARED 200112L
3483
3484
3485 #define _POSIX_MONOTONIC_CLOCK 0
3486
3487
3488 #define _POSIX_CLOCK_SELECTION 200112L
3489
3490
3491 #define _POSIX_ADVISORY_INFO 200112L
3492
3493
3494 #define _POSIX_IPV6 200112L
3495
3496
3497 #define _POSIX_RAW_SOCKETS 200112L
3498
3499
3500 #define _POSIX2_CHAR_TERM 200112L
3501
3502
3503 #define _POSIX_SPORADIC_SERVER -1
3504 #define _POSIX_THREAD_SPORADIC_SERVER -1
3505
3506
3507 #define _POSIX_TRACE -1
3508 #define _POSIX_TRACE_EVENT_FILTER -1
3509 #define _POSIX_TRACE_INHERIT -1
3510 #define _POSIX_TRACE_LOG -1
3511
3512
3513 #define _POSIX_TYPED_MEMORY_OBJECTS -1
3514
3515
3516 #define _POSIX_THREAD_PRIO_INHERIT -1
3517 #define _POSIX_THREAD_PRIO_PROTECT -1
3518 # 172 "/usr/include/unistd.h" 2 3 4
3519
3520
3521
3522 # 1 "/usr/include/bits/environments.h" 1 3 4
3523 # 41 "/usr/include/bits/environments.h" 3 4
3524 #define _POSIX_V6_ILP32_OFF32 1
3525 #define _POSIX_V6_ILP32_OFFBIG 1
3526 #define _XBS5_ILP32_OFF32 1
3527 #define _XBS5_ILP32_OFFBIG 1
3528 # 57 "/usr/include/bits/environments.h" 3 4
3529 #define __ILP32_OFF32_CFLAGS "-m32"
3530 #define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
3531 #define __ILP32_OFF32_LDFLAGS "-m32"
3532 #define __ILP32_OFFBIG_LDFLAGS "-m32"
3533 #define __LP64_OFF64_CFLAGS "-m64"
3534 #define __LP64_OFF64_LDFLAGS "-m64"
3535 # 176 "/usr/include/unistd.h" 2 3 4
3536
3537
3538
3539 #define STDIN_FILENO 0
3540 #define STDOUT_FILENO 1
3541 #define STDERR_FILENO 2
3542 # 193 "/usr/include/unistd.h" 3 4
3543 #define __need_size_t 
3544 #define __need_NULL 
3545 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
3546 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
3547 #undef __need_ptrdiff_t
3548 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
3549 #undef __need_size_t
3550 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
3551 #undef __need_wchar_t
3552 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
3553 #undef NULL
3554
3555 #define NULL __null
3556 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
3557 #undef __need_NULL
3558
3559
3560
3561
3562 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
3563 # 196 "/usr/include/unistd.h" 2 3 4
3564 # 236 "/usr/include/unistd.h" 3 4
3565 typedef __intptr_t intptr_t;
3566 #define __intptr_t_defined 
3567
3568
3569
3570
3571
3572 typedef __socklen_t socklen_t;
3573 #define __socklen_t_defined 
3574
3575
3576
3577
3578
3579 #define R_OK 4
3580 #define W_OK 2
3581 #define X_OK 1
3582 #define F_OK 0
3583
3584
3585 extern int access (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1)));
3586
3587
3588
3589
3590 extern int euidaccess (__const char *__name, int __type)
3591      throw () __attribute__ ((__nonnull__ (1)));
3592
3593
3594 extern int eaccess (__const char *__name, int __type)
3595      throw () __attribute__ ((__nonnull__ (1)));
3596
3597
3598
3599
3600
3601
3602 extern int faccessat (int __fd, __const char *__file, int __type, int __flag)
3603      throw () __attribute__ ((__nonnull__ (2))) ;
3604
3605
3606
3607
3608
3609 #define SEEK_SET 0
3610 #define SEEK_CUR 1
3611 #define SEEK_END 2
3612
3613
3614
3615
3616 #define L_SET SEEK_SET
3617 #define L_INCR SEEK_CUR
3618 #define L_XTND SEEK_END
3619 # 299 "/usr/include/unistd.h" 3 4
3620 extern __off_t lseek (int __fd, __off_t __offset, int __whence) throw ();
3621 # 310 "/usr/include/unistd.h" 3 4
3622 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence)
3623      throw ();
3624
3625
3626
3627
3628
3629
3630 extern int close (int __fd);
3631
3632
3633
3634
3635
3636
3637 extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
3638
3639
3640
3641
3642
3643 extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;
3644 # 341 "/usr/include/unistd.h" 3 4
3645 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,
3646         __off_t __offset) ;
3647
3648
3649
3650
3651
3652
3653 extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n,
3654          __off_t __offset) ;
3655 # 369 "/usr/include/unistd.h" 3 4
3656 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
3657    __off64_t __offset) ;
3658
3659
3660 extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,
3661     __off64_t __offset) ;
3662
3663
3664
3665
3666
3667
3668
3669 extern int pipe (int __pipedes[2]) throw () ;
3670 # 391 "/usr/include/unistd.h" 3 4
3671 extern unsigned int alarm (unsigned int __seconds) throw ();
3672 # 403 "/usr/include/unistd.h" 3 4
3673 extern unsigned int sleep (unsigned int __seconds);
3674
3675
3676
3677
3678
3679
3680 extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
3681      throw ();
3682
3683
3684
3685
3686
3687
3688 extern int usleep (__useconds_t __useconds);
3689 # 427 "/usr/include/unistd.h" 3 4
3690 extern int pause (void);
3691
3692
3693
3694 extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
3695      throw () __attribute__ ((__nonnull__ (1))) ;
3696
3697
3698
3699 extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw () ;
3700
3701
3702
3703
3704 extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
3705      throw () __attribute__ ((__nonnull__ (1))) ;
3706
3707
3708
3709
3710
3711
3712 extern int fchownat (int __fd, __const char *__file, __uid_t __owner,
3713        __gid_t __group, int __flag)
3714      throw () __attribute__ ((__nonnull__ (2))) ;
3715
3716
3717
3718 extern int chdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ;
3719
3720
3721
3722 extern int fchdir (int __fd) throw () ;
3723 # 469 "/usr/include/unistd.h" 3 4
3724 extern char *getcwd (char *__buf, size_t __size) throw () ;
3725
3726
3727
3728
3729
3730 extern char *get_current_dir_name (void) throw ();
3731
3732
3733
3734
3735
3736
3737 extern char *getwd (char *__buf)
3738      throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ;
3739
3740
3741
3742
3743 extern int dup (int __fd) throw () ;
3744
3745
3746 extern int dup2 (int __fd, int __fd2) throw ();
3747
3748
3749 extern char **__environ;
3750
3751 extern char **environ;
3752
3753
3754
3755
3756
3757 extern int execve (__const char *__path, char *__const __argv[],
3758      char *__const __envp[]) throw () __attribute__ ((__nonnull__ (1)));
3759
3760
3761
3762
3763 extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[])
3764      throw ();
3765
3766
3767
3768
3769 extern int execv (__const char *__path, char *__const __argv[])
3770      throw () __attribute__ ((__nonnull__ (1)));
3771
3772
3773
3774 extern int execle (__const char *__path, __const char *__arg, ...)
3775      throw () __attribute__ ((__nonnull__ (1)));
3776
3777
3778
3779 extern int execl (__const char *__path, __const char *__arg, ...)
3780      throw () __attribute__ ((__nonnull__ (1)));
3781
3782
3783
3784 extern int execvp (__const char *__file, char *__const __argv[])
3785      throw () __attribute__ ((__nonnull__ (1)));
3786
3787
3788
3789
3790 extern int execlp (__const char *__file, __const char *__arg, ...)
3791      throw () __attribute__ ((__nonnull__ (1)));
3792
3793
3794
3795
3796 extern int nice (int __inc) throw () ;
3797
3798
3799
3800
3801 extern void _exit (int __status) __attribute__ ((__noreturn__));
3802
3803
3804
3805
3806
3807 # 1 "/usr/include/bits/confname.h" 1 3 4
3808 # 26 "/usr/include/bits/confname.h" 3 4
3809 enum
3810   {
3811     _PC_LINK_MAX,
3812 #define _PC_LINK_MAX _PC_LINK_MAX
3813     _PC_MAX_CANON,
3814 #define _PC_MAX_CANON _PC_MAX_CANON
3815     _PC_MAX_INPUT,
3816 #define _PC_MAX_INPUT _PC_MAX_INPUT
3817     _PC_NAME_MAX,
3818 #define _PC_NAME_MAX _PC_NAME_MAX
3819     _PC_PATH_MAX,
3820 #define _PC_PATH_MAX _PC_PATH_MAX
3821     _PC_PIPE_BUF,
3822 #define _PC_PIPE_BUF _PC_PIPE_BUF
3823     _PC_CHOWN_RESTRICTED,
3824 #define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED
3825     _PC_NO_TRUNC,
3826 #define _PC_NO_TRUNC _PC_NO_TRUNC
3827     _PC_VDISABLE,
3828 #define _PC_VDISABLE _PC_VDISABLE
3829     _PC_SYNC_IO,
3830 #define _PC_SYNC_IO _PC_SYNC_IO
3831     _PC_ASYNC_IO,
3832 #define _PC_ASYNC_IO _PC_ASYNC_IO
3833     _PC_PRIO_IO,
3834 #define _PC_PRIO_IO _PC_PRIO_IO
3835     _PC_SOCK_MAXBUF,
3836 #define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF
3837     _PC_FILESIZEBITS,
3838 #define _PC_FILESIZEBITS _PC_FILESIZEBITS
3839     _PC_REC_INCR_XFER_SIZE,
3840 #define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE
3841     _PC_REC_MAX_XFER_SIZE,
3842 #define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE
3843     _PC_REC_MIN_XFER_SIZE,
3844 #define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE
3845     _PC_REC_XFER_ALIGN,
3846 #define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN
3847     _PC_ALLOC_SIZE_MIN,
3848 #define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN
3849     _PC_SYMLINK_MAX,
3850 #define _PC_SYMLINK_MAX _PC_SYMLINK_MAX
3851     _PC_2_SYMLINKS
3852 #define _PC_2_SYMLINKS _PC_2_SYMLINKS
3853   };
3854
3855
3856 enum
3857   {
3858     _SC_ARG_MAX,
3859 #define _SC_ARG_MAX _SC_ARG_MAX
3860     _SC_CHILD_MAX,
3861 #define _SC_CHILD_MAX _SC_CHILD_MAX
3862     _SC_CLK_TCK,
3863 #define _SC_CLK_TCK _SC_CLK_TCK
3864     _SC_NGROUPS_MAX,
3865 #define _SC_NGROUPS_MAX _SC_NGROUPS_MAX
3866     _SC_OPEN_MAX,
3867 #define _SC_OPEN_MAX _SC_OPEN_MAX
3868     _SC_STREAM_MAX,
3869 #define _SC_STREAM_MAX _SC_STREAM_MAX
3870     _SC_TZNAME_MAX,
3871 #define _SC_TZNAME_MAX _SC_TZNAME_MAX
3872     _SC_JOB_CONTROL,
3873 #define _SC_JOB_CONTROL _SC_JOB_CONTROL
3874     _SC_SAVED_IDS,
3875 #define _SC_SAVED_IDS _SC_SAVED_IDS
3876     _SC_REALTIME_SIGNALS,
3877 #define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS
3878     _SC_PRIORITY_SCHEDULING,
3879 #define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING
3880     _SC_TIMERS,
3881 #define _SC_TIMERS _SC_TIMERS
3882     _SC_ASYNCHRONOUS_IO,
3883 #define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO
3884     _SC_PRIORITIZED_IO,
3885 #define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO
3886     _SC_SYNCHRONIZED_IO,
3887 #define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO
3888     _SC_FSYNC,
3889 #define _SC_FSYNC _SC_FSYNC
3890     _SC_MAPPED_FILES,
3891 #define _SC_MAPPED_FILES _SC_MAPPED_FILES
3892     _SC_MEMLOCK,
3893 #define _SC_MEMLOCK _SC_MEMLOCK
3894     _SC_MEMLOCK_RANGE,
3895 #define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE
3896     _SC_MEMORY_PROTECTION,
3897 #define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION
3898     _SC_MESSAGE_PASSING,
3899 #define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING
3900     _SC_SEMAPHORES,
3901 #define _SC_SEMAPHORES _SC_SEMAPHORES
3902     _SC_SHARED_MEMORY_OBJECTS,
3903 #define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS
3904     _SC_AIO_LISTIO_MAX,
3905 #define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX
3906     _SC_AIO_MAX,
3907 #define _SC_AIO_MAX _SC_AIO_MAX
3908     _SC_AIO_PRIO_DELTA_MAX,
3909 #define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX
3910     _SC_DELAYTIMER_MAX,
3911 #define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX
3912     _SC_MQ_OPEN_MAX,
3913 #define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX
3914     _SC_MQ_PRIO_MAX,
3915 #define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX
3916     _SC_VERSION,
3917 #define _SC_VERSION _SC_VERSION
3918     _SC_PAGESIZE,
3919 #define _SC_PAGESIZE _SC_PAGESIZE
3920 #define _SC_PAGE_SIZE _SC_PAGESIZE
3921     _SC_RTSIG_MAX,
3922 #define _SC_RTSIG_MAX _SC_RTSIG_MAX
3923     _SC_SEM_NSEMS_MAX,
3924 #define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX
3925     _SC_SEM_VALUE_MAX,
3926 #define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX
3927     _SC_SIGQUEUE_MAX,
3928 #define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX
3929     _SC_TIMER_MAX,
3930 #define _SC_TIMER_MAX _SC_TIMER_MAX
3931
3932
3933
3934     _SC_BC_BASE_MAX,
3935 #define _SC_BC_BASE_MAX _SC_BC_BASE_MAX
3936     _SC_BC_DIM_MAX,
3937 #define _SC_BC_DIM_MAX _SC_BC_DIM_MAX
3938     _SC_BC_SCALE_MAX,
3939 #define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX
3940     _SC_BC_STRING_MAX,
3941 #define _SC_BC_STRING_MAX _SC_BC_STRING_MAX
3942     _SC_COLL_WEIGHTS_MAX,
3943 #define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX
3944     _SC_EQUIV_CLASS_MAX,
3945 #define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX
3946     _SC_EXPR_NEST_MAX,
3947 #define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX
3948     _SC_LINE_MAX,
3949 #define _SC_LINE_MAX _SC_LINE_MAX
3950     _SC_RE_DUP_MAX,
3951 #define _SC_RE_DUP_MAX _SC_RE_DUP_MAX
3952     _SC_CHARCLASS_NAME_MAX,
3953 #define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX
3954
3955     _SC_2_VERSION,
3956 #define _SC_2_VERSION _SC_2_VERSION
3957     _SC_2_C_BIND,
3958 #define _SC_2_C_BIND _SC_2_C_BIND
3959     _SC_2_C_DEV,
3960 #define _SC_2_C_DEV _SC_2_C_DEV
3961     _SC_2_FORT_DEV,
3962 #define _SC_2_FORT_DEV _SC_2_FORT_DEV
3963     _SC_2_FORT_RUN,
3964 #define _SC_2_FORT_RUN _SC_2_FORT_RUN
3965     _SC_2_SW_DEV,
3966 #define _SC_2_SW_DEV _SC_2_SW_DEV
3967     _SC_2_LOCALEDEF,
3968 #define _SC_2_LOCALEDEF _SC_2_LOCALEDEF
3969
3970     _SC_PII,
3971 #define _SC_PII _SC_PII
3972     _SC_PII_XTI,
3973 #define _SC_PII_XTI _SC_PII_XTI
3974     _SC_PII_SOCKET,
3975 #define _SC_PII_SOCKET _SC_PII_SOCKET
3976     _SC_PII_INTERNET,
3977 #define _SC_PII_INTERNET _SC_PII_INTERNET
3978     _SC_PII_OSI,
3979 #define _SC_PII_OSI _SC_PII_OSI
3980     _SC_POLL,
3981 #define _SC_POLL _SC_POLL
3982     _SC_SELECT,
3983 #define _SC_SELECT _SC_SELECT
3984     _SC_UIO_MAXIOV,
3985 #define _SC_UIO_MAXIOV _SC_UIO_MAXIOV
3986     _SC_IOV_MAX = _SC_UIO_MAXIOV,
3987 #define _SC_IOV_MAX _SC_IOV_MAX
3988     _SC_PII_INTERNET_STREAM,
3989 #define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM
3990     _SC_PII_INTERNET_DGRAM,
3991 #define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM
3992     _SC_PII_OSI_COTS,
3993 #define _SC_PII_OSI_COTS _SC_PII_OSI_COTS
3994     _SC_PII_OSI_CLTS,
3995 #define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS
3996     _SC_PII_OSI_M,
3997 #define _SC_PII_OSI_M _SC_PII_OSI_M
3998     _SC_T_IOV_MAX,
3999 #define _SC_T_IOV_MAX _SC_T_IOV_MAX
4000
4001
4002     _SC_THREADS,
4003 #define _SC_THREADS _SC_THREADS
4004     _SC_THREAD_SAFE_FUNCTIONS,
4005 #define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS
4006     _SC_GETGR_R_SIZE_MAX,
4007 #define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX
4008     _SC_GETPW_R_SIZE_MAX,
4009 #define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX
4010     _SC_LOGIN_NAME_MAX,
4011 #define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX
4012     _SC_TTY_NAME_MAX,
4013 #define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX
4014     _SC_THREAD_DESTRUCTOR_ITERATIONS,
4015 #define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS
4016     _SC_THREAD_KEYS_MAX,
4017 #define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX
4018     _SC_THREAD_STACK_MIN,
4019 #define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN
4020     _SC_THREAD_THREADS_MAX,
4021 #define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX
4022     _SC_THREAD_ATTR_STACKADDR,
4023 #define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR
4024     _SC_THREAD_ATTR_STACKSIZE,
4025 #define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE
4026     _SC_THREAD_PRIORITY_SCHEDULING,
4027 #define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING
4028     _SC_THREAD_PRIO_INHERIT,
4029 #define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT
4030     _SC_THREAD_PRIO_PROTECT,
4031 #define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT
4032     _SC_THREAD_PROCESS_SHARED,
4033 #define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED
4034
4035     _SC_NPROCESSORS_CONF,
4036 #define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF
4037     _SC_NPROCESSORS_ONLN,
4038 #define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN
4039     _SC_PHYS_PAGES,
4040 #define _SC_PHYS_PAGES _SC_PHYS_PAGES
4041     _SC_AVPHYS_PAGES,
4042 #define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES
4043     _SC_ATEXIT_MAX,
4044 #define _SC_ATEXIT_MAX _SC_ATEXIT_MAX
4045     _SC_PASS_MAX,
4046 #define _SC_PASS_MAX _SC_PASS_MAX
4047
4048     _SC_XOPEN_VERSION,
4049 #define _SC_XOPEN_VERSION _SC_XOPEN_VERSION
4050     _SC_XOPEN_XCU_VERSION,
4051 #define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION
4052     _SC_XOPEN_UNIX,
4053 #define _SC_XOPEN_UNIX _SC_XOPEN_UNIX
4054     _SC_XOPEN_CRYPT,
4055 #define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT
4056     _SC_XOPEN_ENH_I18N,
4057 #define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N
4058     _SC_XOPEN_SHM,
4059 #define _SC_XOPEN_SHM _SC_XOPEN_SHM
4060
4061     _SC_2_CHAR_TERM,
4062 #define _SC_2_CHAR_TERM _SC_2_CHAR_TERM
4063     _SC_2_C_VERSION,
4064 #define _SC_2_C_VERSION _SC_2_C_VERSION
4065     _SC_2_UPE,
4066 #define _SC_2_UPE _SC_2_UPE
4067
4068     _SC_XOPEN_XPG2,
4069 #define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2
4070     _SC_XOPEN_XPG3,
4071 #define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3
4072     _SC_XOPEN_XPG4,
4073 #define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4
4074
4075     _SC_CHAR_BIT,
4076 #define _SC_CHAR_BIT _SC_CHAR_BIT
4077     _SC_CHAR_MAX,
4078 #define _SC_CHAR_MAX _SC_CHAR_MAX
4079     _SC_CHAR_MIN,
4080 #define _SC_CHAR_MIN _SC_CHAR_MIN
4081     _SC_INT_MAX,
4082 #define _SC_INT_MAX _SC_INT_MAX
4083     _SC_INT_MIN,
4084 #define _SC_INT_MIN _SC_INT_MIN
4085     _SC_LONG_BIT,
4086 #define _SC_LONG_BIT _SC_LONG_BIT
4087     _SC_WORD_BIT,
4088 #define _SC_WORD_BIT _SC_WORD_BIT
4089     _SC_MB_LEN_MAX,
4090 #define _SC_MB_LEN_MAX _SC_MB_LEN_MAX
4091     _SC_NZERO,
4092 #define _SC_NZERO _SC_NZERO
4093     _SC_SSIZE_MAX,
4094 #define _SC_SSIZE_MAX _SC_SSIZE_MAX
4095     _SC_SCHAR_MAX,
4096 #define _SC_SCHAR_MAX _SC_SCHAR_MAX
4097     _SC_SCHAR_MIN,
4098 #define _SC_SCHAR_MIN _SC_SCHAR_MIN
4099     _SC_SHRT_MAX,
4100 #define _SC_SHRT_MAX _SC_SHRT_MAX
4101     _SC_SHRT_MIN,
4102 #define _SC_SHRT_MIN _SC_SHRT_MIN
4103     _SC_UCHAR_MAX,
4104 #define _SC_UCHAR_MAX _SC_UCHAR_MAX
4105     _SC_UINT_MAX,
4106 #define _SC_UINT_MAX _SC_UINT_MAX
4107     _SC_ULONG_MAX,
4108 #define _SC_ULONG_MAX _SC_ULONG_MAX
4109     _SC_USHRT_MAX,
4110 #define _SC_USHRT_MAX _SC_USHRT_MAX
4111
4112     _SC_NL_ARGMAX,
4113 #define _SC_NL_ARGMAX _SC_NL_ARGMAX
4114     _SC_NL_LANGMAX,
4115 #define _SC_NL_LANGMAX _SC_NL_LANGMAX
4116     _SC_NL_MSGMAX,
4117 #define _SC_NL_MSGMAX _SC_NL_MSGMAX
4118     _SC_NL_NMAX,
4119 #define _SC_NL_NMAX _SC_NL_NMAX
4120     _SC_NL_SETMAX,
4121 #define _SC_NL_SETMAX _SC_NL_SETMAX
4122     _SC_NL_TEXTMAX,
4123 #define _SC_NL_TEXTMAX _SC_NL_TEXTMAX
4124
4125     _SC_XBS5_ILP32_OFF32,
4126 #define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32
4127     _SC_XBS5_ILP32_OFFBIG,
4128 #define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG
4129     _SC_XBS5_LP64_OFF64,
4130 #define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64
4131     _SC_XBS5_LPBIG_OFFBIG,
4132 #define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG
4133
4134     _SC_XOPEN_LEGACY,
4135 #define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY
4136     _SC_XOPEN_REALTIME,
4137 #define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME
4138     _SC_XOPEN_REALTIME_THREADS,
4139 #define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS
4140
4141     _SC_ADVISORY_INFO,
4142 #define _SC_ADVISORY_INFO _SC_ADVISORY_INFO
4143     _SC_BARRIERS,
4144 #define _SC_BARRIERS _SC_BARRIERS
4145     _SC_BASE,
4146 #define _SC_BASE _SC_BASE
4147     _SC_C_LANG_SUPPORT,
4148 #define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT
4149     _SC_C_LANG_SUPPORT_R,
4150 #define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R
4151     _SC_CLOCK_SELECTION,
4152 #define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION
4153     _SC_CPUTIME,
4154 #define _SC_CPUTIME _SC_CPUTIME
4155     _SC_THREAD_CPUTIME,
4156 #define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME
4157     _SC_DEVICE_IO,
4158 #define _SC_DEVICE_IO _SC_DEVICE_IO
4159     _SC_DEVICE_SPECIFIC,
4160 #define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC
4161     _SC_DEVICE_SPECIFIC_R,
4162 #define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R
4163     _SC_FD_MGMT,
4164 #define _SC_FD_MGMT _SC_FD_MGMT
4165     _SC_FIFO,
4166 #define _SC_FIFO _SC_FIFO
4167     _SC_PIPE,
4168 #define _SC_PIPE _SC_PIPE
4169     _SC_FILE_ATTRIBUTES,
4170 #define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES
4171     _SC_FILE_LOCKING,
4172 #define _SC_FILE_LOCKING _SC_FILE_LOCKING
4173     _SC_FILE_SYSTEM,
4174 #define _SC_FILE_SYSTEM _SC_FILE_SYSTEM
4175     _SC_MONOTONIC_CLOCK,
4176 #define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK
4177     _SC_MULTI_PROCESS,
4178 #define _SC_MULTI_PROCESS _SC_MULTI_PROCESS
4179     _SC_SINGLE_PROCESS,
4180 #define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS
4181     _SC_NETWORKING,
4182 #define _SC_NETWORKING _SC_NETWORKING
4183     _SC_READER_WRITER_LOCKS,
4184 #define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS
4185     _SC_SPIN_LOCKS,
4186 #define _SC_SPIN_LOCKS _SC_SPIN_LOCKS
4187     _SC_REGEXP,
4188 #define _SC_REGEXP _SC_REGEXP
4189     _SC_REGEX_VERSION,
4190 #define _SC_REGEX_VERSION _SC_REGEX_VERSION
4191     _SC_SHELL,
4192 #define _SC_SHELL _SC_SHELL
4193     _SC_SIGNALS,
4194 #define _SC_SIGNALS _SC_SIGNALS
4195     _SC_SPAWN,
4196 #define _SC_SPAWN _SC_SPAWN
4197     _SC_SPORADIC_SERVER,
4198 #define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER
4199     _SC_THREAD_SPORADIC_SERVER,
4200 #define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER
4201     _SC_SYSTEM_DATABASE,
4202 #define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE
4203     _SC_SYSTEM_DATABASE_R,
4204 #define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R
4205     _SC_TIMEOUTS,
4206 #define _SC_TIMEOUTS _SC_TIMEOUTS
4207     _SC_TYPED_MEMORY_OBJECTS,
4208 #define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS
4209     _SC_USER_GROUPS,
4210 #define _SC_USER_GROUPS _SC_USER_GROUPS
4211     _SC_USER_GROUPS_R,
4212 #define _SC_USER_GROUPS_R _SC_USER_GROUPS_R
4213     _SC_2_PBS,
4214 #define _SC_2_PBS _SC_2_PBS
4215     _SC_2_PBS_ACCOUNTING,
4216 #define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING
4217     _SC_2_PBS_LOCATE,
4218 #define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE
4219     _SC_2_PBS_MESSAGE,
4220 #define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE
4221     _SC_2_PBS_TRACK,
4222 #define _SC_2_PBS_TRACK _SC_2_PBS_TRACK
4223     _SC_SYMLOOP_MAX,
4224 #define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX
4225     _SC_STREAMS,
4226 #define _SC_STREAMS _SC_STREAMS
4227     _SC_2_PBS_CHECKPOINT,
4228 #define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT
4229
4230     _SC_V6_ILP32_OFF32,
4231 #define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32
4232     _SC_V6_ILP32_OFFBIG,
4233 #define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG
4234     _SC_V6_LP64_OFF64,
4235 #define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64
4236     _SC_V6_LPBIG_OFFBIG,
4237 #define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG
4238
4239     _SC_HOST_NAME_MAX,
4240 #define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX
4241     _SC_TRACE,
4242 #define _SC_TRACE _SC_TRACE
4243     _SC_TRACE_EVENT_FILTER,
4244 #define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER
4245     _SC_TRACE_INHERIT,
4246 #define _SC_TRACE_INHERIT _SC_TRACE_INHERIT
4247     _SC_TRACE_LOG,
4248 #define _SC_TRACE_LOG _SC_TRACE_LOG
4249
4250     _SC_LEVEL1_ICACHE_SIZE,
4251 #define _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZE
4252     _SC_LEVEL1_ICACHE_ASSOC,
4253 #define _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC
4254     _SC_LEVEL1_ICACHE_LINESIZE,
4255 #define _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE
4256     _SC_LEVEL1_DCACHE_SIZE,
4257 #define _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE
4258     _SC_LEVEL1_DCACHE_ASSOC,
4259 #define _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC
4260     _SC_LEVEL1_DCACHE_LINESIZE,
4261 #define _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE
4262     _SC_LEVEL2_CACHE_SIZE,
4263 #define _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZE
4264     _SC_LEVEL2_CACHE_ASSOC,
4265 #define _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC
4266     _SC_LEVEL2_CACHE_LINESIZE,
4267 #define _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE
4268     _SC_LEVEL3_CACHE_SIZE,
4269 #define _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE
4270     _SC_LEVEL3_CACHE_ASSOC,
4271 #define _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC
4272     _SC_LEVEL3_CACHE_LINESIZE,
4273 #define _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZE
4274     _SC_LEVEL4_CACHE_SIZE,
4275 #define _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE
4276     _SC_LEVEL4_CACHE_ASSOC,
4277 #define _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC
4278     _SC_LEVEL4_CACHE_LINESIZE,
4279 #define _SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE
4280
4281
4282     _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
4283 #define _SC_IPV6 _SC_IPV6
4284     _SC_RAW_SOCKETS
4285 #define _SC_RAW_SOCKETS _SC_RAW_SOCKETS
4286   };
4287
4288
4289 enum
4290   {
4291     _CS_PATH,
4292 #define _CS_PATH _CS_PATH
4293
4294     _CS_V6_WIDTH_RESTRICTED_ENVS,
4295 #define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
4296
4297     _CS_GNU_LIBC_VERSION,
4298 #define _CS_GNU_LIBC_VERSION _CS_GNU_LIBC_VERSION
4299     _CS_GNU_LIBPTHREAD_VERSION,
4300 #define _CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION
4301
4302     _CS_LFS_CFLAGS = 1000,
4303 #define _CS_LFS_CFLAGS _CS_LFS_CFLAGS
4304     _CS_LFS_LDFLAGS,
4305 #define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS
4306     _CS_LFS_LIBS,
4307 #define _CS_LFS_LIBS _CS_LFS_LIBS
4308     _CS_LFS_LINTFLAGS,
4309 #define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS
4310     _CS_LFS64_CFLAGS,
4311 #define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS
4312     _CS_LFS64_LDFLAGS,
4313 #define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS
4314     _CS_LFS64_LIBS,
4315 #define _CS_LFS64_LIBS _CS_LFS64_LIBS
4316     _CS_LFS64_LINTFLAGS,
4317 #define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS
4318
4319     _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
4320 #define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
4321     _CS_XBS5_ILP32_OFF32_LDFLAGS,
4322 #define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS
4323     _CS_XBS5_ILP32_OFF32_LIBS,
4324 #define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS
4325     _CS_XBS5_ILP32_OFF32_LINTFLAGS,
4326 #define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS
4327     _CS_XBS5_ILP32_OFFBIG_CFLAGS,
4328 #define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS
4329     _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
4330 #define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS
4331     _CS_XBS5_ILP32_OFFBIG_LIBS,
4332 #define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS
4333     _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
4334 #define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
4335     _CS_XBS5_LP64_OFF64_CFLAGS,
4336 #define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS
4337     _CS_XBS5_LP64_OFF64_LDFLAGS,
4338 #define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS
4339     _CS_XBS5_LP64_OFF64_LIBS,
4340 #define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS
4341     _CS_XBS5_LP64_OFF64_LINTFLAGS,
4342 #define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS
4343     _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
4344 #define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS
4345     _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
4346 #define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
4347     _CS_XBS5_LPBIG_OFFBIG_LIBS,
4348 #define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
4349     _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
4350 #define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
4351
4352     _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
4353 #define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS
4354     _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
4355 #define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
4356     _CS_POSIX_V6_ILP32_OFF32_LIBS,
4357 #define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS
4358     _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
4359 #define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
4360     _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
4361 #define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
4362     _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
4363 #define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
4364     _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
4365 #define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS
4366     _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
4367 #define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
4368     _CS_POSIX_V6_LP64_OFF64_CFLAGS,
4369 #define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS
4370     _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
4371 #define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS
4372     _CS_POSIX_V6_LP64_OFF64_LIBS,
4373 #define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS
4374     _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
4375 #define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
4376     _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
4377 #define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
4378     _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
4379 #define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
4380     _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
4381 #define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
4382     _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
4383 #define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
4384   };
4385 # 553 "/usr/include/unistd.h" 2 3 4
4386
4387
4388 extern long int pathconf (__const char *__path, int __name)
4389      throw () __attribute__ ((__nonnull__ (1)));
4390
4391
4392 extern long int fpathconf (int __fd, int __name) throw ();
4393
4394
4395 extern long int sysconf (int __name) throw () __attribute__ ((__const__));
4396
4397
4398
4399 extern size_t confstr (int __name, char *__buf, size_t __len) throw ();
4400
4401
4402
4403
4404 extern __pid_t getpid (void) throw ();
4405
4406
4407 extern __pid_t getppid (void) throw ();
4408
4409
4410
4411
4412 extern __pid_t getpgrp (void) throw ();
4413 # 589 "/usr/include/unistd.h" 3 4
4414 extern __pid_t __getpgid (__pid_t __pid) throw ();
4415
4416 extern __pid_t getpgid (__pid_t __pid) throw ();
4417
4418
4419
4420
4421
4422
4423 extern int setpgid (__pid_t __pid, __pid_t __pgid) throw ();
4424 # 615 "/usr/include/unistd.h" 3 4
4425 extern int setpgrp (void) throw ();
4426 # 632 "/usr/include/unistd.h" 3 4
4427 extern __pid_t setsid (void) throw ();
4428
4429
4430
4431 extern __pid_t getsid (__pid_t __pid) throw ();
4432
4433
4434
4435 extern __uid_t getuid (void) throw ();
4436
4437
4438 extern __uid_t geteuid (void) throw ();
4439
4440
4441 extern __gid_t getgid (void) throw ();
4442
4443
4444 extern __gid_t getegid (void) throw ();
4445
4446
4447
4448
4449 extern int getgroups (int __size, __gid_t __list[]) throw () ;
4450
4451
4452
4453 extern int group_member (__gid_t __gid) throw ();
4454
4455
4456
4457
4458
4459
4460 extern int setuid (__uid_t __uid) throw ();
4461
4462
4463
4464
4465 extern int setreuid (__uid_t __ruid, __uid_t __euid) throw ();
4466
4467
4468
4469
4470 extern int seteuid (__uid_t __uid) throw ();
4471
4472
4473
4474
4475
4476
4477 extern int setgid (__gid_t __gid) throw ();
4478
4479
4480
4481
4482 extern int setregid (__gid_t __rgid, __gid_t __egid) throw ();
4483
4484
4485
4486
4487 extern int setegid (__gid_t __gid) throw ();
4488
4489
4490
4491
4492
4493 extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid)
4494      throw ();
4495
4496
4497
4498 extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid)
4499      throw ();
4500
4501
4502
4503 extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid)
4504      throw ();
4505
4506
4507
4508 extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid)
4509      throw ();
4510
4511
4512
4513
4514
4515
4516 extern __pid_t fork (void) throw ();
4517
4518
4519
4520
4521
4522
4523 extern __pid_t vfork (void) throw ();
4524
4525
4526
4527
4528
4529 extern char *ttyname (int __fd) throw ();
4530
4531
4532
4533 extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
4534      throw () __attribute__ ((__nonnull__ (2))) ;
4535
4536
4537
4538 extern int isatty (int __fd) throw ();
4539
4540
4541
4542
4543
4544 extern int ttyslot (void) throw ();
4545
4546
4547
4548
4549 extern int link (__const char *__from, __const char *__to)
4550      throw () __attribute__ ((__nonnull__ (1, 2))) ;
4551
4552
4553
4554
4555 extern int linkat (int __fromfd, __const char *__from, int __tofd,
4556      __const char *__to, int __flags)
4557      throw () __attribute__ ((__nonnull__ (2, 4))) ;
4558
4559
4560
4561
4562 extern int symlink (__const char *__from, __const char *__to)
4563      throw () __attribute__ ((__nonnull__ (1, 2))) ;
4564
4565
4566
4567
4568 extern int readlink (__const char *__restrict __path, char *__restrict __buf,
4569        size_t __len) throw () __attribute__ ((__nonnull__ (1, 2))) ;
4570
4571
4572
4573
4574 extern int symlinkat (__const char *__from, int __tofd,
4575         __const char *__to) throw () __attribute__ ((__nonnull__ (1, 3))) ;
4576
4577
4578 extern int readlinkat (int __fd, __const char *__restrict __path,
4579          char *__restrict __buf, size_t __len)
4580      throw () __attribute__ ((__nonnull__ (2, 3))) ;
4581
4582
4583
4584 extern int unlink (__const char *__name) throw () __attribute__ ((__nonnull__ (1)));
4585
4586
4587
4588 extern int unlinkat (int __fd, __const char *__name, int __flag)
4589      throw () __attribute__ ((__nonnull__ (2)));
4590
4591
4592
4593 extern int rmdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1)));
4594
4595
4596
4597 extern __pid_t tcgetpgrp (int __fd) throw ();
4598
4599
4600 extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw ();
4601
4602
4603
4604
4605
4606
4607 extern char *getlogin (void);
4608
4609
4610
4611
4612
4613
4614
4615 extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1)));
4616
4617
4618
4619
4620 extern int setlogin (__const char *__name) throw () __attribute__ ((__nonnull__ (1)));
4621
4622
4623
4624
4625
4626
4627
4628 #define __need_getopt 
4629 # 1 "/usr/include/getopt.h" 1 3 4
4630 # 50 "/usr/include/getopt.h" 3 4
4631 extern "C" {
4632 # 59 "/usr/include/getopt.h" 3 4
4633 extern char *optarg;
4634 # 73 "/usr/include/getopt.h" 3 4
4635 extern int optind;
4636
4637
4638
4639
4640 extern int opterr;
4641
4642
4643
4644 extern int optopt;
4645 # 152 "/usr/include/getopt.h" 3 4
4646 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
4647        throw ();
4648 # 171 "/usr/include/getopt.h" 3 4
4649 }
4650
4651
4652
4653 #undef __need_getopt
4654 # 835 "/usr/include/unistd.h" 2 3 4
4655
4656
4657
4658
4659
4660
4661
4662 extern int gethostname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1)));
4663
4664
4665
4666
4667
4668
4669 extern int sethostname (__const char *__name, size_t __len)
4670      throw () __attribute__ ((__nonnull__ (1))) ;
4671
4672
4673
4674 extern int sethostid (long int __id) throw () ;
4675
4676
4677
4678
4679
4680 extern int getdomainname (char *__name, size_t __len)
4681      throw () __attribute__ ((__nonnull__ (1))) ;
4682 extern int setdomainname (__const char *__name, size_t __len)
4683      throw () __attribute__ ((__nonnull__ (1))) ;
4684
4685
4686
4687
4688
4689 extern int vhangup (void) throw ();
4690
4691
4692 extern int revoke (__const char *__file) throw () __attribute__ ((__nonnull__ (1))) ;
4693
4694
4695
4696
4697
4698
4699
4700 extern int profil (unsigned short int *__sample_buffer, size_t __size,
4701      size_t __offset, unsigned int __scale)
4702      throw () __attribute__ ((__nonnull__ (1)));
4703
4704
4705
4706
4707
4708 extern int acct (__const char *__name) throw ();
4709
4710
4711
4712 extern char *getusershell (void) throw ();
4713 extern void endusershell (void) throw ();
4714 extern void setusershell (void) throw ();
4715
4716
4717
4718
4719
4720 extern int daemon (int __nochdir, int __noclose) throw () ;
4721
4722
4723
4724
4725
4726
4727 extern int chroot (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ;
4728
4729
4730
4731 extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1)));
4732 # 920 "/usr/include/unistd.h" 3 4
4733 extern int fsync (int __fd);
4734
4735
4736
4737
4738
4739
4740 extern long int gethostid (void);
4741
4742
4743 extern void sync (void) throw ();
4744
4745
4746
4747
4748 extern int getpagesize (void) throw () __attribute__ ((__const__));
4749
4750
4751
4752
4753 extern int getdtablesize (void) throw ();
4754
4755
4756
4757
4758 extern int truncate (__const char *__file, __off_t __length)
4759      throw () __attribute__ ((__nonnull__ (1))) ;
4760 # 957 "/usr/include/unistd.h" 3 4
4761 extern int truncate64 (__const char *__file, __off64_t __length)
4762      throw () __attribute__ ((__nonnull__ (1))) ;
4763 # 967 "/usr/include/unistd.h" 3 4
4764 extern int ftruncate (int __fd, __off_t __length) throw () ;
4765 # 977 "/usr/include/unistd.h" 3 4
4766 extern int ftruncate64 (int __fd, __off64_t __length) throw () ;
4767 # 987 "/usr/include/unistd.h" 3 4
4768 extern int brk (void *__addr) throw () ;
4769
4770
4771
4772
4773
4774 extern void *sbrk (intptr_t __delta) throw ();
4775 # 1008 "/usr/include/unistd.h" 3 4
4776 extern long int syscall (long int __sysno, ...) throw ();
4777 # 1025 "/usr/include/unistd.h" 3 4
4778 #define F_ULOCK 0
4779 #define F_LOCK 1
4780 #define F_TLOCK 2
4781 #define F_TEST 3
4782
4783
4784 extern int lockf (int __fd, int __cmd, __off_t __len) ;
4785 # 1041 "/usr/include/unistd.h" 3 4
4786 extern int lockf64 (int __fd, int __cmd, __off64_t __len) ;
4787 # 1051 "/usr/include/unistd.h" 3 4
4788 #define TEMP_FAILURE_RETRY(expression) (__extension__ ({ long int __result; do __result = (long int) (expression); while (__result == -1L && errno == EINTR); __result; }))
4789 # 1062 "/usr/include/unistd.h" 3 4
4790 extern int fdatasync (int __fildes) throw ();
4791
4792
4793
4794
4795
4796
4797
4798 extern char *crypt (__const char *__key, __const char *__salt)
4799      throw () __attribute__ ((__nonnull__ (1, 2)));
4800
4801
4802
4803 extern void encrypt (char *__block, int __edflag) throw () __attribute__ ((__nonnull__ (1)));
4804
4805
4806
4807
4808
4809
4810 extern void swab (__const void *__restrict __from, void *__restrict __to,
4811     ssize_t __n) throw () __attribute__ ((__nonnull__ (1, 2)));
4812
4813
4814
4815
4816
4817
4818
4819 extern char *ctermid (char *__s) throw ();
4820 # 1100 "/usr/include/unistd.h" 3 4
4821 }
4822 # 19 "/usr/include/boost/config/posix_features.hpp" 2 3 4
4823
4824
4825
4826 #define BOOST_HAS_NL_TYPES_H 
4827
4828
4829
4830
4831 #define BOOST_HAS_STDINT_H 
4832
4833
4834
4835
4836 #define BOOST_HAS_DIRENT_H 
4837
4838
4839
4840
4841 #define BOOST_HAS_SIGACTION 
4842 # 46 "/usr/include/boost/config/posix_features.hpp" 3 4
4843 #define BOOST_HAS_PTHREADS 
4844
4845
4846
4847
4848
4849
4850 #define BOOST_HAS_NANOSLEEP 
4851
4852
4853
4854
4855
4856
4857
4858 #define BOOST_HAS_CLOCK_GETTIME 
4859 # 70 "/usr/include/boost/config/posix_features.hpp" 3 4
4860 #define BOOST_HAS_SCHED_YIELD 
4861
4862
4863
4864
4865
4866
4867
4868 #define BOOST_HAS_GETTIMEOFDAY 
4869
4870 #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 
4871 # 71 "/usr/include/boost/config/platform/linux.hpp" 2 3 4
4872 # 54 "/usr/include/boost/config.hpp" 2 3 4
4873
4874
4875
4876 # 1 "/usr/include/boost/config/suffix.hpp" 1 3 4
4877 # 25 "/usr/include/boost/config/suffix.hpp" 3 4
4878 #define BOOST_CONFIG_SUFFIX_HPP 
4879
4880
4881
4882
4883
4884
4885
4886 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/limits.h" 1 3 4
4887
4888
4889
4890
4891
4892
4893 #define _GCC_LIMITS_H_ 
4894
4895
4896
4897 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/syslimits.h" 1 3 4
4898
4899
4900
4901
4902
4903 #define _GCC_NEXT_LIMITS_H 
4904 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/limits.h" 1 3 4
4905 # 122 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/limits.h" 3 4
4906 # 1 "/usr/include/limits.h" 1 3 4
4907 # 25 "/usr/include/limits.h" 3 4
4908 #define _LIBC_LIMITS_H_ 1
4909
4910
4911
4912
4913
4914
4915
4916 #define MB_LEN_MAX 16
4917 # 133 "/usr/include/limits.h" 3 4
4918 #define LLONG_MIN (-LLONG_MAX-1)
4919
4920
4921 #define LLONG_MAX __LONG_LONG_MAX__
4922
4923
4924 #define ULLONG_MAX (LLONG_MAX * 2ULL + 1)
4925
4926
4927
4928
4929
4930 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4
4931 # 26 "/usr/include/bits/posix1_lim.h" 3 4
4932 #define _BITS_POSIX1_LIM_H 1
4933
4934
4935
4936
4937
4938 #define _POSIX_AIO_LISTIO_MAX 2
4939
4940
4941 #define _POSIX_AIO_MAX 1
4942
4943
4944 #define _POSIX_ARG_MAX 4096
4945
4946
4947
4948 #define _POSIX_CHILD_MAX 25
4949
4950
4951
4952
4953
4954 #define _POSIX_DELAYTIMER_MAX 32
4955
4956
4957
4958 #define _POSIX_HOST_NAME_MAX 255
4959
4960
4961 #define _POSIX_LINK_MAX 8
4962
4963
4964 #define _POSIX_LOGIN_NAME_MAX 9
4965
4966
4967 #define _POSIX_MAX_CANON 255
4968
4969
4970
4971 #define _POSIX_MAX_INPUT 255
4972
4973
4974 #define _POSIX_MQ_OPEN_MAX 8
4975
4976
4977 #define _POSIX_MQ_PRIO_MAX 32
4978
4979
4980 #define _POSIX_NAME_MAX 14
4981
4982
4983
4984 #define _POSIX_NGROUPS_MAX 8
4985
4986
4987
4988
4989
4990
4991 #define _POSIX_OPEN_MAX 20
4992
4993
4994
4995
4996
4997
4998 #define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX
4999
5000
5001 #define _POSIX_PATH_MAX 256
5002
5003
5004 #define _POSIX_PIPE_BUF 512
5005
5006
5007
5008 #define _POSIX_RE_DUP_MAX 255
5009
5010
5011 #define _POSIX_RTSIG_MAX 8
5012
5013
5014 #define _POSIX_SEM_NSEMS_MAX 256
5015
5016
5017 #define _POSIX_SEM_VALUE_MAX 32767
5018
5019
5020 #define _POSIX_SIGQUEUE_MAX 32
5021
5022
5023 #define _POSIX_SSIZE_MAX 32767
5024
5025
5026 #define _POSIX_STREAM_MAX 8
5027
5028
5029 #define _POSIX_SYMLINK_MAX 255
5030
5031
5032
5033 #define _POSIX_SYMLOOP_MAX 8
5034
5035
5036 #define _POSIX_TIMER_MAX 32
5037
5038
5039 #define _POSIX_TTY_NAME_MAX 9
5040
5041
5042 #define _POSIX_TZNAME_MAX 6
5043
5044
5045 #define _POSIX_QLIMIT 1
5046
5047
5048
5049 #define _POSIX_HIWAT _POSIX_PIPE_BUF
5050
5051
5052 #define _POSIX_UIO_MAXIOV 16
5053
5054
5055 #define _POSIX_CLOCKRES_MIN 20000000
5056
5057
5058
5059 # 1 "/usr/include/bits/local_lim.h" 1 3 4
5060 # 26 "/usr/include/bits/local_lim.h" 3 4
5061 #define __undef_NR_OPEN 
5062
5063
5064 #define __undef_LINK_MAX 
5065
5066
5067 #define __undef_OPEN_MAX 
5068
5069
5070
5071 # 1 "/usr/include/linux/limits.h" 1 3 4
5072
5073 #define _LINUX_LIMITS_H 
5074
5075 #define NR_OPEN 1024
5076
5077 #define NGROUPS_MAX 65536
5078 #define ARG_MAX 131072
5079 #define CHILD_MAX 999
5080 #define OPEN_MAX 256
5081 #define LINK_MAX 127
5082 #define MAX_CANON 255
5083 #define MAX_INPUT 255
5084 #define NAME_MAX 255
5085 #define PATH_MAX 4096
5086 #define PIPE_BUF 4096
5087 #define XATTR_NAME_MAX 255
5088 #define XATTR_SIZE_MAX 65536
5089 #define XATTR_LIST_MAX 65536
5090
5091 #define RTSIG_MAX 32
5092 # 37 "/usr/include/bits/local_lim.h" 2 3 4
5093
5094
5095
5096 #undef NR_OPEN
5097 #undef __undef_NR_OPEN
5098
5099
5100
5101 #undef LINK_MAX
5102 #undef __undef_LINK_MAX
5103
5104
5105
5106 #undef OPEN_MAX
5107 #undef __undef_OPEN_MAX
5108
5109
5110
5111 #define _POSIX_THREAD_KEYS_MAX 128
5112
5113 #define PTHREAD_KEYS_MAX 1024
5114
5115
5116 #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
5117
5118 #define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
5119
5120
5121 #define _POSIX_THREAD_THREADS_MAX 64
5122
5123 #undef PTHREAD_THREADS_MAX
5124
5125
5126
5127 #define AIO_PRIO_DELTA_MAX 20
5128
5129
5130 #define PTHREAD_STACK_MIN 16384
5131
5132
5133 #define DELAYTIMER_MAX 2147483647
5134
5135
5136 #define TTY_NAME_MAX 32
5137
5138
5139 #define LOGIN_NAME_MAX 256
5140
5141
5142 #define HOST_NAME_MAX 64
5143
5144
5145 #define MQ_PRIO_MAX 32768
5146 # 154 "/usr/include/bits/posix1_lim.h" 2 3 4
5147
5148
5149
5150 #define SSIZE_MAX LONG_MAX
5151 # 146 "/usr/include/limits.h" 2 3 4
5152
5153
5154
5155 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4
5156 # 24 "/usr/include/bits/posix2_lim.h" 3 4
5157 #define _BITS_POSIX2_LIM_H 1
5158
5159
5160
5161 #define _POSIX2_BC_BASE_MAX 99
5162
5163
5164 #define _POSIX2_BC_DIM_MAX 2048
5165
5166
5167 #define _POSIX2_BC_SCALE_MAX 99
5168
5169
5170 #define _POSIX2_BC_STRING_MAX 1000
5171
5172
5173
5174 #define _POSIX2_COLL_WEIGHTS_MAX 2
5175
5176
5177
5178 #define _POSIX2_EXPR_NEST_MAX 32
5179
5180
5181 #define _POSIX2_LINE_MAX 2048
5182
5183
5184
5185 #define _POSIX2_RE_DUP_MAX 255
5186
5187
5188
5189 #define _POSIX2_CHARCLASS_NAME_MAX 14
5190
5191
5192
5193
5194
5195
5196
5197 #define BC_BASE_MAX _POSIX2_BC_BASE_MAX
5198
5199
5200 #define BC_DIM_MAX _POSIX2_BC_DIM_MAX
5201
5202
5203 #define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX
5204
5205
5206 #define BC_STRING_MAX _POSIX2_BC_STRING_MAX
5207
5208
5209 #define COLL_WEIGHTS_MAX 255
5210
5211
5212 #define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX
5213
5214
5215 #define LINE_MAX _POSIX2_LINE_MAX
5216
5217
5218 #define CHARCLASS_NAME_MAX 2048
5219
5220
5221
5222 #define RE_DUP_MAX (0x7fff)
5223 # 150 "/usr/include/limits.h" 2 3 4
5224
5225
5226
5227 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4
5228 # 31 "/usr/include/bits/xopen_lim.h" 3 4
5229 #define _XOPEN_LIM_H 1
5230
5231 #define __need_IOV_MAX 
5232 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
5233 # 40 "/usr/include/bits/stdio_lim.h" 3 4
5234 #define IOV_MAX 1024
5235 # 35 "/usr/include/bits/xopen_lim.h" 2 3 4
5236 # 66 "/usr/include/bits/xopen_lim.h" 3 4
5237 #define _XOPEN_IOV_MAX _POSIX_UIO_MAXIOV
5238
5239
5240
5241
5242 #define NL_ARGMAX _POSIX_ARG_MAX
5243
5244
5245 #define NL_LANGMAX _POSIX2_LINE_MAX
5246
5247
5248 #define NL_MSGMAX INT_MAX
5249
5250
5251
5252 #define NL_NMAX INT_MAX
5253
5254
5255 #define NL_SETMAX INT_MAX
5256
5257
5258 #define NL_TEXTMAX INT_MAX
5259
5260
5261 #define NZERO 20
5262 # 110 "/usr/include/bits/xopen_lim.h" 3 4
5263 #define WORD_BIT 32
5264 # 130 "/usr/include/bits/xopen_lim.h" 3 4
5265 #define LONG_BIT 32
5266 # 154 "/usr/include/limits.h" 2 3 4
5267 # 123 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/limits.h" 2 3 4
5268 # 8 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/syslimits.h" 2 3 4
5269 #undef _GCC_NEXT_LIMITS_H
5270 # 12 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/limits.h" 2 3 4
5271
5272
5273 #define _LIMITS_H___ 
5274
5275
5276 #undef CHAR_BIT
5277 #define CHAR_BIT __CHAR_BIT__
5278
5279
5280
5281
5282
5283
5284
5285 #undef SCHAR_MIN
5286 #define SCHAR_MIN (-SCHAR_MAX - 1)
5287 #undef SCHAR_MAX
5288 #define SCHAR_MAX __SCHAR_MAX__
5289
5290
5291 #undef UCHAR_MAX
5292
5293
5294
5295 #define UCHAR_MAX (SCHAR_MAX * 2 + 1)
5296 # 50 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/limits.h" 3 4
5297 #undef CHAR_MIN
5298 #define CHAR_MIN SCHAR_MIN
5299 #undef CHAR_MAX
5300 #define CHAR_MAX SCHAR_MAX
5301
5302
5303
5304 #undef SHRT_MIN
5305 #define SHRT_MIN (-SHRT_MAX - 1)
5306 #undef SHRT_MAX
5307 #define SHRT_MAX __SHRT_MAX__
5308
5309
5310 #undef USHRT_MAX
5311
5312
5313
5314 #define USHRT_MAX (SHRT_MAX * 2 + 1)
5315
5316
5317
5318 #undef INT_MIN
5319 #define INT_MIN (-INT_MAX - 1)
5320 #undef INT_MAX
5321 #define INT_MAX __INT_MAX__
5322
5323
5324 #undef UINT_MAX
5325 #define UINT_MAX (INT_MAX * 2U + 1U)
5326
5327
5328
5329 #undef LONG_MIN
5330 #define LONG_MIN (-LONG_MAX - 1L)
5331 #undef LONG_MAX
5332 #define LONG_MAX __LONG_MAX__
5333
5334
5335 #undef ULONG_MAX
5336 #define ULONG_MAX (LONG_MAX * 2UL + 1UL)
5337 # 105 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/limits.h" 3 4
5338 #undef LONG_LONG_MIN
5339 #define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
5340 #undef LONG_LONG_MAX
5341 #define LONG_LONG_MAX __LONG_LONG_MAX__
5342
5343
5344 #undef ULONG_LONG_MAX
5345 #define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL)
5346 # 34 "/usr/include/boost/config/suffix.hpp" 2 3 4
5347 # 59 "/usr/include/boost/config/suffix.hpp" 3 4
5348 #define BOOST_STD_EXTENSION_NAMESPACE std
5349 # 94 "/usr/include/boost/config/suffix.hpp" 3 4
5350 #define BOOST_NO_MS_INT64_NUMERIC_LIMITS 
5351 # 103 "/usr/include/boost/config/suffix.hpp" 3 4
5352 #define BOOST_MSVC6_MEMBER_TEMPLATES 
5353 # 161 "/usr/include/boost/config/suffix.hpp" 3 4
5354 #define BOOST_HAS_PARTIAL_STD_ALLOCATOR 
5355 # 260 "/usr/include/boost/config/suffix.hpp" 3 4
5356 #define BOOST_NO_SLIST 
5357
5358
5359
5360 #define BOOST_NO_HASH 
5361 # 294 "/usr/include/boost/config/suffix.hpp" 3 4
5362 #define BOOST_PREVENT_MACRO_SUBSTITUTION 
5363
5364
5365 #define BOOST_USING_STD_MIN() using std::min
5366
5367
5368
5369 #define BOOST_USING_STD_MAX() using std::max
5370 # 330 "/usr/include/boost/config/suffix.hpp" 3 4
5371 #define BOOST_STATIC_CONSTANT(type,assignment) static const type assignment
5372 # 358 "/usr/include/boost/config/suffix.hpp" 3 4
5373 #define BOOST_USE_FACET(Type,loc) std::use_facet< Type >(loc)
5374 #define BOOST_HAS_FACET(Type,loc) std::has_facet< Type >(loc)
5375 # 373 "/usr/include/boost/config/suffix.hpp" 3 4
5376 #define BOOST_NESTED_TEMPLATE template
5377 # 386 "/usr/include/boost/config/suffix.hpp" 3 4
5378 #define BOOST_UNREACHABLE_RETURN(x) 
5379 # 401 "/usr/include/boost/config/suffix.hpp" 3 4
5380 #define BOOST_DEDUCED_TYPENAME typename
5381 # 412 "/usr/include/boost/config/suffix.hpp" 3 4
5382 namespace boost{
5383
5384    __extension__ typedef long long long_long_type;
5385    __extension__ typedef unsigned long long ulong_long_type;
5386
5387
5388
5389
5390 }
5391 # 489 "/usr/include/boost/config/suffix.hpp" 3 4
5392 #define BOOST_EXPLICIT_TEMPLATE_TYPE(t) 
5393 #define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) 
5394 #define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t,v) 
5395 #define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t,v) 
5396
5397 #define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) 
5398 #define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) 
5399 #define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t,v) 
5400 #define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t,v) 
5401 # 510 "/usr/include/boost/config/suffix.hpp" 3 4
5402 #define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
5403 #define BOOST_DO_STRINGIZE(X) #X
5404 # 521 "/usr/include/boost/config/suffix.hpp" 3 4
5405 #define BOOST_JOIN(X,Y) BOOST_DO_JOIN( X, Y )
5406 #define BOOST_DO_JOIN(X,Y) BOOST_DO_JOIN2(X,Y)
5407 #define BOOST_DO_JOIN2(X,Y) X ##Y
5408 # 58 "/usr/include/boost/config.hpp" 2 3 4
5409 # 28 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/config.hpp" 2
5410
5411
5412
5413
5414 #define LUABIND_ANONYMOUS_FIX 
5415 # 54 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/config.hpp"
5416 #define LUABIND_MSVC_TYPENAME typename
5417
5418
5419
5420
5421
5422 #define LUABIND_MAX_ARITY 10
5423 # 70 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/config.hpp"
5424 #define LUABIND_MAX_BASES 4
5425 # 110 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/config.hpp"
5426 #define LUABIND_TYPE_INFO const std::type_info*
5427 #define LUABIND_TYPEID(t) &typeid(t)
5428 #define LUABIND_TYPE_INFO_EQUAL(i1,i2) *i1 == *i2
5429 #define LUABIND_INVALID_TYPE_INFO &typeid(detail::null_type)
5430 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo" 1 3
5431 # 36 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo" 3
5432 #define _TYPEINFO 
5433
5434 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/exception" 1 3
5435 # 38 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/exception" 3
5436 #define __EXCEPTION__ 
5437
5438 #pragma GCC visibility push(default)
5439
5440 extern "C++" {
5441
5442 namespace std
5443 {
5444 # 54 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/exception" 3
5445   class exception
5446   {
5447   public:
5448     exception() throw() { }
5449     virtual ~exception() throw();
5450
5451
5452     virtual const char* what() const throw();
5453   };
5454
5455
5456
5457   class bad_exception : public exception
5458   {
5459   public:
5460     bad_exception() throw() { }
5461
5462
5463     virtual ~bad_exception() throw();
5464   };
5465
5466
5467   typedef void (*terminate_handler) ();
5468
5469   typedef void (*unexpected_handler) ();
5470
5471
5472   terminate_handler set_terminate(terminate_handler) throw();
5473
5474
5475   void terminate() __attribute__ ((__noreturn__));
5476
5477
5478   unexpected_handler set_unexpected(unexpected_handler) throw();
5479
5480
5481   void unexpected() __attribute__ ((__noreturn__));
5482 # 102 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/exception" 3
5483   bool uncaught_exception() throw();
5484 }
5485
5486 namespace __gnu_cxx
5487 {
5488 # 117 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/exception" 3
5489   void __verbose_terminate_handler ();
5490 }
5491
5492 }
5493
5494 #pragma GCC visibility pop
5495 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo" 2 3
5496
5497 #pragma GCC visibility push(default)
5498
5499 extern "C++" {
5500
5501 namespace __cxxabiv1
5502 {
5503   class __class_type_info;
5504 }
5505
5506
5507
5508
5509
5510
5511
5512 #define __GXX_MERGED_TYPEINFO_NAMES 1
5513
5514
5515
5516 namespace std
5517 {
5518
5519
5520
5521
5522
5523
5524   class type_info
5525   {
5526   public:
5527
5528
5529
5530
5531     virtual ~type_info();
5532
5533   private:
5534
5535     type_info& operator=(const type_info&);
5536     type_info(const type_info&);
5537
5538   protected:
5539     const char *__name;
5540
5541   protected:
5542     explicit type_info(const char *__n): __name(__n) { }
5543
5544   public:
5545
5546
5547
5548     const char* name() const
5549     { return __name; }
5550 # 105 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo" 3
5551     bool before(const type_info& __arg) const
5552     { return __name < __arg.__name; }
5553     bool operator==(const type_info& __arg) const
5554     { return __name == __arg.__name; }
5555
5556     bool operator!=(const type_info& __arg) const
5557     { return !operator==(__arg); }
5558
5559
5560   public:
5561
5562     virtual bool __is_pointer_p() const;
5563
5564     virtual bool __is_function_p() const;
5565
5566
5567
5568
5569
5570
5571
5572     virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
5573        unsigned __outer) const;
5574
5575
5576     virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
5577         void **__obj_ptr) const;
5578   };
5579
5580
5581
5582
5583
5584
5585   class bad_cast : public exception
5586   {
5587   public:
5588     bad_cast() throw() { }
5589
5590
5591     virtual ~bad_cast() throw();
5592   };
5593
5594
5595   class bad_typeid : public exception
5596   {
5597   public:
5598     bad_typeid () throw() { }
5599
5600
5601     virtual ~bad_typeid() throw();
5602   };
5603 }
5604
5605 #pragma GCC visibility pop
5606
5607 }
5608 # 115 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/config.hpp" 2
5609 # 148 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/config.hpp"
5610 #define LUABIND_API 
5611 # 28 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/luabind.hpp" 2
5612 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 1
5613 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp"
5614 #define LUABIND_CLASS_HPP_INCLUDED 
5615 # 70 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp"
5616 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/prefix.hpp" 1
5617 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/prefix.hpp"
5618 #define PREFIX_040218_HPP 
5619 # 71 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
5620
5621
5622 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/string" 1 3
5623 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/string" 3
5624 #define _GLIBCXX_STRING 1
5625
5626        
5627 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/string" 3
5628 #pragma GCC visibility push(default)
5629
5630
5631 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stringfwd.h" 1 3
5632 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stringfwd.h" 3
5633 #define _STRINGFWD_H 1
5634
5635        
5636 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stringfwd.h" 3
5637
5638
5639
5640 namespace std
5641 {
5642   template<typename _Alloc>
5643     class allocator;
5644
5645   template<class _CharT>
5646     struct char_traits;
5647
5648   template<typename _CharT, typename _Traits = char_traits<_CharT>,
5649            typename _Alloc = allocator<_CharT> >
5650     class basic_string;
5651
5652   template<> struct char_traits<char>;
5653
5654   typedef basic_string<char> string;
5655
5656
5657   template<> struct char_traits<wchar_t>;
5658
5659   typedef basic_string<wchar_t> wstring;
5660
5661 }
5662 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
5663 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 1 3
5664 # 41 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 3
5665 #define _CHAR_TRAITS_H 1
5666
5667        
5668 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 3
5669
5670 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstring" 1 3
5671 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstring" 3
5672 #define _GLIBCXX_CSTRING 1
5673
5674        
5675 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstring" 3
5676 #pragma GCC visibility push(default)
5677
5678
5679
5680 # 1 "/usr/include/string.h" 1 3 4
5681 # 24 "/usr/include/string.h" 3 4
5682 #define _STRING_H 1
5683
5684
5685
5686 extern "C" {
5687
5688
5689 #define __need_size_t 
5690 #define __need_NULL 
5691 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
5692 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
5693 #undef __need_ptrdiff_t
5694 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
5695 #undef __need_size_t
5696 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
5697 #undef __need_wchar_t
5698 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
5699 #undef NULL
5700
5701 #define NULL __null
5702 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
5703 #undef __need_NULL
5704
5705
5706
5707
5708 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
5709 # 34 "/usr/include/string.h" 2 3 4
5710
5711
5712
5713
5714 extern void *memcpy (void *__restrict __dest,
5715        __const void *__restrict __src, size_t __n)
5716      throw () __attribute__ ((__nonnull__ (1, 2)));
5717
5718
5719 extern void *memmove (void *__dest, __const void *__src, size_t __n)
5720      throw () __attribute__ ((__nonnull__ (1, 2)));
5721
5722
5723
5724
5725
5726
5727 extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
5728         int __c, size_t __n)
5729      throw () __attribute__ ((__nonnull__ (1, 2)));
5730
5731
5732
5733
5734
5735 extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
5736
5737
5738 extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
5739      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5740
5741
5742 extern void *memchr (__const void *__s, int __c, size_t __n)
5743       throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
5744
5745
5746
5747
5748
5749 extern void *rawmemchr (__const void *__s, int __c)
5750      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
5751
5752
5753 extern void *memrchr (__const void *__s, int __c, size_t __n)
5754       throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
5755
5756
5757
5758
5759
5760 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
5761      throw () __attribute__ ((__nonnull__ (1, 2)));
5762
5763 extern char *strncpy (char *__restrict __dest,
5764         __const char *__restrict __src, size_t __n)
5765      throw () __attribute__ ((__nonnull__ (1, 2)));
5766
5767
5768 extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
5769      throw () __attribute__ ((__nonnull__ (1, 2)));
5770
5771 extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
5772         size_t __n) throw () __attribute__ ((__nonnull__ (1, 2)));
5773
5774
5775 extern int strcmp (__const char *__s1, __const char *__s2)
5776      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5777
5778 extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
5779      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5780
5781
5782 extern int strcoll (__const char *__s1, __const char *__s2)
5783      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5784
5785 extern size_t strxfrm (char *__restrict __dest,
5786          __const char *__restrict __src, size_t __n)
5787      throw () __attribute__ ((__nonnull__ (2)));
5788
5789 # 121 "/usr/include/string.h" 3 4
5790 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
5791      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
5792
5793 extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
5794     __locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4)));
5795
5796
5797
5798
5799 extern char *strdup (__const char *__s)
5800      throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
5801
5802
5803
5804
5805
5806
5807 extern char *strndup (__const char *__string, size_t __n)
5808      throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
5809
5810
5811
5812
5813 #define strdupa(s) (__extension__ ({ __const char *__old = (s); size_t __len = strlen (__old) + 1; char *__new = (char *) __builtin_alloca (__len); (char *) memcpy (__new, __old, __len); }))
5814 # 154 "/usr/include/string.h" 3 4
5815 #define strndupa(s,n) (__extension__ ({ __const char *__old = (s); size_t __len = strnlen (__old, (n)); char *__new = (char *) __builtin_alloca (__len + 1); __new[__len] = '\0'; (char *) memcpy (__new, __old, __len); }))
5816 # 165 "/usr/include/string.h" 3 4
5817
5818
5819 extern char *strchr (__const char *__s, int __c)
5820      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
5821
5822 extern char *strrchr (__const char *__s, int __c)
5823      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
5824
5825
5826
5827
5828
5829 extern char *strchrnul (__const char *__s, int __c)
5830      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
5831
5832
5833
5834
5835
5836 extern size_t strcspn (__const char *__s, __const char *__reject)
5837      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5838
5839
5840 extern size_t strspn (__const char *__s, __const char *__accept)
5841      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5842
5843 extern char *strpbrk (__const char *__s, __const char *__accept)
5844      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5845
5846 extern char *strstr (__const char *__haystack, __const char *__needle)
5847      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5848
5849
5850
5851 extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
5852      throw () __attribute__ ((__nonnull__ (2)));
5853
5854
5855
5856
5857 extern char *__strtok_r (char *__restrict __s,
5858     __const char *__restrict __delim,
5859     char **__restrict __save_ptr)
5860      throw () __attribute__ ((__nonnull__ (2, 3)));
5861
5862 extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
5863          char **__restrict __save_ptr)
5864      throw () __attribute__ ((__nonnull__ (2, 3)));
5865
5866
5867
5868
5869 extern char *strcasestr (__const char *__haystack, __const char *__needle)
5870      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5871
5872
5873
5874
5875
5876
5877 extern void *memmem (__const void *__haystack, size_t __haystacklen,
5878        __const void *__needle, size_t __needlelen)
5879      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)));
5880
5881
5882
5883 extern void *__mempcpy (void *__restrict __dest,
5884    __const void *__restrict __src, size_t __n)
5885      throw () __attribute__ ((__nonnull__ (1, 2)));
5886 extern void *mempcpy (void *__restrict __dest,
5887         __const void *__restrict __src, size_t __n)
5888      throw () __attribute__ ((__nonnull__ (1, 2)));
5889
5890
5891
5892
5893
5894 extern size_t strlen (__const char *__s)
5895      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
5896
5897
5898
5899
5900
5901 extern size_t strnlen (__const char *__string, size_t __maxlen)
5902      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
5903
5904
5905
5906
5907
5908 extern char *strerror (int __errnum) throw ();
5909
5910 # 281 "/usr/include/string.h" 3 4
5911 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
5912      throw () __attribute__ ((__nonnull__ (2)));
5913
5914
5915
5916
5917
5918 extern void __bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
5919
5920
5921
5922 extern void bcopy (__const void *__src, void *__dest, size_t __n)
5923      throw () __attribute__ ((__nonnull__ (1, 2)));
5924
5925
5926 extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
5927
5928
5929 extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
5930      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5931
5932
5933 extern char *index (__const char *__s, int __c)
5934      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
5935
5936
5937 extern char *rindex (__const char *__s, int __c)
5938      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
5939
5940
5941
5942 extern int ffs (int __i) throw () __attribute__ ((__const__));
5943
5944
5945
5946
5947 extern int ffsl (long int __l) throw () __attribute__ ((__const__));
5948
5949 __extension__ extern int ffsll (long long int __ll)
5950      throw () __attribute__ ((__const__));
5951
5952
5953
5954
5955 extern int strcasecmp (__const char *__s1, __const char *__s2)
5956      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5957
5958
5959 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
5960      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5961
5962
5963
5964
5965
5966 extern int strcasecmp_l (__const char *__s1, __const char *__s2,
5967     __locale_t __loc)
5968      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
5969
5970 extern int strncasecmp_l (__const char *__s1, __const char *__s2,
5971      size_t __n, __locale_t __loc)
5972      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
5973
5974
5975
5976
5977
5978 extern char *strsep (char **__restrict __stringp,
5979        __const char *__restrict __delim)
5980      throw () __attribute__ ((__nonnull__ (1, 2)));
5981
5982
5983
5984
5985 extern int strverscmp (__const char *__s1, __const char *__s2)
5986      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
5987
5988
5989 extern char *strsignal (int __sig) throw ();
5990
5991
5992 extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
5993      throw () __attribute__ ((__nonnull__ (1, 2)));
5994 extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
5995      throw () __attribute__ ((__nonnull__ (1, 2)));
5996
5997
5998
5999 extern char *__stpncpy (char *__restrict __dest,
6000    __const char *__restrict __src, size_t __n)
6001      throw () __attribute__ ((__nonnull__ (1, 2)));
6002 extern char *stpncpy (char *__restrict __dest,
6003         __const char *__restrict __src, size_t __n)
6004      throw () __attribute__ ((__nonnull__ (1, 2)));
6005
6006
6007 extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1)));
6008
6009
6010 extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
6011
6012
6013
6014
6015
6016
6017 extern char *basename (__const char *__filename) throw () __attribute__ ((__nonnull__ (1)));
6018 # 426 "/usr/include/string.h" 3 4
6019 }
6020 # 54 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstring" 2 3
6021
6022
6023 #undef memcpy
6024 #undef memmove
6025 #undef strcpy
6026 #undef strncpy
6027 #undef strcat
6028 #undef strncat
6029 #undef memcmp
6030 #undef strcmp
6031 #undef strcoll
6032 #undef strncmp
6033 #undef strxfrm
6034 #undef memchr
6035 #undef strchr
6036 #undef strcspn
6037 #undef strpbrk
6038 #undef strrchr
6039 #undef strspn
6040 #undef strstr
6041 #undef strtok
6042 #undef memset
6043 #undef strerror
6044 #undef strlen
6045
6046 namespace std
6047 {
6048   using ::memcpy;
6049   using ::memmove;
6050   using ::strcpy;
6051   using ::strncpy;
6052   using ::strcat;
6053   using ::strncat;
6054   using ::memcmp;
6055   using ::strcmp;
6056   using ::strcoll;
6057   using ::strncmp;
6058   using ::strxfrm;
6059   using ::strcspn;
6060   using ::strspn;
6061   using ::strtok;
6062   using ::memset;
6063   using ::strerror;
6064   using ::strlen;
6065
6066   using ::memchr;
6067
6068   inline void*
6069   memchr(void* __p, int __c, size_t __n)
6070   { return memchr(const_cast<const void*>(__p), __c, __n); }
6071
6072   using ::strchr;
6073
6074   inline char*
6075   strchr(char* __s1, int __n)
6076   { return __builtin_strchr(const_cast<const char*>(__s1), __n); }
6077
6078   using ::strpbrk;
6079
6080   inline char*
6081   strpbrk(char* __s1, const char* __s2)
6082   { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }
6083
6084   using ::strrchr;
6085
6086   inline char*
6087   strrchr(char* __s1, int __n)
6088   { return __builtin_strrchr(const_cast<const char*>(__s1), __n); }
6089
6090   using ::strstr;
6091
6092   inline char*
6093   strstr(char* __s1, const char* __s2)
6094   { return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
6095 }
6096
6097 #pragma GCC visibility pop
6098 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 2 3
6099 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 1 3
6100 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
6101 #define _ALGOBASE_H 1
6102
6103
6104
6105 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/climits" 1 3
6106 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/climits" 3
6107 #define _GLIBCXX_CLIMITS 1
6108
6109        
6110 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/climits" 3
6111 #pragma GCC visibility push(default)
6112
6113 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/limits.h" 1 3 4
6114 # 52 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/climits" 2 3
6115
6116 #pragma GCC visibility pop
6117 # 67 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
6118
6119
6120 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 1 3
6121 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 3
6122 #define _GLIBCXX_IOSFWD 1
6123
6124        
6125 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 3
6126 #pragma GCC visibility push(default)
6127
6128
6129 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++locale.h" 1 3
6130 # 37 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++locale.h" 3
6131 #define _C_LOCALE_H 1
6132
6133        
6134 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++locale.h" 3
6135
6136
6137 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 1 3
6138 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 3
6139 #define _GLIBCXX_CSTDIO 1
6140
6141        
6142 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 3
6143 #pragma GCC visibility push(default)
6144
6145
6146
6147
6148 # 1 "/usr/include/stdio.h" 1 3 4
6149 # 27 "/usr/include/stdio.h" 3 4
6150 #define _STDIO_H 1
6151
6152
6153 extern "C" {
6154
6155 #define __need_size_t 
6156 #define __need_NULL 
6157 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
6158 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6159 #undef __need_ptrdiff_t
6160 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6161 #undef __need_size_t
6162 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6163 #undef __need_wchar_t
6164 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6165 #undef NULL
6166
6167 #define NULL __null
6168 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6169 #undef __need_NULL
6170
6171
6172
6173
6174 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
6175 # 35 "/usr/include/stdio.h" 2 3 4
6176
6177
6178 #define __need_FILE 
6179 #define __need___FILE 
6180
6181
6182
6183
6184
6185
6186
6187 typedef struct _IO_FILE FILE;
6188
6189
6190
6191
6192
6193
6194
6195 #define __FILE_defined 1
6196
6197 #undef __need_FILE
6198
6199
6200
6201
6202
6203 typedef struct _IO_FILE __FILE;
6204
6205 #define ____FILE_defined 1
6206
6207 #undef __need___FILE
6208
6209
6210
6211 #define _STDIO_USES_IOSTREAM 
6212
6213 # 1 "/usr/include/libio.h" 1 3 4
6214 # 30 "/usr/include/libio.h" 3 4
6215 #define _IO_STDIO_H 
6216
6217 # 1 "/usr/include/_G_config.h" 1 3 4
6218
6219
6220
6221
6222 #define _G_config_h 1
6223
6224
6225
6226
6227 #define __need_size_t 
6228 #define __need_wchar_t 
6229 #define __need_wint_t 
6230 #define __need_NULL 
6231 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
6232 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6233 #undef __need_ptrdiff_t
6234 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6235 #undef __need_size_t
6236 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6237 #undef __need_wchar_t
6238
6239
6240
6241
6242 #define _WINT_T 
6243
6244
6245
6246
6247 typedef unsigned int wint_t;
6248
6249 #undef __need_wint_t
6250 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6251 #undef NULL
6252
6253 #define NULL __null
6254 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6255 #undef __need_NULL
6256
6257
6258
6259
6260 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
6261 # 15 "/usr/include/_G_config.h" 2 3 4
6262 # 23 "/usr/include/_G_config.h" 3 4
6263 #define __need_mbstate_t 
6264 # 1 "/usr/include/wchar.h" 1 3 4
6265 # 47 "/usr/include/wchar.h" 3 4
6266 #define __need_wint_t 
6267 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
6268 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6269 #undef __need_ptrdiff_t
6270 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6271 #undef __need_size_t
6272 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6273 #undef __need_wchar_t
6274 # 357 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6275 #undef __need_wint_t
6276 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6277 #undef NULL
6278
6279 #define NULL __null
6280 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6281 #undef __need_NULL
6282
6283
6284
6285
6286 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
6287 # 49 "/usr/include/wchar.h" 2 3 4
6288
6289 # 1 "/usr/include/bits/wchar.h" 1 3 4
6290 # 21 "/usr/include/bits/wchar.h" 3 4
6291 #define _BITS_WCHAR_H 1
6292
6293 #define __WCHAR_MIN (-2147483647l - 1l)
6294 #define __WCHAR_MAX (2147483647l)
6295 # 51 "/usr/include/wchar.h" 2 3 4
6296 # 74 "/usr/include/wchar.h" 3 4
6297 #define __mbstate_t_defined 1
6298
6299 typedef struct
6300 {
6301   int __count;
6302   union
6303   {
6304     wint_t __wch;
6305     char __wchb[4];
6306   } __value;
6307 } __mbstate_t;
6308
6309 #undef __need_mbstate_t
6310 # 25 "/usr/include/_G_config.h" 2 3 4
6311 #define _G_size_t size_t
6312 typedef struct
6313 {
6314   __off_t __pos;
6315   __mbstate_t __state;
6316 } _G_fpos_t;
6317 typedef struct
6318 {
6319   __off64_t __pos;
6320   __mbstate_t __state;
6321 } _G_fpos64_t;
6322 #define _G_ssize_t __ssize_t
6323 #define _G_off_t __off_t
6324 #define _G_off64_t __off64_t
6325 #define _G_pid_t __pid_t
6326 #define _G_uid_t __uid_t
6327 #define _G_wchar_t wchar_t
6328 #define _G_wint_t wint_t
6329 #define _G_stat64 stat64
6330 # 1 "/usr/include/gconv.h" 1 3 4
6331 # 24 "/usr/include/gconv.h" 3 4
6332 #define _GCONV_H 1
6333
6334
6335 #define __need_mbstate_t 
6336 # 1 "/usr/include/wchar.h" 1 3 4
6337 # 47 "/usr/include/wchar.h" 3 4
6338 #define __need_wint_t 
6339 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
6340 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6341 #undef __need_ptrdiff_t
6342 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6343 #undef __need_size_t
6344 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6345 #undef __need_wchar_t
6346 # 357 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6347 #undef __need_wint_t
6348 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6349 #undef NULL
6350
6351 #define NULL __null
6352 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6353 #undef __need_NULL
6354
6355
6356
6357
6358 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
6359 # 49 "/usr/include/wchar.h" 2 3 4
6360 # 86 "/usr/include/wchar.h" 3 4
6361 #undef __need_mbstate_t
6362 # 29 "/usr/include/gconv.h" 2 3 4
6363 #define __need_size_t 
6364 #define __need_wchar_t 
6365 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
6366 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6367 #undef __need_ptrdiff_t
6368 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6369 #undef __need_size_t
6370 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6371 #undef __need_wchar_t
6372 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6373 #undef NULL
6374
6375 #define NULL __null
6376 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
6377 #undef __need_NULL
6378
6379
6380
6381
6382 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
6383 # 32 "/usr/include/gconv.h" 2 3 4
6384
6385
6386 #define __UNKNOWN_10646_CHAR ((wchar_t) 0xfffd)
6387
6388
6389 enum
6390 {
6391   __GCONV_OK = 0,
6392   __GCONV_NOCONV,
6393   __GCONV_NODB,
6394   __GCONV_NOMEM,
6395
6396   __GCONV_EMPTY_INPUT,
6397   __GCONV_FULL_OUTPUT,
6398   __GCONV_ILLEGAL_INPUT,
6399   __GCONV_INCOMPLETE_INPUT,
6400
6401   __GCONV_ILLEGAL_DESCRIPTOR,
6402   __GCONV_INTERNAL_ERROR
6403 };
6404
6405
6406
6407 enum
6408 {
6409   __GCONV_IS_LAST = 0x0001,
6410   __GCONV_IGNORE_ERRORS = 0x0002
6411 };
6412
6413
6414
6415 struct __gconv_step;
6416 struct __gconv_step_data;
6417 struct __gconv_loaded_object;
6418 struct __gconv_trans_data;
6419
6420
6421
6422 typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
6423        __const unsigned char **, __const unsigned char *,
6424        unsigned char **, size_t *, int, int);
6425
6426
6427 typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char);
6428
6429
6430 typedef int (*__gconv_init_fct) (struct __gconv_step *);
6431 typedef void (*__gconv_end_fct) (struct __gconv_step *);
6432
6433
6434
6435 typedef int (*__gconv_trans_fct) (struct __gconv_step *,
6436       struct __gconv_step_data *, void *,
6437       __const unsigned char *,
6438       __const unsigned char **,
6439       __const unsigned char *, unsigned char **,
6440       size_t *);
6441
6442
6443 typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
6444        __const unsigned char *,
6445        unsigned char *, unsigned char *);
6446
6447
6448 typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
6449      size_t *);
6450
6451
6452 typedef int (*__gconv_trans_init_fct) (void **, const char *);
6453 typedef void (*__gconv_trans_end_fct) (void *);
6454
6455 struct __gconv_trans_data
6456 {
6457
6458   __gconv_trans_fct __trans_fct;
6459   __gconv_trans_context_fct __trans_context_fct;
6460   __gconv_trans_end_fct __trans_end_fct;
6461   void *__data;
6462   struct __gconv_trans_data *__next;
6463 };
6464
6465
6466
6467 struct __gconv_step
6468 {
6469   struct __gconv_loaded_object *__shlib_handle;
6470   __const char *__modname;
6471
6472   int __counter;
6473
6474   char *__from_name;
6475   char *__to_name;
6476
6477   __gconv_fct __fct;
6478   __gconv_btowc_fct __btowc_fct;
6479   __gconv_init_fct __init_fct;
6480   __gconv_end_fct __end_fct;
6481
6482
6483
6484   int __min_needed_from;
6485   int __max_needed_from;
6486   int __min_needed_to;
6487   int __max_needed_to;
6488
6489
6490   int __stateful;
6491
6492   void *__data;
6493 };
6494
6495
6496
6497 struct __gconv_step_data
6498 {
6499   unsigned char *__outbuf;
6500   unsigned char *__outbufend;
6501
6502
6503
6504   int __flags;
6505
6506
6507
6508   int __invocation_counter;
6509
6510
6511
6512   int __internal_use;
6513
6514   __mbstate_t *__statep;
6515   __mbstate_t __state;
6516
6517
6518
6519   struct __gconv_trans_data *__trans;
6520 };
6521
6522
6523
6524 typedef struct __gconv_info
6525 {
6526   size_t __nsteps;
6527   struct __gconv_step *__steps;
6528   __extension__ struct __gconv_step_data __data [];
6529 } *__gconv_t;
6530 # 45 "/usr/include/_G_config.h" 2 3 4
6531 typedef union
6532 {
6533   struct __gconv_info __cd;
6534   struct
6535   {
6536     struct __gconv_info __cd;
6537     struct __gconv_step_data __data;
6538   } __combined;
6539 } _G_iconv_t;
6540
6541 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
6542 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
6543 typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
6544 typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
6545
6546 #define _G_HAVE_BOOL 1
6547
6548
6549
6550 #define _G_HAVE_ATEXIT 1
6551 #define _G_HAVE_SYS_CDEFS 1
6552 #define _G_HAVE_SYS_WAIT 1
6553 #define _G_NEED_STDARG_H 1
6554 #define _G_va_list __gnuc_va_list
6555
6556 #define _G_HAVE_PRINTF_FP 1
6557 #define _G_HAVE_MMAP 1
6558 #define _G_HAVE_MREMAP 1
6559 #define _G_HAVE_LONG_DOUBLE_IO 1
6560 #define _G_HAVE_IO_FILE_OPEN 1
6561 #define _G_HAVE_IO_GETLINE_INFO 1
6562
6563 #define _G_IO_IO_FILE_VERSION 0x20001
6564
6565 #define _G_OPEN64 __open64
6566 #define _G_LSEEK64 __lseek64
6567 #define _G_MMAP64 __mmap64
6568 #define _G_FSTAT64(fd,buf) __fxstat64 (_STAT_VER, fd, buf)
6569
6570
6571 #define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
6572
6573 #define _G_BUFSIZ 8192
6574
6575
6576 #define _G_NAMES_HAVE_UNDERSCORE 0
6577 #define _G_VTABLE_LABEL_HAS_LENGTH 1
6578 #define _G_USING_THUNKS 1
6579 #define _G_VTABLE_LABEL_PREFIX "__vt_"
6580 #define _G_VTABLE_LABEL_PREFIX_ID __vt_
6581
6582
6583
6584 #define _G_ARGS(ARGLIST) ARGLIST
6585 # 33 "/usr/include/libio.h" 2 3 4
6586
6587 #define _IO_pos_t _G_fpos_t
6588 #define _IO_fpos_t _G_fpos_t
6589 #define _IO_fpos64_t _G_fpos64_t
6590 #define _IO_size_t _G_size_t
6591 #define _IO_ssize_t _G_ssize_t
6592 #define _IO_off_t _G_off_t
6593 #define _IO_off64_t _G_off64_t
6594 #define _IO_pid_t _G_pid_t
6595 #define _IO_uid_t _G_uid_t
6596 #define _IO_iconv_t _G_iconv_t
6597 #define _IO_HAVE_SYS_WAIT _G_HAVE_SYS_WAIT
6598 #define _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE
6599 #define _IO_BUFSIZ _G_BUFSIZ
6600 #define _IO_va_list _G_va_list
6601 #define _IO_wint_t _G_wint_t
6602
6603
6604
6605 #define __need___va_list 
6606 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stdarg.h" 1 3 4
6607 # 37 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stdarg.h" 3 4
6608 #undef __need___va_list
6609
6610
6611
6612
6613 #define __GNUC_VA_LIST 
6614 typedef __builtin_va_list __gnuc_va_list;
6615 # 54 "/usr/include/libio.h" 2 3 4
6616
6617 #undef _IO_va_list
6618 #define _IO_va_list __gnuc_va_list
6619 # 76 "/usr/include/libio.h" 3 4
6620 #define _PARAMS(protos) __P(protos)
6621
6622
6623
6624
6625
6626
6627
6628 #define _IO_UNIFIED_JUMPTABLES 1
6629
6630
6631
6632
6633
6634 #define EOF (-1)
6635 # 105 "/usr/include/libio.h" 3 4
6636 #define _IOS_INPUT 1
6637 #define _IOS_OUTPUT 2
6638 #define _IOS_ATEND 4
6639 #define _IOS_APPEND 8
6640 #define _IOS_TRUNC 16
6641 #define _IOS_NOCREATE 32
6642 #define _IOS_NOREPLACE 64
6643 #define _IOS_BIN 128
6644
6645
6646
6647
6648
6649
6650
6651 #define _IO_MAGIC 0xFBAD0000
6652 #define _OLD_STDIO_MAGIC 0xFABC0000
6653 #define _IO_MAGIC_MASK 0xFFFF0000
6654 #define _IO_USER_BUF 1
6655 #define _IO_UNBUFFERED 2
6656 #define _IO_NO_READS 4
6657 #define _IO_NO_WRITES 8
6658 #define _IO_EOF_SEEN 0x10
6659 #define _IO_ERR_SEEN 0x20
6660 #define _IO_DELETE_DONT_CLOSE 0x40
6661 #define _IO_LINKED 0x80
6662 #define _IO_IN_BACKUP 0x100
6663 #define _IO_LINE_BUF 0x200
6664 #define _IO_TIED_PUT_GET 0x400
6665 #define _IO_CURRENTLY_PUTTING 0x800
6666 #define _IO_IS_APPENDING 0x1000
6667 #define _IO_IS_FILEBUF 0x2000
6668 #define _IO_BAD_SEEN 0x4000
6669 #define _IO_USER_LOCK 0x8000
6670
6671 #define _IO_FLAGS2_MMAP 1
6672 #define _IO_FLAGS2_NOTCANCEL 2
6673
6674
6675
6676
6677
6678 #define _IO_SKIPWS 01
6679 #define _IO_LEFT 02
6680 #define _IO_RIGHT 04
6681 #define _IO_INTERNAL 010
6682 #define _IO_DEC 020
6683 #define _IO_OCT 040
6684 #define _IO_HEX 0100
6685 #define _IO_SHOWBASE 0200
6686 #define _IO_SHOWPOINT 0400
6687 #define _IO_UPPERCASE 01000
6688 #define _IO_SHOWPOS 02000
6689 #define _IO_SCIENTIFIC 04000
6690 #define _IO_FIXED 010000
6691 #define _IO_UNITBUF 020000
6692 #define _IO_STDIO 040000
6693 #define _IO_DONT_CLOSE 0100000
6694 #define _IO_BOOLALPHA 0200000
6695
6696
6697 struct _IO_jump_t; struct _IO_FILE;
6698 # 176 "/usr/include/libio.h" 3 4
6699 typedef void _IO_lock_t;
6700
6701
6702
6703
6704
6705 struct _IO_marker {
6706   struct _IO_marker *_next;
6707   struct _IO_FILE *_sbuf;
6708
6709
6710
6711   int _pos;
6712 # 199 "/usr/include/libio.h" 3 4
6713 };
6714
6715
6716 enum __codecvt_result
6717 {
6718   __codecvt_ok,
6719   __codecvt_partial,
6720   __codecvt_error,
6721   __codecvt_noconv
6722 };
6723 # 267 "/usr/include/libio.h" 3 4
6724 struct _IO_FILE {
6725   int _flags;
6726 #define _IO_file_flags _flags
6727
6728
6729
6730   char* _IO_read_ptr;
6731   char* _IO_read_end;
6732   char* _IO_read_base;
6733   char* _IO_write_base;
6734   char* _IO_write_ptr;
6735   char* _IO_write_end;
6736   char* _IO_buf_base;
6737   char* _IO_buf_end;
6738
6739   char *_IO_save_base;
6740   char *_IO_backup_base;
6741   char *_IO_save_end;
6742
6743   struct _IO_marker *_markers;
6744
6745   struct _IO_FILE *_chain;
6746
6747   int _fileno;
6748
6749
6750
6751   int _flags2;
6752
6753   __off_t _old_offset;
6754
6755 #define __HAVE_COLUMN 
6756
6757   unsigned short _cur_column;
6758   signed char _vtable_offset;
6759   char _shortbuf[1];
6760
6761
6762
6763   _IO_lock_t *_lock;
6764 # 315 "/usr/include/libio.h" 3 4
6765   __off64_t _offset;
6766 # 324 "/usr/include/libio.h" 3 4
6767   void *__pad1;
6768   void *__pad2;
6769   void *__pad3;
6770   void *__pad4;
6771   size_t __pad5;
6772
6773   int _mode;
6774
6775   char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
6776
6777 };
6778
6779
6780
6781
6782
6783 struct _IO_FILE_plus;
6784
6785 extern struct _IO_FILE_plus _IO_2_1_stdin_;
6786 extern struct _IO_FILE_plus _IO_2_1_stdout_;
6787 extern struct _IO_FILE_plus _IO_2_1_stderr_;
6788
6789 #define _IO_stdin ((_IO_FILE*)(&_IO_2_1_stdin_))
6790 #define _IO_stdout ((_IO_FILE*)(&_IO_2_1_stdout_))
6791 #define _IO_stderr ((_IO_FILE*)(&_IO_2_1_stderr_))
6792 # 360 "/usr/include/libio.h" 3 4
6793 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
6794
6795
6796
6797
6798
6799
6800
6801 typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
6802      size_t __n);
6803
6804
6805
6806
6807
6808
6809
6810 typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
6811
6812
6813 typedef int __io_close_fn (void *__cookie);
6814
6815
6816
6817
6818 typedef __io_read_fn cookie_read_function_t;
6819 typedef __io_write_fn cookie_write_function_t;
6820 typedef __io_seek_fn cookie_seek_function_t;
6821 typedef __io_close_fn cookie_close_function_t;
6822
6823
6824 typedef struct
6825 {
6826   __io_read_fn *read;
6827   __io_write_fn *write;
6828   __io_seek_fn *seek;
6829   __io_close_fn *close;
6830 } _IO_cookie_io_functions_t;
6831 typedef _IO_cookie_io_functions_t cookie_io_functions_t;
6832
6833 struct _IO_cookie_file;
6834
6835
6836 extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
6837         void *__cookie, _IO_cookie_io_functions_t __fns);
6838
6839
6840
6841
6842 extern "C" {
6843
6844
6845 extern int __underflow (_IO_FILE *) throw ();
6846 extern int __uflow (_IO_FILE *) throw ();
6847 extern int __overflow (_IO_FILE *, int) throw ();
6848 extern wint_t __wunderflow (_IO_FILE *) throw ();
6849 extern wint_t __wuflow (_IO_FILE *) throw ();
6850 extern wint_t __woverflow (_IO_FILE *, wint_t) throw ();
6851
6852
6853 #define _IO_BE(expr,res) __builtin_expect ((expr), res)
6854
6855
6856
6857
6858 #define _IO_getc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)
6859
6860
6861 #define _IO_peekc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) && __underflow (_fp) == EOF ? EOF : *(unsigned char *) (_fp)->_IO_read_ptr)
6862
6863
6864
6865 #define _IO_putc_unlocked(_ch,_fp) (_IO_BE ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end, 0) ? __overflow (_fp, (unsigned char) (_ch)) : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))
6866
6867
6868
6869
6870 #define _IO_getwc_unlocked(_fp) (_IO_BE ((_fp)->_wide_data->_IO_read_ptr >= (_fp)->_wide_data->_IO_read_end, 0) ? __wuflow (_fp) : (_IO_wint_t) *(_fp)->_wide_data->_IO_read_ptr++)
6871
6872
6873
6874 #define _IO_putwc_unlocked(_wch,_fp) (_IO_BE ((_fp)->_wide_data->_IO_write_ptr >= (_fp)->_wide_data->_IO_write_end, 0) ? __woverflow (_fp, _wch) : (_IO_wint_t) (*(_fp)->_wide_data->_IO_write_ptr++ = (_wch)))
6875
6876
6877
6878
6879
6880 #define _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0)
6881 #define _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0)
6882
6883 extern int _IO_getc (_IO_FILE *__fp) throw ();
6884 extern int _IO_putc (int __c, _IO_FILE *__fp) throw ();
6885 extern int _IO_feof (_IO_FILE *__fp) throw ();
6886 extern int _IO_ferror (_IO_FILE *__fp) throw ();
6887
6888 extern int _IO_peekc_locked (_IO_FILE *__fp) throw ();
6889
6890
6891 #define _IO_PENDING_OUTPUT_COUNT(_fp) ((_fp)->_IO_write_ptr - (_fp)->_IO_write_base)
6892
6893
6894 extern void _IO_flockfile (_IO_FILE *) throw ();
6895 extern void _IO_funlockfile (_IO_FILE *) throw ();
6896 extern int _IO_ftrylockfile (_IO_FILE *) throw ();
6897 # 472 "/usr/include/libio.h" 3 4
6898 #define _IO_peekc(_fp) _IO_peekc_unlocked (_fp)
6899 #define _IO_flockfile(_fp) 
6900 #define _IO_funlockfile(_fp) 
6901 #define _IO_ftrylockfile(_fp) 
6902 #define _IO_cleanup_region_start(_fct,_fp) 
6903 #define _IO_cleanup_region_end(_Doit) 
6904
6905
6906 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
6907    __gnuc_va_list, int *__restrict);
6908 extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
6909     __gnuc_va_list);
6910 extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) throw ();
6911 extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) throw ();
6912
6913 extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) throw ();
6914 extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) throw ();
6915
6916 extern void _IO_free_backup_area (_IO_FILE *) throw ();
6917 # 542 "/usr/include/libio.h" 3 4
6918 }
6919 # 73 "/usr/include/stdio.h" 2 3 4
6920
6921
6922
6923
6924 typedef __gnuc_va_list va_list;
6925 #define _VA_LIST_DEFINED 
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935 typedef _G_fpos_t fpos_t;
6936
6937
6938
6939
6940
6941 typedef _G_fpos64_t fpos64_t;
6942
6943
6944
6945 #define _IOFBF 0
6946 #define _IOLBF 1
6947 #define _IONBF 2
6948
6949
6950
6951
6952 #define BUFSIZ _IO_BUFSIZ
6953 # 118 "/usr/include/stdio.h" 3 4
6954 #define SEEK_SET 0
6955 #define SEEK_CUR 1
6956 #define SEEK_END 2
6957
6958
6959
6960
6961 #define P_tmpdir "/tmp"
6962 # 138 "/usr/include/stdio.h" 3 4
6963 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
6964 # 24 "/usr/include/bits/stdio_lim.h" 3 4
6965 #define L_tmpnam 20
6966 #define TMP_MAX 238328
6967 #define FILENAME_MAX 4096
6968
6969
6970 #define L_ctermid 9
6971 #define L_cuserid 9
6972
6973
6974
6975
6976 #undef FOPEN_MAX
6977 #define FOPEN_MAX 16
6978 # 139 "/usr/include/stdio.h" 2 3 4
6979
6980
6981
6982 extern struct _IO_FILE *stdin;
6983 extern struct _IO_FILE *stdout;
6984 extern struct _IO_FILE *stderr;
6985
6986 #define stdin stdin
6987 #define stdout stdout
6988 #define stderr stderr
6989
6990
6991
6992 extern int remove (__const char *__filename) throw ();
6993
6994 extern int rename (__const char *__old, __const char *__new) throw ();
6995
6996
6997
6998
6999 extern int renameat (int __oldfd, __const char *__old, int __newfd,
7000        __const char *__new) throw ();
7001
7002
7003
7004
7005
7006
7007
7008
7009 extern FILE *tmpfile (void);
7010 # 179 "/usr/include/stdio.h" 3 4
7011 extern FILE *tmpfile64 (void);
7012
7013
7014
7015 extern char *tmpnam (char *__s) throw ();
7016
7017
7018
7019
7020
7021 extern char *tmpnam_r (char *__s) throw ();
7022 # 201 "/usr/include/stdio.h" 3 4
7023 extern char *tempnam (__const char *__dir, __const char *__pfx)
7024      throw () __attribute__ ((__malloc__));
7025
7026
7027
7028
7029
7030
7031
7032
7033 extern int fclose (FILE *__stream);
7034
7035
7036
7037
7038 extern int fflush (FILE *__stream);
7039
7040 # 226 "/usr/include/stdio.h" 3 4
7041 extern int fflush_unlocked (FILE *__stream);
7042 # 236 "/usr/include/stdio.h" 3 4
7043 extern int fcloseall (void);
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053 extern FILE *fopen (__const char *__restrict __filename,
7054       __const char *__restrict __modes);
7055
7056
7057
7058
7059 extern FILE *freopen (__const char *__restrict __filename,
7060         __const char *__restrict __modes,
7061         FILE *__restrict __stream);
7062 # 267 "/usr/include/stdio.h" 3 4
7063
7064
7065 extern FILE *fopen64 (__const char *__restrict __filename,
7066         __const char *__restrict __modes);
7067 extern FILE *freopen64 (__const char *__restrict __filename,
7068    __const char *__restrict __modes,
7069    FILE *__restrict __stream);
7070
7071
7072
7073
7074 extern FILE *fdopen (int __fd, __const char *__modes) throw ();
7075
7076
7077
7078
7079
7080 extern FILE *fopencookie (void *__restrict __magic_cookie,
7081      __const char *__restrict __modes,
7082      _IO_cookie_io_functions_t __io_funcs) throw ();
7083
7084
7085 extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) throw ();
7086
7087
7088
7089
7090 extern FILE *open_memstream (char **__restrict __bufloc,
7091         size_t *__restrict __sizeloc) throw ();
7092
7093
7094
7095 extern FILE *open_wmemstream (wchar_t **__restrict __bufloc,
7096          size_t *__restrict __sizeloc) throw ();
7097
7098
7099
7100
7101
7102
7103 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw ();
7104
7105
7106
7107 extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
7108       int __modes, size_t __n) throw ();
7109
7110
7111
7112
7113
7114 extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
7115          size_t __size) throw ();
7116
7117
7118 extern void setlinebuf (FILE *__stream) throw ();
7119
7120
7121
7122
7123
7124
7125
7126
7127 extern int fprintf (FILE *__restrict __stream,
7128       __const char *__restrict __format, ...);
7129
7130
7131
7132
7133 extern int printf (__const char *__restrict __format, ...);
7134
7135 extern int sprintf (char *__restrict __s,
7136       __const char *__restrict __format, ...) throw ();
7137
7138
7139
7140
7141
7142 extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
7143        __gnuc_va_list __arg);
7144
7145
7146
7147
7148 extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
7149
7150 extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
7151        __gnuc_va_list __arg) throw ();
7152
7153
7154
7155
7156
7157 extern int snprintf (char *__restrict __s, size_t __maxlen,
7158        __const char *__restrict __format, ...)
7159      throw () __attribute__ ((__format__ (__printf__, 3, 4)));
7160
7161 extern int vsnprintf (char *__restrict __s, size_t __maxlen,
7162         __const char *__restrict __format, __gnuc_va_list __arg)
7163      throw () __attribute__ ((__format__ (__printf__, 3, 0)));
7164
7165
7166
7167
7168
7169
7170 extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
7171         __gnuc_va_list __arg)
7172      throw () __attribute__ ((__format__ (__printf__, 2, 0)));
7173 extern int __asprintf (char **__restrict __ptr,
7174          __const char *__restrict __fmt, ...)
7175      throw () __attribute__ ((__format__ (__printf__, 2, 3)));
7176 extern int asprintf (char **__restrict __ptr,
7177        __const char *__restrict __fmt, ...)
7178      throw () __attribute__ ((__format__ (__printf__, 2, 3)));
7179
7180
7181
7182
7183
7184
7185
7186 extern int vdprintf (int __fd, __const char *__restrict __fmt,
7187        __gnuc_va_list __arg)
7188      __attribute__ ((__format__ (__printf__, 2, 0)));
7189 extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
7190      __attribute__ ((__format__ (__printf__, 2, 3)));
7191
7192
7193
7194
7195
7196
7197
7198
7199 extern int fscanf (FILE *__restrict __stream,
7200      __const char *__restrict __format, ...) ;
7201
7202
7203
7204
7205 extern int scanf (__const char *__restrict __format, ...) ;
7206
7207 extern int sscanf (__const char *__restrict __s,
7208      __const char *__restrict __format, ...) throw ();
7209
7210
7211
7212
7213
7214
7215
7216
7217 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
7218       __gnuc_va_list __arg)
7219      __attribute__ ((__format__ (__scanf__, 2, 0))) ;
7220
7221
7222
7223
7224
7225 extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
7226      __attribute__ ((__format__ (__scanf__, 1, 0))) ;
7227
7228
7229 extern int vsscanf (__const char *__restrict __s,
7230       __const char *__restrict __format, __gnuc_va_list __arg)
7231      throw () __attribute__ ((__format__ (__scanf__, 2, 0)));
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241 extern int fgetc (FILE *__stream);
7242 extern int getc (FILE *__stream);
7243
7244
7245
7246
7247
7248 extern int getchar (void);
7249
7250
7251
7252
7253 #define getc(_fp) _IO_getc (_fp)
7254
7255
7256
7257
7258
7259
7260 extern int getc_unlocked (FILE *__stream);
7261 extern int getchar_unlocked (void);
7262 # 475 "/usr/include/stdio.h" 3 4
7263 extern int fgetc_unlocked (FILE *__stream);
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275 extern int fputc (int __c, FILE *__stream);
7276 extern int putc (int __c, FILE *__stream);
7277
7278
7279
7280
7281
7282 extern int putchar (int __c);
7283
7284
7285
7286
7287 #define putc(_ch,_fp) _IO_putc (_ch, _fp)
7288 # 508 "/usr/include/stdio.h" 3 4
7289 extern int fputc_unlocked (int __c, FILE *__stream);
7290
7291
7292
7293
7294
7295
7296
7297 extern int putc_unlocked (int __c, FILE *__stream);
7298 extern int putchar_unlocked (int __c);
7299
7300
7301
7302
7303
7304
7305 extern int getw (FILE *__stream);
7306
7307
7308 extern int putw (int __w, FILE *__stream);
7309
7310
7311
7312
7313
7314
7315
7316
7317 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
7318      ;
7319
7320
7321
7322
7323
7324
7325 extern char *gets (char *__s) ;
7326
7327 # 554 "/usr/include/stdio.h" 3 4
7328 extern char *fgets_unlocked (char *__restrict __s, int __n,
7329         FILE *__restrict __stream) ;
7330 # 570 "/usr/include/stdio.h" 3 4
7331 extern __ssize_t __getdelim (char **__restrict __lineptr,
7332           size_t *__restrict __n, int __delimiter,
7333           FILE *__restrict __stream) ;
7334 extern __ssize_t getdelim (char **__restrict __lineptr,
7335         size_t *__restrict __n, int __delimiter,
7336         FILE *__restrict __stream) ;
7337
7338
7339
7340
7341
7342
7343
7344 extern __ssize_t getline (char **__restrict __lineptr,
7345        size_t *__restrict __n,
7346        FILE *__restrict __stream) ;
7347
7348
7349
7350
7351
7352
7353
7354
7355 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
7356
7357
7358
7359
7360
7361 extern int puts (__const char *__s);
7362
7363
7364
7365
7366
7367
7368 extern int ungetc (int __c, FILE *__stream);
7369
7370
7371
7372
7373
7374
7375 extern size_t fread (void *__restrict __ptr, size_t __size,
7376        size_t __n, FILE *__restrict __stream) ;
7377
7378
7379
7380
7381 extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
7382         size_t __n, FILE *__restrict __s) ;
7383
7384 # 631 "/usr/include/stdio.h" 3 4
7385 extern int fputs_unlocked (__const char *__restrict __s,
7386       FILE *__restrict __stream);
7387 # 642 "/usr/include/stdio.h" 3 4
7388 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
7389          size_t __n, FILE *__restrict __stream) ;
7390 extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
7391           size_t __n, FILE *__restrict __stream) ;
7392
7393
7394
7395
7396
7397
7398
7399
7400 extern int fseek (FILE *__stream, long int __off, int __whence);
7401
7402
7403
7404
7405 extern long int ftell (FILE *__stream) ;
7406
7407
7408
7409
7410 extern void rewind (FILE *__stream);
7411
7412 # 678 "/usr/include/stdio.h" 3 4
7413 extern int fseeko (FILE *__stream, __off_t __off, int __whence);
7414
7415
7416
7417
7418 extern __off_t ftello (FILE *__stream) ;
7419 # 697 "/usr/include/stdio.h" 3 4
7420
7421
7422
7423
7424
7425
7426 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
7427
7428
7429
7430
7431 extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
7432 # 720 "/usr/include/stdio.h" 3 4
7433
7434
7435
7436 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
7437 extern __off64_t ftello64 (FILE *__stream) ;
7438 extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
7439 extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos);
7440
7441
7442
7443
7444 extern void clearerr (FILE *__stream) throw ();
7445
7446 extern int feof (FILE *__stream) throw () ;
7447
7448 extern int ferror (FILE *__stream) throw () ;
7449
7450
7451
7452
7453 extern void clearerr_unlocked (FILE *__stream) throw ();
7454 extern int feof_unlocked (FILE *__stream) throw () ;
7455 extern int ferror_unlocked (FILE *__stream) throw () ;
7456
7457
7458
7459
7460
7461
7462
7463
7464 extern void perror (__const char *__s);
7465
7466
7467
7468
7469
7470
7471 # 1 "/usr/include/bits/sys_errlist.h" 1 3 4
7472 # 27 "/usr/include/bits/sys_errlist.h" 3 4
7473 extern int sys_nerr;
7474 extern __const char *__const sys_errlist[];
7475
7476
7477 extern int _sys_nerr;
7478 extern __const char *__const _sys_errlist[];
7479 # 759 "/usr/include/stdio.h" 2 3 4
7480
7481
7482
7483
7484 extern int fileno (FILE *__stream) throw () ;
7485
7486
7487
7488
7489 extern int fileno_unlocked (FILE *__stream) throw () ;
7490 # 778 "/usr/include/stdio.h" 3 4
7491 extern FILE *popen (__const char *__command, __const char *__modes) ;
7492
7493
7494
7495
7496
7497 extern int pclose (FILE *__stream);
7498
7499
7500
7501
7502
7503 extern char *ctermid (char *__s) throw ();
7504
7505
7506
7507
7508
7509 extern char *cuserid (char *__s);
7510
7511
7512
7513
7514 struct obstack;
7515
7516
7517 extern int obstack_printf (struct obstack *__restrict __obstack,
7518       __const char *__restrict __format, ...)
7519      throw () __attribute__ ((__format__ (__printf__, 2, 3)));
7520 extern int obstack_vprintf (struct obstack *__restrict __obstack,
7521        __const char *__restrict __format,
7522        __gnuc_va_list __args)
7523      throw () __attribute__ ((__format__ (__printf__, 2, 0)));
7524
7525
7526
7527
7528
7529
7530
7531 extern void flockfile (FILE *__stream) throw ();
7532
7533
7534
7535 extern int ftrylockfile (FILE *__stream) throw () ;
7536
7537
7538 extern void funlockfile (FILE *__stream) throw ();
7539 # 848 "/usr/include/stdio.h" 3 4
7540 }
7541 # 55 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 2 3
7542
7543
7544 #undef clearerr
7545 #undef fclose
7546 #undef feof
7547 #undef ferror
7548 #undef fflush
7549 #undef fgetc
7550 #undef fgetpos
7551 #undef fgets
7552 #undef fopen
7553 #undef fprintf
7554 #undef fputc
7555 #undef fputs
7556 #undef fread
7557 #undef freopen
7558 #undef fscanf
7559 #undef fseek
7560 #undef fsetpos
7561 #undef ftell
7562 #undef fwrite
7563 #undef getc
7564 #undef getchar
7565 #undef gets
7566 #undef perror
7567 #undef printf
7568 #undef putc
7569 #undef putchar
7570 #undef puts
7571 #undef remove
7572 #undef rename
7573 #undef rewind
7574 #undef scanf
7575 #undef setbuf
7576 #undef setvbuf
7577 #undef sprintf
7578 #undef sscanf
7579 #undef tmpfile
7580 #undef tmpnam
7581 #undef ungetc
7582 #undef vfprintf
7583 #undef vprintf
7584 #undef vsprintf
7585
7586 namespace std
7587 {
7588   using ::FILE;
7589   using ::fpos_t;
7590
7591   using ::clearerr;
7592   using ::fclose;
7593   using ::feof;
7594   using ::ferror;
7595   using ::fflush;
7596   using ::fgetc;
7597   using ::fgetpos;
7598   using ::fgets;
7599   using ::fopen;
7600   using ::fprintf;
7601   using ::fputc;
7602   using ::fputs;
7603   using ::fread;
7604   using ::freopen;
7605   using ::fscanf;
7606   using ::fseek;
7607   using ::fsetpos;
7608   using ::ftell;
7609   using ::fwrite;
7610   using ::getc;
7611   using ::getchar;
7612   using ::gets;
7613   using ::perror;
7614   using ::printf;
7615   using ::putc;
7616   using ::putchar;
7617   using ::puts;
7618   using ::remove;
7619   using ::rename;
7620   using ::rewind;
7621   using ::scanf;
7622   using ::setbuf;
7623   using ::setvbuf;
7624   using ::sprintf;
7625   using ::sscanf;
7626   using ::tmpfile;
7627   using ::tmpnam;
7628   using ::ungetc;
7629   using ::vfprintf;
7630   using ::vprintf;
7631   using ::vsprintf;
7632 }
7633
7634
7635
7636 #undef snprintf
7637 #undef vfscanf
7638 #undef vscanf
7639 #undef vsnprintf
7640 #undef vsscanf
7641
7642 namespace __gnu_cxx
7643 {
7644 # 170 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 3
7645   using ::snprintf;
7646   using ::vfscanf;
7647   using ::vscanf;
7648   using ::vsnprintf;
7649   using ::vsscanf;
7650
7651 }
7652
7653 namespace std
7654 {
7655   using __gnu_cxx::snprintf;
7656   using __gnu_cxx::vfscanf;
7657   using __gnu_cxx::vscanf;
7658   using __gnu_cxx::vsnprintf;
7659   using __gnu_cxx::vsscanf;
7660 }
7661
7662
7663 #pragma GCC visibility pop
7664 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++locale.h" 2 3
7665 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/clocale" 1 3
7666 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/clocale" 3
7667 #define _GLIBCXX_CLOCALE 1
7668
7669        
7670 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/clocale" 3
7671 #pragma GCC visibility push(default)
7672
7673 # 1 "/usr/include/locale.h" 1 3 4
7674 # 24 "/usr/include/locale.h" 3 4
7675 #define _LOCALE_H 1
7676
7677
7678
7679 #define __need_NULL 
7680 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
7681 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
7682 #undef __need_ptrdiff_t
7683 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
7684 #undef __need_size_t
7685 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
7686 #undef __need_wchar_t
7687 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
7688 #undef NULL
7689
7690 #define NULL __null
7691 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
7692 #undef __need_NULL
7693
7694
7695
7696
7697 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
7698 # 30 "/usr/include/locale.h" 2 3 4
7699 # 1 "/usr/include/bits/locale.h" 1 3 4
7700 # 25 "/usr/include/bits/locale.h" 3 4
7701 #define _BITS_LOCALE_H 1
7702
7703 enum
7704 {
7705   __LC_CTYPE = 0,
7706   __LC_NUMERIC = 1,
7707   __LC_TIME = 2,
7708   __LC_COLLATE = 3,
7709   __LC_MONETARY = 4,
7710   __LC_MESSAGES = 5,
7711   __LC_ALL = 6,
7712   __LC_PAPER = 7,
7713   __LC_NAME = 8,
7714   __LC_ADDRESS = 9,
7715   __LC_TELEPHONE = 10,
7716   __LC_MEASUREMENT = 11,
7717   __LC_IDENTIFICATION = 12
7718 };
7719 # 31 "/usr/include/locale.h" 2 3 4
7720
7721 extern "C" {
7722
7723
7724
7725 #define LC_CTYPE __LC_CTYPE
7726 #define LC_NUMERIC __LC_NUMERIC
7727 #define LC_TIME __LC_TIME
7728 #define LC_COLLATE __LC_COLLATE
7729 #define LC_MONETARY __LC_MONETARY
7730 #define LC_MESSAGES __LC_MESSAGES
7731 #define LC_ALL __LC_ALL
7732 #define LC_PAPER __LC_PAPER
7733 #define LC_NAME __LC_NAME
7734 #define LC_ADDRESS __LC_ADDRESS
7735 #define LC_TELEPHONE __LC_TELEPHONE
7736 #define LC_MEASUREMENT __LC_MEASUREMENT
7737 #define LC_IDENTIFICATION __LC_IDENTIFICATION
7738
7739
7740
7741 struct lconv
7742 {
7743
7744
7745   char *decimal_point;
7746   char *thousands_sep;
7747
7748
7749
7750
7751
7752   char *grouping;
7753
7754
7755
7756
7757
7758   char *int_curr_symbol;
7759   char *currency_symbol;
7760   char *mon_decimal_point;
7761   char *mon_thousands_sep;
7762   char *mon_grouping;
7763   char *positive_sign;
7764   char *negative_sign;
7765   char int_frac_digits;
7766   char frac_digits;
7767
7768   char p_cs_precedes;
7769
7770   char p_sep_by_space;
7771
7772   char n_cs_precedes;
7773
7774   char n_sep_by_space;
7775
7776
7777
7778
7779
7780
7781   char p_sign_posn;
7782   char n_sign_posn;
7783
7784
7785   char int_p_cs_precedes;
7786
7787   char int_p_sep_by_space;
7788
7789   char int_n_cs_precedes;
7790
7791   char int_n_sep_by_space;
7792
7793
7794
7795
7796
7797
7798   char int_p_sign_posn;
7799   char int_n_sign_posn;
7800 # 119 "/usr/include/locale.h" 3 4
7801 };
7802
7803
7804
7805
7806
7807 extern char *setlocale (int __category, __const char *__locale) throw ();
7808
7809
7810 extern struct lconv *localeconv (void) throw ();
7811
7812
7813 # 148 "/usr/include/locale.h" 3 4
7814 typedef __locale_t locale_t;
7815
7816
7817
7818
7819
7820 extern __locale_t newlocale (int __category_mask, __const char *__locale,
7821         __locale_t __base) throw ();
7822
7823
7824
7825
7826
7827 #define LC_CTYPE_MASK (1 << __LC_CTYPE)
7828 #define LC_NUMERIC_MASK (1 << __LC_NUMERIC)
7829 #define LC_TIME_MASK (1 << __LC_TIME)
7830 #define LC_COLLATE_MASK (1 << __LC_COLLATE)
7831 #define LC_MONETARY_MASK (1 << __LC_MONETARY)
7832 #define LC_MESSAGES_MASK (1 << __LC_MESSAGES)
7833 #define LC_PAPER_MASK (1 << __LC_PAPER)
7834 #define LC_NAME_MASK (1 << __LC_NAME)
7835 #define LC_ADDRESS_MASK (1 << __LC_ADDRESS)
7836 #define LC_TELEPHONE_MASK (1 << __LC_TELEPHONE)
7837 #define LC_MEASUREMENT_MASK (1 << __LC_MEASUREMENT)
7838 #define LC_IDENTIFICATION_MASK (1 << __LC_IDENTIFICATION)
7839 #define LC_ALL_MASK (LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK | LC_MONETARY_MASK | LC_MESSAGES_MASK | LC_PAPER_MASK | LC_NAME_MASK | LC_ADDRESS_MASK | LC_TELEPHONE_MASK | LC_MEASUREMENT_MASK | LC_IDENTIFICATION_MASK )
7840 # 189 "/usr/include/locale.h" 3 4
7841 extern __locale_t duplocale (__locale_t __dataset) throw ();
7842
7843
7844
7845 extern void freelocale (__locale_t __dataset) throw ();
7846
7847
7848
7849
7850
7851
7852 extern __locale_t uselocale (__locale_t __dataset) throw ();
7853
7854
7855
7856 #define LC_GLOBAL_LOCALE ((__locale_t) -1L)
7857
7858
7859
7860 }
7861 # 52 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/clocale" 2 3
7862
7863
7864 #undef setlocale
7865 #undef localeconv
7866
7867 namespace std
7868 {
7869   using ::lconv;
7870   using ::setlocale;
7871   using ::localeconv;
7872 }
7873
7874 #pragma GCC visibility pop
7875 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++locale.h" 2 3
7876 # 1 "/usr/include/langinfo.h" 1 3 4
7877 # 21 "/usr/include/langinfo.h" 3 4
7878 #define _LANGINFO_H 1
7879
7880
7881 # 1 "/usr/include/nl_types.h" 1 3 4
7882 # 20 "/usr/include/nl_types.h" 3 4
7883 #define _NL_TYPES_H 1
7884
7885
7886
7887
7888 #define NL_SETD 1
7889
7890
7891 #define NL_CAT_LOCALE 1
7892
7893
7894 extern "C" {
7895
7896
7897 typedef void *nl_catd;
7898
7899
7900 typedef int nl_item;
7901
7902
7903
7904
7905
7906 extern nl_catd catopen (__const char *__cat_name, int __flag) __attribute__ ((__nonnull__ (1)));
7907
7908
7909
7910 extern char *catgets (nl_catd __catalog, int __set, int __number,
7911         __const char *__string) throw () __attribute__ ((__nonnull__ (1)));
7912
7913
7914 extern int catclose (nl_catd __catalog) throw () __attribute__ ((__nonnull__ (1)));
7915
7916 }
7917 # 25 "/usr/include/langinfo.h" 2 3 4
7918
7919 # 1 "/usr/include/bits/locale.h" 1 3 4
7920 # 27 "/usr/include/langinfo.h" 2 3 4
7921
7922
7923 extern "C" {
7924
7925
7926
7927
7928
7929 #define _NL_ITEM(category,index) (((category) << 16) | (index))
7930
7931
7932 #define _NL_ITEM_CATEGORY(item) ((int) (item) >> 16)
7933 #define _NL_ITEM_INDEX(item) ((int) (item) & 0xffff)
7934
7935
7936 enum
7937 {
7938
7939
7940
7941   ABDAY_1 = (((__LC_TIME) << 16) | (0)),
7942 #define ABDAY_1 ABDAY_1
7943   ABDAY_2,
7944 #define ABDAY_2 ABDAY_2
7945   ABDAY_3,
7946 #define ABDAY_3 ABDAY_3
7947   ABDAY_4,
7948 #define ABDAY_4 ABDAY_4
7949   ABDAY_5,
7950 #define ABDAY_5 ABDAY_5
7951   ABDAY_6,
7952 #define ABDAY_6 ABDAY_6
7953   ABDAY_7,
7954 #define ABDAY_7 ABDAY_7
7955
7956
7957   DAY_1,
7958 #define DAY_1 DAY_1
7959   DAY_2,
7960 #define DAY_2 DAY_2
7961   DAY_3,
7962 #define DAY_3 DAY_3
7963   DAY_4,
7964 #define DAY_4 DAY_4
7965   DAY_5,
7966 #define DAY_5 DAY_5
7967   DAY_6,
7968 #define DAY_6 DAY_6
7969   DAY_7,
7970 #define DAY_7 DAY_7
7971
7972
7973   ABMON_1,
7974 #define ABMON_1 ABMON_1
7975   ABMON_2,
7976 #define ABMON_2 ABMON_2
7977   ABMON_3,
7978 #define ABMON_3 ABMON_3
7979   ABMON_4,
7980 #define ABMON_4 ABMON_4
7981   ABMON_5,
7982 #define ABMON_5 ABMON_5
7983   ABMON_6,
7984 #define ABMON_6 ABMON_6
7985   ABMON_7,
7986 #define ABMON_7 ABMON_7
7987   ABMON_8,
7988 #define ABMON_8 ABMON_8
7989   ABMON_9,
7990 #define ABMON_9 ABMON_9
7991   ABMON_10,
7992 #define ABMON_10 ABMON_10
7993   ABMON_11,
7994 #define ABMON_11 ABMON_11
7995   ABMON_12,
7996 #define ABMON_12 ABMON_12
7997
7998
7999   MON_1,
8000 #define MON_1 MON_1
8001   MON_2,
8002 #define MON_2 MON_2
8003   MON_3,
8004 #define MON_3 MON_3
8005   MON_4,
8006 #define MON_4 MON_4
8007   MON_5,
8008 #define MON_5 MON_5
8009   MON_6,
8010 #define MON_6 MON_6
8011   MON_7,
8012 #define MON_7 MON_7
8013   MON_8,
8014 #define MON_8 MON_8
8015   MON_9,
8016 #define MON_9 MON_9
8017   MON_10,
8018 #define MON_10 MON_10
8019   MON_11,
8020 #define MON_11 MON_11
8021   MON_12,
8022 #define MON_12 MON_12
8023
8024   AM_STR,
8025 #define AM_STR AM_STR
8026   PM_STR,
8027 #define PM_STR PM_STR
8028
8029   D_T_FMT,
8030 #define D_T_FMT D_T_FMT
8031   D_FMT,
8032 #define D_FMT D_FMT
8033   T_FMT,
8034 #define T_FMT T_FMT
8035   T_FMT_AMPM,
8036 #define T_FMT_AMPM T_FMT_AMPM
8037
8038   ERA,
8039 #define ERA ERA
8040   __ERA_YEAR,
8041
8042 #define ERA_YEAR __ERA_YEAR
8043
8044   ERA_D_FMT,
8045 #define ERA_D_FMT ERA_D_FMT
8046   ALT_DIGITS,
8047 #define ALT_DIGITS ALT_DIGITS
8048   ERA_D_T_FMT,
8049 #define ERA_D_T_FMT ERA_D_T_FMT
8050   ERA_T_FMT,
8051 #define ERA_T_FMT ERA_T_FMT
8052
8053   _NL_TIME_ERA_NUM_ENTRIES,
8054   _NL_TIME_ERA_ENTRIES,
8055
8056   _NL_WABDAY_1,
8057   _NL_WABDAY_2,
8058   _NL_WABDAY_3,
8059   _NL_WABDAY_4,
8060   _NL_WABDAY_5,
8061   _NL_WABDAY_6,
8062   _NL_WABDAY_7,
8063
8064
8065   _NL_WDAY_1,
8066   _NL_WDAY_2,
8067   _NL_WDAY_3,
8068   _NL_WDAY_4,
8069   _NL_WDAY_5,
8070   _NL_WDAY_6,
8071   _NL_WDAY_7,
8072
8073
8074   _NL_WABMON_1,
8075   _NL_WABMON_2,
8076   _NL_WABMON_3,
8077   _NL_WABMON_4,
8078   _NL_WABMON_5,
8079   _NL_WABMON_6,
8080   _NL_WABMON_7,
8081   _NL_WABMON_8,
8082   _NL_WABMON_9,
8083   _NL_WABMON_10,
8084   _NL_WABMON_11,
8085   _NL_WABMON_12,
8086
8087
8088   _NL_WMON_1,
8089   _NL_WMON_2,
8090   _NL_WMON_3,
8091   _NL_WMON_4,
8092   _NL_WMON_5,
8093   _NL_WMON_6,
8094   _NL_WMON_7,
8095   _NL_WMON_8,
8096   _NL_WMON_9,
8097   _NL_WMON_10,
8098   _NL_WMON_11,
8099   _NL_WMON_12,
8100
8101   _NL_WAM_STR,
8102   _NL_WPM_STR,
8103
8104   _NL_WD_T_FMT,
8105   _NL_WD_FMT,
8106   _NL_WT_FMT,
8107   _NL_WT_FMT_AMPM,
8108
8109   _NL_WERA_YEAR,
8110   _NL_WERA_D_FMT,
8111   _NL_WALT_DIGITS,
8112   _NL_WERA_D_T_FMT,
8113   _NL_WERA_T_FMT,
8114
8115   _NL_TIME_WEEK_NDAYS,
8116   _NL_TIME_WEEK_1STDAY,
8117   _NL_TIME_WEEK_1STWEEK,
8118   _NL_TIME_FIRST_WEEKDAY,
8119   _NL_TIME_FIRST_WORKDAY,
8120   _NL_TIME_CAL_DIRECTION,
8121   _NL_TIME_TIMEZONE,
8122
8123   _DATE_FMT,
8124 #define _DATE_FMT _DATE_FMT
8125   _NL_W_DATE_FMT,
8126
8127   _NL_TIME_CODESET,
8128
8129   _NL_NUM_LC_TIME,
8130
8131
8132
8133
8134   _NL_COLLATE_NRULES = (((__LC_COLLATE) << 16) | (0)),
8135   _NL_COLLATE_RULESETS,
8136   _NL_COLLATE_TABLEMB,
8137   _NL_COLLATE_WEIGHTMB,
8138   _NL_COLLATE_EXTRAMB,
8139   _NL_COLLATE_INDIRECTMB,
8140   _NL_COLLATE_GAP1,
8141   _NL_COLLATE_GAP2,
8142   _NL_COLLATE_GAP3,
8143   _NL_COLLATE_TABLEWC,
8144   _NL_COLLATE_WEIGHTWC,
8145   _NL_COLLATE_EXTRAWC,
8146   _NL_COLLATE_INDIRECTWC,
8147   _NL_COLLATE_SYMB_HASH_SIZEMB,
8148   _NL_COLLATE_SYMB_TABLEMB,
8149   _NL_COLLATE_SYMB_EXTRAMB,
8150   _NL_COLLATE_COLLSEQMB,
8151   _NL_COLLATE_COLLSEQWC,
8152   _NL_COLLATE_CODESET,
8153   _NL_NUM_LC_COLLATE,
8154
8155
8156
8157
8158   _NL_CTYPE_CLASS = (((__LC_CTYPE) << 16) | (0)),
8159   _NL_CTYPE_TOUPPER,
8160   _NL_CTYPE_GAP1,
8161   _NL_CTYPE_TOLOWER,
8162   _NL_CTYPE_GAP2,
8163   _NL_CTYPE_CLASS32,
8164   _NL_CTYPE_GAP3,
8165   _NL_CTYPE_GAP4,
8166   _NL_CTYPE_GAP5,
8167   _NL_CTYPE_GAP6,
8168   _NL_CTYPE_CLASS_NAMES,
8169   _NL_CTYPE_MAP_NAMES,
8170   _NL_CTYPE_WIDTH,
8171   _NL_CTYPE_MB_CUR_MAX,
8172   _NL_CTYPE_CODESET_NAME,
8173   CODESET = _NL_CTYPE_CODESET_NAME,
8174 #define CODESET CODESET
8175   _NL_CTYPE_TOUPPER32,
8176   _NL_CTYPE_TOLOWER32,
8177   _NL_CTYPE_CLASS_OFFSET,
8178   _NL_CTYPE_MAP_OFFSET,
8179   _NL_CTYPE_INDIGITS_MB_LEN,
8180   _NL_CTYPE_INDIGITS0_MB,
8181   _NL_CTYPE_INDIGITS1_MB,
8182   _NL_CTYPE_INDIGITS2_MB,
8183   _NL_CTYPE_INDIGITS3_MB,
8184   _NL_CTYPE_INDIGITS4_MB,
8185   _NL_CTYPE_INDIGITS5_MB,
8186   _NL_CTYPE_INDIGITS6_MB,
8187   _NL_CTYPE_INDIGITS7_MB,
8188   _NL_CTYPE_INDIGITS8_MB,
8189   _NL_CTYPE_INDIGITS9_MB,
8190   _NL_CTYPE_INDIGITS_WC_LEN,
8191   _NL_CTYPE_INDIGITS0_WC,
8192   _NL_CTYPE_INDIGITS1_WC,
8193   _NL_CTYPE_INDIGITS2_WC,
8194   _NL_CTYPE_INDIGITS3_WC,
8195   _NL_CTYPE_INDIGITS4_WC,
8196   _NL_CTYPE_INDIGITS5_WC,
8197   _NL_CTYPE_INDIGITS6_WC,
8198   _NL_CTYPE_INDIGITS7_WC,
8199   _NL_CTYPE_INDIGITS8_WC,
8200   _NL_CTYPE_INDIGITS9_WC,
8201   _NL_CTYPE_OUTDIGIT0_MB,
8202   _NL_CTYPE_OUTDIGIT1_MB,
8203   _NL_CTYPE_OUTDIGIT2_MB,
8204   _NL_CTYPE_OUTDIGIT3_MB,
8205   _NL_CTYPE_OUTDIGIT4_MB,
8206   _NL_CTYPE_OUTDIGIT5_MB,
8207   _NL_CTYPE_OUTDIGIT6_MB,
8208   _NL_CTYPE_OUTDIGIT7_MB,
8209   _NL_CTYPE_OUTDIGIT8_MB,
8210   _NL_CTYPE_OUTDIGIT9_MB,
8211   _NL_CTYPE_OUTDIGIT0_WC,
8212   _NL_CTYPE_OUTDIGIT1_WC,
8213   _NL_CTYPE_OUTDIGIT2_WC,
8214   _NL_CTYPE_OUTDIGIT3_WC,
8215   _NL_CTYPE_OUTDIGIT4_WC,
8216   _NL_CTYPE_OUTDIGIT5_WC,
8217   _NL_CTYPE_OUTDIGIT6_WC,
8218   _NL_CTYPE_OUTDIGIT7_WC,
8219   _NL_CTYPE_OUTDIGIT8_WC,
8220   _NL_CTYPE_OUTDIGIT9_WC,
8221   _NL_CTYPE_TRANSLIT_TAB_SIZE,
8222   _NL_CTYPE_TRANSLIT_FROM_IDX,
8223   _NL_CTYPE_TRANSLIT_FROM_TBL,
8224   _NL_CTYPE_TRANSLIT_TO_IDX,
8225   _NL_CTYPE_TRANSLIT_TO_TBL,
8226   _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN,
8227   _NL_CTYPE_TRANSLIT_DEFAULT_MISSING,
8228   _NL_CTYPE_TRANSLIT_IGNORE_LEN,
8229   _NL_CTYPE_TRANSLIT_IGNORE,
8230   _NL_CTYPE_MAP_TO_NONASCII,
8231   _NL_CTYPE_EXTRA_MAP_1,
8232   _NL_CTYPE_EXTRA_MAP_2,
8233   _NL_CTYPE_EXTRA_MAP_3,
8234   _NL_CTYPE_EXTRA_MAP_4,
8235   _NL_CTYPE_EXTRA_MAP_5,
8236   _NL_CTYPE_EXTRA_MAP_6,
8237   _NL_CTYPE_EXTRA_MAP_7,
8238   _NL_CTYPE_EXTRA_MAP_8,
8239   _NL_CTYPE_EXTRA_MAP_9,
8240   _NL_CTYPE_EXTRA_MAP_10,
8241   _NL_CTYPE_EXTRA_MAP_11,
8242   _NL_CTYPE_EXTRA_MAP_12,
8243   _NL_CTYPE_EXTRA_MAP_13,
8244   _NL_CTYPE_EXTRA_MAP_14,
8245   _NL_NUM_LC_CTYPE,
8246
8247
8248
8249
8250   __INT_CURR_SYMBOL = (((__LC_MONETARY) << 16) | (0)),
8251
8252 #define INT_CURR_SYMBOL __INT_CURR_SYMBOL
8253
8254   __CURRENCY_SYMBOL,
8255
8256 #define CURRENCY_SYMBOL __CURRENCY_SYMBOL
8257
8258   __MON_DECIMAL_POINT,
8259
8260 #define MON_DECIMAL_POINT __MON_DECIMAL_POINT
8261
8262   __MON_THOUSANDS_SEP,
8263
8264 #define MON_THOUSANDS_SEP __MON_THOUSANDS_SEP
8265
8266   __MON_GROUPING,
8267
8268 #define MON_GROUPING __MON_GROUPING
8269
8270   __POSITIVE_SIGN,
8271
8272 #define POSITIVE_SIGN __POSITIVE_SIGN
8273
8274   __NEGATIVE_SIGN,
8275
8276 #define NEGATIVE_SIGN __NEGATIVE_SIGN
8277
8278   __INT_FRAC_DIGITS,
8279
8280 #define INT_FRAC_DIGITS __INT_FRAC_DIGITS
8281
8282   __FRAC_DIGITS,
8283
8284 #define FRAC_DIGITS __FRAC_DIGITS
8285
8286   __P_CS_PRECEDES,
8287
8288 #define P_CS_PRECEDES __P_CS_PRECEDES
8289
8290   __P_SEP_BY_SPACE,
8291
8292 #define P_SEP_BY_SPACE __P_SEP_BY_SPACE
8293
8294   __N_CS_PRECEDES,
8295
8296 #define N_CS_PRECEDES __N_CS_PRECEDES
8297
8298   __N_SEP_BY_SPACE,
8299
8300 #define N_SEP_BY_SPACE __N_SEP_BY_SPACE
8301
8302   __P_SIGN_POSN,
8303
8304 #define P_SIGN_POSN __P_SIGN_POSN
8305
8306   __N_SIGN_POSN,
8307
8308 #define N_SIGN_POSN __N_SIGN_POSN
8309
8310   _NL_MONETARY_CRNCYSTR,
8311 #define CRNCYSTR _NL_MONETARY_CRNCYSTR
8312   __INT_P_CS_PRECEDES,
8313
8314 #define INT_P_CS_PRECEDES __INT_P_CS_PRECEDES
8315
8316   __INT_P_SEP_BY_SPACE,
8317
8318 #define INT_P_SEP_BY_SPACE __INT_P_SEP_BY_SPACE
8319
8320   __INT_N_CS_PRECEDES,
8321
8322 #define INT_N_CS_PRECEDES __INT_N_CS_PRECEDES
8323
8324   __INT_N_SEP_BY_SPACE,
8325
8326 #define INT_N_SEP_BY_SPACE __INT_N_SEP_BY_SPACE
8327
8328   __INT_P_SIGN_POSN,
8329
8330 #define INT_P_SIGN_POSN __INT_P_SIGN_POSN
8331
8332   __INT_N_SIGN_POSN,
8333
8334 #define INT_N_SIGN_POSN __INT_N_SIGN_POSN
8335
8336   _NL_MONETARY_DUO_INT_CURR_SYMBOL,
8337   _NL_MONETARY_DUO_CURRENCY_SYMBOL,
8338   _NL_MONETARY_DUO_INT_FRAC_DIGITS,
8339   _NL_MONETARY_DUO_FRAC_DIGITS,
8340   _NL_MONETARY_DUO_P_CS_PRECEDES,
8341   _NL_MONETARY_DUO_P_SEP_BY_SPACE,
8342   _NL_MONETARY_DUO_N_CS_PRECEDES,
8343   _NL_MONETARY_DUO_N_SEP_BY_SPACE,
8344   _NL_MONETARY_DUO_INT_P_CS_PRECEDES,
8345   _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE,
8346   _NL_MONETARY_DUO_INT_N_CS_PRECEDES,
8347   _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE,
8348   _NL_MONETARY_DUO_P_SIGN_POSN,
8349   _NL_MONETARY_DUO_N_SIGN_POSN,
8350   _NL_MONETARY_DUO_INT_P_SIGN_POSN,
8351   _NL_MONETARY_DUO_INT_N_SIGN_POSN,
8352   _NL_MONETARY_UNO_VALID_FROM,
8353   _NL_MONETARY_UNO_VALID_TO,
8354   _NL_MONETARY_DUO_VALID_FROM,
8355   _NL_MONETARY_DUO_VALID_TO,
8356   _NL_MONETARY_CONVERSION_RATE,
8357   _NL_MONETARY_DECIMAL_POINT_WC,
8358   _NL_MONETARY_THOUSANDS_SEP_WC,
8359   _NL_MONETARY_CODESET,
8360   _NL_NUM_LC_MONETARY,
8361
8362
8363
8364   __DECIMAL_POINT = (((__LC_NUMERIC) << 16) | (0)),
8365
8366 #define DECIMAL_POINT __DECIMAL_POINT
8367
8368   RADIXCHAR = __DECIMAL_POINT,
8369 #define RADIXCHAR RADIXCHAR
8370   __THOUSANDS_SEP,
8371
8372 #define THOUSANDS_SEP __THOUSANDS_SEP
8373
8374   THOUSEP = __THOUSANDS_SEP,
8375 #define THOUSEP THOUSEP
8376   __GROUPING,
8377
8378 #define GROUPING __GROUPING
8379
8380   _NL_NUMERIC_DECIMAL_POINT_WC,
8381   _NL_NUMERIC_THOUSANDS_SEP_WC,
8382   _NL_NUMERIC_CODESET,
8383   _NL_NUM_LC_NUMERIC,
8384
8385   __YESEXPR = (((__LC_MESSAGES) << 16) | (0)),
8386 #define YESEXPR __YESEXPR
8387   __NOEXPR,
8388 #define NOEXPR __NOEXPR
8389   __YESSTR,
8390
8391 #define YESSTR __YESSTR
8392
8393   __NOSTR,
8394
8395 #define NOSTR __NOSTR
8396
8397   _NL_MESSAGES_CODESET,
8398   _NL_NUM_LC_MESSAGES,
8399
8400   _NL_PAPER_HEIGHT = (((__LC_PAPER) << 16) | (0)),
8401   _NL_PAPER_WIDTH,
8402   _NL_PAPER_CODESET,
8403   _NL_NUM_LC_PAPER,
8404
8405   _NL_NAME_NAME_FMT = (((__LC_NAME) << 16) | (0)),
8406   _NL_NAME_NAME_GEN,
8407   _NL_NAME_NAME_MR,
8408   _NL_NAME_NAME_MRS,
8409   _NL_NAME_NAME_MISS,
8410   _NL_NAME_NAME_MS,
8411   _NL_NAME_CODESET,
8412   _NL_NUM_LC_NAME,
8413
8414   _NL_ADDRESS_POSTAL_FMT = (((__LC_ADDRESS) << 16) | (0)),
8415   _NL_ADDRESS_COUNTRY_NAME,
8416   _NL_ADDRESS_COUNTRY_POST,
8417   _NL_ADDRESS_COUNTRY_AB2,
8418   _NL_ADDRESS_COUNTRY_AB3,
8419   _NL_ADDRESS_COUNTRY_CAR,
8420   _NL_ADDRESS_COUNTRY_NUM,
8421   _NL_ADDRESS_COUNTRY_ISBN,
8422   _NL_ADDRESS_LANG_NAME,
8423   _NL_ADDRESS_LANG_AB,
8424   _NL_ADDRESS_LANG_TERM,
8425   _NL_ADDRESS_LANG_LIB,
8426   _NL_ADDRESS_CODESET,
8427   _NL_NUM_LC_ADDRESS,
8428
8429   _NL_TELEPHONE_TEL_INT_FMT = (((__LC_TELEPHONE) << 16) | (0)),
8430   _NL_TELEPHONE_TEL_DOM_FMT,
8431   _NL_TELEPHONE_INT_SELECT,
8432   _NL_TELEPHONE_INT_PREFIX,
8433   _NL_TELEPHONE_CODESET,
8434   _NL_NUM_LC_TELEPHONE,
8435
8436   _NL_MEASUREMENT_MEASUREMENT = (((__LC_MEASUREMENT) << 16) | (0)),
8437   _NL_MEASUREMENT_CODESET,
8438   _NL_NUM_LC_MEASUREMENT,
8439
8440   _NL_IDENTIFICATION_TITLE = (((__LC_IDENTIFICATION) << 16) | (0)),
8441   _NL_IDENTIFICATION_SOURCE,
8442   _NL_IDENTIFICATION_ADDRESS,
8443   _NL_IDENTIFICATION_CONTACT,
8444   _NL_IDENTIFICATION_EMAIL,
8445   _NL_IDENTIFICATION_TEL,
8446   _NL_IDENTIFICATION_FAX,
8447   _NL_IDENTIFICATION_LANGUAGE,
8448   _NL_IDENTIFICATION_TERRITORY,
8449   _NL_IDENTIFICATION_AUDIENCE,
8450   _NL_IDENTIFICATION_APPLICATION,
8451   _NL_IDENTIFICATION_ABBREVIATION,
8452   _NL_IDENTIFICATION_REVISION,
8453   _NL_IDENTIFICATION_DATE,
8454   _NL_IDENTIFICATION_CATEGORY,
8455   _NL_IDENTIFICATION_CODESET,
8456   _NL_NUM_LC_IDENTIFICATION,
8457
8458
8459   _NL_NUM
8460 };
8461
8462
8463
8464 #define _NL_LOCALE_NAME(category) _NL_ITEM ((category), -1)
8465
8466 #define NL_LOCALE_NAME(category) _NL_LOCALE_NAME (category)
8467 # 582 "/usr/include/langinfo.h" 3 4
8468 extern char *nl_langinfo (nl_item __item) throw ();
8469 # 593 "/usr/include/langinfo.h" 3 4
8470 extern char *nl_langinfo_l (nl_item __item, __locale_t l);
8471
8472
8473 }
8474 # 45 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++locale.h" 2 3
8475 # 1 "/usr/include/iconv.h" 1 3 4
8476 # 20 "/usr/include/iconv.h" 3 4
8477 #define _ICONV_H 1
8478
8479
8480 #define __need_size_t 
8481 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
8482 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
8483 #undef __need_ptrdiff_t
8484 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
8485 #undef __need_size_t
8486 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
8487 #undef __need_wchar_t
8488 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
8489 #undef NULL
8490
8491 #define NULL __null
8492 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
8493 #undef __need_NULL
8494
8495
8496
8497
8498 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
8499 # 25 "/usr/include/iconv.h" 2 3 4
8500
8501
8502 extern "C" {
8503
8504
8505 typedef void *iconv_t;
8506
8507
8508
8509
8510
8511
8512
8513 extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode);
8514
8515
8516
8517
8518 extern size_t iconv (iconv_t __cd, char **__restrict __inbuf,
8519        size_t *__restrict __inbytesleft,
8520        char **__restrict __outbuf,
8521        size_t *__restrict __outbytesleft);
8522
8523
8524
8525
8526
8527 extern int iconv_close (iconv_t __cd);
8528
8529 }
8530 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++locale.h" 2 3
8531 # 1 "/usr/include/libintl.h" 1 3 4
8532 # 22 "/usr/include/libintl.h" 3 4
8533 #define _LIBINTL_H 1
8534
8535
8536
8537
8538
8539 #define __USE_GNU_GETTEXT 1
8540
8541
8542
8543 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 1 : -1)
8544
8545
8546 extern "C" {
8547
8548
8549
8550
8551 extern char *gettext (__const char *__msgid)
8552      throw () __attribute__ ((__format_arg__ (1)));
8553
8554
8555
8556 extern char *dgettext (__const char *__domainname, __const char *__msgid)
8557      throw () __attribute__ ((__format_arg__ (2)));
8558 extern char *__dgettext (__const char *__domainname, __const char *__msgid)
8559      throw () __attribute__ ((__format_arg__ (2)));
8560
8561
8562
8563 extern char *dcgettext (__const char *__domainname,
8564    __const char *__msgid, int __category)
8565      throw () __attribute__ ((__format_arg__ (2)));
8566 extern char *__dcgettext (__const char *__domainname,
8567      __const char *__msgid, int __category)
8568      throw () __attribute__ ((__format_arg__ (2)));
8569
8570
8571
8572
8573 extern char *ngettext (__const char *__msgid1, __const char *__msgid2,
8574          unsigned long int __n)
8575      throw () __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));
8576
8577
8578
8579 extern char *dngettext (__const char *__domainname, __const char *__msgid1,
8580    __const char *__msgid2, unsigned long int __n)
8581      throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
8582
8583
8584
8585 extern char *dcngettext (__const char *__domainname, __const char *__msgid1,
8586     __const char *__msgid2, unsigned long int __n,
8587     int __category)
8588      throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
8589
8590
8591
8592
8593
8594 extern char *textdomain (__const char *__domainname) throw ();
8595
8596
8597
8598 extern char *bindtextdomain (__const char *__domainname,
8599         __const char *__dirname) throw ();
8600
8601
8602
8603 extern char *bind_textdomain_codeset (__const char *__domainname,
8604           __const char *__codeset) throw ();
8605 # 122 "/usr/include/libintl.h" 3 4
8606 }
8607 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++locale.h" 2 3
8608
8609 #define _GLIBCXX_C_LOCALE_GNU 1
8610
8611 #define _GLIBCXX_NUM_CATEGORIES 6
8612
8613
8614 namespace __gnu_cxx
8615 {
8616   extern "C" __typeof(uselocale) __uselocale;
8617 }
8618
8619
8620 namespace std
8621 {
8622   typedef __locale_t __c_locale;
8623
8624
8625
8626
8627
8628   template<typename _Tv>
8629     int
8630     __convert_from_v(char* __out,
8631        const int __size __attribute__ ((__unused__)),
8632        const char* __fmt,
8633
8634        _Tv __v, const __c_locale& __cloc, int __prec)
8635     {
8636       __c_locale __old = __gnu_cxx::__uselocale(__cloc);
8637 # 86 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++locale.h" 3
8638       const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
8639
8640
8641
8642
8643
8644       __gnu_cxx::__uselocale(__old);
8645
8646
8647
8648
8649       return __ret;
8650     }
8651 }
8652 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 2 3
8653 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++io.h" 1 3
8654 # 34 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++io.h" 3
8655 #define _C_IO_STDIO_H 1
8656
8657
8658
8659 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/gthr.h" 1 3
8660 # 30 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/gthr.h" 3
8661 #define _GLIBCXX_GCC_GTHR_H 
8662
8663
8664 #pragma GCC visibility push(default)
8665 # 111 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/gthr.h" 3
8666 #define _GLIBCXX_GTHREAD_USE_WEAK 1
8667
8668
8669 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h" 1 3
8670 # 31 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h" 3
8671 #define _GLIBCXX_GCC_GTHR_POSIX_H 
8672
8673
8674
8675
8676 #define __GTHREADS 1
8677
8678
8679
8680 #define _REENTRANT 1
8681
8682
8683 # 1 "/usr/include/pthread.h" 1 3 4
8684 # 20 "/usr/include/pthread.h" 3 4
8685 #define _PTHREAD_H 1
8686
8687
8688 # 1 "/usr/include/sched.h" 1 3 4
8689 # 21 "/usr/include/sched.h" 3 4
8690 #define _SCHED_H 1
8691
8692
8693
8694
8695
8696
8697 #define __need_timespec 
8698 # 1 "/usr/include/time.h" 1 3 4
8699 # 68 "/usr/include/time.h" 3 4
8700 #undef __need_clock_t
8701 # 84 "/usr/include/time.h" 3 4
8702 #undef __need_time_t
8703 # 96 "/usr/include/time.h" 3 4
8704 #undef __clockid_time_t
8705 # 108 "/usr/include/time.h" 3 4
8706 #undef __need_timer_t
8707 # 128 "/usr/include/time.h" 3 4
8708 #undef __need_timespec
8709 # 30 "/usr/include/sched.h" 2 3 4
8710
8711
8712 # 1 "/usr/include/bits/sched.h" 1 3 4
8713 # 29 "/usr/include/bits/sched.h" 3 4
8714 #define SCHED_OTHER 0
8715 #define SCHED_FIFO 1
8716 #define SCHED_RR 2
8717
8718 #define SCHED_BATCH 3
8719
8720
8721
8722
8723 #define CSIGNAL 0x000000ff
8724 #define CLONE_VM 0x00000100
8725 #define CLONE_FS 0x00000200
8726 #define CLONE_FILES 0x00000400
8727 #define CLONE_SIGHAND 0x00000800
8728 #define CLONE_PTRACE 0x00002000
8729 #define CLONE_VFORK 0x00004000
8730
8731 #define CLONE_PARENT 0x00008000
8732
8733 #define CLONE_THREAD 0x00010000
8734 #define CLONE_NEWNS 0x00020000
8735 #define CLONE_SYSVSEM 0x00040000
8736 #define CLONE_SETTLS 0x00080000
8737 #define CLONE_PARENT_SETTID 0x00100000
8738
8739 #define CLONE_CHILD_CLEARTID 0x00200000
8740
8741 #define CLONE_DETACHED 0x00400000
8742 #define CLONE_UNTRACED 0x00800000
8743
8744 #define CLONE_CHILD_SETTID 0x01000000
8745
8746 #define CLONE_STOPPED 0x02000000
8747
8748
8749
8750 struct sched_param
8751   {
8752     int __sched_priority;
8753   };
8754
8755 extern "C" {
8756
8757
8758
8759 extern int clone (int (*__fn) (void *__arg), void *__child_stack,
8760     int __flags, void *__arg, ...) throw ();
8761
8762
8763 extern int unshare (int __flags) throw ();
8764
8765
8766 }
8767
8768
8769
8770
8771
8772 #define __defined_schedparam 1
8773
8774 struct __sched_param
8775   {
8776     int __sched_priority;
8777   };
8778 #undef __need_schedparam
8779
8780
8781
8782
8783 #define __cpu_set_t_defined 
8784
8785 #define __CPU_SETSIZE 1024
8786 #define __NCPUBITS (8 * sizeof (__cpu_mask))
8787
8788
8789 typedef unsigned long int __cpu_mask;
8790
8791
8792 #define __CPUELT(cpu) ((cpu) / __NCPUBITS)
8793 #define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
8794
8795
8796 typedef struct
8797 {
8798   __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
8799 } cpu_set_t;
8800
8801
8802 #define __CPU_ZERO(cpusetp) do { unsigned int __i; cpu_set_t *__arr = (cpusetp); for (__i = 0; __i < sizeof (cpu_set_t) / sizeof (__cpu_mask); ++__i) __arr->__bits[__i] = 0; } while (0)
8803
8804
8805
8806
8807
8808
8809 #define __CPU_SET(cpu,cpusetp) ((cpusetp)->__bits[__CPUELT (cpu)] |= __CPUMASK (cpu))
8810
8811 #define __CPU_CLR(cpu,cpusetp) ((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
8812
8813 #define __CPU_ISSET(cpu,cpusetp) (((cpusetp)->__bits[__CPUELT (cpu)] & __CPUMASK (cpu)) != 0)
8814 # 33 "/usr/include/sched.h" 2 3 4
8815
8816 #define sched_priority __sched_priority
8817
8818
8819 extern "C" {
8820
8821
8822 extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
8823      throw ();
8824
8825
8826 extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw ();
8827
8828
8829 extern int sched_setscheduler (__pid_t __pid, int __policy,
8830           __const struct sched_param *__param) throw ();
8831
8832
8833 extern int sched_getscheduler (__pid_t __pid) throw ();
8834
8835
8836 extern int sched_yield (void) throw ();
8837
8838
8839 extern int sched_get_priority_max (int __algorithm) throw ();
8840
8841
8842 extern int sched_get_priority_min (int __algorithm) throw ();
8843
8844
8845 extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw ();
8846
8847
8848
8849
8850 #define CPU_SETSIZE __CPU_SETSIZE
8851 #define CPU_SET(cpu,cpusetp) __CPU_SET (cpu, cpusetp)
8852 #define CPU_CLR(cpu,cpusetp) __CPU_CLR (cpu, cpusetp)
8853 #define CPU_ISSET(cpu,cpusetp) __CPU_ISSET (cpu, cpusetp)
8854 #define CPU_ZERO(cpusetp) __CPU_ZERO (cpusetp)
8855
8856
8857
8858 extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
8859          __const cpu_set_t *__cpuset) throw ();
8860
8861
8862 extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
8863          cpu_set_t *__cpuset) throw ();
8864
8865
8866 }
8867 # 24 "/usr/include/pthread.h" 2 3 4
8868 # 1 "/usr/include/time.h" 1 3 4
8869 # 28 "/usr/include/time.h" 3 4
8870 #define _TIME_H 1
8871
8872
8873 extern "C" {
8874
8875
8876
8877
8878
8879 #define __need_size_t 
8880 #define __need_NULL 
8881 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
8882 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
8883 #undef __need_ptrdiff_t
8884 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
8885 #undef __need_size_t
8886 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
8887 #undef __need_wchar_t
8888 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
8889 #undef NULL
8890
8891 #define NULL __null
8892 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
8893 #undef __need_NULL
8894
8895
8896
8897
8898 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
8899 # 40 "/usr/include/time.h" 2 3 4
8900
8901
8902
8903 # 1 "/usr/include/bits/time.h" 1 3 4
8904 # 26 "/usr/include/bits/time.h" 3 4
8905 #define _BITS_TIME_H 1
8906
8907
8908
8909
8910
8911
8912
8913 #define CLOCKS_PER_SEC 1000000l
8914 # 46 "/usr/include/bits/time.h" 3 4
8915 #define CLOCK_REALTIME 0
8916
8917 #define CLOCK_MONOTONIC 1
8918
8919 #define CLOCK_PROCESS_CPUTIME_ID 2
8920
8921 #define CLOCK_THREAD_CPUTIME_ID 3
8922
8923
8924 #define TIMER_ABSTIME 1
8925 # 44 "/usr/include/time.h" 2 3 4
8926 # 68 "/usr/include/time.h" 3 4
8927 #undef __need_clock_t
8928 # 84 "/usr/include/time.h" 3 4
8929 #undef __need_time_t
8930 # 96 "/usr/include/time.h" 3 4
8931 #undef __clockid_time_t
8932 # 108 "/usr/include/time.h" 3 4
8933 #undef __need_timer_t
8934 # 128 "/usr/include/time.h" 3 4
8935 #undef __need_timespec
8936
8937
8938
8939
8940
8941 struct tm
8942 {
8943   int tm_sec;
8944   int tm_min;
8945   int tm_hour;
8946   int tm_mday;
8947   int tm_mon;
8948   int tm_year;
8949   int tm_wday;
8950   int tm_yday;
8951   int tm_isdst;
8952
8953
8954   long int tm_gmtoff;
8955   __const char *tm_zone;
8956
8957
8958
8959
8960 };
8961
8962
8963
8964
8965
8966
8967
8968
8969 struct itimerspec
8970   {
8971     struct timespec it_interval;
8972     struct timespec it_value;
8973   };
8974
8975
8976 struct sigevent;
8977 # 181 "/usr/include/time.h" 3 4
8978
8979
8980
8981 extern clock_t clock (void) throw ();
8982
8983
8984 extern time_t time (time_t *__timer) throw ();
8985
8986
8987 extern double difftime (time_t __time1, time_t __time0)
8988      throw () __attribute__ ((__const__));
8989
8990
8991 extern time_t mktime (struct tm *__tp) throw ();
8992
8993
8994
8995
8996
8997 extern size_t strftime (char *__restrict __s, size_t __maxsize,
8998    __const char *__restrict __format,
8999    __const struct tm *__restrict __tp) throw ();
9000
9001
9002
9003
9004
9005 extern char *strptime (__const char *__restrict __s,
9006          __const char *__restrict __fmt, struct tm *__tp)
9007      throw ();
9008
9009
9010
9011
9012
9013
9014
9015 extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
9016      __const char *__restrict __format,
9017      __const struct tm *__restrict __tp,
9018      __locale_t __loc) throw ();
9019
9020 extern char *strptime_l (__const char *__restrict __s,
9021     __const char *__restrict __fmt, struct tm *__tp,
9022     __locale_t __loc) throw ();
9023
9024
9025
9026
9027
9028
9029 extern struct tm *gmtime (__const time_t *__timer) throw ();
9030
9031
9032
9033 extern struct tm *localtime (__const time_t *__timer) throw ();
9034
9035
9036
9037
9038
9039 extern struct tm *gmtime_r (__const time_t *__restrict __timer,
9040        struct tm *__restrict __tp) throw ();
9041
9042
9043
9044 extern struct tm *localtime_r (__const time_t *__restrict __timer,
9045           struct tm *__restrict __tp) throw ();
9046
9047
9048
9049
9050
9051 extern char *asctime (__const struct tm *__tp) throw ();
9052
9053
9054 extern char *ctime (__const time_t *__timer) throw ();
9055
9056
9057
9058
9059
9060
9061
9062 extern char *asctime_r (__const struct tm *__restrict __tp,
9063    char *__restrict __buf) throw ();
9064
9065
9066 extern char *ctime_r (__const time_t *__restrict __timer,
9067         char *__restrict __buf) throw ();
9068
9069
9070
9071
9072 extern char *__tzname[2];
9073 extern int __daylight;
9074 extern long int __timezone;
9075
9076
9077
9078
9079 extern char *tzname[2];
9080
9081
9082
9083 extern void tzset (void) throw ();
9084
9085
9086
9087 extern int daylight;
9088 extern long int timezone;
9089
9090
9091
9092
9093
9094 extern int stime (__const time_t *__when) throw ();
9095
9096
9097
9098
9099
9100 #define __isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
9101 # 312 "/usr/include/time.h" 3 4
9102 extern time_t timegm (struct tm *__tp) throw ();
9103
9104
9105 extern time_t timelocal (struct tm *__tp) throw ();
9106
9107
9108 extern int dysize (int __year) throw () __attribute__ ((__const__));
9109 # 327 "/usr/include/time.h" 3 4
9110 extern int nanosleep (__const struct timespec *__requested_time,
9111         struct timespec *__remaining);
9112
9113
9114
9115 extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw ();
9116
9117
9118 extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw ();
9119
9120
9121 extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
9122      throw ();
9123
9124
9125
9126
9127
9128
9129 extern int clock_nanosleep (clockid_t __clock_id, int __flags,
9130        __const struct timespec *__req,
9131        struct timespec *__rem);
9132
9133
9134 extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw ();
9135
9136
9137
9138
9139 extern int timer_create (clockid_t __clock_id,
9140     struct sigevent *__restrict __evp,
9141     timer_t *__restrict __timerid) throw ();
9142
9143
9144 extern int timer_delete (timer_t __timerid) throw ();
9145
9146
9147 extern int timer_settime (timer_t __timerid, int __flags,
9148      __const struct itimerspec *__restrict __value,
9149      struct itimerspec *__restrict __ovalue) throw ();
9150
9151
9152 extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
9153      throw ();
9154
9155
9156 extern int timer_getoverrun (timer_t __timerid) throw ();
9157 # 389 "/usr/include/time.h" 3 4
9158 extern int getdate_err;
9159 # 398 "/usr/include/time.h" 3 4
9160 extern struct tm *getdate (__const char *__string);
9161 # 412 "/usr/include/time.h" 3 4
9162 extern int getdate_r (__const char *__restrict __string,
9163         struct tm *__restrict __resbufp);
9164
9165
9166 }
9167 # 25 "/usr/include/pthread.h" 2 3 4
9168
9169 #define __need_sigset_t 
9170 # 1 "/usr/include/signal.h" 1 3 4
9171 # 31 "/usr/include/signal.h" 3 4
9172 extern "C" {
9173
9174 # 1 "/usr/include/bits/sigset.h" 1 3 4
9175 # 34 "/usr/include/signal.h" 2 3 4
9176 # 52 "/usr/include/signal.h" 3 4
9177 #undef __need_sigset_t
9178 # 400 "/usr/include/signal.h" 3 4
9179 }
9180 # 28 "/usr/include/pthread.h" 2 3 4
9181
9182 # 1 "/usr/include/bits/setjmp.h" 1 3 4
9183 # 22 "/usr/include/bits/setjmp.h" 3 4
9184 #define _BITS_SETJMP_H 1
9185
9186
9187
9188
9189
9190
9191 typedef int __jmp_buf[6];
9192 # 30 "/usr/include/pthread.h" 2 3 4
9193 # 1 "/usr/include/bits/wordsize.h" 1 3 4
9194 # 19 "/usr/include/bits/wordsize.h" 3 4
9195 #define __WORDSIZE 32
9196 # 31 "/usr/include/pthread.h" 2 3 4
9197
9198
9199
9200 enum
9201 {
9202   PTHREAD_CREATE_JOINABLE,
9203 #define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE
9204   PTHREAD_CREATE_DETACHED
9205 #define PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED
9206 };
9207
9208
9209
9210 enum
9211 {
9212   PTHREAD_MUTEX_TIMED_NP,
9213   PTHREAD_MUTEX_RECURSIVE_NP,
9214   PTHREAD_MUTEX_ERRORCHECK_NP,
9215   PTHREAD_MUTEX_ADAPTIVE_NP
9216
9217   ,
9218   PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
9219   PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
9220   PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
9221   PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
9222
9223
9224
9225   , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
9226
9227 };
9228
9229
9230
9231
9232 enum
9233 {
9234   PTHREAD_MUTEX_STALLED_NP,
9235   PTHREAD_MUTEX_ROBUST_NP
9236 };
9237
9238
9239
9240
9241
9242 enum
9243 {
9244   PTHREAD_PRIO_NONE,
9245   PTHREAD_PRIO_INHERIT,
9246   PTHREAD_PRIO_PROTECT
9247 };
9248 # 98 "/usr/include/pthread.h" 3 4
9249 #define PTHREAD_MUTEX_INITIALIZER { { 0, 0, 0, 0, 0, { 0 } } }
9250
9251
9252 #define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } }
9253
9254 #define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0, { 0 } } }
9255
9256 #define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, 0, { 0 } } }
9257
9258
9259
9260
9261
9262
9263
9264 enum
9265 {
9266   PTHREAD_RWLOCK_PREFER_READER_NP,
9267   PTHREAD_RWLOCK_PREFER_WRITER_NP,
9268   PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
9269   PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
9270 };
9271
9272
9273
9274
9275
9276
9277 #define PTHREAD_RWLOCK_INITIALIZER { { 0, 0, 0, 0, 0, 0, 0, 0 } }
9278 # 135 "/usr/include/pthread.h" 3 4
9279 #define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, 0 } }
9280
9281
9282
9283
9284
9285
9286
9287 enum
9288 {
9289   PTHREAD_INHERIT_SCHED,
9290 #define PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED
9291   PTHREAD_EXPLICIT_SCHED
9292 #define PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED
9293 };
9294
9295
9296
9297 enum
9298 {
9299   PTHREAD_SCOPE_SYSTEM,
9300 #define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM
9301   PTHREAD_SCOPE_PROCESS
9302 #define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS
9303 };
9304
9305
9306
9307 enum
9308 {
9309   PTHREAD_PROCESS_PRIVATE,
9310 #define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE
9311   PTHREAD_PROCESS_SHARED
9312 #define PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED
9313 };
9314
9315
9316
9317
9318 #define PTHREAD_COND_INITIALIZER { { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }
9319
9320
9321
9322 struct _pthread_cleanup_buffer
9323 {
9324   void (*__routine) (void *);
9325   void *__arg;
9326   int __canceltype;
9327   struct _pthread_cleanup_buffer *__prev;
9328 };
9329
9330
9331 enum
9332 {
9333   PTHREAD_CANCEL_ENABLE,
9334 #define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
9335   PTHREAD_CANCEL_DISABLE
9336 #define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE
9337 };
9338 enum
9339 {
9340   PTHREAD_CANCEL_DEFERRED,
9341 #define PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
9342   PTHREAD_CANCEL_ASYNCHRONOUS
9343 #define PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
9344 };
9345 #define PTHREAD_CANCELED ((void *) -1)
9346
9347
9348
9349 #define PTHREAD_ONCE_INIT 0
9350
9351
9352
9353
9354
9355
9356 #define PTHREAD_BARRIER_SERIAL_THREAD -1
9357
9358
9359
9360 extern "C" {
9361
9362
9363
9364
9365 extern int pthread_create (pthread_t *__restrict __newthread,
9366       __const pthread_attr_t *__restrict __attr,
9367       void *(*__start_routine) (void *),
9368       void *__restrict __arg) throw ();
9369
9370
9371
9372
9373
9374 extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
9375
9376
9377
9378
9379
9380
9381
9382 extern int pthread_join (pthread_t __th, void **__thread_return);
9383
9384
9385
9386
9387 extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw ();
9388
9389
9390
9391
9392
9393
9394
9395 extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
9396      __const struct timespec *__abstime);
9397
9398
9399
9400
9401
9402
9403 extern int pthread_detach (pthread_t __th) throw ();
9404
9405
9406
9407 extern pthread_t pthread_self (void) throw () __attribute__ ((__const__));
9408
9409
9410 extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw ();
9411
9412
9413
9414
9415
9416
9417
9418 extern int pthread_attr_init (pthread_attr_t *__attr) throw ();
9419
9420
9421 extern int pthread_attr_destroy (pthread_attr_t *__attr) throw ();
9422
9423
9424 extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
9425      int *__detachstate) throw ();
9426
9427
9428 extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
9429      int __detachstate) throw ();
9430
9431
9432
9433 extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
9434           size_t *__guardsize) throw ();
9435
9436
9437 extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
9438           size_t __guardsize) throw ();
9439
9440
9441
9442 extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
9443            __attr,
9444            struct sched_param *__restrict __param)
9445      throw ();
9446
9447
9448 extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
9449            __const struct sched_param *__restrict
9450            __param) throw ();
9451
9452
9453 extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
9454      __attr, int *__restrict __policy)
9455      throw ();
9456
9457
9458 extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
9459      throw ();
9460
9461
9462 extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
9463       __attr, int *__restrict __inherit)
9464      throw ();
9465
9466
9467 extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
9468       int __inherit) throw ();
9469
9470
9471
9472 extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
9473       int *__restrict __scope) throw ();
9474
9475
9476 extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
9477      throw ();
9478
9479
9480 extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
9481           __attr, void **__restrict __stackaddr)
9482      throw () __attribute__ ((__deprecated__));
9483
9484
9485
9486
9487
9488 extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
9489           void *__stackaddr)
9490      throw () __attribute__ ((__deprecated__));
9491
9492
9493 extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
9494           __attr, size_t *__restrict __stacksize)
9495      throw ();
9496
9497
9498
9499
9500 extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
9501           size_t __stacksize) throw ();
9502
9503
9504
9505 extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
9506       void **__restrict __stackaddr,
9507       size_t *__restrict __stacksize) throw ();
9508
9509
9510
9511
9512 extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
9513       size_t __stacksize) throw ();
9514
9515
9516
9517
9518
9519 extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
9520      size_t __cpusetsize,
9521      __const cpu_set_t *__cpuset) throw ();
9522
9523
9524
9525 extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr,
9526      size_t __cpusetsize,
9527      cpu_set_t *__cpuset) throw ();
9528
9529
9530
9531
9532
9533 extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) throw ();
9534
9535
9536
9537
9538
9539
9540
9541 extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
9542       __const struct sched_param *__param)
9543      throw ();
9544
9545
9546 extern int pthread_getschedparam (pthread_t __target_thread,
9547       int *__restrict __policy,
9548       struct sched_param *__restrict __param)
9549      throw ();
9550
9551
9552 extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
9553      throw ();
9554
9555
9556
9557
9558 extern int pthread_getconcurrency (void) throw ();
9559
9560
9561 extern int pthread_setconcurrency (int __level) throw ();
9562
9563
9564
9565
9566
9567
9568
9569 extern int pthread_yield (void) throw ();
9570
9571
9572
9573
9574 extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
9575        __const cpu_set_t *__cpuset) throw ();
9576
9577
9578 extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
9579        cpu_set_t *__cpuset) throw ();
9580 # 448 "/usr/include/pthread.h" 3 4
9581 extern int pthread_once (pthread_once_t *__once_control,
9582     void (*__init_routine) (void));
9583 # 460 "/usr/include/pthread.h" 3 4
9584 extern int pthread_setcancelstate (int __state, int *__oldstate);
9585
9586
9587
9588 extern int pthread_setcanceltype (int __type, int *__oldtype);
9589
9590
9591 extern int pthread_cancel (pthread_t __th);
9592
9593
9594
9595
9596 extern void pthread_testcancel (void);
9597
9598
9599
9600
9601 typedef struct
9602 {
9603   struct
9604   {
9605     __jmp_buf __cancel_jmp_buf;
9606     int __mask_was_saved;
9607   } __cancel_jmp_buf[1];
9608   void *__pad[4];
9609 } __pthread_unwind_buf_t __attribute__ ((__aligned__));
9610 # 494 "/usr/include/pthread.h" 3 4
9611 struct __pthread_cleanup_frame
9612 {
9613   void (*__cancel_routine) (void *);
9614   void *__cancel_arg;
9615   int __do_it;
9616   int __cancel_type;
9617 };
9618
9619
9620
9621
9622 class __pthread_cleanup_class
9623 {
9624   void (*__cancel_routine) (void *);
9625   void *__cancel_arg;
9626   int __do_it;
9627   int __cancel_type;
9628
9629  public:
9630   __pthread_cleanup_class (void (*__fct) (void *), void *__arg)
9631     : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
9632   ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
9633   void __setdoit (int __newval) { __do_it = __newval; }
9634   void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
9635         &__cancel_type); }
9636   void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
9637 };
9638 # 529 "/usr/include/pthread.h" 3 4
9639 #define pthread_cleanup_push(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg)
9640
9641
9642
9643
9644
9645 #define pthread_cleanup_pop(execute) __clframe.__setdoit (execute); } while (0)
9646
9647
9648
9649
9650
9651
9652
9653 #define pthread_cleanup_push_defer_np(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg); __clframe.__defer ()
9654
9655
9656
9657
9658
9659
9660
9661 #define pthread_cleanup_pop_restore_np(execute) __clframe.__restore (); __clframe.__setdoit (execute); } while (0)
9662 # 694 "/usr/include/pthread.h" 3 4
9663 struct __jmp_buf_tag;
9664 extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw ();
9665
9666
9667
9668
9669
9670 extern int pthread_mutex_init (pthread_mutex_t *__mutex,
9671           __const pthread_mutexattr_t *__mutexattr)
9672      throw ();
9673
9674
9675 extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) throw ();
9676
9677
9678 extern int pthread_mutex_trylock (pthread_mutex_t *_mutex) throw ();
9679
9680
9681 extern int pthread_mutex_lock (pthread_mutex_t *__mutex) throw ();
9682
9683
9684
9685 extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
9686                                     __const struct timespec *__restrict
9687                                     __abstime) throw ();
9688
9689
9690
9691 extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) throw ();
9692
9693
9694
9695
9696 extern int pthread_mutex_getprioceiling (__const pthread_mutex_t *
9697       __restrict __mutex,
9698       int *__restrict __prioceiling)
9699      throw ();
9700
9701
9702
9703 extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
9704       int __prioceiling,
9705       int *__restrict __old_ceiling)
9706      throw ();
9707
9708
9709
9710
9711
9712 extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) throw ();
9713
9714
9715
9716
9717
9718
9719
9720 extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) throw ();
9721
9722
9723 extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) throw ();
9724
9725
9726 extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
9727       __restrict __attr,
9728       int *__restrict __pshared) throw ();
9729
9730
9731 extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
9732       int __pshared) throw ();
9733
9734
9735
9736 extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
9737           __attr, int *__restrict __kind) throw ();
9738
9739
9740
9741
9742 extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
9743      throw ();
9744
9745
9746 extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t *
9747        __restrict __attr,
9748        int *__restrict __protocol) throw ();
9749
9750
9751
9752 extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
9753        int __protocol) throw ();
9754
9755
9756 extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t *
9757           __restrict __attr,
9758           int *__restrict __prioceiling)
9759      throw ();
9760
9761
9762 extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
9763           int __prioceiling) throw ();
9764
9765
9766
9767
9768 extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr,
9769         int *__robustness) throw ();
9770
9771
9772 extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
9773         int __robustness) throw ();
9774 # 813 "/usr/include/pthread.h" 3 4
9775 extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
9776     __const pthread_rwlockattr_t *__restrict
9777     __attr) throw ();
9778
9779
9780 extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) throw ();
9781
9782
9783 extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) throw ();
9784
9785
9786 extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) throw ();
9787
9788
9789
9790 extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
9791            __const struct timespec *__restrict
9792            __abstime) throw ();
9793
9794
9795
9796 extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) throw ();
9797
9798
9799 extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) throw ();
9800
9801
9802
9803 extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
9804            __const struct timespec *__restrict
9805            __abstime) throw ();
9806
9807
9808
9809 extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) throw ();
9810
9811
9812
9813
9814
9815 extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) throw ();
9816
9817
9818 extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) throw ();
9819
9820
9821 extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
9822        __restrict __attr,
9823        int *__restrict __pshared) throw ();
9824
9825
9826 extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
9827        int __pshared) throw ();
9828
9829
9830 extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *
9831        __restrict __attr,
9832        int *__restrict __pref) throw ();
9833
9834
9835 extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
9836        int __pref) throw ();
9837
9838
9839
9840
9841
9842
9843
9844 extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
9845          __const pthread_condattr_t *__restrict
9846          __cond_attr) throw ();
9847
9848
9849 extern int pthread_cond_destroy (pthread_cond_t *__cond) throw ();
9850
9851
9852 extern int pthread_cond_signal (pthread_cond_t *__cond) throw ();
9853
9854
9855 extern int pthread_cond_broadcast (pthread_cond_t *__cond) throw ();
9856
9857
9858
9859
9860
9861
9862 extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
9863          pthread_mutex_t *__restrict __mutex);
9864 # 910 "/usr/include/pthread.h" 3 4
9865 extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
9866        pthread_mutex_t *__restrict __mutex,
9867        __const struct timespec *__restrict
9868        __abstime);
9869
9870
9871
9872
9873 extern int pthread_condattr_init (pthread_condattr_t *__attr) throw ();
9874
9875
9876 extern int pthread_condattr_destroy (pthread_condattr_t *__attr) throw ();
9877
9878
9879 extern int pthread_condattr_getpshared (__const pthread_condattr_t *
9880                                         __restrict __attr,
9881                                         int *__restrict __pshared) throw ();
9882
9883
9884 extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
9885                                         int __pshared) throw ();
9886
9887
9888
9889 extern int pthread_condattr_getclock (__const pthread_condattr_t *
9890           __restrict __attr,
9891           __clockid_t *__restrict __clock_id)
9892      throw ();
9893
9894
9895 extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
9896           __clockid_t __clock_id) throw ();
9897 # 951 "/usr/include/pthread.h" 3 4
9898 extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
9899      throw ();
9900
9901
9902 extern int pthread_spin_destroy (pthread_spinlock_t *__lock) throw ();
9903
9904
9905 extern int pthread_spin_lock (pthread_spinlock_t *__lock) throw ();
9906
9907
9908 extern int pthread_spin_trylock (pthread_spinlock_t *__lock) throw ();
9909
9910
9911 extern int pthread_spin_unlock (pthread_spinlock_t *__lock) throw ();
9912
9913
9914
9915
9916
9917
9918 extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
9919      __const pthread_barrierattr_t *__restrict
9920      __attr, unsigned int __count) throw ();
9921
9922
9923 extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) throw ();
9924
9925
9926 extern int pthread_barrier_wait (pthread_barrier_t *__barrier) throw ();
9927
9928
9929
9930 extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) throw ();
9931
9932
9933 extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) throw ();
9934
9935
9936 extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
9937         __restrict __attr,
9938         int *__restrict __pshared) throw ();
9939
9940
9941 extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
9942                                            int __pshared) throw ();
9943 # 1007 "/usr/include/pthread.h" 3 4
9944 extern int pthread_key_create (pthread_key_t *__key,
9945           void (*__destr_function) (void *)) throw ();
9946
9947
9948 extern int pthread_key_delete (pthread_key_t __key) throw ();
9949
9950
9951 extern void *pthread_getspecific (pthread_key_t __key) throw ();
9952
9953
9954 extern int pthread_setspecific (pthread_key_t __key,
9955     __const void *__pointer) throw ();
9956
9957
9958
9959
9960 extern int pthread_getcpuclockid (pthread_t __thread_id,
9961       __clockid_t *__clock_id) throw ();
9962 # 1039 "/usr/include/pthread.h" 3 4
9963 extern int pthread_atfork (void (*__prepare) (void),
9964       void (*__parent) (void),
9965       void (*__child) (void)) throw ();
9966
9967 }
9968 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h" 2 3
9969
9970
9971 typedef pthread_key_t __gthread_key_t;
9972 typedef pthread_once_t __gthread_once_t;
9973 typedef pthread_mutex_t __gthread_mutex_t;
9974 typedef pthread_mutex_t __gthread_recursive_mutex_t;
9975
9976 #define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
9977 #define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
9978
9979
9980
9981 #define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
9982
9983
9984
9985
9986
9987 #define __gthrw2(name,name2,type) extern __typeof(type) name __attribute__ ((__weakref__(#name2)));
9988
9989 #define __gthrw_(name) __gthrw_ ## name
9990
9991
9992
9993
9994
9995
9996 #define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name)
9997 # 88 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h" 3
9998 extern __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once")));
9999 extern __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific")));
10000 extern __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific")));
10001 extern __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create")));
10002 extern __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel")));
10003 extern __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock")));
10004 extern __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock")));
10005 extern __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock")));
10006 extern __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init")));
10007
10008
10009 extern __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create")));
10010 extern __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete")));
10011 extern __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init")));
10012 extern __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype")));
10013 extern __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy")));
10014 # 145 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h" 3
10015 static inline int
10016 __gthread_active_p (void)
10017 {
10018   static void *const __gthread_active_ptr
10019     = __extension__ (void *) &__gthrw_pthread_cancel;
10020   return __gthread_active_ptr != 0;
10021 }
10022 # 512 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h" 3
10023 static inline int
10024 __gthread_once (__gthread_once_t *once, void (*func) (void))
10025 {
10026   if (__gthread_active_p ())
10027     return __gthrw_pthread_once (once, func);
10028   else
10029     return -1;
10030 }
10031
10032 static inline int
10033 __gthread_key_create (__gthread_key_t *key, void (*dtor) (void *))
10034 {
10035   return __gthrw_pthread_key_create (key, dtor);
10036 }
10037
10038 static inline int
10039 __gthread_key_delete (__gthread_key_t key)
10040 {
10041   return __gthrw_pthread_key_delete (key);
10042 }
10043
10044 static inline void *
10045 __gthread_getspecific (__gthread_key_t key)
10046 {
10047   return __gthrw_pthread_getspecific (key);
10048 }
10049
10050 static inline int
10051 __gthread_setspecific (__gthread_key_t key, const void *ptr)
10052 {
10053   return __gthrw_pthread_setspecific (key, ptr);
10054 }
10055
10056 static inline int
10057 __gthread_mutex_lock (__gthread_mutex_t *mutex)
10058 {
10059   if (__gthread_active_p ())
10060     return __gthrw_pthread_mutex_lock (mutex);
10061   else
10062     return 0;
10063 }
10064
10065 static inline int
10066 __gthread_mutex_trylock (__gthread_mutex_t *mutex)
10067 {
10068   if (__gthread_active_p ())
10069     return __gthrw_pthread_mutex_trylock (mutex);
10070   else
10071     return 0;
10072 }
10073
10074 static inline int
10075 __gthread_mutex_unlock (__gthread_mutex_t *mutex)
10076 {
10077   if (__gthread_active_p ())
10078     return __gthrw_pthread_mutex_unlock (mutex);
10079   else
10080     return 0;
10081 }
10082 # 594 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h" 3
10083 static inline int
10084 __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex)
10085 {
10086   return __gthread_mutex_lock (mutex);
10087 }
10088
10089 static inline int
10090 __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex)
10091 {
10092   return __gthread_mutex_trylock (mutex);
10093 }
10094
10095 static inline int
10096 __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex)
10097 {
10098   return __gthread_mutex_unlock (mutex);
10099 }
10100 # 115 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/gthr.h" 2 3
10101
10102
10103
10104
10105
10106
10107
10108 #pragma GCC visibility pop
10109 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++io.h" 2 3
10110
10111 namespace std
10112 {
10113   typedef __gthread_mutex_t __c_lock;
10114
10115
10116   typedef FILE __c_file;
10117 }
10118 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 2 3
10119 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cctype" 1 3
10120 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cctype" 3
10121 #define _GLIBCXX_CCTYPE 1
10122
10123        
10124 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cctype" 3
10125 #pragma GCC visibility push(default)
10126
10127
10128 # 1 "/usr/include/ctype.h" 1 3 4
10129 # 25 "/usr/include/ctype.h" 3 4
10130 #define _CTYPE_H 1
10131
10132
10133
10134
10135 extern "C" {
10136 # 45 "/usr/include/ctype.h" 3 4
10137 #define _ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8))
10138
10139
10140 enum
10141 {
10142   _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
10143   _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
10144   _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
10145   _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
10146   _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
10147   _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
10148   _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
10149   _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
10150   _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
10151   _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
10152   _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
10153   _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
10154 };
10155 # 81 "/usr/include/ctype.h" 3 4
10156 extern __const unsigned short int **__ctype_b_loc (void)
10157      __attribute__ ((__const));
10158 extern __const __int32_t **__ctype_tolower_loc (void)
10159      __attribute__ ((__const));
10160 extern __const __int32_t **__ctype_toupper_loc (void)
10161      __attribute__ ((__const));
10162
10163 #define __isctype(c,type) ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type)
10164
10165
10166 #define __isascii(c) (((c) & ~0x7f) == 0)
10167 #define __toascii(c) ((c) & 0x7f)
10168
10169 #define __exctype(name) extern int name (int) __THROW
10170
10171
10172
10173
10174
10175
10176
10177 extern int isalnum (int) throw ();
10178 extern int isalpha (int) throw ();
10179 extern int iscntrl (int) throw ();
10180 extern int isdigit (int) throw ();
10181 extern int islower (int) throw ();
10182 extern int isgraph (int) throw ();
10183 extern int isprint (int) throw ();
10184 extern int ispunct (int) throw ();
10185 extern int isspace (int) throw ();
10186 extern int isupper (int) throw ();
10187 extern int isxdigit (int) throw ();
10188
10189
10190
10191 extern int tolower (int __c) throw ();
10192
10193
10194 extern int toupper (int __c) throw ();
10195
10196
10197
10198
10199
10200
10201
10202
10203 extern int isblank (int) throw ();
10204
10205
10206
10207
10208
10209
10210 extern int isctype (int __c, int __mask) throw ();
10211
10212
10213
10214
10215
10216
10217 extern int isascii (int __c) throw ();
10218
10219
10220
10221 extern int toascii (int __c) throw ();
10222
10223
10224
10225 extern int _toupper (int) throw ();
10226 extern int _tolower (int) throw ();
10227
10228
10229
10230 #define __tobody(c,f,a,args) (__extension__ ({ int __res; if (sizeof (c) > 1) { if (__builtin_constant_p (c)) { int __c = (c); __res = __c < -128 || __c > 255 ? __c : (a)[__c]; } else __res = f args; } else __res = (a)[(int) (c)]; __res; }))
10231 # 237 "/usr/include/ctype.h" 3 4
10232 #define __isctype_l(c,type,locale) ((locale)->__ctype_b[(int) (c)] & (unsigned short int) type)
10233
10234
10235 #define __exctype_l(name) extern int name (int, __locale_t) __THROW
10236
10237
10238
10239
10240
10241
10242 extern int isalnum_l (int, __locale_t) throw ();
10243 extern int isalpha_l (int, __locale_t) throw ();
10244 extern int iscntrl_l (int, __locale_t) throw ();
10245 extern int isdigit_l (int, __locale_t) throw ();
10246 extern int islower_l (int, __locale_t) throw ();
10247 extern int isgraph_l (int, __locale_t) throw ();
10248 extern int isprint_l (int, __locale_t) throw ();
10249 extern int ispunct_l (int, __locale_t) throw ();
10250 extern int isspace_l (int, __locale_t) throw ();
10251 extern int isupper_l (int, __locale_t) throw ();
10252 extern int isxdigit_l (int, __locale_t) throw ();
10253
10254 extern int isblank_l (int, __locale_t) throw ();
10255
10256
10257
10258 extern int __tolower_l (int __c, __locale_t __l) throw ();
10259 extern int tolower_l (int __c, __locale_t __l) throw ();
10260
10261
10262 extern int __toupper_l (int __c, __locale_t __l) throw ();
10263 extern int toupper_l (int __c, __locale_t __l) throw ();
10264 # 323 "/usr/include/ctype.h" 3 4
10265 }
10266 # 53 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cctype" 2 3
10267
10268
10269 #undef isalnum
10270 #undef isalpha
10271 #undef iscntrl
10272 #undef isdigit
10273 #undef isgraph
10274 #undef islower
10275 #undef isprint
10276 #undef ispunct
10277 #undef isspace
10278 #undef isupper
10279 #undef isxdigit
10280 #undef tolower
10281 #undef toupper
10282
10283 namespace std
10284 {
10285   using ::isalnum;
10286   using ::isalpha;
10287   using ::iscntrl;
10288   using ::isdigit;
10289   using ::isgraph;
10290   using ::islower;
10291   using ::isprint;
10292   using ::ispunct;
10293   using ::isspace;
10294   using ::isupper;
10295   using ::isxdigit;
10296   using ::tolower;
10297   using ::toupper;
10298 }
10299
10300 #pragma GCC visibility pop
10301 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 2 3
10302
10303 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 1 3
10304 # 42 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 3
10305 #define _GLIBCXX_POSTYPES_H 1
10306
10307        
10308 # 45 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 3
10309
10310 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 1 3
10311 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 3
10312 #define _GLIBCXX_CWCHAR 1
10313
10314        
10315 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 3
10316 #pragma GCC visibility push(default)
10317
10318
10319
10320 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ctime" 1 3
10321 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ctime" 3
10322 #define _GLIBCXX_CTIME 1
10323
10324        
10325 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ctime" 3
10326 #pragma GCC visibility push(default)
10327
10328
10329
10330
10331
10332
10333 #undef clock
10334 #undef difftime
10335 #undef mktime
10336 #undef time
10337 #undef asctime
10338 #undef ctime
10339 #undef gmtime
10340 #undef localtime
10341 #undef strftime
10342
10343 namespace std
10344 {
10345   using ::clock_t;
10346   using ::time_t;
10347   using ::tm;
10348
10349   using ::clock;
10350   using ::difftime;
10351   using ::mktime;
10352   using ::time;
10353   using ::asctime;
10354   using ::ctime;
10355   using ::gmtime;
10356   using ::localtime;
10357   using ::strftime;
10358 }
10359
10360 #pragma GCC visibility pop
10361 # 54 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 2 3
10362
10363
10364 # 1 "/usr/include/wchar.h" 1 3 4
10365 # 27 "/usr/include/wchar.h" 3 4
10366 #define _WCHAR_H 1
10367
10368
10369
10370
10371
10372 #define __need___FILE 
10373
10374 #define __need_FILE 
10375
10376
10377
10378 #define __need___va_list 
10379 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stdarg.h" 1 3 4
10380 # 37 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stdarg.h" 3 4
10381 #undef __need___va_list
10382 # 41 "/usr/include/wchar.h" 2 3 4
10383
10384
10385 #define __need_size_t 
10386 #define __need_wchar_t 
10387 #define __need_NULL 
10388
10389 #define __need_wint_t 
10390 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
10391 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
10392 #undef __need_ptrdiff_t
10393 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
10394 #undef __need_size_t
10395 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
10396 #undef __need_wchar_t
10397 # 357 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
10398 #undef __need_wint_t
10399 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
10400 #undef NULL
10401
10402 #define NULL __null
10403 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
10404 #undef __need_NULL
10405
10406
10407
10408
10409 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
10410 # 49 "/usr/include/wchar.h" 2 3 4
10411 # 86 "/usr/include/wchar.h" 3 4
10412 #undef __need_mbstate_t
10413
10414
10415
10416
10417
10418
10419
10420
10421 typedef __mbstate_t mbstate_t;
10422
10423
10424
10425
10426
10427
10428
10429 #define WCHAR_MIN __WCHAR_MIN
10430 #define WCHAR_MAX __WCHAR_MAX
10431
10432
10433
10434 #define WEOF (0xffffffffu)
10435 # 118 "/usr/include/wchar.h" 3 4
10436 extern "C" {
10437
10438
10439
10440
10441 struct tm;
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451 extern wchar_t *wcscpy (wchar_t *__restrict __dest,
10452    __const wchar_t *__restrict __src) throw ();
10453
10454 extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
10455     __const wchar_t *__restrict __src, size_t __n)
10456      throw ();
10457
10458
10459 extern wchar_t *wcscat (wchar_t *__restrict __dest,
10460    __const wchar_t *__restrict __src) throw ();
10461
10462 extern wchar_t *wcsncat (wchar_t *__restrict __dest,
10463     __const wchar_t *__restrict __src, size_t __n)
10464      throw ();
10465
10466
10467 extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2)
10468      throw () __attribute__ ((__pure__));
10469
10470 extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)
10471      throw () __attribute__ ((__pure__));
10472
10473
10474
10475
10476 extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) throw ();
10477
10478
10479 extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
10480    size_t __n) throw ();
10481
10482
10483
10484
10485
10486 extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
10487     __locale_t __loc) throw ();
10488
10489 extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
10490      size_t __n, __locale_t __loc) throw ();
10491
10492
10493
10494
10495
10496 extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) throw ();
10497
10498
10499
10500 extern size_t wcsxfrm (wchar_t *__restrict __s1,
10501          __const wchar_t *__restrict __s2, size_t __n) throw ();
10502
10503
10504
10505
10506
10507
10508
10509
10510 extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
10511         __locale_t __loc) throw ();
10512
10513
10514
10515
10516 extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
10517     size_t __n, __locale_t __loc) throw ();
10518
10519
10520 extern wchar_t *wcsdup (__const wchar_t *__s) throw () __attribute__ ((__malloc__));
10521
10522
10523
10524
10525 extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc)
10526      throw () __attribute__ ((__pure__));
10527
10528 extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc)
10529      throw () __attribute__ ((__pure__));
10530
10531
10532
10533
10534
10535 extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc)
10536      throw () __attribute__ ((__pure__));
10537
10538
10539
10540
10541
10542 extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject)
10543      throw () __attribute__ ((__pure__));
10544
10545
10546 extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept)
10547      throw () __attribute__ ((__pure__));
10548
10549 extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept)
10550      throw () __attribute__ ((__pure__));
10551
10552 extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle)
10553      throw () __attribute__ ((__pure__));
10554
10555
10556 extern wchar_t *wcstok (wchar_t *__restrict __s,
10557    __const wchar_t *__restrict __delim,
10558    wchar_t **__restrict __ptr) throw ();
10559
10560
10561 extern size_t wcslen (__const wchar_t *__s) throw () __attribute__ ((__pure__));
10562
10563
10564
10565
10566 extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle)
10567      throw () __attribute__ ((__pure__));
10568
10569
10570
10571
10572 extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen)
10573      throw () __attribute__ ((__pure__));
10574
10575
10576
10577
10578
10579 extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n)
10580      throw () __attribute__ ((__pure__));
10581
10582
10583 extern int wmemcmp (__const wchar_t *__restrict __s1,
10584       __const wchar_t *__restrict __s2, size_t __n)
10585      throw () __attribute__ ((__pure__));
10586
10587
10588 extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
10589     __const wchar_t *__restrict __s2, size_t __n) throw ();
10590
10591
10592
10593 extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n)
10594      throw ();
10595
10596
10597 extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw ();
10598
10599
10600
10601
10602
10603 extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
10604      __const wchar_t *__restrict __s2, size_t __n)
10605      throw ();
10606
10607
10608
10609
10610
10611
10612 extern wint_t btowc (int __c) throw ();
10613
10614
10615
10616 extern int wctob (wint_t __c) throw ();
10617
10618
10619
10620 extern int mbsinit (__const mbstate_t *__ps) throw () __attribute__ ((__pure__));
10621
10622
10623
10624 extern size_t mbrtowc (wchar_t *__restrict __pwc,
10625          __const char *__restrict __s, size_t __n,
10626          mbstate_t *__p) throw ();
10627
10628
10629 extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
10630          mbstate_t *__restrict __ps) throw ();
10631
10632
10633 extern size_t __mbrlen (__const char *__restrict __s, size_t __n,
10634    mbstate_t *__restrict __ps) throw ();
10635 extern size_t mbrlen (__const char *__restrict __s, size_t __n,
10636         mbstate_t *__restrict __ps) throw ();
10637
10638 # 346 "/usr/include/wchar.h" 3 4
10639
10640
10641
10642 extern size_t mbsrtowcs (wchar_t *__restrict __dst,
10643     __const char **__restrict __src, size_t __len,
10644     mbstate_t *__restrict __ps) throw ();
10645
10646
10647
10648 extern size_t wcsrtombs (char *__restrict __dst,
10649     __const wchar_t **__restrict __src, size_t __len,
10650     mbstate_t *__restrict __ps) throw ();
10651
10652
10653
10654
10655
10656
10657 extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
10658      __const char **__restrict __src, size_t __nmc,
10659      size_t __len, mbstate_t *__restrict __ps) throw ();
10660
10661
10662
10663 extern size_t wcsnrtombs (char *__restrict __dst,
10664      __const wchar_t **__restrict __src,
10665      size_t __nwc, size_t __len,
10666      mbstate_t *__restrict __ps) throw ();
10667
10668
10669
10670
10671
10672
10673 extern int wcwidth (wchar_t __c) throw ();
10674
10675
10676
10677 extern int wcswidth (__const wchar_t *__s, size_t __n) throw ();
10678
10679
10680
10681
10682
10683
10684 extern double wcstod (__const wchar_t *__restrict __nptr,
10685         wchar_t **__restrict __endptr) throw ();
10686
10687
10688
10689 extern float wcstof (__const wchar_t *__restrict __nptr,
10690        wchar_t **__restrict __endptr) throw ();
10691 extern long double wcstold (__const wchar_t *__restrict __nptr,
10692        wchar_t **__restrict __endptr) throw ();
10693
10694
10695
10696
10697
10698 extern long int wcstol (__const wchar_t *__restrict __nptr,
10699    wchar_t **__restrict __endptr, int __base) throw ();
10700
10701
10702
10703 extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
10704       wchar_t **__restrict __endptr, int __base)
10705      throw ();
10706
10707
10708
10709
10710 __extension__
10711 extern long long int wcstoll (__const wchar_t *__restrict __nptr,
10712          wchar_t **__restrict __endptr, int __base)
10713      throw ();
10714
10715
10716
10717 __extension__
10718 extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr,
10719      wchar_t **__restrict __endptr,
10720      int __base) throw ();
10721
10722
10723
10724
10725
10726
10727 __extension__
10728 extern long long int wcstoq (__const wchar_t *__restrict __nptr,
10729         wchar_t **__restrict __endptr, int __base)
10730      throw ();
10731
10732
10733
10734 __extension__
10735 extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr,
10736            wchar_t **__restrict __endptr,
10737            int __base) throw ();
10738 # 465 "/usr/include/wchar.h" 3 4
10739 extern long int wcstol_l (__const wchar_t *__restrict __nptr,
10740      wchar_t **__restrict __endptr, int __base,
10741      __locale_t __loc) throw ();
10742
10743 extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr,
10744         wchar_t **__restrict __endptr,
10745         int __base, __locale_t __loc) throw ();
10746
10747 __extension__
10748 extern long long int wcstoll_l (__const wchar_t *__restrict __nptr,
10749     wchar_t **__restrict __endptr,
10750     int __base, __locale_t __loc) throw ();
10751
10752 __extension__
10753 extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr,
10754        wchar_t **__restrict __endptr,
10755        int __base, __locale_t __loc)
10756      throw ();
10757
10758 extern double wcstod_l (__const wchar_t *__restrict __nptr,
10759    wchar_t **__restrict __endptr, __locale_t __loc)
10760      throw ();
10761
10762 extern float wcstof_l (__const wchar_t *__restrict __nptr,
10763          wchar_t **__restrict __endptr, __locale_t __loc)
10764      throw ();
10765
10766 extern long double wcstold_l (__const wchar_t *__restrict __nptr,
10767          wchar_t **__restrict __endptr,
10768          __locale_t __loc) throw ();
10769
10770
10771
10772
10773
10774 extern double __wcstod_internal (__const wchar_t *__restrict __nptr,
10775      wchar_t **__restrict __endptr, int __group)
10776      throw ();
10777 extern float __wcstof_internal (__const wchar_t *__restrict __nptr,
10778     wchar_t **__restrict __endptr, int __group)
10779      throw ();
10780 extern long double __wcstold_internal (__const wchar_t *__restrict __nptr,
10781            wchar_t **__restrict __endptr,
10782            int __group) throw ();
10783
10784
10785 extern long int __wcstol_internal (__const wchar_t *__restrict __nptr,
10786        wchar_t **__restrict __endptr,
10787        int __base, int __group) throw ();
10788 #define __wcstol_internal_defined 1
10789
10790
10791 extern unsigned long int __wcstoul_internal (__const wchar_t *__restrict __npt,
10792           wchar_t **__restrict __endptr,
10793           int __base, int __group) throw ();
10794 #define __wcstoul_internal_defined 1
10795
10796
10797 __extension__
10798 extern long long int __wcstoll_internal (__const wchar_t *__restrict __nptr,
10799       wchar_t **__restrict __endptr,
10800       int __base, int __group) throw ();
10801 #define __wcstoll_internal_defined 1
10802
10803
10804 __extension__
10805 extern unsigned long long int __wcstoull_internal (__const wchar_t *
10806          __restrict __nptr,
10807          wchar_t **
10808          __restrict __endptr,
10809          int __base,
10810          int __group) throw ();
10811 #define __wcstoull_internal_defined 1
10812 # 587 "/usr/include/wchar.h" 3 4
10813 extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) throw ();
10814
10815
10816
10817 extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
10818      throw ();
10819
10820
10821
10822
10823
10824
10825
10826
10827 extern int fwide (__FILE *__fp, int __mode) throw ();
10828
10829
10830
10831
10832
10833
10834 extern int fwprintf (__FILE *__restrict __stream,
10835        __const wchar_t *__restrict __format, ...)
10836                                                            ;
10837
10838
10839
10840
10841 extern int wprintf (__const wchar_t *__restrict __format, ...)
10842                                                            ;
10843
10844 extern int swprintf (wchar_t *__restrict __s, size_t __n,
10845        __const wchar_t *__restrict __format, ...)
10846      throw () ;
10847
10848
10849
10850
10851
10852 extern int vfwprintf (__FILE *__restrict __s,
10853         __const wchar_t *__restrict __format,
10854         __gnuc_va_list __arg)
10855                                                            ;
10856
10857
10858
10859
10860 extern int vwprintf (__const wchar_t *__restrict __format,
10861        __gnuc_va_list __arg)
10862                                                            ;
10863
10864
10865 extern int vswprintf (wchar_t *__restrict __s, size_t __n,
10866         __const wchar_t *__restrict __format,
10867         __gnuc_va_list __arg)
10868      throw () ;
10869
10870
10871
10872
10873
10874
10875 extern int fwscanf (__FILE *__restrict __stream,
10876       __const wchar_t *__restrict __format, ...)
10877                                                           ;
10878
10879
10880
10881
10882 extern int wscanf (__const wchar_t *__restrict __format, ...)
10883                                                           ;
10884
10885 extern int swscanf (__const wchar_t *__restrict __s,
10886       __const wchar_t *__restrict __format, ...)
10887      throw () ;
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899 extern int vfwscanf (__FILE *__restrict __s,
10900        __const wchar_t *__restrict __format,
10901        __gnuc_va_list __arg)
10902                                                           ;
10903
10904
10905
10906
10907 extern int vwscanf (__const wchar_t *__restrict __format,
10908       __gnuc_va_list __arg)
10909                                                           ;
10910
10911 extern int vswscanf (__const wchar_t *__restrict __s,
10912        __const wchar_t *__restrict __format,
10913        __gnuc_va_list __arg)
10914      throw () ;
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925 extern wint_t fgetwc (__FILE *__stream);
10926 extern wint_t getwc (__FILE *__stream);
10927
10928
10929
10930
10931
10932 extern wint_t getwchar (void);
10933
10934
10935
10936
10937
10938
10939 extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
10940 extern wint_t putwc (wchar_t __wc, __FILE *__stream);
10941
10942
10943
10944
10945
10946 extern wint_t putwchar (wchar_t __wc);
10947
10948
10949
10950
10951
10952
10953
10954 extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
10955    __FILE *__restrict __stream);
10956
10957
10958
10959
10960
10961 extern int fputws (__const wchar_t *__restrict __ws,
10962      __FILE *__restrict __stream);
10963
10964
10965
10966
10967
10968
10969 extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
10970
10971 # 755 "/usr/include/wchar.h" 3 4
10972 extern wint_t getwc_unlocked (__FILE *__stream);
10973 extern wint_t getwchar_unlocked (void);
10974
10975
10976
10977
10978
10979
10980
10981 extern wint_t fgetwc_unlocked (__FILE *__stream);
10982
10983
10984
10985
10986
10987
10988
10989 extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
10990 # 781 "/usr/include/wchar.h" 3 4
10991 extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
10992 extern wint_t putwchar_unlocked (wchar_t __wc);
10993 # 791 "/usr/include/wchar.h" 3 4
10994 extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
10995      __FILE *__restrict __stream);
10996
10997
10998
10999
11000
11001
11002
11003 extern int fputws_unlocked (__const wchar_t *__restrict __ws,
11004        __FILE *__restrict __stream);
11005
11006
11007
11008
11009
11010
11011
11012 extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
11013    __const wchar_t *__restrict __format,
11014    __const struct tm *__restrict __tp) throw ();
11015
11016
11017
11018
11019
11020
11021
11022 extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
11023      __const wchar_t *__restrict __format,
11024      __const struct tm *__restrict __tp,
11025      __locale_t __loc) throw ();
11026 # 845 "/usr/include/wchar.h" 3 4
11027 }
11028 # 57 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 2 3
11029 # 71 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 3
11030 namespace std
11031 {
11032   using ::mbstate_t;
11033 }
11034
11035
11036 #undef btowc
11037 #undef fgetwc
11038 #undef fgetws
11039 #undef fputwc
11040 #undef fputws
11041 #undef fwide
11042 #undef fwprintf
11043 #undef fwscanf
11044 #undef getwc
11045 #undef getwchar
11046 #undef mbrlen
11047 #undef mbrtowc
11048 #undef mbsinit
11049 #undef mbsrtowcs
11050 #undef putwc
11051 #undef putwchar
11052 #undef swprintf
11053 #undef swscanf
11054 #undef ungetwc
11055 #undef vfwprintf
11056
11057 #undef vfwscanf
11058
11059 #undef vswprintf
11060
11061 #undef vswscanf
11062
11063 #undef vwprintf
11064
11065 #undef vwscanf
11066
11067 #undef wcrtomb
11068 #undef wcscat
11069 #undef wcschr
11070 #undef wcscmp
11071 #undef wcscoll
11072 #undef wcscpy
11073 #undef wcscspn
11074 #undef wcsftime
11075 #undef wcslen
11076 #undef wcsncat
11077 #undef wcsncmp
11078 #undef wcsncpy
11079 #undef wcspbrk
11080 #undef wcsrchr
11081 #undef wcsrtombs
11082 #undef wcsspn
11083 #undef wcsstr
11084 #undef wcstod
11085
11086 #undef wcstof
11087
11088 #undef wcstok
11089 #undef wcstol
11090 #undef wcstoul
11091 #undef wcsxfrm
11092 #undef wctob
11093 #undef wmemchr
11094 #undef wmemcmp
11095 #undef wmemcpy
11096 #undef wmemmove
11097 #undef wmemset
11098 #undef wprintf
11099 #undef wscanf
11100
11101
11102 namespace std
11103 {
11104   using ::wint_t;
11105
11106   using ::btowc;
11107   using ::fgetwc;
11108   using ::fgetws;
11109   using ::fputwc;
11110   using ::fputws;
11111   using ::fwide;
11112   using ::fwprintf;
11113   using ::fwscanf;
11114   using ::getwc;
11115   using ::getwchar;
11116   using ::mbrlen;
11117   using ::mbrtowc;
11118   using ::mbsinit;
11119   using ::mbsrtowcs;
11120   using ::putwc;
11121   using ::putwchar;
11122   using ::swprintf;
11123   using ::swscanf;
11124   using ::ungetwc;
11125   using ::vfwprintf;
11126
11127   using ::vfwscanf;
11128
11129   using ::vswprintf;
11130
11131   using ::vswscanf;
11132
11133   using ::vwprintf;
11134
11135   using ::vwscanf;
11136
11137   using ::wcrtomb;
11138   using ::wcscat;
11139   using ::wcscmp;
11140   using ::wcscoll;
11141   using ::wcscpy;
11142   using ::wcscspn;
11143
11144
11145
11146   using ::wcslen;
11147   using ::wcsncat;
11148   using ::wcsncmp;
11149   using ::wcsncpy;
11150   using ::wcsrtombs;
11151   using ::wcsspn;
11152   using ::wcstod;
11153
11154   using ::wcstof;
11155
11156   using ::wcstok;
11157   using ::wcstol;
11158   using ::wcstoul;
11159   using ::wcsxfrm;
11160   using ::wctob;
11161   using ::wmemcmp;
11162   using ::wmemcpy;
11163   using ::wmemmove;
11164   using ::wmemset;
11165   using ::wprintf;
11166   using ::wscanf;
11167
11168   using ::wcschr;
11169
11170   inline wchar_t*
11171   wcschr(wchar_t* __p, wchar_t __c)
11172   { return wcschr(const_cast<const wchar_t*>(__p), __c); }
11173
11174   using ::wcspbrk;
11175
11176   inline wchar_t*
11177   wcspbrk(wchar_t* __s1, const wchar_t* __s2)
11178   { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
11179
11180   using ::wcsrchr;
11181
11182   inline wchar_t*
11183   wcsrchr(wchar_t* __p, wchar_t __c)
11184   { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
11185
11186   using ::wcsstr;
11187
11188   inline wchar_t*
11189   wcsstr(wchar_t* __s1, const wchar_t* __s2)
11190   { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
11191
11192   using ::wmemchr;
11193
11194   inline wchar_t*
11195   wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
11196   { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
11197 }
11198
11199
11200
11201 #undef wcstold
11202 #undef wcstoll
11203 #undef wcstoull
11204
11205 namespace __gnu_cxx
11206 {
11207
11208
11209
11210
11211
11212   using ::wcstold;
11213 # 262 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 3
11214   using ::wcstoll;
11215   using ::wcstoull;
11216
11217 }
11218
11219 namespace std
11220 {
11221   using __gnu_cxx::wcstold;
11222   using __gnu_cxx::wcstoll;
11223   using __gnu_cxx::wcstoull;
11224 }
11225
11226
11227
11228
11229 #pragma GCC visibility pop
11230 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 2 3
11231
11232
11233 # 1 "/usr/include/stdint.h" 1 3 4
11234 # 24 "/usr/include/stdint.h" 3 4
11235 #define _STDINT_H 1
11236
11237
11238
11239 # 1 "/usr/include/bits/wordsize.h" 1 3 4
11240 # 19 "/usr/include/bits/wordsize.h" 3 4
11241 #define __WORDSIZE 32
11242 # 29 "/usr/include/stdint.h" 2 3 4
11243 # 49 "/usr/include/stdint.h" 3 4
11244 typedef unsigned char uint8_t;
11245 typedef unsigned short int uint16_t;
11246
11247 typedef unsigned int uint32_t;
11248 #define __uint32_t_defined 
11249
11250
11251
11252
11253 __extension__
11254 typedef unsigned long long int uint64_t;
11255
11256
11257
11258
11259
11260
11261 typedef signed char int_least8_t;
11262 typedef short int int_least16_t;
11263 typedef int int_least32_t;
11264
11265
11266
11267 __extension__
11268 typedef long long int int_least64_t;
11269
11270
11271
11272 typedef unsigned char uint_least8_t;
11273 typedef unsigned short int uint_least16_t;
11274 typedef unsigned int uint_least32_t;
11275
11276
11277
11278 __extension__
11279 typedef unsigned long long int uint_least64_t;
11280
11281
11282
11283
11284
11285
11286 typedef signed char int_fast8_t;
11287
11288
11289
11290
11291
11292 typedef int int_fast16_t;
11293 typedef int int_fast32_t;
11294 __extension__
11295 typedef long long int int_fast64_t;
11296
11297
11298
11299 typedef unsigned char uint_fast8_t;
11300
11301
11302
11303
11304
11305 typedef unsigned int uint_fast16_t;
11306 typedef unsigned int uint_fast32_t;
11307 __extension__
11308 typedef unsigned long long int uint_fast64_t;
11309 # 129 "/usr/include/stdint.h" 3 4
11310 typedef unsigned int uintptr_t;
11311 # 138 "/usr/include/stdint.h" 3 4
11312 __extension__
11313 typedef long long int intmax_t;
11314 __extension__
11315 typedef unsigned long long int uintmax_t;
11316 # 50 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 2 3
11317
11318
11319 namespace std
11320 {
11321 # 72 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 3
11322   typedef int64_t streamoff;
11323
11324
11325
11326
11327
11328   typedef ptrdiff_t streamsize;
11329
11330   template<typename _StateT>
11331     class fpos;
11332 # 94 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 3
11333   template<typename _StateT>
11334     class fpos
11335     {
11336     private:
11337       streamoff _M_off;
11338       _StateT _M_state;
11339
11340     public:
11341
11342
11343
11344
11345       fpos()
11346       : _M_off(0), _M_state() { }
11347 # 116 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 3
11348       fpos(streamoff __off)
11349       : _M_off(__off), _M_state() { }
11350
11351
11352       operator streamoff() const { return _M_off; }
11353
11354
11355       void
11356       state(_StateT __st)
11357       { _M_state = __st; }
11358
11359
11360       _StateT
11361       state() const
11362       { return _M_state; }
11363
11364
11365
11366
11367
11368
11369       bool
11370       operator==(const fpos& __other) const
11371       { return _M_off == __other._M_off; }
11372
11373
11374       bool
11375       operator!=(const fpos& __other) const
11376       { return _M_off != __other._M_off; }
11377
11378
11379
11380
11381
11382       fpos&
11383       operator+=(streamoff __off)
11384       {
11385  _M_off += __off;
11386  return *this;
11387       }
11388
11389
11390
11391
11392
11393       fpos&
11394       operator-=(streamoff __off)
11395       {
11396  _M_off -= __off;
11397  return *this;
11398       }
11399
11400
11401
11402
11403
11404
11405
11406       fpos
11407       operator+(streamoff __off) const
11408       {
11409  fpos __pos(*this);
11410  __pos += __off;
11411  return __pos;
11412       }
11413
11414
11415
11416
11417
11418
11419
11420       fpos
11421       operator-(streamoff __off) const
11422       {
11423  fpos __pos(*this);
11424  __pos -= __off;
11425  return __pos;
11426       }
11427
11428
11429
11430
11431
11432
11433       streamoff
11434       operator-(const fpos& __other) const
11435       { return _M_off - __other._M_off; }
11436     };
11437
11438
11439
11440
11441
11442   typedef fpos<mbstate_t> streampos;
11443
11444   typedef fpos<mbstate_t> wstreampos;
11445 }
11446 # 51 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 2 3
11447 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/functexcept.h" 1 3
11448 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/functexcept.h" 3
11449 #define _FUNCTEXCEPT_H 1
11450
11451 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/exception_defines.h" 1 3
11452 # 35 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/exception_defines.h" 3
11453 #define _EXCEPTION_DEFINES_H 1
11454 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/exception_defines.h" 3
11455 #define __throw_exception_again throw
11456 # 42 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/functexcept.h" 2 3
11457
11458 namespace std
11459 {
11460
11461   void
11462   __throw_bad_exception(void) __attribute__((__noreturn__));
11463
11464
11465   void
11466   __throw_bad_alloc(void) __attribute__((__noreturn__));
11467
11468
11469   void
11470   __throw_bad_cast(void) __attribute__((__noreturn__));
11471
11472   void
11473   __throw_bad_typeid(void) __attribute__((__noreturn__));
11474
11475
11476   void
11477   __throw_logic_error(const char*) __attribute__((__noreturn__));
11478
11479   void
11480   __throw_domain_error(const char*) __attribute__((__noreturn__));
11481
11482   void
11483   __throw_invalid_argument(const char*) __attribute__((__noreturn__));
11484
11485   void
11486   __throw_length_error(const char*) __attribute__((__noreturn__));
11487
11488   void
11489   __throw_out_of_range(const char*) __attribute__((__noreturn__));
11490
11491   void
11492   __throw_runtime_error(const char*) __attribute__((__noreturn__));
11493
11494   void
11495   __throw_range_error(const char*) __attribute__((__noreturn__));
11496
11497   void
11498   __throw_overflow_error(const char*) __attribute__((__noreturn__));
11499
11500   void
11501   __throw_underflow_error(const char*) __attribute__((__noreturn__));
11502
11503
11504   void
11505   __throw_ios_failure(const char*) __attribute__((__noreturn__));
11506 }
11507 # 52 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 2 3
11508
11509 namespace std
11510 {
11511   template<typename _CharT, typename _Traits = char_traits<_CharT> >
11512     class basic_ios;
11513
11514   template<typename _CharT, typename _Traits = char_traits<_CharT> >
11515     class basic_streambuf;
11516
11517   template<typename _CharT, typename _Traits = char_traits<_CharT> >
11518     class basic_istream;
11519
11520   template<typename _CharT, typename _Traits = char_traits<_CharT> >
11521     class basic_ostream;
11522
11523   template<typename _CharT, typename _Traits = char_traits<_CharT> >
11524     class basic_iostream;
11525
11526   template<typename _CharT, typename _Traits = char_traits<_CharT>,
11527      typename _Alloc = allocator<_CharT> >
11528     class basic_stringbuf;
11529
11530   template<typename _CharT, typename _Traits = char_traits<_CharT>,
11531     typename _Alloc = allocator<_CharT> >
11532     class basic_istringstream;
11533
11534   template<typename _CharT, typename _Traits = char_traits<_CharT>,
11535     typename _Alloc = allocator<_CharT> >
11536     class basic_ostringstream;
11537
11538   template<typename _CharT, typename _Traits = char_traits<_CharT>,
11539     typename _Alloc = allocator<_CharT> >
11540     class basic_stringstream;
11541
11542   template<typename _CharT, typename _Traits = char_traits<_CharT> >
11543     class basic_filebuf;
11544
11545   template<typename _CharT, typename _Traits = char_traits<_CharT> >
11546     class basic_ifstream;
11547
11548   template<typename _CharT, typename _Traits = char_traits<_CharT> >
11549     class basic_ofstream;
11550
11551   template<typename _CharT, typename _Traits = char_traits<_CharT> >
11552     class basic_fstream;
11553
11554   template<typename _CharT, typename _Traits = char_traits<_CharT> >
11555     class istreambuf_iterator;
11556
11557   template<typename _CharT, typename _Traits = char_traits<_CharT> >
11558     class ostreambuf_iterator;
11559
11560
11561
11562   class ios_base;
11563 # 136 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 3
11564   typedef basic_ios<char> ios;
11565   typedef basic_streambuf<char> streambuf;
11566   typedef basic_istream<char> istream;
11567   typedef basic_ostream<char> ostream;
11568   typedef basic_iostream<char> iostream;
11569   typedef basic_stringbuf<char> stringbuf;
11570   typedef basic_istringstream<char> istringstream;
11571   typedef basic_ostringstream<char> ostringstream;
11572   typedef basic_stringstream<char> stringstream;
11573   typedef basic_filebuf<char> filebuf;
11574   typedef basic_ifstream<char> ifstream;
11575   typedef basic_ofstream<char> ofstream;
11576   typedef basic_fstream<char> fstream;
11577
11578
11579   typedef basic_ios<wchar_t> wios;
11580   typedef basic_streambuf<wchar_t> wstreambuf;
11581   typedef basic_istream<wchar_t> wistream;
11582   typedef basic_ostream<wchar_t> wostream;
11583   typedef basic_iostream<wchar_t> wiostream;
11584   typedef basic_stringbuf<wchar_t> wstringbuf;
11585   typedef basic_istringstream<wchar_t> wistringstream;
11586   typedef basic_ostringstream<wchar_t> wostringstream;
11587   typedef basic_stringstream<wchar_t> wstringstream;
11588   typedef basic_filebuf<wchar_t> wfilebuf;
11589   typedef basic_ifstream<wchar_t> wifstream;
11590   typedef basic_ofstream<wchar_t> wofstream;
11591   typedef basic_fstream<wchar_t> wfstream;
11592
11593
11594 }
11595
11596 #pragma GCC visibility pop
11597 # 70 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
11598
11599 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h" 1 3
11600 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h" 3
11601 #define _CPP_TYPE_TRAITS_H 1
11602
11603        
11604 # 42 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h" 3
11605 # 75 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h" 3
11606 namespace __gnu_internal
11607 {
11608   typedef char __one;
11609   typedef char __two[2];
11610
11611   template<typename _Tp>
11612   __one __test_type(int _Tp::*);
11613   template<typename _Tp>
11614   __two& __test_type(...);
11615 }
11616
11617
11618 namespace __gnu_cxx
11619 {
11620   template<typename _Iterator, typename _Container>
11621     class __normal_iterator;
11622 }
11623
11624 struct __true_type { };
11625 struct __false_type { };
11626
11627 namespace std
11628 {
11629   template<bool>
11630     struct __truth_type
11631     { typedef __false_type __type; };
11632
11633   template<>
11634     struct __truth_type<true>
11635     { typedef __true_type __type; };
11636
11637
11638
11639   template<class _Sp, class _Tp>
11640     struct __traitor
11641     {
11642       enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
11643       typedef typename __truth_type<__value>::__type __type;
11644     };
11645
11646
11647   template<typename, typename>
11648     struct __are_same
11649     {
11650       enum { __value = 0 };
11651       typedef __false_type __type;
11652     };
11653
11654   template<typename _Tp>
11655     struct __are_same<_Tp, _Tp>
11656     {
11657       enum { __value = 1 };
11658       typedef __true_type __type;
11659     };
11660
11661
11662   template<typename, bool>
11663     struct __enable_if
11664     {
11665     };
11666
11667   template<typename _Tp>
11668     struct __enable_if<_Tp, true>
11669     {
11670       typedef _Tp __type;
11671     };
11672
11673
11674   template<typename _Tp>
11675     struct __is_void
11676     {
11677       enum { __value = 0 };
11678       typedef __false_type __type;
11679     };
11680
11681   template<>
11682     struct __is_void<void>
11683     {
11684       enum { __value = 1 };
11685       typedef __true_type __type;
11686     };
11687
11688
11689
11690
11691   template<typename _Tp>
11692     struct __is_integer
11693     {
11694       enum { __value = 0 };
11695       typedef __false_type __type;
11696     };
11697
11698
11699
11700
11701   template<>
11702     struct __is_integer<bool>
11703     {
11704       enum { __value = 1 };
11705       typedef __true_type __type;
11706     };
11707
11708   template<>
11709     struct __is_integer<char>
11710     {
11711       enum { __value = 1 };
11712       typedef __true_type __type;
11713     };
11714
11715   template<>
11716     struct __is_integer<signed char>
11717     {
11718       enum { __value = 1 };
11719       typedef __true_type __type;
11720     };
11721
11722   template<>
11723     struct __is_integer<unsigned char>
11724     {
11725       enum { __value = 1 };
11726       typedef __true_type __type;
11727     };
11728
11729
11730   template<>
11731     struct __is_integer<wchar_t>
11732     {
11733       enum { __value = 1 };
11734       typedef __true_type __type;
11735     };
11736
11737
11738   template<>
11739     struct __is_integer<short>
11740     {
11741       enum { __value = 1 };
11742       typedef __true_type __type;
11743     };
11744
11745   template<>
11746     struct __is_integer<unsigned short>
11747     {
11748       enum { __value = 1 };
11749       typedef __true_type __type;
11750     };
11751
11752   template<>
11753     struct __is_integer<int>
11754     {
11755       enum { __value = 1 };
11756       typedef __true_type __type;
11757     };
11758
11759   template<>
11760     struct __is_integer<unsigned int>
11761     {
11762       enum { __value = 1 };
11763       typedef __true_type __type;
11764     };
11765
11766   template<>
11767     struct __is_integer<long>
11768     {
11769       enum { __value = 1 };
11770       typedef __true_type __type;
11771     };
11772
11773   template<>
11774     struct __is_integer<unsigned long>
11775     {
11776       enum { __value = 1 };
11777       typedef __true_type __type;
11778     };
11779
11780   template<>
11781     struct __is_integer<long long>
11782     {
11783       enum { __value = 1 };
11784       typedef __true_type __type;
11785     };
11786
11787   template<>
11788     struct __is_integer<unsigned long long>
11789     {
11790       enum { __value = 1 };
11791       typedef __true_type __type;
11792     };
11793
11794
11795
11796
11797   template<typename _Tp>
11798     struct __is_floating
11799     {
11800       enum { __value = 0 };
11801       typedef __false_type __type;
11802     };
11803
11804
11805   template<>
11806     struct __is_floating<float>
11807     {
11808       enum { __value = 1 };
11809       typedef __true_type __type;
11810     };
11811
11812   template<>
11813     struct __is_floating<double>
11814     {
11815       enum { __value = 1 };
11816       typedef __true_type __type;
11817     };
11818
11819   template<>
11820     struct __is_floating<long double>
11821     {
11822       enum { __value = 1 };
11823       typedef __true_type __type;
11824     };
11825
11826
11827
11828
11829   template<typename _Tp>
11830     struct __is_pointer
11831     {
11832       enum { __value = 0 };
11833       typedef __false_type __type;
11834     };
11835
11836   template<typename _Tp>
11837     struct __is_pointer<_Tp*>
11838     {
11839       enum { __value = 1 };
11840       typedef __true_type __type;
11841     };
11842
11843
11844
11845
11846   template<typename _Tp>
11847     struct __is_normal_iterator
11848     {
11849       enum { __value = 0 };
11850       typedef __false_type __type;
11851     };
11852
11853   template<typename _Iterator, typename _Container>
11854     struct __is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator,
11855              _Container> >
11856     {
11857       enum { __value = 1 };
11858       typedef __true_type __type;
11859     };
11860
11861
11862
11863
11864   template<typename _Tp>
11865     struct __is_arithmetic
11866     : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
11867     { };
11868
11869
11870
11871
11872   template<typename _Tp>
11873     struct __is_fundamental
11874     : public __traitor<__is_void<_Tp>, __is_arithmetic<_Tp> >
11875     { };
11876
11877
11878
11879
11880   template<typename _Tp>
11881     struct __is_scalar
11882     : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
11883     { };
11884
11885
11886
11887
11888   template<typename _Tp>
11889     struct __is_pod
11890     {
11891       enum
11892  {
11893    __value = (sizeof(__gnu_internal::__test_type<_Tp>(0))
11894        != sizeof(__gnu_internal::__one))
11895  };
11896     };
11897
11898
11899
11900
11901   template<typename _Tp>
11902     struct __is_empty
11903     {
11904     private:
11905       template<typename>
11906         struct __first { };
11907       template<typename _Up>
11908         struct __second
11909         : public _Up { };
11910
11911     public:
11912       enum
11913  {
11914    __value = sizeof(__first<_Tp>) == sizeof(__second<_Tp>)
11915  };
11916     };
11917
11918 }
11919 # 72 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
11920 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h" 1 3
11921 # 65 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h" 3
11922 #define _ITERATOR_BASE_TYPES_H 1
11923
11924        
11925 # 68 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h" 3
11926
11927 namespace std
11928 {
11929 # 80 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h" 3
11930   struct input_iterator_tag {};
11931
11932   struct output_iterator_tag {};
11933
11934   struct forward_iterator_tag : public input_iterator_tag {};
11935
11936
11937   struct bidirectional_iterator_tag : public forward_iterator_tag {};
11938
11939
11940   struct random_access_iterator_tag : public bidirectional_iterator_tag {};
11941 # 104 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h" 3
11942   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
11943            typename _Pointer = _Tp*, typename _Reference = _Tp&>
11944     struct iterator
11945     {
11946
11947       typedef _Category iterator_category;
11948
11949       typedef _Tp value_type;
11950
11951       typedef _Distance difference_type;
11952
11953       typedef _Pointer pointer;
11954
11955       typedef _Reference reference;
11956     };
11957
11958
11959
11960
11961
11962
11963
11964   template<typename _Iterator>
11965     struct iterator_traits
11966     {
11967       typedef typename _Iterator::iterator_category iterator_category;
11968       typedef typename _Iterator::value_type value_type;
11969       typedef typename _Iterator::difference_type difference_type;
11970       typedef typename _Iterator::pointer pointer;
11971       typedef typename _Iterator::reference reference;
11972     };
11973
11974   template<typename _Tp>
11975     struct iterator_traits<_Tp*>
11976     {
11977       typedef random_access_iterator_tag iterator_category;
11978       typedef _Tp value_type;
11979       typedef ptrdiff_t difference_type;
11980       typedef _Tp* pointer;
11981       typedef _Tp& reference;
11982     };
11983
11984   template<typename _Tp>
11985     struct iterator_traits<const _Tp*>
11986     {
11987       typedef random_access_iterator_tag iterator_category;
11988       typedef _Tp value_type;
11989       typedef ptrdiff_t difference_type;
11990       typedef const _Tp* pointer;
11991       typedef const _Tp& reference;
11992     };
11993
11994
11995
11996
11997
11998
11999
12000   template<typename _Iter>
12001     inline typename iterator_traits<_Iter>::iterator_category
12002     __iterator_category(const _Iter&)
12003     { return typename iterator_traits<_Iter>::iterator_category(); }
12004
12005 }
12006 # 73 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
12007 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 1 3
12008 # 65 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
12009 #define _ITERATOR_BASE_FUNCS_H 1
12010
12011        
12012 # 68 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
12013 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/concept_check.h" 1 3
12014 # 36 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/concept_check.h" 3
12015 #define _CONCEPT_CHECK_H 1
12016
12017        
12018 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/concept_check.h" 3
12019 # 52 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/concept_check.h" 3
12020 #define __glibcxx_function_requires(...) 
12021 #define __glibcxx_class_requires(_a,_b) 
12022 #define __glibcxx_class_requires2(_a,_b,_c) 
12023 #define __glibcxx_class_requires3(_a,_b,_c,_d) 
12024 #define __glibcxx_class_requires4(_a,_b,_c,_d,_e) 
12025 # 69 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 2 3
12026
12027 namespace std
12028 {
12029   template<typename _InputIterator>
12030     inline typename iterator_traits<_InputIterator>::difference_type
12031     __distance(_InputIterator __first, _InputIterator __last,
12032                input_iterator_tag)
12033     {
12034
12035      
12036
12037       typename iterator_traits<_InputIterator>::difference_type __n = 0;
12038       while (__first != __last)
12039  {
12040    ++__first;
12041    ++__n;
12042  }
12043       return __n;
12044     }
12045
12046   template<typename _RandomAccessIterator>
12047     inline typename iterator_traits<_RandomAccessIterator>::difference_type
12048     __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
12049                random_access_iterator_tag)
12050     {
12051
12052      
12053
12054       return __last - __first;
12055     }
12056 # 112 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
12057   template<typename _InputIterator>
12058     inline typename iterator_traits<_InputIterator>::difference_type
12059     distance(_InputIterator __first, _InputIterator __last)
12060     {
12061
12062       return std::__distance(__first, __last,
12063         std::__iterator_category(__first));
12064     }
12065
12066   template<typename _InputIterator, typename _Distance>
12067     inline void
12068     __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
12069     {
12070
12071      
12072       while (__n--)
12073  ++__i;
12074     }
12075
12076   template<typename _BidirectionalIterator, typename _Distance>
12077     inline void
12078     __advance(_BidirectionalIterator& __i, _Distance __n,
12079               bidirectional_iterator_tag)
12080     {
12081
12082      
12083
12084       if (__n > 0)
12085         while (__n--)
12086    ++__i;
12087       else
12088         while (__n++)
12089    --__i;
12090     }
12091
12092   template<typename _RandomAccessIterator, typename _Distance>
12093     inline void
12094     __advance(_RandomAccessIterator& __i, _Distance __n,
12095               random_access_iterator_tag)
12096     {
12097
12098      
12099
12100       __i += __n;
12101     }
12102 # 170 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
12103   template<typename _InputIterator, typename _Distance>
12104     inline void
12105     advance(_InputIterator& __i, _Distance __n)
12106     {
12107
12108       std::__advance(__i, __n, std::__iterator_category(__i));
12109     }
12110 }
12111 # 74 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
12112 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 1 3
12113 # 66 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12114 #define _ITERATOR_H 1
12115
12116
12117
12118 namespace std
12119 {
12120 # 91 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12121   template<typename _Iterator>
12122     class reverse_iterator
12123     : public iterator<typename iterator_traits<_Iterator>::iterator_category,
12124         typename iterator_traits<_Iterator>::value_type,
12125         typename iterator_traits<_Iterator>::difference_type,
12126         typename iterator_traits<_Iterator>::pointer,
12127                       typename iterator_traits<_Iterator>::reference>
12128     {
12129     protected:
12130       _Iterator current;
12131
12132     public:
12133       typedef _Iterator iterator_type;
12134       typedef typename iterator_traits<_Iterator>::difference_type
12135               difference_type;
12136       typedef typename iterator_traits<_Iterator>::reference reference;
12137       typedef typename iterator_traits<_Iterator>::pointer pointer;
12138
12139     public:
12140
12141
12142
12143
12144
12145
12146       reverse_iterator() : current() { }
12147
12148
12149
12150
12151       explicit
12152       reverse_iterator(iterator_type __x) : current(__x) { }
12153
12154
12155
12156
12157       reverse_iterator(const reverse_iterator& __x)
12158       : current(__x.current) { }
12159
12160
12161
12162
12163
12164       template<typename _Iter>
12165         reverse_iterator(const reverse_iterator<_Iter>& __x)
12166  : current(__x.base()) { }
12167
12168
12169
12170
12171       iterator_type
12172       base() const
12173       { return current; }
12174
12175
12176
12177
12178
12179
12180       reference
12181       operator*() const
12182       {
12183  _Iterator __tmp = current;
12184  return *--__tmp;
12185       }
12186
12187
12188
12189
12190
12191
12192       pointer
12193       operator->() const
12194       { return &(operator*()); }
12195
12196
12197
12198
12199
12200
12201       reverse_iterator&
12202       operator++()
12203       {
12204  --current;
12205  return *this;
12206       }
12207
12208
12209
12210
12211
12212
12213       reverse_iterator
12214       operator++(int)
12215       {
12216  reverse_iterator __tmp = *this;
12217  --current;
12218  return __tmp;
12219       }
12220
12221
12222
12223
12224
12225
12226       reverse_iterator&
12227       operator--()
12228       {
12229  ++current;
12230  return *this;
12231       }
12232
12233
12234
12235
12236
12237
12238       reverse_iterator
12239       operator--(int)
12240       {
12241  reverse_iterator __tmp = *this;
12242  ++current;
12243  return __tmp;
12244       }
12245
12246
12247
12248
12249
12250
12251       reverse_iterator
12252       operator+(difference_type __n) const
12253       { return reverse_iterator(current - __n); }
12254
12255
12256
12257
12258
12259
12260       reverse_iterator&
12261       operator+=(difference_type __n)
12262       {
12263  current -= __n;
12264  return *this;
12265       }
12266
12267
12268
12269
12270
12271
12272       reverse_iterator
12273       operator-(difference_type __n) const
12274       { return reverse_iterator(current + __n); }
12275
12276
12277
12278
12279
12280
12281       reverse_iterator&
12282       operator-=(difference_type __n)
12283       {
12284  current += __n;
12285  return *this;
12286       }
12287
12288
12289
12290
12291
12292
12293       reference
12294       operator[](difference_type __n) const
12295       { return *(*this + __n); }
12296     };
12297 # 278 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12298   template<typename _Iterator>
12299     inline bool
12300     operator==(const reverse_iterator<_Iterator>& __x,
12301         const reverse_iterator<_Iterator>& __y)
12302     { return __x.base() == __y.base(); }
12303
12304   template<typename _Iterator>
12305     inline bool
12306     operator<(const reverse_iterator<_Iterator>& __x,
12307        const reverse_iterator<_Iterator>& __y)
12308     { return __y.base() < __x.base(); }
12309
12310   template<typename _Iterator>
12311     inline bool
12312     operator!=(const reverse_iterator<_Iterator>& __x,
12313         const reverse_iterator<_Iterator>& __y)
12314     { return !(__x == __y); }
12315
12316   template<typename _Iterator>
12317     inline bool
12318     operator>(const reverse_iterator<_Iterator>& __x,
12319        const reverse_iterator<_Iterator>& __y)
12320     { return __y < __x; }
12321
12322   template<typename _Iterator>
12323     inline bool
12324     operator<=(const reverse_iterator<_Iterator>& __x,
12325         const reverse_iterator<_Iterator>& __y)
12326     { return !(__y < __x); }
12327
12328   template<typename _Iterator>
12329     inline bool
12330     operator>=(const reverse_iterator<_Iterator>& __x,
12331         const reverse_iterator<_Iterator>& __y)
12332     { return !(__x < __y); }
12333
12334   template<typename _Iterator>
12335     inline typename reverse_iterator<_Iterator>::difference_type
12336     operator-(const reverse_iterator<_Iterator>& __x,
12337        const reverse_iterator<_Iterator>& __y)
12338     { return __y.base() - __x.base(); }
12339
12340   template<typename _Iterator>
12341     inline reverse_iterator<_Iterator>
12342     operator+(typename reverse_iterator<_Iterator>::difference_type __n,
12343        const reverse_iterator<_Iterator>& __x)
12344     { return reverse_iterator<_Iterator>(__x.base() - __n); }
12345
12346
12347
12348   template<typename _IteratorL, typename _IteratorR>
12349     inline bool
12350     operator==(const reverse_iterator<_IteratorL>& __x,
12351         const reverse_iterator<_IteratorR>& __y)
12352     { return __x.base() == __y.base(); }
12353
12354   template<typename _IteratorL, typename _IteratorR>
12355     inline bool
12356     operator<(const reverse_iterator<_IteratorL>& __x,
12357        const reverse_iterator<_IteratorR>& __y)
12358     { return __y.base() < __x.base(); }
12359
12360   template<typename _IteratorL, typename _IteratorR>
12361     inline bool
12362     operator!=(const reverse_iterator<_IteratorL>& __x,
12363         const reverse_iterator<_IteratorR>& __y)
12364     { return !(__x == __y); }
12365
12366   template<typename _IteratorL, typename _IteratorR>
12367     inline bool
12368     operator>(const reverse_iterator<_IteratorL>& __x,
12369        const reverse_iterator<_IteratorR>& __y)
12370     { return __y < __x; }
12371
12372   template<typename _IteratorL, typename _IteratorR>
12373     inline bool
12374     operator<=(const reverse_iterator<_IteratorL>& __x,
12375         const reverse_iterator<_IteratorR>& __y)
12376     { return !(__y < __x); }
12377
12378   template<typename _IteratorL, typename _IteratorR>
12379     inline bool
12380     operator>=(const reverse_iterator<_IteratorL>& __x,
12381         const reverse_iterator<_IteratorR>& __y)
12382     { return !(__x < __y); }
12383
12384   template<typename _IteratorL, typename _IteratorR>
12385     inline typename reverse_iterator<_IteratorL>::difference_type
12386     operator-(const reverse_iterator<_IteratorL>& __x,
12387        const reverse_iterator<_IteratorR>& __y)
12388     { return __y.base() - __x.base(); }
12389 # 382 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12390   template<typename _Container>
12391     class back_insert_iterator
12392     : public iterator<output_iterator_tag, void, void, void, void>
12393     {
12394     protected:
12395       _Container* container;
12396
12397     public:
12398
12399       typedef _Container container_type;
12400
12401
12402       explicit
12403       back_insert_iterator(_Container& __x) : container(&__x) { }
12404 # 408 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12405       back_insert_iterator&
12406       operator=(typename _Container::const_reference __value)
12407       {
12408  container->push_back(__value);
12409  return *this;
12410       }
12411
12412
12413       back_insert_iterator&
12414       operator*()
12415       { return *this; }
12416
12417
12418       back_insert_iterator&
12419       operator++()
12420       { return *this; }
12421
12422
12423       back_insert_iterator
12424       operator++(int)
12425       { return *this; }
12426     };
12427 # 442 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12428   template<typename _Container>
12429     inline back_insert_iterator<_Container>
12430     back_inserter(_Container& __x)
12431     { return back_insert_iterator<_Container>(__x); }
12432 # 457 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12433   template<typename _Container>
12434     class front_insert_iterator
12435     : public iterator<output_iterator_tag, void, void, void, void>
12436     {
12437     protected:
12438       _Container* container;
12439
12440     public:
12441
12442       typedef _Container container_type;
12443
12444
12445       explicit front_insert_iterator(_Container& __x) : container(&__x) { }
12446 # 482 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12447       front_insert_iterator&
12448       operator=(typename _Container::const_reference __value)
12449       {
12450  container->push_front(__value);
12451  return *this;
12452       }
12453
12454
12455       front_insert_iterator&
12456       operator*()
12457       { return *this; }
12458
12459
12460       front_insert_iterator&
12461       operator++()
12462       { return *this; }
12463
12464
12465       front_insert_iterator
12466       operator++(int)
12467       { return *this; }
12468     };
12469 # 516 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12470   template<typename _Container>
12471     inline front_insert_iterator<_Container>
12472     front_inserter(_Container& __x)
12473     { return front_insert_iterator<_Container>(__x); }
12474 # 535 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12475   template<typename _Container>
12476     class insert_iterator
12477     : public iterator<output_iterator_tag, void, void, void, void>
12478     {
12479     protected:
12480       _Container* container;
12481       typename _Container::iterator iter;
12482
12483     public:
12484
12485       typedef _Container container_type;
12486
12487
12488
12489
12490
12491       insert_iterator(_Container& __x, typename _Container::iterator __i)
12492       : container(&__x), iter(__i) {}
12493 # 577 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12494       insert_iterator&
12495       operator=(const typename _Container::const_reference __value)
12496       {
12497  iter = container->insert(iter, __value);
12498  ++iter;
12499  return *this;
12500       }
12501
12502
12503       insert_iterator&
12504       operator*()
12505       { return *this; }
12506
12507
12508       insert_iterator&
12509       operator++()
12510       { return *this; }
12511
12512
12513       insert_iterator&
12514       operator++(int)
12515       { return *this; }
12516     };
12517 # 612 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12518   template<typename _Container, typename _Iterator>
12519     inline insert_iterator<_Container>
12520     inserter(_Container& __x, _Iterator __i)
12521     {
12522       return insert_iterator<_Container>(__x,
12523       typename _Container::iterator(__i));
12524     }
12525 }
12526
12527 namespace __gnu_cxx
12528 {
12529
12530
12531
12532
12533
12534
12535
12536   using std::iterator_traits;
12537   using std::iterator;
12538   template<typename _Iterator, typename _Container>
12539     class __normal_iterator
12540     {
12541     protected:
12542       _Iterator _M_current;
12543
12544     public:
12545       typedef typename iterator_traits<_Iterator>::iterator_category
12546                                                              iterator_category;
12547       typedef typename iterator_traits<_Iterator>::value_type value_type;
12548       typedef typename iterator_traits<_Iterator>::difference_type
12549                                                              difference_type;
12550       typedef typename iterator_traits<_Iterator>::reference reference;
12551       typedef typename iterator_traits<_Iterator>::pointer pointer;
12552
12553       __normal_iterator() : _M_current(_Iterator()) { }
12554
12555       explicit
12556       __normal_iterator(const _Iterator& __i) : _M_current(__i) { }
12557
12558
12559       template<typename _Iter>
12560         __normal_iterator(const __normal_iterator<_Iter,
12561      typename std::__enable_if<_Container,
12562      (std::__are_same<_Iter,
12563       typename _Container::pointer>::__value)
12564      >::__type>& __i)
12565         : _M_current(__i.base()) { }
12566
12567
12568       reference
12569       operator*() const
12570       { return *_M_current; }
12571
12572       pointer
12573       operator->() const
12574       { return _M_current; }
12575
12576       __normal_iterator&
12577       operator++()
12578       {
12579  ++_M_current;
12580  return *this;
12581       }
12582
12583       __normal_iterator
12584       operator++(int)
12585       { return __normal_iterator(_M_current++); }
12586
12587
12588       __normal_iterator&
12589       operator--()
12590       {
12591  --_M_current;
12592  return *this;
12593       }
12594
12595       __normal_iterator
12596       operator--(int)
12597       { return __normal_iterator(_M_current--); }
12598
12599
12600       reference
12601       operator[](const difference_type& __n) const
12602       { return _M_current[__n]; }
12603
12604       __normal_iterator&
12605       operator+=(const difference_type& __n)
12606       { _M_current += __n; return *this; }
12607
12608       __normal_iterator
12609       operator+(const difference_type& __n) const
12610       { return __normal_iterator(_M_current + __n); }
12611
12612       __normal_iterator&
12613       operator-=(const difference_type& __n)
12614       { _M_current -= __n; return *this; }
12615
12616       __normal_iterator
12617       operator-(const difference_type& __n) const
12618       { return __normal_iterator(_M_current - __n); }
12619
12620       const _Iterator&
12621       base() const
12622       { return _M_current; }
12623     };
12624 # 728 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
12625   template<typename _IteratorL, typename _IteratorR, typename _Container>
12626     inline bool
12627     operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
12628         const __normal_iterator<_IteratorR, _Container>& __rhs)
12629     { return __lhs.base() == __rhs.base(); }
12630
12631   template<typename _Iterator, typename _Container>
12632     inline bool
12633     operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
12634         const __normal_iterator<_Iterator, _Container>& __rhs)
12635     { return __lhs.base() == __rhs.base(); }
12636
12637   template<typename _IteratorL, typename _IteratorR, typename _Container>
12638     inline bool
12639     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
12640         const __normal_iterator<_IteratorR, _Container>& __rhs)
12641     { return __lhs.base() != __rhs.base(); }
12642
12643   template<typename _Iterator, typename _Container>
12644     inline bool
12645     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
12646         const __normal_iterator<_Iterator, _Container>& __rhs)
12647     { return __lhs.base() != __rhs.base(); }
12648
12649
12650   template<typename _IteratorL, typename _IteratorR, typename _Container>
12651     inline bool
12652     operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
12653        const __normal_iterator<_IteratorR, _Container>& __rhs)
12654     { return __lhs.base() < __rhs.base(); }
12655
12656   template<typename _Iterator, typename _Container>
12657     inline bool
12658     operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
12659        const __normal_iterator<_Iterator, _Container>& __rhs)
12660     { return __lhs.base() < __rhs.base(); }
12661
12662   template<typename _IteratorL, typename _IteratorR, typename _Container>
12663     inline bool
12664     operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
12665        const __normal_iterator<_IteratorR, _Container>& __rhs)
12666     { return __lhs.base() > __rhs.base(); }
12667
12668   template<typename _Iterator, typename _Container>
12669     inline bool
12670     operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
12671        const __normal_iterator<_Iterator, _Container>& __rhs)
12672     { return __lhs.base() > __rhs.base(); }
12673
12674   template<typename _IteratorL, typename _IteratorR, typename _Container>
12675     inline bool
12676     operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
12677         const __normal_iterator<_IteratorR, _Container>& __rhs)
12678     { return __lhs.base() <= __rhs.base(); }
12679
12680   template<typename _Iterator, typename _Container>
12681     inline bool
12682     operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
12683         const __normal_iterator<_Iterator, _Container>& __rhs)
12684     { return __lhs.base() <= __rhs.base(); }
12685
12686   template<typename _IteratorL, typename _IteratorR, typename _Container>
12687     inline bool
12688     operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
12689         const __normal_iterator<_IteratorR, _Container>& __rhs)
12690     { return __lhs.base() >= __rhs.base(); }
12691
12692   template<typename _Iterator, typename _Container>
12693     inline bool
12694     operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
12695         const __normal_iterator<_Iterator, _Container>& __rhs)
12696     { return __lhs.base() >= __rhs.base(); }
12697
12698
12699
12700
12701
12702   template<typename _IteratorL, typename _IteratorR, typename _Container>
12703     inline typename __normal_iterator<_IteratorL, _Container>::difference_type
12704     operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
12705        const __normal_iterator<_IteratorR, _Container>& __rhs)
12706     { return __lhs.base() - __rhs.base(); }
12707
12708   template<typename _Iterator, typename _Container>
12709     inline __normal_iterator<_Iterator, _Container>
12710     operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
12711        __n, const __normal_iterator<_Iterator, _Container>& __i)
12712     { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
12713 }
12714 # 75 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
12715
12716 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/debug/debug.h" 1 3
12717 # 32 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/debug/debug.h" 3
12718 #define _GLIBCXX_DEBUG_DEBUG_H 1
12719 # 100 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/debug/debug.h" 3
12720 #define _GLIBCXX_DEBUG_ASSERT(_Condition) 
12721 #define _GLIBCXX_DEBUG_PEDASSERT(_Condition) 
12722 #define __glibcxx_requires_cond(_Cond,_Msg) 
12723 #define __glibcxx_requires_valid_range(_First,_Last) 
12724 #define __glibcxx_requires_sorted(_First,_Last) 
12725 #define __glibcxx_requires_sorted_pred(_First,_Last,_Pred) 
12726 #define __glibcxx_requires_partitioned(_First,_Last,_Value) 
12727 #define __glibcxx_requires_partitioned_pred(_First,_Last,_Value,_Pred) 
12728 #define __glibcxx_requires_heap(_First,_Last) 
12729 #define __glibcxx_requires_heap_pred(_First,_Last,_Pred) 
12730 #define __glibcxx_requires_nonempty() 
12731 #define __glibcxx_requires_string(_String) 
12732 #define __glibcxx_requires_string_len(_String,_Len) 
12733 #define __glibcxx_requires_subscript(_N) 
12734 # 77 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
12735
12736 namespace std
12737 {
12738 # 90 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
12739   template<typename _Tp>
12740     inline void
12741     swap(_Tp& __a, _Tp& __b)
12742     {
12743
12744      
12745
12746       _Tp __tmp = __a;
12747       __a = __b;
12748       __b = __tmp;
12749     }
12750
12751
12752
12753
12754   template<bool _BoolType>
12755     struct __iter_swap
12756     {
12757       template<typename _ForwardIterator1, typename _ForwardIterator2>
12758         static void
12759         iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
12760         {
12761           typedef typename iterator_traits<_ForwardIterator1>::value_type
12762             _ValueType1;
12763           _ValueType1 __tmp = *__a;
12764           *__a = *__b;
12765           *__b = __tmp;
12766  }
12767     };
12768
12769   template<>
12770     struct __iter_swap<true>
12771     {
12772       template<typename _ForwardIterator1, typename _ForwardIterator2>
12773         static void
12774         iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
12775         {
12776           swap(*__a, *__b);
12777         }
12778     };
12779 # 140 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
12780   template<typename _ForwardIterator1, typename _ForwardIterator2>
12781     inline void
12782     iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
12783     {
12784       typedef typename iterator_traits<_ForwardIterator1>::value_type
12785  _ValueType1;
12786       typedef typename iterator_traits<_ForwardIterator2>::value_type
12787  _ValueType2;
12788
12789
12790      
12791
12792      
12793
12794      
12795
12796      
12797
12798
12799       typedef typename iterator_traits<_ForwardIterator1>::reference
12800  _ReferenceType1;
12801       typedef typename iterator_traits<_ForwardIterator2>::reference
12802  _ReferenceType2;
12803       std::__iter_swap<__are_same<_ValueType1, _ValueType2>::__value &&
12804  __are_same<_ValueType1 &, _ReferenceType1>::__value &&
12805  __are_same<_ValueType2 &, _ReferenceType2>::__value>::
12806  iter_swap(__a, __b);
12807     }
12808
12809 #undef min
12810 #undef max
12811 # 182 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
12812   template<typename _Tp>
12813     inline const _Tp&
12814     min(const _Tp& __a, const _Tp& __b)
12815     {
12816
12817      
12818
12819       if (__b < __a)
12820  return __b;
12821       return __a;
12822     }
12823 # 204 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
12824   template<typename _Tp>
12825     inline const _Tp&
12826     max(const _Tp& __a, const _Tp& __b)
12827     {
12828
12829      
12830
12831       if (__a < __b)
12832  return __b;
12833       return __a;
12834     }
12835 # 226 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
12836   template<typename _Tp, typename _Compare>
12837     inline const _Tp&
12838     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
12839     {
12840
12841       if (__comp(__b, __a))
12842  return __b;
12843       return __a;
12844     }
12845 # 246 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
12846   template<typename _Tp, typename _Compare>
12847     inline const _Tp&
12848     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
12849     {
12850
12851       if (__comp(__a, __b))
12852  return __b;
12853       return __a;
12854     }
12855
12856
12857
12858
12859
12860
12861
12862   template<bool, typename>
12863     struct __copy
12864     {
12865       template<typename _II, typename _OI>
12866         static _OI
12867         copy(_II __first, _II __last, _OI __result)
12868         {
12869    for (; __first != __last; ++__result, ++__first)
12870      *__result = *__first;
12871    return __result;
12872  }
12873     };
12874
12875   template<bool _BoolType>
12876     struct __copy<_BoolType, random_access_iterator_tag>
12877     {
12878       template<typename _II, typename _OI>
12879         static _OI
12880         copy(_II __first, _II __last, _OI __result)
12881         {
12882    typedef typename iterator_traits<_II>::difference_type _Distance;
12883    for(_Distance __n = __last - __first; __n > 0; --__n)
12884      {
12885        *__result = *__first;
12886        ++__first;
12887        ++__result;
12888      }
12889    return __result;
12890  }
12891     };
12892
12893   template<>
12894     struct __copy<true, random_access_iterator_tag>
12895     {
12896       template<typename _Tp>
12897         static _Tp*
12898         copy(const _Tp* __first, const _Tp* __last, _Tp* __result)
12899         {
12900    std::memmove(__result, __first, sizeof(_Tp) * (__last - __first));
12901    return __result + (__last - __first);
12902  }
12903     };
12904
12905   template<typename _II, typename _OI>
12906     inline _OI
12907     __copy_aux(_II __first, _II __last, _OI __result)
12908     {
12909       typedef typename iterator_traits<_II>::value_type _ValueTypeI;
12910       typedef typename iterator_traits<_OI>::value_type _ValueTypeO;
12911       typedef typename iterator_traits<_II>::iterator_category _Category;
12912       const bool __simple = (__is_scalar<_ValueTypeI>::__value
12913                       && __is_pointer<_II>::__value
12914                       && __is_pointer<_OI>::__value
12915         && __are_same<_ValueTypeI, _ValueTypeO>::__value);
12916
12917       return std::__copy<__simple, _Category>::copy(__first, __last, __result);
12918     }
12919
12920   template<bool, bool>
12921     struct __copy_normal
12922     {
12923       template<typename _II, typename _OI>
12924         static _OI
12925         copy_n(_II __first, _II __last, _OI __result)
12926         { return std::__copy_aux(__first, __last, __result); }
12927     };
12928
12929   template<>
12930     struct __copy_normal<true, false>
12931     {
12932       template<typename _II, typename _OI>
12933         static _OI
12934         copy_n(_II __first, _II __last, _OI __result)
12935         { return std::__copy_aux(__first.base(), __last.base(), __result); }
12936     };
12937
12938   template<>
12939     struct __copy_normal<false, true>
12940     {
12941       template<typename _II, typename _OI>
12942         static _OI
12943         copy_n(_II __first, _II __last, _OI __result)
12944         { return _OI(std::__copy_aux(__first, __last, __result.base())); }
12945     };
12946
12947   template<>
12948     struct __copy_normal<true, true>
12949     {
12950       template<typename _II, typename _OI>
12951         static _OI
12952         copy_n(_II __first, _II __last, _OI __result)
12953         { return _OI(std::__copy_aux(__first.base(), __last.base(),
12954          __result.base())); }
12955     };
12956 # 373 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
12957   template<typename _InputIterator, typename _OutputIterator>
12958     inline _OutputIterator
12959     copy(_InputIterator __first, _InputIterator __last,
12960   _OutputIterator __result)
12961     {
12962
12963      
12964      
12965
12966       ;
12967
12968        const bool __in = __is_normal_iterator<_InputIterator>::__value;
12969        const bool __out = __is_normal_iterator<_OutputIterator>::__value;
12970        return std::__copy_normal<__in, __out>::copy_n(__first, __last,
12971             __result);
12972     }
12973
12974   template<bool, typename>
12975     struct __copy_backward
12976     {
12977       template<typename _BI1, typename _BI2>
12978         static _BI2
12979         copy_b(_BI1 __first, _BI1 __last, _BI2 __result)
12980         {
12981    while (__first != __last)
12982      *--__result = *--__last;
12983    return __result;
12984  }
12985     };
12986
12987   template<bool _BoolType>
12988     struct __copy_backward<_BoolType, random_access_iterator_tag>
12989     {
12990       template<typename _BI1, typename _BI2>
12991         static _BI2
12992         copy_b(_BI1 __first, _BI1 __last, _BI2 __result)
12993         {
12994    typename iterator_traits<_BI1>::difference_type __n;
12995    for (__n = __last - __first; __n > 0; --__n)
12996      *--__result = *--__last;
12997    return __result;
12998  }
12999     };
13000
13001   template<>
13002     struct __copy_backward<true, random_access_iterator_tag>
13003     {
13004       template<typename _Tp>
13005         static _Tp*
13006         copy_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
13007         {
13008    const ptrdiff_t _Num = __last - __first;
13009    std::memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
13010    return __result - _Num;
13011  }
13012     };
13013
13014   template<typename _BI1, typename _BI2>
13015     inline _BI2
13016     __copy_backward_aux(_BI1 __first, _BI1 __last, _BI2 __result)
13017     {
13018       typedef typename iterator_traits<_BI1>::value_type _ValueType1;
13019       typedef typename iterator_traits<_BI2>::value_type _ValueType2;
13020       typedef typename iterator_traits<_BI1>::iterator_category _Category;
13021       const bool __simple = (__is_scalar<_ValueType1>::__value
13022                       && __is_pointer<_BI1>::__value
13023                       && __is_pointer<_BI2>::__value
13024         && __are_same<_ValueType1, _ValueType2>::__value);
13025
13026       return std::__copy_backward<__simple, _Category>::copy_b(__first, __last,
13027               __result);
13028     }
13029
13030   template<bool, bool>
13031     struct __copy_backward_normal
13032     {
13033       template<typename _BI1, typename _BI2>
13034         static _BI2
13035         copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
13036         { return std::__copy_backward_aux(__first, __last, __result); }
13037     };
13038
13039   template<>
13040     struct __copy_backward_normal<true, false>
13041     {
13042       template<typename _BI1, typename _BI2>
13043         static _BI2
13044         copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
13045         { return std::__copy_backward_aux(__first.base(), __last.base(),
13046        __result); }
13047     };
13048
13049   template<>
13050     struct __copy_backward_normal<false, true>
13051     {
13052       template<typename _BI1, typename _BI2>
13053         static _BI2
13054         copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
13055         { return _BI2(std::__copy_backward_aux(__first, __last,
13056             __result.base())); }
13057     };
13058
13059   template<>
13060     struct __copy_backward_normal<true, true>
13061     {
13062       template<typename _BI1, typename _BI2>
13063         static _BI2
13064         copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
13065         { return _BI2(std::__copy_backward_aux(__first.base(), __last.base(),
13066             __result.base())); }
13067     };
13068 # 502 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
13069   template <typename _BI1, typename _BI2>
13070     inline _BI2
13071     copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
13072     {
13073
13074      
13075      
13076      
13077
13078
13079       ;
13080
13081       const bool __bi1 = __is_normal_iterator<_BI1>::__value;
13082       const bool __bi2 = __is_normal_iterator<_BI2>::__value;
13083       return std::__copy_backward_normal<__bi1, __bi2>::copy_b_n(__first, __last,
13084          __result);
13085     }
13086
13087   template<bool>
13088     struct __fill
13089     {
13090       template<typename _ForwardIterator, typename _Tp>
13091         static void
13092         fill(_ForwardIterator __first, _ForwardIterator __last,
13093       const _Tp& __value)
13094         {
13095    for (; __first != __last; ++__first)
13096      *__first = __value;
13097  }
13098     };
13099
13100   template<>
13101     struct __fill<true>
13102     {
13103       template<typename _ForwardIterator, typename _Tp>
13104         static void
13105         fill(_ForwardIterator __first, _ForwardIterator __last,
13106       const _Tp& __value)
13107         {
13108    const _Tp __tmp = __value;
13109    for (; __first != __last; ++__first)
13110      *__first = __tmp;
13111  }
13112     };
13113 # 558 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
13114   template<typename _ForwardIterator, typename _Tp>
13115     void
13116     fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
13117     {
13118
13119      
13120
13121       ;
13122
13123       const bool __scalar = __is_scalar<_Tp>::__value;
13124       std::__fill<__scalar>::fill(__first, __last, __value);
13125     }
13126
13127
13128   inline void
13129   fill(unsigned char* __first, unsigned char* __last, const unsigned char& __c)
13130   {
13131     ;
13132     const unsigned char __tmp = __c;
13133     std::memset(__first, __tmp, __last - __first);
13134   }
13135
13136   inline void
13137   fill(signed char* __first, signed char* __last, const signed char& __c)
13138   {
13139     ;
13140     const signed char __tmp = __c;
13141     std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first);
13142   }
13143
13144   inline void
13145   fill(char* __first, char* __last, const char& __c)
13146   {
13147     ;
13148     const char __tmp = __c;
13149     std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first);
13150   }
13151
13152   template<bool>
13153     struct __fill_n
13154     {
13155       template<typename _OutputIterator, typename _Size, typename _Tp>
13156         static _OutputIterator
13157         fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
13158         {
13159    for (; __n > 0; --__n, ++__first)
13160      *__first = __value;
13161    return __first;
13162  }
13163     };
13164
13165   template<>
13166     struct __fill_n<true>
13167     {
13168       template<typename _OutputIterator, typename _Size, typename _Tp>
13169         static _OutputIterator
13170         fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
13171         {
13172    const _Tp __tmp = __value;
13173    for (; __n > 0; --__n, ++__first)
13174      *__first = __tmp;
13175    return __first;
13176  }
13177     };
13178 # 634 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
13179   template<typename _OutputIterator, typename _Size, typename _Tp>
13180     _OutputIterator
13181     fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
13182     {
13183
13184      
13185
13186       const bool __scalar = __is_scalar<_Tp>::__value;
13187       return std::__fill_n<__scalar>::fill_n(__first, __n, __value);
13188     }
13189
13190   template<typename _Size>
13191     inline unsigned char*
13192     fill_n(unsigned char* __first, _Size __n, const unsigned char& __c)
13193     {
13194       std::fill(__first, __first + __n, __c);
13195       return __first + __n;
13196     }
13197
13198   template<typename _Size>
13199     inline signed char*
13200     fill_n(char* __first, _Size __n, const signed char& __c)
13201     {
13202       std::fill(__first, __first + __n, __c);
13203       return __first + __n;
13204     }
13205
13206   template<typename _Size>
13207     inline char*
13208     fill_n(char* __first, _Size __n, const char& __c)
13209     {
13210       std::fill(__first, __first + __n, __c);
13211       return __first + __n;
13212     }
13213 # 681 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
13214   template<typename _InputIterator1, typename _InputIterator2>
13215     pair<_InputIterator1, _InputIterator2>
13216     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
13217       _InputIterator2 __first2)
13218     {
13219
13220      
13221      
13222      
13223
13224
13225       ;
13226
13227       while (__first1 != __last1 && *__first1 == *__first2)
13228         {
13229    ++__first1;
13230    ++__first2;
13231         }
13232       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
13233     }
13234 # 716 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
13235   template<typename _InputIterator1, typename _InputIterator2,
13236     typename _BinaryPredicate>
13237     pair<_InputIterator1, _InputIterator2>
13238     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
13239       _InputIterator2 __first2, _BinaryPredicate __binary_pred)
13240     {
13241
13242      
13243      
13244       ;
13245
13246       while (__first1 != __last1 && __binary_pred(*__first1, *__first2))
13247         {
13248    ++__first1;
13249    ++__first2;
13250         }
13251       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
13252     }
13253 # 746 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
13254   template<typename _InputIterator1, typename _InputIterator2>
13255     inline bool
13256     equal(_InputIterator1 __first1, _InputIterator1 __last1,
13257    _InputIterator2 __first2)
13258     {
13259
13260      
13261      
13262      
13263
13264
13265       ;
13266
13267       for (; __first1 != __last1; ++__first1, ++__first2)
13268  if (!(*__first1 == *__first2))
13269    return false;
13270       return true;
13271     }
13272 # 778 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
13273   template<typename _InputIterator1, typename _InputIterator2,
13274     typename _BinaryPredicate>
13275     inline bool
13276     equal(_InputIterator1 __first1, _InputIterator1 __last1,
13277    _InputIterator2 __first2,
13278    _BinaryPredicate __binary_pred)
13279     {
13280
13281      
13282      
13283       ;
13284
13285       for (; __first1 != __last1; ++__first1, ++__first2)
13286  if (!__binary_pred(*__first1, *__first2))
13287    return false;
13288       return true;
13289     }
13290 # 810 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
13291   template<typename _InputIterator1, typename _InputIterator2>
13292     bool
13293     lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
13294        _InputIterator2 __first2, _InputIterator2 __last2)
13295     {
13296
13297      
13298      
13299      
13300
13301
13302      
13303
13304
13305       ;
13306       ;
13307
13308       for (; __first1 != __last1 && __first2 != __last2;
13309     ++__first1, ++__first2)
13310  {
13311    if (*__first1 < *__first2)
13312      return true;
13313    if (*__first2 < *__first1)
13314      return false;
13315  }
13316       return __first1 == __last1 && __first2 != __last2;
13317     }
13318 # 850 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
13319   template<typename _InputIterator1, typename _InputIterator2,
13320     typename _Compare>
13321     bool
13322     lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
13323        _InputIterator2 __first2, _InputIterator2 __last2,
13324        _Compare __comp)
13325     {
13326
13327      
13328      
13329       ;
13330       ;
13331
13332       for (; __first1 != __last1 && __first2 != __last2;
13333     ++__first1, ++__first2)
13334  {
13335    if (__comp(*__first1, *__first2))
13336      return true;
13337    if (__comp(*__first2, *__first1))
13338      return false;
13339  }
13340       return __first1 == __last1 && __first2 != __last2;
13341     }
13342
13343   inline bool
13344   lexicographical_compare(const unsigned char* __first1,
13345      const unsigned char* __last1,
13346      const unsigned char* __first2,
13347      const unsigned char* __last2)
13348   {
13349     ;
13350     ;
13351
13352     const size_t __len1 = __last1 - __first1;
13353     const size_t __len2 = __last2 - __first2;
13354     const int __result = std::memcmp(__first1, __first2,
13355          std::min(__len1, __len2));
13356     return __result != 0 ? __result < 0 : __len1 < __len2;
13357   }
13358
13359   inline bool
13360   lexicographical_compare(const char* __first1, const char* __last1,
13361      const char* __first2, const char* __last2)
13362   {
13363     ;
13364     ;
13365
13366
13367     return std::lexicographical_compare((const signed char*) __first1,
13368      (const signed char*) __last1,
13369      (const signed char*) __first2,
13370      (const signed char*) __last2);
13371
13372
13373
13374
13375
13376
13377   }
13378
13379 }
13380 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 2 3
13381
13382
13383 namespace __gnu_cxx
13384 {
13385 # 61 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 3
13386   template <class _CharT>
13387     struct _Char_types
13388     {
13389       typedef unsigned long int_type;
13390       typedef std::streampos pos_type;
13391       typedef std::streamoff off_type;
13392       typedef std::mbstate_t state_type;
13393     };
13394 # 86 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 3
13395   template<typename _CharT>
13396     struct char_traits
13397     {
13398       typedef _CharT char_type;
13399       typedef typename _Char_types<_CharT>::int_type int_type;
13400       typedef typename _Char_types<_CharT>::pos_type pos_type;
13401       typedef typename _Char_types<_CharT>::off_type off_type;
13402       typedef typename _Char_types<_CharT>::state_type state_type;
13403
13404       static void
13405       assign(char_type& __c1, const char_type& __c2)
13406       { __c1 = __c2; }
13407
13408       static bool
13409       eq(const char_type& __c1, const char_type& __c2)
13410       { return __c1 == __c2; }
13411
13412       static bool
13413       lt(const char_type& __c1, const char_type& __c2)
13414       { return __c1 < __c2; }
13415
13416       static int
13417       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
13418
13419       static std::size_t
13420       length(const char_type* __s);
13421
13422       static const char_type*
13423       find(const char_type* __s, std::size_t __n, const char_type& __a);
13424
13425       static char_type*
13426       move(char_type* __s1, const char_type* __s2, std::size_t __n);
13427
13428       static char_type*
13429       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
13430
13431       static char_type*
13432       assign(char_type* __s, std::size_t __n, char_type __a);
13433
13434       static char_type
13435       to_char_type(const int_type& __c)
13436       { return static_cast<char_type>(__c); }
13437
13438       static int_type
13439       to_int_type(const char_type& __c)
13440       { return static_cast<int_type>(__c); }
13441
13442       static bool
13443       eq_int_type(const int_type& __c1, const int_type& __c2)
13444       { return __c1 == __c2; }
13445
13446       static int_type
13447       eof()
13448       { return static_cast<int_type>((-1)); }
13449
13450       static int_type
13451       not_eof(const int_type& __c)
13452       { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
13453     };
13454
13455   template<typename _CharT>
13456     int
13457     char_traits<_CharT>::
13458     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
13459     {
13460       for (size_t __i = 0; __i < __n; ++__i)
13461  if (lt(__s1[__i], __s2[__i]))
13462    return -1;
13463  else if (lt(__s2[__i], __s1[__i]))
13464    return 1;
13465       return 0;
13466     }
13467
13468   template<typename _CharT>
13469     std::size_t
13470     char_traits<_CharT>::
13471     length(const char_type* __p)
13472     {
13473       std::size_t __i = 0;
13474       while (!eq(__p[__i], char_type()))
13475         ++__i;
13476       return __i;
13477     }
13478
13479   template<typename _CharT>
13480     const typename char_traits<_CharT>::char_type*
13481     char_traits<_CharT>::
13482     find(const char_type* __s, std::size_t __n, const char_type& __a)
13483     {
13484       for (std::size_t __i = 0; __i < __n; ++__i)
13485         if (eq(__s[__i], __a))
13486           return __s + __i;
13487       return 0;
13488     }
13489
13490   template<typename _CharT>
13491     typename char_traits<_CharT>::char_type*
13492     char_traits<_CharT>::
13493     move(char_type* __s1, const char_type* __s2, std::size_t __n)
13494     {
13495       return static_cast<_CharT*>(std::memmove(__s1, __s2,
13496             __n * sizeof(char_type)));
13497     }
13498
13499   template<typename _CharT>
13500     typename char_traits<_CharT>::char_type*
13501     char_traits<_CharT>::
13502     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
13503     {
13504       std::copy(__s2, __s2 + __n, __s1);
13505       return __s1;
13506     }
13507
13508   template<typename _CharT>
13509     typename char_traits<_CharT>::char_type*
13510     char_traits<_CharT>::
13511     assign(char_type* __s, std::size_t __n, char_type __a)
13512     {
13513       std::fill_n(__s, __n, __a);
13514       return __s;
13515     }
13516 }
13517
13518 namespace std
13519 {
13520 # 224 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 3
13521   template<class _CharT>
13522     struct char_traits : public __gnu_cxx::char_traits<_CharT>
13523     { };
13524
13525
13526
13527   template<>
13528     struct char_traits<char>
13529     {
13530       typedef char char_type;
13531       typedef int int_type;
13532       typedef streampos pos_type;
13533       typedef streamoff off_type;
13534       typedef mbstate_t state_type;
13535
13536       static void
13537       assign(char_type& __c1, const char_type& __c2)
13538       { __c1 = __c2; }
13539
13540       static bool
13541       eq(const char_type& __c1, const char_type& __c2)
13542       { return __c1 == __c2; }
13543
13544       static bool
13545       lt(const char_type& __c1, const char_type& __c2)
13546       { return __c1 < __c2; }
13547
13548       static int
13549       compare(const char_type* __s1, const char_type* __s2, size_t __n)
13550       { return memcmp(__s1, __s2, __n); }
13551
13552       static size_t
13553       length(const char_type* __s)
13554       { return strlen(__s); }
13555
13556       static const char_type*
13557       find(const char_type* __s, size_t __n, const char_type& __a)
13558       { return static_cast<const char_type*>(memchr(__s, __a, __n)); }
13559
13560       static char_type*
13561       move(char_type* __s1, const char_type* __s2, size_t __n)
13562       { return static_cast<char_type*>(memmove(__s1, __s2, __n)); }
13563
13564       static char_type*
13565       copy(char_type* __s1, const char_type* __s2, size_t __n)
13566       { return static_cast<char_type*>(memcpy(__s1, __s2, __n)); }
13567
13568       static char_type*
13569       assign(char_type* __s, size_t __n, char_type __a)
13570       { return static_cast<char_type*>(memset(__s, __a, __n)); }
13571
13572       static char_type
13573       to_char_type(const int_type& __c)
13574       { return static_cast<char_type>(__c); }
13575
13576
13577
13578       static int_type
13579       to_int_type(const char_type& __c)
13580       { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
13581
13582       static bool
13583       eq_int_type(const int_type& __c1, const int_type& __c2)
13584       { return __c1 == __c2; }
13585
13586       static int_type
13587       eof() { return static_cast<int_type>((-1)); }
13588
13589       static int_type
13590       not_eof(const int_type& __c)
13591       { return (__c == eof()) ? 0 : __c; }
13592   };
13593
13594
13595
13596
13597   template<>
13598     struct char_traits<wchar_t>
13599     {
13600       typedef wchar_t char_type;
13601       typedef wint_t int_type;
13602       typedef streamoff off_type;
13603       typedef wstreampos pos_type;
13604       typedef mbstate_t state_type;
13605
13606       static void
13607       assign(char_type& __c1, const char_type& __c2)
13608       { __c1 = __c2; }
13609
13610       static bool
13611       eq(const char_type& __c1, const char_type& __c2)
13612       { return __c1 == __c2; }
13613
13614       static bool
13615       lt(const char_type& __c1, const char_type& __c2)
13616       { return __c1 < __c2; }
13617
13618       static int
13619       compare(const char_type* __s1, const char_type* __s2, size_t __n)
13620       { return wmemcmp(__s1, __s2, __n); }
13621
13622       static size_t
13623       length(const char_type* __s)
13624       { return wcslen(__s); }
13625
13626       static const char_type*
13627       find(const char_type* __s, size_t __n, const char_type& __a)
13628       { return wmemchr(__s, __a, __n); }
13629
13630       static char_type*
13631       move(char_type* __s1, const char_type* __s2, size_t __n)
13632       { return wmemmove(__s1, __s2, __n); }
13633
13634       static char_type*
13635       copy(char_type* __s1, const char_type* __s2, size_t __n)
13636       { return wmemcpy(__s1, __s2, __n); }
13637
13638       static char_type*
13639       assign(char_type* __s, size_t __n, char_type __a)
13640       { return wmemset(__s, __a, __n); }
13641
13642       static char_type
13643       to_char_type(const int_type& __c) { return char_type(__c); }
13644
13645       static int_type
13646       to_int_type(const char_type& __c) { return int_type(__c); }
13647
13648       static bool
13649       eq_int_type(const int_type& __c1, const int_type& __c2)
13650       { return __c1 == __c2; }
13651
13652       static int_type
13653       eof() { return static_cast<int_type>((0xffffffffu)); }
13654
13655       static int_type
13656       not_eof(const int_type& __c)
13657       { return eq_int_type(__c, eof()) ? 0 : __c; }
13658   };
13659
13660
13661 }
13662 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
13663 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 1 3
13664 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
13665 #define _GLIBCXX_MEMORY 1
13666
13667        
13668 # 52 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
13669 #pragma GCC visibility push(default)
13670
13671
13672 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/allocator.h" 1 3
13673 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/allocator.h" 3
13674 #define _ALLOCATOR_H 1
13675
13676
13677 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++allocator.h" 1 3
13678 # 31 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++allocator.h" 3
13679 #define _CXX_ALLOCATOR_H 1
13680
13681
13682 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h" 1 3
13683 # 35 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h" 3
13684 #define _NEW_ALLOCATOR_H 1
13685
13686 #pragma GCC visibility push(default)
13687
13688 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/new" 1 3
13689 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/new" 3
13690 #define _NEW 
13691
13692
13693
13694
13695 #pragma GCC visibility push(default)
13696
13697 extern "C++" {
13698
13699 namespace std
13700 {
13701
13702
13703
13704
13705
13706   class bad_alloc : public exception
13707   {
13708   public:
13709     bad_alloc() throw() { }
13710
13711
13712     virtual ~bad_alloc() throw();
13713   };
13714
13715   struct nothrow_t { };
13716   extern const nothrow_t nothrow;
13717
13718
13719   typedef void (*new_handler)();
13720
13721   new_handler set_new_handler(new_handler) throw();
13722 }
13723 # 84 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/new" 3
13724 void* operator new(std::size_t) throw (std::bad_alloc);
13725 void* operator new[](std::size_t) throw (std::bad_alloc);
13726 void operator delete(void*) throw();
13727 void operator delete[](void*) throw();
13728 void* operator new(std::size_t, const std::nothrow_t&) throw();
13729 void* operator new[](std::size_t, const std::nothrow_t&) throw();
13730 void operator delete(void*, const std::nothrow_t&) throw();
13731 void operator delete[](void*, const std::nothrow_t&) throw();
13732
13733
13734 inline void* operator new(std::size_t, void* __p) throw() { return __p; }
13735 inline void* operator new[](std::size_t, void* __p) throw() { return __p; }
13736
13737
13738 inline void operator delete (void*, void*) throw() { }
13739 inline void operator delete[](void*, void*) throw() { }
13740
13741 }
13742
13743 #pragma GCC visibility pop
13744 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h" 2 3
13745
13746
13747 namespace __gnu_cxx
13748 {
13749
13750
13751
13752
13753
13754
13755
13756   template<typename _Tp>
13757     class new_allocator
13758     {
13759     public:
13760       typedef size_t size_type;
13761       typedef ptrdiff_t difference_type;
13762       typedef _Tp* pointer;
13763       typedef const _Tp* const_pointer;
13764       typedef _Tp& reference;
13765       typedef const _Tp& const_reference;
13766       typedef _Tp value_type;
13767
13768       template<typename _Tp1>
13769         struct rebind
13770         { typedef new_allocator<_Tp1> other; };
13771
13772       new_allocator() throw() { }
13773
13774       new_allocator(const new_allocator&) throw() { }
13775
13776       template<typename _Tp1>
13777         new_allocator(const new_allocator<_Tp1>&) throw() { }
13778
13779       ~new_allocator() throw() { }
13780
13781       pointer
13782       address(reference __x) const { return &__x; }
13783
13784       const_pointer
13785       address(const_reference __x) const { return &__x; }
13786
13787
13788
13789       pointer
13790       allocate(size_type __n, const void* = 0)
13791       {
13792  if (__builtin_expect(__n > this->max_size(), false))
13793    std::__throw_bad_alloc();
13794
13795  return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
13796       }
13797
13798
13799       void
13800       deallocate(pointer __p, size_type)
13801       { ::operator delete(__p); }
13802
13803       size_type
13804       max_size() const throw()
13805       { return size_t(-1) / sizeof(_Tp); }
13806
13807
13808
13809       void
13810       construct(pointer __p, const _Tp& __val)
13811       { ::new(__p) _Tp(__val); }
13812
13813       void
13814       destroy(pointer __p) { __p->~_Tp(); }
13815     };
13816
13817   template<typename _Tp>
13818     inline bool
13819     operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
13820     { return true; }
13821
13822   template<typename _Tp>
13823     inline bool
13824     operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
13825     { return false; }
13826 }
13827
13828 #pragma GCC visibility pop
13829 # 35 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/c++allocator.h" 2 3
13830 #define __glibcxx_base_allocator __gnu_cxx::new_allocator
13831 # 53 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/allocator.h" 2 3
13832
13833 namespace std
13834 {
13835   template<typename _Tp>
13836     class allocator;
13837
13838
13839   template<>
13840     class allocator<void>
13841     {
13842     public:
13843       typedef size_t size_type;
13844       typedef ptrdiff_t difference_type;
13845       typedef void* pointer;
13846       typedef const void* const_pointer;
13847       typedef void value_type;
13848
13849       template<typename _Tp1>
13850         struct rebind
13851         { typedef allocator<_Tp1> other; };
13852     };
13853
13854
13855
13856
13857
13858
13859
13860   template<typename _Tp>
13861     class allocator: public __gnu_cxx::new_allocator<_Tp>
13862     {
13863    public:
13864       typedef size_t size_type;
13865       typedef ptrdiff_t difference_type;
13866       typedef _Tp* pointer;
13867       typedef const _Tp* const_pointer;
13868       typedef _Tp& reference;
13869       typedef const _Tp& const_reference;
13870       typedef _Tp value_type;
13871
13872       template<typename _Tp1>
13873         struct rebind
13874         { typedef allocator<_Tp1> other; };
13875
13876       allocator() throw() { }
13877
13878       allocator(const allocator& __a) throw()
13879       : __gnu_cxx::new_allocator<_Tp>(__a) { }
13880
13881       template<typename _Tp1>
13882         allocator(const allocator<_Tp1>&) throw() { }
13883
13884       ~allocator() throw() { }
13885
13886
13887     };
13888
13889   template<typename _T1, typename _T2>
13890     inline bool
13891     operator==(const allocator<_T1>&, const allocator<_T2>&)
13892     { return true; }
13893
13894   template<typename _T1, typename _T2>
13895     inline bool
13896     operator!=(const allocator<_T1>&, const allocator<_T2>&)
13897     { return false; }
13898
13899
13900
13901
13902
13903   extern template class allocator<char>;
13904   extern template class allocator<wchar_t>;
13905
13906
13907
13908 #undef __glibcxx_base_allocator
13909 }
13910 # 56 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 2 3
13911 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 1 3
13912 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 3
13913 #define _STL_CONSTRUCT_H 1
13914
13915
13916
13917
13918 namespace std
13919 {
13920
13921
13922
13923
13924
13925
13926   template<typename _T1, typename _T2>
13927     inline void
13928     _Construct(_T1* __p, const _T2& __value)
13929     {
13930
13931
13932       ::new(static_cast<void*>(__p)) _T1(__value);
13933     }
13934
13935
13936
13937
13938
13939
13940
13941   template<typename _T1>
13942     inline void
13943     _Construct(_T1* __p)
13944     {
13945
13946
13947       ::new(static_cast<void*>(__p)) _T1();
13948     }
13949
13950
13951
13952
13953
13954
13955   template<typename _Tp>
13956     inline void
13957     _Destroy(_Tp* __pointer)
13958     { __pointer->~_Tp(); }
13959 # 116 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 3
13960   template<typename _ForwardIterator>
13961     inline void
13962     __destroy_aux(_ForwardIterator __first, _ForwardIterator __last,
13963     __false_type)
13964     {
13965       for (; __first != __last; ++__first)
13966  std::_Destroy(&*__first);
13967     }
13968 # 134 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 3
13969   template<typename _ForwardIterator>
13970     inline void
13971     __destroy_aux(_ForwardIterator, _ForwardIterator, __true_type)
13972     { }
13973 # 146 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 3
13974   template<typename _ForwardIterator>
13975     inline void
13976     _Destroy(_ForwardIterator __first, _ForwardIterator __last)
13977     {
13978       typedef typename iterator_traits<_ForwardIterator>::value_type
13979                        _Value_type;
13980       typedef typename std::__is_scalar<_Value_type>::__type
13981                 _Has_trivial_destructor;
13982
13983       std::__destroy_aux(__first, __last, _Has_trivial_destructor());
13984     }
13985 # 166 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 3
13986   template <typename _Tp> class allocator;
13987
13988   template<typename _ForwardIterator, typename _Allocator>
13989     void
13990     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
13991       _Allocator __alloc)
13992     {
13993       for (; __first != __last; ++__first)
13994  __alloc.destroy(&*__first);
13995     }
13996
13997   template<typename _ForwardIterator, typename _Tp>
13998     inline void
13999     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
14000       allocator<_Tp>)
14001     {
14002       _Destroy(__first, __last);
14003     }
14004
14005
14006 }
14007 # 57 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 2 3
14008
14009 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 1 3
14010 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 3
14011 #define _STL_UNINITIALIZED_H 1
14012
14013
14014
14015 namespace std
14016 {
14017
14018   template<typename _InputIterator, typename _ForwardIterator>
14019     inline _ForwardIterator
14020     __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last,
14021         _ForwardIterator __result,
14022         __true_type)
14023     { return std::copy(__first, __last, __result); }
14024
14025   template<typename _InputIterator, typename _ForwardIterator>
14026     inline _ForwardIterator
14027     __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last,
14028         _ForwardIterator __result,
14029         __false_type)
14030     {
14031       _ForwardIterator __cur = __result;
14032       try
14033  {
14034    for (; __first != __last; ++__first, ++__cur)
14035      std::_Construct(&*__cur, *__first);
14036    return __cur;
14037  }
14038       catch(...)
14039  {
14040    std::_Destroy(__result, __cur);
14041    throw;
14042  }
14043     }
14044 # 105 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 3
14045   template<typename _InputIterator, typename _ForwardIterator>
14046     inline _ForwardIterator
14047     uninitialized_copy(_InputIterator __first, _InputIterator __last,
14048          _ForwardIterator __result)
14049     {
14050       typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType;
14051       typedef typename std::__is_scalar<_ValueType>::__type _Is_POD;
14052       return std::__uninitialized_copy_aux(__first, __last, __result,
14053         _Is_POD());
14054     }
14055
14056   inline char*
14057   uninitialized_copy(const char* __first, const char* __last, char* __result)
14058   {
14059     std::memmove(__result, __first, __last - __first);
14060     return __result + (__last - __first);
14061   }
14062
14063   inline wchar_t*
14064   uninitialized_copy(const wchar_t* __first, const wchar_t* __last,
14065        wchar_t* __result)
14066   {
14067     std::memmove(__result, __first, sizeof(wchar_t) * (__last - __first));
14068     return __result + (__last - __first);
14069   }
14070
14071
14072
14073   template<typename _ForwardIterator, typename _Tp>
14074     inline void
14075     __uninitialized_fill_aux(_ForwardIterator __first,
14076         _ForwardIterator __last,
14077         const _Tp& __x, __true_type)
14078     { std::fill(__first, __last, __x); }
14079
14080   template<typename _ForwardIterator, typename _Tp>
14081     void
14082     __uninitialized_fill_aux(_ForwardIterator __first, _ForwardIterator __last,
14083         const _Tp& __x, __false_type)
14084     {
14085       _ForwardIterator __cur = __first;
14086       try
14087  {
14088    for (; __cur != __last; ++__cur)
14089      std::_Construct(&*__cur, __x);
14090  }
14091       catch(...)
14092  {
14093    std::_Destroy(__first, __cur);
14094    throw;
14095  }
14096     }
14097 # 167 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 3
14098   template<typename _ForwardIterator, typename _Tp>
14099     inline void
14100     uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last,
14101          const _Tp& __x)
14102     {
14103       typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType;
14104       typedef typename std::__is_scalar<_ValueType>::__type _Is_POD;
14105       std::__uninitialized_fill_aux(__first, __last, __x, _Is_POD());
14106     }
14107
14108
14109
14110   template<typename _ForwardIterator, typename _Size, typename _Tp>
14111     inline void
14112     __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n,
14113           const _Tp& __x, __true_type)
14114     { std::fill_n(__first, __n, __x); }
14115
14116   template<typename _ForwardIterator, typename _Size, typename _Tp>
14117     void
14118     __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n,
14119           const _Tp& __x, __false_type)
14120     {
14121       _ForwardIterator __cur = __first;
14122       try
14123  {
14124    for (; __n > 0; --__n, ++__cur)
14125      std::_Construct(&*__cur, __x);
14126  }
14127       catch(...)
14128  {
14129    std::_Destroy(__first, __cur);
14130    throw;
14131  }
14132     }
14133 # 212 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 3
14134   template<typename _ForwardIterator, typename _Size, typename _Tp>
14135     inline void
14136     uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
14137     {
14138       typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType;
14139       typedef typename std::__is_scalar<_ValueType>::__type _Is_POD;
14140       std::__uninitialized_fill_n_aux(__first, __n, __x, _Is_POD());
14141     }
14142
14143
14144
14145
14146
14147
14148
14149   template<typename _InputIterator, typename _ForwardIterator,
14150     typename _Allocator>
14151     _ForwardIterator
14152     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
14153       _ForwardIterator __result,
14154       _Allocator __alloc)
14155     {
14156       _ForwardIterator __cur = __result;
14157       try
14158  {
14159    for (; __first != __last; ++__first, ++__cur)
14160      __alloc.construct(&*__cur, *__first);
14161    return __cur;
14162  }
14163       catch(...)
14164  {
14165    std::_Destroy(__result, __cur, __alloc);
14166    throw;
14167  }
14168     }
14169
14170   template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
14171     inline _ForwardIterator
14172     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
14173       _ForwardIterator __result,
14174       allocator<_Tp>)
14175     {
14176       return std::uninitialized_copy(__first, __last, __result);
14177     }
14178
14179   template<typename _ForwardIterator, typename _Tp, typename _Allocator>
14180     void
14181     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
14182       const _Tp& __x, _Allocator __alloc)
14183     {
14184       _ForwardIterator __cur = __first;
14185       try
14186  {
14187    for (; __cur != __last; ++__cur)
14188      __alloc.construct(&*__cur, __x);
14189  }
14190       catch(...)
14191  {
14192    std::_Destroy(__first, __cur, __alloc);
14193    throw;
14194  }
14195     }
14196
14197   template<typename _ForwardIterator, typename _Tp, typename _Tp2>
14198     inline void
14199     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
14200       const _Tp& __x, allocator<_Tp2>)
14201     {
14202       std::uninitialized_fill(__first, __last, __x);
14203     }
14204
14205   template<typename _ForwardIterator, typename _Size, typename _Tp,
14206     typename _Allocator>
14207     void
14208     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
14209         const _Tp& __x,
14210         _Allocator __alloc)
14211     {
14212       _ForwardIterator __cur = __first;
14213       try
14214  {
14215    for (; __n > 0; --__n, ++__cur)
14216      __alloc.construct(&*__cur, __x);
14217  }
14218       catch(...)
14219  {
14220    std::_Destroy(__first, __cur, __alloc);
14221    throw;
14222  }
14223     }
14224
14225   template<typename _ForwardIterator, typename _Size, typename _Tp,
14226     typename _Tp2>
14227     void
14228     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
14229         const _Tp& __x,
14230         allocator<_Tp2>)
14231     {
14232       std::uninitialized_fill_n(__first, __n, __x);
14233     }
14234 # 323 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 3
14235   template<typename _InputIterator1, typename _InputIterator2,
14236     typename _ForwardIterator, typename _Allocator>
14237     inline _ForwardIterator
14238     __uninitialized_copy_copy(_InputIterator1 __first1,
14239          _InputIterator1 __last1,
14240          _InputIterator2 __first2,
14241          _InputIterator2 __last2,
14242          _ForwardIterator __result,
14243          _Allocator __alloc)
14244     {
14245       _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1,
14246           __result,
14247           __alloc);
14248       try
14249  {
14250    return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
14251  }
14252       catch(...)
14253  {
14254    std::_Destroy(__result, __mid, __alloc);
14255    throw;
14256  }
14257     }
14258
14259
14260
14261
14262   template<typename _ForwardIterator, typename _Tp, typename _InputIterator,
14263     typename _Allocator>
14264     inline _ForwardIterator
14265     __uninitialized_fill_copy(_ForwardIterator __result, _ForwardIterator __mid,
14266          const _Tp& __x, _InputIterator __first,
14267          _InputIterator __last,
14268          _Allocator __alloc)
14269     {
14270       std::__uninitialized_fill_a(__result, __mid, __x, __alloc);
14271       try
14272  {
14273    return std::__uninitialized_copy_a(__first, __last, __mid, __alloc);
14274  }
14275       catch(...)
14276  {
14277    std::_Destroy(__result, __mid, __alloc);
14278    throw;
14279  }
14280     }
14281
14282
14283
14284
14285   template<typename _InputIterator, typename _ForwardIterator, typename _Tp,
14286     typename _Allocator>
14287     inline void
14288     __uninitialized_copy_fill(_InputIterator __first1, _InputIterator __last1,
14289          _ForwardIterator __first2,
14290          _ForwardIterator __last2, const _Tp& __x,
14291          _Allocator __alloc)
14292     {
14293       _ForwardIterator __mid2 = std::__uninitialized_copy_a(__first1, __last1,
14294            __first2,
14295            __alloc);
14296       try
14297  {
14298    std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc);
14299  }
14300       catch(...)
14301  {
14302    std::_Destroy(__first2, __mid2, __alloc);
14303    throw;
14304  }
14305     }
14306
14307 }
14308 # 59 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 2 3
14309 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_raw_storage_iter.h" 1 3
14310 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_raw_storage_iter.h" 3
14311 #define _STL_RAW_STORAGE_ITERATOR_H 1
14312
14313 namespace std
14314 {
14315
14316
14317
14318
14319   template <class _ForwardIterator, class _Tp>
14320     class raw_storage_iterator
14321     : public iterator<output_iterator_tag, void, void, void, void>
14322     {
14323     protected:
14324       _ForwardIterator _M_iter;
14325
14326     public:
14327       explicit
14328       raw_storage_iterator(_ForwardIterator __x)
14329       : _M_iter(__x) {}
14330
14331       raw_storage_iterator&
14332       operator*() { return *this; }
14333
14334       raw_storage_iterator&
14335       operator=(const _Tp& __element)
14336       {
14337  std::_Construct(&*_M_iter, __element);
14338  return *this;
14339       }
14340
14341       raw_storage_iterator<_ForwardIterator, _Tp>&
14342       operator++()
14343       {
14344  ++_M_iter;
14345  return *this;
14346       }
14347
14348       raw_storage_iterator<_ForwardIterator, _Tp>
14349       operator++(int)
14350       {
14351  raw_storage_iterator<_ForwardIterator, _Tp> __tmp = *this;
14352  ++_M_iter;
14353  return __tmp;
14354       }
14355     };
14356 }
14357 # 60 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 2 3
14358
14359 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/limits" 1 3
14360 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/limits" 3
14361 #define _GLIBCXX_NUMERIC_LIMITS 1
14362
14363        
14364 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/limits" 3
14365 #pragma GCC visibility push(default)
14366 # 87 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/limits" 3
14367 #define __glibcxx_integral_traps true
14368 # 96 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/limits" 3
14369 #define __glibcxx_float_has_denorm_loss false
14370
14371
14372 #define __glibcxx_float_traps false
14373
14374
14375 #define __glibcxx_float_tinyness_before false
14376
14377
14378
14379
14380
14381
14382
14383 #define __glibcxx_double_has_denorm_loss false
14384
14385
14386 #define __glibcxx_double_traps false
14387
14388
14389 #define __glibcxx_double_tinyness_before false
14390
14391
14392
14393
14394
14395
14396
14397 #define __glibcxx_long_double_has_denorm_loss false
14398
14399
14400 #define __glibcxx_long_double_traps false
14401
14402
14403 #define __glibcxx_long_double_tinyness_before false
14404
14405
14406
14407
14408 #define __glibcxx_signed(T) ((T)(-1) < 0)
14409
14410 #define __glibcxx_min(T) (__glibcxx_signed (T) ? (T)1 << __glibcxx_digits (T) : (T)0)
14411
14412
14413 #define __glibcxx_max(T) (__glibcxx_signed (T) ? ((T)1 << __glibcxx_digits (T)) - 1 : ~(T)0)
14414
14415
14416 #define __glibcxx_digits(T) (sizeof(T) * __CHAR_BIT__ - __glibcxx_signed (T))
14417
14418
14419
14420 #define __glibcxx_digits10(T) (__glibcxx_digits (T) * 643 / 2136)
14421
14422
14423
14424 namespace std
14425 {
14426
14427
14428
14429
14430
14431   enum float_round_style
14432   {
14433     round_indeterminate = -1,
14434     round_toward_zero = 0,
14435     round_to_nearest = 1,
14436     round_toward_infinity = 2,
14437     round_toward_neg_infinity = 3
14438   };
14439
14440
14441
14442
14443
14444
14445
14446   enum float_denorm_style
14447   {
14448
14449     denorm_indeterminate = -1,
14450
14451     denorm_absent = 0,
14452
14453     denorm_present = 1
14454   };
14455 # 193 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/limits" 3
14456   struct __numeric_limits_base
14457   {
14458
14459
14460     static const bool is_specialized = false;
14461
14462
14463
14464
14465     static const int digits = 0;
14466
14467     static const int digits10 = 0;
14468
14469     static const bool is_signed = false;
14470
14471
14472
14473
14474
14475     static const bool is_integer = false;
14476
14477
14478
14479
14480     static const bool is_exact = false;
14481
14482
14483     static const int radix = 0;
14484
14485
14486
14487     static const int min_exponent = 0;
14488
14489
14490     static const int min_exponent10 = 0;
14491
14492
14493
14494     static const int max_exponent = 0;
14495
14496
14497     static const int max_exponent10 = 0;
14498
14499
14500     static const bool has_infinity = false;
14501
14502
14503     static const bool has_quiet_NaN = false;
14504
14505
14506     static const bool has_signaling_NaN = false;
14507
14508     static const float_denorm_style has_denorm = denorm_absent;
14509
14510
14511     static const bool has_denorm_loss = false;
14512
14513
14514
14515     static const bool is_iec559 = false;
14516
14517
14518
14519     static const bool is_bounded = false;
14520
14521
14522
14523
14524     static const bool is_modulo = false;
14525
14526
14527     static const bool traps = false;
14528
14529     static const bool tinyness_before = false;
14530
14531
14532
14533     static const float_round_style round_style = round_toward_zero;
14534   };
14535 # 286 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/limits" 3
14536   template<typename _Tp>
14537     struct numeric_limits : public __numeric_limits_base
14538     {
14539
14540
14541       static _Tp min() throw() { return static_cast<_Tp>(0); }
14542
14543       static _Tp max() throw() { return static_cast<_Tp>(0); }
14544
14545
14546       static _Tp epsilon() throw() { return static_cast<_Tp>(0); }
14547
14548       static _Tp round_error() throw() { return static_cast<_Tp>(0); }
14549
14550       static _Tp infinity() throw() { return static_cast<_Tp>(0); }
14551
14552       static _Tp quiet_NaN() throw() { return static_cast<_Tp>(0); }
14553
14554
14555       static _Tp signaling_NaN() throw() { return static_cast<_Tp>(0); }
14556
14557
14558
14559       static _Tp denorm_min() throw() { return static_cast<_Tp>(0); }
14560     };
14561
14562
14563
14564
14565
14566   template<>
14567     struct numeric_limits<bool>
14568     {
14569       static const bool is_specialized = true;
14570
14571       static bool min() throw()
14572       { return false; }
14573       static bool max() throw()
14574       { return true; }
14575
14576       static const int digits = 1;
14577       static const int digits10 = 0;
14578       static const bool is_signed = false;
14579       static const bool is_integer = true;
14580       static const bool is_exact = true;
14581       static const int radix = 2;
14582       static bool epsilon() throw()
14583       { return false; }
14584       static bool round_error() throw()
14585       { return false; }
14586
14587       static const int min_exponent = 0;
14588       static const int min_exponent10 = 0;
14589       static const int max_exponent = 0;
14590       static const int max_exponent10 = 0;
14591
14592       static const bool has_infinity = false;
14593       static const bool has_quiet_NaN = false;
14594       static const bool has_signaling_NaN = false;
14595       static const float_denorm_style has_denorm = denorm_absent;
14596       static const bool has_denorm_loss = false;
14597
14598       static bool infinity() throw()
14599       { return false; }
14600       static bool quiet_NaN() throw()
14601       { return false; }
14602       static bool signaling_NaN() throw()
14603       { return false; }
14604       static bool denorm_min() throw()
14605       { return false; }
14606
14607       static const bool is_iec559 = false;
14608       static const bool is_bounded = true;
14609       static const bool is_modulo = false;
14610
14611
14612
14613
14614       static const bool traps = true;
14615       static const bool tinyness_before = false;
14616       static const float_round_style round_style = round_toward_zero;
14617     };
14618
14619
14620   template<>
14621     struct numeric_limits<char>
14622     {
14623       static const bool is_specialized = true;
14624
14625       static char min() throw()
14626       { return (((char)(-1) < 0) ? (char)1 << (sizeof(char) * 8 - ((char)(-1) < 0)) : (char)0); }
14627       static char max() throw()
14628       { return (((char)(-1) < 0) ? ((char)1 << (sizeof(char) * 8 - ((char)(-1) < 0))) - 1 : ~(char)0); }
14629
14630       static const int digits = (sizeof(char) * 8 - ((char)(-1) < 0));
14631       static const int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643 / 2136);
14632       static const bool is_signed = ((char)(-1) < 0);
14633       static const bool is_integer = true;
14634       static const bool is_exact = true;
14635       static const int radix = 2;
14636       static char epsilon() throw()
14637       { return 0; }
14638       static char round_error() throw()
14639       { return 0; }
14640
14641       static const int min_exponent = 0;
14642       static const int min_exponent10 = 0;
14643       static const int max_exponent = 0;
14644       static const int max_exponent10 = 0;
14645
14646       static const bool has_infinity = false;
14647       static const bool has_quiet_NaN = false;
14648       static const bool has_signaling_NaN = false;
14649       static const float_denorm_style has_denorm = denorm_absent;
14650       static const bool has_denorm_loss = false;
14651
14652       static char infinity() throw()
14653       { return char(); }
14654       static char quiet_NaN() throw()
14655       { return char(); }
14656       static char signaling_NaN() throw()
14657       { return char(); }
14658       static char denorm_min() throw()
14659       { return static_cast<char>(0); }
14660
14661       static const bool is_iec559 = false;
14662       static const bool is_bounded = true;
14663       static const bool is_modulo = true;
14664
14665       static const bool traps = true;
14666       static const bool tinyness_before = false;
14667       static const float_round_style round_style = round_toward_zero;
14668     };
14669
14670
14671   template<>
14672     struct numeric_limits<signed char>
14673     {
14674       static const bool is_specialized = true;
14675
14676       static signed char min() throw()
14677       { return -127 - 1; }
14678       static signed char max() throw()
14679       { return 127; }
14680
14681       static const int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0));
14682       static const int digits10 = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643 / 2136);
14683       static const bool is_signed = true;
14684       static const bool is_integer = true;
14685       static const bool is_exact = true;
14686       static const int radix = 2;
14687       static signed char epsilon() throw()
14688       { return 0; }
14689       static signed char round_error() throw()
14690       { return 0; }
14691
14692       static const int min_exponent = 0;
14693       static const int min_exponent10 = 0;
14694       static const int max_exponent = 0;
14695       static const int max_exponent10 = 0;
14696
14697       static const bool has_infinity = false;
14698       static const bool has_quiet_NaN = false;
14699       static const bool has_signaling_NaN = false;
14700       static const float_denorm_style has_denorm = denorm_absent;
14701       static const bool has_denorm_loss = false;
14702
14703       static signed char infinity() throw()
14704       { return static_cast<signed char>(0); }
14705       static signed char quiet_NaN() throw()
14706       { return static_cast<signed char>(0); }
14707       static signed char signaling_NaN() throw()
14708       { return static_cast<signed char>(0); }
14709       static signed char denorm_min() throw()
14710       { return static_cast<signed char>(0); }
14711
14712       static const bool is_iec559 = false;
14713       static const bool is_bounded = true;
14714       static const bool is_modulo = true;
14715
14716       static const bool traps = true;
14717       static const bool tinyness_before = false;
14718       static const float_round_style round_style = round_toward_zero;
14719     };
14720
14721
14722   template<>
14723     struct numeric_limits<unsigned char>
14724     {
14725       static const bool is_specialized = true;
14726
14727       static unsigned char min() throw()
14728       { return 0; }
14729       static unsigned char max() throw()
14730       { return 127 * 2U + 1; }
14731
14732       static const int digits = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0));
14733       static const int digits10 = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643 / 2136);
14734       static const bool is_signed = false;
14735       static const bool is_integer = true;
14736       static const bool is_exact = true;
14737       static const int radix = 2;
14738       static unsigned char epsilon() throw()
14739       { return 0; }
14740       static unsigned char round_error() throw()
14741       { return 0; }
14742
14743       static const int min_exponent = 0;
14744       static const int min_exponent10 = 0;
14745       static const int max_exponent = 0;
14746       static const int max_exponent10 = 0;
14747
14748       static const bool has_infinity = false;
14749       static const bool has_quiet_NaN = false;
14750       static const bool has_signaling_NaN = false;
14751       static const float_denorm_style has_denorm = denorm_absent;
14752       static const bool has_denorm_loss = false;
14753
14754       static unsigned char infinity() throw()
14755       { return static_cast<unsigned char>(0); }
14756       static unsigned char quiet_NaN() throw()
14757       { return static_cast<unsigned char>(0); }
14758       static unsigned char signaling_NaN() throw()
14759       { return static_cast<unsigned char>(0); }
14760       static unsigned char denorm_min() throw()
14761       { return static_cast<unsigned char>(0); }
14762
14763       static const bool is_iec559 = false;
14764       static const bool is_bounded = true;
14765       static const bool is_modulo = true;
14766
14767       static const bool traps = true;
14768       static const bool tinyness_before = false;
14769       static const float_round_style round_style = round_toward_zero;
14770     };
14771
14772
14773   template<>
14774     struct numeric_limits<wchar_t>
14775     {
14776       static const bool is_specialized = true;
14777
14778       static wchar_t min() throw()
14779       { return (((wchar_t)(-1) < 0) ? (wchar_t)1 << (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) : (wchar_t)0); }
14780       static wchar_t max() throw()
14781       { return (((wchar_t)(-1) < 0) ? ((wchar_t)1 << (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0))) - 1 : ~(wchar_t)0); }
14782
14783       static const int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0));
14784       static const int digits10 = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643 / 2136);
14785       static const bool is_signed = ((wchar_t)(-1) < 0);
14786       static const bool is_integer = true;
14787       static const bool is_exact = true;
14788       static const int radix = 2;
14789       static wchar_t epsilon() throw()
14790       { return 0; }
14791       static wchar_t round_error() throw()
14792       { return 0; }
14793
14794       static const int min_exponent = 0;
14795       static const int min_exponent10 = 0;
14796       static const int max_exponent = 0;
14797       static const int max_exponent10 = 0;
14798
14799       static const bool has_infinity = false;
14800       static const bool has_quiet_NaN = false;
14801       static const bool has_signaling_NaN = false;
14802       static const float_denorm_style has_denorm = denorm_absent;
14803       static const bool has_denorm_loss = false;
14804
14805       static wchar_t infinity() throw()
14806       { return wchar_t(); }
14807       static wchar_t quiet_NaN() throw()
14808       { return wchar_t(); }
14809       static wchar_t signaling_NaN() throw()
14810       { return wchar_t(); }
14811       static wchar_t denorm_min() throw()
14812       { return wchar_t(); }
14813
14814       static const bool is_iec559 = false;
14815       static const bool is_bounded = true;
14816       static const bool is_modulo = true;
14817
14818       static const bool traps = true;
14819       static const bool tinyness_before = false;
14820       static const float_round_style round_style = round_toward_zero;
14821     };
14822
14823
14824   template<>
14825     struct numeric_limits<short>
14826     {
14827       static const bool is_specialized = true;
14828
14829       static short min() throw()
14830       { return -32767 - 1; }
14831       static short max() throw()
14832       { return 32767; }
14833
14834       static const int digits = (sizeof(short) * 8 - ((short)(-1) < 0));
14835       static const int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643 / 2136);
14836       static const bool is_signed = true;
14837       static const bool is_integer = true;
14838       static const bool is_exact = true;
14839       static const int radix = 2;
14840       static short epsilon() throw()
14841       { return 0; }
14842       static short round_error() throw()
14843       { return 0; }
14844
14845       static const int min_exponent = 0;
14846       static const int min_exponent10 = 0;
14847       static const int max_exponent = 0;
14848       static const int max_exponent10 = 0;
14849
14850       static const bool has_infinity = false;
14851       static const bool has_quiet_NaN = false;
14852       static const bool has_signaling_NaN = false;
14853       static const float_denorm_style has_denorm = denorm_absent;
14854       static const bool has_denorm_loss = false;
14855
14856       static short infinity() throw()
14857       { return short(); }
14858       static short quiet_NaN() throw()
14859       { return short(); }
14860       static short signaling_NaN() throw()
14861       { return short(); }
14862       static short denorm_min() throw()
14863       { return short(); }
14864
14865       static const bool is_iec559 = false;
14866       static const bool is_bounded = true;
14867       static const bool is_modulo = true;
14868
14869       static const bool traps = true;
14870       static const bool tinyness_before = false;
14871       static const float_round_style round_style = round_toward_zero;
14872     };
14873
14874
14875   template<>
14876     struct numeric_limits<unsigned short>
14877     {
14878       static const bool is_specialized = true;
14879
14880       static unsigned short min() throw()
14881       { return 0; }
14882       static unsigned short max() throw()
14883       { return 32767 * 2U + 1; }
14884
14885       static const int digits = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0));
14886       static const int digits10 = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643 / 2136);
14887       static const bool is_signed = false;
14888       static const bool is_integer = true;
14889       static const bool is_exact = true;
14890       static const int radix = 2;
14891       static unsigned short epsilon() throw()
14892       { return 0; }
14893       static unsigned short round_error() throw()
14894       { return 0; }
14895
14896       static const int min_exponent = 0;
14897       static const int min_exponent10 = 0;
14898       static const int max_exponent = 0;
14899       static const int max_exponent10 = 0;
14900
14901       static const bool has_infinity = false;
14902       static const bool has_quiet_NaN = false;
14903       static const bool has_signaling_NaN = false;
14904       static const float_denorm_style has_denorm = denorm_absent;
14905       static const bool has_denorm_loss = false;
14906
14907       static unsigned short infinity() throw()
14908       { return static_cast<unsigned short>(0); }
14909       static unsigned short quiet_NaN() throw()
14910       { return static_cast<unsigned short>(0); }
14911       static unsigned short signaling_NaN() throw()
14912       { return static_cast<unsigned short>(0); }
14913       static unsigned short denorm_min() throw()
14914       { return static_cast<unsigned short>(0); }
14915
14916       static const bool is_iec559 = false;
14917       static const bool is_bounded = true;
14918       static const bool is_modulo = true;
14919
14920       static const bool traps = true;
14921       static const bool tinyness_before = false;
14922       static const float_round_style round_style = round_toward_zero;
14923     };
14924
14925
14926   template<>
14927     struct numeric_limits<int>
14928     {
14929       static const bool is_specialized = true;
14930
14931       static int min() throw()
14932       { return -2147483647 - 1; }
14933       static int max() throw()
14934       { return 2147483647; }
14935
14936       static const int digits = (sizeof(int) * 8 - ((int)(-1) < 0));
14937       static const int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643 / 2136);
14938       static const bool is_signed = true;
14939       static const bool is_integer = true;
14940       static const bool is_exact = true;
14941       static const int radix = 2;
14942       static int epsilon() throw()
14943       { return 0; }
14944       static int round_error() throw()
14945       { return 0; }
14946
14947       static const int min_exponent = 0;
14948       static const int min_exponent10 = 0;
14949       static const int max_exponent = 0;
14950       static const int max_exponent10 = 0;
14951
14952       static const bool has_infinity = false;
14953       static const bool has_quiet_NaN = false;
14954       static const bool has_signaling_NaN = false;
14955       static const float_denorm_style has_denorm = denorm_absent;
14956       static const bool has_denorm_loss = false;
14957
14958       static int infinity() throw()
14959       { return static_cast<int>(0); }
14960       static int quiet_NaN() throw()
14961       { return static_cast<int>(0); }
14962       static int signaling_NaN() throw()
14963       { return static_cast<int>(0); }
14964       static int denorm_min() throw()
14965       { return static_cast<int>(0); }
14966
14967       static const bool is_iec559 = false;
14968       static const bool is_bounded = true;
14969       static const bool is_modulo = true;
14970
14971       static const bool traps = true;
14972       static const bool tinyness_before = false;
14973       static const float_round_style round_style = round_toward_zero;
14974     };
14975
14976
14977   template<>
14978     struct numeric_limits<unsigned int>
14979     {
14980       static const bool is_specialized = true;
14981
14982       static unsigned int min() throw()
14983       { return 0; }
14984       static unsigned int max() throw()
14985       { return 2147483647 * 2U + 1; }
14986
14987       static const int digits = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0));
14988       static const int digits10 = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643 / 2136);
14989       static const bool is_signed = false;
14990       static const bool is_integer = true;
14991       static const bool is_exact = true;
14992       static const int radix = 2;
14993       static unsigned int epsilon() throw()
14994       { return 0; }
14995       static unsigned int round_error() throw()
14996       { return 0; }
14997
14998       static const int min_exponent = 0;
14999       static const int min_exponent10 = 0;
15000       static const int max_exponent = 0;
15001       static const int max_exponent10 = 0;
15002
15003       static const bool has_infinity = false;
15004       static const bool has_quiet_NaN = false;
15005       static const bool has_signaling_NaN = false;
15006       static const float_denorm_style has_denorm = denorm_absent;
15007       static const bool has_denorm_loss = false;
15008
15009       static unsigned int infinity() throw()
15010       { return static_cast<unsigned int>(0); }
15011       static unsigned int quiet_NaN() throw()
15012       { return static_cast<unsigned int>(0); }
15013       static unsigned int signaling_NaN() throw()
15014       { return static_cast<unsigned int>(0); }
15015       static unsigned int denorm_min() throw()
15016       { return static_cast<unsigned int>(0); }
15017
15018       static const bool is_iec559 = false;
15019       static const bool is_bounded = true;
15020       static const bool is_modulo = true;
15021
15022       static const bool traps = true;
15023       static const bool tinyness_before = false;
15024       static const float_round_style round_style = round_toward_zero;
15025     };
15026
15027
15028   template<>
15029     struct numeric_limits<long>
15030     {
15031       static const bool is_specialized = true;
15032
15033       static long min() throw()
15034       { return -2147483647L - 1; }
15035       static long max() throw()
15036       { return 2147483647L; }
15037
15038       static const int digits = (sizeof(long) * 8 - ((long)(-1) < 0));
15039       static const int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643 / 2136);
15040       static const bool is_signed = true;
15041       static const bool is_integer = true;
15042       static const bool is_exact = true;
15043       static const int radix = 2;
15044       static long epsilon() throw()
15045       { return 0; }
15046       static long round_error() throw()
15047       { return 0; }
15048
15049       static const int min_exponent = 0;
15050       static const int min_exponent10 = 0;
15051       static const int max_exponent = 0;
15052       static const int max_exponent10 = 0;
15053
15054       static const bool has_infinity = false;
15055       static const bool has_quiet_NaN = false;
15056       static const bool has_signaling_NaN = false;
15057       static const float_denorm_style has_denorm = denorm_absent;
15058       static const bool has_denorm_loss = false;
15059
15060       static long infinity() throw()
15061       { return static_cast<long>(0); }
15062       static long quiet_NaN() throw()
15063       { return static_cast<long>(0); }
15064       static long signaling_NaN() throw()
15065       { return static_cast<long>(0); }
15066       static long denorm_min() throw()
15067       { return static_cast<long>(0); }
15068
15069       static const bool is_iec559 = false;
15070       static const bool is_bounded = true;
15071       static const bool is_modulo = true;
15072
15073       static const bool traps = true;
15074       static const bool tinyness_before = false;
15075       static const float_round_style round_style = round_toward_zero;
15076     };
15077
15078
15079   template<>
15080     struct numeric_limits<unsigned long>
15081     {
15082       static const bool is_specialized = true;
15083
15084       static unsigned long min() throw()
15085       { return 0; }
15086       static unsigned long max() throw()
15087       { return 2147483647L * 2UL + 1; }
15088
15089       static const int digits = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0));
15090       static const int digits10 = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643 / 2136);
15091       static const bool is_signed = false;
15092       static const bool is_integer = true;
15093       static const bool is_exact = true;
15094       static const int radix = 2;
15095       static unsigned long epsilon() throw()
15096       { return 0; }
15097       static unsigned long round_error() throw()
15098       { return 0; }
15099
15100       static const int min_exponent = 0;
15101       static const int min_exponent10 = 0;
15102       static const int max_exponent = 0;
15103       static const int max_exponent10 = 0;
15104
15105       static const bool has_infinity = false;
15106       static const bool has_quiet_NaN = false;
15107       static const bool has_signaling_NaN = false;
15108       static const float_denorm_style has_denorm = denorm_absent;
15109       static const bool has_denorm_loss = false;
15110
15111       static unsigned long infinity() throw()
15112       { return static_cast<unsigned long>(0); }
15113       static unsigned long quiet_NaN() throw()
15114       { return static_cast<unsigned long>(0); }
15115       static unsigned long signaling_NaN() throw()
15116       { return static_cast<unsigned long>(0); }
15117       static unsigned long denorm_min() throw()
15118       { return static_cast<unsigned long>(0); }
15119
15120       static const bool is_iec559 = false;
15121       static const bool is_bounded = true;
15122       static const bool is_modulo = true;
15123
15124       static const bool traps = true;
15125       static const bool tinyness_before = false;
15126       static const float_round_style round_style = round_toward_zero;
15127     };
15128
15129
15130   template<>
15131     struct numeric_limits<long long>
15132     {
15133       static const bool is_specialized = true;
15134
15135       static long long min() throw()
15136       { return -9223372036854775807LL - 1; }
15137       static long long max() throw()
15138       { return 9223372036854775807LL; }
15139
15140       static const int digits = (sizeof(long long) * 8 - ((long long)(-1) < 0));
15141       static const int digits10 = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643 / 2136);
15142       static const bool is_signed = true;
15143       static const bool is_integer = true;
15144       static const bool is_exact = true;
15145       static const int radix = 2;
15146       static long long epsilon() throw()
15147       { return 0; }
15148       static long long round_error() throw()
15149       { return 0; }
15150
15151       static const int min_exponent = 0;
15152       static const int min_exponent10 = 0;
15153       static const int max_exponent = 0;
15154       static const int max_exponent10 = 0;
15155
15156       static const bool has_infinity = false;
15157       static const bool has_quiet_NaN = false;
15158       static const bool has_signaling_NaN = false;
15159       static const float_denorm_style has_denorm = denorm_absent;
15160       static const bool has_denorm_loss = false;
15161
15162       static long long infinity() throw()
15163       { return static_cast<long long>(0); }
15164       static long long quiet_NaN() throw()
15165       { return static_cast<long long>(0); }
15166       static long long signaling_NaN() throw()
15167       { return static_cast<long long>(0); }
15168       static long long denorm_min() throw()
15169       { return static_cast<long long>(0); }
15170
15171       static const bool is_iec559 = false;
15172       static const bool is_bounded = true;
15173       static const bool is_modulo = true;
15174
15175       static const bool traps = true;
15176       static const bool tinyness_before = false;
15177       static const float_round_style round_style = round_toward_zero;
15178     };
15179
15180
15181   template<>
15182     struct numeric_limits<unsigned long long>
15183     {
15184       static const bool is_specialized = true;
15185
15186       static unsigned long long min() throw()
15187       { return 0; }
15188       static unsigned long long max() throw()
15189       { return 9223372036854775807LL * 2ULL + 1; }
15190
15191       static const int digits = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0));
15192       static const int digits10 = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643 / 2136);
15193       static const bool is_signed = false;
15194       static const bool is_integer = true;
15195       static const bool is_exact = true;
15196       static const int radix = 2;
15197       static unsigned long long epsilon() throw()
15198       { return 0; }
15199       static unsigned long long round_error() throw()
15200       { return 0; }
15201
15202       static const int min_exponent = 0;
15203       static const int min_exponent10 = 0;
15204       static const int max_exponent = 0;
15205       static const int max_exponent10 = 0;
15206
15207       static const bool has_infinity = false;
15208       static const bool has_quiet_NaN = false;
15209       static const bool has_signaling_NaN = false;
15210       static const float_denorm_style has_denorm = denorm_absent;
15211       static const bool has_denorm_loss = false;
15212
15213       static unsigned long long infinity() throw()
15214       { return static_cast<unsigned long long>(0); }
15215       static unsigned long long quiet_NaN() throw()
15216       { return static_cast<unsigned long long>(0); }
15217       static unsigned long long signaling_NaN() throw()
15218       { return static_cast<unsigned long long>(0); }
15219       static unsigned long long denorm_min() throw()
15220       { return static_cast<unsigned long long>(0); }
15221
15222       static const bool is_iec559 = false;
15223       static const bool is_bounded = true;
15224       static const bool is_modulo = true;
15225
15226       static const bool traps = true;
15227       static const bool tinyness_before = false;
15228       static const float_round_style round_style = round_toward_zero;
15229     };
15230
15231
15232   template<>
15233     struct numeric_limits<float>
15234     {
15235       static const bool is_specialized = true;
15236
15237       static float min() throw()
15238       { return 1.17549435e-38F; }
15239       static float max() throw()
15240       { return 3.40282347e+38F; }
15241
15242       static const int digits = 24;
15243       static const int digits10 = 6;
15244       static const bool is_signed = true;
15245       static const bool is_integer = false;
15246       static const bool is_exact = false;
15247       static const int radix = 2;
15248       static float epsilon() throw()
15249       { return 1.19209290e-7F; }
15250       static float round_error() throw()
15251       { return 0.5F; }
15252
15253       static const int min_exponent = (-125);
15254       static const int min_exponent10 = (-37);
15255       static const int max_exponent = 128;
15256       static const int max_exponent10 = 38;
15257
15258       static const bool has_infinity = 1;
15259       static const bool has_quiet_NaN = 1;
15260       static const bool has_signaling_NaN = has_quiet_NaN;
15261       static const float_denorm_style has_denorm
15262  = bool(1.40129846e-45F) ? denorm_present : denorm_absent;
15263       static const bool has_denorm_loss = false;
15264
15265       static float infinity() throw()
15266       { return __builtin_huge_valf (); }
15267       static float quiet_NaN() throw()
15268       { return __builtin_nanf (""); }
15269       static float signaling_NaN() throw()
15270       { return __builtin_nansf (""); }
15271       static float denorm_min() throw()
15272       { return 1.40129846e-45F; }
15273
15274       static const bool is_iec559
15275  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
15276       static const bool is_bounded = true;
15277       static const bool is_modulo = false;
15278
15279       static const bool traps = false;
15280       static const bool tinyness_before = false;
15281       static const float_round_style round_style = round_to_nearest;
15282     };
15283
15284 #undef __glibcxx_float_has_denorm_loss
15285 #undef __glibcxx_float_traps
15286 #undef __glibcxx_float_tinyness_before
15287
15288
15289   template<>
15290     struct numeric_limits<double>
15291     {
15292       static const bool is_specialized = true;
15293
15294       static double min() throw()
15295       { return 2.2250738585072014e-308; }
15296       static double max() throw()
15297       { return 1.7976931348623157e+308; }
15298
15299       static const int digits = 53;
15300       static const int digits10 = 15;
15301       static const bool is_signed = true;
15302       static const bool is_integer = false;
15303       static const bool is_exact = false;
15304       static const int radix = 2;
15305       static double epsilon() throw()
15306       { return 2.2204460492503131e-16; }
15307       static double round_error() throw()
15308       { return 0.5; }
15309
15310       static const int min_exponent = (-1021);
15311       static const int min_exponent10 = (-307);
15312       static const int max_exponent = 1024;
15313       static const int max_exponent10 = 308;
15314
15315       static const bool has_infinity = 1;
15316       static const bool has_quiet_NaN = 1;
15317       static const bool has_signaling_NaN = has_quiet_NaN;
15318       static const float_denorm_style has_denorm
15319  = bool(4.9406564584124654e-324) ? denorm_present : denorm_absent;
15320       static const bool has_denorm_loss = false;
15321
15322       static double infinity() throw()
15323       { return __builtin_huge_val(); }
15324       static double quiet_NaN() throw()
15325       { return __builtin_nan (""); }
15326       static double signaling_NaN() throw()
15327       { return __builtin_nans (""); }
15328       static double denorm_min() throw()
15329       { return 4.9406564584124654e-324; }
15330
15331       static const bool is_iec559
15332  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
15333       static const bool is_bounded = true;
15334       static const bool is_modulo = false;
15335
15336       static const bool traps = false;
15337       static const bool tinyness_before = false;
15338       static const float_round_style round_style = round_to_nearest;
15339     };
15340
15341 #undef __glibcxx_double_has_denorm_loss
15342 #undef __glibcxx_double_traps
15343 #undef __glibcxx_double_tinyness_before
15344
15345
15346   template<>
15347     struct numeric_limits<long double>
15348     {
15349       static const bool is_specialized = true;
15350
15351       static long double min() throw()
15352       { return 3.36210314311209350626e-4932L; }
15353       static long double max() throw()
15354       { return 1.18973149535723176502e+4932L; }
15355
15356       static const int digits = 64;
15357       static const int digits10 = 18;
15358       static const bool is_signed = true;
15359       static const bool is_integer = false;
15360       static const bool is_exact = false;
15361       static const int radix = 2;
15362       static long double epsilon() throw()
15363       { return 1.08420217248550443401e-19L; }
15364       static long double round_error() throw()
15365       { return 0.5L; }
15366
15367       static const int min_exponent = (-16381);
15368       static const int min_exponent10 = (-4931);
15369       static const int max_exponent = 16384;
15370       static const int max_exponent10 = 4932;
15371
15372       static const bool has_infinity = 1;
15373       static const bool has_quiet_NaN = 1;
15374       static const bool has_signaling_NaN = has_quiet_NaN;
15375       static const float_denorm_style has_denorm
15376  = bool(3.64519953188247460253e-4951L) ? denorm_present : denorm_absent;
15377       static const bool has_denorm_loss
15378  = false;
15379
15380       static long double infinity() throw()
15381       { return __builtin_huge_vall (); }
15382       static long double quiet_NaN() throw()
15383       { return __builtin_nanl (""); }
15384       static long double signaling_NaN() throw()
15385       { return __builtin_nansl (""); }
15386       static long double denorm_min() throw()
15387       { return 3.64519953188247460253e-4951L; }
15388
15389       static const bool is_iec559
15390  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
15391       static const bool is_bounded = true;
15392       static const bool is_modulo = false;
15393
15394       static const bool traps = false;
15395       static const bool tinyness_before = false;
15396       static const float_round_style round_style = round_to_nearest;
15397     };
15398
15399 #undef __glibcxx_long_double_has_denorm_loss
15400 #undef __glibcxx_long_double_traps
15401 #undef __glibcxx_long_double_tinyness_before
15402
15403 }
15404
15405 #undef __glibcxx_signed
15406 #undef __glibcxx_min
15407 #undef __glibcxx_max
15408 #undef __glibcxx_digits
15409 #undef __glibcxx_digits10
15410
15411 #pragma GCC visibility pop
15412 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 2 3
15413
15414 namespace std
15415 {
15416 # 73 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15417   template<typename _Tp>
15418     pair<_Tp*, ptrdiff_t>
15419     __get_temporary_buffer(ptrdiff_t __len, _Tp*)
15420     {
15421       const ptrdiff_t __max = numeric_limits<ptrdiff_t>::max() / sizeof(_Tp);
15422       if (__len > __max)
15423  __len = __max;
15424
15425       while (__len > 0)
15426  {
15427    _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
15428        nothrow));
15429    if (__tmp != 0)
15430      return pair<_Tp*, ptrdiff_t>(__tmp, __len);
15431    __len /= 2;
15432  }
15433       return pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0);
15434     }
15435 # 109 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15436   template<typename _Tp>
15437     inline pair<_Tp*, ptrdiff_t>
15438     get_temporary_buffer(ptrdiff_t __len)
15439     { return std::__get_temporary_buffer(__len, static_cast<_Tp*>(0)); }
15440 # 121 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15441   template<typename _Tp>
15442     void
15443     return_temporary_buffer(_Tp* __p)
15444     { ::operator delete(__p, nothrow); }
15445 # 133 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15446   template<typename _Tp1>
15447     struct auto_ptr_ref
15448     {
15449       _Tp1* _M_ptr;
15450
15451       explicit
15452       auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { }
15453     };
15454 # 174 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15455   template<typename _Tp>
15456     class auto_ptr
15457     {
15458     private:
15459       _Tp* _M_ptr;
15460
15461     public:
15462
15463       typedef _Tp element_type;
15464
15465
15466
15467
15468
15469
15470
15471       explicit
15472       auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { }
15473 # 200 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15474       auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { }
15475 # 212 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15476       template<typename _Tp1>
15477         auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { }
15478 # 223 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15479       auto_ptr&
15480       operator=(auto_ptr& __a) throw()
15481       {
15482  reset(__a.release());
15483  return *this;
15484       }
15485 # 240 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15486       template<typename _Tp1>
15487         auto_ptr&
15488         operator=(auto_ptr<_Tp1>& __a) throw()
15489         {
15490    reset(__a.release());
15491    return *this;
15492  }
15493 # 260 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15494       ~auto_ptr() { delete _M_ptr; }
15495 # 270 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15496       element_type&
15497       operator*() const throw()
15498       {
15499  ;
15500  return *_M_ptr;
15501       }
15502
15503
15504
15505
15506
15507
15508
15509       element_type*
15510       operator->() const throw()
15511       {
15512  ;
15513  return _M_ptr;
15514       }
15515 # 300 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15516       element_type*
15517       get() const throw() { return _M_ptr; }
15518 # 314 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15519       element_type*
15520       release() throw()
15521       {
15522  element_type* __tmp = _M_ptr;
15523  _M_ptr = 0;
15524  return __tmp;
15525       }
15526 # 329 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15527       void
15528       reset(element_type* __p = 0) throw()
15529       {
15530  if (__p != _M_ptr)
15531    {
15532      delete _M_ptr;
15533      _M_ptr = __p;
15534    }
15535       }
15536 # 350 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
15537       auto_ptr(auto_ptr_ref<element_type> __ref) throw()
15538       : _M_ptr(__ref._M_ptr) { }
15539
15540       auto_ptr&
15541       operator=(auto_ptr_ref<element_type> __ref) throw()
15542       {
15543  if (__ref._M_ptr != this->get())
15544    {
15545      delete _M_ptr;
15546      _M_ptr = __ref._M_ptr;
15547    }
15548  return *this;
15549       }
15550
15551       template<typename _Tp1>
15552         operator auto_ptr_ref<_Tp1>() throw()
15553         { return auto_ptr_ref<_Tp1>(this->release()); }
15554
15555       template<typename _Tp1>
15556         operator auto_ptr<_Tp1>() throw()
15557         { return auto_ptr<_Tp1>(this->release()); }
15558   };
15559 }
15560
15561 #pragma GCC visibility pop
15562 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
15563
15564
15565
15566 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 1 3
15567 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
15568 #define _FUNCTION_H 1
15569
15570 namespace std
15571 {
15572 # 101 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
15573   template <class _Arg, class _Result>
15574     struct unary_function
15575     {
15576       typedef _Arg argument_type;
15577
15578
15579       typedef _Result result_type;
15580     };
15581
15582
15583
15584
15585   template <class _Arg1, class _Arg2, class _Result>
15586     struct binary_function
15587     {
15588       typedef _Arg1 first_argument_type;
15589
15590
15591       typedef _Arg2 second_argument_type;
15592       typedef _Result result_type;
15593     };
15594 # 133 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
15595   template <class _Tp>
15596     struct plus : public binary_function<_Tp, _Tp, _Tp>
15597     {
15598       _Tp
15599       operator()(const _Tp& __x, const _Tp& __y) const
15600       { return __x + __y; }
15601     };
15602
15603
15604   template <class _Tp>
15605     struct minus : public binary_function<_Tp, _Tp, _Tp>
15606     {
15607       _Tp
15608       operator()(const _Tp& __x, const _Tp& __y) const
15609       { return __x - __y; }
15610     };
15611
15612
15613   template <class _Tp>
15614     struct multiplies : public binary_function<_Tp, _Tp, _Tp>
15615     {
15616       _Tp
15617       operator()(const _Tp& __x, const _Tp& __y) const
15618       { return __x * __y; }
15619     };
15620
15621
15622   template <class _Tp>
15623     struct divides : public binary_function<_Tp, _Tp, _Tp>
15624     {
15625       _Tp
15626       operator()(const _Tp& __x, const _Tp& __y) const
15627       { return __x / __y; }
15628     };
15629
15630
15631   template <class _Tp>
15632     struct modulus : public binary_function<_Tp, _Tp, _Tp>
15633     {
15634       _Tp
15635       operator()(const _Tp& __x, const _Tp& __y) const
15636       { return __x % __y; }
15637     };
15638
15639
15640   template <class _Tp>
15641     struct negate : public unary_function<_Tp, _Tp>
15642     {
15643       _Tp
15644       operator()(const _Tp& __x) const
15645       { return -__x; }
15646     };
15647 # 195 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
15648   template <class _Tp>
15649     struct equal_to : public binary_function<_Tp, _Tp, bool>
15650     {
15651       bool
15652       operator()(const _Tp& __x, const _Tp& __y) const
15653       { return __x == __y; }
15654     };
15655
15656
15657   template <class _Tp>
15658     struct not_equal_to : public binary_function<_Tp, _Tp, bool>
15659     {
15660       bool
15661       operator()(const _Tp& __x, const _Tp& __y) const
15662       { return __x != __y; }
15663     };
15664
15665
15666   template <class _Tp>
15667     struct greater : public binary_function<_Tp, _Tp, bool>
15668     {
15669       bool
15670       operator()(const _Tp& __x, const _Tp& __y) const
15671       { return __x > __y; }
15672     };
15673
15674
15675   template <class _Tp>
15676     struct less : public binary_function<_Tp, _Tp, bool>
15677     {
15678       bool
15679       operator()(const _Tp& __x, const _Tp& __y) const
15680       { return __x < __y; }
15681     };
15682
15683
15684   template <class _Tp>
15685     struct greater_equal : public binary_function<_Tp, _Tp, bool>
15686     {
15687       bool
15688       operator()(const _Tp& __x, const _Tp& __y) const
15689       { return __x >= __y; }
15690     };
15691
15692
15693   template <class _Tp>
15694     struct less_equal : public binary_function<_Tp, _Tp, bool>
15695     {
15696       bool
15697       operator()(const _Tp& __x, const _Tp& __y) const
15698       { return __x <= __y; }
15699     };
15700 # 256 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
15701   template <class _Tp>
15702     struct logical_and : public binary_function<_Tp, _Tp, bool>
15703     {
15704       bool
15705       operator()(const _Tp& __x, const _Tp& __y) const
15706       { return __x && __y; }
15707     };
15708
15709
15710   template <class _Tp>
15711     struct logical_or : public binary_function<_Tp, _Tp, bool>
15712     {
15713       bool
15714       operator()(const _Tp& __x, const _Tp& __y) const
15715       { return __x || __y; }
15716     };
15717
15718
15719   template <class _Tp>
15720     struct logical_not : public unary_function<_Tp, bool>
15721     {
15722       bool
15723       operator()(const _Tp& __x) const
15724       { return !__x; }
15725     };
15726 # 311 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
15727   template <class _Predicate>
15728     class unary_negate
15729     : public unary_function<typename _Predicate::argument_type, bool>
15730     {
15731     protected:
15732       _Predicate _M_pred;
15733     public:
15734       explicit
15735       unary_negate(const _Predicate& __x) : _M_pred(__x) {}
15736
15737       bool
15738       operator()(const typename _Predicate::argument_type& __x) const
15739       { return !_M_pred(__x); }
15740     };
15741
15742
15743   template <class _Predicate>
15744     inline unary_negate<_Predicate>
15745     not1(const _Predicate& __pred)
15746     { return unary_negate<_Predicate>(__pred); }
15747
15748
15749   template <class _Predicate>
15750     class binary_negate
15751     : public binary_function<typename _Predicate::first_argument_type,
15752         typename _Predicate::second_argument_type,
15753         bool>
15754     {
15755     protected:
15756       _Predicate _M_pred;
15757     public:
15758       explicit
15759       binary_negate(const _Predicate& __x)
15760       : _M_pred(__x) { }
15761
15762       bool
15763       operator()(const typename _Predicate::first_argument_type& __x,
15764    const typename _Predicate::second_argument_type& __y) const
15765       { return !_M_pred(__x, __y); }
15766     };
15767
15768
15769   template <class _Predicate>
15770     inline binary_negate<_Predicate>
15771     not2(const _Predicate& __pred)
15772     { return binary_negate<_Predicate>(__pred); }
15773 # 391 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
15774   template <class _Operation>
15775     class binder1st
15776     : public unary_function<typename _Operation::second_argument_type,
15777        typename _Operation::result_type>
15778     {
15779     protected:
15780       _Operation op;
15781       typename _Operation::first_argument_type value;
15782     public:
15783       binder1st(const _Operation& __x,
15784   const typename _Operation::first_argument_type& __y)
15785       : op(__x), value(__y) {}
15786
15787       typename _Operation::result_type
15788       operator()(const typename _Operation::second_argument_type& __x) const
15789       { return op(value, __x); }
15790
15791
15792
15793       typename _Operation::result_type
15794       operator()(typename _Operation::second_argument_type& __x) const
15795       { return op(value, __x); }
15796     };
15797
15798
15799   template <class _Operation, class _Tp>
15800     inline binder1st<_Operation>
15801     bind1st(const _Operation& __fn, const _Tp& __x)
15802     {
15803       typedef typename _Operation::first_argument_type _Arg1_type;
15804       return binder1st<_Operation>(__fn, _Arg1_type(__x));
15805     }
15806
15807
15808   template <class _Operation>
15809     class binder2nd
15810     : public unary_function<typename _Operation::first_argument_type,
15811        typename _Operation::result_type>
15812     {
15813     protected:
15814       _Operation op;
15815       typename _Operation::second_argument_type value;
15816     public:
15817       binder2nd(const _Operation& __x,
15818   const typename _Operation::second_argument_type& __y)
15819       : op(__x), value(__y) {}
15820
15821       typename _Operation::result_type
15822       operator()(const typename _Operation::first_argument_type& __x) const
15823       { return op(__x, value); }
15824
15825
15826
15827       typename _Operation::result_type
15828       operator()(typename _Operation::first_argument_type& __x) const
15829       { return op(__x, value); }
15830     };
15831
15832
15833   template <class _Operation, class _Tp>
15834     inline binder2nd<_Operation>
15835     bind2nd(const _Operation& __fn, const _Tp& __x)
15836     {
15837       typedef typename _Operation::second_argument_type _Arg2_type;
15838       return binder2nd<_Operation>(__fn, _Arg2_type(__x));
15839     }
15840 # 480 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
15841   template <class _Arg, class _Result>
15842     class pointer_to_unary_function : public unary_function<_Arg, _Result>
15843     {
15844     protected:
15845       _Result (*_M_ptr)(_Arg);
15846     public:
15847       pointer_to_unary_function() {}
15848
15849       explicit
15850       pointer_to_unary_function(_Result (*__x)(_Arg))
15851       : _M_ptr(__x) {}
15852
15853       _Result
15854       operator()(_Arg __x) const
15855       { return _M_ptr(__x); }
15856     };
15857
15858
15859   template <class _Arg, class _Result>
15860     inline pointer_to_unary_function<_Arg, _Result>
15861     ptr_fun(_Result (*__x)(_Arg))
15862     { return pointer_to_unary_function<_Arg, _Result>(__x); }
15863
15864
15865   template <class _Arg1, class _Arg2, class _Result>
15866     class pointer_to_binary_function
15867     : public binary_function<_Arg1, _Arg2, _Result>
15868     {
15869     protected:
15870       _Result (*_M_ptr)(_Arg1, _Arg2);
15871     public:
15872       pointer_to_binary_function() {}
15873
15874       explicit
15875       pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
15876       : _M_ptr(__x) {}
15877
15878       _Result
15879       operator()(_Arg1 __x, _Arg2 __y) const
15880       { return _M_ptr(__x, __y); }
15881     };
15882
15883
15884   template <class _Arg1, class _Arg2, class _Result>
15885     inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
15886     ptr_fun(_Result (*__x)(_Arg1, _Arg2))
15887     { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
15888
15889
15890   template <class _Tp>
15891     struct _Identity : public unary_function<_Tp,_Tp>
15892     {
15893       _Tp&
15894       operator()(_Tp& __x) const
15895       { return __x; }
15896
15897       const _Tp&
15898       operator()(const _Tp& __x) const
15899       { return __x; }
15900     };
15901
15902   template <class _Pair>
15903     struct _Select1st : public unary_function<_Pair,
15904            typename _Pair::first_type>
15905     {
15906       typename _Pair::first_type&
15907       operator()(_Pair& __x) const
15908       { return __x.first; }
15909
15910       const typename _Pair::first_type&
15911       operator()(const _Pair& __x) const
15912       { return __x.first; }
15913     };
15914
15915   template <class _Pair>
15916     struct _Select2nd : public unary_function<_Pair,
15917            typename _Pair::second_type>
15918     {
15919       typename _Pair::second_type&
15920       operator()(_Pair& __x) const
15921       { return __x.second; }
15922
15923       const typename _Pair::second_type&
15924       operator()(const _Pair& __x) const
15925       { return __x.second; }
15926     };
15927 # 582 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
15928   template <class _Ret, class _Tp>
15929     class mem_fun_t : public unary_function<_Tp*, _Ret>
15930     {
15931     public:
15932       explicit
15933       mem_fun_t(_Ret (_Tp::*__pf)())
15934       : _M_f(__pf) {}
15935
15936       _Ret
15937       operator()(_Tp* __p) const
15938       { return (__p->*_M_f)(); }
15939     private:
15940       _Ret (_Tp::*_M_f)();
15941     };
15942
15943
15944   template <class _Ret, class _Tp>
15945     class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
15946     {
15947     public:
15948       explicit
15949       const_mem_fun_t(_Ret (_Tp::*__pf)() const)
15950       : _M_f(__pf) {}
15951
15952       _Ret
15953       operator()(const _Tp* __p) const
15954       { return (__p->*_M_f)(); }
15955     private:
15956       _Ret (_Tp::*_M_f)() const;
15957     };
15958
15959
15960   template <class _Ret, class _Tp>
15961     class mem_fun_ref_t : public unary_function<_Tp, _Ret>
15962     {
15963     public:
15964       explicit
15965       mem_fun_ref_t(_Ret (_Tp::*__pf)())
15966       : _M_f(__pf) {}
15967
15968       _Ret
15969       operator()(_Tp& __r) const
15970       { return (__r.*_M_f)(); }
15971     private:
15972       _Ret (_Tp::*_M_f)();
15973   };
15974
15975
15976   template <class _Ret, class _Tp>
15977     class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
15978     {
15979     public:
15980       explicit
15981       const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
15982       : _M_f(__pf) {}
15983
15984       _Ret
15985       operator()(const _Tp& __r) const
15986       { return (__r.*_M_f)(); }
15987     private:
15988       _Ret (_Tp::*_M_f)() const;
15989     };
15990
15991
15992   template <class _Ret, class _Tp, class _Arg>
15993     class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
15994     {
15995     public:
15996       explicit
15997       mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
15998       : _M_f(__pf) {}
15999
16000       _Ret
16001       operator()(_Tp* __p, _Arg __x) const
16002       { return (__p->*_M_f)(__x); }
16003     private:
16004       _Ret (_Tp::*_M_f)(_Arg);
16005     };
16006
16007
16008   template <class _Ret, class _Tp, class _Arg>
16009     class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
16010     {
16011     public:
16012       explicit
16013       const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
16014       : _M_f(__pf) {}
16015
16016       _Ret
16017       operator()(const _Tp* __p, _Arg __x) const
16018       { return (__p->*_M_f)(__x); }
16019     private:
16020       _Ret (_Tp::*_M_f)(_Arg) const;
16021     };
16022
16023
16024   template <class _Ret, class _Tp, class _Arg>
16025     class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
16026     {
16027     public:
16028       explicit
16029       mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
16030       : _M_f(__pf) {}
16031
16032       _Ret
16033       operator()(_Tp& __r, _Arg __x) const
16034       { return (__r.*_M_f)(__x); }
16035     private:
16036       _Ret (_Tp::*_M_f)(_Arg);
16037     };
16038
16039
16040   template <class _Ret, class _Tp, class _Arg>
16041     class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
16042     {
16043     public:
16044       explicit
16045       const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
16046       : _M_f(__pf) {}
16047
16048       _Ret
16049       operator()(const _Tp& __r, _Arg __x) const
16050       { return (__r.*_M_f)(__x); }
16051     private:
16052       _Ret (_Tp::*_M_f)(_Arg) const;
16053     };
16054
16055
16056
16057   template <class _Ret, class _Tp>
16058     inline mem_fun_t<_Ret, _Tp>
16059     mem_fun(_Ret (_Tp::*__f)())
16060     { return mem_fun_t<_Ret, _Tp>(__f); }
16061
16062   template <class _Ret, class _Tp>
16063     inline const_mem_fun_t<_Ret, _Tp>
16064     mem_fun(_Ret (_Tp::*__f)() const)
16065     { return const_mem_fun_t<_Ret, _Tp>(__f); }
16066
16067   template <class _Ret, class _Tp>
16068     inline mem_fun_ref_t<_Ret, _Tp>
16069     mem_fun_ref(_Ret (_Tp::*__f)())
16070     { return mem_fun_ref_t<_Ret, _Tp>(__f); }
16071
16072   template <class _Ret, class _Tp>
16073     inline const_mem_fun_ref_t<_Ret, _Tp>
16074     mem_fun_ref(_Ret (_Tp::*__f)() const)
16075     { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
16076
16077   template <class _Ret, class _Tp, class _Arg>
16078     inline mem_fun1_t<_Ret, _Tp, _Arg>
16079     mem_fun(_Ret (_Tp::*__f)(_Arg))
16080     { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
16081
16082   template <class _Ret, class _Tp, class _Arg>
16083     inline const_mem_fun1_t<_Ret, _Tp, _Arg>
16084     mem_fun(_Ret (_Tp::*__f)(_Arg) const)
16085     { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
16086
16087   template <class _Ret, class _Tp, class _Arg>
16088     inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
16089     mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
16090     { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
16091
16092   template <class _Ret, class _Tp, class _Arg>
16093     inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
16094     mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
16095     { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
16096
16097
16098
16099 }
16100 # 53 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
16101 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 1 3
16102 # 41 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16103 #define _BASIC_STRING_H 1
16104
16105        
16106 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16107
16108 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/atomicity.h" 1 3
16109 # 36 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/atomicity.h" 3
16110 #define _GLIBCXX_ATOMICITY_H 1
16111
16112 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/atomic_word.h" 1 3
16113 # 31 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/atomic_word.h" 3
16114 #define _GLIBCXX_ATOMIC_WORD_H 1
16115
16116 typedef int _Atomic_word;
16117 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/atomicity.h" 2 3
16118
16119 namespace __gnu_cxx
16120 {
16121   _Atomic_word
16122   __attribute__ ((__unused__))
16123   __exchange_and_add(volatile _Atomic_word* __mem, int __val);
16124
16125   void
16126   __attribute__ ((__unused__))
16127   __atomic_add(volatile _Atomic_word* __mem, int __val);
16128 }
16129
16130
16131
16132
16133 #define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("":::"memory")
16134
16135
16136 #define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("":::"memory")
16137 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 2 3
16138
16139
16140 namespace std
16141 {
16142 # 109 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16143   template<typename _CharT, typename _Traits, typename _Alloc>
16144     class basic_string
16145     {
16146       typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type;
16147
16148
16149     public:
16150       typedef _Traits traits_type;
16151       typedef typename _Traits::char_type value_type;
16152       typedef _Alloc allocator_type;
16153       typedef typename _CharT_alloc_type::size_type size_type;
16154       typedef typename _CharT_alloc_type::difference_type difference_type;
16155       typedef typename _CharT_alloc_type::reference reference;
16156       typedef typename _CharT_alloc_type::const_reference const_reference;
16157       typedef typename _CharT_alloc_type::pointer pointer;
16158       typedef typename _CharT_alloc_type::const_pointer const_pointer;
16159       typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
16160       typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
16161                                                             const_iterator;
16162       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
16163       typedef std::reverse_iterator<iterator> reverse_iterator;
16164
16165     private:
16166 # 146 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16167       struct _Rep_base
16168       {
16169  size_type _M_length;
16170  size_type _M_capacity;
16171  _Atomic_word _M_refcount;
16172       };
16173
16174       struct _Rep : _Rep_base
16175       {
16176
16177  typedef typename _Alloc::template rebind<char>::other _Raw_bytes_alloc;
16178 # 171 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16179  static const size_type _S_max_size;
16180  static const _CharT _S_terminal;
16181
16182
16183
16184         static size_type _S_empty_rep_storage[];
16185
16186         static _Rep&
16187         _S_empty_rep()
16188         {
16189    void* __p = reinterpret_cast<void*>(&_S_empty_rep_storage);
16190    return *reinterpret_cast<_Rep*>(__p);
16191  }
16192
16193         bool
16194  _M_is_leaked() const
16195         { return this->_M_refcount < 0; }
16196
16197         bool
16198  _M_is_shared() const
16199         { return this->_M_refcount > 0; }
16200
16201         void
16202  _M_set_leaked()
16203         { this->_M_refcount = -1; }
16204
16205         void
16206  _M_set_sharable()
16207         { this->_M_refcount = 0; }
16208
16209  void
16210  _M_set_length_and_sharable(size_type __n)
16211  {
16212    this->_M_set_sharable();
16213    this->_M_length = __n;
16214    traits_type::assign(this->_M_refdata()[__n], _S_terminal);
16215
16216
16217  }
16218
16219  _CharT*
16220  _M_refdata() throw()
16221  { return reinterpret_cast<_CharT*>(this + 1); }
16222
16223  _CharT*
16224  _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2)
16225  {
16226    return (!_M_is_leaked() && __alloc1 == __alloc2)
16227            ? _M_refcopy() : _M_clone(__alloc1);
16228  }
16229
16230
16231  static _Rep*
16232  _S_create(size_type, size_type, const _Alloc&);
16233
16234  void
16235  _M_dispose(const _Alloc& __a)
16236  {
16237
16238    if (__builtin_expect(this != &_S_empty_rep(), false))
16239
16240      if (__gnu_cxx::__exchange_and_add(&this->_M_refcount, -1) <= 0)
16241        _M_destroy(__a);
16242  }
16243
16244  void
16245  _M_destroy(const _Alloc&) throw();
16246
16247  _CharT*
16248  _M_refcopy() throw()
16249  {
16250
16251    if (__builtin_expect(this != &_S_empty_rep(), false))
16252
16253             __gnu_cxx::__atomic_add(&this->_M_refcount, 1);
16254    return _M_refdata();
16255  }
16256
16257  _CharT*
16258  _M_clone(const _Alloc&, size_type __res = 0);
16259       };
16260
16261
16262       struct _Alloc_hider : _Alloc
16263       {
16264  _Alloc_hider(_CharT* __dat, const _Alloc& __a)
16265  : _Alloc(__a), _M_p(__dat) { }
16266
16267  _CharT* _M_p;
16268       };
16269
16270     public:
16271
16272
16273
16274
16275       static const size_type npos = static_cast<size_type>(-1);
16276
16277     private:
16278
16279       mutable _Alloc_hider _M_dataplus;
16280
16281       _CharT*
16282       _M_data() const
16283       { return _M_dataplus._M_p; }
16284
16285       _CharT*
16286       _M_data(_CharT* __p)
16287       { return (_M_dataplus._M_p = __p); }
16288
16289       _Rep*
16290       _M_rep() const
16291       { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); }
16292
16293
16294
16295       iterator
16296       _M_ibegin() const
16297       { return iterator(_M_data()); }
16298
16299       iterator
16300       _M_iend() const
16301       { return iterator(_M_data() + this->size()); }
16302
16303       void
16304       _M_leak()
16305       {
16306  if (!_M_rep()->_M_is_leaked())
16307    _M_leak_hard();
16308       }
16309
16310       size_type
16311       _M_check(size_type __pos, const char* __s) const
16312       {
16313  if (__pos > this->size())
16314    __throw_out_of_range((__s));
16315  return __pos;
16316       }
16317
16318       void
16319       _M_check_length(size_type __n1, size_type __n2, const char* __s) const
16320       {
16321  if (this->max_size() - (this->size() - __n1) < __n2)
16322    __throw_length_error((__s));
16323       }
16324
16325
16326       size_type
16327       _M_limit(size_type __pos, size_type __off) const
16328       {
16329  const bool __testoff = __off < this->size() - __pos;
16330  return __testoff ? __off : this->size() - __pos;
16331       }
16332
16333
16334       bool
16335       _M_disjunct(const _CharT* __s) const
16336       {
16337  return (less<const _CharT*>()(__s, _M_data())
16338   || less<const _CharT*>()(_M_data() + this->size(), __s));
16339       }
16340
16341
16342
16343       static void
16344       _M_copy(_CharT* __d, const _CharT* __s, size_type __n)
16345       {
16346  if (__n == 1)
16347    traits_type::assign(*__d, *__s);
16348  else
16349    traits_type::copy(__d, __s, __n);
16350       }
16351
16352       static void
16353       _M_move(_CharT* __d, const _CharT* __s, size_type __n)
16354       {
16355  if (__n == 1)
16356    traits_type::assign(*__d, *__s);
16357  else
16358    traits_type::move(__d, __s, __n);
16359       }
16360
16361       static void
16362       _M_assign(_CharT* __d, size_type __n, _CharT __c)
16363       {
16364  if (__n == 1)
16365    traits_type::assign(*__d, __c);
16366  else
16367    traits_type::assign(__d, __n, __c);
16368       }
16369
16370
16371
16372       template<class _Iterator>
16373         static void
16374         _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
16375         {
16376    for (; __k1 != __k2; ++__k1, ++__p)
16377      traits_type::assign(*__p, *__k1);
16378  }
16379
16380       static void
16381       _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2)
16382       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
16383
16384       static void
16385       _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
16386       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
16387
16388       static void
16389       _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2)
16390       { _M_copy(__p, __k1, __k2 - __k1); }
16391
16392       static void
16393       _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
16394       { _M_copy(__p, __k1, __k2 - __k1); }
16395
16396       void
16397       _M_mutate(size_type __pos, size_type __len1, size_type __len2);
16398
16399       void
16400       _M_leak_hard();
16401
16402       static _Rep&
16403       _S_empty_rep()
16404       { return _Rep::_S_empty_rep(); }
16405
16406     public:
16407
16408
16409
16410
16411
16412
16413
16414       inline
16415       basic_string();
16416
16417
16418
16419
16420       explicit
16421       basic_string(const _Alloc& __a);
16422
16423
16424
16425
16426
16427
16428       basic_string(const basic_string& __str);
16429
16430
16431
16432
16433
16434
16435       basic_string(const basic_string& __str, size_type __pos,
16436      size_type __n = npos);
16437
16438
16439
16440
16441
16442
16443
16444       basic_string(const basic_string& __str, size_type __pos,
16445      size_type __n, const _Alloc& __a);
16446 # 448 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16447       basic_string(const _CharT* __s, size_type __n,
16448      const _Alloc& __a = _Alloc());
16449
16450
16451
16452
16453
16454       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc());
16455
16456
16457
16458
16459
16460
16461       basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc());
16462
16463
16464
16465
16466
16467
16468
16469       template<class _InputIterator>
16470         basic_string(_InputIterator __beg, _InputIterator __end,
16471        const _Alloc& __a = _Alloc());
16472
16473
16474
16475
16476       ~basic_string()
16477       { _M_rep()->_M_dispose(this->get_allocator()); }
16478
16479
16480
16481
16482
16483       basic_string&
16484       operator=(const basic_string& __str)
16485       { return this->assign(__str); }
16486
16487
16488
16489
16490
16491       basic_string&
16492       operator=(const _CharT* __s)
16493       { return this->assign(__s); }
16494 # 503 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16495       basic_string&
16496       operator=(_CharT __c)
16497       {
16498  this->assign(1, __c);
16499  return *this;
16500       }
16501
16502
16503
16504
16505
16506
16507       iterator
16508       begin()
16509       {
16510  _M_leak();
16511  return iterator(_M_data());
16512       }
16513
16514
16515
16516
16517
16518       const_iterator
16519       begin() const
16520       { return const_iterator(_M_data()); }
16521
16522
16523
16524
16525
16526       iterator
16527       end()
16528       {
16529  _M_leak();
16530  return iterator(_M_data() + this->size());
16531       }
16532
16533
16534
16535
16536
16537       const_iterator
16538       end() const
16539       { return const_iterator(_M_data() + this->size()); }
16540
16541
16542
16543
16544
16545
16546       reverse_iterator
16547       rbegin()
16548       { return reverse_iterator(this->end()); }
16549
16550
16551
16552
16553
16554
16555       const_reverse_iterator
16556       rbegin() const
16557       { return const_reverse_iterator(this->end()); }
16558
16559
16560
16561
16562
16563
16564       reverse_iterator
16565       rend()
16566       { return reverse_iterator(this->begin()); }
16567
16568
16569
16570
16571
16572
16573       const_reverse_iterator
16574       rend() const
16575       { return const_reverse_iterator(this->begin()); }
16576
16577     public:
16578
16579
16580
16581       size_type
16582       size() const
16583       { return _M_rep()->_M_length; }
16584
16585
16586
16587       size_type
16588       length() const
16589       { return _M_rep()->_M_length; }
16590
16591
16592       size_type
16593       max_size() const
16594       { return _Rep::_S_max_size; }
16595 # 614 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16596       void
16597       resize(size_type __n, _CharT __c);
16598 # 627 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16599       void
16600       resize(size_type __n)
16601       { this->resize(__n, _CharT()); }
16602
16603
16604
16605
16606
16607       size_type
16608       capacity() const
16609       { return _M_rep()->_M_capacity; }
16610 # 656 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16611       void
16612       reserve(size_type __res_arg = 0);
16613
16614
16615
16616
16617       void
16618       clear()
16619       { _M_mutate(0, this->size(), 0); }
16620
16621
16622
16623
16624       bool
16625       empty() const
16626       { return this->size() == 0; }
16627 # 684 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16628       const_reference
16629       operator[] (size_type __pos) const
16630       {
16631  ;
16632  return _M_data()[__pos];
16633       }
16634 # 701 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16635       reference
16636       operator[](size_type __pos)
16637       {
16638
16639  ;
16640
16641  ;
16642  _M_leak();
16643  return _M_data()[__pos];
16644       }
16645 # 722 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16646       const_reference
16647       at(size_type __n) const
16648       {
16649  if (__n >= this->size())
16650    __throw_out_of_range(("basic_string::at"));
16651  return _M_data()[__n];
16652       }
16653 # 741 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16654       reference
16655       at(size_type __n)
16656       {
16657  if (__n >= size())
16658    __throw_out_of_range(("basic_string::at"));
16659  _M_leak();
16660  return _M_data()[__n];
16661       }
16662
16663
16664
16665
16666
16667
16668
16669       basic_string&
16670       operator+=(const basic_string& __str)
16671       { return this->append(__str); }
16672
16673
16674
16675
16676
16677
16678       basic_string&
16679       operator+=(const _CharT* __s)
16680       { return this->append(__s); }
16681
16682
16683
16684
16685
16686
16687       basic_string&
16688       operator+=(_CharT __c)
16689       {
16690  this->push_back(__c);
16691  return *this;
16692       }
16693
16694
16695
16696
16697
16698
16699       basic_string&
16700       append(const basic_string& __str);
16701 # 801 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16702       basic_string&
16703       append(const basic_string& __str, size_type __pos, size_type __n);
16704
16705
16706
16707
16708
16709
16710
16711       basic_string&
16712       append(const _CharT* __s, size_type __n);
16713
16714
16715
16716
16717
16718
16719       basic_string&
16720       append(const _CharT* __s)
16721       {
16722  ;
16723  return this->append(__s, traits_type::length(__s));
16724       }
16725 # 833 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16726       basic_string&
16727       append(size_type __n, _CharT __c);
16728 # 844 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16729       template<class _InputIterator>
16730         basic_string&
16731         append(_InputIterator __first, _InputIterator __last)
16732         { return this->replace(_M_iend(), _M_iend(), __first, __last); }
16733
16734
16735
16736
16737
16738       void
16739       push_back(_CharT __c)
16740       {
16741  const size_type __len = 1 + this->size();
16742  if (__len > this->capacity() || _M_rep()->_M_is_shared())
16743    this->reserve(__len);
16744  traits_type::assign(_M_data()[this->size()], __c);
16745  _M_rep()->_M_set_length_and_sharable(__len);
16746       }
16747
16748
16749
16750
16751
16752
16753       basic_string&
16754       assign(const basic_string& __str);
16755 # 883 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16756       basic_string&
16757       assign(const basic_string& __str, size_type __pos, size_type __n)
16758       { return this->assign(__str._M_data()
16759        + __str._M_check(__pos, "basic_string::assign"),
16760        __str._M_limit(__pos, __n)); }
16761 # 899 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16762       basic_string&
16763       assign(const _CharT* __s, size_type __n);
16764 # 911 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16765       basic_string&
16766       assign(const _CharT* __s)
16767       {
16768  ;
16769  return this->assign(__s, traits_type::length(__s));
16770       }
16771 # 927 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16772       basic_string&
16773       assign(size_type __n, _CharT __c)
16774       { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
16775 # 939 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16776       template<class _InputIterator>
16777         basic_string&
16778         assign(_InputIterator __first, _InputIterator __last)
16779         { return this->replace(_M_ibegin(), _M_iend(), __first, __last); }
16780 # 956 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16781       void
16782       insert(iterator __p, size_type __n, _CharT __c)
16783       { this->replace(__p, __p, __n, __c); }
16784 # 971 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16785       template<class _InputIterator>
16786         void
16787         insert(iterator __p, _InputIterator __beg, _InputIterator __end)
16788         { this->replace(__p, __p, __beg, __end); }
16789 # 987 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16790       basic_string&
16791       insert(size_type __pos1, const basic_string& __str)
16792       { return this->insert(__pos1, __str, size_type(0), __str.size()); }
16793 # 1009 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16794       basic_string&
16795       insert(size_type __pos1, const basic_string& __str,
16796       size_type __pos2, size_type __n)
16797       { return this->insert(__pos1, __str._M_data()
16798        + __str._M_check(__pos2, "basic_string::insert"),
16799        __str._M_limit(__pos2, __n)); }
16800 # 1032 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16801       basic_string&
16802       insert(size_type __pos, const _CharT* __s, size_type __n);
16803 # 1050 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16804       basic_string&
16805       insert(size_type __pos, const _CharT* __s)
16806       {
16807  ;
16808  return this->insert(__pos, __s, traits_type::length(__s));
16809       }
16810 # 1073 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16811       basic_string&
16812       insert(size_type __pos, size_type __n, _CharT __c)
16813       { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
16814          size_type(0), __n, __c); }
16815 # 1090 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16816       iterator
16817       insert(iterator __p, _CharT __c)
16818       {
16819  ;
16820  const size_type __pos = __p - _M_ibegin();
16821  _M_replace_aux(__pos, size_type(0), size_type(1), __c);
16822  _M_rep()->_M_set_leaked();
16823  return this->_M_ibegin() + __pos;
16824       }
16825 # 1114 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16826       basic_string&
16827       erase(size_type __pos = 0, size_type __n = npos)
16828       {
16829  _M_mutate(_M_check(__pos, "basic_string::erase"),
16830     _M_limit(__pos, __n), size_type(0));
16831  return *this;
16832       }
16833 # 1130 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16834       iterator
16835       erase(iterator __position)
16836       {
16837  ;
16838
16839  const size_type __pos = __position - _M_ibegin();
16840  _M_mutate(__pos, size_type(1), size_type(0));
16841  _M_rep()->_M_set_leaked();
16842  return _M_ibegin() + __pos;
16843       }
16844 # 1150 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16845       iterator
16846       erase(iterator __first, iterator __last)
16847       {
16848  ;
16849
16850         const size_type __pos = __first - _M_ibegin();
16851  _M_mutate(__pos, __last - __first, size_type(0));
16852  _M_rep()->_M_set_leaked();
16853  return _M_ibegin() + __pos;
16854       }
16855 # 1177 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16856       basic_string&
16857       replace(size_type __pos, size_type __n, const basic_string& __str)
16858       { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
16859 # 1199 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16860       basic_string&
16861       replace(size_type __pos1, size_type __n1, const basic_string& __str,
16862        size_type __pos2, size_type __n2)
16863       { return this->replace(__pos1, __n1, __str._M_data()
16864         + __str._M_check(__pos2, "basic_string::replace"),
16865         __str._M_limit(__pos2, __n2)); }
16866 # 1223 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16867       basic_string&
16868       replace(size_type __pos, size_type __n1, const _CharT* __s,
16869        size_type __n2);
16870 # 1242 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16871       basic_string&
16872       replace(size_type __pos, size_type __n1, const _CharT* __s)
16873       {
16874  ;
16875  return this->replace(__pos, __n1, __s, traits_type::length(__s));
16876       }
16877 # 1265 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16878       basic_string&
16879       replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
16880       { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
16881          _M_limit(__pos, __n1), __n2, __c); }
16882 # 1283 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16883       basic_string&
16884       replace(iterator __i1, iterator __i2, const basic_string& __str)
16885       { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
16886 # 1301 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16887       basic_string&
16888       replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n)
16889       {
16890  ;
16891
16892  return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n);
16893       }
16894 # 1322 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16895       basic_string&
16896       replace(iterator __i1, iterator __i2, const _CharT* __s)
16897       {
16898  ;
16899  return this->replace(__i1, __i2, __s, traits_type::length(__s));
16900       }
16901 # 1343 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16902       basic_string&
16903       replace(iterator __i1, iterator __i2, size_type __n, _CharT __c)
16904       {
16905  ;
16906
16907  return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c);
16908       }
16909 # 1365 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16910       template<class _InputIterator>
16911         basic_string&
16912         replace(iterator __i1, iterator __i2,
16913   _InputIterator __k1, _InputIterator __k2)
16914         {
16915    ;
16916
16917    ;
16918    typedef typename std::__is_integer<_InputIterator>::__type _Integral;
16919    return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral());
16920  }
16921
16922
16923
16924       basic_string&
16925       replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2)
16926       {
16927  ;
16928
16929  ;
16930  return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
16931         __k1, __k2 - __k1);
16932       }
16933
16934       basic_string&
16935       replace(iterator __i1, iterator __i2,
16936        const _CharT* __k1, const _CharT* __k2)
16937       {
16938  ;
16939
16940  ;
16941  return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
16942         __k1, __k2 - __k1);
16943       }
16944
16945       basic_string&
16946       replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2)
16947       {
16948  ;
16949
16950  ;
16951  return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
16952         __k1.base(), __k2 - __k1);
16953       }
16954
16955       basic_string&
16956       replace(iterator __i1, iterator __i2,
16957        const_iterator __k1, const_iterator __k2)
16958       {
16959  ;
16960
16961  ;
16962  return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
16963         __k1.base(), __k2 - __k1);
16964       }
16965
16966     private:
16967       template<class _Integer>
16968  basic_string&
16969  _M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n,
16970        _Integer __val, __true_type)
16971         { return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); }
16972
16973       template<class _InputIterator>
16974  basic_string&
16975  _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
16976        _InputIterator __k2, __false_type);
16977
16978       basic_string&
16979       _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
16980        _CharT __c);
16981
16982       basic_string&
16983       _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s,
16984         size_type __n2);
16985
16986
16987
16988       template<class _InIterator>
16989         static _CharT*
16990         _S_construct_aux(_InIterator __beg, _InIterator __end,
16991     const _Alloc& __a, __false_type)
16992  {
16993           typedef typename iterator_traits<_InIterator>::iterator_category _Tag;
16994           return _S_construct(__beg, __end, __a, _Tag());
16995  }
16996
16997       template<class _InIterator>
16998         static _CharT*
16999         _S_construct_aux(_InIterator __beg, _InIterator __end,
17000     const _Alloc& __a, __true_type)
17001  { return _S_construct(static_cast<size_type>(__beg),
17002          static_cast<value_type>(__end), __a); }
17003
17004       template<class _InIterator>
17005         static _CharT*
17006         _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a)
17007  {
17008    typedef typename std::__is_integer<_InIterator>::__type _Integral;
17009    return _S_construct_aux(__beg, __end, __a, _Integral());
17010         }
17011
17012
17013       template<class _InIterator>
17014         static _CharT*
17015          _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
17016         input_iterator_tag);
17017
17018
17019
17020       template<class _FwdIterator>
17021         static _CharT*
17022         _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a,
17023        forward_iterator_tag);
17024
17025       static _CharT*
17026       _S_construct(size_type __req, _CharT __c, const _Alloc& __a);
17027
17028     public:
17029 # 1496 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17030       size_type
17031       copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
17032 # 1506 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17033       void
17034       swap(basic_string& __s);
17035 # 1516 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17036       const _CharT*
17037       c_str() const
17038       { return _M_data(); }
17039
17040
17041
17042
17043
17044
17045
17046       const _CharT*
17047       data() const
17048       { return _M_data(); }
17049
17050
17051
17052
17053       allocator_type
17054       get_allocator() const
17055       { return _M_dataplus; }
17056 # 1548 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17057       size_type
17058       find(const _CharT* __s, size_type __pos, size_type __n) const;
17059 # 1561 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17060       size_type
17061       find(const basic_string& __str, size_type __pos = 0) const
17062       { return this->find(__str.data(), __pos, __str.size()); }
17063 # 1575 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17064       size_type
17065       find(const _CharT* __s, size_type __pos = 0) const
17066       {
17067  ;
17068  return this->find(__s, __pos, traits_type::length(__s));
17069       }
17070 # 1592 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17071       size_type
17072       find(_CharT __c, size_type __pos = 0) const;
17073 # 1605 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17074       size_type
17075       rfind(const basic_string& __str, size_type __pos = npos) const
17076       { return this->rfind(__str.data(), __pos, __str.size()); }
17077 # 1620 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17078       size_type
17079       rfind(const _CharT* __s, size_type __pos, size_type __n) const;
17080 # 1633 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17081       size_type
17082       rfind(const _CharT* __s, size_type __pos = npos) const
17083       {
17084  ;
17085  return this->rfind(__s, __pos, traits_type::length(__s));
17086       }
17087 # 1650 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17088       size_type
17089       rfind(_CharT __c, size_type __pos = npos) const;
17090 # 1663 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17091       size_type
17092       find_first_of(const basic_string& __str, size_type __pos = 0) const
17093       { return this->find_first_of(__str.data(), __pos, __str.size()); }
17094 # 1678 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17095       size_type
17096       find_first_of(const _CharT* __s, size_type __pos, size_type __n) const;
17097 # 1691 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17098       size_type
17099       find_first_of(const _CharT* __s, size_type __pos = 0) const
17100       {
17101  ;
17102  return this->find_first_of(__s, __pos, traits_type::length(__s));
17103       }
17104 # 1710 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17105       size_type
17106       find_first_of(_CharT __c, size_type __pos = 0) const
17107       { return this->find(__c, __pos); }
17108 # 1724 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17109       size_type
17110       find_last_of(const basic_string& __str, size_type __pos = npos) const
17111       { return this->find_last_of(__str.data(), __pos, __str.size()); }
17112 # 1739 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17113       size_type
17114       find_last_of(const _CharT* __s, size_type __pos, size_type __n) const;
17115 # 1752 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17116       size_type
17117       find_last_of(const _CharT* __s, size_type __pos = npos) const
17118       {
17119  ;
17120  return this->find_last_of(__s, __pos, traits_type::length(__s));
17121       }
17122 # 1771 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17123       size_type
17124       find_last_of(_CharT __c, size_type __pos = npos) const
17125       { return this->rfind(__c, __pos); }
17126 # 1785 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17127       size_type
17128       find_first_not_of(const basic_string& __str, size_type __pos = 0) const
17129       { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
17130 # 1800 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17131       size_type
17132       find_first_not_of(const _CharT* __s, size_type __pos,
17133    size_type __n) const;
17134 # 1814 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17135       size_type
17136       find_first_not_of(const _CharT* __s, size_type __pos = 0) const
17137       {
17138  ;
17139  return this->find_first_not_of(__s, __pos, traits_type::length(__s));
17140       }
17141 # 1831 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17142       size_type
17143       find_first_not_of(_CharT __c, size_type __pos = 0) const;
17144 # 1844 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17145       size_type
17146       find_last_not_of(const basic_string& __str, size_type __pos = npos) const
17147       { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
17148 # 1860 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17149       size_type
17150       find_last_not_of(const _CharT* __s, size_type __pos,
17151          size_type __n) const;
17152 # 1873 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17153       size_type
17154       find_last_not_of(const _CharT* __s, size_type __pos = npos) const
17155       {
17156  ;
17157  return this->find_last_not_of(__s, __pos, traits_type::length(__s));
17158       }
17159 # 1890 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17160       size_type
17161       find_last_not_of(_CharT __c, size_type __pos = npos) const;
17162 # 1905 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17163       basic_string
17164       substr(size_type __pos = 0, size_type __n = npos) const
17165       { return basic_string(*this,
17166        _M_check(__pos, "basic_string::substr"), __n); }
17167 # 1923 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17168       int
17169       compare(const basic_string& __str) const
17170       {
17171  const size_type __size = this->size();
17172  const size_type __osize = __str.size();
17173  const size_type __len = std::min(__size, __osize);
17174
17175  int __r = traits_type::compare(_M_data(), __str.data(), __len);
17176  if (!__r)
17177    __r = __size - __osize;
17178  return __r;
17179       }
17180 # 1953 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17181       int
17182       compare(size_type __pos, size_type __n, const basic_string& __str) const;
17183 # 1977 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17184       int
17185       compare(size_type __pos1, size_type __n1, const basic_string& __str,
17186        size_type __pos2, size_type __n2) const;
17187 # 1995 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17188       int
17189       compare(const _CharT* __s) const;
17190 # 2018 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17191       int
17192       compare(size_type __pos, size_type __n1, const _CharT* __s) const;
17193 # 2043 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17194       int
17195       compare(size_type __pos, size_type __n1, const _CharT* __s,
17196        size_type __n2) const;
17197   };
17198
17199   template<typename _CharT, typename _Traits, typename _Alloc>
17200     inline basic_string<_CharT, _Traits, _Alloc>::
17201     basic_string()
17202
17203     : _M_dataplus(_S_empty_rep()._M_refdata(), _Alloc()) { }
17204 # 2064 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17205   template<typename _CharT, typename _Traits, typename _Alloc>
17206     basic_string<_CharT, _Traits, _Alloc>
17207     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17208        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17209     {
17210       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
17211       __str.append(__rhs);
17212       return __str;
17213     }
17214
17215
17216
17217
17218
17219
17220
17221   template<typename _CharT, typename _Traits, typename _Alloc>
17222     basic_string<_CharT,_Traits,_Alloc>
17223     operator+(const _CharT* __lhs,
17224        const basic_string<_CharT,_Traits,_Alloc>& __rhs);
17225
17226
17227
17228
17229
17230
17231
17232   template<typename _CharT, typename _Traits, typename _Alloc>
17233     basic_string<_CharT,_Traits,_Alloc>
17234     operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
17235
17236
17237
17238
17239
17240
17241
17242   template<typename _CharT, typename _Traits, typename _Alloc>
17243     inline basic_string<_CharT, _Traits, _Alloc>
17244     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17245       const _CharT* __rhs)
17246     {
17247       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
17248       __str.append(__rhs);
17249       return __str;
17250     }
17251
17252
17253
17254
17255
17256
17257
17258   template<typename _CharT, typename _Traits, typename _Alloc>
17259     inline basic_string<_CharT, _Traits, _Alloc>
17260     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
17261     {
17262       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
17263       typedef typename __string_type::size_type __size_type;
17264       __string_type __str(__lhs);
17265       __str.append(__size_type(1), __rhs);
17266       return __str;
17267     }
17268 # 2135 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17269   template<typename _CharT, typename _Traits, typename _Alloc>
17270     inline bool
17271     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17272         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17273     { return __lhs.compare(__rhs) == 0; }
17274
17275
17276
17277
17278
17279
17280
17281   template<typename _CharT, typename _Traits, typename _Alloc>
17282     inline bool
17283     operator==(const _CharT* __lhs,
17284         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17285     { return __rhs.compare(__lhs) == 0; }
17286
17287
17288
17289
17290
17291
17292
17293   template<typename _CharT, typename _Traits, typename _Alloc>
17294     inline bool
17295     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17296         const _CharT* __rhs)
17297     { return __lhs.compare(__rhs) == 0; }
17298 # 2172 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17299   template<typename _CharT, typename _Traits, typename _Alloc>
17300     inline bool
17301     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17302         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17303     { return __rhs.compare(__lhs) != 0; }
17304
17305
17306
17307
17308
17309
17310
17311   template<typename _CharT, typename _Traits, typename _Alloc>
17312     inline bool
17313     operator!=(const _CharT* __lhs,
17314         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17315     { return __rhs.compare(__lhs) != 0; }
17316
17317
17318
17319
17320
17321
17322
17323   template<typename _CharT, typename _Traits, typename _Alloc>
17324     inline bool
17325     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17326         const _CharT* __rhs)
17327     { return __lhs.compare(__rhs) != 0; }
17328 # 2209 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17329   template<typename _CharT, typename _Traits, typename _Alloc>
17330     inline bool
17331     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17332        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17333     { return __lhs.compare(__rhs) < 0; }
17334
17335
17336
17337
17338
17339
17340
17341   template<typename _CharT, typename _Traits, typename _Alloc>
17342     inline bool
17343     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17344        const _CharT* __rhs)
17345     { return __lhs.compare(__rhs) < 0; }
17346
17347
17348
17349
17350
17351
17352
17353   template<typename _CharT, typename _Traits, typename _Alloc>
17354     inline bool
17355     operator<(const _CharT* __lhs,
17356        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17357     { return __rhs.compare(__lhs) > 0; }
17358 # 2246 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17359   template<typename _CharT, typename _Traits, typename _Alloc>
17360     inline bool
17361     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17362        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17363     { return __lhs.compare(__rhs) > 0; }
17364
17365
17366
17367
17368
17369
17370
17371   template<typename _CharT, typename _Traits, typename _Alloc>
17372     inline bool
17373     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17374        const _CharT* __rhs)
17375     { return __lhs.compare(__rhs) > 0; }
17376
17377
17378
17379
17380
17381
17382
17383   template<typename _CharT, typename _Traits, typename _Alloc>
17384     inline bool
17385     operator>(const _CharT* __lhs,
17386        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17387     { return __rhs.compare(__lhs) < 0; }
17388 # 2283 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17389   template<typename _CharT, typename _Traits, typename _Alloc>
17390     inline bool
17391     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17392         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17393     { return __lhs.compare(__rhs) <= 0; }
17394
17395
17396
17397
17398
17399
17400
17401   template<typename _CharT, typename _Traits, typename _Alloc>
17402     inline bool
17403     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17404         const _CharT* __rhs)
17405     { return __lhs.compare(__rhs) <= 0; }
17406
17407
17408
17409
17410
17411
17412
17413   template<typename _CharT, typename _Traits, typename _Alloc>
17414     inline bool
17415     operator<=(const _CharT* __lhs,
17416         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17417     { return __rhs.compare(__lhs) >= 0; }
17418 # 2320 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17419   template<typename _CharT, typename _Traits, typename _Alloc>
17420     inline bool
17421     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17422         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17423     { return __lhs.compare(__rhs) >= 0; }
17424
17425
17426
17427
17428
17429
17430
17431   template<typename _CharT, typename _Traits, typename _Alloc>
17432     inline bool
17433     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
17434         const _CharT* __rhs)
17435     { return __lhs.compare(__rhs) >= 0; }
17436
17437
17438
17439
17440
17441
17442
17443   template<typename _CharT, typename _Traits, typename _Alloc>
17444     inline bool
17445     operator>=(const _CharT* __lhs,
17446       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
17447     { return __rhs.compare(__lhs) <= 0; }
17448 # 2357 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17449   template<typename _CharT, typename _Traits, typename _Alloc>
17450     inline void
17451     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
17452   basic_string<_CharT, _Traits, _Alloc>& __rhs)
17453     { __lhs.swap(__rhs); }
17454 # 2374 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17455   template<typename _CharT, typename _Traits, typename _Alloc>
17456     basic_istream<_CharT, _Traits>&
17457     operator>>(basic_istream<_CharT, _Traits>& __is,
17458         basic_string<_CharT, _Traits, _Alloc>& __str);
17459
17460   template<>
17461     basic_istream<char>&
17462     operator>>(basic_istream<char>& __is, basic_string<char>& __str);
17463 # 2392 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17464   template<typename _CharT, typename _Traits, typename _Alloc>
17465     basic_ostream<_CharT, _Traits>&
17466     operator<<(basic_ostream<_CharT, _Traits>& __os,
17467         const basic_string<_CharT, _Traits, _Alloc>& __str);
17468 # 2410 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17469   template<typename _CharT, typename _Traits, typename _Alloc>
17470     basic_istream<_CharT, _Traits>&
17471     getline(basic_istream<_CharT, _Traits>& __is,
17472      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
17473 # 2427 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
17474   template<typename _CharT, typename _Traits, typename _Alloc>
17475     inline basic_istream<_CharT, _Traits>&
17476     getline(basic_istream<_CharT, _Traits>& __is,
17477      basic_string<_CharT, _Traits, _Alloc>& __str);
17478
17479   template<>
17480     basic_istream<char>&
17481     getline(basic_istream<char>& __in, basic_string<char>& __str,
17482      char __delim);
17483
17484
17485   template<>
17486     basic_istream<wchar_t>&
17487     getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
17488      wchar_t __delim);
17489
17490 }
17491 # 54 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
17492
17493
17494 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/algorithm" 1 3
17495 # 61 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/algorithm" 3
17496 #define _GLIBCXX_ALGORITHM 1
17497
17498        
17499 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/algorithm" 3
17500 #pragma GCC visibility push(default)
17501
17502
17503
17504
17505 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 1 3
17506 # 63 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17507 #define _ALGO_H 1
17508
17509 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 1 3
17510 # 61 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
17511 #define _STL_HEAP_H 1
17512
17513
17514
17515 namespace std
17516 {
17517
17518
17519
17520   template<typename _RandomAccessIterator, typename _Distance>
17521     bool
17522     __is_heap(_RandomAccessIterator __first, _Distance __n)
17523     {
17524       _Distance __parent = 0;
17525       for (_Distance __child = 1; __child < __n; ++__child)
17526  {
17527    if (__first[__parent] < __first[__child])
17528      return false;
17529    if ((__child & 1) == 0)
17530      ++__parent;
17531  }
17532       return true;
17533     }
17534
17535   template<typename _RandomAccessIterator, typename _Distance,
17536            typename _StrictWeakOrdering>
17537     bool
17538     __is_heap(_RandomAccessIterator __first, _StrictWeakOrdering __comp,
17539        _Distance __n)
17540     {
17541       _Distance __parent = 0;
17542       for (_Distance __child = 1; __child < __n; ++__child)
17543  {
17544    if (__comp(__first[__parent], __first[__child]))
17545      return false;
17546    if ((__child & 1) == 0)
17547      ++__parent;
17548  }
17549       return true;
17550     }
17551
17552   template<typename _RandomAccessIterator>
17553     bool
17554     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
17555     { return std::__is_heap(__first, std::distance(__first, __last)); }
17556
17557   template<typename _RandomAccessIterator, typename _StrictWeakOrdering>
17558     bool
17559     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
17560      _StrictWeakOrdering __comp)
17561     { return std::__is_heap(__first, __comp, std::distance(__first, __last)); }
17562
17563
17564
17565   template<typename _RandomAccessIterator, typename _Distance, typename _Tp>
17566     void
17567     __push_heap(_RandomAccessIterator __first,
17568   _Distance __holeIndex, _Distance __topIndex, _Tp __value)
17569     {
17570       _Distance __parent = (__holeIndex - 1) / 2;
17571       while (__holeIndex > __topIndex && *(__first + __parent) < __value)
17572  {
17573    *(__first + __holeIndex) = *(__first + __parent);
17574    __holeIndex = __parent;
17575    __parent = (__holeIndex - 1) / 2;
17576  }
17577       *(__first + __holeIndex) = __value;
17578     }
17579 # 139 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
17580   template<typename _RandomAccessIterator>
17581     inline void
17582     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
17583     {
17584       typedef typename iterator_traits<_RandomAccessIterator>::value_type
17585    _ValueType;
17586       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
17587    _DistanceType;
17588
17589
17590      
17591
17592      
17593       ;
17594
17595
17596       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
17597          _DistanceType(0), _ValueType(*(__last - 1)));
17598     }
17599
17600   template<typename _RandomAccessIterator, typename _Distance, typename _Tp,
17601      typename _Compare>
17602     void
17603     __push_heap(_RandomAccessIterator __first, _Distance __holeIndex,
17604   _Distance __topIndex, _Tp __value, _Compare __comp)
17605     {
17606       _Distance __parent = (__holeIndex - 1) / 2;
17607       while (__holeIndex > __topIndex
17608       && __comp(*(__first + __parent), __value))
17609  {
17610    *(__first + __holeIndex) = *(__first + __parent);
17611    __holeIndex = __parent;
17612    __parent = (__holeIndex - 1) / 2;
17613  }
17614       *(__first + __holeIndex) = __value;
17615     }
17616 # 187 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
17617   template<typename _RandomAccessIterator, typename _Compare>
17618     inline void
17619     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
17620        _Compare __comp)
17621     {
17622       typedef typename iterator_traits<_RandomAccessIterator>::value_type
17623    _ValueType;
17624       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
17625    _DistanceType;
17626
17627
17628      
17629
17630       ;
17631       ;
17632
17633       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
17634          _DistanceType(0), _ValueType(*(__last - 1)), __comp);
17635     }
17636
17637   template<typename _RandomAccessIterator, typename _Distance, typename _Tp>
17638     void
17639     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
17640     _Distance __len, _Tp __value)
17641     {
17642       const _Distance __topIndex = __holeIndex;
17643       _Distance __secondChild = 2 * __holeIndex + 2;
17644       while (__secondChild < __len)
17645  {
17646    if (*(__first + __secondChild) < *(__first + (__secondChild - 1)))
17647      __secondChild--;
17648    *(__first + __holeIndex) = *(__first + __secondChild);
17649    __holeIndex = __secondChild;
17650    __secondChild = 2 * (__secondChild + 1);
17651  }
17652       if (__secondChild == __len)
17653  {
17654    *(__first + __holeIndex) = *(__first + (__secondChild - 1));
17655    __holeIndex = __secondChild - 1;
17656  }
17657       std::__push_heap(__first, __holeIndex, __topIndex, __value);
17658     }
17659
17660   template<typename _RandomAccessIterator, typename _Tp>
17661     inline void
17662     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
17663         _RandomAccessIterator __result, _Tp __value)
17664     {
17665       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
17666  _Distance;
17667       *__result = *__first;
17668       std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first),
17669     __value);
17670     }
17671 # 251 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
17672   template<typename _RandomAccessIterator>
17673     inline void
17674     pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
17675     {
17676       typedef typename iterator_traits<_RandomAccessIterator>::value_type
17677  _ValueType;
17678
17679
17680      
17681
17682      
17683       ;
17684       ;
17685
17686       std::__pop_heap(__first, __last - 1, __last - 1,
17687         _ValueType(*(__last - 1)));
17688     }
17689
17690   template<typename _RandomAccessIterator, typename _Distance,
17691     typename _Tp, typename _Compare>
17692     void
17693     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
17694     _Distance __len, _Tp __value, _Compare __comp)
17695     {
17696       const _Distance __topIndex = __holeIndex;
17697       _Distance __secondChild = 2 * __holeIndex + 2;
17698       while (__secondChild < __len)
17699  {
17700    if (__comp(*(__first + __secondChild),
17701        *(__first + (__secondChild - 1))))
17702      __secondChild--;
17703    *(__first + __holeIndex) = *(__first + __secondChild);
17704    __holeIndex = __secondChild;
17705    __secondChild = 2 * (__secondChild + 1);
17706  }
17707       if (__secondChild == __len)
17708  {
17709    *(__first + __holeIndex) = *(__first + (__secondChild - 1));
17710    __holeIndex = __secondChild - 1;
17711  }
17712       std::__push_heap(__first, __holeIndex, __topIndex, __value, __comp);
17713     }
17714
17715   template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
17716     inline void
17717     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
17718         _RandomAccessIterator __result, _Tp __value, _Compare __comp)
17719     {
17720       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
17721  _Distance;
17722       *__result = *__first;
17723       std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first),
17724     __value, __comp);
17725     }
17726 # 317 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
17727   template<typename _RandomAccessIterator, typename _Compare>
17728     inline void
17729     pop_heap(_RandomAccessIterator __first,
17730       _RandomAccessIterator __last, _Compare __comp)
17731     {
17732
17733      
17734
17735       ;
17736       ;
17737
17738       typedef typename iterator_traits<_RandomAccessIterator>::value_type
17739  _ValueType;
17740       std::__pop_heap(__first, __last - 1, __last - 1,
17741         _ValueType(*(__last - 1)), __comp);
17742     }
17743 # 342 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
17744   template<typename _RandomAccessIterator>
17745     void
17746     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
17747     {
17748       typedef typename iterator_traits<_RandomAccessIterator>::value_type
17749    _ValueType;
17750       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
17751    _DistanceType;
17752
17753
17754      
17755
17756      
17757       ;
17758
17759       if (__last - __first < 2)
17760  return;
17761
17762       const _DistanceType __len = __last - __first;
17763       _DistanceType __parent = (__len - 2) / 2;
17764       while (true)
17765  {
17766    std::__adjust_heap(__first, __parent, __len,
17767         _ValueType(*(__first + __parent)));
17768    if (__parent == 0)
17769      return;
17770    __parent--;
17771  }
17772     }
17773 # 382 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
17774   template<typename _RandomAccessIterator, typename _Compare>
17775     inline void
17776     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
17777        _Compare __comp)
17778     {
17779       typedef typename iterator_traits<_RandomAccessIterator>::value_type
17780    _ValueType;
17781       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
17782    _DistanceType;
17783
17784
17785      
17786
17787       ;
17788
17789       if (__last - __first < 2)
17790  return;
17791
17792       const _DistanceType __len = __last - __first;
17793       _DistanceType __parent = (__len - 2) / 2;
17794       while (true)
17795  {
17796    std::__adjust_heap(__first, __parent, __len,
17797         _ValueType(*(__first + __parent)), __comp);
17798    if (__parent == 0)
17799      return;
17800    __parent--;
17801  }
17802     }
17803 # 420 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
17804   template<typename _RandomAccessIterator>
17805     void
17806     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
17807     {
17808
17809      
17810
17811      
17812
17813       ;
17814
17815
17816       while (__last - __first > 1)
17817  std::pop_heap(__first, __last--);
17818     }
17819 # 446 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
17820   template<typename _RandomAccessIterator, typename _Compare>
17821     void
17822     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
17823        _Compare __comp)
17824     {
17825
17826      
17827
17828       ;
17829       ;
17830
17831       while (__last - __first > 1)
17832  std::pop_heap(__first, __last--, __comp);
17833     }
17834
17835 }
17836 # 66 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 2 3
17837 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tempbuf.h" 1 3
17838 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tempbuf.h" 3
17839 #define _TEMPBUF_H 1
17840
17841
17842
17843 namespace std
17844 {
17845
17846
17847
17848
17849
17850
17851
17852   template<typename _ForwardIterator, typename _Tp>
17853     class _Temporary_buffer
17854     {
17855
17856      
17857
17858  public:
17859       typedef _Tp value_type;
17860       typedef value_type* pointer;
17861       typedef pointer iterator;
17862       typedef ptrdiff_t size_type;
17863
17864     protected:
17865       size_type _M_original_len;
17866       size_type _M_len;
17867       pointer _M_buffer;
17868
17869       void
17870       _M_initialize_buffer(const _Tp&, __true_type) { }
17871
17872       void
17873       _M_initialize_buffer(const _Tp& val, __false_type)
17874       { std::uninitialized_fill_n(_M_buffer, _M_len, val); }
17875
17876     public:
17877
17878       size_type
17879       size() const
17880       { return _M_len; }
17881
17882
17883       size_type
17884       requested_size() const
17885       { return _M_original_len; }
17886
17887
17888       iterator
17889       begin()
17890       { return _M_buffer; }
17891
17892
17893       iterator
17894       end()
17895       { return _M_buffer + _M_len; }
17896
17897
17898
17899
17900
17901       _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last);
17902
17903       ~_Temporary_buffer()
17904       {
17905  std::_Destroy(_M_buffer, _M_buffer + _M_len);
17906  std::return_temporary_buffer(_M_buffer);
17907       }
17908
17909     private:
17910
17911       _Temporary_buffer(const _Temporary_buffer&);
17912
17913       void
17914       operator=(const _Temporary_buffer&);
17915     };
17916
17917
17918   template<typename _ForwardIterator, typename _Tp>
17919     _Temporary_buffer<_ForwardIterator, _Tp>::
17920     _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last)
17921     : _M_original_len(std::distance(__first, __last)),
17922       _M_len(0), _M_buffer(0)
17923     {
17924
17925       typedef typename std::__is_scalar<_Tp>::__type _Trivial;
17926
17927       try
17928  {
17929    pair<pointer, size_type> __p(get_temporary_buffer<
17930            value_type>(_M_original_len));
17931    _M_buffer = __p.first;
17932    _M_len = __p.second;
17933    if (_M_len > 0)
17934      _M_initialize_buffer(*__first, _Trivial());
17935  }
17936       catch(...)
17937  {
17938    std::return_temporary_buffer(_M_buffer);
17939    _M_buffer = 0;
17940    _M_len = 0;
17941    throw;
17942  }
17943     }
17944 }
17945 # 67 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 2 3
17946
17947
17948
17949
17950 namespace std
17951 {
17952 # 85 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17953   template<typename _Tp>
17954     inline const _Tp&
17955     __median(const _Tp& __a, const _Tp& __b, const _Tp& __c)
17956     {
17957
17958      
17959       if (__a < __b)
17960  if (__b < __c)
17961    return __b;
17962  else if (__a < __c)
17963    return __c;
17964  else
17965    return __a;
17966       else if (__a < __c)
17967  return __a;
17968       else if (__b < __c)
17969  return __c;
17970       else
17971  return __b;
17972     }
17973 # 119 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17974   template<typename _Tp, typename _Compare>
17975     inline const _Tp&
17976     __median(const _Tp& __a, const _Tp& __b, const _Tp& __c, _Compare __comp)
17977     {
17978
17979      
17980       if (__comp(__a, __b))
17981  if (__comp(__b, __c))
17982    return __b;
17983  else if (__comp(__a, __c))
17984    return __c;
17985  else
17986    return __a;
17987       else if (__comp(__a, __c))
17988  return __a;
17989       else if (__comp(__b, __c))
17990  return __c;
17991       else
17992  return __b;
17993     }
17994 # 151 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17995   template<typename _InputIterator, typename _Function>
17996     _Function
17997     for_each(_InputIterator __first, _InputIterator __last, _Function __f)
17998     {
17999
18000      
18001       ;
18002       for ( ; __first != __last; ++__first)
18003  __f(*__first);
18004       return __f;
18005     }
18006
18007
18008
18009
18010
18011
18012   template<typename _InputIterator, typename _Tp>
18013     inline _InputIterator
18014     __find(_InputIterator __first, _InputIterator __last,
18015     const _Tp& __val, input_iterator_tag)
18016     {
18017       while (__first != __last && !(*__first == __val))
18018  ++__first;
18019       return __first;
18020     }
18021
18022
18023
18024
18025
18026
18027   template<typename _InputIterator, typename _Predicate>
18028     inline _InputIterator
18029     __find_if(_InputIterator __first, _InputIterator __last,
18030        _Predicate __pred, input_iterator_tag)
18031     {
18032       while (__first != __last && !__pred(*__first))
18033  ++__first;
18034       return __first;
18035     }
18036
18037
18038
18039
18040
18041
18042   template<typename _RandomAccessIterator, typename _Tp>
18043     _RandomAccessIterator
18044     __find(_RandomAccessIterator __first, _RandomAccessIterator __last,
18045     const _Tp& __val, random_access_iterator_tag)
18046     {
18047       typename iterator_traits<_RandomAccessIterator>::difference_type
18048  __trip_count = (__last - __first) >> 2;
18049
18050       for ( ; __trip_count > 0 ; --__trip_count)
18051  {
18052    if (*__first == __val)
18053      return __first;
18054    ++__first;
18055
18056    if (*__first == __val)
18057      return __first;
18058    ++__first;
18059
18060    if (*__first == __val)
18061      return __first;
18062    ++__first;
18063
18064    if (*__first == __val)
18065      return __first;
18066    ++__first;
18067  }
18068
18069       switch (__last - __first)
18070  {
18071  case 3:
18072    if (*__first == __val)
18073      return __first;
18074    ++__first;
18075  case 2:
18076    if (*__first == __val)
18077      return __first;
18078    ++__first;
18079  case 1:
18080    if (*__first == __val)
18081      return __first;
18082    ++__first;
18083  case 0:
18084  default:
18085    return __last;
18086  }
18087     }
18088
18089
18090
18091
18092
18093
18094   template<typename _RandomAccessIterator, typename _Predicate>
18095     _RandomAccessIterator
18096     __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
18097        _Predicate __pred, random_access_iterator_tag)
18098     {
18099       typename iterator_traits<_RandomAccessIterator>::difference_type
18100  __trip_count = (__last - __first) >> 2;
18101
18102       for ( ; __trip_count > 0 ; --__trip_count)
18103  {
18104    if (__pred(*__first))
18105      return __first;
18106    ++__first;
18107
18108    if (__pred(*__first))
18109      return __first;
18110    ++__first;
18111
18112    if (__pred(*__first))
18113      return __first;
18114    ++__first;
18115
18116    if (__pred(*__first))
18117      return __first;
18118    ++__first;
18119  }
18120
18121       switch (__last - __first)
18122  {
18123  case 3:
18124    if (__pred(*__first))
18125      return __first;
18126    ++__first;
18127  case 2:
18128    if (__pred(*__first))
18129      return __first;
18130    ++__first;
18131  case 1:
18132    if (__pred(*__first))
18133      return __first;
18134    ++__first;
18135  case 0:
18136  default:
18137    return __last;
18138  }
18139     }
18140 # 305 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18141   template<typename _InputIterator, typename _Tp>
18142     inline _InputIterator
18143     find(_InputIterator __first, _InputIterator __last,
18144   const _Tp& __val)
18145     {
18146
18147      
18148      
18149
18150       ;
18151       return std::__find(__first, __last, __val,
18152            std::__iterator_category(__first));
18153     }
18154 # 327 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18155   template<typename _InputIterator, typename _Predicate>
18156     inline _InputIterator
18157     find_if(_InputIterator __first, _InputIterator __last,
18158      _Predicate __pred)
18159     {
18160
18161      
18162      
18163
18164       ;
18165       return std::__find_if(__first, __last, __pred,
18166        std::__iterator_category(__first));
18167     }
18168 # 349 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18169   template<typename _ForwardIterator>
18170     _ForwardIterator
18171     adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
18172     {
18173
18174      
18175      
18176
18177       ;
18178       if (__first == __last)
18179  return __last;
18180       _ForwardIterator __next = __first;
18181       while(++__next != __last)
18182  {
18183    if (*__first == *__next)
18184      return __first;
18185    __first = __next;
18186  }
18187       return __last;
18188     }
18189 # 380 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18190   template<typename _ForwardIterator, typename _BinaryPredicate>
18191     _ForwardIterator
18192     adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
18193     _BinaryPredicate __binary_pred)
18194     {
18195
18196      
18197      
18198
18199
18200       ;
18201       if (__first == __last)
18202  return __last;
18203       _ForwardIterator __next = __first;
18204       while(++__next != __last)
18205  {
18206    if (__binary_pred(*__first, *__next))
18207      return __first;
18208    __first = __next;
18209  }
18210       return __last;
18211     }
18212 # 411 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18213   template<typename _InputIterator, typename _Tp>
18214     typename iterator_traits<_InputIterator>::difference_type
18215     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
18216     {
18217
18218      
18219      
18220
18221       ;
18222       typename iterator_traits<_InputIterator>::difference_type __n = 0;
18223       for ( ; __first != __last; ++__first)
18224  if (*__first == __value)
18225    ++__n;
18226       return __n;
18227     }
18228 # 435 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18229   template<typename _InputIterator, typename _Predicate>
18230     typename iterator_traits<_InputIterator>::difference_type
18231     count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
18232     {
18233
18234      
18235      
18236
18237       ;
18238       typename iterator_traits<_InputIterator>::difference_type __n = 0;
18239       for ( ; __first != __last; ++__first)
18240  if (__pred(*__first))
18241    ++__n;
18242       return __n;
18243     }
18244 # 474 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18245   template<typename _ForwardIterator1, typename _ForwardIterator2>
18246     _ForwardIterator1
18247     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
18248     _ForwardIterator2 __first2, _ForwardIterator2 __last2)
18249     {
18250
18251      
18252      
18253      
18254
18255
18256       ;
18257       ;
18258
18259       if (__first1 == __last1 || __first2 == __last2)
18260  return __first1;
18261
18262
18263       _ForwardIterator2 __tmp(__first2);
18264       ++__tmp;
18265       if (__tmp == __last2)
18266  return std::find(__first1, __last1, *__first2);
18267
18268
18269       _ForwardIterator2 __p1, __p;
18270       __p1 = __first2; ++__p1;
18271       _ForwardIterator1 __current = __first1;
18272
18273       while (__first1 != __last1)
18274  {
18275    __first1 = std::find(__first1, __last1, *__first2);
18276    if (__first1 == __last1)
18277      return __last1;
18278
18279    __p = __p1;
18280    __current = __first1;
18281    if (++__current == __last1)
18282      return __last1;
18283
18284    while (*__current == *__p)
18285      {
18286        if (++__p == __last2)
18287   return __first1;
18288        if (++__current == __last1)
18289   return __last1;
18290      }
18291    ++__first1;
18292  }
18293       return __first1;
18294     }
18295 # 545 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18296   template<typename _ForwardIterator1, typename _ForwardIterator2,
18297     typename _BinaryPredicate>
18298     _ForwardIterator1
18299     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
18300     _ForwardIterator2 __first2, _ForwardIterator2 __last2,
18301     _BinaryPredicate __predicate)
18302     {
18303
18304      
18305      
18306      
18307
18308
18309       ;
18310       ;
18311
18312
18313       if (__first1 == __last1 || __first2 == __last2)
18314  return __first1;
18315
18316
18317       _ForwardIterator2 __tmp(__first2);
18318       ++__tmp;
18319       if (__tmp == __last2)
18320  {
18321    while (__first1 != __last1 && !__predicate(*__first1, *__first2))
18322      ++__first1;
18323    return __first1;
18324  }
18325
18326
18327       _ForwardIterator2 __p1, __p;
18328       __p1 = __first2; ++__p1;
18329       _ForwardIterator1 __current = __first1;
18330
18331       while (__first1 != __last1)
18332  {
18333    while (__first1 != __last1)
18334      {
18335        if (__predicate(*__first1, *__first2))
18336   break;
18337        ++__first1;
18338      }
18339    while (__first1 != __last1 && !__predicate(*__first1, *__first2))
18340      ++__first1;
18341    if (__first1 == __last1)
18342      return __last1;
18343
18344    __p = __p1;
18345    __current = __first1;
18346    if (++__current == __last1)
18347      return __last1;
18348
18349    while (__predicate(*__current, *__p))
18350      {
18351        if (++__p == __last2)
18352   return __first1;
18353        if (++__current == __last1)
18354   return __last1;
18355      }
18356    ++__first1;
18357  }
18358       return __first1;
18359     }
18360 # 617 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18361   template<typename _ForwardIterator, typename _Integer, typename _Tp>
18362     _ForwardIterator
18363     __search_n(_ForwardIterator __first, _ForwardIterator __last,
18364         _Integer __count, const _Tp& __val,
18365         std::forward_iterator_tag)
18366     {
18367       __first = std::find(__first, __last, __val);
18368       while (__first != __last)
18369  {
18370    typename iterator_traits<_ForwardIterator>::difference_type
18371      __n = __count;
18372    _ForwardIterator __i = __first;
18373    ++__i;
18374    while (__i != __last && __n != 1 && *__i == __val)
18375      {
18376        ++__i;
18377        --__n;
18378      }
18379    if (__n == 1)
18380      return __first;
18381    if (__i == __last)
18382      return __last;
18383    __first = std::find(++__i, __last, __val);
18384  }
18385       return __last;
18386     }
18387 # 651 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18388   template<typename _RandomAccessIter, typename _Integer, typename _Tp>
18389     _RandomAccessIter
18390     __search_n(_RandomAccessIter __first, _RandomAccessIter __last,
18391         _Integer __count, const _Tp& __val,
18392         std::random_access_iterator_tag)
18393     {
18394
18395       typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
18396  _DistanceType;
18397
18398       _DistanceType __tailSize = __last - __first;
18399       const _DistanceType __pattSize = __count;
18400
18401       if (__tailSize < __pattSize)
18402         return __last;
18403
18404       const _DistanceType __skipOffset = __pattSize - 1;
18405       _RandomAccessIter __lookAhead = __first + __skipOffset;
18406       __tailSize -= __pattSize;
18407
18408       while (1)
18409  {
18410
18411
18412    while (!(*__lookAhead == __val))
18413      {
18414        if (__tailSize < __pattSize)
18415   return __last;
18416        __lookAhead += __pattSize;
18417        __tailSize -= __pattSize;
18418      }
18419    _DistanceType __remainder = __skipOffset;
18420    for (_RandomAccessIter __backTrack = __lookAhead - 1;
18421         *__backTrack == __val; --__backTrack)
18422      {
18423        if (--__remainder == 0)
18424   return (__lookAhead - __skipOffset);
18425      }
18426    if (__remainder > __tailSize)
18427      return __last;
18428    __lookAhead += __remainder;
18429    __tailSize -= __remainder;
18430  }
18431     }
18432 # 709 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18433   template<typename _ForwardIterator, typename _Integer, typename _Tp>
18434     _ForwardIterator
18435     search_n(_ForwardIterator __first, _ForwardIterator __last,
18436       _Integer __count, const _Tp& __val)
18437     {
18438
18439      
18440      
18441
18442       ;
18443
18444       if (__count <= 0)
18445  return __first;
18446       if (__count == 1)
18447  return std::find(__first, __last, __val);
18448       return std::__search_n(__first, __last, __count, __val,
18449         std::__iterator_category(__first));
18450     }
18451 # 736 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18452   template<typename _ForwardIterator, typename _Integer, typename _Tp,
18453            typename _BinaryPredicate>
18454     _ForwardIterator
18455     __search_n(_ForwardIterator __first, _ForwardIterator __last,
18456         _Integer __count, const _Tp& __val,
18457         _BinaryPredicate __binary_pred, std::forward_iterator_tag)
18458     {
18459       while (__first != __last && !__binary_pred(*__first, __val))
18460         ++__first;
18461
18462       while (__first != __last)
18463  {
18464    typename iterator_traits<_ForwardIterator>::difference_type
18465      __n = __count;
18466    _ForwardIterator __i = __first;
18467    ++__i;
18468    while (__i != __last && __n != 1 && __binary_pred(*__i, __val))
18469      {
18470        ++__i;
18471        --__n;
18472      }
18473    if (__n == 1)
18474      return __first;
18475    if (__i == __last)
18476      return __last;
18477    __first = ++__i;
18478    while (__first != __last && !__binary_pred(*__first, __val))
18479      ++__first;
18480  }
18481       return __last;
18482     }
18483 # 776 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18484   template<typename _RandomAccessIter, typename _Integer, typename _Tp,
18485     typename _BinaryPredicate>
18486     _RandomAccessIter
18487     __search_n(_RandomAccessIter __first, _RandomAccessIter __last,
18488         _Integer __count, const _Tp& __val,
18489         _BinaryPredicate __binary_pred, std::random_access_iterator_tag)
18490     {
18491
18492       typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
18493  _DistanceType;
18494
18495       _DistanceType __tailSize = __last - __first;
18496       const _DistanceType __pattSize = __count;
18497
18498       if (__tailSize < __pattSize)
18499         return __last;
18500
18501       const _DistanceType __skipOffset = __pattSize - 1;
18502       _RandomAccessIter __lookAhead = __first + __skipOffset;
18503       __tailSize -= __pattSize;
18504
18505       while (1)
18506  {
18507
18508
18509    while (!__binary_pred(*__lookAhead, __val))
18510      {
18511        if (__tailSize < __pattSize)
18512   return __last;
18513        __lookAhead += __pattSize;
18514        __tailSize -= __pattSize;
18515      }
18516    _DistanceType __remainder = __skipOffset;
18517    for (_RandomAccessIter __backTrack = __lookAhead - 1;
18518         __binary_pred(*__backTrack, __val); --__backTrack)
18519      {
18520        if (--__remainder == 0)
18521   return (__lookAhead - __skipOffset);
18522      }
18523    if (__remainder > __tailSize)
18524      return __last;
18525    __lookAhead += __remainder;
18526    __tailSize -= __remainder;
18527  }
18528     }
18529 # 837 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18530   template<typename _ForwardIterator, typename _Integer, typename _Tp,
18531            typename _BinaryPredicate>
18532     _ForwardIterator
18533     search_n(_ForwardIterator __first, _ForwardIterator __last,
18534       _Integer __count, const _Tp& __val,
18535       _BinaryPredicate __binary_pred)
18536     {
18537
18538      
18539      
18540
18541       ;
18542
18543       if (__count <= 0)
18544  return __first;
18545       if (__count == 1)
18546  {
18547    while (__first != __last && !__binary_pred(*__first, __val))
18548      ++__first;
18549    return __first;
18550  }
18551       return std::__search_n(__first, __last, __count, __val, __binary_pred,
18552         std::__iterator_category(__first));
18553     }
18554 # 873 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18555   template<typename _ForwardIterator1, typename _ForwardIterator2>
18556     _ForwardIterator2
18557     swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
18558   _ForwardIterator2 __first2)
18559     {
18560
18561      
18562
18563      
18564
18565      
18566
18567
18568      
18569
18570
18571       ;
18572
18573       for ( ; __first1 != __last1; ++__first1, ++__first2)
18574  std::iter_swap(__first1, __first2);
18575       return __first2;
18576     }
18577 # 911 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18578   template<typename _InputIterator, typename _OutputIterator,
18579     typename _UnaryOperation>
18580     _OutputIterator
18581     transform(_InputIterator __first, _InputIterator __last,
18582        _OutputIterator __result, _UnaryOperation __unary_op)
18583     {
18584
18585      
18586      
18587
18588
18589       ;
18590
18591       for ( ; __first != __last; ++__first, ++__result)
18592  *__result = __unary_op(*__first);
18593       return __result;
18594     }
18595 # 946 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18596   template<typename _InputIterator1, typename _InputIterator2,
18597     typename _OutputIterator, typename _BinaryOperation>
18598     _OutputIterator
18599     transform(_InputIterator1 __first1, _InputIterator1 __last1,
18600        _InputIterator2 __first2, _OutputIterator __result,
18601        _BinaryOperation __binary_op)
18602     {
18603
18604      
18605      
18606      
18607
18608
18609       ;
18610
18611       for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result)
18612  *__result = __binary_op(*__first1, *__first2);
18613       return __result;
18614     }
18615 # 978 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18616   template<typename _ForwardIterator, typename _Tp>
18617     void
18618     replace(_ForwardIterator __first, _ForwardIterator __last,
18619      const _Tp& __old_value, const _Tp& __new_value)
18620     {
18621
18622      
18623
18624      
18625
18626      
18627
18628       ;
18629
18630       for ( ; __first != __last; ++__first)
18631  if (*__first == __old_value)
18632    *__first = __new_value;
18633     }
18634 # 1009 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18635   template<typename _ForwardIterator, typename _Predicate, typename _Tp>
18636     void
18637     replace_if(_ForwardIterator __first, _ForwardIterator __last,
18638         _Predicate __pred, const _Tp& __new_value)
18639     {
18640
18641      
18642
18643      
18644
18645      
18646
18647       ;
18648
18649       for ( ; __first != __last; ++__first)
18650  if (__pred(*__first))
18651    *__first = __new_value;
18652     }
18653 # 1042 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18654   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
18655     _OutputIterator
18656     replace_copy(_InputIterator __first, _InputIterator __last,
18657    _OutputIterator __result,
18658    const _Tp& __old_value, const _Tp& __new_value)
18659     {
18660
18661      
18662      
18663
18664      
18665
18666       ;
18667
18668       for ( ; __first != __last; ++__first, ++__result)
18669  if (*__first == __old_value)
18670    *__result = __new_value;
18671  else
18672    *__result = *__first;
18673       return __result;
18674     }
18675 # 1078 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18676   template<typename _InputIterator, typename _OutputIterator,
18677     typename _Predicate, typename _Tp>
18678     _OutputIterator
18679     replace_copy_if(_InputIterator __first, _InputIterator __last,
18680       _OutputIterator __result,
18681       _Predicate __pred, const _Tp& __new_value)
18682     {
18683
18684      
18685      
18686
18687      
18688
18689       ;
18690
18691       for ( ; __first != __last; ++__first, ++__result)
18692  if (__pred(*__first))
18693    *__result = __new_value;
18694  else
18695    *__result = *__first;
18696       return __result;
18697     }
18698 # 1112 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18699   template<typename _ForwardIterator, typename _Generator>
18700     void
18701     generate(_ForwardIterator __first, _ForwardIterator __last,
18702       _Generator __gen)
18703     {
18704
18705      
18706      
18707
18708       ;
18709
18710       for ( ; __first != __last; ++__first)
18711  *__first = __gen();
18712     }
18713 # 1138 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18714   template<typename _OutputIterator, typename _Size, typename _Generator>
18715     _OutputIterator
18716     generate_n(_OutputIterator __first, _Size __n, _Generator __gen)
18717     {
18718
18719      
18720
18721
18722
18723       for ( ; __n > 0; --__n, ++__first)
18724  *__first = __gen();
18725       return __first;
18726     }
18727 # 1165 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18728   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
18729     _OutputIterator
18730     remove_copy(_InputIterator __first, _InputIterator __last,
18731   _OutputIterator __result, const _Tp& __value)
18732     {
18733
18734      
18735      
18736
18737      
18738
18739       ;
18740
18741       for ( ; __first != __last; ++__first)
18742  if (!(*__first == __value))
18743    {
18744      *__result = *__first;
18745      ++__result;
18746    }
18747       return __result;
18748     }
18749 # 1201 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18750   template<typename _InputIterator, typename _OutputIterator,
18751     typename _Predicate>
18752     _OutputIterator
18753     remove_copy_if(_InputIterator __first, _InputIterator __last,
18754      _OutputIterator __result, _Predicate __pred)
18755     {
18756
18757      
18758      
18759
18760      
18761
18762       ;
18763
18764       for ( ; __first != __last; ++__first)
18765  if (!__pred(*__first))
18766    {
18767      *__result = *__first;
18768      ++__result;
18769    }
18770       return __result;
18771     }
18772 # 1240 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18773   template<typename _ForwardIterator, typename _Tp>
18774     _ForwardIterator
18775     remove(_ForwardIterator __first, _ForwardIterator __last,
18776     const _Tp& __value)
18777     {
18778
18779      
18780
18781      
18782
18783       ;
18784
18785       __first = std::find(__first, __last, __value);
18786       _ForwardIterator __i = __first;
18787       return __first == __last ? __first
18788           : std::remove_copy(++__i, __last,
18789         __first, __value);
18790     }
18791 # 1275 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18792   template<typename _ForwardIterator, typename _Predicate>
18793     _ForwardIterator
18794     remove_if(_ForwardIterator __first, _ForwardIterator __last,
18795        _Predicate __pred)
18796     {
18797
18798      
18799
18800      
18801
18802       ;
18803
18804       __first = std::find_if(__first, __last, __pred);
18805       _ForwardIterator __i = __first;
18806       return __first == __last ? __first
18807           : std::remove_copy_if(++__i, __last,
18808            __first, __pred);
18809     }
18810 # 1301 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18811   template<typename _InputIterator, typename _OutputIterator>
18812     _OutputIterator
18813     __unique_copy(_InputIterator __first, _InputIterator __last,
18814     _OutputIterator __result,
18815     output_iterator_tag)
18816     {
18817
18818       typename iterator_traits<_InputIterator>::value_type __value = *__first;
18819       *__result = __value;
18820       while (++__first != __last)
18821  if (!(__value == *__first))
18822    {
18823      __value = *__first;
18824      *++__result = __value;
18825    }
18826       return ++__result;
18827     }
18828 # 1326 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18829   template<typename _InputIterator, typename _ForwardIterator>
18830     _ForwardIterator
18831     __unique_copy(_InputIterator __first, _InputIterator __last,
18832     _ForwardIterator __result,
18833     forward_iterator_tag)
18834     {
18835
18836       *__result = *__first;
18837       while (++__first != __last)
18838  if (!(*__result == *__first))
18839    *++__result = *__first;
18840       return ++__result;
18841     }
18842 # 1348 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18843   template<typename _InputIterator, typename _OutputIterator,
18844     typename _BinaryPredicate>
18845     _OutputIterator
18846     __unique_copy(_InputIterator __first, _InputIterator __last,
18847     _OutputIterator __result,
18848     _BinaryPredicate __binary_pred,
18849     output_iterator_tag)
18850     {
18851
18852      
18853
18854
18855
18856       typename iterator_traits<_InputIterator>::value_type __value = *__first;
18857       *__result = __value;
18858       while (++__first != __last)
18859  if (!__binary_pred(__value, *__first))
18860    {
18861      __value = *__first;
18862      *++__result = __value;
18863    }
18864       return ++__result;
18865     }
18866 # 1380 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18867   template<typename _InputIterator, typename _ForwardIterator,
18868     typename _BinaryPredicate>
18869     _ForwardIterator
18870     __unique_copy(_InputIterator __first, _InputIterator __last,
18871     _ForwardIterator __result,
18872     _BinaryPredicate __binary_pred,
18873     forward_iterator_tag)
18874     {
18875
18876      
18877
18878
18879
18880       *__result = *__first;
18881       while (++__first != __last)
18882  if (!__binary_pred(*__result, *__first)) *++__result = *__first;
18883       return ++__result;
18884     }
18885 # 1412 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18886   template<typename _InputIterator, typename _OutputIterator>
18887     inline _OutputIterator
18888     unique_copy(_InputIterator __first, _InputIterator __last,
18889   _OutputIterator __result)
18890     {
18891
18892      
18893      
18894
18895      
18896
18897       ;
18898
18899       typedef typename iterator_traits<_OutputIterator>::iterator_category
18900  _IterType;
18901
18902       if (__first == __last) return __result;
18903       return std::__unique_copy(__first, __last, __result, _IterType());
18904     }
18905 # 1447 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18906   template<typename _InputIterator, typename _OutputIterator,
18907     typename _BinaryPredicate>
18908     inline _OutputIterator
18909     unique_copy(_InputIterator __first, _InputIterator __last,
18910   _OutputIterator __result,
18911   _BinaryPredicate __binary_pred)
18912     {
18913
18914      
18915      
18916
18917       ;
18918
18919       typedef typename iterator_traits<_OutputIterator>::iterator_category
18920  _IterType;
18921
18922       if (__first == __last) return __result;
18923       return std::__unique_copy(__first, __last, __result,
18924     __binary_pred, _IterType());
18925     }
18926 # 1481 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18927   template<typename _ForwardIterator>
18928     _ForwardIterator
18929     unique(_ForwardIterator __first, _ForwardIterator __last)
18930     {
18931
18932      
18933
18934      
18935
18936       ;
18937
18938
18939       __first = std::adjacent_find(__first, __last);
18940       if (__first == __last)
18941  return __last;
18942
18943
18944       _ForwardIterator __dest = __first;
18945       ++__first;
18946       while (++__first != __last)
18947  if (!(*__dest == *__first))
18948    *++__dest = *__first;
18949       return ++__dest;
18950     }
18951 # 1520 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18952   template<typename _ForwardIterator, typename _BinaryPredicate>
18953     _ForwardIterator
18954     unique(_ForwardIterator __first, _ForwardIterator __last,
18955            _BinaryPredicate __binary_pred)
18956     {
18957
18958      
18959
18960      
18961
18962
18963       ;
18964
18965
18966       __first = std::adjacent_find(__first, __last, __binary_pred);
18967       if (__first == __last)
18968  return __last;
18969
18970
18971       _ForwardIterator __dest = __first;
18972       ++__first;
18973       while (++__first != __last)
18974  if (!__binary_pred(*__dest, *__first))
18975    *++__dest = *__first;
18976       return ++__dest;
18977     }
18978 # 1554 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18979   template<typename _BidirectionalIterator>
18980     void
18981     __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last,
18982        bidirectional_iterator_tag)
18983     {
18984       while (true)
18985  if (__first == __last || __first == --__last)
18986    return;
18987  else
18988    {
18989      std::iter_swap(__first, __last);
18990      ++__first;
18991    }
18992     }
18993 # 1576 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18994   template<typename _RandomAccessIterator>
18995     void
18996     __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last,
18997        random_access_iterator_tag)
18998     {
18999       if (__first == __last)
19000  return;
19001       --__last;
19002       while (__first < __last)
19003  {
19004    std::iter_swap(__first, __last);
19005    ++__first;
19006    --__last;
19007  }
19008     }
19009 # 1603 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19010   template<typename _BidirectionalIterator>
19011     inline void
19012     reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
19013     {
19014
19015      
19016
19017       ;
19018       std::__reverse(__first, __last, std::__iterator_category(__first));
19019     }
19020 # 1629 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19021   template<typename _BidirectionalIterator, typename _OutputIterator>
19022     _OutputIterator
19023     reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last,
19024         _OutputIterator __result)
19025     {
19026
19027      
19028
19029      
19030
19031       ;
19032
19033       while (__first != __last)
19034  {
19035    --__last;
19036    *__result = *__last;
19037    ++__result;
19038  }
19039       return __result;
19040     }
19041 # 1657 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19042   template<typename _EuclideanRingElement>
19043     _EuclideanRingElement
19044     __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n)
19045     {
19046       while (__n != 0)
19047  {
19048    _EuclideanRingElement __t = __m % __n;
19049    __m = __n;
19050    __n = __t;
19051  }
19052       return __m;
19053     }
19054
19055
19056
19057
19058
19059
19060   template<typename _ForwardIterator>
19061     void
19062     __rotate(_ForwardIterator __first,
19063       _ForwardIterator __middle,
19064       _ForwardIterator __last,
19065       forward_iterator_tag)
19066     {
19067       if (__first == __middle || __last == __middle)
19068  return;
19069
19070       _ForwardIterator __first2 = __middle;
19071       do
19072  {
19073    swap(*__first, *__first2);
19074    ++__first;
19075    ++__first2;
19076    if (__first == __middle)
19077      __middle = __first2;
19078  }
19079       while (__first2 != __last);
19080
19081       __first2 = __middle;
19082
19083       while (__first2 != __last)
19084  {
19085    swap(*__first, *__first2);
19086    ++__first;
19087    ++__first2;
19088    if (__first == __middle)
19089      __middle = __first2;
19090    else if (__first2 == __last)
19091      __first2 = __middle;
19092  }
19093     }
19094
19095
19096
19097
19098
19099
19100   template<typename _BidirectionalIterator>
19101     void
19102     __rotate(_BidirectionalIterator __first,
19103       _BidirectionalIterator __middle,
19104       _BidirectionalIterator __last,
19105        bidirectional_iterator_tag)
19106     {
19107
19108      
19109
19110
19111       if (__first == __middle || __last == __middle)
19112  return;
19113
19114       std::__reverse(__first, __middle, bidirectional_iterator_tag());
19115       std::__reverse(__middle, __last, bidirectional_iterator_tag());
19116
19117       while (__first != __middle && __middle != __last)
19118  {
19119    swap(*__first, *--__last);
19120    ++__first;
19121  }
19122
19123       if (__first == __middle)
19124  std::__reverse(__middle, __last, bidirectional_iterator_tag());
19125       else
19126  std::__reverse(__first, __middle, bidirectional_iterator_tag());
19127     }
19128
19129
19130
19131
19132
19133
19134   template<typename _RandomAccessIterator>
19135     void
19136     __rotate(_RandomAccessIterator __first,
19137       _RandomAccessIterator __middle,
19138       _RandomAccessIterator __last,
19139       random_access_iterator_tag)
19140     {
19141
19142      
19143
19144
19145       if (__first == __middle || __last == __middle)
19146  return;
19147
19148       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
19149  _Distance;
19150       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19151  _ValueType;
19152
19153       const _Distance __n = __last - __first;
19154       const _Distance __k = __middle - __first;
19155       const _Distance __l = __n - __k;
19156
19157       if (__k == __l)
19158  {
19159    std::swap_ranges(__first, __middle, __middle);
19160    return;
19161  }
19162
19163       const _Distance __d = __gcd(__n, __k);
19164
19165       for (_Distance __i = 0; __i < __d; __i++)
19166  {
19167    _ValueType __tmp = *__first;
19168    _RandomAccessIterator __p = __first;
19169
19170    if (__k < __l)
19171      {
19172        for (_Distance __j = 0; __j < __l / __d; __j++)
19173   {
19174     if (__p > __first + __l)
19175       {
19176         *__p = *(__p - __l);
19177         __p -= __l;
19178       }
19179
19180     *__p = *(__p + __k);
19181     __p += __k;
19182   }
19183      }
19184    else
19185      {
19186        for (_Distance __j = 0; __j < __k / __d - 1; __j ++)
19187   {
19188     if (__p < __last - __k)
19189       {
19190         *__p = *(__p + __k);
19191         __p += __k;
19192       }
19193     *__p = * (__p - __l);
19194     __p -= __l;
19195   }
19196      }
19197
19198    *__p = __tmp;
19199    ++__first;
19200  }
19201     }
19202 # 1836 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19203   template<typename _ForwardIterator>
19204     inline void
19205     rotate(_ForwardIterator __first, _ForwardIterator __middle,
19206     _ForwardIterator __last)
19207     {
19208
19209      
19210
19211       ;
19212       ;
19213
19214       typedef typename iterator_traits<_ForwardIterator>::iterator_category
19215  _IterType;
19216       std::__rotate(__first, __middle, __last, _IterType());
19217     }
19218 # 1869 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19219   template<typename _ForwardIterator, typename _OutputIterator>
19220     _OutputIterator
19221     rotate_copy(_ForwardIterator __first, _ForwardIterator __middle,
19222                 _ForwardIterator __last, _OutputIterator __result)
19223     {
19224
19225      
19226      
19227
19228       ;
19229       ;
19230
19231       return std::copy(__first, __middle,
19232                        std::copy(__middle, __last, __result));
19233     }
19234 # 1895 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19235   template<typename _RandomAccessIterator>
19236     inline void
19237     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
19238     {
19239
19240      
19241
19242       ;
19243
19244       if (__first != __last)
19245  for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
19246    std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1)));
19247     }
19248 # 1922 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19249   template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
19250     void
19251     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
19252      _RandomNumberGenerator& __rand)
19253     {
19254
19255      
19256
19257       ;
19258
19259       if (__first == __last)
19260  return;
19261       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
19262  std::iter_swap(__i, __first + __rand((__i - __first) + 1));
19263     }
19264
19265
19266
19267
19268
19269
19270
19271   template<typename _ForwardIterator, typename _Predicate>
19272     _ForwardIterator
19273     __partition(_ForwardIterator __first, _ForwardIterator __last,
19274   _Predicate __pred,
19275   forward_iterator_tag)
19276     {
19277       if (__first == __last)
19278  return __first;
19279
19280       while (__pred(*__first))
19281  if (++__first == __last)
19282    return __first;
19283
19284       _ForwardIterator __next = __first;
19285
19286       while (++__next != __last)
19287  if (__pred(*__next))
19288    {
19289      swap(*__first, *__next);
19290      ++__first;
19291    }
19292
19293       return __first;
19294     }
19295
19296
19297
19298
19299
19300
19301   template<typename _BidirectionalIterator, typename _Predicate>
19302     _BidirectionalIterator
19303     __partition(_BidirectionalIterator __first, _BidirectionalIterator __last,
19304   _Predicate __pred,
19305   bidirectional_iterator_tag)
19306     {
19307       while (true)
19308  {
19309    while (true)
19310      if (__first == __last)
19311        return __first;
19312      else if (__pred(*__first))
19313        ++__first;
19314      else
19315        break;
19316    --__last;
19317    while (true)
19318      if (__first == __last)
19319        return __first;
19320      else if (!__pred(*__last))
19321        --__last;
19322      else
19323        break;
19324    std::iter_swap(__first, __last);
19325    ++__first;
19326  }
19327     }
19328 # 2016 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19329   template<typename _ForwardIterator, typename _Predicate>
19330     inline _ForwardIterator
19331     partition(_ForwardIterator __first, _ForwardIterator __last,
19332        _Predicate __pred)
19333     {
19334
19335      
19336
19337      
19338
19339       ;
19340
19341       return std::__partition(__first, __last, __pred,
19342          std::__iterator_category(__first));
19343     }
19344
19345
19346
19347
19348
19349
19350
19351   template<typename _ForwardIterator, typename _Predicate, typename _Distance>
19352     _ForwardIterator
19353     __inplace_stable_partition(_ForwardIterator __first,
19354           _ForwardIterator __last,
19355           _Predicate __pred, _Distance __len)
19356     {
19357       if (__len == 1)
19358  return __pred(*__first) ? __last : __first;
19359       _ForwardIterator __middle = __first;
19360       std::advance(__middle, __len / 2);
19361       _ForwardIterator __begin = std::__inplace_stable_partition(__first,
19362          __middle,
19363          __pred,
19364          __len / 2);
19365       _ForwardIterator __end = std::__inplace_stable_partition(__middle, __last,
19366               __pred,
19367               __len
19368               - __len / 2);
19369       std::rotate(__begin, __middle, __end);
19370       std::advance(__begin, std::distance(__middle, __end));
19371       return __begin;
19372     }
19373
19374
19375
19376
19377
19378
19379   template<typename _ForwardIterator, typename _Pointer, typename _Predicate,
19380     typename _Distance>
19381     _ForwardIterator
19382     __stable_partition_adaptive(_ForwardIterator __first,
19383     _ForwardIterator __last,
19384     _Predicate __pred, _Distance __len,
19385     _Pointer __buffer,
19386     _Distance __buffer_size)
19387     {
19388       if (__len <= __buffer_size)
19389  {
19390    _ForwardIterator __result1 = __first;
19391    _Pointer __result2 = __buffer;
19392    for ( ; __first != __last ; ++__first)
19393      if (__pred(*__first))
19394        {
19395   *__result1 = *__first;
19396   ++__result1;
19397        }
19398      else
19399        {
19400   *__result2 = *__first;
19401   ++__result2;
19402        }
19403    std::copy(__buffer, __result2, __result1);
19404    return __result1;
19405  }
19406       else
19407  {
19408    _ForwardIterator __middle = __first;
19409    std::advance(__middle, __len / 2);
19410    _ForwardIterator __begin =
19411      std::__stable_partition_adaptive(__first, __middle, __pred,
19412           __len / 2, __buffer,
19413           __buffer_size);
19414    _ForwardIterator __end =
19415      std::__stable_partition_adaptive(__middle, __last, __pred,
19416           __len - __len / 2,
19417           __buffer, __buffer_size);
19418    std::rotate(__begin, __middle, __end);
19419    std::advance(__begin, std::distance(__middle, __end));
19420    return __begin;
19421  }
19422     }
19423 # 2127 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19424   template<typename _ForwardIterator, typename _Predicate>
19425     _ForwardIterator
19426     stable_partition(_ForwardIterator __first, _ForwardIterator __last,
19427        _Predicate __pred)
19428     {
19429
19430      
19431
19432      
19433
19434       ;
19435
19436       if (__first == __last)
19437  return __first;
19438       else
19439  {
19440    typedef typename iterator_traits<_ForwardIterator>::value_type
19441      _ValueType;
19442    typedef typename iterator_traits<_ForwardIterator>::difference_type
19443      _DistanceType;
19444
19445    _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first,
19446         __last);
19447  if (__buf.size() > 0)
19448    return
19449      std::__stable_partition_adaptive(__first, __last, __pred,
19450        _DistanceType(__buf.requested_size()),
19451        __buf.begin(), __buf.size());
19452  else
19453    return
19454      std::__inplace_stable_partition(__first, __last, __pred,
19455       _DistanceType(__buf.requested_size()));
19456  }
19457     }
19458
19459
19460
19461
19462
19463
19464   template<typename _RandomAccessIterator, typename _Tp>
19465     _RandomAccessIterator
19466     __unguarded_partition(_RandomAccessIterator __first,
19467      _RandomAccessIterator __last, _Tp __pivot)
19468     {
19469       while (true)
19470  {
19471    while (*__first < __pivot)
19472      ++__first;
19473    --__last;
19474    while (__pivot < *__last)
19475      --__last;
19476    if (!(__first < __last))
19477      return __first;
19478    std::iter_swap(__first, __last);
19479    ++__first;
19480  }
19481     }
19482
19483
19484
19485
19486
19487
19488   template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
19489     _RandomAccessIterator
19490     __unguarded_partition(_RandomAccessIterator __first,
19491      _RandomAccessIterator __last,
19492      _Tp __pivot, _Compare __comp)
19493     {
19494       while (true)
19495  {
19496    while (__comp(*__first, __pivot))
19497      ++__first;
19498    --__last;
19499    while (__comp(__pivot, *__last))
19500      --__last;
19501    if (!(__first < __last))
19502      return __first;
19503    std::iter_swap(__first, __last);
19504    ++__first;
19505  }
19506     }
19507
19508
19509
19510
19511
19512
19513
19514   enum { _S_threshold = 16 };
19515
19516
19517
19518
19519
19520
19521   template<typename _RandomAccessIterator, typename _Tp>
19522     void
19523     __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val)
19524     {
19525       _RandomAccessIterator __next = __last;
19526       --__next;
19527       while (__val < *__next)
19528  {
19529    *__last = *__next;
19530    __last = __next;
19531    --__next;
19532  }
19533       *__last = __val;
19534     }
19535
19536
19537
19538
19539
19540
19541   template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
19542     void
19543     __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val,
19544          _Compare __comp)
19545     {
19546       _RandomAccessIterator __next = __last;
19547       --__next;
19548       while (__comp(__val, *__next))
19549  {
19550    *__last = *__next;
19551    __last = __next;
19552    --__next;
19553  }
19554       *__last = __val;
19555     }
19556
19557
19558
19559
19560
19561
19562   template<typename _RandomAccessIterator>
19563     void
19564     __insertion_sort(_RandomAccessIterator __first,
19565        _RandomAccessIterator __last)
19566     {
19567       if (__first == __last)
19568  return;
19569
19570       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
19571  {
19572    typename iterator_traits<_RandomAccessIterator>::value_type
19573      __val = *__i;
19574    if (__val < *__first)
19575      {
19576        std::copy_backward(__first, __i, __i + 1);
19577        *__first = __val;
19578      }
19579    else
19580      std::__unguarded_linear_insert(__i, __val);
19581  }
19582     }
19583
19584
19585
19586
19587
19588
19589   template<typename _RandomAccessIterator, typename _Compare>
19590     void
19591     __insertion_sort(_RandomAccessIterator __first,
19592        _RandomAccessIterator __last, _Compare __comp)
19593     {
19594       if (__first == __last) return;
19595
19596       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
19597  {
19598    typename iterator_traits<_RandomAccessIterator>::value_type
19599      __val = *__i;
19600    if (__comp(__val, *__first))
19601      {
19602        std::copy_backward(__first, __i, __i + 1);
19603        *__first = __val;
19604      }
19605    else
19606      std::__unguarded_linear_insert(__i, __val, __comp);
19607  }
19608     }
19609
19610
19611
19612
19613
19614
19615   template<typename _RandomAccessIterator>
19616     inline void
19617     __unguarded_insertion_sort(_RandomAccessIterator __first,
19618           _RandomAccessIterator __last)
19619     {
19620       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19621  _ValueType;
19622
19623       for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
19624  std::__unguarded_linear_insert(__i, _ValueType(*__i));
19625     }
19626
19627
19628
19629
19630
19631
19632   template<typename _RandomAccessIterator, typename _Compare>
19633     inline void
19634     __unguarded_insertion_sort(_RandomAccessIterator __first,
19635           _RandomAccessIterator __last, _Compare __comp)
19636     {
19637       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19638  _ValueType;
19639
19640       for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
19641  std::__unguarded_linear_insert(__i, _ValueType(*__i), __comp);
19642     }
19643
19644
19645
19646
19647
19648
19649   template<typename _RandomAccessIterator>
19650     void
19651     __final_insertion_sort(_RandomAccessIterator __first,
19652       _RandomAccessIterator __last)
19653     {
19654       if (__last - __first > int(_S_threshold))
19655  {
19656    std::__insertion_sort(__first, __first + int(_S_threshold));
19657    std::__unguarded_insertion_sort(__first + int(_S_threshold), __last);
19658  }
19659       else
19660  std::__insertion_sort(__first, __last);
19661     }
19662
19663
19664
19665
19666
19667
19668   template<typename _RandomAccessIterator, typename _Compare>
19669     void
19670     __final_insertion_sort(_RandomAccessIterator __first,
19671       _RandomAccessIterator __last, _Compare __comp)
19672     {
19673       if (__last - __first > int(_S_threshold))
19674  {
19675    std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
19676    std::__unguarded_insertion_sort(__first + int(_S_threshold), __last,
19677        __comp);
19678  }
19679       else
19680  std::__insertion_sort(__first, __last, __comp);
19681     }
19682
19683
19684
19685
19686
19687
19688   template<typename _Size>
19689     inline _Size
19690     __lg(_Size __n)
19691     {
19692       _Size __k;
19693       for (__k = 0; __n != 1; __n >>= 1)
19694  ++__k;
19695       return __k;
19696     }
19697 # 2416 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19698   template<typename _RandomAccessIterator>
19699     void
19700     partial_sort(_RandomAccessIterator __first,
19701    _RandomAccessIterator __middle,
19702    _RandomAccessIterator __last)
19703     {
19704       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19705  _ValueType;
19706
19707
19708      
19709
19710      
19711       ;
19712       ;
19713
19714       std::make_heap(__first, __middle);
19715       for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
19716  if (*__i < *__first)
19717    std::__pop_heap(__first, __middle, __i, _ValueType(*__i));
19718       std::sort_heap(__first, __middle);
19719     }
19720 # 2457 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19721   template<typename _RandomAccessIterator, typename _Compare>
19722     void
19723     partial_sort(_RandomAccessIterator __first,
19724    _RandomAccessIterator __middle,
19725    _RandomAccessIterator __last,
19726    _Compare __comp)
19727     {
19728       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19729  _ValueType;
19730
19731
19732      
19733
19734      
19735
19736       ;
19737       ;
19738
19739       std::make_heap(__first, __middle, __comp);
19740       for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
19741  if (__comp(*__i, *__first))
19742    std::__pop_heap(__first, __middle, __i, _ValueType(*__i), __comp);
19743       std::sort_heap(__first, __middle, __comp);
19744     }
19745 # 2499 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19746   template<typename _InputIterator, typename _RandomAccessIterator>
19747     _RandomAccessIterator
19748     partial_sort_copy(_InputIterator __first, _InputIterator __last,
19749         _RandomAccessIterator __result_first,
19750         _RandomAccessIterator __result_last)
19751     {
19752       typedef typename iterator_traits<_InputIterator>::value_type
19753  _InputValueType;
19754       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19755  _OutputValueType;
19756       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
19757  _DistanceType;
19758
19759
19760      
19761      
19762
19763      
19764      
19765       ;
19766       ;
19767
19768       if (__result_first == __result_last)
19769  return __result_last;
19770       _RandomAccessIterator __result_real_last = __result_first;
19771       while(__first != __last && __result_real_last != __result_last)
19772  {
19773    *__result_real_last = *__first;
19774    ++__result_real_last;
19775    ++__first;
19776  }
19777       std::make_heap(__result_first, __result_real_last);
19778       while (__first != __last)
19779  {
19780    if (*__first < *__result_first)
19781      std::__adjust_heap(__result_first, _DistanceType(0),
19782           _DistanceType(__result_real_last
19783           - __result_first),
19784           _InputValueType(*__first));
19785    ++__first;
19786  }
19787       std::sort_heap(__result_first, __result_real_last);
19788       return __result_real_last;
19789     }
19790 # 2563 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19791   template<typename _InputIterator, typename _RandomAccessIterator, typename _Compare>
19792     _RandomAccessIterator
19793     partial_sort_copy(_InputIterator __first, _InputIterator __last,
19794         _RandomAccessIterator __result_first,
19795         _RandomAccessIterator __result_last,
19796         _Compare __comp)
19797     {
19798       typedef typename iterator_traits<_InputIterator>::value_type
19799  _InputValueType;
19800       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19801  _OutputValueType;
19802       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
19803  _DistanceType;
19804
19805
19806      
19807      
19808
19809      
19810
19811      
19812
19813       ;
19814       ;
19815
19816       if (__result_first == __result_last)
19817  return __result_last;
19818       _RandomAccessIterator __result_real_last = __result_first;
19819       while(__first != __last && __result_real_last != __result_last)
19820  {
19821    *__result_real_last = *__first;
19822    ++__result_real_last;
19823    ++__first;
19824  }
19825       std::make_heap(__result_first, __result_real_last, __comp);
19826       while (__first != __last)
19827  {
19828    if (__comp(*__first, *__result_first))
19829      std::__adjust_heap(__result_first, _DistanceType(0),
19830           _DistanceType(__result_real_last
19831           - __result_first),
19832           _InputValueType(*__first),
19833           __comp);
19834    ++__first;
19835  }
19836       std::sort_heap(__result_first, __result_real_last, __comp);
19837       return __result_real_last;
19838     }
19839
19840
19841
19842
19843
19844
19845   template<typename _RandomAccessIterator, typename _Size>
19846     void
19847     __introsort_loop(_RandomAccessIterator __first,
19848        _RandomAccessIterator __last,
19849        _Size __depth_limit)
19850     {
19851       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19852  _ValueType;
19853
19854       while (__last - __first > int(_S_threshold))
19855  {
19856    if (__depth_limit == 0)
19857      {
19858        std::partial_sort(__first, __last, __last);
19859        return;
19860      }
19861    --__depth_limit;
19862    _RandomAccessIterator __cut =
19863      std::__unguarded_partition(__first, __last,
19864            _ValueType(std::__median(*__first,
19865         *(__first
19866           + (__last
19867              - __first)
19868           / 2),
19869         *(__last
19870           - 1))));
19871    std::__introsort_loop(__cut, __last, __depth_limit);
19872    __last = __cut;
19873  }
19874     }
19875
19876
19877
19878
19879
19880
19881   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
19882     void
19883     __introsort_loop(_RandomAccessIterator __first,
19884        _RandomAccessIterator __last,
19885        _Size __depth_limit, _Compare __comp)
19886     {
19887       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19888  _ValueType;
19889
19890       while (__last - __first > int(_S_threshold))
19891  {
19892    if (__depth_limit == 0)
19893      {
19894        std::partial_sort(__first, __last, __last, __comp);
19895        return;
19896      }
19897    --__depth_limit;
19898    _RandomAccessIterator __cut =
19899      std::__unguarded_partition(__first, __last,
19900            _ValueType(std::__median(*__first,
19901         *(__first
19902           + (__last
19903              - __first)
19904           / 2),
19905         *(__last - 1),
19906         __comp)),
19907            __comp);
19908    std::__introsort_loop(__cut, __last, __depth_limit, __comp);
19909    __last = __cut;
19910  }
19911     }
19912 # 2698 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19913   template<typename _RandomAccessIterator>
19914     inline void
19915     sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
19916     {
19917       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19918  _ValueType;
19919
19920
19921      
19922
19923      
19924       ;
19925
19926       if (__first != __last)
19927  {
19928    std::__introsort_loop(__first, __last, __lg(__last - __first) * 2);
19929    std::__final_insertion_sort(__first, __last);
19930  }
19931     }
19932 # 2732 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19933   template<typename _RandomAccessIterator, typename _Compare>
19934     inline void
19935     sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
19936   _Compare __comp)
19937     {
19938       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19939  _ValueType;
19940
19941
19942      
19943
19944      
19945
19946       ;
19947
19948       if (__first != __last)
19949  {
19950    std::__introsort_loop(__first, __last, __lg(__last - __first) * 2,
19951     __comp);
19952    std::__final_insertion_sort(__first, __last, __comp);
19953  }
19954     }
19955 # 2765 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19956   template<typename _ForwardIterator, typename _Tp>
19957     _ForwardIterator
19958     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
19959   const _Tp& __val)
19960     {
19961       typedef typename iterator_traits<_ForwardIterator>::value_type
19962  _ValueType;
19963       typedef typename iterator_traits<_ForwardIterator>::difference_type
19964  _DistanceType;
19965
19966
19967
19968
19969
19970
19971      
19972      
19973      
19974       ;
19975
19976       _DistanceType __len = std::distance(__first, __last);
19977       _DistanceType __half;
19978       _ForwardIterator __middle;
19979
19980       while (__len > 0)
19981  {
19982    __half = __len >> 1;
19983    __middle = __first;
19984    std::advance(__middle, __half);
19985    if (*__middle < __val)
19986      {
19987        __first = __middle;
19988        ++__first;
19989        __len = __len - __half - 1;
19990      }
19991    else
19992      __len = __half;
19993  }
19994       return __first;
19995     }
19996 # 2820 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19997   template<typename _ForwardIterator, typename _Tp, typename _Compare>
19998     _ForwardIterator
19999     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
20000   const _Tp& __val, _Compare __comp)
20001     {
20002       typedef typename iterator_traits<_ForwardIterator>::value_type
20003  _ValueType;
20004       typedef typename iterator_traits<_ForwardIterator>::difference_type
20005  _DistanceType;
20006
20007
20008      
20009      
20010
20011       ;
20012
20013       _DistanceType __len = std::distance(__first, __last);
20014       _DistanceType __half;
20015       _ForwardIterator __middle;
20016
20017       while (__len > 0)
20018  {
20019    __half = __len >> 1;
20020    __middle = __first;
20021    std::advance(__middle, __half);
20022    if (__comp(*__middle, __val))
20023      {
20024        __first = __middle;
20025        ++__first;
20026        __len = __len - __half - 1;
20027      }
20028    else
20029      __len = __half;
20030  }
20031       return __first;
20032     }
20033 # 2867 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20034   template<typename _ForwardIterator, typename _Tp>
20035     _ForwardIterator
20036     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
20037   const _Tp& __val)
20038     {
20039       typedef typename iterator_traits<_ForwardIterator>::value_type
20040  _ValueType;
20041       typedef typename iterator_traits<_ForwardIterator>::difference_type
20042  _DistanceType;
20043
20044
20045
20046      
20047      
20048      
20049       ;
20050
20051       _DistanceType __len = std::distance(__first, __last);
20052       _DistanceType __half;
20053       _ForwardIterator __middle;
20054
20055       while (__len > 0)
20056  {
20057    __half = __len >> 1;
20058    __middle = __first;
20059    std::advance(__middle, __half);
20060    if (__val < *__middle)
20061      __len = __half;
20062    else
20063      {
20064        __first = __middle;
20065        ++__first;
20066        __len = __len - __half - 1;
20067      }
20068  }
20069       return __first;
20070     }
20071 # 2919 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20072   template<typename _ForwardIterator, typename _Tp, typename _Compare>
20073     _ForwardIterator
20074     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
20075   const _Tp& __val, _Compare __comp)
20076     {
20077       typedef typename iterator_traits<_ForwardIterator>::value_type
20078  _ValueType;
20079       typedef typename iterator_traits<_ForwardIterator>::difference_type
20080  _DistanceType;
20081
20082
20083      
20084      
20085
20086       ;
20087
20088       _DistanceType __len = std::distance(__first, __last);
20089       _DistanceType __half;
20090       _ForwardIterator __middle;
20091
20092       while (__len > 0)
20093  {
20094    __half = __len >> 1;
20095    __middle = __first;
20096    std::advance(__middle, __half);
20097    if (__comp(__val, *__middle))
20098      __len = __half;
20099    else
20100      {
20101        __first = __middle;
20102        ++__first;
20103        __len = __len - __half - 1;
20104      }
20105  }
20106       return __first;
20107     }
20108
20109
20110
20111
20112
20113
20114   template<typename _BidirectionalIterator, typename _Distance>
20115     void
20116     __merge_without_buffer(_BidirectionalIterator __first,
20117       _BidirectionalIterator __middle,
20118       _BidirectionalIterator __last,
20119       _Distance __len1, _Distance __len2)
20120     {
20121       if (__len1 == 0 || __len2 == 0)
20122  return;
20123       if (__len1 + __len2 == 2)
20124  {
20125    if (*__middle < *__first)
20126      std::iter_swap(__first, __middle);
20127    return;
20128  }
20129       _BidirectionalIterator __first_cut = __first;
20130       _BidirectionalIterator __second_cut = __middle;
20131       _Distance __len11 = 0;
20132       _Distance __len22 = 0;
20133       if (__len1 > __len2)
20134  {
20135    __len11 = __len1 / 2;
20136    std::advance(__first_cut, __len11);
20137    __second_cut = std::lower_bound(__middle, __last, *__first_cut);
20138    __len22 = std::distance(__middle, __second_cut);
20139  }
20140       else
20141  {
20142    __len22 = __len2 / 2;
20143    std::advance(__second_cut, __len22);
20144    __first_cut = std::upper_bound(__first, __middle, *__second_cut);
20145    __len11 = std::distance(__first, __first_cut);
20146  }
20147       std::rotate(__first_cut, __middle, __second_cut);
20148       _BidirectionalIterator __new_middle = __first_cut;
20149       std::advance(__new_middle, std::distance(__middle, __second_cut));
20150       std::__merge_without_buffer(__first, __first_cut, __new_middle,
20151       __len11, __len22);
20152       std::__merge_without_buffer(__new_middle, __second_cut, __last,
20153       __len1 - __len11, __len2 - __len22);
20154     }
20155
20156
20157
20158
20159
20160
20161   template<typename _BidirectionalIterator, typename _Distance,
20162     typename _Compare>
20163     void
20164     __merge_without_buffer(_BidirectionalIterator __first,
20165                            _BidirectionalIterator __middle,
20166       _BidirectionalIterator __last,
20167       _Distance __len1, _Distance __len2,
20168       _Compare __comp)
20169     {
20170       if (__len1 == 0 || __len2 == 0)
20171  return;
20172       if (__len1 + __len2 == 2)
20173  {
20174    if (__comp(*__middle, *__first))
20175      std::iter_swap(__first, __middle);
20176    return;
20177  }
20178       _BidirectionalIterator __first_cut = __first;
20179       _BidirectionalIterator __second_cut = __middle;
20180       _Distance __len11 = 0;
20181       _Distance __len22 = 0;
20182       if (__len1 > __len2)
20183  {
20184    __len11 = __len1 / 2;
20185    std::advance(__first_cut, __len11);
20186    __second_cut = std::lower_bound(__middle, __last, *__first_cut,
20187        __comp);
20188    __len22 = std::distance(__middle, __second_cut);
20189  }
20190       else
20191  {
20192    __len22 = __len2 / 2;
20193    std::advance(__second_cut, __len22);
20194    __first_cut = std::upper_bound(__first, __middle, *__second_cut,
20195       __comp);
20196    __len11 = std::distance(__first, __first_cut);
20197  }
20198       std::rotate(__first_cut, __middle, __second_cut);
20199       _BidirectionalIterator __new_middle = __first_cut;
20200       std::advance(__new_middle, std::distance(__middle, __second_cut));
20201       std::__merge_without_buffer(__first, __first_cut, __new_middle,
20202       __len11, __len22, __comp);
20203       std::__merge_without_buffer(__new_middle, __second_cut, __last,
20204       __len1 - __len11, __len2 - __len22, __comp);
20205     }
20206
20207
20208
20209
20210
20211
20212   template<typename _RandomAccessIterator>
20213     void
20214     __inplace_stable_sort(_RandomAccessIterator __first,
20215      _RandomAccessIterator __last)
20216     {
20217       if (__last - __first < 15)
20218  {
20219    std::__insertion_sort(__first, __last);
20220    return;
20221  }
20222       _RandomAccessIterator __middle = __first + (__last - __first) / 2;
20223       std::__inplace_stable_sort(__first, __middle);
20224       std::__inplace_stable_sort(__middle, __last);
20225       std::__merge_without_buffer(__first, __middle, __last,
20226       __middle - __first,
20227       __last - __middle);
20228     }
20229
20230
20231
20232
20233
20234
20235   template<typename _RandomAccessIterator, typename _Compare>
20236     void
20237     __inplace_stable_sort(_RandomAccessIterator __first,
20238      _RandomAccessIterator __last, _Compare __comp)
20239     {
20240       if (__last - __first < 15)
20241  {
20242    std::__insertion_sort(__first, __last, __comp);
20243    return;
20244  }
20245       _RandomAccessIterator __middle = __first + (__last - __first) / 2;
20246       std::__inplace_stable_sort(__first, __middle, __comp);
20247       std::__inplace_stable_sort(__middle, __last, __comp);
20248       std::__merge_without_buffer(__first, __middle, __last,
20249       __middle - __first,
20250       __last - __middle,
20251       __comp);
20252     }
20253 # 3117 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20254   template<typename _InputIterator1, typename _InputIterator2,
20255     typename _OutputIterator>
20256     _OutputIterator
20257     merge(_InputIterator1 __first1, _InputIterator1 __last1,
20258    _InputIterator2 __first2, _InputIterator2 __last2,
20259    _OutputIterator __result)
20260     {
20261
20262      
20263      
20264      
20265
20266      
20267
20268
20269      
20270
20271       ;
20272       ;
20273
20274       while (__first1 != __last1 && __first2 != __last2)
20275  {
20276    if (*__first2 < *__first1)
20277      {
20278        *__result = *__first2;
20279        ++__first2;
20280      }
20281    else
20282      {
20283        *__result = *__first1;
20284        ++__first1;
20285      }
20286    ++__result;
20287  }
20288       return std::copy(__first2, __last2, std::copy(__first1, __last1,
20289           __result));
20290     }
20291 # 3175 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20292   template<typename _InputIterator1, typename _InputIterator2,
20293     typename _OutputIterator, typename _Compare>
20294     _OutputIterator
20295     merge(_InputIterator1 __first1, _InputIterator1 __last1,
20296    _InputIterator2 __first2, _InputIterator2 __last2,
20297    _OutputIterator __result, _Compare __comp)
20298     {
20299
20300      
20301      
20302      
20303
20304
20305      
20306
20307      
20308
20309
20310       ;
20311       ;
20312
20313       while (__first1 != __last1 && __first2 != __last2)
20314  {
20315    if (__comp(*__first2, *__first1))
20316      {
20317        *__result = *__first2;
20318        ++__first2;
20319      }
20320    else
20321      {
20322        *__result = *__first1;
20323        ++__first1;
20324      }
20325    ++__result;
20326  }
20327       return std::copy(__first2, __last2, std::copy(__first1, __last1,
20328           __result));
20329     }
20330
20331   template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
20332     typename _Distance>
20333     void
20334     __merge_sort_loop(_RandomAccessIterator1 __first,
20335         _RandomAccessIterator1 __last,
20336         _RandomAccessIterator2 __result,
20337         _Distance __step_size)
20338     {
20339       const _Distance __two_step = 2 * __step_size;
20340
20341       while (__last - __first >= __two_step)
20342  {
20343    __result = std::merge(__first, __first + __step_size,
20344     __first + __step_size, __first + __two_step,
20345     __result);
20346    __first += __two_step;
20347  }
20348
20349       __step_size = std::min(_Distance(__last - __first), __step_size);
20350       std::merge(__first, __first + __step_size, __first + __step_size, __last,
20351    __result);
20352     }
20353
20354   template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
20355     typename _Distance, typename _Compare>
20356     void
20357     __merge_sort_loop(_RandomAccessIterator1 __first,
20358         _RandomAccessIterator1 __last,
20359         _RandomAccessIterator2 __result, _Distance __step_size,
20360         _Compare __comp)
20361     {
20362       const _Distance __two_step = 2 * __step_size;
20363
20364       while (__last - __first >= __two_step)
20365  {
20366    __result = std::merge(__first, __first + __step_size,
20367     __first + __step_size, __first + __two_step,
20368     __result,
20369     __comp);
20370    __first += __two_step;
20371  }
20372       __step_size = std::min(_Distance(__last - __first), __step_size);
20373
20374       std::merge(__first, __first + __step_size,
20375    __first + __step_size, __last,
20376    __result,
20377    __comp);
20378     }
20379
20380   enum { _S_chunk_size = 7 };
20381
20382   template<typename _RandomAccessIterator, typename _Distance>
20383     void
20384     __chunk_insertion_sort(_RandomAccessIterator __first,
20385       _RandomAccessIterator __last,
20386       _Distance __chunk_size)
20387     {
20388       while (__last - __first >= __chunk_size)
20389  {
20390    std::__insertion_sort(__first, __first + __chunk_size);
20391    __first += __chunk_size;
20392  }
20393       std::__insertion_sort(__first, __last);
20394     }
20395
20396   template<typename _RandomAccessIterator, typename _Distance, typename _Compare>
20397     void
20398     __chunk_insertion_sort(_RandomAccessIterator __first,
20399       _RandomAccessIterator __last,
20400       _Distance __chunk_size, _Compare __comp)
20401     {
20402       while (__last - __first >= __chunk_size)
20403  {
20404    std::__insertion_sort(__first, __first + __chunk_size, __comp);
20405    __first += __chunk_size;
20406  }
20407       std::__insertion_sort(__first, __last, __comp);
20408     }
20409
20410   template<typename _RandomAccessIterator, typename _Pointer>
20411     void
20412     __merge_sort_with_buffer(_RandomAccessIterator __first,
20413         _RandomAccessIterator __last,
20414                              _Pointer __buffer)
20415     {
20416       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
20417  _Distance;
20418
20419       const _Distance __len = __last - __first;
20420       const _Pointer __buffer_last = __buffer + __len;
20421
20422       _Distance __step_size = _S_chunk_size;
20423       std::__chunk_insertion_sort(__first, __last, __step_size);
20424
20425       while (__step_size < __len)
20426  {
20427    std::__merge_sort_loop(__first, __last, __buffer, __step_size);
20428    __step_size *= 2;
20429    std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size);
20430    __step_size *= 2;
20431  }
20432     }
20433
20434   template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
20435     void
20436     __merge_sort_with_buffer(_RandomAccessIterator __first,
20437         _RandomAccessIterator __last,
20438                              _Pointer __buffer, _Compare __comp)
20439     {
20440       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
20441  _Distance;
20442
20443       const _Distance __len = __last - __first;
20444       const _Pointer __buffer_last = __buffer + __len;
20445
20446       _Distance __step_size = _S_chunk_size;
20447       std::__chunk_insertion_sort(__first, __last, __step_size, __comp);
20448
20449       while (__step_size < __len)
20450  {
20451    std::__merge_sort_loop(__first, __last, __buffer,
20452      __step_size, __comp);
20453    __step_size *= 2;
20454    std::__merge_sort_loop(__buffer, __buffer_last, __first,
20455      __step_size, __comp);
20456    __step_size *= 2;
20457  }
20458     }
20459
20460
20461
20462
20463
20464
20465   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
20466     typename _BidirectionalIterator3>
20467     _BidirectionalIterator3
20468     __merge_backward(_BidirectionalIterator1 __first1,
20469        _BidirectionalIterator1 __last1,
20470        _BidirectionalIterator2 __first2,
20471        _BidirectionalIterator2 __last2,
20472        _BidirectionalIterator3 __result)
20473     {
20474       if (__first1 == __last1)
20475  return std::copy_backward(__first2, __last2, __result);
20476       if (__first2 == __last2)
20477  return std::copy_backward(__first1, __last1, __result);
20478       --__last1;
20479       --__last2;
20480       while (true)
20481  {
20482    if (*__last2 < *__last1)
20483      {
20484        *--__result = *__last1;
20485        if (__first1 == __last1)
20486   return std::copy_backward(__first2, ++__last2, __result);
20487        --__last1;
20488      }
20489    else
20490      {
20491        *--__result = *__last2;
20492        if (__first2 == __last2)
20493   return std::copy_backward(__first1, ++__last1, __result);
20494        --__last2;
20495      }
20496  }
20497     }
20498
20499
20500
20501
20502
20503
20504   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
20505     typename _BidirectionalIterator3, typename _Compare>
20506     _BidirectionalIterator3
20507     __merge_backward(_BidirectionalIterator1 __first1,
20508        _BidirectionalIterator1 __last1,
20509        _BidirectionalIterator2 __first2,
20510        _BidirectionalIterator2 __last2,
20511        _BidirectionalIterator3 __result,
20512        _Compare __comp)
20513     {
20514       if (__first1 == __last1)
20515  return std::copy_backward(__first2, __last2, __result);
20516       if (__first2 == __last2)
20517  return std::copy_backward(__first1, __last1, __result);
20518       --__last1;
20519       --__last2;
20520       while (true)
20521  {
20522    if (__comp(*__last2, *__last1))
20523      {
20524        *--__result = *__last1;
20525        if (__first1 == __last1)
20526   return std::copy_backward(__first2, ++__last2, __result);
20527        --__last1;
20528      }
20529    else
20530      {
20531        *--__result = *__last2;
20532        if (__first2 == __last2)
20533   return std::copy_backward(__first1, ++__last1, __result);
20534        --__last2;
20535      }
20536  }
20537     }
20538
20539
20540
20541
20542
20543
20544   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
20545     typename _Distance>
20546     _BidirectionalIterator1
20547     __rotate_adaptive(_BidirectionalIterator1 __first,
20548         _BidirectionalIterator1 __middle,
20549         _BidirectionalIterator1 __last,
20550         _Distance __len1, _Distance __len2,
20551         _BidirectionalIterator2 __buffer,
20552         _Distance __buffer_size)
20553     {
20554       _BidirectionalIterator2 __buffer_end;
20555       if (__len1 > __len2 && __len2 <= __buffer_size)
20556  {
20557    __buffer_end = std::copy(__middle, __last, __buffer);
20558    std::copy_backward(__first, __middle, __last);
20559    return std::copy(__buffer, __buffer_end, __first);
20560  }
20561       else if (__len1 <= __buffer_size)
20562  {
20563    __buffer_end = std::copy(__first, __middle, __buffer);
20564    std::copy(__middle, __last, __first);
20565    return std::copy_backward(__buffer, __buffer_end, __last);
20566  }
20567       else
20568  {
20569    std::rotate(__first, __middle, __last);
20570    std::advance(__first, std::distance(__middle, __last));
20571    return __first;
20572  }
20573     }
20574
20575
20576
20577
20578
20579
20580   template<typename _BidirectionalIterator, typename _Distance,
20581     typename _Pointer>
20582     void
20583     __merge_adaptive(_BidirectionalIterator __first,
20584                      _BidirectionalIterator __middle,
20585        _BidirectionalIterator __last,
20586        _Distance __len1, _Distance __len2,
20587        _Pointer __buffer, _Distance __buffer_size)
20588     {
20589       if (__len1 <= __len2 && __len1 <= __buffer_size)
20590  {
20591    _Pointer __buffer_end = std::copy(__first, __middle, __buffer);
20592    std::merge(__buffer, __buffer_end, __middle, __last, __first);
20593  }
20594       else if (__len2 <= __buffer_size)
20595  {
20596    _Pointer __buffer_end = std::copy(__middle, __last, __buffer);
20597    std::__merge_backward(__first, __middle, __buffer,
20598     __buffer_end, __last);
20599  }
20600       else
20601  {
20602    _BidirectionalIterator __first_cut = __first;
20603    _BidirectionalIterator __second_cut = __middle;
20604    _Distance __len11 = 0;
20605    _Distance __len22 = 0;
20606    if (__len1 > __len2)
20607      {
20608        __len11 = __len1 / 2;
20609        std::advance(__first_cut, __len11);
20610        __second_cut = std::lower_bound(__middle, __last,
20611            *__first_cut);
20612        __len22 = std::distance(__middle, __second_cut);
20613      }
20614    else
20615      {
20616        __len22 = __len2 / 2;
20617        std::advance(__second_cut, __len22);
20618        __first_cut = std::upper_bound(__first, __middle,
20619           *__second_cut);
20620        __len11 = std::distance(__first, __first_cut);
20621      }
20622    _BidirectionalIterator __new_middle =
20623      std::__rotate_adaptive(__first_cut, __middle, __second_cut,
20624        __len1 - __len11, __len22, __buffer,
20625        __buffer_size);
20626    std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
20627     __len22, __buffer, __buffer_size);
20628    std::__merge_adaptive(__new_middle, __second_cut, __last,
20629     __len1 - __len11,
20630     __len2 - __len22, __buffer, __buffer_size);
20631  }
20632     }
20633
20634
20635
20636
20637
20638
20639   template<typename _BidirectionalIterator, typename _Distance, typename _Pointer,
20640     typename _Compare>
20641     void
20642     __merge_adaptive(_BidirectionalIterator __first,
20643                      _BidirectionalIterator __middle,
20644        _BidirectionalIterator __last,
20645        _Distance __len1, _Distance __len2,
20646        _Pointer __buffer, _Distance __buffer_size,
20647        _Compare __comp)
20648     {
20649       if (__len1 <= __len2 && __len1 <= __buffer_size)
20650  {
20651    _Pointer __buffer_end = std::copy(__first, __middle, __buffer);
20652    std::merge(__buffer, __buffer_end, __middle, __last, __first, __comp);
20653  }
20654       else if (__len2 <= __buffer_size)
20655  {
20656    _Pointer __buffer_end = std::copy(__middle, __last, __buffer);
20657    std::__merge_backward(__first, __middle, __buffer, __buffer_end,
20658     __last, __comp);
20659  }
20660       else
20661  {
20662    _BidirectionalIterator __first_cut = __first;
20663    _BidirectionalIterator __second_cut = __middle;
20664    _Distance __len11 = 0;
20665    _Distance __len22 = 0;
20666    if (__len1 > __len2)
20667      {
20668        __len11 = __len1 / 2;
20669        std::advance(__first_cut, __len11);
20670        __second_cut = std::lower_bound(__middle, __last, *__first_cut,
20671            __comp);
20672        __len22 = std::distance(__middle, __second_cut);
20673      }
20674    else
20675      {
20676        __len22 = __len2 / 2;
20677        std::advance(__second_cut, __len22);
20678        __first_cut = std::upper_bound(__first, __middle, *__second_cut,
20679           __comp);
20680        __len11 = std::distance(__first, __first_cut);
20681      }
20682    _BidirectionalIterator __new_middle =
20683      std::__rotate_adaptive(__first_cut, __middle, __second_cut,
20684        __len1 - __len11, __len22, __buffer,
20685        __buffer_size);
20686    std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
20687     __len22, __buffer, __buffer_size, __comp);
20688    std::__merge_adaptive(__new_middle, __second_cut, __last,
20689     __len1 - __len11,
20690     __len2 - __len22, __buffer,
20691     __buffer_size, __comp);
20692  }
20693     }
20694 # 3595 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20695   template<typename _BidirectionalIterator>
20696     void
20697     inplace_merge(_BidirectionalIterator __first,
20698     _BidirectionalIterator __middle,
20699     _BidirectionalIterator __last)
20700     {
20701       typedef typename iterator_traits<_BidirectionalIterator>::value_type
20702           _ValueType;
20703       typedef typename iterator_traits<_BidirectionalIterator>::difference_type
20704           _DistanceType;
20705
20706
20707      
20708
20709      
20710       ;
20711       ;
20712
20713       if (__first == __middle || __middle == __last)
20714  return;
20715
20716       _DistanceType __len1 = std::distance(__first, __middle);
20717       _DistanceType __len2 = std::distance(__middle, __last);
20718
20719       _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first,
20720           __last);
20721       if (__buf.begin() == 0)
20722  std::__merge_without_buffer(__first, __middle, __last, __len1, __len2);
20723       else
20724  std::__merge_adaptive(__first, __middle, __last, __len1, __len2,
20725          __buf.begin(), _DistanceType(__buf.size()));
20726     }
20727 # 3649 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20728   template<typename _BidirectionalIterator, typename _Compare>
20729     void
20730     inplace_merge(_BidirectionalIterator __first,
20731     _BidirectionalIterator __middle,
20732     _BidirectionalIterator __last,
20733     _Compare __comp)
20734     {
20735       typedef typename iterator_traits<_BidirectionalIterator>::value_type
20736           _ValueType;
20737       typedef typename iterator_traits<_BidirectionalIterator>::difference_type
20738           _DistanceType;
20739
20740
20741      
20742
20743      
20744
20745       ;
20746       ;
20747
20748       if (__first == __middle || __middle == __last)
20749  return;
20750
20751       const _DistanceType __len1 = std::distance(__first, __middle);
20752       const _DistanceType __len2 = std::distance(__middle, __last);
20753
20754       _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first,
20755           __last);
20756       if (__buf.begin() == 0)
20757  std::__merge_without_buffer(__first, __middle, __last, __len1,
20758         __len2, __comp);
20759       else
20760  std::__merge_adaptive(__first, __middle, __last, __len1, __len2,
20761          __buf.begin(), _DistanceType(__buf.size()),
20762          __comp);
20763     }
20764
20765   template<typename _RandomAccessIterator, typename _Pointer,
20766     typename _Distance>
20767     void
20768     __stable_sort_adaptive(_RandomAccessIterator __first,
20769       _RandomAccessIterator __last,
20770                            _Pointer __buffer, _Distance __buffer_size)
20771     {
20772       const _Distance __len = (__last - __first + 1) / 2;
20773       const _RandomAccessIterator __middle = __first + __len;
20774       if (__len > __buffer_size)
20775  {
20776    std::__stable_sort_adaptive(__first, __middle,
20777           __buffer, __buffer_size);
20778    std::__stable_sort_adaptive(__middle, __last,
20779           __buffer, __buffer_size);
20780  }
20781       else
20782  {
20783    std::__merge_sort_with_buffer(__first, __middle, __buffer);
20784    std::__merge_sort_with_buffer(__middle, __last, __buffer);
20785  }
20786       std::__merge_adaptive(__first, __middle, __last,
20787        _Distance(__middle - __first),
20788        _Distance(__last - __middle),
20789        __buffer, __buffer_size);
20790     }
20791
20792   template<typename _RandomAccessIterator, typename _Pointer,
20793     typename _Distance, typename _Compare>
20794     void
20795     __stable_sort_adaptive(_RandomAccessIterator __first,
20796       _RandomAccessIterator __last,
20797                            _Pointer __buffer, _Distance __buffer_size,
20798                            _Compare __comp)
20799     {
20800       const _Distance __len = (__last - __first + 1) / 2;
20801       const _RandomAccessIterator __middle = __first + __len;
20802       if (__len > __buffer_size)
20803  {
20804    std::__stable_sort_adaptive(__first, __middle, __buffer,
20805           __buffer_size, __comp);
20806    std::__stable_sort_adaptive(__middle, __last, __buffer,
20807           __buffer_size, __comp);
20808  }
20809       else
20810  {
20811    std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
20812    std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
20813  }
20814       std::__merge_adaptive(__first, __middle, __last,
20815        _Distance(__middle - __first),
20816        _Distance(__last - __middle),
20817        __buffer, __buffer_size,
20818        __comp);
20819     }
20820 # 3758 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20821   template<typename _RandomAccessIterator>
20822     inline void
20823     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
20824     {
20825       typedef typename iterator_traits<_RandomAccessIterator>::value_type
20826  _ValueType;
20827       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
20828  _DistanceType;
20829
20830
20831      
20832
20833      
20834       ;
20835
20836       _Temporary_buffer<_RandomAccessIterator, _ValueType>
20837  buf(__first, __last);
20838       if (buf.begin() == 0)
20839  std::__inplace_stable_sort(__first, __last);
20840       else
20841  std::__stable_sort_adaptive(__first, __last, buf.begin(),
20842         _DistanceType(buf.size()));
20843     }
20844 # 3799 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20845   template<typename _RandomAccessIterator, typename _Compare>
20846     inline void
20847     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
20848   _Compare __comp)
20849     {
20850       typedef typename iterator_traits<_RandomAccessIterator>::value_type
20851  _ValueType;
20852       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
20853  _DistanceType;
20854
20855
20856      
20857
20858      
20859
20860
20861       ;
20862
20863       _Temporary_buffer<_RandomAccessIterator, _ValueType> buf(__first, __last);
20864       if (buf.begin() == 0)
20865  std::__inplace_stable_sort(__first, __last, __comp);
20866       else
20867  std::__stable_sort_adaptive(__first, __last, buf.begin(),
20868         _DistanceType(buf.size()), __comp);
20869     }
20870 # 3840 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20871   template<typename _RandomAccessIterator>
20872     void
20873     nth_element(_RandomAccessIterator __first,
20874   _RandomAccessIterator __nth,
20875   _RandomAccessIterator __last)
20876     {
20877       typedef typename iterator_traits<_RandomAccessIterator>::value_type
20878  _ValueType;
20879
20880
20881      
20882
20883      
20884       ;
20885       ;
20886
20887       while (__last - __first > 3)
20888  {
20889    _RandomAccessIterator __cut =
20890      std::__unguarded_partition(__first, __last,
20891            _ValueType(std::__median(*__first,
20892         *(__first
20893           + (__last
20894              - __first)
20895           / 2),
20896         *(__last
20897           - 1))));
20898    if (__cut <= __nth)
20899      __first = __cut;
20900    else
20901      __last = __cut;
20902  }
20903       std::__insertion_sort(__first, __last);
20904     }
20905 # 3891 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20906   template<typename _RandomAccessIterator, typename _Compare>
20907     void
20908     nth_element(_RandomAccessIterator __first,
20909   _RandomAccessIterator __nth,
20910   _RandomAccessIterator __last,
20911        _Compare __comp)
20912     {
20913       typedef typename iterator_traits<_RandomAccessIterator>::value_type
20914  _ValueType;
20915
20916
20917      
20918
20919      
20920
20921       ;
20922       ;
20923
20924       while (__last - __first > 3)
20925  {
20926    _RandomAccessIterator __cut =
20927      std::__unguarded_partition(__first, __last,
20928            _ValueType(std::__median(*__first,
20929         *(__first
20930           + (__last
20931              - __first)
20932           / 2),
20933         *(__last - 1),
20934              __comp)), __comp);
20935    if (__cut <= __nth)
20936      __first = __cut;
20937    else
20938      __last = __cut;
20939  }
20940       std::__insertion_sort(__first, __last, __comp);
20941     }
20942 # 3944 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20943   template<typename _ForwardIterator, typename _Tp>
20944     pair<_ForwardIterator, _ForwardIterator>
20945     equal_range(_ForwardIterator __first, _ForwardIterator __last,
20946   const _Tp& __val)
20947     {
20948       typedef typename iterator_traits<_ForwardIterator>::value_type
20949  _ValueType;
20950       typedef typename iterator_traits<_ForwardIterator>::difference_type
20951  _DistanceType;
20952
20953
20954
20955      
20956      
20957      
20958       ;
20959
20960       _DistanceType __len = std::distance(__first, __last);
20961       _DistanceType __half;
20962       _ForwardIterator __middle, __left, __right;
20963
20964       while (__len > 0)
20965  {
20966    __half = __len >> 1;
20967    __middle = __first;
20968    std::advance(__middle, __half);
20969    if (*__middle < __val)
20970      {
20971        __first = __middle;
20972        ++__first;
20973        __len = __len - __half - 1;
20974      }
20975    else if (__val < *__middle)
20976      __len = __half;
20977    else
20978      {
20979        __left = std::lower_bound(__first, __middle, __val);
20980        std::advance(__first, __len);
20981        __right = std::upper_bound(++__middle, __first, __val);
20982        return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
20983      }
20984  }
20985       return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
20986     }
20987 # 4006 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20988   template<typename _ForwardIterator, typename _Tp, typename _Compare>
20989     pair<_ForwardIterator, _ForwardIterator>
20990     equal_range(_ForwardIterator __first, _ForwardIterator __last,
20991   const _Tp& __val,
20992   _Compare __comp)
20993     {
20994       typedef typename iterator_traits<_ForwardIterator>::value_type
20995  _ValueType;
20996       typedef typename iterator_traits<_ForwardIterator>::difference_type
20997  _DistanceType;
20998
20999
21000      
21001      
21002
21003      
21004
21005       ;
21006
21007       _DistanceType __len = std::distance(__first, __last);
21008       _DistanceType __half;
21009       _ForwardIterator __middle, __left, __right;
21010
21011       while (__len > 0)
21012  {
21013    __half = __len >> 1;
21014    __middle = __first;
21015    std::advance(__middle, __half);
21016    if (__comp(*__middle, __val))
21017      {
21018        __first = __middle;
21019        ++__first;
21020        __len = __len - __half - 1;
21021      }
21022    else if (__comp(__val, *__middle))
21023      __len = __half;
21024    else
21025      {
21026        __left = std::lower_bound(__first, __middle, __val, __comp);
21027        std::advance(__first, __len);
21028        __right = std::upper_bound(++__middle, __first, __val, __comp);
21029        return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
21030      }
21031  }
21032       return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
21033     }
21034 # 4064 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21035   template<typename _ForwardIterator, typename _Tp>
21036     bool
21037     binary_search(_ForwardIterator __first, _ForwardIterator __last,
21038                   const _Tp& __val)
21039     {
21040
21041
21042      
21043      
21044
21045      
21046       ;
21047
21048       _ForwardIterator __i = std::lower_bound(__first, __last, __val);
21049       return __i != __last && !(__val < *__i);
21050     }
21051 # 4096 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21052   template<typename _ForwardIterator, typename _Tp, typename _Compare>
21053     bool
21054     binary_search(_ForwardIterator __first, _ForwardIterator __last,
21055                   const _Tp& __val, _Compare __comp)
21056     {
21057
21058      
21059      
21060
21061      
21062
21063       ;
21064
21065       _ForwardIterator __i = std::lower_bound(__first, __last, __val, __comp);
21066       return __i != __last && !__comp(__val, *__i);
21067     }
21068 # 4134 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21069   template<typename _InputIterator1, typename _InputIterator2>
21070     bool
21071     includes(_InputIterator1 __first1, _InputIterator1 __last1,
21072       _InputIterator2 __first2, _InputIterator2 __last2)
21073     {
21074
21075      
21076      
21077      
21078
21079
21080      
21081
21082       ;
21083       ;
21084
21085       while (__first1 != __last1 && __first2 != __last2)
21086  if (*__first2 < *__first1)
21087    return false;
21088  else if(*__first1 < *__first2)
21089    ++__first1;
21090  else
21091    ++__first1, ++__first2;
21092
21093       return __first2 == __last2;
21094     }
21095 # 4180 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21096   template<typename _InputIterator1, typename _InputIterator2,
21097     typename _Compare>
21098     bool
21099     includes(_InputIterator1 __first1, _InputIterator1 __last1,
21100       _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp)
21101     {
21102
21103      
21104      
21105      
21106
21107
21108      
21109
21110
21111       ;
21112       ;
21113
21114       while (__first1 != __last1 && __first2 != __last2)
21115  if (__comp(*__first2, *__first1))
21116    return false;
21117  else if(__comp(*__first1, *__first2))
21118    ++__first1;
21119  else
21120    ++__first1, ++__first2;
21121
21122       return __first2 == __last2;
21123     }
21124 # 4226 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21125   template<typename _InputIterator1, typename _InputIterator2,
21126     typename _OutputIterator>
21127     _OutputIterator
21128     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
21129        _InputIterator2 __first2, _InputIterator2 __last2,
21130        _OutputIterator __result)
21131     {
21132
21133      
21134      
21135      
21136
21137      
21138
21139
21140      
21141
21142       ;
21143       ;
21144
21145       while (__first1 != __last1 && __first2 != __last2)
21146  {
21147    if (*__first1 < *__first2)
21148      {
21149        *__result = *__first1;
21150        ++__first1;
21151      }
21152    else if (*__first2 < *__first1)
21153      {
21154        *__result = *__first2;
21155        ++__first2;
21156      }
21157    else
21158      {
21159        *__result = *__first1;
21160        ++__first1;
21161        ++__first2;
21162      }
21163    ++__result;
21164  }
21165       return std::copy(__first2, __last2, std::copy(__first1, __last1,
21166           __result));
21167     }
21168 # 4288 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21169   template<typename _InputIterator1, typename _InputIterator2,
21170     typename _OutputIterator, typename _Compare>
21171     _OutputIterator
21172     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
21173        _InputIterator2 __first2, _InputIterator2 __last2,
21174        _OutputIterator __result, _Compare __comp)
21175     {
21176
21177      
21178      
21179      
21180
21181
21182      
21183
21184      
21185
21186
21187       ;
21188       ;
21189
21190       while (__first1 != __last1 && __first2 != __last2)
21191  {
21192    if (__comp(*__first1, *__first2))
21193      {
21194        *__result = *__first1;
21195        ++__first1;
21196      }
21197    else if (__comp(*__first2, *__first1))
21198      {
21199        *__result = *__first2;
21200        ++__first2;
21201      }
21202    else
21203      {
21204        *__result = *__first1;
21205        ++__first1;
21206        ++__first2;
21207      }
21208    ++__result;
21209  }
21210       return std::copy(__first2, __last2, std::copy(__first1, __last1,
21211           __result));
21212     }
21213 # 4349 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21214   template<typename _InputIterator1, typename _InputIterator2,
21215     typename _OutputIterator>
21216     _OutputIterator
21217     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
21218        _InputIterator2 __first2, _InputIterator2 __last2,
21219        _OutputIterator __result)
21220     {
21221
21222      
21223      
21224      
21225
21226      
21227
21228
21229      
21230
21231       ;
21232       ;
21233
21234       while (__first1 != __last1 && __first2 != __last2)
21235  if (*__first1 < *__first2)
21236    ++__first1;
21237  else if (*__first2 < *__first1)
21238    ++__first2;
21239  else
21240    {
21241      *__result = *__first1;
21242      ++__first1;
21243      ++__first2;
21244      ++__result;
21245    }
21246       return __result;
21247     }
21248 # 4403 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21249   template<typename _InputIterator1, typename _InputIterator2,
21250     typename _OutputIterator, typename _Compare>
21251     _OutputIterator
21252     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
21253        _InputIterator2 __first2, _InputIterator2 __last2,
21254        _OutputIterator __result, _Compare __comp)
21255     {
21256
21257      
21258      
21259      
21260
21261
21262      
21263
21264      
21265
21266
21267       ;
21268       ;
21269
21270       while (__first1 != __last1 && __first2 != __last2)
21271  if (__comp(*__first1, *__first2))
21272    ++__first1;
21273  else if (__comp(*__first2, *__first1))
21274    ++__first2;
21275  else
21276    {
21277      *__result = *__first1;
21278      ++__first1;
21279      ++__first2;
21280      ++__result;
21281    }
21282       return __result;
21283     }
21284 # 4457 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21285   template<typename _InputIterator1, typename _InputIterator2,
21286     typename _OutputIterator>
21287     _OutputIterator
21288     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
21289      _InputIterator2 __first2, _InputIterator2 __last2,
21290      _OutputIterator __result)
21291     {
21292
21293      
21294      
21295      
21296
21297      
21298
21299
21300      
21301
21302       ;
21303       ;
21304
21305       while (__first1 != __last1 && __first2 != __last2)
21306  if (*__first1 < *__first2)
21307    {
21308      *__result = *__first1;
21309      ++__first1;
21310      ++__result;
21311    }
21312  else if (*__first2 < *__first1)
21313    ++__first2;
21314  else
21315    {
21316      ++__first1;
21317      ++__first2;
21318    }
21319       return std::copy(__first1, __last1, __result);
21320     }
21321 # 4515 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21322   template<typename _InputIterator1, typename _InputIterator2,
21323     typename _OutputIterator, typename _Compare>
21324     _OutputIterator
21325     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
21326      _InputIterator2 __first2, _InputIterator2 __last2,
21327      _OutputIterator __result, _Compare __comp)
21328     {
21329
21330      
21331      
21332      
21333
21334
21335      
21336
21337      
21338
21339
21340       ;
21341       ;
21342
21343       while (__first1 != __last1 && __first2 != __last2)
21344  if (__comp(*__first1, *__first2))
21345    {
21346      *__result = *__first1;
21347      ++__first1;
21348      ++__result;
21349    }
21350  else if (__comp(*__first2, *__first1))
21351    ++__first2;
21352  else
21353    {
21354      ++__first1;
21355      ++__first2;
21356    }
21357       return std::copy(__first1, __last1, __result);
21358     }
21359 # 4569 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21360   template<typename _InputIterator1, typename _InputIterator2,
21361     typename _OutputIterator>
21362     _OutputIterator
21363     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
21364         _InputIterator2 __first2, _InputIterator2 __last2,
21365         _OutputIterator __result)
21366     {
21367
21368      
21369      
21370      
21371
21372      
21373
21374
21375      
21376
21377       ;
21378       ;
21379
21380       while (__first1 != __last1 && __first2 != __last2)
21381  if (*__first1 < *__first2)
21382    {
21383      *__result = *__first1;
21384      ++__first1;
21385      ++__result;
21386    }
21387  else if (*__first2 < *__first1)
21388    {
21389      *__result = *__first2;
21390      ++__first2;
21391      ++__result;
21392    }
21393  else
21394    {
21395      ++__first1;
21396      ++__first2;
21397    }
21398       return std::copy(__first2, __last2, std::copy(__first1,
21399           __last1, __result));
21400     }
21401 # 4630 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21402   template<typename _InputIterator1, typename _InputIterator2,
21403     typename _OutputIterator, typename _Compare>
21404     _OutputIterator
21405     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
21406         _InputIterator2 __first2, _InputIterator2 __last2,
21407         _OutputIterator __result,
21408         _Compare __comp)
21409     {
21410
21411      
21412      
21413      
21414
21415
21416      
21417
21418      
21419
21420
21421       ;
21422       ;
21423
21424       while (__first1 != __last1 && __first2 != __last2)
21425  if (__comp(*__first1, *__first2))
21426    {
21427      *__result = *__first1;
21428      ++__first1;
21429      ++__result;
21430    }
21431  else if (__comp(*__first2, *__first1))
21432    {
21433      *__result = *__first2;
21434      ++__first2;
21435      ++__result;
21436    }
21437  else
21438    {
21439      ++__first1;
21440      ++__first2;
21441    }
21442       return std::copy(__first2, __last2, std::copy(__first1,
21443           __last1, __result));
21444     }
21445 # 4683 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21446   template<typename _ForwardIterator>
21447     _ForwardIterator
21448     max_element(_ForwardIterator __first, _ForwardIterator __last)
21449     {
21450
21451      
21452      
21453
21454       ;
21455
21456       if (__first == __last)
21457  return __first;
21458       _ForwardIterator __result = __first;
21459       while (++__first != __last)
21460  if (*__result < *__first)
21461    __result = __first;
21462       return __result;
21463     }
21464 # 4710 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21465   template<typename _ForwardIterator, typename _Compare>
21466     _ForwardIterator
21467     max_element(_ForwardIterator __first, _ForwardIterator __last,
21468   _Compare __comp)
21469     {
21470
21471      
21472      
21473
21474
21475       ;
21476
21477       if (__first == __last) return __first;
21478       _ForwardIterator __result = __first;
21479       while (++__first != __last)
21480  if (__comp(*__result, *__first)) __result = __first;
21481       return __result;
21482     }
21483
21484
21485
21486
21487
21488
21489
21490   template<typename _ForwardIterator>
21491     _ForwardIterator
21492     min_element(_ForwardIterator __first, _ForwardIterator __last)
21493     {
21494
21495      
21496      
21497
21498       ;
21499
21500       if (__first == __last)
21501  return __first;
21502       _ForwardIterator __result = __first;
21503       while (++__first != __last)
21504  if (*__first < *__result)
21505    __result = __first;
21506       return __result;
21507     }
21508 # 4762 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21509   template<typename _ForwardIterator, typename _Compare>
21510     _ForwardIterator
21511     min_element(_ForwardIterator __first, _ForwardIterator __last,
21512   _Compare __comp)
21513     {
21514
21515      
21516      
21517
21518
21519       ;
21520
21521       if (__first == __last)
21522  return __first;
21523       _ForwardIterator __result = __first;
21524       while (++__first != __last)
21525  if (__comp(*__first, *__result))
21526    __result = __first;
21527       return __result;
21528     }
21529 # 4797 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21530   template<typename _BidirectionalIterator>
21531     bool
21532     next_permutation(_BidirectionalIterator __first,
21533        _BidirectionalIterator __last)
21534     {
21535
21536      
21537
21538      
21539
21540       ;
21541
21542       if (__first == __last)
21543  return false;
21544       _BidirectionalIterator __i = __first;
21545       ++__i;
21546       if (__i == __last)
21547  return false;
21548       __i = __last;
21549       --__i;
21550
21551       for(;;)
21552  {
21553    _BidirectionalIterator __ii = __i;
21554    --__i;
21555    if (*__i < *__ii)
21556      {
21557        _BidirectionalIterator __j = __last;
21558        while (!(*__i < *--__j))
21559   {}
21560        std::iter_swap(__i, __j);
21561        std::reverse(__ii, __last);
21562        return true;
21563      }
21564    if (__i == __first)
21565      {
21566        std::reverse(__first, __last);
21567        return false;
21568      }
21569  }
21570     }
21571 # 4853 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21572   template<typename _BidirectionalIterator, typename _Compare>
21573     bool
21574     next_permutation(_BidirectionalIterator __first,
21575        _BidirectionalIterator __last, _Compare __comp)
21576     {
21577
21578      
21579
21580      
21581
21582
21583       ;
21584
21585       if (__first == __last)
21586  return false;
21587       _BidirectionalIterator __i = __first;
21588       ++__i;
21589       if (__i == __last)
21590  return false;
21591       __i = __last;
21592       --__i;
21593
21594       for(;;)
21595  {
21596    _BidirectionalIterator __ii = __i;
21597    --__i;
21598    if (__comp(*__i, *__ii))
21599      {
21600        _BidirectionalIterator __j = __last;
21601        while (!__comp(*__i, *--__j))
21602   {}
21603        std::iter_swap(__i, __j);
21604        std::reverse(__ii, __last);
21605        return true;
21606      }
21607    if (__i == __first)
21608      {
21609        std::reverse(__first, __last);
21610        return false;
21611      }
21612  }
21613     }
21614 # 4908 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21615   template<typename _BidirectionalIterator>
21616     bool
21617     prev_permutation(_BidirectionalIterator __first,
21618        _BidirectionalIterator __last)
21619     {
21620
21621      
21622
21623      
21624
21625       ;
21626
21627       if (__first == __last)
21628  return false;
21629       _BidirectionalIterator __i = __first;
21630       ++__i;
21631       if (__i == __last)
21632  return false;
21633       __i = __last;
21634       --__i;
21635
21636       for(;;)
21637  {
21638    _BidirectionalIterator __ii = __i;
21639    --__i;
21640    if (*__ii < *__i)
21641      {
21642        _BidirectionalIterator __j = __last;
21643        while (!(*--__j < *__i))
21644   {}
21645        std::iter_swap(__i, __j);
21646        std::reverse(__ii, __last);
21647        return true;
21648      }
21649    if (__i == __first)
21650      {
21651        std::reverse(__first, __last);
21652        return false;
21653      }
21654  }
21655     }
21656 # 4964 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21657   template<typename _BidirectionalIterator, typename _Compare>
21658     bool
21659     prev_permutation(_BidirectionalIterator __first,
21660        _BidirectionalIterator __last, _Compare __comp)
21661     {
21662
21663      
21664
21665      
21666
21667
21668       ;
21669
21670       if (__first == __last)
21671  return false;
21672       _BidirectionalIterator __i = __first;
21673       ++__i;
21674       if (__i == __last)
21675  return false;
21676       __i = __last;
21677       --__i;
21678
21679       for(;;)
21680  {
21681    _BidirectionalIterator __ii = __i;
21682    --__i;
21683    if (__comp(*__ii, *__i))
21684      {
21685        _BidirectionalIterator __j = __last;
21686        while (!__comp(*--__j, *__i))
21687   {}
21688        std::iter_swap(__i, __j);
21689        std::reverse(__ii, __last);
21690        return true;
21691      }
21692    if (__i == __first)
21693      {
21694        std::reverse(__first, __last);
21695        return false;
21696      }
21697  }
21698     }
21699 # 5023 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21700   template<typename _InputIterator, typename _ForwardIterator>
21701     _InputIterator
21702     find_first_of(_InputIterator __first1, _InputIterator __last1,
21703     _ForwardIterator __first2, _ForwardIterator __last2)
21704     {
21705
21706      
21707      
21708      
21709
21710
21711       ;
21712       ;
21713
21714       for ( ; __first1 != __last1; ++__first1)
21715  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
21716    if (*__first1 == *__iter)
21717      return __first1;
21718       return __last1;
21719     }
21720 # 5059 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21721   template<typename _InputIterator, typename _ForwardIterator,
21722     typename _BinaryPredicate>
21723     _InputIterator
21724     find_first_of(_InputIterator __first1, _InputIterator __last1,
21725     _ForwardIterator __first2, _ForwardIterator __last2,
21726     _BinaryPredicate __comp)
21727     {
21728
21729      
21730      
21731      
21732
21733
21734       ;
21735       ;
21736
21737       for ( ; __first1 != __last1; ++__first1)
21738  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
21739    if (__comp(*__first1, *__iter))
21740      return __first1;
21741       return __last1;
21742     }
21743 # 5089 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21744   template<typename _ForwardIterator1, typename _ForwardIterator2>
21745     _ForwardIterator1
21746     __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
21747         _ForwardIterator2 __first2, _ForwardIterator2 __last2,
21748         forward_iterator_tag, forward_iterator_tag)
21749     {
21750       if (__first2 == __last2)
21751  return __last1;
21752       else
21753  {
21754    _ForwardIterator1 __result = __last1;
21755    while (1)
21756      {
21757        _ForwardIterator1 __new_result
21758   = std::search(__first1, __last1, __first2, __last2);
21759        if (__new_result == __last1)
21760   return __result;
21761        else
21762   {
21763     __result = __new_result;
21764     __first1 = __new_result;
21765     ++__first1;
21766   }
21767      }
21768  }
21769     }
21770
21771   template<typename _ForwardIterator1, typename _ForwardIterator2,
21772     typename _BinaryPredicate>
21773     _ForwardIterator1
21774     __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
21775         _ForwardIterator2 __first2, _ForwardIterator2 __last2,
21776         forward_iterator_tag, forward_iterator_tag,
21777         _BinaryPredicate __comp)
21778     {
21779       if (__first2 == __last2)
21780  return __last1;
21781       else
21782  {
21783    _ForwardIterator1 __result = __last1;
21784    while (1)
21785      {
21786        _ForwardIterator1 __new_result
21787   = std::search(__first1, __last1, __first2, __last2, __comp);
21788        if (__new_result == __last1)
21789   return __result;
21790        else
21791   {
21792     __result = __new_result;
21793     __first1 = __new_result;
21794     ++__first1;
21795   }
21796      }
21797  }
21798     }
21799
21800
21801   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2>
21802     _BidirectionalIterator1
21803     __find_end(_BidirectionalIterator1 __first1,
21804         _BidirectionalIterator1 __last1,
21805         _BidirectionalIterator2 __first2,
21806         _BidirectionalIterator2 __last2,
21807         bidirectional_iterator_tag, bidirectional_iterator_tag)
21808     {
21809
21810      
21811
21812      
21813
21814
21815       typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
21816       typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
21817
21818       _RevIterator1 __rlast1(__first1);
21819       _RevIterator2 __rlast2(__first2);
21820       _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1,
21821          _RevIterator2(__last2), __rlast2);
21822
21823       if (__rresult == __rlast1)
21824  return __last1;
21825       else
21826  {
21827    _BidirectionalIterator1 __result = __rresult.base();
21828    std::advance(__result, -std::distance(__first2, __last2));
21829    return __result;
21830  }
21831     }
21832
21833   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
21834     typename _BinaryPredicate>
21835     _BidirectionalIterator1
21836     __find_end(_BidirectionalIterator1 __first1,
21837         _BidirectionalIterator1 __last1,
21838         _BidirectionalIterator2 __first2,
21839         _BidirectionalIterator2 __last2,
21840         bidirectional_iterator_tag, bidirectional_iterator_tag,
21841         _BinaryPredicate __comp)
21842     {
21843
21844      
21845
21846      
21847
21848
21849       typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
21850       typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
21851
21852       _RevIterator1 __rlast1(__first1);
21853       _RevIterator2 __rlast2(__first2);
21854       _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1,
21855          _RevIterator2(__last2), __rlast2,
21856          __comp);
21857
21858       if (__rresult == __rlast1)
21859  return __last1;
21860       else
21861  {
21862    _BidirectionalIterator1 __result = __rresult.base();
21863    std::advance(__result, -std::distance(__first2, __last2));
21864    return __result;
21865  }
21866     }
21867 # 5239 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21868   template<typename _ForwardIterator1, typename _ForwardIterator2>
21869     inline _ForwardIterator1
21870     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
21871       _ForwardIterator2 __first2, _ForwardIterator2 __last2)
21872     {
21873
21874      
21875      
21876      
21877
21878
21879       ;
21880       ;
21881
21882       return std::__find_end(__first1, __last1, __first2, __last2,
21883         std::__iterator_category(__first1),
21884         std::__iterator_category(__first2));
21885     }
21886 # 5284 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
21887   template<typename _ForwardIterator1, typename _ForwardIterator2,
21888     typename _BinaryPredicate>
21889     inline _ForwardIterator1
21890     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
21891       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
21892       _BinaryPredicate __comp)
21893     {
21894
21895      
21896      
21897      
21898
21899
21900       ;
21901       ;
21902
21903       return std::__find_end(__first1, __last1, __first2, __last2,
21904         std::__iterator_category(__first1),
21905         std::__iterator_category(__first2),
21906         __comp);
21907     }
21908
21909 }
21910 # 70 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/algorithm" 2 3
21911
21912 #pragma GCC visibility pop
21913 # 57 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
21914 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc" 1 3
21915 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc" 3
21916 #define _BASIC_STRING_TCC 1
21917
21918        
21919 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc" 3
21920
21921 namespace std
21922 {
21923   template<typename _Type>
21924     inline bool
21925     __is_null_pointer(_Type* __ptr)
21926     { return __ptr == 0; }
21927
21928   template<typename _Type>
21929     inline bool
21930     __is_null_pointer(_Type)
21931     { return false; }
21932
21933   template<typename _CharT, typename _Traits, typename _Alloc>
21934     const typename basic_string<_CharT, _Traits, _Alloc>::size_type
21935     basic_string<_CharT, _Traits, _Alloc>::
21936     _Rep::_S_max_size = (((npos - sizeof(_Rep_base))/sizeof(_CharT)) - 1) / 4;
21937
21938   template<typename _CharT, typename _Traits, typename _Alloc>
21939     const _CharT
21940     basic_string<_CharT, _Traits, _Alloc>::
21941     _Rep::_S_terminal = _CharT();
21942
21943   template<typename _CharT, typename _Traits, typename _Alloc>
21944     const typename basic_string<_CharT, _Traits, _Alloc>::size_type
21945     basic_string<_CharT, _Traits, _Alloc>::npos;
21946
21947
21948
21949   template<typename _CharT, typename _Traits, typename _Alloc>
21950     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21951     basic_string<_CharT, _Traits, _Alloc>::_Rep::_S_empty_rep_storage[
21952     (sizeof(_Rep_base) + sizeof(_CharT) + sizeof(size_type) - 1) /
21953       sizeof(size_type)];
21954
21955
21956
21957
21958
21959   template<typename _CharT, typename _Traits, typename _Alloc>
21960     template<typename _InIterator>
21961       _CharT*
21962       basic_string<_CharT, _Traits, _Alloc>::
21963       _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
21964      input_iterator_tag)
21965       {
21966
21967  if (__beg == __end && __a == _Alloc())
21968    return _S_empty_rep()._M_refdata();
21969
21970
21971  _CharT __buf[128];
21972  size_type __len = 0;
21973  while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT))
21974    {
21975      __buf[__len++] = *__beg;
21976      ++__beg;
21977    }
21978  _Rep* __r = _Rep::_S_create(__len, size_type(0), __a);
21979  _M_copy(__r->_M_refdata(), __buf, __len);
21980  try
21981    {
21982      while (__beg != __end)
21983        {
21984   if (__len == __r->_M_capacity)
21985     {
21986
21987       _Rep* __another = _Rep::_S_create(__len + 1, __len, __a);
21988       _M_copy(__another->_M_refdata(), __r->_M_refdata(), __len);
21989       __r->_M_destroy(__a);
21990       __r = __another;
21991     }
21992   __r->_M_refdata()[__len++] = *__beg;
21993   ++__beg;
21994        }
21995    }
21996  catch(...)
21997    {
21998      __r->_M_destroy(__a);
21999      throw;
22000    }
22001  __r->_M_set_length_and_sharable(__len);
22002  return __r->_M_refdata();
22003       }
22004
22005   template<typename _CharT, typename _Traits, typename _Alloc>
22006     template <typename _InIterator>
22007       _CharT*
22008       basic_string<_CharT, _Traits, _Alloc>::
22009       _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
22010      forward_iterator_tag)
22011       {
22012
22013  if (__beg == __end && __a == _Alloc())
22014    return _S_empty_rep()._M_refdata();
22015
22016
22017  if (__builtin_expect(__is_null_pointer(__beg) && __beg != __end, 0))
22018    __throw_logic_error(("basic_string::_S_construct NULL not valid"));
22019
22020  const size_type __dnew = static_cast<size_type>(std::distance(__beg,
22021               __end));
22022
22023  _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a);
22024  try
22025    { _S_copy_chars(__r->_M_refdata(), __beg, __end); }
22026  catch(...)
22027    {
22028      __r->_M_destroy(__a);
22029      throw;
22030    }
22031  __r->_M_set_length_and_sharable(__dnew);
22032  return __r->_M_refdata();
22033       }
22034
22035   template<typename _CharT, typename _Traits, typename _Alloc>
22036     _CharT*
22037     basic_string<_CharT, _Traits, _Alloc>::
22038     _S_construct(size_type __n, _CharT __c, const _Alloc& __a)
22039     {
22040
22041       if (__n == 0 && __a == _Alloc())
22042  return _S_empty_rep()._M_refdata();
22043
22044
22045       _Rep* __r = _Rep::_S_create(__n, size_type(0), __a);
22046       if (__n)
22047  _M_assign(__r->_M_refdata(), __n, __c);
22048
22049       __r->_M_set_length_and_sharable(__n);
22050       return __r->_M_refdata();
22051     }
22052
22053   template<typename _CharT, typename _Traits, typename _Alloc>
22054     basic_string<_CharT, _Traits, _Alloc>::
22055     basic_string(const basic_string& __str)
22056     : _M_dataplus(__str._M_rep()->_M_grab(_Alloc(__str.get_allocator()),
22057        __str.get_allocator()),
22058     __str.get_allocator())
22059     { }
22060
22061   template<typename _CharT, typename _Traits, typename _Alloc>
22062     basic_string<_CharT, _Traits, _Alloc>::
22063     basic_string(const _Alloc& __a)
22064     : _M_dataplus(_S_construct(size_type(), _CharT(), __a), __a)
22065     { }
22066
22067   template<typename _CharT, typename _Traits, typename _Alloc>
22068     basic_string<_CharT, _Traits, _Alloc>::
22069     basic_string(const basic_string& __str, size_type __pos, size_type __n)
22070     : _M_dataplus(_S_construct(__str._M_data()
22071           + __str._M_check(__pos,
22072       "basic_string::basic_string"),
22073           __str._M_data() + __str._M_limit(__pos, __n)
22074           + __pos, _Alloc()), _Alloc())
22075     { }
22076
22077   template<typename _CharT, typename _Traits, typename _Alloc>
22078     basic_string<_CharT, _Traits, _Alloc>::
22079     basic_string(const basic_string& __str, size_type __pos,
22080    size_type __n, const _Alloc& __a)
22081     : _M_dataplus(_S_construct(__str._M_data()
22082           + __str._M_check(__pos,
22083       "basic_string::basic_string"),
22084           __str._M_data() + __str._M_limit(__pos, __n)
22085           + __pos, __a), __a)
22086     { }
22087
22088
22089   template<typename _CharT, typename _Traits, typename _Alloc>
22090     basic_string<_CharT, _Traits, _Alloc>::
22091     basic_string(const _CharT* __s, size_type __n, const _Alloc& __a)
22092     : _M_dataplus(_S_construct(__s, __s + __n, __a), __a)
22093     { }
22094
22095
22096   template<typename _CharT, typename _Traits, typename _Alloc>
22097     basic_string<_CharT, _Traits, _Alloc>::
22098     basic_string(const _CharT* __s, const _Alloc& __a)
22099     : _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) :
22100           __s + npos, __a), __a)
22101     { }
22102
22103   template<typename _CharT, typename _Traits, typename _Alloc>
22104     basic_string<_CharT, _Traits, _Alloc>::
22105     basic_string(size_type __n, _CharT __c, const _Alloc& __a)
22106     : _M_dataplus(_S_construct(__n, __c, __a), __a)
22107     { }
22108
22109
22110   template<typename _CharT, typename _Traits, typename _Alloc>
22111     template<typename _InputIterator>
22112     basic_string<_CharT, _Traits, _Alloc>::
22113     basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a)
22114     : _M_dataplus(_S_construct(__beg, __end, __a), __a)
22115     { }
22116
22117   template<typename _CharT, typename _Traits, typename _Alloc>
22118     basic_string<_CharT, _Traits, _Alloc>&
22119     basic_string<_CharT, _Traits, _Alloc>::
22120     assign(const basic_string& __str)
22121     {
22122       if (_M_rep() != __str._M_rep())
22123  {
22124
22125    const allocator_type __a = this->get_allocator();
22126    _CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator());
22127    _M_rep()->_M_dispose(__a);
22128    _M_data(__tmp);
22129  }
22130       return *this;
22131     }
22132
22133   template<typename _CharT, typename _Traits, typename _Alloc>
22134     basic_string<_CharT, _Traits, _Alloc>&
22135     basic_string<_CharT, _Traits, _Alloc>::
22136     assign(const _CharT* __s, size_type __n)
22137     {
22138       ;
22139       _M_check_length(this->size(), __n, "basic_string::assign");
22140       if (_M_disjunct(__s) || _M_rep()->_M_is_shared())
22141  return _M_replace_safe(size_type(0), this->size(), __s, __n);
22142       else
22143  {
22144
22145    const size_type __pos = __s - _M_data();
22146    if (__pos >= __n)
22147      _M_copy(_M_data(), __s, __n);
22148    else if (__pos)
22149      _M_move(_M_data(), __s, __n);
22150    _M_rep()->_M_set_length_and_sharable(__n);
22151    return *this;
22152  }
22153      }
22154
22155   template<typename _CharT, typename _Traits, typename _Alloc>
22156     basic_string<_CharT, _Traits, _Alloc>&
22157     basic_string<_CharT, _Traits, _Alloc>::
22158     append(size_type __n, _CharT __c)
22159     {
22160       if (__n)
22161  {
22162    _M_check_length(size_type(0), __n, "basic_string::append");
22163    const size_type __len = __n + this->size();
22164    if (__len > this->capacity() || _M_rep()->_M_is_shared())
22165      this->reserve(__len);
22166    _M_assign(_M_data() + this->size(), __n, __c);
22167    _M_rep()->_M_set_length_and_sharable(__len);
22168  }
22169       return *this;
22170     }
22171
22172   template<typename _CharT, typename _Traits, typename _Alloc>
22173     basic_string<_CharT, _Traits, _Alloc>&
22174     basic_string<_CharT, _Traits, _Alloc>::
22175     append(const _CharT* __s, size_type __n)
22176     {
22177       ;
22178       if (__n)
22179  {
22180    _M_check_length(size_type(0), __n, "basic_string::append");
22181    const size_type __len = __n + this->size();
22182    if (__len > this->capacity() || _M_rep()->_M_is_shared())
22183      {
22184        if (_M_disjunct(__s))
22185   this->reserve(__len);
22186        else
22187   {
22188     const size_type __off = __s - _M_data();
22189     this->reserve(__len);
22190     __s = _M_data() + __off;
22191   }
22192      }
22193    _M_copy(_M_data() + this->size(), __s, __n);
22194    _M_rep()->_M_set_length_and_sharable(__len);
22195  }
22196       return *this;
22197     }
22198
22199   template<typename _CharT, typename _Traits, typename _Alloc>
22200     basic_string<_CharT, _Traits, _Alloc>&
22201     basic_string<_CharT, _Traits, _Alloc>::
22202     append(const basic_string& __str)
22203     {
22204       const size_type __size = __str.size();
22205       if (__size)
22206  {
22207    const size_type __len = __size + this->size();
22208    if (__len > this->capacity() || _M_rep()->_M_is_shared())
22209      this->reserve(__len);
22210    _M_copy(_M_data() + this->size(), __str._M_data(), __size);
22211    _M_rep()->_M_set_length_and_sharable(__len);
22212  }
22213       return *this;
22214     }
22215
22216   template<typename _CharT, typename _Traits, typename _Alloc>
22217     basic_string<_CharT, _Traits, _Alloc>&
22218     basic_string<_CharT, _Traits, _Alloc>::
22219     append(const basic_string& __str, size_type __pos, size_type __n)
22220     {
22221       __str._M_check(__pos, "basic_string::append");
22222       __n = __str._M_limit(__pos, __n);
22223       if (__n)
22224  {
22225    const size_type __len = __n + this->size();
22226    if (__len > this->capacity() || _M_rep()->_M_is_shared())
22227      this->reserve(__len);
22228    _M_copy(_M_data() + this->size(), __str._M_data() + __pos, __n);
22229    _M_rep()->_M_set_length_and_sharable(__len);
22230  }
22231       return *this;
22232     }
22233
22234    template<typename _CharT, typename _Traits, typename _Alloc>
22235      basic_string<_CharT, _Traits, _Alloc>&
22236      basic_string<_CharT, _Traits, _Alloc>::
22237      insert(size_type __pos, const _CharT* __s, size_type __n)
22238      {
22239        ;
22240        _M_check(__pos, "basic_string::insert");
22241        _M_check_length(size_type(0), __n, "basic_string::insert");
22242        if (_M_disjunct(__s) || _M_rep()->_M_is_shared())
22243          return _M_replace_safe(__pos, size_type(0), __s, __n);
22244        else
22245          {
22246
22247            const size_type __off = __s - _M_data();
22248            _M_mutate(__pos, 0, __n);
22249            __s = _M_data() + __off;
22250            _CharT* __p = _M_data() + __pos;
22251            if (__s + __n <= __p)
22252              _M_copy(__p, __s, __n);
22253            else if (__s >= __p)
22254              _M_copy(__p, __s + __n, __n);
22255            else
22256              {
22257         const size_type __nleft = __p - __s;
22258                _M_copy(__p, __s, __nleft);
22259                _M_copy(__p + __nleft, __p + __n, __n - __nleft);
22260              }
22261            return *this;
22262          }
22263      }
22264
22265    template<typename _CharT, typename _Traits, typename _Alloc>
22266      basic_string<_CharT, _Traits, _Alloc>&
22267      basic_string<_CharT, _Traits, _Alloc>::
22268      replace(size_type __pos, size_type __n1, const _CharT* __s,
22269       size_type __n2)
22270      {
22271        ;
22272        _M_check(__pos, "basic_string::replace");
22273        __n1 = _M_limit(__pos, __n1);
22274        _M_check_length(__n1, __n2, "basic_string::replace");
22275        bool __left;
22276        if (_M_disjunct(__s) || _M_rep()->_M_is_shared())
22277          return _M_replace_safe(__pos, __n1, __s, __n2);
22278        else if ((__left = __s + __n2 <= _M_data() + __pos)
22279   || _M_data() + __pos + __n1 <= __s)
22280   {
22281
22282     size_type __off = __s - _M_data();
22283     __left ? __off : (__off += __n2 - __n1);
22284     _M_mutate(__pos, __n1, __n2);
22285     _M_copy(_M_data() + __pos, _M_data() + __off, __n2);
22286     return *this;
22287   }
22288        else
22289   {
22290
22291     const basic_string __tmp(__s, __n2);
22292     return _M_replace_safe(__pos, __n1, __tmp._M_data(), __n2);
22293   }
22294      }
22295
22296   template<typename _CharT, typename _Traits, typename _Alloc>
22297     void
22298     basic_string<_CharT, _Traits, _Alloc>::_Rep::
22299     _M_destroy(const _Alloc& __a) throw ()
22300     {
22301       const size_type __size = sizeof(_Rep_base) +
22302                         (this->_M_capacity + 1) * sizeof(_CharT);
22303       _Raw_bytes_alloc(__a).deallocate(reinterpret_cast<char*>(this), __size);
22304     }
22305
22306   template<typename _CharT, typename _Traits, typename _Alloc>
22307     void
22308     basic_string<_CharT, _Traits, _Alloc>::
22309     _M_leak_hard()
22310     {
22311
22312       if (_M_rep() == &_S_empty_rep())
22313  return;
22314
22315       if (_M_rep()->_M_is_shared())
22316  _M_mutate(0, 0, 0);
22317       _M_rep()->_M_set_leaked();
22318     }
22319
22320   template<typename _CharT, typename _Traits, typename _Alloc>
22321     void
22322     basic_string<_CharT, _Traits, _Alloc>::
22323     _M_mutate(size_type __pos, size_type __len1, size_type __len2)
22324     {
22325       const size_type __old_size = this->size();
22326       const size_type __new_size = __old_size + __len2 - __len1;
22327       const size_type __how_much = __old_size - __pos - __len1;
22328
22329       if (__new_size > this->capacity() || _M_rep()->_M_is_shared())
22330  {
22331
22332    const allocator_type __a = get_allocator();
22333    _Rep* __r = _Rep::_S_create(__new_size, this->capacity(), __a);
22334
22335    if (__pos)
22336      _M_copy(__r->_M_refdata(), _M_data(), __pos);
22337    if (__how_much)
22338      _M_copy(__r->_M_refdata() + __pos + __len2,
22339       _M_data() + __pos + __len1, __how_much);
22340
22341    _M_rep()->_M_dispose(__a);
22342    _M_data(__r->_M_refdata());
22343  }
22344       else if (__how_much && __len1 != __len2)
22345  {
22346
22347    _M_move(_M_data() + __pos + __len2,
22348     _M_data() + __pos + __len1, __how_much);
22349  }
22350       _M_rep()->_M_set_length_and_sharable(__new_size);
22351     }
22352
22353   template<typename _CharT, typename _Traits, typename _Alloc>
22354     void
22355     basic_string<_CharT, _Traits, _Alloc>::
22356     reserve(size_type __res)
22357     {
22358       if (__res != this->capacity() || _M_rep()->_M_is_shared())
22359         {
22360
22361    if (__res < this->size())
22362      __res = this->size();
22363    const allocator_type __a = get_allocator();
22364    _CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size());
22365    _M_rep()->_M_dispose(__a);
22366    _M_data(__tmp);
22367         }
22368     }
22369
22370   template<typename _CharT, typename _Traits, typename _Alloc>
22371     void
22372     basic_string<_CharT, _Traits, _Alloc>::
22373     swap(basic_string& __s)
22374     {
22375       if (_M_rep()->_M_is_leaked())
22376  _M_rep()->_M_set_sharable();
22377       if (__s._M_rep()->_M_is_leaked())
22378  __s._M_rep()->_M_set_sharable();
22379       if (this->get_allocator() == __s.get_allocator())
22380  {
22381    _CharT* __tmp = _M_data();
22382    _M_data(__s._M_data());
22383    __s._M_data(__tmp);
22384  }
22385
22386       else
22387  {
22388    const basic_string __tmp1(_M_ibegin(), _M_iend(),
22389         __s.get_allocator());
22390    const basic_string __tmp2(__s._M_ibegin(), __s._M_iend(),
22391         this->get_allocator());
22392    *this = __tmp2;
22393    __s = __tmp1;
22394  }
22395     }
22396
22397   template<typename _CharT, typename _Traits, typename _Alloc>
22398     typename basic_string<_CharT, _Traits, _Alloc>::_Rep*
22399     basic_string<_CharT, _Traits, _Alloc>::_Rep::
22400     _S_create(size_type __capacity, size_type __old_capacity,
22401        const _Alloc& __alloc)
22402     {
22403
22404
22405       if (__capacity > _S_max_size)
22406  __throw_length_error(("basic_string::_S_create"));
22407 # 558 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc" 3
22408       const size_type __pagesize = 4096;
22409       const size_type __malloc_header_size = 4 * sizeof(void*);
22410
22411
22412
22413
22414
22415
22416
22417       if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
22418  __capacity = 2 * __old_capacity;
22419
22420
22421
22422
22423       size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep);
22424
22425       const size_type __adj_size = __size + __malloc_header_size;
22426       if (__adj_size > __pagesize && __capacity > __old_capacity)
22427  {
22428    const size_type __extra = __pagesize - __adj_size % __pagesize;
22429    __capacity += __extra / sizeof(_CharT);
22430
22431    if (__capacity > _S_max_size)
22432      __capacity = _S_max_size;
22433    __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep);
22434  }
22435
22436
22437
22438       void* __place = _Raw_bytes_alloc(__alloc).allocate(__size);
22439       _Rep *__p = new (__place) _Rep;
22440       __p->_M_capacity = __capacity;
22441       return __p;
22442     }
22443
22444   template<typename _CharT, typename _Traits, typename _Alloc>
22445     _CharT*
22446     basic_string<_CharT, _Traits, _Alloc>::_Rep::
22447     _M_clone(const _Alloc& __alloc, size_type __res)
22448     {
22449
22450       const size_type __requested_cap = this->_M_length + __res;
22451       _Rep* __r = _Rep::_S_create(__requested_cap, this->_M_capacity,
22452       __alloc);
22453       if (this->_M_length)
22454  _M_copy(__r->_M_refdata(), _M_refdata(), this->_M_length);
22455
22456       __r->_M_set_length_and_sharable(this->_M_length);
22457       return __r->_M_refdata();
22458     }
22459
22460   template<typename _CharT, typename _Traits, typename _Alloc>
22461     void
22462     basic_string<_CharT, _Traits, _Alloc>::
22463     resize(size_type __n, _CharT __c)
22464     {
22465       const size_type __size = this->size();
22466       _M_check_length(__size, __n, "basic_string::resize");
22467       if (__size < __n)
22468  this->append(__n - __size, __c);
22469       else if (__n < __size)
22470  this->erase(__n);
22471
22472     }
22473
22474   template<typename _CharT, typename _Traits, typename _Alloc>
22475     template<typename _InputIterator>
22476       basic_string<_CharT, _Traits, _Alloc>&
22477       basic_string<_CharT, _Traits, _Alloc>::
22478       _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
22479      _InputIterator __k2, __false_type)
22480       {
22481  const basic_string __s(__k1, __k2);
22482  const size_type __n1 = __i2 - __i1;
22483  _M_check_length(__n1, __s.size(), "basic_string::_M_replace_dispatch");
22484  return _M_replace_safe(__i1 - _M_ibegin(), __n1, __s._M_data(),
22485           __s.size());
22486       }
22487
22488   template<typename _CharT, typename _Traits, typename _Alloc>
22489     basic_string<_CharT, _Traits, _Alloc>&
22490     basic_string<_CharT, _Traits, _Alloc>::
22491     _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
22492      _CharT __c)
22493     {
22494       _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
22495       _M_mutate(__pos1, __n1, __n2);
22496       if (__n2)
22497  _M_assign(_M_data() + __pos1, __n2, __c);
22498       return *this;
22499     }
22500
22501   template<typename _CharT, typename _Traits, typename _Alloc>
22502     basic_string<_CharT, _Traits, _Alloc>&
22503     basic_string<_CharT, _Traits, _Alloc>::
22504     _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s,
22505       size_type __n2)
22506     {
22507       _M_mutate(__pos1, __n1, __n2);
22508       if (__n2)
22509  _M_copy(_M_data() + __pos1, __s, __n2);
22510       return *this;
22511     }
22512
22513   template<typename _CharT, typename _Traits, typename _Alloc>
22514     basic_string<_CharT, _Traits, _Alloc>
22515     operator+(const _CharT* __lhs,
22516        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
22517     {
22518       ;
22519       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
22520       typedef typename __string_type::size_type __size_type;
22521       const __size_type __len = _Traits::length(__lhs);
22522       __string_type __str;
22523       __str.reserve(__len + __rhs.size());
22524       __str.append(__lhs, __len);
22525       __str.append(__rhs);
22526       return __str;
22527     }
22528
22529   template<typename _CharT, typename _Traits, typename _Alloc>
22530     basic_string<_CharT, _Traits, _Alloc>
22531     operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs)
22532     {
22533       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
22534       typedef typename __string_type::size_type __size_type;
22535       __string_type __str;
22536       const __size_type __len = __rhs.size();
22537       __str.reserve(__len + 1);
22538       __str.append(__size_type(1), __lhs);
22539       __str.append(__rhs);
22540       return __str;
22541     }
22542
22543   template<typename _CharT, typename _Traits, typename _Alloc>
22544     typename basic_string<_CharT, _Traits, _Alloc>::size_type
22545     basic_string<_CharT, _Traits, _Alloc>::
22546     copy(_CharT* __s, size_type __n, size_type __pos) const
22547     {
22548       _M_check(__pos, "basic_string::copy");
22549       __n = _M_limit(__pos, __n);
22550       ;
22551       if (__n)
22552  _M_copy(__s, _M_data() + __pos, __n);
22553
22554       return __n;
22555     }
22556
22557   template<typename _CharT, typename _Traits, typename _Alloc>
22558     typename basic_string<_CharT, _Traits, _Alloc>::size_type
22559     basic_string<_CharT, _Traits, _Alloc>::
22560     find(const _CharT* __s, size_type __pos, size_type __n) const
22561     {
22562       ;
22563       size_type __ret = npos;
22564       const size_type __size = this->size();
22565       if (__pos + __n <= __size)
22566  {
22567    const _CharT* __data = _M_data();
22568    const _CharT* __p = std::search(__data + __pos, __data + __size,
22569        __s, __s + __n, traits_type::eq);
22570    if (__p != __data + __size || __n == 0)
22571      __ret = __p - __data;
22572  }
22573       return __ret;
22574     }
22575
22576   template<typename _CharT, typename _Traits, typename _Alloc>
22577     typename basic_string<_CharT, _Traits, _Alloc>::size_type
22578     basic_string<_CharT, _Traits, _Alloc>::
22579     find(_CharT __c, size_type __pos) const
22580     {
22581       size_type __ret = npos;
22582       const size_type __size = this->size();
22583       if (__pos < __size)
22584  {
22585    const _CharT* __data = _M_data();
22586    const size_type __n = __size - __pos;
22587    const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
22588    if (__p)
22589      __ret = __p - __data;
22590  }
22591       return __ret;
22592     }
22593
22594   template<typename _CharT, typename _Traits, typename _Alloc>
22595     typename basic_string<_CharT, _Traits, _Alloc>::size_type
22596     basic_string<_CharT, _Traits, _Alloc>::
22597     rfind(const _CharT* __s, size_type __pos, size_type __n) const
22598     {
22599       ;
22600       const size_type __size = this->size();
22601       if (__n <= __size)
22602  {
22603    __pos = std::min(size_type(__size - __n), __pos);
22604    const _CharT* __data = _M_data();
22605    do
22606      {
22607        if (traits_type::compare(__data + __pos, __s, __n) == 0)
22608   return __pos;
22609      }
22610    while (__pos-- > 0);
22611  }
22612       return npos;
22613     }
22614
22615   template<typename _CharT, typename _Traits, typename _Alloc>
22616     typename basic_string<_CharT, _Traits, _Alloc>::size_type
22617     basic_string<_CharT, _Traits, _Alloc>::
22618     rfind(_CharT __c, size_type __pos) const
22619     {
22620       size_type __size = this->size();
22621       if (__size)
22622  {
22623    if (--__size > __pos)
22624      __size = __pos;
22625    for (++__size; __size-- > 0; )
22626      if (traits_type::eq(_M_data()[__size], __c))
22627        return __size;
22628  }
22629       return npos;
22630     }
22631
22632   template<typename _CharT, typename _Traits, typename _Alloc>
22633     typename basic_string<_CharT, _Traits, _Alloc>::size_type
22634     basic_string<_CharT, _Traits, _Alloc>::
22635     find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
22636     {
22637       ;
22638       for (; __n && __pos < this->size(); ++__pos)
22639  {
22640    const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
22641    if (__p)
22642      return __pos;
22643  }
22644       return npos;
22645     }
22646
22647   template<typename _CharT, typename _Traits, typename _Alloc>
22648     typename basic_string<_CharT, _Traits, _Alloc>::size_type
22649     basic_string<_CharT, _Traits, _Alloc>::
22650     find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
22651     {
22652       ;
22653       size_type __size = this->size();
22654       if (__size && __n)
22655  {
22656    if (--__size > __pos)
22657      __size = __pos;
22658    do
22659      {
22660        if (traits_type::find(__s, __n, _M_data()[__size]))
22661   return __size;
22662      }
22663    while (__size-- != 0);
22664  }
22665       return npos;
22666     }
22667
22668   template<typename _CharT, typename _Traits, typename _Alloc>
22669     typename basic_string<_CharT, _Traits, _Alloc>::size_type
22670     basic_string<_CharT, _Traits, _Alloc>::
22671     find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
22672     {
22673       ;
22674       for (; __pos < this->size(); ++__pos)
22675  if (!traits_type::find(__s, __n, _M_data()[__pos]))
22676    return __pos;
22677       return npos;
22678     }
22679
22680   template<typename _CharT, typename _Traits, typename _Alloc>
22681     typename basic_string<_CharT, _Traits, _Alloc>::size_type
22682     basic_string<_CharT, _Traits, _Alloc>::
22683     find_first_not_of(_CharT __c, size_type __pos) const
22684     {
22685       for (; __pos < this->size(); ++__pos)
22686  if (!traits_type::eq(_M_data()[__pos], __c))
22687    return __pos;
22688       return npos;
22689     }
22690
22691   template<typename _CharT, typename _Traits, typename _Alloc>
22692     typename basic_string<_CharT, _Traits, _Alloc>::size_type
22693     basic_string<_CharT, _Traits, _Alloc>::
22694     find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
22695     {
22696       ;
22697       size_type __size = this->size();
22698       if (__size)
22699  {
22700    if (--__size > __pos)
22701      __size = __pos;
22702    do
22703      {
22704        if (!traits_type::find(__s, __n, _M_data()[__size]))
22705   return __size;
22706      }
22707    while (__size--);
22708  }
22709       return npos;
22710     }
22711
22712   template<typename _CharT, typename _Traits, typename _Alloc>
22713     typename basic_string<_CharT, _Traits, _Alloc>::size_type
22714     basic_string<_CharT, _Traits, _Alloc>::
22715     find_last_not_of(_CharT __c, size_type __pos) const
22716     {
22717       size_type __size = this->size();
22718       if (__size)
22719  {
22720    if (--__size > __pos)
22721      __size = __pos;
22722    do
22723      {
22724        if (!traits_type::eq(_M_data()[__size], __c))
22725   return __size;
22726      }
22727    while (__size--);
22728  }
22729       return npos;
22730     }
22731
22732   template<typename _CharT, typename _Traits, typename _Alloc>
22733     int
22734     basic_string<_CharT, _Traits, _Alloc>::
22735     compare(size_type __pos, size_type __n, const basic_string& __str) const
22736     {
22737       _M_check(__pos, "basic_string::compare");
22738       __n = _M_limit(__pos, __n);
22739       const size_type __osize = __str.size();
22740       const size_type __len = std::min(__n, __osize);
22741       int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
22742       if (!__r)
22743  __r = __n - __osize;
22744       return __r;
22745     }
22746
22747   template<typename _CharT, typename _Traits, typename _Alloc>
22748     int
22749     basic_string<_CharT, _Traits, _Alloc>::
22750     compare(size_type __pos1, size_type __n1, const basic_string& __str,
22751      size_type __pos2, size_type __n2) const
22752     {
22753       _M_check(__pos1, "basic_string::compare");
22754       __str._M_check(__pos2, "basic_string::compare");
22755       __n1 = _M_limit(__pos1, __n1);
22756       __n2 = __str._M_limit(__pos2, __n2);
22757       const size_type __len = std::min(__n1, __n2);
22758       int __r = traits_type::compare(_M_data() + __pos1,
22759          __str.data() + __pos2, __len);
22760       if (!__r)
22761  __r = __n1 - __n2;
22762       return __r;
22763     }
22764
22765   template<typename _CharT, typename _Traits, typename _Alloc>
22766     int
22767     basic_string<_CharT, _Traits, _Alloc>::
22768     compare(const _CharT* __s) const
22769     {
22770       ;
22771       const size_type __size = this->size();
22772       const size_type __osize = traits_type::length(__s);
22773       const size_type __len = std::min(__size, __osize);
22774       int __r = traits_type::compare(_M_data(), __s, __len);
22775       if (!__r)
22776  __r = __size - __osize;
22777       return __r;
22778     }
22779
22780   template<typename _CharT, typename _Traits, typename _Alloc>
22781     int
22782     basic_string <_CharT, _Traits, _Alloc>::
22783     compare(size_type __pos, size_type __n1, const _CharT* __s) const
22784     {
22785       ;
22786       _M_check(__pos, "basic_string::compare");
22787       __n1 = _M_limit(__pos, __n1);
22788       const size_type __osize = traits_type::length(__s);
22789       const size_type __len = std::min(__n1, __osize);
22790       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
22791       if (!__r)
22792  __r = __n1 - __osize;
22793       return __r;
22794     }
22795
22796   template<typename _CharT, typename _Traits, typename _Alloc>
22797     int
22798     basic_string <_CharT, _Traits, _Alloc>::
22799     compare(size_type __pos, size_type __n1, const _CharT* __s,
22800      size_type __n2) const
22801     {
22802       ;
22803       _M_check(__pos, "basic_string::compare");
22804       __n1 = _M_limit(__pos, __n1);
22805       const size_type __len = std::min(__n1, __n2);
22806       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
22807       if (!__r)
22808  __r = __n1 - __n2;
22809       return __r;
22810     }
22811
22812
22813
22814
22815
22816   extern template class basic_string<char>;
22817   extern template
22818     basic_istream<char>&
22819     operator>>(basic_istream<char>&, string&);
22820   extern template
22821     basic_ostream<char>&
22822     operator<<(basic_ostream<char>&, const string&);
22823   extern template
22824     basic_istream<char>&
22825     getline(basic_istream<char>&, string&, char);
22826   extern template
22827     basic_istream<char>&
22828     getline(basic_istream<char>&, string&);
22829
22830
22831   extern template class basic_string<wchar_t>;
22832   extern template
22833     basic_istream<wchar_t>&
22834     operator>>(basic_istream<wchar_t>&, wstring&);
22835   extern template
22836     basic_ostream<wchar_t>&
22837     operator<<(basic_ostream<wchar_t>&, const wstring&);
22838   extern template
22839     basic_istream<wchar_t>&
22840     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
22841   extern template
22842     basic_istream<wchar_t>&
22843     getline(basic_istream<wchar_t>&, wstring&);
22844
22845
22846 }
22847 # 58 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
22848
22849
22850 #pragma GCC visibility pop
22851 # 74 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
22852 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/map" 1 3
22853 # 61 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/map" 3
22854 #define _GLIBCXX_MAP 1
22855
22856        
22857 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/map" 3
22858 #pragma GCC visibility push(default)
22859
22860 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tree.h" 1 3
22861 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tree.h" 3
22862 #define _TREE_H 1
22863
22864
22865
22866
22867
22868
22869
22870 namespace std
22871 {
22872 # 90 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tree.h" 3
22873   enum _Rb_tree_color { _S_red = false, _S_black = true };
22874
22875   struct _Rb_tree_node_base
22876   {
22877     typedef _Rb_tree_node_base* _Base_ptr;
22878     typedef const _Rb_tree_node_base* _Const_Base_ptr;
22879
22880     _Rb_tree_color _M_color;
22881     _Base_ptr _M_parent;
22882     _Base_ptr _M_left;
22883     _Base_ptr _M_right;
22884
22885     static _Base_ptr
22886     _S_minimum(_Base_ptr __x)
22887     {
22888       while (__x->_M_left != 0) __x = __x->_M_left;
22889       return __x;
22890     }
22891
22892     static _Const_Base_ptr
22893     _S_minimum(_Const_Base_ptr __x)
22894     {
22895       while (__x->_M_left != 0) __x = __x->_M_left;
22896       return __x;
22897     }
22898
22899     static _Base_ptr
22900     _S_maximum(_Base_ptr __x)
22901     {
22902       while (__x->_M_right != 0) __x = __x->_M_right;
22903       return __x;
22904     }
22905
22906     static _Const_Base_ptr
22907     _S_maximum(_Const_Base_ptr __x)
22908     {
22909       while (__x->_M_right != 0) __x = __x->_M_right;
22910       return __x;
22911     }
22912   };
22913
22914   template<typename _Val>
22915     struct _Rb_tree_node : public _Rb_tree_node_base
22916     {
22917       typedef _Rb_tree_node<_Val>* _Link_type;
22918       _Val _M_value_field;
22919     };
22920
22921   _Rb_tree_node_base*
22922   _Rb_tree_increment(_Rb_tree_node_base* __x);
22923
22924   const _Rb_tree_node_base*
22925   _Rb_tree_increment(const _Rb_tree_node_base* __x);
22926
22927   _Rb_tree_node_base*
22928   _Rb_tree_decrement(_Rb_tree_node_base* __x);
22929
22930   const _Rb_tree_node_base*
22931   _Rb_tree_decrement(const _Rb_tree_node_base* __x);
22932
22933   template<typename _Tp>
22934     struct _Rb_tree_iterator
22935     {
22936       typedef _Tp value_type;
22937       typedef _Tp& reference;
22938       typedef _Tp* pointer;
22939
22940       typedef bidirectional_iterator_tag iterator_category;
22941       typedef ptrdiff_t difference_type;
22942
22943       typedef _Rb_tree_iterator<_Tp> _Self;
22944       typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
22945       typedef _Rb_tree_node<_Tp>* _Link_type;
22946
22947       _Rb_tree_iterator()
22948       : _M_node() { }
22949
22950       explicit
22951       _Rb_tree_iterator(_Link_type __x)
22952       : _M_node(__x) { }
22953
22954       reference
22955       operator*() const
22956       { return static_cast<_Link_type>(_M_node)->_M_value_field; }
22957
22958       pointer
22959       operator->() const
22960       { return &static_cast<_Link_type>(_M_node)->_M_value_field; }
22961
22962       _Self&
22963       operator++()
22964       {
22965  _M_node = _Rb_tree_increment(_M_node);
22966  return *this;
22967       }
22968
22969       _Self
22970       operator++(int)
22971       {
22972  _Self __tmp = *this;
22973  _M_node = _Rb_tree_increment(_M_node);
22974  return __tmp;
22975       }
22976
22977       _Self&
22978       operator--()
22979       {
22980  _M_node = _Rb_tree_decrement(_M_node);
22981  return *this;
22982       }
22983
22984       _Self
22985       operator--(int)
22986       {
22987  _Self __tmp = *this;
22988  _M_node = _Rb_tree_decrement(_M_node);
22989  return __tmp;
22990       }
22991
22992       bool
22993       operator==(const _Self& __x) const
22994       { return _M_node == __x._M_node; }
22995
22996       bool
22997       operator!=(const _Self& __x) const
22998       { return _M_node != __x._M_node; }
22999
23000       _Base_ptr _M_node;
23001   };
23002
23003   template<typename _Tp>
23004     struct _Rb_tree_const_iterator
23005     {
23006       typedef _Tp value_type;
23007       typedef const _Tp& reference;
23008       typedef const _Tp* pointer;
23009
23010       typedef _Rb_tree_iterator<_Tp> iterator;
23011
23012       typedef bidirectional_iterator_tag iterator_category;
23013       typedef ptrdiff_t difference_type;
23014
23015       typedef _Rb_tree_const_iterator<_Tp> _Self;
23016       typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr;
23017       typedef const _Rb_tree_node<_Tp>* _Link_type;
23018
23019       _Rb_tree_const_iterator()
23020       : _M_node() { }
23021
23022       explicit
23023       _Rb_tree_const_iterator(_Link_type __x)
23024       : _M_node(__x) { }
23025
23026       _Rb_tree_const_iterator(const iterator& __it)
23027       : _M_node(__it._M_node) { }
23028
23029       reference
23030       operator*() const
23031       { return static_cast<_Link_type>(_M_node)->_M_value_field; }
23032
23033       pointer
23034       operator->() const
23035       { return &static_cast<_Link_type>(_M_node)->_M_value_field; }
23036
23037       _Self&
23038       operator++()
23039       {
23040  _M_node = _Rb_tree_increment(_M_node);
23041  return *this;
23042       }
23043
23044       _Self
23045       operator++(int)
23046       {
23047  _Self __tmp = *this;
23048  _M_node = _Rb_tree_increment(_M_node);
23049  return __tmp;
23050       }
23051
23052       _Self&
23053       operator--()
23054       {
23055  _M_node = _Rb_tree_decrement(_M_node);
23056  return *this;
23057       }
23058
23059       _Self
23060       operator--(int)
23061       {
23062  _Self __tmp = *this;
23063  _M_node = _Rb_tree_decrement(_M_node);
23064  return __tmp;
23065       }
23066
23067       bool
23068       operator==(const _Self& __x) const
23069       { return _M_node == __x._M_node; }
23070
23071       bool
23072       operator!=(const _Self& __x) const
23073       { return _M_node != __x._M_node; }
23074
23075       _Base_ptr _M_node;
23076     };
23077
23078   template<typename _Val>
23079     inline bool
23080     operator==(const _Rb_tree_iterator<_Val>& __x,
23081                const _Rb_tree_const_iterator<_Val>& __y)
23082     { return __x._M_node == __y._M_node; }
23083
23084   template<typename _Val>
23085     inline bool
23086     operator!=(const _Rb_tree_iterator<_Val>& __x,
23087                const _Rb_tree_const_iterator<_Val>& __y)
23088     { return __x._M_node != __y._M_node; }
23089
23090   void
23091   _Rb_tree_rotate_left(_Rb_tree_node_base* const __x,
23092                        _Rb_tree_node_base*& __root);
23093
23094   void
23095   _Rb_tree_rotate_right(_Rb_tree_node_base* const __x,
23096                         _Rb_tree_node_base*& __root);
23097
23098   void
23099   _Rb_tree_insert_and_rebalance(const bool __insert_left,
23100                                 _Rb_tree_node_base* __x,
23101                                 _Rb_tree_node_base* __p,
23102                                 _Rb_tree_node_base& __header);
23103
23104   _Rb_tree_node_base*
23105   _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z,
23106           _Rb_tree_node_base& __header);
23107
23108
23109   template<typename _Key, typename _Val, typename _KeyOfValue,
23110            typename _Compare, typename _Alloc = allocator<_Val> >
23111     class _Rb_tree
23112     {
23113       typedef typename _Alloc::template rebind<_Rb_tree_node<_Val> >::other
23114               _Node_allocator;
23115
23116     protected:
23117       typedef _Rb_tree_node_base* _Base_ptr;
23118       typedef const _Rb_tree_node_base* _Const_Base_ptr;
23119       typedef _Rb_tree_node<_Val> _Rb_tree_node;
23120
23121     public:
23122       typedef _Key key_type;
23123       typedef _Val value_type;
23124       typedef value_type* pointer;
23125       typedef const value_type* const_pointer;
23126       typedef value_type& reference;
23127       typedef const value_type& const_reference;
23128       typedef _Rb_tree_node* _Link_type;
23129       typedef const _Rb_tree_node* _Const_Link_type;
23130       typedef size_t size_type;
23131       typedef ptrdiff_t difference_type;
23132       typedef _Alloc allocator_type;
23133
23134       allocator_type
23135       get_allocator() const
23136       { return *static_cast<const _Node_allocator*>(&this->_M_impl); }
23137
23138     protected:
23139       _Rb_tree_node*
23140       _M_get_node()
23141       { return _M_impl._Node_allocator::allocate(1); }
23142
23143       void
23144       _M_put_node(_Rb_tree_node* __p)
23145       { _M_impl._Node_allocator::deallocate(__p, 1); }
23146
23147       _Link_type
23148       _M_create_node(const value_type& __x)
23149       {
23150  _Link_type __tmp = _M_get_node();
23151  try
23152    { get_allocator().construct(&__tmp->_M_value_field, __x); }
23153  catch(...)
23154    {
23155      _M_put_node(__tmp);
23156      throw;
23157    }
23158  return __tmp;
23159       }
23160
23161       _Link_type
23162       _M_clone_node(_Const_Link_type __x)
23163       {
23164  _Link_type __tmp = _M_create_node(__x->_M_value_field);
23165  __tmp->_M_color = __x->_M_color;
23166  __tmp->_M_left = 0;
23167  __tmp->_M_right = 0;
23168  return __tmp;
23169       }
23170
23171       void
23172       destroy_node(_Link_type __p)
23173       {
23174  get_allocator().destroy(&__p->_M_value_field);
23175  _M_put_node(__p);
23176       }
23177
23178     protected:
23179       template<typename _Key_compare,
23180         bool _Is_pod_comparator = std::__is_pod<_Key_compare>::__value>
23181         struct _Rb_tree_impl : public _Node_allocator
23182         {
23183    _Key_compare _M_key_compare;
23184    _Rb_tree_node_base _M_header;
23185    size_type _M_node_count;
23186
23187    _Rb_tree_impl(const _Node_allocator& __a = _Node_allocator(),
23188    const _Key_compare& __comp = _Key_compare())
23189    : _Node_allocator(__a), _M_key_compare(__comp), _M_header(),
23190      _M_node_count(0)
23191    {
23192      this->_M_header._M_color = _S_red;
23193      this->_M_header._M_parent = 0;
23194      this->_M_header._M_left = &this->_M_header;
23195      this->_M_header._M_right = &this->_M_header;
23196    }
23197  };
23198
23199
23200
23201       template<typename _Key_compare>
23202         struct _Rb_tree_impl<_Key_compare, true> : public _Node_allocator
23203  {
23204    _Key_compare _M_key_compare;
23205    _Rb_tree_node_base _M_header;
23206    size_type _M_node_count;
23207
23208    _Rb_tree_impl(const _Node_allocator& __a = _Node_allocator(),
23209    const _Key_compare& __comp = _Key_compare())
23210    : _Node_allocator(__a), _M_key_compare(__comp), _M_header(),
23211      _M_node_count(0)
23212    {
23213      this->_M_header._M_color = _S_red;
23214      this->_M_header._M_parent = 0;
23215      this->_M_header._M_left = &this->_M_header;
23216      this->_M_header._M_right = &this->_M_header;
23217    }
23218  };
23219
23220       _Rb_tree_impl<_Compare> _M_impl;
23221
23222     protected:
23223       _Base_ptr&
23224       _M_root()
23225       { return this->_M_impl._M_header._M_parent; }
23226
23227       _Const_Base_ptr
23228       _M_root() const
23229       { return this->_M_impl._M_header._M_parent; }
23230
23231       _Base_ptr&
23232       _M_leftmost()
23233       { return this->_M_impl._M_header._M_left; }
23234
23235       _Const_Base_ptr
23236       _M_leftmost() const
23237       { return this->_M_impl._M_header._M_left; }
23238
23239       _Base_ptr&
23240       _M_rightmost()
23241       { return this->_M_impl._M_header._M_right; }
23242
23243       _Const_Base_ptr
23244       _M_rightmost() const
23245       { return this->_M_impl._M_header._M_right; }
23246
23247       _Link_type
23248       _M_begin()
23249       { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); }
23250
23251       _Const_Link_type
23252       _M_begin() const
23253       {
23254  return static_cast<_Const_Link_type>
23255    (this->_M_impl._M_header._M_parent);
23256       }
23257
23258       _Link_type
23259       _M_end()
23260       { return static_cast<_Link_type>(&this->_M_impl._M_header); }
23261
23262       _Const_Link_type
23263       _M_end() const
23264       { return static_cast<_Const_Link_type>(&this->_M_impl._M_header); }
23265
23266       static const_reference
23267       _S_value(_Const_Link_type __x)
23268       { return __x->_M_value_field; }
23269
23270       static const _Key&
23271       _S_key(_Const_Link_type __x)
23272       { return _KeyOfValue()(_S_value(__x)); }
23273
23274       static _Link_type
23275       _S_left(_Base_ptr __x)
23276       { return static_cast<_Link_type>(__x->_M_left); }
23277
23278       static _Const_Link_type
23279       _S_left(_Const_Base_ptr __x)
23280       { return static_cast<_Const_Link_type>(__x->_M_left); }
23281
23282       static _Link_type
23283       _S_right(_Base_ptr __x)
23284       { return static_cast<_Link_type>(__x->_M_right); }
23285
23286       static _Const_Link_type
23287       _S_right(_Const_Base_ptr __x)
23288       { return static_cast<_Const_Link_type>(__x->_M_right); }
23289
23290       static const_reference
23291       _S_value(_Const_Base_ptr __x)
23292       { return static_cast<_Const_Link_type>(__x)->_M_value_field; }
23293
23294       static const _Key&
23295       _S_key(_Const_Base_ptr __x)
23296       { return _KeyOfValue()(_S_value(__x)); }
23297
23298       static _Base_ptr
23299       _S_minimum(_Base_ptr __x)
23300       { return _Rb_tree_node_base::_S_minimum(__x); }
23301
23302       static _Const_Base_ptr
23303       _S_minimum(_Const_Base_ptr __x)
23304       { return _Rb_tree_node_base::_S_minimum(__x); }
23305
23306       static _Base_ptr
23307       _S_maximum(_Base_ptr __x)
23308       { return _Rb_tree_node_base::_S_maximum(__x); }
23309
23310       static _Const_Base_ptr
23311       _S_maximum(_Const_Base_ptr __x)
23312       { return _Rb_tree_node_base::_S_maximum(__x); }
23313
23314     public:
23315       typedef _Rb_tree_iterator<value_type> iterator;
23316       typedef _Rb_tree_const_iterator<value_type> const_iterator;
23317
23318       typedef std::reverse_iterator<iterator> reverse_iterator;
23319       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
23320
23321     private:
23322       iterator
23323       _M_insert(_Base_ptr __x, _Base_ptr __y, const value_type& __v);
23324
23325       const_iterator
23326       _M_insert(_Const_Base_ptr __x, _Const_Base_ptr __y,
23327   const value_type& __v);
23328
23329       _Link_type
23330       _M_copy(_Const_Link_type __x, _Link_type __p);
23331
23332       void
23333       _M_erase(_Link_type __x);
23334
23335     public:
23336
23337       _Rb_tree()
23338       { }
23339
23340       _Rb_tree(const _Compare& __comp)
23341       : _M_impl(allocator_type(), __comp)
23342       { }
23343
23344       _Rb_tree(const _Compare& __comp, const allocator_type& __a)
23345       : _M_impl(__a, __comp)
23346       { }
23347
23348       _Rb_tree(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x)
23349       : _M_impl(__x.get_allocator(), __x._M_impl._M_key_compare)
23350       {
23351  if (__x._M_root() != 0)
23352    {
23353      _M_root() = _M_copy(__x._M_begin(), _M_end());
23354      _M_leftmost() = _S_minimum(_M_root());
23355      _M_rightmost() = _S_maximum(_M_root());
23356      _M_impl._M_node_count = __x._M_impl._M_node_count;
23357    }
23358       }
23359
23360       ~_Rb_tree()
23361       { _M_erase(_M_begin()); }
23362
23363       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
23364       operator=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x);
23365
23366
23367       _Compare
23368       key_comp() const
23369       { return _M_impl._M_key_compare; }
23370
23371       iterator
23372       begin()
23373       {
23374  return iterator(static_cast<_Link_type>
23375    (this->_M_impl._M_header._M_left));
23376       }
23377
23378       const_iterator
23379       begin() const
23380       {
23381  return const_iterator(static_cast<_Const_Link_type>
23382          (this->_M_impl._M_header._M_left));
23383       }
23384
23385       iterator
23386       end()
23387       { return iterator(static_cast<_Link_type>(&this->_M_impl._M_header)); }
23388
23389       const_iterator
23390       end() const
23391       {
23392  return const_iterator(static_cast<_Const_Link_type>
23393          (&this->_M_impl._M_header));
23394       }
23395
23396       reverse_iterator
23397       rbegin()
23398       { return reverse_iterator(end()); }
23399
23400       const_reverse_iterator
23401       rbegin() const
23402       { return const_reverse_iterator(end()); }
23403
23404       reverse_iterator
23405       rend()
23406       { return reverse_iterator(begin()); }
23407
23408       const_reverse_iterator
23409       rend() const
23410       { return const_reverse_iterator(begin()); }
23411
23412       bool
23413       empty() const
23414       { return _M_impl._M_node_count == 0; }
23415
23416       size_type
23417       size() const
23418       { return _M_impl._M_node_count; }
23419
23420       size_type
23421       max_size() const
23422       { return size_type(-1); }
23423
23424       void
23425       swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __t);
23426
23427
23428       pair<iterator,bool>
23429       insert_unique(const value_type& __x);
23430
23431       iterator
23432       insert_equal(const value_type& __x);
23433
23434       iterator
23435       insert_unique(iterator __position, const value_type& __x);
23436
23437       const_iterator
23438       insert_unique(const_iterator __position, const value_type& __x);
23439
23440       iterator
23441       insert_equal(iterator __position, const value_type& __x);
23442
23443       const_iterator
23444       insert_equal(const_iterator __position, const value_type& __x);
23445
23446       template<typename _InputIterator>
23447         void
23448         insert_unique(_InputIterator __first, _InputIterator __last);
23449
23450       template<typename _InputIterator>
23451         void
23452         insert_equal(_InputIterator __first, _InputIterator __last);
23453
23454       void
23455       erase(iterator __position);
23456
23457       void
23458       erase(const_iterator __position);
23459
23460       size_type
23461       erase(const key_type& __x);
23462
23463       void
23464       erase(iterator __first, iterator __last);
23465
23466       void
23467       erase(const_iterator __first, const_iterator __last);
23468
23469       void
23470       erase(const key_type* __first, const key_type* __last);
23471
23472       void
23473       clear()
23474       {
23475         _M_erase(_M_begin());
23476         _M_leftmost() = _M_end();
23477         _M_root() = 0;
23478         _M_rightmost() = _M_end();
23479         _M_impl._M_node_count = 0;
23480       }
23481
23482
23483       iterator
23484       find(const key_type& __x);
23485
23486       const_iterator
23487       find(const key_type& __x) const;
23488
23489       size_type
23490       count(const key_type& __x) const;
23491
23492       iterator
23493       lower_bound(const key_type& __x);
23494
23495       const_iterator
23496       lower_bound(const key_type& __x) const;
23497
23498       iterator
23499       upper_bound(const key_type& __x);
23500
23501       const_iterator
23502       upper_bound(const key_type& __x) const;
23503
23504       pair<iterator,iterator>
23505       equal_range(const key_type& __x);
23506
23507       pair<const_iterator, const_iterator>
23508       equal_range(const key_type& __x) const;
23509
23510
23511       bool
23512       __rb_verify() const;
23513     };
23514
23515   template<typename _Key, typename _Val, typename _KeyOfValue,
23516            typename _Compare, typename _Alloc>
23517     inline bool
23518     operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
23519         const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
23520     {
23521       return __x.size() == __y.size()
23522       && std::equal(__x.begin(), __x.end(), __y.begin());
23523     }
23524
23525   template<typename _Key, typename _Val, typename _KeyOfValue,
23526            typename _Compare, typename _Alloc>
23527     inline bool
23528     operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
23529        const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
23530     {
23531       return std::lexicographical_compare(__x.begin(), __x.end(),
23532        __y.begin(), __y.end());
23533     }
23534
23535   template<typename _Key, typename _Val, typename _KeyOfValue,
23536            typename _Compare, typename _Alloc>
23537     inline bool
23538     operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
23539         const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
23540     { return !(__x == __y); }
23541
23542   template<typename _Key, typename _Val, typename _KeyOfValue,
23543            typename _Compare, typename _Alloc>
23544     inline bool
23545     operator>(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
23546        const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
23547     { return __y < __x; }
23548
23549   template<typename _Key, typename _Val, typename _KeyOfValue,
23550            typename _Compare, typename _Alloc>
23551     inline bool
23552     operator<=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
23553         const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
23554     { return !(__y < __x); }
23555
23556   template<typename _Key, typename _Val, typename _KeyOfValue,
23557            typename _Compare, typename _Alloc>
23558     inline bool
23559     operator>=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
23560         const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
23561     { return !(__x < __y); }
23562
23563   template<typename _Key, typename _Val, typename _KeyOfValue,
23564            typename _Compare, typename _Alloc>
23565     inline void
23566     swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
23567   _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
23568     { __x.swap(__y); }
23569
23570   template<typename _Key, typename _Val, typename _KeyOfValue,
23571            typename _Compare, typename _Alloc>
23572     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
23573     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23574     operator=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x)
23575     {
23576       if (this != &__x)
23577  {
23578
23579    clear();
23580    _M_impl._M_key_compare = __x._M_impl._M_key_compare;
23581    if (__x._M_root() != 0)
23582      {
23583        _M_root() = _M_copy(__x._M_begin(), _M_end());
23584        _M_leftmost() = _S_minimum(_M_root());
23585        _M_rightmost() = _S_maximum(_M_root());
23586        _M_impl._M_node_count = __x._M_impl._M_node_count;
23587      }
23588  }
23589       return *this;
23590     }
23591
23592   template<typename _Key, typename _Val, typename _KeyOfValue,
23593            typename _Compare, typename _Alloc>
23594     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
23595     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23596     _M_insert(_Base_ptr __x, _Base_ptr __p, const _Val& __v)
23597     {
23598       bool __insert_left = (__x != 0 || __p == _M_end()
23599        || _M_impl._M_key_compare(_KeyOfValue()(__v),
23600             _S_key(__p)));
23601
23602       _Link_type __z = _M_create_node(__v);
23603
23604       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
23605         this->_M_impl._M_header);
23606       ++_M_impl._M_node_count;
23607       return iterator(__z);
23608     }
23609
23610   template<typename _Key, typename _Val, typename _KeyOfValue,
23611            typename _Compare, typename _Alloc>
23612     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
23613     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23614     _M_insert(_Const_Base_ptr __x, _Const_Base_ptr __p, const _Val& __v)
23615     {
23616       bool __insert_left = (__x != 0 || __p == _M_end()
23617        || _M_impl._M_key_compare(_KeyOfValue()(__v),
23618             _S_key(__p)));
23619
23620       _Link_type __z = _M_create_node(__v);
23621
23622       _Rb_tree_insert_and_rebalance(__insert_left, __z,
23623         const_cast<_Base_ptr>(__p),
23624         this->_M_impl._M_header);
23625       ++_M_impl._M_node_count;
23626       return const_iterator(__z);
23627     }
23628
23629   template<typename _Key, typename _Val, typename _KeyOfValue,
23630            typename _Compare, typename _Alloc>
23631     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
23632     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23633     insert_equal(const _Val& __v)
23634     {
23635       _Link_type __x = _M_begin();
23636       _Link_type __y = _M_end();
23637       while (__x != 0)
23638  {
23639    __y = __x;
23640    __x = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x)) ?
23641          _S_left(__x) : _S_right(__x);
23642  }
23643       return _M_insert(__x, __y, __v);
23644     }
23645
23646   template<typename _Key, typename _Val, typename _KeyOfValue,
23647            typename _Compare, typename _Alloc>
23648     void
23649     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23650     swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __t)
23651     {
23652       if (_M_root() == 0)
23653       {
23654  if (__t._M_root() != 0)
23655  {
23656    _M_root() = __t._M_root();
23657    _M_leftmost() = __t._M_leftmost();
23658    _M_rightmost() = __t._M_rightmost();
23659           _M_root()->_M_parent = _M_end();
23660
23661    __t._M_root() = 0;
23662    __t._M_leftmost() = __t._M_end();
23663    __t._M_rightmost() = __t._M_end();
23664  }
23665       }
23666       else if (__t._M_root() == 0)
23667       {
23668  __t._M_root() = _M_root();
23669  __t._M_leftmost() = _M_leftmost();
23670  __t._M_rightmost() = _M_rightmost();
23671         __t._M_root()->_M_parent = __t._M_end();
23672
23673  _M_root() = 0;
23674  _M_leftmost() = _M_end();
23675  _M_rightmost() = _M_end();
23676       }
23677       else
23678       {
23679  std::swap(_M_root(),__t._M_root());
23680  std::swap(_M_leftmost(),__t._M_leftmost());
23681  std::swap(_M_rightmost(),__t._M_rightmost());
23682
23683  _M_root()->_M_parent = _M_end();
23684  __t._M_root()->_M_parent = __t._M_end();
23685       }
23686
23687       std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count);
23688       std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare);
23689     }
23690
23691   template<typename _Key, typename _Val, typename _KeyOfValue,
23692            typename _Compare, typename _Alloc>
23693     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
23694       _Compare, _Alloc>::iterator, bool>
23695     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23696     insert_unique(const _Val& __v)
23697     {
23698       _Link_type __x = _M_begin();
23699       _Link_type __y = _M_end();
23700       bool __comp = true;
23701       while (__x != 0)
23702  {
23703    __y = __x;
23704    __comp = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x));
23705    __x = __comp ? _S_left(__x) : _S_right(__x);
23706  }
23707       iterator __j = iterator(__y);
23708       if (__comp)
23709  if (__j == begin())
23710    return pair<iterator,bool>(_M_insert(__x, __y, __v), true);
23711  else
23712    --__j;
23713       if (_M_impl._M_key_compare(_S_key(__j._M_node), _KeyOfValue()(__v)))
23714  return pair<iterator, bool>(_M_insert(__x, __y, __v), true);
23715       return pair<iterator, bool>(__j, false);
23716     }
23717
23718   template<typename _Key, typename _Val, typename _KeyOfValue,
23719            typename _Compare, typename _Alloc>
23720     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
23721     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23722     insert_unique(iterator __position, const _Val& __v)
23723     {
23724
23725       if (__position._M_node == _M_end())
23726  {
23727    if (size() > 0
23728        && _M_impl._M_key_compare(_S_key(_M_rightmost()),
23729      _KeyOfValue()(__v)))
23730      return _M_insert(0, _M_rightmost(), __v);
23731    else
23732      return insert_unique(__v).first;
23733  }
23734       else if (_M_impl._M_key_compare(_KeyOfValue()(__v),
23735           _S_key(__position._M_node)))
23736  {
23737
23738    iterator __before = __position;
23739    if (__position._M_node == _M_leftmost())
23740      return _M_insert(_M_leftmost(), _M_leftmost(), __v);
23741    else if (_M_impl._M_key_compare(_S_key((--__before)._M_node),
23742        _KeyOfValue()(__v)))
23743      {
23744        if (_S_right(__before._M_node) == 0)
23745   return _M_insert(0, __before._M_node, __v);
23746        else
23747   return _M_insert(__position._M_node,
23748      __position._M_node, __v);
23749      }
23750    else
23751      return insert_unique(__v).first;
23752  }
23753       else if (_M_impl._M_key_compare(_S_key(__position._M_node),
23754           _KeyOfValue()(__v)))
23755  {
23756
23757    iterator __after = __position;
23758    if (__position._M_node == _M_rightmost())
23759      return _M_insert(0, _M_rightmost(), __v);
23760    else if (_M_impl._M_key_compare(_KeyOfValue()(__v),
23761        _S_key((++__after)._M_node)))
23762      {
23763        if (_S_right(__position._M_node) == 0)
23764   return _M_insert(0, __position._M_node, __v);
23765        else
23766   return _M_insert(__after._M_node, __after._M_node, __v);
23767      }
23768    else
23769      return insert_unique(__v).first;
23770  }
23771       else
23772  return __position;
23773     }
23774
23775   template<typename _Key, typename _Val, typename _KeyOfValue,
23776            typename _Compare, typename _Alloc>
23777     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
23778     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23779     insert_unique(const_iterator __position, const _Val& __v)
23780     {
23781
23782       if (__position._M_node == _M_end())
23783  {
23784    if (size() > 0
23785        && _M_impl._M_key_compare(_S_key(_M_rightmost()),
23786      _KeyOfValue()(__v)))
23787      return _M_insert(0, _M_rightmost(), __v);
23788    else
23789      return const_iterator(insert_unique(__v).first);
23790  }
23791       else if (_M_impl._M_key_compare(_KeyOfValue()(__v),
23792           _S_key(__position._M_node)))
23793  {
23794
23795    const_iterator __before = __position;
23796    if (__position._M_node == _M_leftmost())
23797      return _M_insert(_M_leftmost(), _M_leftmost(), __v);
23798    else if (_M_impl._M_key_compare(_S_key((--__before)._M_node),
23799        _KeyOfValue()(__v)))
23800      {
23801        if (_S_right(__before._M_node) == 0)
23802   return _M_insert(0, __before._M_node, __v);
23803        else
23804   return _M_insert(__position._M_node,
23805      __position._M_node, __v);
23806      }
23807    else
23808      return const_iterator(insert_unique(__v).first);
23809  }
23810       else if (_M_impl._M_key_compare(_S_key(__position._M_node),
23811           _KeyOfValue()(__v)))
23812  {
23813
23814    const_iterator __after = __position;
23815    if (__position._M_node == _M_rightmost())
23816      return _M_insert(0, _M_rightmost(), __v);
23817    else if (_M_impl._M_key_compare(_KeyOfValue()(__v),
23818        _S_key((++__after)._M_node)))
23819      {
23820        if (_S_right(__position._M_node) == 0)
23821   return _M_insert(0, __position._M_node, __v);
23822        else
23823   return _M_insert(__after._M_node, __after._M_node, __v);
23824      }
23825    else
23826      return const_iterator(insert_unique(__v).first);
23827  }
23828       else
23829  return __position;
23830     }
23831
23832   template<typename _Key, typename _Val, typename _KeyOfValue,
23833            typename _Compare, typename _Alloc>
23834     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
23835     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23836     insert_equal(iterator __position, const _Val& __v)
23837     {
23838
23839       if (__position._M_node == _M_end())
23840  {
23841    if (size() > 0
23842        && !_M_impl._M_key_compare(_KeyOfValue()(__v),
23843       _S_key(_M_rightmost())))
23844      return _M_insert(0, _M_rightmost(), __v);
23845    else
23846      return insert_equal(__v);
23847  }
23848       else if (!_M_impl._M_key_compare(_S_key(__position._M_node),
23849            _KeyOfValue()(__v)))
23850  {
23851
23852    iterator __before = __position;
23853    if (__position._M_node == _M_leftmost())
23854      return _M_insert(_M_leftmost(), _M_leftmost(), __v);
23855    else if (!_M_impl._M_key_compare(_KeyOfValue()(__v),
23856         _S_key((--__before)._M_node)))
23857      {
23858        if (_S_right(__before._M_node) == 0)
23859   return _M_insert(0, __before._M_node, __v);
23860        else
23861   return _M_insert(__position._M_node,
23862      __position._M_node, __v);
23863      }
23864    else
23865      return insert_equal(__v);
23866  }
23867       else
23868  {
23869
23870    iterator __after = __position;
23871    if (__position._M_node == _M_rightmost())
23872      return _M_insert(0, _M_rightmost(), __v);
23873    else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node),
23874         _KeyOfValue()(__v)))
23875      {
23876        if (_S_right(__position._M_node) == 0)
23877   return _M_insert(0, __position._M_node, __v);
23878        else
23879   return _M_insert(__after._M_node, __after._M_node, __v);
23880      }
23881    else
23882      return insert_equal(__v);
23883  }
23884     }
23885
23886   template<typename _Key, typename _Val, typename _KeyOfValue,
23887            typename _Compare, typename _Alloc>
23888     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
23889     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23890     insert_equal(const_iterator __position, const _Val& __v)
23891     {
23892
23893       if (__position._M_node == _M_end())
23894  {
23895    if (size() > 0
23896        && !_M_impl._M_key_compare(_KeyOfValue()(__v),
23897       _S_key(_M_rightmost())))
23898      return _M_insert(0, _M_rightmost(), __v);
23899    else
23900      return const_iterator(insert_equal(__v));
23901  }
23902       else if (!_M_impl._M_key_compare(_S_key(__position._M_node),
23903            _KeyOfValue()(__v)))
23904  {
23905
23906    const_iterator __before = __position;
23907    if (__position._M_node == _M_leftmost())
23908      return _M_insert(_M_leftmost(), _M_leftmost(), __v);
23909    else if (!_M_impl._M_key_compare(_KeyOfValue()(__v),
23910         _S_key((--__before)._M_node)))
23911      {
23912        if (_S_right(__before._M_node) == 0)
23913   return _M_insert(0, __before._M_node, __v);
23914        else
23915   return _M_insert(__position._M_node,
23916      __position._M_node, __v);
23917      }
23918    else
23919      return const_iterator(insert_equal(__v));
23920  }
23921       else
23922  {
23923
23924    const_iterator __after = __position;
23925    if (__position._M_node == _M_rightmost())
23926      return _M_insert(0, _M_rightmost(), __v);
23927    else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node),
23928         _KeyOfValue()(__v)))
23929      {
23930        if (_S_right(__position._M_node) == 0)
23931   return _M_insert(0, __position._M_node, __v);
23932        else
23933   return _M_insert(__after._M_node, __after._M_node, __v);
23934      }
23935    else
23936      return const_iterator(insert_equal(__v));
23937  }
23938     }
23939
23940   template<typename _Key, typename _Val, typename _KoV,
23941            typename _Cmp, typename _Alloc>
23942     template<class _II>
23943       void
23944       _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>::
23945       insert_equal(_II __first, _II __last)
23946       {
23947  for (; __first != __last; ++__first)
23948    insert_equal(end(), *__first);
23949       }
23950
23951   template<typename _Key, typename _Val, typename _KoV,
23952            typename _Cmp, typename _Alloc>
23953     template<class _II>
23954       void
23955       _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>::
23956       insert_unique(_II __first, _II __last)
23957       {
23958  for (; __first != __last; ++__first)
23959    insert_unique(end(), *__first);
23960       }
23961
23962   template<typename _Key, typename _Val, typename _KeyOfValue,
23963            typename _Compare, typename _Alloc>
23964     inline void
23965     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23966     erase(iterator __position)
23967     {
23968       _Link_type __y =
23969  static_cast<_Link_type>(_Rb_tree_rebalance_for_erase
23970     (__position._M_node,
23971      this->_M_impl._M_header));
23972       destroy_node(__y);
23973       --_M_impl._M_node_count;
23974     }
23975
23976   template<typename _Key, typename _Val, typename _KeyOfValue,
23977            typename _Compare, typename _Alloc>
23978     inline void
23979     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23980     erase(const_iterator __position)
23981     {
23982       _Link_type __y =
23983  static_cast<_Link_type>(_Rb_tree_rebalance_for_erase
23984     (const_cast<_Base_ptr>(__position._M_node),
23985      this->_M_impl._M_header));
23986       destroy_node(__y);
23987       --_M_impl._M_node_count;
23988     }
23989
23990   template<typename _Key, typename _Val, typename _KeyOfValue,
23991            typename _Compare, typename _Alloc>
23992     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
23993     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
23994     erase(const _Key& __x)
23995     {
23996       pair<iterator,iterator> __p = equal_range(__x);
23997       size_type __n = std::distance(__p.first, __p.second);
23998       erase(__p.first, __p.second);
23999       return __n;
24000     }
24001
24002   template<typename _Key, typename _Val, typename _KoV,
24003            typename _Compare, typename _Alloc>
24004     typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type
24005     _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::
24006     _M_copy(_Const_Link_type __x, _Link_type __p)
24007     {
24008
24009       _Link_type __top = _M_clone_node(__x);
24010       __top->_M_parent = __p;
24011
24012       try
24013  {
24014    if (__x->_M_right)
24015      __top->_M_right = _M_copy(_S_right(__x), __top);
24016    __p = __top;
24017    __x = _S_left(__x);
24018
24019    while (__x != 0)
24020      {
24021        _Link_type __y = _M_clone_node(__x);
24022        __p->_M_left = __y;
24023        __y->_M_parent = __p;
24024        if (__x->_M_right)
24025   __y->_M_right = _M_copy(_S_right(__x), __y);
24026        __p = __y;
24027        __x = _S_left(__x);
24028      }
24029  }
24030       catch(...)
24031  {
24032    _M_erase(__top);
24033    throw;
24034  }
24035       return __top;
24036     }
24037
24038   template<typename _Key, typename _Val, typename _KeyOfValue,
24039            typename _Compare, typename _Alloc>
24040     void
24041     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24042     _M_erase(_Link_type __x)
24043     {
24044
24045       while (__x != 0)
24046  {
24047    _M_erase(_S_right(__x));
24048    _Link_type __y = _S_left(__x);
24049    destroy_node(__x);
24050    __x = __y;
24051  }
24052     }
24053
24054   template<typename _Key, typename _Val, typename _KeyOfValue,
24055            typename _Compare, typename _Alloc>
24056     void
24057     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24058     erase(iterator __first, iterator __last)
24059     {
24060       if (__first == begin() && __last == end())
24061  clear();
24062       else
24063  while (__first != __last)
24064    erase(__first++);
24065     }
24066
24067   template<typename _Key, typename _Val, typename _KeyOfValue,
24068            typename _Compare, typename _Alloc>
24069     void
24070     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24071     erase(const_iterator __first, const_iterator __last)
24072     {
24073       if (__first == begin() && __last == end())
24074  clear();
24075       else
24076  while (__first != __last)
24077    erase(__first++);
24078     }
24079
24080   template<typename _Key, typename _Val, typename _KeyOfValue,
24081            typename _Compare, typename _Alloc>
24082     void
24083     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24084     erase(const _Key* __first, const _Key* __last)
24085     {
24086       while (__first != __last)
24087  erase(*__first++);
24088     }
24089
24090   template<typename _Key, typename _Val, typename _KeyOfValue,
24091            typename _Compare, typename _Alloc>
24092     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
24093     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24094     find(const _Key& __k)
24095     {
24096       _Link_type __x = _M_begin();
24097       _Link_type __y = _M_end();
24098
24099       while (__x != 0)
24100  if (!_M_impl._M_key_compare(_S_key(__x), __k))
24101    __y = __x, __x = _S_left(__x);
24102  else
24103    __x = _S_right(__x);
24104
24105       iterator __j = iterator(__y);
24106       return (__j == end()
24107        || _M_impl._M_key_compare(__k,
24108      _S_key(__j._M_node))) ? end() : __j;
24109     }
24110
24111   template<typename _Key, typename _Val, typename _KeyOfValue,
24112            typename _Compare, typename _Alloc>
24113     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
24114     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24115     find(const _Key& __k) const
24116     {
24117       _Const_Link_type __x = _M_begin();
24118       _Const_Link_type __y = _M_end();
24119
24120      while (__x != 0)
24121        {
24122   if (!_M_impl._M_key_compare(_S_key(__x), __k))
24123     __y = __x, __x = _S_left(__x);
24124   else
24125     __x = _S_right(__x);
24126        }
24127      const_iterator __j = const_iterator(__y);
24128      return (__j == end()
24129       || _M_impl._M_key_compare(__k,
24130            _S_key(__j._M_node))) ? end() : __j;
24131     }
24132
24133   template<typename _Key, typename _Val, typename _KeyOfValue,
24134            typename _Compare, typename _Alloc>
24135     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
24136     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24137     count(const _Key& __k) const
24138     {
24139       pair<const_iterator, const_iterator> __p = equal_range(__k);
24140       const size_type __n = std::distance(__p.first, __p.second);
24141       return __n;
24142     }
24143
24144   template<typename _Key, typename _Val, typename _KeyOfValue,
24145            typename _Compare, typename _Alloc>
24146     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
24147     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24148     lower_bound(const _Key& __k)
24149     {
24150       _Link_type __x = _M_begin();
24151       _Link_type __y = _M_end();
24152
24153       while (__x != 0)
24154  if (!_M_impl._M_key_compare(_S_key(__x), __k))
24155    __y = __x, __x = _S_left(__x);
24156  else
24157    __x = _S_right(__x);
24158
24159       return iterator(__y);
24160     }
24161
24162   template<typename _Key, typename _Val, typename _KeyOfValue,
24163            typename _Compare, typename _Alloc>
24164     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
24165     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24166     lower_bound(const _Key& __k) const
24167     {
24168       _Const_Link_type __x = _M_begin();
24169       _Const_Link_type __y = _M_end();
24170
24171       while (__x != 0)
24172  if (!_M_impl._M_key_compare(_S_key(__x), __k))
24173    __y = __x, __x = _S_left(__x);
24174  else
24175    __x = _S_right(__x);
24176
24177       return const_iterator(__y);
24178     }
24179
24180   template<typename _Key, typename _Val, typename _KeyOfValue,
24181            typename _Compare, typename _Alloc>
24182     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
24183     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24184     upper_bound(const _Key& __k)
24185     {
24186       _Link_type __x = _M_begin();
24187       _Link_type __y = _M_end();
24188
24189       while (__x != 0)
24190  if (_M_impl._M_key_compare(__k, _S_key(__x)))
24191    __y = __x, __x = _S_left(__x);
24192  else
24193    __x = _S_right(__x);
24194
24195       return iterator(__y);
24196     }
24197
24198   template<typename _Key, typename _Val, typename _KeyOfValue,
24199            typename _Compare, typename _Alloc>
24200     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
24201     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24202     upper_bound(const _Key& __k) const
24203     {
24204       _Const_Link_type __x = _M_begin();
24205       _Const_Link_type __y = _M_end();
24206
24207       while (__x != 0)
24208  if (_M_impl._M_key_compare(__k, _S_key(__x)))
24209    __y = __x, __x = _S_left(__x);
24210  else
24211    __x = _S_right(__x);
24212
24213       return const_iterator(__y);
24214     }
24215
24216   template<typename _Key, typename _Val, typename _KeyOfValue,
24217            typename _Compare, typename _Alloc>
24218     inline
24219     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
24220       _Compare, _Alloc>::iterator,
24221   typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator>
24222     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
24223     equal_range(const _Key& __k)
24224     { return pair<iterator, iterator>(lower_bound(__k), upper_bound(__k)); }
24225
24226   template<typename _Key, typename _Val, typename _KoV,
24227            typename _Compare, typename _Alloc>
24228     inline
24229     pair<typename _Rb_tree<_Key, _Val, _KoV,
24230       _Compare, _Alloc>::const_iterator,
24231   typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::const_iterator>
24232     _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::
24233     equal_range(const _Key& __k) const
24234     { return pair<const_iterator, const_iterator>(lower_bound(__k),
24235         upper_bound(__k)); }
24236
24237   unsigned int
24238   _Rb_tree_black_count(const _Rb_tree_node_base* __node,
24239                        const _Rb_tree_node_base* __root);
24240
24241   template<typename _Key, typename _Val, typename _KeyOfValue,
24242            typename _Compare, typename _Alloc>
24243     bool
24244     _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const
24245     {
24246       if (_M_impl._M_node_count == 0 || begin() == end())
24247  return _M_impl._M_node_count == 0 && begin() == end()
24248         && this->_M_impl._M_header._M_left == _M_end()
24249         && this->_M_impl._M_header._M_right == _M_end();
24250
24251       unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root());
24252       for (const_iterator __it = begin(); __it != end(); ++__it)
24253  {
24254    _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node);
24255    _Const_Link_type __L = _S_left(__x);
24256    _Const_Link_type __R = _S_right(__x);
24257
24258    if (__x->_M_color == _S_red)
24259      if ((__L && __L->_M_color == _S_red)
24260   || (__R && __R->_M_color == _S_red))
24261        return false;
24262
24263    if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L)))
24264      return false;
24265    if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x)))
24266      return false;
24267
24268    if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len)
24269      return false;
24270  }
24271
24272       if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root()))
24273  return false;
24274       if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root()))
24275  return false;
24276       return true;
24277     }
24278 }
24279 # 67 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/map" 2 3
24280 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 1 3
24281 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24282 #define _MAP_H 1
24283
24284
24285
24286
24287 namespace std
24288 {
24289 # 90 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24290   template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
24291             typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
24292     class map
24293     {
24294     public:
24295       typedef _Key key_type;
24296       typedef _Tp mapped_type;
24297       typedef std::pair<const _Key, _Tp> value_type;
24298       typedef _Compare key_compare;
24299       typedef _Alloc allocator_type;
24300
24301     private:
24302
24303       typedef typename _Alloc::value_type _Alloc_value_type;
24304      
24305      
24306
24307      
24308
24309     public:
24310       class value_compare
24311       : public std::binary_function<value_type, value_type, bool>
24312       {
24313  friend class map<_Key, _Tp, _Compare, _Alloc>;
24314       protected:
24315  _Compare comp;
24316
24317  value_compare(_Compare __c)
24318  : comp(__c) { }
24319
24320       public:
24321  bool operator()(const value_type& __x, const value_type& __y) const
24322  { return comp(__x.first, __y.first); }
24323       };
24324
24325     private:
24326
24327       typedef typename _Alloc::template rebind<value_type>::other
24328         _Pair_alloc_type;
24329
24330       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
24331          key_compare, _Pair_alloc_type> _Rep_type;
24332
24333
24334       _Rep_type _M_t;
24335
24336     public:
24337
24338
24339       typedef typename _Pair_alloc_type::pointer pointer;
24340       typedef typename _Pair_alloc_type::const_pointer const_pointer;
24341       typedef typename _Pair_alloc_type::reference reference;
24342       typedef typename _Pair_alloc_type::const_reference const_reference;
24343       typedef typename _Rep_type::iterator iterator;
24344       typedef typename _Rep_type::const_iterator const_iterator;
24345       typedef typename _Rep_type::size_type size_type;
24346       typedef typename _Rep_type::difference_type difference_type;
24347       typedef typename _Rep_type::reverse_iterator reverse_iterator;
24348       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
24349
24350
24351
24352
24353
24354
24355
24356       map()
24357       : _M_t(_Compare(), allocator_type()) { }
24358
24359
24360
24361
24362
24363       explicit
24364       map(const _Compare& __comp, const allocator_type& __a = allocator_type())
24365       : _M_t(__comp, __a) { }
24366 # 174 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24367       map(const map& __x)
24368       : _M_t(__x._M_t) { }
24369 # 186 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24370       template <typename _InputIterator>
24371         map(_InputIterator __first, _InputIterator __last)
24372  : _M_t(_Compare(), allocator_type())
24373         { _M_t.insert_unique(__first, __last); }
24374 # 202 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24375       template <typename _InputIterator>
24376         map(_InputIterator __first, _InputIterator __last,
24377      const _Compare& __comp, const allocator_type& __a = allocator_type())
24378  : _M_t(__comp, __a)
24379         { _M_t.insert_unique(__first, __last); }
24380 # 224 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24381       map&
24382       operator=(const map& __x)
24383       {
24384  _M_t = __x._M_t;
24385  return *this;
24386       }
24387
24388
24389       allocator_type
24390       get_allocator() const
24391       { return _M_t.get_allocator(); }
24392
24393
24394
24395
24396
24397
24398
24399       iterator
24400       begin()
24401       { return _M_t.begin(); }
24402
24403
24404
24405
24406
24407
24408       const_iterator
24409       begin() const
24410       { return _M_t.begin(); }
24411
24412
24413
24414
24415
24416       iterator
24417       end()
24418       { return _M_t.end(); }
24419
24420
24421
24422
24423
24424
24425       const_iterator
24426       end() const
24427       { return _M_t.end(); }
24428
24429
24430
24431
24432
24433
24434       reverse_iterator
24435       rbegin()
24436       { return _M_t.rbegin(); }
24437
24438
24439
24440
24441
24442
24443       const_reverse_iterator
24444       rbegin() const
24445       { return _M_t.rbegin(); }
24446
24447
24448
24449
24450
24451
24452       reverse_iterator
24453       rend()
24454       { return _M_t.rend(); }
24455
24456
24457
24458
24459
24460
24461       const_reverse_iterator
24462       rend() const
24463       { return _M_t.rend(); }
24464
24465
24466
24467
24468
24469       bool
24470       empty() const
24471       { return _M_t.empty(); }
24472
24473
24474       size_type
24475       size() const
24476       { return _M_t.size(); }
24477
24478
24479       size_type
24480       max_size() const
24481       { return _M_t.max_size(); }
24482 # 339 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24483       mapped_type&
24484       operator[](const key_type& __k)
24485       {
24486
24487
24488
24489  iterator __i = lower_bound(__k);
24490
24491  if (__i == end() || key_comp()(__k, (*__i).first))
24492           __i = insert(__i, value_type(__k, mapped_type()));
24493  return (*__i).second;
24494       }
24495 # 361 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24496       mapped_type&
24497       at(const key_type& __k)
24498       {
24499  iterator __i = lower_bound(__k);
24500  if (__i == end() || key_comp()(__k, (*__i).first))
24501    __throw_out_of_range(("map::at"));
24502  return (*__i).second;
24503       }
24504
24505       const mapped_type&
24506       at(const key_type& __k) const
24507       {
24508  const_iterator __i = lower_bound(__k);
24509  if (__i == end() || key_comp()(__k, (*__i).first))
24510    __throw_out_of_range(("map::at"));
24511  return (*__i).second;
24512       }
24513 # 394 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24514       std::pair<iterator,bool>
24515       insert(const value_type& __x)
24516       { return _M_t.insert_unique(__x); }
24517 # 418 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24518       iterator
24519       insert(iterator position, const value_type& __x)
24520       { return _M_t.insert_unique(position, __x); }
24521 # 430 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24522       template <typename _InputIterator>
24523         void
24524         insert(_InputIterator __first, _InputIterator __last)
24525         { _M_t.insert_unique(__first, __last); }
24526 # 444 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24527       void
24528       erase(iterator __position)
24529       { _M_t.erase(__position); }
24530 # 459 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24531       size_type
24532       erase(const key_type& __x)
24533       { return _M_t.erase(__x); }
24534 # 474 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24535       void
24536       erase(iterator __first, iterator __last)
24537       { _M_t.erase(__first, __last); }
24538 # 489 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24539       void
24540       swap(map& __x)
24541       { _M_t.swap(__x._M_t); }
24542
24543
24544
24545
24546
24547
24548
24549       void
24550       clear()
24551       { _M_t.clear(); }
24552
24553
24554
24555
24556
24557
24558       key_compare
24559       key_comp() const
24560       { return _M_t.key_comp(); }
24561
24562
24563
24564
24565
24566       value_compare
24567       value_comp() const
24568       { return value_compare(_M_t.key_comp()); }
24569 # 532 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24570       iterator
24571       find(const key_type& __x)
24572       { return _M_t.find(__x); }
24573 # 547 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24574       const_iterator
24575       find(const key_type& __x) const
24576       { return _M_t.find(__x); }
24577 # 559 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24578       size_type
24579       count(const key_type& __x) const
24580       { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
24581 # 574 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24582       iterator
24583       lower_bound(const key_type& __x)
24584       { return _M_t.lower_bound(__x); }
24585 # 589 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24586       const_iterator
24587       lower_bound(const key_type& __x) const
24588       { return _M_t.lower_bound(__x); }
24589
24590
24591
24592
24593
24594
24595
24596       iterator
24597       upper_bound(const key_type& __x)
24598       { return _M_t.upper_bound(__x); }
24599
24600
24601
24602
24603
24604
24605
24606       const_iterator
24607       upper_bound(const key_type& __x) const
24608       { return _M_t.upper_bound(__x); }
24609 # 628 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24610       std::pair<iterator, iterator>
24611       equal_range(const key_type& __x)
24612       { return _M_t.equal_range(__x); }
24613 # 647 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24614       std::pair<const_iterator, const_iterator>
24615       equal_range(const key_type& __x) const
24616       { return _M_t.equal_range(__x); }
24617
24618       template <typename _K1, typename _T1, typename _C1, typename _A1>
24619         friend bool
24620         operator== (const map<_K1, _T1, _C1, _A1>&,
24621       const map<_K1, _T1, _C1, _A1>&);
24622
24623       template <typename _K1, typename _T1, typename _C1, typename _A1>
24624         friend bool
24625         operator< (const map<_K1, _T1, _C1, _A1>&,
24626      const map<_K1, _T1, _C1, _A1>&);
24627     };
24628 # 672 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24629   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
24630     inline bool
24631     operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
24632                const map<_Key, _Tp, _Compare, _Alloc>& __y)
24633     { return __x._M_t == __y._M_t; }
24634 # 689 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h" 3
24635   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
24636     inline bool
24637     operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
24638               const map<_Key, _Tp, _Compare, _Alloc>& __y)
24639     { return __x._M_t < __y._M_t; }
24640
24641
24642   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
24643     inline bool
24644     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
24645                const map<_Key, _Tp, _Compare, _Alloc>& __y)
24646     { return !(__x == __y); }
24647
24648
24649   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
24650     inline bool
24651     operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x,
24652               const map<_Key, _Tp, _Compare, _Alloc>& __y)
24653     { return __y < __x; }
24654
24655
24656   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
24657     inline bool
24658     operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
24659                const map<_Key, _Tp, _Compare, _Alloc>& __y)
24660     { return !(__y < __x); }
24661
24662
24663   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
24664     inline bool
24665     operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
24666                const map<_Key, _Tp, _Compare, _Alloc>& __y)
24667     { return !(__x < __y); }
24668
24669
24670   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
24671     inline void
24672     swap(map<_Key, _Tp, _Compare, _Alloc>& __x,
24673   map<_Key, _Tp, _Compare, _Alloc>& __y)
24674     { __x.swap(__y); }
24675 }
24676 # 68 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/map" 2 3
24677 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 1 3
24678 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24679 #define _MULTIMAP_H 1
24680
24681
24682
24683 namespace std
24684 {
24685
24686
24687   template <typename _Key, typename _Tp,
24688             typename _Compare = std::less<_Key>,
24689             typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
24690     class multimap;
24691
24692   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
24693     inline bool
24694     operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
24695         const multimap<_Key, _Tp, _Compare, _Alloc>& __y);
24696
24697   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
24698     inline bool
24699     operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
24700        const multimap<_Key, _Tp, _Compare, _Alloc>& __y);
24701 # 106 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24702   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
24703     class multimap
24704     {
24705     public:
24706       typedef _Key key_type;
24707       typedef _Tp mapped_type;
24708       typedef std::pair<const _Key, _Tp> value_type;
24709       typedef _Compare key_compare;
24710       typedef _Alloc allocator_type;
24711
24712     private:
24713
24714       typedef typename _Alloc::value_type _Alloc_value_type;
24715      
24716      
24717
24718      
24719
24720     public:
24721       class value_compare
24722       : public std::binary_function<value_type, value_type, bool>
24723       {
24724  friend class multimap<_Key, _Tp, _Compare, _Alloc>;
24725       protected:
24726  _Compare comp;
24727
24728  value_compare(_Compare __c)
24729  : comp(__c) { }
24730
24731       public:
24732  bool operator()(const value_type& __x, const value_type& __y) const
24733  { return comp(__x.first, __y.first); }
24734       };
24735
24736     private:
24737
24738       typedef typename _Alloc::template rebind<value_type>::other
24739         _Pair_alloc_type;
24740
24741       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
24742          key_compare, _Pair_alloc_type> _Rep_type;
24743
24744       _Rep_type _M_t;
24745
24746     public:
24747
24748
24749       typedef typename _Pair_alloc_type::pointer pointer;
24750       typedef typename _Pair_alloc_type::const_pointer const_pointer;
24751       typedef typename _Pair_alloc_type::reference reference;
24752       typedef typename _Pair_alloc_type::const_reference const_reference;
24753       typedef typename _Rep_type::iterator iterator;
24754       typedef typename _Rep_type::const_iterator const_iterator;
24755       typedef typename _Rep_type::size_type size_type;
24756       typedef typename _Rep_type::difference_type difference_type;
24757       typedef typename _Rep_type::reverse_iterator reverse_iterator;
24758       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
24759
24760
24761
24762
24763
24764
24765       multimap()
24766       : _M_t(_Compare(), allocator_type()) { }
24767
24768
24769
24770
24771
24772       explicit
24773       multimap(const _Compare& __comp,
24774         const allocator_type& __a = allocator_type())
24775       : _M_t(__comp, __a) { }
24776 # 188 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24777       multimap(const multimap& __x)
24778       : _M_t(__x._M_t) { }
24779 # 200 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24780       template <typename _InputIterator>
24781         multimap(_InputIterator __first, _InputIterator __last)
24782  : _M_t(_Compare(), allocator_type())
24783         { _M_t.insert_equal(__first, __last); }
24784 # 216 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24785       template <typename _InputIterator>
24786         multimap(_InputIterator __first, _InputIterator __last,
24787    const _Compare& __comp,
24788    const allocator_type& __a = allocator_type())
24789         : _M_t(__comp, __a)
24790         { _M_t.insert_equal(__first, __last); }
24791 # 239 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24792       multimap&
24793       operator=(const multimap& __x)
24794       {
24795  _M_t = __x._M_t;
24796  return *this;
24797       }
24798
24799
24800       allocator_type
24801       get_allocator() const
24802       { return _M_t.get_allocator(); }
24803
24804
24805
24806
24807
24808
24809
24810       iterator
24811       begin()
24812       { return _M_t.begin(); }
24813
24814
24815
24816
24817
24818
24819       const_iterator
24820       begin() const
24821       { return _M_t.begin(); }
24822
24823
24824
24825
24826
24827
24828       iterator
24829       end()
24830       { return _M_t.end(); }
24831
24832
24833
24834
24835
24836
24837       const_iterator
24838       end() const
24839       { return _M_t.end(); }
24840
24841
24842
24843
24844
24845
24846       reverse_iterator
24847       rbegin()
24848       { return _M_t.rbegin(); }
24849
24850
24851
24852
24853
24854
24855       const_reverse_iterator
24856       rbegin() const
24857       { return _M_t.rbegin(); }
24858
24859
24860
24861
24862
24863
24864       reverse_iterator
24865       rend()
24866       { return _M_t.rend(); }
24867
24868
24869
24870
24871
24872
24873       const_reverse_iterator
24874       rend() const
24875       { return _M_t.rend(); }
24876
24877
24878
24879       bool
24880       empty() const
24881       { return _M_t.empty(); }
24882
24883
24884       size_type
24885       size() const
24886       { return _M_t.size(); }
24887
24888
24889       size_type
24890       max_size() const
24891       { return _M_t.max_size(); }
24892 # 353 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24893       iterator
24894       insert(const value_type& __x)
24895       { return _M_t.insert_equal(__x); }
24896 # 377 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24897       iterator
24898       insert(iterator __position, const value_type& __x)
24899       { return _M_t.insert_equal(__position, __x); }
24900 # 389 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24901       template <typename _InputIterator>
24902         void
24903         insert(_InputIterator __first, _InputIterator __last)
24904         { _M_t.insert_equal(__first, __last); }
24905 # 404 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24906       void
24907       erase(iterator __position)
24908       { _M_t.erase(__position); }
24909 # 419 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24910       size_type
24911       erase(const key_type& __x)
24912       { return _M_t.erase(__x); }
24913 # 434 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24914       void
24915       erase(iterator __first, iterator __last)
24916       { _M_t.erase(__first, __last); }
24917 # 449 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24918       void
24919       swap(multimap& __x)
24920       { _M_t.swap(__x._M_t); }
24921
24922
24923
24924
24925
24926
24927
24928       void
24929       clear()
24930       { _M_t.clear(); }
24931
24932
24933
24934
24935
24936
24937       key_compare
24938       key_comp() const
24939       { return _M_t.key_comp(); }
24940
24941
24942
24943
24944
24945       value_compare
24946       value_comp() const
24947       { return value_compare(_M_t.key_comp()); }
24948 # 492 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24949       iterator
24950       find(const key_type& __x)
24951       { return _M_t.find(__x); }
24952 # 507 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24953       const_iterator
24954       find(const key_type& __x) const
24955       { return _M_t.find(__x); }
24956
24957
24958
24959
24960
24961
24962       size_type
24963       count(const key_type& __x) const
24964       { return _M_t.count(__x); }
24965 # 531 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24966       iterator
24967       lower_bound(const key_type& __x)
24968       { return _M_t.lower_bound(__x); }
24969 # 546 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24970       const_iterator
24971       lower_bound(const key_type& __x) const
24972       { return _M_t.lower_bound(__x); }
24973
24974
24975
24976
24977
24978
24979
24980       iterator
24981       upper_bound(const key_type& __x)
24982       { return _M_t.upper_bound(__x); }
24983
24984
24985
24986
24987
24988
24989
24990       const_iterator
24991       upper_bound(const key_type& __x) const
24992       { return _M_t.upper_bound(__x); }
24993 # 583 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24994       std::pair<iterator, iterator>
24995       equal_range(const key_type& __x)
24996       { return _M_t.equal_range(__x); }
24997 # 600 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
24998       std::pair<const_iterator, const_iterator>
24999       equal_range(const key_type& __x) const
25000       { return _M_t.equal_range(__x); }
25001
25002       template <typename _K1, typename _T1, typename _C1, typename _A1>
25003         friend bool
25004         operator== (const multimap<_K1, _T1, _C1, _A1>&,
25005       const multimap<_K1, _T1, _C1, _A1>&);
25006
25007       template <typename _K1, typename _T1, typename _C1, typename _A1>
25008         friend bool
25009         operator< (const multimap<_K1, _T1, _C1, _A1>&,
25010      const multimap<_K1, _T1, _C1, _A1>&);
25011   };
25012 # 625 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
25013   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
25014     inline bool
25015     operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
25016                const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
25017     { return __x._M_t == __y._M_t; }
25018 # 642 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h" 3
25019   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
25020     inline bool
25021     operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
25022               const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
25023     { return __x._M_t < __y._M_t; }
25024
25025
25026   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
25027     inline bool
25028     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
25029                const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
25030     { return !(__x == __y); }
25031
25032
25033   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
25034     inline bool
25035     operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
25036               const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
25037     { return __y < __x; }
25038
25039
25040   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
25041     inline bool
25042     operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
25043                const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
25044     { return !(__y < __x); }
25045
25046
25047   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
25048     inline bool
25049     operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
25050                const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
25051     { return !(__x < __y); }
25052
25053
25054   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
25055     inline void
25056     swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x,
25057          multimap<_Key, _Tp, _Compare, _Alloc>& __y)
25058     { __x.swap(__y); }
25059 }
25060 # 69 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/map" 2 3
25061
25062
25063
25064
25065
25066 #pragma GCC visibility pop
25067 # 75 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
25068 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/vector" 1 3
25069 # 61 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/vector" 3
25070 #define _GLIBCXX_VECTOR 1
25071
25072        
25073 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/vector" 3
25074 #pragma GCC visibility push(default)
25075
25076
25077
25078
25079
25080
25081 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 1 3
25082 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25083 #define _VECTOR_H 1
25084
25085
25086
25087
25088
25089 namespace std
25090 {
25091
25092
25093
25094
25095
25096   template<typename _Tp, typename _Alloc>
25097     struct _Vector_base
25098     {
25099       typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
25100
25101       struct _Vector_impl
25102       : public _Tp_alloc_type
25103       {
25104  _Tp* _M_start;
25105  _Tp* _M_finish;
25106  _Tp* _M_end_of_storage;
25107  _Vector_impl(_Tp_alloc_type const& __a)
25108  : _Tp_alloc_type(__a), _M_start(0), _M_finish(0), _M_end_of_storage(0)
25109  { }
25110       };
25111
25112     public:
25113       typedef _Alloc allocator_type;
25114
25115       _Tp_alloc_type&
25116       _M_get_Tp_allocator()
25117       { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); }
25118
25119       const _Tp_alloc_type&
25120       _M_get_Tp_allocator() const
25121       { return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); }
25122
25123       allocator_type
25124       get_allocator() const
25125       { return _M_get_Tp_allocator(); }
25126
25127       _Vector_base(const allocator_type& __a)
25128       : _M_impl(__a)
25129       { }
25130
25131       _Vector_base(size_t __n, const allocator_type& __a)
25132       : _M_impl(__a)
25133       {
25134  this->_M_impl._M_start = this->_M_allocate(__n);
25135  this->_M_impl._M_finish = this->_M_impl._M_start;
25136  this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
25137       }
25138
25139       ~_Vector_base()
25140       { _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage
25141         - this->_M_impl._M_start); }
25142
25143     public:
25144       _Vector_impl _M_impl;
25145
25146       _Tp*
25147       _M_allocate(size_t __n)
25148       { return _M_impl.allocate(__n); }
25149
25150       void
25151       _M_deallocate(_Tp* __p, size_t __n)
25152       {
25153  if (__p)
25154    _M_impl.deallocate(__p, __n);
25155       }
25156     };
25157 # 157 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25158   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
25159     class vector : protected _Vector_base<_Tp, _Alloc>
25160     {
25161
25162       typedef typename _Alloc::value_type _Alloc_value_type;
25163      
25164      
25165
25166       typedef _Vector_base<_Tp, _Alloc> _Base;
25167       typedef vector<_Tp, _Alloc> vector_type;
25168       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
25169
25170     public:
25171       typedef _Tp value_type;
25172       typedef typename _Tp_alloc_type::pointer pointer;
25173       typedef typename _Tp_alloc_type::const_pointer const_pointer;
25174       typedef typename _Tp_alloc_type::reference reference;
25175       typedef typename _Tp_alloc_type::const_reference const_reference;
25176       typedef __gnu_cxx::__normal_iterator<pointer, vector_type> iterator;
25177       typedef __gnu_cxx::__normal_iterator<const_pointer, vector_type>
25178       const_iterator;
25179       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
25180       typedef std::reverse_iterator<iterator> reverse_iterator;
25181       typedef size_t size_type;
25182       typedef ptrdiff_t difference_type;
25183       typedef _Alloc allocator_type;
25184
25185     protected:
25186
25187
25188
25189
25190
25191       using _Base::_M_allocate;
25192       using _Base::_M_deallocate;
25193       using _Base::_M_impl;
25194       using _Base::_M_get_Tp_allocator;
25195
25196     public:
25197
25198
25199
25200
25201
25202       explicit
25203       vector(const allocator_type& __a = allocator_type())
25204       : _Base(__a)
25205       { }
25206 # 213 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25207       explicit
25208       vector(size_type __n, const value_type& __value = value_type(),
25209       const allocator_type& __a = allocator_type())
25210       : _Base(__n, __a)
25211       {
25212  std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value,
25213           _M_get_Tp_allocator());
25214  this->_M_impl._M_finish = this->_M_impl._M_start + __n;
25215       }
25216 # 232 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25217       vector(const vector& __x)
25218       : _Base(__x.size(), __x.get_allocator())
25219       { this->_M_impl._M_finish =
25220    std::__uninitialized_copy_a(__x.begin(), __x.end(),
25221           this->_M_impl._M_start,
25222           _M_get_Tp_allocator());
25223       }
25224 # 255 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25225       template<typename _InputIterator>
25226         vector(_InputIterator __first, _InputIterator __last,
25227         const allocator_type& __a = allocator_type())
25228  : _Base(__a)
25229         {
25230
25231    typedef typename std::__is_integer<_InputIterator>::__type _Integral;
25232    _M_initialize_dispatch(__first, __last, _Integral());
25233  }
25234
25235
25236
25237
25238
25239
25240
25241       ~vector()
25242       { std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
25243         _M_get_Tp_allocator());
25244       }
25245 # 284 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25246       vector&
25247       operator=(const vector& __x);
25248 # 297 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25249       void
25250       assign(size_type __n, const value_type& __val)
25251       { _M_fill_assign(__n, __val); }
25252 # 313 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25253       template<typename _InputIterator>
25254         void
25255         assign(_InputIterator __first, _InputIterator __last)
25256         {
25257
25258    typedef typename std::__is_integer<_InputIterator>::__type _Integral;
25259    _M_assign_dispatch(__first, __last, _Integral());
25260  }
25261
25262
25263       using _Base::get_allocator;
25264
25265
25266
25267
25268
25269
25270
25271       iterator
25272       begin()
25273       { return iterator (this->_M_impl._M_start); }
25274
25275
25276
25277
25278
25279
25280       const_iterator
25281       begin() const
25282       { return const_iterator (this->_M_impl._M_start); }
25283
25284
25285
25286
25287
25288
25289       iterator
25290       end()
25291       { return iterator (this->_M_impl._M_finish); }
25292
25293
25294
25295
25296
25297
25298       const_iterator
25299       end() const
25300       { return const_iterator (this->_M_impl._M_finish); }
25301
25302
25303
25304
25305
25306
25307       reverse_iterator
25308       rbegin()
25309       { return reverse_iterator(end()); }
25310
25311
25312
25313
25314
25315
25316       const_reverse_iterator
25317       rbegin() const
25318       { return const_reverse_iterator(end()); }
25319
25320
25321
25322
25323
25324
25325       reverse_iterator
25326       rend()
25327       { return reverse_iterator(begin()); }
25328
25329
25330
25331
25332
25333
25334       const_reverse_iterator
25335       rend() const
25336       { return const_reverse_iterator(begin()); }
25337
25338
25339
25340       size_type
25341       size() const
25342       { return size_type(end() - begin()); }
25343
25344
25345       size_type
25346       max_size() const
25347       { return size_type(-1) / sizeof(value_type); }
25348 # 420 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25349       void
25350       resize(size_type __new_size, value_type __x = value_type())
25351       {
25352  if (__new_size < size())
25353    erase(begin() + __new_size, end());
25354  else
25355    insert(end(), __new_size - size(), __x);
25356       }
25357
25358
25359
25360
25361
25362       size_type
25363       capacity() const
25364       { return size_type(const_iterator(this->_M_impl._M_end_of_storage)
25365     - begin()); }
25366
25367
25368
25369
25370
25371       bool
25372       empty() const
25373       { return begin() == end(); }
25374 # 463 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25375       void
25376       reserve(size_type __n);
25377 # 478 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25378       reference
25379       operator[](size_type __n)
25380       { return *(begin() + __n); }
25381 # 493 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25382       const_reference
25383       operator[](size_type __n) const
25384       { return *(begin() + __n); }
25385
25386     protected:
25387
25388       void
25389       _M_range_check(size_type __n) const
25390       {
25391  if (__n >= this->size())
25392    __throw_out_of_range(("vector::_M_range_check"));
25393       }
25394
25395     public:
25396 # 518 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25397       reference
25398       at(size_type __n)
25399       {
25400  _M_range_check(__n);
25401  return (*this)[__n];
25402       }
25403 # 536 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25404       const_reference
25405       at(size_type __n) const
25406       {
25407  _M_range_check(__n);
25408  return (*this)[__n];
25409       }
25410
25411
25412
25413
25414
25415       reference
25416       front()
25417       { return *begin(); }
25418
25419
25420
25421
25422
25423       const_reference
25424       front() const
25425       { return *begin(); }
25426
25427
25428
25429
25430
25431       reference
25432       back()
25433       { return *(end() - 1); }
25434
25435
25436
25437
25438
25439       const_reference
25440       back() const
25441       { return *(end() - 1); }
25442 # 582 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25443       pointer
25444       data()
25445       { return pointer(this->_M_impl._M_start); }
25446
25447       const_pointer
25448       data() const
25449       { return const_pointer(this->_M_impl._M_start); }
25450 # 601 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25451       void
25452       push_back(const value_type& __x)
25453       {
25454  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
25455    {
25456      this->_M_impl.construct(this->_M_impl._M_finish, __x);
25457      ++this->_M_impl._M_finish;
25458    }
25459  else
25460    _M_insert_aux(end(), __x);
25461       }
25462 # 622 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25463       void
25464       pop_back()
25465       {
25466  --this->_M_impl._M_finish;
25467  this->_M_impl.destroy(this->_M_impl._M_finish);
25468       }
25469 # 640 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25470       iterator
25471       insert(iterator __position, const value_type& __x);
25472 # 656 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25473       void
25474       insert(iterator __position, size_type __n, const value_type& __x)
25475       { _M_fill_insert(__position, __n, __x); }
25476 # 674 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25477       template<typename _InputIterator>
25478         void
25479         insert(iterator __position, _InputIterator __first,
25480         _InputIterator __last)
25481         {
25482
25483    typedef typename std::__is_integer<_InputIterator>::__type _Integral;
25484    _M_insert_dispatch(__position, __first, __last, _Integral());
25485  }
25486 # 699 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25487       iterator
25488       erase(iterator __position);
25489 # 720 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25490       iterator
25491       erase(iterator __first, iterator __last);
25492 # 732 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25493       void
25494       swap(vector& __x)
25495       {
25496  std::swap(this->_M_impl._M_start, __x._M_impl._M_start);
25497  std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish);
25498  std::swap(this->_M_impl._M_end_of_storage,
25499     __x._M_impl._M_end_of_storage);
25500       }
25501
25502
25503
25504
25505
25506
25507
25508       void
25509       clear()
25510       {
25511  std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
25512         _M_get_Tp_allocator());
25513  this->_M_impl._M_finish = this->_M_impl._M_start;
25514       }
25515
25516     protected:
25517
25518
25519
25520
25521
25522
25523       template<typename _ForwardIterator>
25524         pointer
25525         _M_allocate_and_copy(size_type __n,
25526         _ForwardIterator __first, _ForwardIterator __last)
25527         {
25528    pointer __result = this->_M_allocate(__n);
25529    try
25530      {
25531        std::__uninitialized_copy_a(__first, __last, __result,
25532        _M_get_Tp_allocator());
25533        return __result;
25534      }
25535    catch(...)
25536      {
25537        _M_deallocate(__result, __n);
25538        throw;
25539      }
25540  }
25541
25542
25543
25544
25545
25546       template<typename _Integer>
25547         void
25548         _M_initialize_dispatch(_Integer __n, _Integer __value, __true_type)
25549         {
25550    this->_M_impl._M_start = _M_allocate(__n);
25551    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
25552    std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value,
25553      _M_get_Tp_allocator());
25554    this->_M_impl._M_finish = this->_M_impl._M_end_of_storage;
25555  }
25556
25557
25558       template<typename _InputIterator>
25559         void
25560         _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
25561           __false_type)
25562         {
25563    typedef typename std::iterator_traits<_InputIterator>::
25564      iterator_category _IterCategory;
25565    _M_range_initialize(__first, __last, _IterCategory());
25566  }
25567
25568
25569       template<typename _InputIterator>
25570         void
25571         _M_range_initialize(_InputIterator __first,
25572        _InputIterator __last, std::input_iterator_tag)
25573         {
25574    for (; __first != __last; ++__first)
25575      push_back(*__first);
25576  }
25577
25578
25579       template<typename _ForwardIterator>
25580         void
25581         _M_range_initialize(_ForwardIterator __first,
25582        _ForwardIterator __last, std::forward_iterator_tag)
25583         {
25584    const size_type __n = std::distance(__first, __last);
25585    this->_M_impl._M_start = this->_M_allocate(__n);
25586    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
25587    this->_M_impl._M_finish =
25588      std::__uninitialized_copy_a(__first, __last,
25589      this->_M_impl._M_start,
25590      _M_get_Tp_allocator());
25591  }
25592
25593
25594
25595
25596
25597
25598       template<typename _Integer>
25599         void
25600         _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
25601         {
25602    _M_fill_assign(static_cast<size_type>(__n),
25603     static_cast<value_type>(__val));
25604  }
25605
25606
25607       template<typename _InputIterator>
25608         void
25609         _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
25610       __false_type)
25611         {
25612    typedef typename std::iterator_traits<_InputIterator>::
25613      iterator_category _IterCategory;
25614    _M_assign_aux(__first, __last, _IterCategory());
25615  }
25616
25617
25618       template<typename _InputIterator>
25619         void
25620         _M_assign_aux(_InputIterator __first, _InputIterator __last,
25621         std::input_iterator_tag);
25622
25623
25624       template<typename _ForwardIterator>
25625         void
25626         _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
25627         std::forward_iterator_tag);
25628
25629
25630
25631       void
25632       _M_fill_assign(size_type __n, const value_type& __val);
25633
25634
25635
25636
25637
25638       template<typename _Integer>
25639         void
25640         _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val,
25641       __true_type)
25642         {
25643    _M_fill_insert(__pos, static_cast<size_type>(__n),
25644     static_cast<value_type>(__val));
25645  }
25646
25647
25648       template<typename _InputIterator>
25649         void
25650         _M_insert_dispatch(iterator __pos, _InputIterator __first,
25651       _InputIterator __last, __false_type)
25652         {
25653    typedef typename std::iterator_traits<_InputIterator>::
25654      iterator_category _IterCategory;
25655    _M_range_insert(__pos, __first, __last, _IterCategory());
25656  }
25657
25658
25659       template<typename _InputIterator>
25660         void
25661         _M_range_insert(iterator __pos, _InputIterator __first,
25662    _InputIterator __last, std::input_iterator_tag);
25663
25664
25665       template<typename _ForwardIterator>
25666         void
25667         _M_range_insert(iterator __pos, _ForwardIterator __first,
25668    _ForwardIterator __last, std::forward_iterator_tag);
25669
25670
25671
25672       void
25673       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
25674
25675
25676       void
25677       _M_insert_aux(iterator __position, const value_type& __x);
25678     };
25679 # 930 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25680   template<typename _Tp, typename _Alloc>
25681     inline bool
25682     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
25683     { return (__x.size() == __y.size()
25684        && std::equal(__x.begin(), __x.end(), __y.begin())); }
25685 # 947 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h" 3
25686   template<typename _Tp, typename _Alloc>
25687     inline bool
25688     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
25689     { return std::lexicographical_compare(__x.begin(), __x.end(),
25690        __y.begin(), __y.end()); }
25691
25692
25693   template<typename _Tp, typename _Alloc>
25694     inline bool
25695     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
25696     { return !(__x == __y); }
25697
25698
25699   template<typename _Tp, typename _Alloc>
25700     inline bool
25701     operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
25702     { return __y < __x; }
25703
25704
25705   template<typename _Tp, typename _Alloc>
25706     inline bool
25707     operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
25708     { return !(__y < __x); }
25709
25710
25711   template<typename _Tp, typename _Alloc>
25712     inline bool
25713     operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
25714     { return !(__x < __y); }
25715
25716
25717   template<typename _Tp, typename _Alloc>
25718     inline void
25719     swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
25720     { __x.swap(__y); }
25721 }
25722 # 72 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/vector" 2 3
25723 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_bvector.h" 1 3
25724 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_bvector.h" 3
25725 #define _BVECTOR_H 1
25726
25727 namespace std
25728 {
25729   typedef unsigned long _Bit_type;
25730   enum { _S_word_bit = int(8 * sizeof(_Bit_type)) };
25731
25732   struct _Bit_reference
25733   {
25734     _Bit_type * _M_p;
25735     _Bit_type _M_mask;
25736
25737     _Bit_reference(_Bit_type * __x, _Bit_type __y)
25738     : _M_p(__x), _M_mask(__y) { }
25739
25740     _Bit_reference() : _M_p(0), _M_mask(0) { }
25741
25742     operator bool() const
25743     { return !!(*_M_p & _M_mask); }
25744
25745     _Bit_reference&
25746     operator=(bool __x)
25747     {
25748       if (__x)
25749  *_M_p |= _M_mask;
25750       else
25751  *_M_p &= ~_M_mask;
25752       return *this;
25753     }
25754
25755     _Bit_reference&
25756     operator=(const _Bit_reference& __x)
25757     { return *this = bool(__x); }
25758
25759     bool
25760     operator==(const _Bit_reference& __x) const
25761     { return bool(*this) == bool(__x); }
25762
25763     bool
25764     operator<(const _Bit_reference& __x) const
25765     { return !bool(*this) && bool(__x); }
25766
25767     void
25768     flip()
25769     { *_M_p ^= _M_mask; }
25770   };
25771
25772   struct _Bit_iterator_base
25773   : public std::iterator<std::random_access_iterator_tag, bool>
25774   {
25775     _Bit_type * _M_p;
25776     unsigned int _M_offset;
25777
25778     _Bit_iterator_base(_Bit_type * __x, unsigned int __y)
25779     : _M_p(__x), _M_offset(__y) { }
25780
25781     void
25782     _M_bump_up()
25783     {
25784       if (_M_offset++ == int(_S_word_bit) - 1)
25785  {
25786    _M_offset = 0;
25787    ++_M_p;
25788  }
25789     }
25790
25791     void
25792     _M_bump_down()
25793     {
25794       if (_M_offset-- == 0)
25795  {
25796    _M_offset = int(_S_word_bit) - 1;
25797    --_M_p;
25798  }
25799     }
25800
25801     void
25802     _M_incr(ptrdiff_t __i)
25803     {
25804       difference_type __n = __i + _M_offset;
25805       _M_p += __n / int(_S_word_bit);
25806       __n = __n % int(_S_word_bit);
25807       if (__n < 0)
25808  {
25809    _M_offset = static_cast<unsigned int>(__n + int(_S_word_bit));
25810    --_M_p;
25811  }
25812       else
25813  _M_offset = static_cast<unsigned int>(__n);
25814     }
25815
25816     bool
25817     operator==(const _Bit_iterator_base& __i) const
25818     { return _M_p == __i._M_p && _M_offset == __i._M_offset; }
25819
25820     bool
25821     operator<(const _Bit_iterator_base& __i) const
25822     {
25823       return _M_p < __i._M_p
25824       || (_M_p == __i._M_p && _M_offset < __i._M_offset);
25825     }
25826
25827     bool
25828     operator!=(const _Bit_iterator_base& __i) const
25829     { return !(*this == __i); }
25830
25831     bool
25832     operator>(const _Bit_iterator_base& __i) const
25833     { return __i < *this; }
25834
25835     bool
25836     operator<=(const _Bit_iterator_base& __i) const
25837     { return !(__i < *this); }
25838
25839     bool
25840     operator>=(const _Bit_iterator_base& __i) const
25841     { return !(*this < __i); }
25842   };
25843
25844   inline ptrdiff_t
25845   operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
25846   {
25847     return (int(_S_word_bit) * (__x._M_p - __y._M_p)
25848      + __x._M_offset - __y._M_offset);
25849   }
25850
25851   struct _Bit_iterator : public _Bit_iterator_base
25852   {
25853     typedef _Bit_reference reference;
25854     typedef _Bit_reference* pointer;
25855     typedef _Bit_iterator iterator;
25856
25857     _Bit_iterator() : _Bit_iterator_base(0, 0) { }
25858
25859     _Bit_iterator(_Bit_type * __x, unsigned int __y)
25860     : _Bit_iterator_base(__x, __y) { }
25861
25862     reference
25863     operator*() const
25864     { return reference(_M_p, 1UL << _M_offset); }
25865
25866     iterator&
25867     operator++()
25868     {
25869       _M_bump_up();
25870       return *this;
25871     }
25872
25873     iterator
25874     operator++(int)
25875     {
25876       iterator __tmp = *this;
25877       _M_bump_up();
25878       return __tmp;
25879     }
25880
25881     iterator&
25882     operator--()
25883     {
25884       _M_bump_down();
25885       return *this;
25886     }
25887
25888     iterator
25889     operator--(int)
25890     {
25891       iterator __tmp = *this;
25892       _M_bump_down();
25893       return __tmp;
25894     }
25895
25896     iterator&
25897     operator+=(difference_type __i)
25898     {
25899       _M_incr(__i);
25900       return *this;
25901     }
25902
25903     iterator&
25904     operator-=(difference_type __i)
25905     {
25906       *this += -__i;
25907       return *this;
25908     }
25909
25910     iterator
25911     operator+(difference_type __i) const
25912     {
25913       iterator __tmp = *this;
25914       return __tmp += __i;
25915     }
25916
25917     iterator
25918     operator-(difference_type __i) const
25919     {
25920       iterator __tmp = *this;
25921       return __tmp -= __i;
25922     }
25923
25924     reference
25925     operator[](difference_type __i) const
25926     { return *(*this + __i); }
25927   };
25928
25929   inline _Bit_iterator
25930   operator+(ptrdiff_t __n, const _Bit_iterator& __x)
25931   { return __x + __n; }
25932
25933   struct _Bit_const_iterator : public _Bit_iterator_base
25934   {
25935     typedef bool reference;
25936     typedef bool const_reference;
25937     typedef const bool* pointer;
25938     typedef _Bit_const_iterator const_iterator;
25939
25940     _Bit_const_iterator() : _Bit_iterator_base(0, 0) { }
25941
25942     _Bit_const_iterator(_Bit_type * __x, unsigned int __y)
25943     : _Bit_iterator_base(__x, __y) { }
25944
25945     _Bit_const_iterator(const _Bit_iterator& __x)
25946     : _Bit_iterator_base(__x._M_p, __x._M_offset) { }
25947
25948     const_reference
25949     operator*() const
25950     { return _Bit_reference(_M_p, 1UL << _M_offset); }
25951
25952     const_iterator&
25953     operator++()
25954     {
25955       _M_bump_up();
25956       return *this;
25957     }
25958
25959     const_iterator
25960     operator++(int)
25961     {
25962       const_iterator __tmp = *this;
25963       _M_bump_up();
25964       return __tmp;
25965     }
25966
25967     const_iterator&
25968     operator--()
25969     {
25970       _M_bump_down();
25971       return *this;
25972     }
25973
25974     const_iterator
25975     operator--(int)
25976     {
25977       const_iterator __tmp = *this;
25978       _M_bump_down();
25979       return __tmp;
25980     }
25981
25982     const_iterator&
25983     operator+=(difference_type __i)
25984     {
25985       _M_incr(__i);
25986       return *this;
25987     }
25988
25989     const_iterator&
25990     operator-=(difference_type __i)
25991     {
25992       *this += -__i;
25993       return *this;
25994     }
25995
25996     const_iterator
25997     operator+(difference_type __i) const
25998     {
25999       const_iterator __tmp = *this;
26000       return __tmp += __i;
26001     }
26002
26003     const_iterator
26004     operator-(difference_type __i) const
26005     {
26006       const_iterator __tmp = *this;
26007       return __tmp -= __i;
26008     }
26009
26010     const_reference
26011     operator[](difference_type __i) const
26012     { return *(*this + __i); }
26013   };
26014
26015   inline _Bit_const_iterator
26016   operator+(ptrdiff_t __n, const _Bit_const_iterator& __x)
26017   { return __x + __n; }
26018
26019   template<class _Alloc>
26020     class _Bvector_base
26021     {
26022       typedef typename _Alloc::template rebind<_Bit_type>::other
26023         _Bit_alloc_type;
26024
26025       struct _Bvector_impl : public _Bit_alloc_type
26026       {
26027  _Bit_iterator _M_start;
26028  _Bit_iterator _M_finish;
26029  _Bit_type* _M_end_of_storage;
26030  _Bvector_impl(const _Bit_alloc_type& __a)
26031  : _Bit_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage(0)
26032  { }
26033       };
26034
26035     public:
26036       typedef _Alloc allocator_type;
26037
26038       allocator_type
26039       get_allocator() const
26040       { return *static_cast<const _Bit_alloc_type*>(&this->_M_impl); }
26041
26042       _Bvector_base(const allocator_type& __a) : _M_impl(__a) { }
26043
26044       ~_Bvector_base()
26045       { this->_M_deallocate(); }
26046
26047     protected:
26048       _Bvector_impl _M_impl;
26049
26050       _Bit_type*
26051       _M_allocate(size_t __n)
26052       { return _M_impl.allocate((__n + int(_S_word_bit) - 1)
26053     / int(_S_word_bit)); }
26054
26055       void
26056       _M_deallocate()
26057       {
26058  if (_M_impl._M_start._M_p)
26059    _M_impl.deallocate(_M_impl._M_start._M_p,
26060         _M_impl._M_end_of_storage - _M_impl._M_start._M_p);
26061       }
26062     };
26063 }
26064
26065
26066
26067
26068 namespace std
26069 {
26070 # 425 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_bvector.h" 3
26071 template<typename _Alloc>
26072   class vector<bool, _Alloc> : public _Bvector_base<_Alloc>
26073   {
26074   public:
26075     typedef bool value_type;
26076     typedef size_t size_type;
26077     typedef ptrdiff_t difference_type;
26078     typedef _Bit_reference reference;
26079     typedef bool const_reference;
26080     typedef _Bit_reference* pointer;
26081     typedef const bool* const_pointer;
26082
26083     typedef _Bit_iterator iterator;
26084     typedef _Bit_const_iterator const_iterator;
26085
26086     typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
26087     typedef std::reverse_iterator<iterator> reverse_iterator;
26088
26089     typedef typename _Bvector_base<_Alloc>::allocator_type allocator_type;
26090
26091     allocator_type get_allocator() const
26092     { return _Bvector_base<_Alloc>::get_allocator(); }
26093
26094   protected:
26095     using _Bvector_base<_Alloc>::_M_allocate;
26096     using _Bvector_base<_Alloc>::_M_deallocate;
26097
26098   protected:
26099     void
26100     _M_initialize(size_type __n)
26101     {
26102       _Bit_type* __q = this->_M_allocate(__n);
26103       this->_M_impl._M_end_of_storage = (__q
26104       + ((__n + int(_S_word_bit) - 1)
26105          / int(_S_word_bit)));
26106       this->_M_impl._M_start = iterator(__q, 0);
26107       this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n);
26108     }
26109
26110     void
26111     _M_insert_aux(iterator __position, bool __x)
26112     {
26113       if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage)
26114  {
26115    std::copy_backward(__position, this->_M_impl._M_finish,
26116         this->_M_impl._M_finish + 1);
26117    *__position = __x;
26118    ++this->_M_impl._M_finish;
26119  }
26120       else
26121  {
26122    const size_type __len = size() ? 2 * size()
26123                                   : static_cast<size_type>(_S_word_bit);
26124    _Bit_type * __q = this->_M_allocate(__len);
26125    iterator __i = std::copy(begin(), __position, iterator(__q, 0));
26126    *__i++ = __x;
26127    this->_M_impl._M_finish = std::copy(__position, end(), __i);
26128    this->_M_deallocate();
26129    this->_M_impl._M_end_of_storage = (__q + ((__len
26130            + int(_S_word_bit) - 1)
26131           / int(_S_word_bit)));
26132    this->_M_impl._M_start = iterator(__q, 0);
26133  }
26134     }
26135
26136     template<class _InputIterator>
26137       void
26138       _M_initialize_range(_InputIterator __first, _InputIterator __last,
26139      std::input_iterator_tag)
26140       {
26141  this->_M_impl._M_start = iterator();
26142  this->_M_impl._M_finish = iterator();
26143  this->_M_impl._M_end_of_storage = 0;
26144  for (; __first != __last; ++__first)
26145    push_back(*__first);
26146       }
26147
26148     template<class _ForwardIterator>
26149       void
26150       _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last,
26151      std::forward_iterator_tag)
26152       {
26153  const size_type __n = std::distance(__first, __last);
26154  _M_initialize(__n);
26155  std::copy(__first, __last, this->_M_impl._M_start);
26156       }
26157
26158     template<class _InputIterator>
26159       void
26160       _M_insert_range(iterator __pos, _InputIterator __first,
26161         _InputIterator __last, std::input_iterator_tag)
26162       {
26163  for (; __first != __last; ++__first)
26164    {
26165      __pos = insert(__pos, *__first);
26166      ++__pos;
26167    }
26168       }
26169
26170     template<class _ForwardIterator>
26171       void
26172       _M_insert_range(iterator __position, _ForwardIterator __first,
26173         _ForwardIterator __last, std::forward_iterator_tag)
26174       {
26175  if (__first != __last)
26176    {
26177      size_type __n = std::distance(__first, __last);
26178      if (capacity() - size() >= __n)
26179        {
26180   std::copy_backward(__position, end(),
26181        this->_M_impl._M_finish
26182        + difference_type(__n));
26183   std::copy(__first, __last, __position);
26184   this->_M_impl._M_finish += difference_type(__n);
26185        }
26186      else
26187        {
26188   const size_type __len = size() + std::max(size(), __n);
26189   _Bit_type * __q = this->_M_allocate(__len);
26190   iterator __i = std::copy(begin(), __position,
26191       iterator(__q, 0));
26192   __i = std::copy(__first, __last, __i);
26193   this->_M_impl._M_finish = std::copy(__position, end(), __i);
26194   this->_M_deallocate();
26195   this->_M_impl._M_end_of_storage = (__q
26196          + ((__len
26197              + int(_S_word_bit) - 1)
26198             / int(_S_word_bit)));
26199   this->_M_impl._M_start = iterator(__q, 0);
26200        }
26201    }
26202       }
26203
26204   public:
26205     iterator
26206     begin()
26207     { return this->_M_impl._M_start; }
26208
26209     const_iterator
26210     begin() const
26211     { return this->_M_impl._M_start; }
26212
26213     iterator
26214     end()
26215     { return this->_M_impl._M_finish; }
26216
26217     const_iterator
26218     end() const
26219     { return this->_M_impl._M_finish; }
26220
26221     reverse_iterator
26222     rbegin()
26223     { return reverse_iterator(end()); }
26224
26225     const_reverse_iterator
26226     rbegin() const
26227     { return const_reverse_iterator(end()); }
26228
26229     reverse_iterator
26230     rend()
26231     { return reverse_iterator(begin()); }
26232
26233     const_reverse_iterator
26234     rend() const
26235     { return const_reverse_iterator(begin()); }
26236
26237     size_type
26238     size() const
26239     { return size_type(end() - begin()); }
26240
26241     size_type
26242     max_size() const
26243     { return size_type(-1); }
26244
26245     size_type
26246     capacity() const
26247     { return size_type(const_iterator(this->_M_impl._M_end_of_storage, 0)
26248          - begin()); }
26249     bool
26250     empty() const
26251     { return begin() == end(); }
26252
26253     reference
26254     operator[](size_type __n)
26255     { return *(begin() + difference_type(__n)); }
26256
26257     const_reference
26258     operator[](size_type __n) const
26259     { return *(begin() + difference_type(__n)); }
26260
26261     void
26262     _M_range_check(size_type __n) const
26263     {
26264       if (__n >= this->size())
26265         __throw_out_of_range(("vector<bool>::_M_range_check"));
26266     }
26267
26268     reference
26269     at(size_type __n)
26270     { _M_range_check(__n); return (*this)[__n]; }
26271
26272     const_reference
26273     at(size_type __n) const
26274     { _M_range_check(__n); return (*this)[__n]; }
26275
26276     explicit
26277     vector(const allocator_type& __a = allocator_type())
26278     : _Bvector_base<_Alloc>(__a) { }
26279
26280     vector(size_type __n, bool __value,
26281     const allocator_type& __a = allocator_type())
26282     : _Bvector_base<_Alloc>(__a)
26283     {
26284       _M_initialize(__n);
26285       std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage,
26286   __value ? ~0 : 0);
26287     }
26288
26289     explicit
26290     vector(size_type __n)
26291     : _Bvector_base<_Alloc>(allocator_type())
26292     {
26293       _M_initialize(__n);
26294       std::fill(this->_M_impl._M_start._M_p,
26295   this->_M_impl._M_end_of_storage, 0);
26296     }
26297
26298     vector(const vector& __x)
26299     : _Bvector_base<_Alloc>(__x.get_allocator())
26300     {
26301       _M_initialize(__x.size());
26302       std::copy(__x.begin(), __x.end(), this->_M_impl._M_start);
26303     }
26304
26305
26306     template<class _Integer>
26307       void
26308       _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
26309       {
26310  _M_initialize(__n);
26311  std::fill(this->_M_impl._M_start._M_p,
26312     this->_M_impl._M_end_of_storage, __x ? ~0 : 0);
26313       }
26314
26315     template<class _InputIterator>
26316       void
26317       _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
26318         __false_type)
26319       { _M_initialize_range(__first, __last,
26320        std::__iterator_category(__first)); }
26321
26322     template<class _InputIterator>
26323       vector(_InputIterator __first, _InputIterator __last,
26324       const allocator_type& __a = allocator_type())
26325       : _Bvector_base<_Alloc>(__a)
26326       {
26327  typedef typename std::__is_integer<_InputIterator>::__type _Integral;
26328  _M_initialize_dispatch(__first, __last, _Integral());
26329       }
26330
26331     ~vector() { }
26332
26333     vector&
26334     operator=(const vector& __x)
26335     {
26336       if (&__x == this)
26337  return *this;
26338       if (__x.size() > capacity())
26339  {
26340    this->_M_deallocate();
26341    _M_initialize(__x.size());
26342  }
26343       std::copy(__x.begin(), __x.end(), begin());
26344       this->_M_impl._M_finish = begin() + difference_type(__x.size());
26345       return *this;
26346     }
26347
26348
26349
26350
26351
26352
26353     void
26354     _M_fill_assign(size_t __n, bool __x)
26355     {
26356       if (__n > size())
26357  {
26358    std::fill(this->_M_impl._M_start._M_p,
26359       this->_M_impl._M_end_of_storage, __x ? ~0 : 0);
26360    insert(end(), __n - size(), __x);
26361  }
26362       else
26363  {
26364    erase(begin() + __n, end());
26365    std::fill(this->_M_impl._M_start._M_p,
26366       this->_M_impl._M_end_of_storage, __x ? ~0 : 0);
26367  }
26368     }
26369
26370     void
26371     assign(size_t __n, bool __x)
26372     { _M_fill_assign(__n, __x); }
26373
26374     template<class _InputIterator>
26375       void
26376       assign(_InputIterator __first, _InputIterator __last)
26377       {
26378  typedef typename std::__is_integer<_InputIterator>::__type _Integral;
26379  _M_assign_dispatch(__first, __last, _Integral());
26380       }
26381
26382     template<class _Integer>
26383       void
26384       _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
26385       { _M_fill_assign((size_t) __n, (bool) __val); }
26386
26387     template<class _InputIterator>
26388       void
26389       _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
26390     __false_type)
26391       { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
26392
26393     template<class _InputIterator>
26394       void
26395       _M_assign_aux(_InputIterator __first, _InputIterator __last,
26396       std::input_iterator_tag)
26397       {
26398  iterator __cur = begin();
26399  for (; __first != __last && __cur != end(); ++__cur, ++__first)
26400    *__cur = *__first;
26401  if (__first == __last)
26402    erase(__cur, end());
26403  else
26404    insert(end(), __first, __last);
26405       }
26406
26407     template<class _ForwardIterator>
26408       void
26409       _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
26410       std::forward_iterator_tag)
26411       {
26412  const size_type __len = std::distance(__first, __last);
26413  if (__len < size())
26414    erase(std::copy(__first, __last, begin()), end());
26415  else
26416    {
26417      _ForwardIterator __mid = __first;
26418      std::advance(__mid, size());
26419      std::copy(__first, __mid, begin());
26420      insert(end(), __mid, __last);
26421    }
26422       }
26423
26424     void
26425     reserve(size_type __n)
26426     {
26427       if (__n > this->max_size())
26428  __throw_length_error(("vector::reserve"));
26429       if (this->capacity() < __n)
26430  {
26431    _Bit_type* __q = this->_M_allocate(__n);
26432    this->_M_impl._M_finish = std::copy(begin(), end(),
26433            iterator(__q, 0));
26434    this->_M_deallocate();
26435    this->_M_impl._M_start = iterator(__q, 0);
26436    this->_M_impl._M_end_of_storage = (__q + (__n + int(_S_word_bit) - 1)
26437           / int(_S_word_bit));
26438  }
26439     }
26440
26441     reference
26442     front()
26443     { return *begin(); }
26444
26445     const_reference
26446     front() const
26447     { return *begin(); }
26448
26449     reference
26450     back()
26451     { return *(end() - 1); }
26452
26453     const_reference
26454     back() const
26455     { return *(end() - 1); }
26456
26457
26458
26459
26460
26461
26462     void
26463     data() { }
26464
26465     void
26466     push_back(bool __x)
26467     {
26468       if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage)
26469         *this->_M_impl._M_finish++ = __x;
26470       else
26471         _M_insert_aux(end(), __x);
26472     }
26473
26474     void
26475     swap(vector<bool, _Alloc>& __x)
26476     {
26477       std::swap(this->_M_impl._M_start, __x._M_impl._M_start);
26478       std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish);
26479       std::swap(this->_M_impl._M_end_of_storage,
26480   __x._M_impl._M_end_of_storage);
26481     }
26482
26483
26484     static void
26485     swap(reference __x, reference __y)
26486     {
26487       bool __tmp = __x;
26488       __x = __y;
26489       __y = __tmp;
26490     }
26491
26492     iterator
26493     insert(iterator __position, bool __x = bool())
26494     {
26495       const difference_type __n = __position - begin();
26496       if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage
26497    && __position == end())
26498         *this->_M_impl._M_finish++ = __x;
26499       else
26500         _M_insert_aux(__position, __x);
26501       return begin() + __n;
26502     }
26503
26504
26505
26506     template<class _Integer>
26507       void
26508       _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x,
26509     __true_type)
26510       { _M_fill_insert(__pos, __n, __x); }
26511
26512     template<class _InputIterator>
26513       void
26514       _M_insert_dispatch(iterator __pos,
26515     _InputIterator __first, _InputIterator __last,
26516     __false_type)
26517       { _M_insert_range(__pos, __first, __last,
26518    std::__iterator_category(__first)); }
26519
26520     template<class _InputIterator>
26521       void
26522       insert(iterator __position,
26523       _InputIterator __first, _InputIterator __last)
26524       {
26525  typedef typename std::__is_integer<_InputIterator>::__type _Integral;
26526  _M_insert_dispatch(__position, __first, __last, _Integral());
26527       }
26528
26529     void
26530     _M_fill_insert(iterator __position, size_type __n, bool __x)
26531     {
26532       if (__n == 0)
26533  return;
26534       if (capacity() - size() >= __n)
26535  {
26536    std::copy_backward(__position, end(),
26537         this->_M_impl._M_finish + difference_type(__n));
26538    std::fill(__position, __position + difference_type(__n), __x);
26539    this->_M_impl._M_finish += difference_type(__n);
26540  }
26541       else
26542  {
26543    const size_type __len = size() + std::max(size(), __n);
26544    _Bit_type * __q = this->_M_allocate(__len);
26545    iterator __i = std::copy(begin(), __position, iterator(__q, 0));
26546    std::fill_n(__i, __n, __x);
26547    this->_M_impl._M_finish = std::copy(__position, end(),
26548            __i + difference_type(__n));
26549    this->_M_deallocate();
26550    this->_M_impl._M_end_of_storage = (__q + ((__len
26551            + int(_S_word_bit) - 1)
26552           / int(_S_word_bit)));
26553    this->_M_impl._M_start = iterator(__q, 0);
26554  }
26555     }
26556
26557     void
26558     insert(iterator __position, size_type __n, bool __x)
26559     { _M_fill_insert(__position, __n, __x); }
26560
26561     void
26562     pop_back()
26563     { --this->_M_impl._M_finish; }
26564
26565     iterator
26566     erase(iterator __position)
26567     {
26568       if (__position + 1 != end())
26569         std::copy(__position + 1, end(), __position);
26570       --this->_M_impl._M_finish;
26571       return __position;
26572     }
26573
26574     iterator
26575     erase(iterator __first, iterator __last)
26576     {
26577       this->_M_impl._M_finish = std::copy(__last, end(), __first);
26578       return __first;
26579     }
26580
26581     void
26582     resize(size_type __new_size, bool __x = bool())
26583     {
26584       if (__new_size < size())
26585         erase(begin() + difference_type(__new_size), end());
26586       else
26587         insert(end(), __new_size - size(), __x);
26588     }
26589
26590     void
26591     flip()
26592     {
26593       for (_Bit_type * __p = this->_M_impl._M_start._M_p;
26594     __p != this->_M_impl._M_end_of_storage; ++__p)
26595         *__p = ~*__p;
26596     }
26597
26598     void
26599     clear()
26600     { erase(begin(), end()); }
26601   };
26602 }
26603 # 73 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/vector" 2 3
26604
26605
26606 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/vector.tcc" 1 3
26607 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/vector.tcc" 3
26608 #define _VECTOR_TCC 1
26609
26610 namespace std
26611 {
26612   template<typename _Tp, typename _Alloc>
26613     void
26614     vector<_Tp, _Alloc>::
26615     reserve(size_type __n)
26616     {
26617       if (__n > this->max_size())
26618  __throw_length_error(("vector::reserve"));
26619       if (this->capacity() < __n)
26620  {
26621    const size_type __old_size = size();
26622    pointer __tmp = _M_allocate_and_copy(__n,
26623             this->_M_impl._M_start,
26624             this->_M_impl._M_finish);
26625    std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
26626    _M_get_Tp_allocator());
26627    _M_deallocate(this->_M_impl._M_start,
26628    this->_M_impl._M_end_of_storage
26629    - this->_M_impl._M_start);
26630    this->_M_impl._M_start = __tmp;
26631    this->_M_impl._M_finish = __tmp + __old_size;
26632    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
26633  }
26634     }
26635
26636   template<typename _Tp, typename _Alloc>
26637     typename vector<_Tp, _Alloc>::iterator
26638     vector<_Tp, _Alloc>::
26639     insert(iterator __position, const value_type& __x)
26640     {
26641       const size_type __n = __position - begin();
26642       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage
26643    && __position == end())
26644  {
26645    this->_M_impl.construct(this->_M_impl._M_finish, __x);
26646    ++this->_M_impl._M_finish;
26647  }
26648       else
26649         _M_insert_aux(__position, __x);
26650       return begin() + __n;
26651     }
26652
26653   template<typename _Tp, typename _Alloc>
26654     typename vector<_Tp, _Alloc>::iterator
26655     vector<_Tp, _Alloc>::
26656     erase(iterator __position)
26657     {
26658       if (__position + 1 != end())
26659         std::copy(__position + 1, end(), __position);
26660       --this->_M_impl._M_finish;
26661       this->_M_impl.destroy(this->_M_impl._M_finish);
26662       return __position;
26663     }
26664
26665   template<typename _Tp, typename _Alloc>
26666     typename vector<_Tp, _Alloc>::iterator
26667     vector<_Tp, _Alloc>::
26668     erase(iterator __first, iterator __last)
26669     {
26670       iterator __i(std::copy(__last, end(), __first));
26671       std::_Destroy(__i, end(), _M_get_Tp_allocator());
26672       this->_M_impl._M_finish = this->_M_impl._M_finish - (__last - __first);
26673       return __first;
26674     }
26675
26676   template<typename _Tp, typename _Alloc>
26677     vector<_Tp, _Alloc>&
26678     vector<_Tp, _Alloc>::
26679     operator=(const vector<_Tp, _Alloc>& __x)
26680     {
26681       if (&__x != this)
26682  {
26683    const size_type __xlen = __x.size();
26684    if (__xlen > capacity())
26685      {
26686        pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(),
26687          __x.end());
26688        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
26689        _M_get_Tp_allocator());
26690        _M_deallocate(this->_M_impl._M_start,
26691        this->_M_impl._M_end_of_storage
26692        - this->_M_impl._M_start);
26693        this->_M_impl._M_start = __tmp;
26694        this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen;
26695      }
26696    else if (size() >= __xlen)
26697      {
26698        iterator __i(std::copy(__x.begin(), __x.end(), begin()));
26699        std::_Destroy(__i, end(), _M_get_Tp_allocator());
26700      }
26701    else
26702      {
26703        std::copy(__x.begin(), __x.begin() + size(),
26704    this->_M_impl._M_start);
26705        std::__uninitialized_copy_a(__x.begin() + size(),
26706        __x.end(), this->_M_impl._M_finish,
26707        _M_get_Tp_allocator());
26708      }
26709    this->_M_impl._M_finish = this->_M_impl._M_start + __xlen;
26710  }
26711       return *this;
26712     }
26713
26714   template<typename _Tp, typename _Alloc>
26715     void
26716     vector<_Tp, _Alloc>::
26717     _M_fill_assign(size_t __n, const value_type& __val)
26718     {
26719       if (__n > capacity())
26720  {
26721    vector __tmp(__n, __val, _M_get_Tp_allocator());
26722    __tmp.swap(*this);
26723  }
26724       else if (__n > size())
26725  {
26726    std::fill(begin(), end(), __val);
26727    std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
26728      __n - size(), __val,
26729      _M_get_Tp_allocator());
26730    this->_M_impl._M_finish += __n - size();
26731  }
26732       else
26733         erase(std::fill_n(begin(), __n, __val), end());
26734     }
26735
26736   template<typename _Tp, typename _Alloc>
26737     template<typename _InputIterator>
26738       void
26739       vector<_Tp, _Alloc>::
26740       _M_assign_aux(_InputIterator __first, _InputIterator __last,
26741       std::input_iterator_tag)
26742       {
26743  iterator __cur(begin());
26744  for (; __first != __last && __cur != end(); ++__cur, ++__first)
26745    *__cur = *__first;
26746  if (__first == __last)
26747    erase(__cur, end());
26748  else
26749    insert(end(), __first, __last);
26750       }
26751
26752   template<typename _Tp, typename _Alloc>
26753     template<typename _ForwardIterator>
26754       void
26755       vector<_Tp, _Alloc>::
26756       _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
26757       std::forward_iterator_tag)
26758       {
26759  const size_type __len = std::distance(__first, __last);
26760
26761  if (__len > capacity())
26762    {
26763      pointer __tmp(_M_allocate_and_copy(__len, __first, __last));
26764      std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
26765      _M_get_Tp_allocator());
26766      _M_deallocate(this->_M_impl._M_start,
26767      this->_M_impl._M_end_of_storage
26768      - this->_M_impl._M_start);
26769      this->_M_impl._M_start = __tmp;
26770      this->_M_impl._M_finish = this->_M_impl._M_start + __len;
26771      this->_M_impl._M_end_of_storage = this->_M_impl._M_finish;
26772    }
26773  else if (size() >= __len)
26774    {
26775      iterator __new_finish(std::copy(__first, __last,
26776            this->_M_impl._M_start));
26777      std::_Destroy(__new_finish, end(), _M_get_Tp_allocator());
26778      this->_M_impl._M_finish = __new_finish.base();
26779    }
26780  else
26781    {
26782      _ForwardIterator __mid = __first;
26783      std::advance(__mid, size());
26784      std::copy(__first, __mid, this->_M_impl._M_start);
26785      this->_M_impl._M_finish =
26786        std::__uninitialized_copy_a(__mid, __last,
26787        this->_M_impl._M_finish,
26788        _M_get_Tp_allocator());
26789    }
26790       }
26791
26792   template<typename _Tp, typename _Alloc>
26793     void
26794     vector<_Tp, _Alloc>::
26795     _M_insert_aux(iterator __position, const _Tp& __x)
26796     {
26797       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
26798  {
26799    this->_M_impl.construct(this->_M_impl._M_finish,
26800       *(this->_M_impl._M_finish - 1));
26801    ++this->_M_impl._M_finish;
26802    _Tp __x_copy = __x;
26803    std::copy_backward(__position,
26804         iterator(this->_M_impl._M_finish-2),
26805         iterator(this->_M_impl._M_finish-1));
26806    *__position = __x_copy;
26807  }
26808       else
26809  {
26810    const size_type __old_size = size();
26811    if (__old_size == this->max_size())
26812      __throw_length_error(("vector::_M_insert_aux"));
26813
26814
26815
26816
26817    size_type __len = __old_size != 0 ? 2 * __old_size : 1;
26818    if (__len < __old_size)
26819      __len = this->max_size();
26820
26821    iterator __new_start(this->_M_allocate(__len));
26822    iterator __new_finish(__new_start);
26823    try
26824      {
26825        __new_finish =
26826   std::__uninitialized_copy_a(iterator(this->_M_impl._M_start),
26827          __position,
26828          __new_start,
26829          _M_get_Tp_allocator());
26830        this->_M_impl.construct(__new_finish.base(), __x);
26831        ++__new_finish;
26832        __new_finish =
26833   std::__uninitialized_copy_a(__position,
26834          iterator(this->_M_impl._M_finish),
26835          __new_finish,
26836          _M_get_Tp_allocator());
26837      }
26838    catch(...)
26839      {
26840        std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator());
26841        _M_deallocate(__new_start.base(),__len);
26842        throw;
26843      }
26844    std::_Destroy(begin(), end(), _M_get_Tp_allocator());
26845    _M_deallocate(this->_M_impl._M_start,
26846    this->_M_impl._M_end_of_storage
26847    - this->_M_impl._M_start);
26848    this->_M_impl._M_start = __new_start.base();
26849    this->_M_impl._M_finish = __new_finish.base();
26850    this->_M_impl._M_end_of_storage = __new_start.base() + __len;
26851  }
26852     }
26853
26854   template<typename _Tp, typename _Alloc>
26855     void
26856     vector<_Tp, _Alloc>::
26857     _M_fill_insert(iterator __position, size_type __n, const value_type& __x)
26858     {
26859       if (__n != 0)
26860  {
26861    if (size_type(this->_M_impl._M_end_of_storage
26862    - this->_M_impl._M_finish) >= __n)
26863      {
26864        value_type __x_copy = __x;
26865        const size_type __elems_after = end() - __position;
26866        iterator __old_finish(this->_M_impl._M_finish);
26867        if (__elems_after > __n)
26868   {
26869     std::__uninitialized_copy_a(this->_M_impl._M_finish - __n,
26870            this->_M_impl._M_finish,
26871            this->_M_impl._M_finish,
26872            _M_get_Tp_allocator());
26873     this->_M_impl._M_finish += __n;
26874     std::copy_backward(__position, __old_finish - __n,
26875          __old_finish);
26876     std::fill(__position, __position + __n, __x_copy);
26877   }
26878        else
26879   {
26880     std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
26881       __n - __elems_after,
26882       __x_copy,
26883       _M_get_Tp_allocator());
26884     this->_M_impl._M_finish += __n - __elems_after;
26885     std::__uninitialized_copy_a(__position, __old_finish,
26886            this->_M_impl._M_finish,
26887            _M_get_Tp_allocator());
26888     this->_M_impl._M_finish += __elems_after;
26889     std::fill(__position, __old_finish, __x_copy);
26890   }
26891      }
26892    else
26893      {
26894        const size_type __old_size = size();
26895        if (this->max_size() - __old_size < __n)
26896   __throw_length_error(("vector::_M_fill_insert"));
26897
26898
26899        size_type __len = __old_size + std::max(__old_size, __n);
26900        if (__len < __old_size)
26901   __len = this->max_size();
26902
26903        iterator __new_start(this->_M_allocate(__len));
26904        iterator __new_finish(__new_start);
26905        try
26906   {
26907     __new_finish =
26908       std::__uninitialized_copy_a(begin(), __position,
26909       __new_start,
26910       _M_get_Tp_allocator());
26911     std::__uninitialized_fill_n_a(__new_finish, __n, __x,
26912       _M_get_Tp_allocator());
26913     __new_finish += __n;
26914     __new_finish =
26915       std::__uninitialized_copy_a(__position, end(), __new_finish,
26916       _M_get_Tp_allocator());
26917   }
26918        catch(...)
26919   {
26920     std::_Destroy(__new_start, __new_finish,
26921     _M_get_Tp_allocator());
26922     _M_deallocate(__new_start.base(), __len);
26923     throw;
26924   }
26925        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
26926        _M_get_Tp_allocator());
26927        _M_deallocate(this->_M_impl._M_start,
26928        this->_M_impl._M_end_of_storage
26929        - this->_M_impl._M_start);
26930        this->_M_impl._M_start = __new_start.base();
26931        this->_M_impl._M_finish = __new_finish.base();
26932        this->_M_impl._M_end_of_storage = __new_start.base() + __len;
26933      }
26934  }
26935     }
26936
26937   template<typename _Tp, typename _Alloc> template<typename _InputIterator>
26938     void
26939     vector<_Tp, _Alloc>::
26940     _M_range_insert(iterator __pos, _InputIterator __first,
26941       _InputIterator __last, std::input_iterator_tag)
26942     {
26943       for (; __first != __last; ++__first)
26944  {
26945    __pos = insert(__pos, *__first);
26946    ++__pos;
26947  }
26948     }
26949
26950   template<typename _Tp, typename _Alloc>
26951     template<typename _ForwardIterator>
26952       void
26953       vector<_Tp, _Alloc>::
26954       _M_range_insert(iterator __position, _ForwardIterator __first,
26955         _ForwardIterator __last, std::forward_iterator_tag)
26956       {
26957  if (__first != __last)
26958    {
26959      const size_type __n = std::distance(__first, __last);
26960      if (size_type(this->_M_impl._M_end_of_storage
26961      - this->_M_impl._M_finish) >= __n)
26962        {
26963   const size_type __elems_after = end() - __position;
26964   iterator __old_finish(this->_M_impl._M_finish);
26965   if (__elems_after > __n)
26966     {
26967       std::__uninitialized_copy_a(this->_M_impl._M_finish - __n,
26968       this->_M_impl._M_finish,
26969       this->_M_impl._M_finish,
26970       _M_get_Tp_allocator());
26971       this->_M_impl._M_finish += __n;
26972       std::copy_backward(__position, __old_finish - __n,
26973            __old_finish);
26974       std::copy(__first, __last, __position);
26975     }
26976   else
26977     {
26978       _ForwardIterator __mid = __first;
26979       std::advance(__mid, __elems_after);
26980       std::__uninitialized_copy_a(__mid, __last,
26981       this->_M_impl._M_finish,
26982       _M_get_Tp_allocator());
26983       this->_M_impl._M_finish += __n - __elems_after;
26984       std::__uninitialized_copy_a(__position, __old_finish,
26985       this->_M_impl._M_finish,
26986       _M_get_Tp_allocator());
26987       this->_M_impl._M_finish += __elems_after;
26988       std::copy(__first, __mid, __position);
26989     }
26990        }
26991      else
26992        {
26993   const size_type __old_size = size();
26994   if (this->max_size() - __old_size < __n)
26995     __throw_length_error(("vector::_M_range_insert"));
26996
26997
26998   size_type __len = __old_size + std::max(__old_size, __n);
26999   if (__len < __old_size)
27000     __len = this->max_size();
27001
27002   iterator __new_start(this->_M_allocate(__len));
27003   iterator __new_finish(__new_start);
27004   try
27005     {
27006       __new_finish =
27007         std::__uninitialized_copy_a(iterator(this->_M_impl._M_start),
27008         __position,
27009         __new_start,
27010         _M_get_Tp_allocator());
27011       __new_finish =
27012         std::__uninitialized_copy_a(__first, __last, __new_finish,
27013         _M_get_Tp_allocator());
27014       __new_finish =
27015         std::__uninitialized_copy_a(__position,
27016         iterator(this->_M_impl._M_finish),
27017         __new_finish,
27018         _M_get_Tp_allocator());
27019     }
27020   catch(...)
27021     {
27022       std::_Destroy(__new_start,__new_finish,
27023       _M_get_Tp_allocator());
27024       _M_deallocate(__new_start.base(), __len);
27025       throw;
27026     }
27027   std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
27028          _M_get_Tp_allocator());
27029   _M_deallocate(this->_M_impl._M_start,
27030          this->_M_impl._M_end_of_storage
27031          - this->_M_impl._M_start);
27032   this->_M_impl._M_start = __new_start.base();
27033   this->_M_impl._M_finish = __new_finish.base();
27034   this->_M_impl._M_end_of_storage = __new_start.base() + __len;
27035        }
27036    }
27037       }
27038 }
27039 # 76 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/vector" 2 3
27040
27041
27042
27043
27044
27045
27046 #pragma GCC visibility pop
27047 # 76 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
27048 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 1 3
27049 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
27050        
27051 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
27052 #pragma GCC visibility push(default)
27053
27054 # 1 "/usr/include/assert.h" 1 3 4
27055 # 35 "/usr/include/assert.h" 3 4
27056 #define _ASSERT_H 1
27057
27058
27059
27060 #define __ASSERT_VOID_CAST static_cast<void>
27061 # 65 "/usr/include/assert.h" 3 4
27062 extern "C" {
27063
27064
27065 extern void __assert_fail (__const char *__assertion, __const char *__file,
27066       unsigned int __line, __const char *__function)
27067      throw () __attribute__ ((__noreturn__));
27068
27069
27070 extern void __assert_perror_fail (int __errnum, __const char *__file,
27071       unsigned int __line,
27072       __const char *__function)
27073      throw () __attribute__ ((__noreturn__));
27074
27075
27076
27077
27078 extern void __assert (const char *__assertion, const char *__file, int __line)
27079      throw () __attribute__ ((__noreturn__));
27080
27081
27082 }
27083
27084 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
27085
27086
27087
27088
27089
27090 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
27091 # 105 "/usr/include/assert.h" 3 4
27092 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
27093 # 51 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 2 3
27094
27095 #pragma GCC visibility pop
27096 # 77 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
27097
27098 # 1 "/usr/include/boost/static_assert.hpp" 1 3 4
27099 # 15 "/usr/include/boost/static_assert.hpp" 3 4
27100 #define BOOST_STATIC_ASSERT_HPP 
27101
27102
27103 # 1 "/usr/include/boost/detail/workaround.hpp" 1 3 4
27104
27105
27106
27107
27108
27109 #define WORKAROUND_DWA2002126_HPP 
27110 # 40 "/usr/include/boost/detail/workaround.hpp" 3 4
27111 #define BOOST_WORKAROUND(symbol,test) ((symbol != 0) && (1 % (( (symbol test) ) + 1)))
27112 # 64 "/usr/include/boost/detail/workaround.hpp" 3 4
27113 #define BOOST_TESTED_AT(value) != ((value)-(value))
27114 # 19 "/usr/include/boost/static_assert.hpp" 2 3 4
27115 # 31 "/usr/include/boost/static_assert.hpp" 3 4
27116 namespace boost{
27117
27118
27119 template <bool x> struct STATIC_ASSERTION_FAILURE;
27120
27121 template <> struct STATIC_ASSERTION_FAILURE<true> { enum { value = 1 }; };
27122
27123
27124 template<int x> struct static_assert_test{};
27125
27126 }
27127 # 102 "/usr/include/boost/static_assert.hpp" 3 4
27128 #define BOOST_STATIC_ASSERT(B) typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >)> BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
27129 # 79 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
27130 # 1 "/usr/include/boost/type_traits.hpp" 1 3 4
27131 # 11 "/usr/include/boost/type_traits.hpp" 3 4
27132 #define BOOST_TYPE_TRAITS_HPP 
27133
27134 # 1 "/usr/include/boost/type_traits/add_const.hpp" 1 3 4
27135 # 11 "/usr/include/boost/type_traits/add_const.hpp" 3 4
27136 #define BOOST_TT_ADD_CONST_HPP_INCLUDED 
27137
27138
27139
27140
27141 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
27142 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
27143 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
27144 # 10 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
27145 # 1 "/usr/include/boost/mpl/int.hpp" 1 3 4
27146
27147
27148 #define BOOST_MPL_INT_HPP_INCLUDED 
27149 # 17 "/usr/include/boost/mpl/int.hpp" 3 4
27150 # 1 "/usr/include/boost/mpl/int_fwd.hpp" 1 3 4
27151
27152
27153 #define BOOST_MPL_INT_FWD_HPP_INCLUDED 
27154 # 17 "/usr/include/boost/mpl/int_fwd.hpp" 3 4
27155 # 1 "/usr/include/boost/mpl/aux_/adl_barrier.hpp" 1 3 4
27156
27157
27158 #define BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED 
27159 # 17 "/usr/include/boost/mpl/aux_/adl_barrier.hpp" 3 4
27160 # 1 "/usr/include/boost/mpl/aux_/config/adl.hpp" 1 3 4
27161
27162
27163 #define BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED 
27164 # 17 "/usr/include/boost/mpl/aux_/config/adl.hpp" 3 4
27165 # 1 "/usr/include/boost/mpl/aux_/config/msvc.hpp" 1 3 4
27166
27167
27168 #define BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED 
27169 # 18 "/usr/include/boost/mpl/aux_/config/adl.hpp" 2 3 4
27170 # 1 "/usr/include/boost/mpl/aux_/config/intel.hpp" 1 3 4
27171
27172
27173 #define BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED 
27174 # 19 "/usr/include/boost/mpl/aux_/config/adl.hpp" 2 3 4
27175 # 1 "/usr/include/boost/mpl/aux_/config/gcc.hpp" 1 3 4
27176
27177
27178 #define BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED 
27179 # 18 "/usr/include/boost/mpl/aux_/config/gcc.hpp" 3 4
27180 #define BOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__)
27181 # 20 "/usr/include/boost/mpl/aux_/config/adl.hpp" 2 3 4
27182 # 1 "/usr/include/boost/mpl/aux_/config/workaround.hpp" 1 3 4
27183
27184
27185 #define BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED 
27186 # 21 "/usr/include/boost/mpl/aux_/config/adl.hpp" 2 3 4
27187 # 18 "/usr/include/boost/mpl/aux_/adl_barrier.hpp" 2 3 4
27188
27189
27190
27191
27192
27193 #define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_
27194 #define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ {
27195 #define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }
27196 #define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) namespace boost { namespace mpl { using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; } }
27197
27198
27199
27200
27201
27202
27203 namespace mpl_ { namespace aux {} }
27204 namespace boost { namespace mpl { using namespace mpl_;
27205 namespace aux { using namespace mpl_::aux; }
27206 }}
27207 # 18 "/usr/include/boost/mpl/int_fwd.hpp" 2 3 4
27208 # 1 "/usr/include/boost/mpl/aux_/nttp_decl.hpp" 1 3 4
27209
27210
27211 #define BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED 
27212 # 17 "/usr/include/boost/mpl/aux_/nttp_decl.hpp" 3 4
27213 # 1 "/usr/include/boost/mpl/aux_/config/nttp.hpp" 1 3 4
27214
27215
27216 #define BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED 
27217 # 18 "/usr/include/boost/mpl/aux_/nttp_decl.hpp" 2 3 4
27218 # 31 "/usr/include/boost/mpl/aux_/nttp_decl.hpp" 3 4
27219 #define BOOST_MPL_AUX_NTTP_DECL(T,x) T x
27220 # 19 "/usr/include/boost/mpl/int_fwd.hpp" 2 3 4
27221
27222 namespace mpl_ {
27223
27224 template< int N > struct int_;
27225
27226 }
27227 namespace boost { namespace mpl { using ::mpl_::int_; } }
27228 # 18 "/usr/include/boost/mpl/int.hpp" 2 3 4
27229
27230 #define AUX_WRAPPER_VALUE_TYPE int
27231 # 1 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 1 3 4
27232 # 16 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 3 4
27233 # 1 "/usr/include/boost/mpl/integral_c_tag.hpp" 1 3 4
27234
27235
27236 #define BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED 
27237 # 19 "/usr/include/boost/mpl/integral_c_tag.hpp" 3 4
27238 # 1 "/usr/include/boost/mpl/aux_/config/static_constant.hpp" 1 3 4
27239
27240
27241 #define BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED 
27242 # 20 "/usr/include/boost/mpl/integral_c_tag.hpp" 2 3 4
27243
27244 namespace mpl_ {
27245 struct integral_c_tag { static const int value = 0; };
27246 }
27247 namespace boost { namespace mpl { using ::mpl_::integral_c_tag; } }
27248 # 17 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 2 3 4
27249 # 1 "/usr/include/boost/mpl/aux_/static_cast.hpp" 1 3 4
27250
27251
27252 #define BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED 
27253 # 24 "/usr/include/boost/mpl/aux_/static_cast.hpp" 3 4
27254 #define BOOST_MPL_AUX_STATIC_CAST(T,expr) static_cast<T>(expr)
27255 # 18 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 2 3 4
27256
27257
27258
27259
27260 # 1 "/usr/include/boost/preprocessor/cat.hpp" 1 3 4
27261 # 15 "/usr/include/boost/preprocessor/cat.hpp" 3 4
27262 #define BOOST_PREPROCESSOR_CAT_HPP 
27263
27264 # 1 "/usr/include/boost/preprocessor/config/config.hpp" 1 3 4
27265 # 13 "/usr/include/boost/preprocessor/config/config.hpp" 3 4
27266 #define BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP 
27267
27268
27269
27270 #define BOOST_PP_CONFIG_STRICT() 0x0001
27271 #define BOOST_PP_CONFIG_IDEAL() 0x0002
27272
27273 #define BOOST_PP_CONFIG_MSVC() 0x0004
27274 #define BOOST_PP_CONFIG_MWCC() 0x0008
27275 #define BOOST_PP_CONFIG_BCC() 0x0010
27276 #define BOOST_PP_CONFIG_EDG() 0x0020
27277 #define BOOST_PP_CONFIG_DMC() 0x0040
27278 # 40 "/usr/include/boost/preprocessor/config/config.hpp" 3 4
27279 #define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
27280
27281
27282
27283
27284
27285
27286 #define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 0
27287 # 56 "/usr/include/boost/preprocessor/config/config.hpp" 3 4
27288 #define BOOST_PP_CONFIG_ERRORS 1
27289 # 18 "/usr/include/boost/preprocessor/cat.hpp" 2 3 4
27290
27291
27292
27293
27294 #define BOOST_PP_CAT(a,b) BOOST_PP_CAT_I(a, b)
27295
27296
27297
27298
27299
27300
27301 #define BOOST_PP_CAT_I(a,b) a ## b
27302 # 23 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 2 3 4
27303
27304
27305 #define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_)
27306
27307
27308
27309 #define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N)
27310
27311
27312
27313
27314
27315
27316 #define AUX_WRAPPER_INST(value) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value >
27317
27318
27319
27320 namespace mpl_ {
27321
27322 template< int N >
27323 struct int_
27324 {
27325     static const int value = N;
27326
27327
27328
27329
27330
27331     typedef int_ type;
27332
27333     typedef int value_type;
27334     typedef integral_c_tag tag;
27335 # 72 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 3 4
27336     typedef mpl_::int_< static_cast<int>((value + 1)) > next;
27337     typedef mpl_::int_< static_cast<int>((value - 1)) > prior;
27338
27339
27340
27341
27342
27343
27344     operator int() const { return static_cast<int>(this->value); }
27345 };
27346
27347
27348 template< int N >
27349 int const mpl_::int_< N >::value;
27350
27351
27352 }
27353
27354 #undef AUX_WRAPPER_NAME
27355 #undef AUX_WRAPPER_PARAMS
27356 #undef AUX_WRAPPER_INST
27357 #undef AUX_WRAPPER_VALUE_TYPE
27358 # 21 "/usr/include/boost/mpl/int.hpp" 2 3 4
27359 # 11 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 2 3 4
27360 # 1 "/usr/include/boost/mpl/aux_/template_arity_fwd.hpp" 1 3 4
27361
27362
27363 #define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED 
27364 # 17 "/usr/include/boost/mpl/aux_/template_arity_fwd.hpp" 3 4
27365 namespace boost { namespace mpl { namespace aux {
27366
27367 template< typename F > struct template_arity;
27368
27369 }}}
27370 # 12 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 2 3 4
27371 # 1 "/usr/include/boost/mpl/aux_/preprocessor/params.hpp" 1 3 4
27372
27373
27374 #define BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED 
27375 # 17 "/usr/include/boost/mpl/aux_/preprocessor/params.hpp" 3 4
27376 # 1 "/usr/include/boost/mpl/aux_/config/preprocessor.hpp" 1 3 4
27377
27378
27379 #define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED 
27380 # 30 "/usr/include/boost/mpl/aux_/config/preprocessor.hpp" 3 4
27381 #define BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES 
27382 # 18 "/usr/include/boost/mpl/aux_/preprocessor/params.hpp" 2 3 4
27383 # 45 "/usr/include/boost/mpl/aux_/preprocessor/params.hpp" 3 4
27384 # 1 "/usr/include/boost/preprocessor/comma_if.hpp" 1 3 4
27385 # 13 "/usr/include/boost/preprocessor/comma_if.hpp" 3 4
27386 #define BOOST_PREPROCESSOR_COMMA_IF_HPP 
27387
27388 # 1 "/usr/include/boost/preprocessor/punctuation/comma_if.hpp" 1 3 4
27389 # 15 "/usr/include/boost/preprocessor/punctuation/comma_if.hpp" 3 4
27390 #define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP 
27391
27392
27393 # 1 "/usr/include/boost/preprocessor/control/if.hpp" 1 3 4
27394 # 15 "/usr/include/boost/preprocessor/control/if.hpp" 3 4
27395 #define BOOST_PREPROCESSOR_CONTROL_IF_HPP 
27396
27397
27398 # 1 "/usr/include/boost/preprocessor/control/iif.hpp" 1 3 4
27399 # 13 "/usr/include/boost/preprocessor/control/iif.hpp" 3 4
27400 #define BOOST_PREPROCESSOR_CONTROL_IIF_HPP 
27401
27402
27403
27404
27405 #define BOOST_PP_IIF(bit,t,f) BOOST_PP_IIF_I(bit, t, f)
27406
27407
27408
27409
27410
27411
27412 #define BOOST_PP_IIF_I(bit,t,f) BOOST_PP_IIF_ ## bit(t, f)
27413
27414
27415
27416
27417
27418 #define BOOST_PP_IIF_0(t,f) f
27419 #define BOOST_PP_IIF_1(t,f) t
27420 # 19 "/usr/include/boost/preprocessor/control/if.hpp" 2 3 4
27421 # 1 "/usr/include/boost/preprocessor/logical/bool.hpp" 1 3 4
27422 # 15 "/usr/include/boost/preprocessor/logical/bool.hpp" 3 4
27423 #define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP 
27424
27425
27426
27427
27428
27429
27430 #define BOOST_PP_BOOL(x) BOOST_PP_BOOL_I(x)
27431
27432
27433
27434
27435
27436 #define BOOST_PP_BOOL_I(x) BOOST_PP_BOOL_ ## x
27437
27438 #define BOOST_PP_BOOL_0 0
27439 #define BOOST_PP_BOOL_1 1
27440 #define BOOST_PP_BOOL_2 1
27441 #define BOOST_PP_BOOL_3 1
27442 #define BOOST_PP_BOOL_4 1
27443 #define BOOST_PP_BOOL_5 1
27444 #define BOOST_PP_BOOL_6 1
27445 #define BOOST_PP_BOOL_7 1
27446 #define BOOST_PP_BOOL_8 1
27447 #define BOOST_PP_BOOL_9 1
27448 #define BOOST_PP_BOOL_10 1
27449 #define BOOST_PP_BOOL_11 1
27450 #define BOOST_PP_BOOL_12 1
27451 #define BOOST_PP_BOOL_13 1
27452 #define BOOST_PP_BOOL_14 1
27453 #define BOOST_PP_BOOL_15 1
27454 #define BOOST_PP_BOOL_16 1
27455 #define BOOST_PP_BOOL_17 1
27456 #define BOOST_PP_BOOL_18 1
27457 #define BOOST_PP_BOOL_19 1
27458 #define BOOST_PP_BOOL_20 1
27459 #define BOOST_PP_BOOL_21 1
27460 #define BOOST_PP_BOOL_22 1
27461 #define BOOST_PP_BOOL_23 1
27462 #define BOOST_PP_BOOL_24 1
27463 #define BOOST_PP_BOOL_25 1
27464 #define BOOST_PP_BOOL_26 1
27465 #define BOOST_PP_BOOL_27 1
27466 #define BOOST_PP_BOOL_28 1
27467 #define BOOST_PP_BOOL_29 1
27468 #define BOOST_PP_BOOL_30 1
27469 #define BOOST_PP_BOOL_31 1
27470 #define BOOST_PP_BOOL_32 1
27471 #define BOOST_PP_BOOL_33 1
27472 #define BOOST_PP_BOOL_34 1
27473 #define BOOST_PP_BOOL_35 1
27474 #define BOOST_PP_BOOL_36 1
27475 #define BOOST_PP_BOOL_37 1
27476 #define BOOST_PP_BOOL_38 1
27477 #define BOOST_PP_BOOL_39 1
27478 #define BOOST_PP_BOOL_40 1
27479 #define BOOST_PP_BOOL_41 1
27480 #define BOOST_PP_BOOL_42 1
27481 #define BOOST_PP_BOOL_43 1
27482 #define BOOST_PP_BOOL_44 1
27483 #define BOOST_PP_BOOL_45 1
27484 #define BOOST_PP_BOOL_46 1
27485 #define BOOST_PP_BOOL_47 1
27486 #define BOOST_PP_BOOL_48 1
27487 #define BOOST_PP_BOOL_49 1
27488 #define BOOST_PP_BOOL_50 1
27489 #define BOOST_PP_BOOL_51 1
27490 #define BOOST_PP_BOOL_52 1
27491 #define BOOST_PP_BOOL_53 1
27492 #define BOOST_PP_BOOL_54 1
27493 #define BOOST_PP_BOOL_55 1
27494 #define BOOST_PP_BOOL_56 1
27495 #define BOOST_PP_BOOL_57 1
27496 #define BOOST_PP_BOOL_58 1
27497 #define BOOST_PP_BOOL_59 1
27498 #define BOOST_PP_BOOL_60 1
27499 #define BOOST_PP_BOOL_61 1
27500 #define BOOST_PP_BOOL_62 1
27501 #define BOOST_PP_BOOL_63 1
27502 #define BOOST_PP_BOOL_64 1
27503 #define BOOST_PP_BOOL_65 1
27504 #define BOOST_PP_BOOL_66 1
27505 #define BOOST_PP_BOOL_67 1
27506 #define BOOST_PP_BOOL_68 1
27507 #define BOOST_PP_BOOL_69 1
27508 #define BOOST_PP_BOOL_70 1
27509 #define BOOST_PP_BOOL_71 1
27510 #define BOOST_PP_BOOL_72 1
27511 #define BOOST_PP_BOOL_73 1
27512 #define BOOST_PP_BOOL_74 1
27513 #define BOOST_PP_BOOL_75 1
27514 #define BOOST_PP_BOOL_76 1
27515 #define BOOST_PP_BOOL_77 1
27516 #define BOOST_PP_BOOL_78 1
27517 #define BOOST_PP_BOOL_79 1
27518 #define BOOST_PP_BOOL_80 1
27519 #define BOOST_PP_BOOL_81 1
27520 #define BOOST_PP_BOOL_82 1
27521 #define BOOST_PP_BOOL_83 1
27522 #define BOOST_PP_BOOL_84 1
27523 #define BOOST_PP_BOOL_85 1
27524 #define BOOST_PP_BOOL_86 1
27525 #define BOOST_PP_BOOL_87 1
27526 #define BOOST_PP_BOOL_88 1
27527 #define BOOST_PP_BOOL_89 1
27528 #define BOOST_PP_BOOL_90 1
27529 #define BOOST_PP_BOOL_91 1
27530 #define BOOST_PP_BOOL_92 1
27531 #define BOOST_PP_BOOL_93 1
27532 #define BOOST_PP_BOOL_94 1
27533 #define BOOST_PP_BOOL_95 1
27534 #define BOOST_PP_BOOL_96 1
27535 #define BOOST_PP_BOOL_97 1
27536 #define BOOST_PP_BOOL_98 1
27537 #define BOOST_PP_BOOL_99 1
27538 #define BOOST_PP_BOOL_100 1
27539 #define BOOST_PP_BOOL_101 1
27540 #define BOOST_PP_BOOL_102 1
27541 #define BOOST_PP_BOOL_103 1
27542 #define BOOST_PP_BOOL_104 1
27543 #define BOOST_PP_BOOL_105 1
27544 #define BOOST_PP_BOOL_106 1
27545 #define BOOST_PP_BOOL_107 1
27546 #define BOOST_PP_BOOL_108 1
27547 #define BOOST_PP_BOOL_109 1
27548 #define BOOST_PP_BOOL_110 1
27549 #define BOOST_PP_BOOL_111 1
27550 #define BOOST_PP_BOOL_112 1
27551 #define BOOST_PP_BOOL_113 1
27552 #define BOOST_PP_BOOL_114 1
27553 #define BOOST_PP_BOOL_115 1
27554 #define BOOST_PP_BOOL_116 1
27555 #define BOOST_PP_BOOL_117 1
27556 #define BOOST_PP_BOOL_118 1
27557 #define BOOST_PP_BOOL_119 1
27558 #define BOOST_PP_BOOL_120 1
27559 #define BOOST_PP_BOOL_121 1
27560 #define BOOST_PP_BOOL_122 1
27561 #define BOOST_PP_BOOL_123 1
27562 #define BOOST_PP_BOOL_124 1
27563 #define BOOST_PP_BOOL_125 1
27564 #define BOOST_PP_BOOL_126 1
27565 #define BOOST_PP_BOOL_127 1
27566 #define BOOST_PP_BOOL_128 1
27567 #define BOOST_PP_BOOL_129 1
27568 #define BOOST_PP_BOOL_130 1
27569 #define BOOST_PP_BOOL_131 1
27570 #define BOOST_PP_BOOL_132 1
27571 #define BOOST_PP_BOOL_133 1
27572 #define BOOST_PP_BOOL_134 1
27573 #define BOOST_PP_BOOL_135 1
27574 #define BOOST_PP_BOOL_136 1
27575 #define BOOST_PP_BOOL_137 1
27576 #define BOOST_PP_BOOL_138 1
27577 #define BOOST_PP_BOOL_139 1
27578 #define BOOST_PP_BOOL_140 1
27579 #define BOOST_PP_BOOL_141 1
27580 #define BOOST_PP_BOOL_142 1
27581 #define BOOST_PP_BOOL_143 1
27582 #define BOOST_PP_BOOL_144 1
27583 #define BOOST_PP_BOOL_145 1
27584 #define BOOST_PP_BOOL_146 1
27585 #define BOOST_PP_BOOL_147 1
27586 #define BOOST_PP_BOOL_148 1
27587 #define BOOST_PP_BOOL_149 1
27588 #define BOOST_PP_BOOL_150 1
27589 #define BOOST_PP_BOOL_151 1
27590 #define BOOST_PP_BOOL_152 1
27591 #define BOOST_PP_BOOL_153 1
27592 #define BOOST_PP_BOOL_154 1
27593 #define BOOST_PP_BOOL_155 1
27594 #define BOOST_PP_BOOL_156 1
27595 #define BOOST_PP_BOOL_157 1
27596 #define BOOST_PP_BOOL_158 1
27597 #define BOOST_PP_BOOL_159 1
27598 #define BOOST_PP_BOOL_160 1
27599 #define BOOST_PP_BOOL_161 1
27600 #define BOOST_PP_BOOL_162 1
27601 #define BOOST_PP_BOOL_163 1
27602 #define BOOST_PP_BOOL_164 1
27603 #define BOOST_PP_BOOL_165 1
27604 #define BOOST_PP_BOOL_166 1
27605 #define BOOST_PP_BOOL_167 1
27606 #define BOOST_PP_BOOL_168 1
27607 #define BOOST_PP_BOOL_169 1
27608 #define BOOST_PP_BOOL_170 1
27609 #define BOOST_PP_BOOL_171 1
27610 #define BOOST_PP_BOOL_172 1
27611 #define BOOST_PP_BOOL_173 1
27612 #define BOOST_PP_BOOL_174 1
27613 #define BOOST_PP_BOOL_175 1
27614 #define BOOST_PP_BOOL_176 1
27615 #define BOOST_PP_BOOL_177 1
27616 #define BOOST_PP_BOOL_178 1
27617 #define BOOST_PP_BOOL_179 1
27618 #define BOOST_PP_BOOL_180 1
27619 #define BOOST_PP_BOOL_181 1
27620 #define BOOST_PP_BOOL_182 1
27621 #define BOOST_PP_BOOL_183 1
27622 #define BOOST_PP_BOOL_184 1
27623 #define BOOST_PP_BOOL_185 1
27624 #define BOOST_PP_BOOL_186 1
27625 #define BOOST_PP_BOOL_187 1
27626 #define BOOST_PP_BOOL_188 1
27627 #define BOOST_PP_BOOL_189 1
27628 #define BOOST_PP_BOOL_190 1
27629 #define BOOST_PP_BOOL_191 1
27630 #define BOOST_PP_BOOL_192 1
27631 #define BOOST_PP_BOOL_193 1
27632 #define BOOST_PP_BOOL_194 1
27633 #define BOOST_PP_BOOL_195 1
27634 #define BOOST_PP_BOOL_196 1
27635 #define BOOST_PP_BOOL_197 1
27636 #define BOOST_PP_BOOL_198 1
27637 #define BOOST_PP_BOOL_199 1
27638 #define BOOST_PP_BOOL_200 1
27639 #define BOOST_PP_BOOL_201 1
27640 #define BOOST_PP_BOOL_202 1
27641 #define BOOST_PP_BOOL_203 1
27642 #define BOOST_PP_BOOL_204 1
27643 #define BOOST_PP_BOOL_205 1
27644 #define BOOST_PP_BOOL_206 1
27645 #define BOOST_PP_BOOL_207 1
27646 #define BOOST_PP_BOOL_208 1
27647 #define BOOST_PP_BOOL_209 1
27648 #define BOOST_PP_BOOL_210 1
27649 #define BOOST_PP_BOOL_211 1
27650 #define BOOST_PP_BOOL_212 1
27651 #define BOOST_PP_BOOL_213 1
27652 #define BOOST_PP_BOOL_214 1
27653 #define BOOST_PP_BOOL_215 1
27654 #define BOOST_PP_BOOL_216 1
27655 #define BOOST_PP_BOOL_217 1
27656 #define BOOST_PP_BOOL_218 1
27657 #define BOOST_PP_BOOL_219 1
27658 #define BOOST_PP_BOOL_220 1
27659 #define BOOST_PP_BOOL_221 1
27660 #define BOOST_PP_BOOL_222 1
27661 #define BOOST_PP_BOOL_223 1
27662 #define BOOST_PP_BOOL_224 1
27663 #define BOOST_PP_BOOL_225 1
27664 #define BOOST_PP_BOOL_226 1
27665 #define BOOST_PP_BOOL_227 1
27666 #define BOOST_PP_BOOL_228 1
27667 #define BOOST_PP_BOOL_229 1
27668 #define BOOST_PP_BOOL_230 1
27669 #define BOOST_PP_BOOL_231 1
27670 #define BOOST_PP_BOOL_232 1
27671 #define BOOST_PP_BOOL_233 1
27672 #define BOOST_PP_BOOL_234 1
27673 #define BOOST_PP_BOOL_235 1
27674 #define BOOST_PP_BOOL_236 1
27675 #define BOOST_PP_BOOL_237 1
27676 #define BOOST_PP_BOOL_238 1
27677 #define BOOST_PP_BOOL_239 1
27678 #define BOOST_PP_BOOL_240 1
27679 #define BOOST_PP_BOOL_241 1
27680 #define BOOST_PP_BOOL_242 1
27681 #define BOOST_PP_BOOL_243 1
27682 #define BOOST_PP_BOOL_244 1
27683 #define BOOST_PP_BOOL_245 1
27684 #define BOOST_PP_BOOL_246 1
27685 #define BOOST_PP_BOOL_247 1
27686 #define BOOST_PP_BOOL_248 1
27687 #define BOOST_PP_BOOL_249 1
27688 #define BOOST_PP_BOOL_250 1
27689 #define BOOST_PP_BOOL_251 1
27690 #define BOOST_PP_BOOL_252 1
27691 #define BOOST_PP_BOOL_253 1
27692 #define BOOST_PP_BOOL_254 1
27693 #define BOOST_PP_BOOL_255 1
27694 #define BOOST_PP_BOOL_256 1
27695 # 20 "/usr/include/boost/preprocessor/control/if.hpp" 2 3 4
27696
27697
27698
27699
27700 #define BOOST_PP_IF(cond,t,f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f)
27701 # 19 "/usr/include/boost/preprocessor/punctuation/comma_if.hpp" 2 3 4
27702 # 1 "/usr/include/boost/preprocessor/facilities/empty.hpp" 1 3 4
27703 # 15 "/usr/include/boost/preprocessor/facilities/empty.hpp" 3 4
27704 #define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP 
27705
27706
27707
27708 #define BOOST_PP_EMPTY() 
27709 # 20 "/usr/include/boost/preprocessor/punctuation/comma_if.hpp" 2 3 4
27710 # 1 "/usr/include/boost/preprocessor/punctuation/comma.hpp" 1 3 4
27711 # 15 "/usr/include/boost/preprocessor/punctuation/comma.hpp" 3 4
27712 #define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP 
27713
27714
27715
27716 #define BOOST_PP_COMMA() ,
27717 # 21 "/usr/include/boost/preprocessor/punctuation/comma_if.hpp" 2 3 4
27718
27719
27720
27721
27722 #define BOOST_PP_COMMA_IF(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)()
27723 # 16 "/usr/include/boost/preprocessor/comma_if.hpp" 2 3 4
27724 # 46 "/usr/include/boost/mpl/aux_/preprocessor/params.hpp" 2 3 4
27725 # 1 "/usr/include/boost/preprocessor/repeat.hpp" 1 3 4
27726 # 13 "/usr/include/boost/preprocessor/repeat.hpp" 3 4
27727 #define BOOST_PREPROCESSOR_REPEAT_HPP 
27728
27729 # 1 "/usr/include/boost/preprocessor/repetition/repeat.hpp" 1 3 4
27730 # 15 "/usr/include/boost/preprocessor/repetition/repeat.hpp" 3 4
27731 #define BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP 
27732
27733
27734
27735 # 1 "/usr/include/boost/preprocessor/debug/error.hpp" 1 3 4
27736 # 13 "/usr/include/boost/preprocessor/debug/error.hpp" 3 4
27737 #define BOOST_PREPROCESSOR_DEBUG_ERROR_HPP 
27738
27739
27740
27741
27742
27743
27744
27745 #define BOOST_PP_ERROR(code) BOOST_PP_CAT(BOOST_PP_ERROR_, code)
27746
27747
27748 #define BOOST_PP_ERROR_0x0000 BOOST_PP_ERROR(0x0000, BOOST_PP_INDEX_OUT_OF_BOUNDS)
27749 #define BOOST_PP_ERROR_0x0001 BOOST_PP_ERROR(0x0001, BOOST_PP_WHILE_OVERFLOW)
27750 #define BOOST_PP_ERROR_0x0002 BOOST_PP_ERROR(0x0002, BOOST_PP_FOR_OVERFLOW)
27751 #define BOOST_PP_ERROR_0x0003 BOOST_PP_ERROR(0x0003, BOOST_PP_REPEAT_OVERFLOW)
27752 #define BOOST_PP_ERROR_0x0004 BOOST_PP_ERROR(0x0004, BOOST_PP_LIST_FOLD_OVERFLOW)
27753 #define BOOST_PP_ERROR_0x0005 BOOST_PP_ERROR(0x0005, BOOST_PP_SEQ_FOLD_OVERFLOW)
27754 #define BOOST_PP_ERROR_0x0006 BOOST_PP_ERROR(0x0006, BOOST_PP_ARITHMETIC_OVERFLOW)
27755 #define BOOST_PP_ERROR_0x0007 BOOST_PP_ERROR(0x0007, BOOST_PP_DIVISION_BY_ZERO)
27756 # 20 "/usr/include/boost/preprocessor/repetition/repeat.hpp" 2 3 4
27757 # 1 "/usr/include/boost/preprocessor/detail/auto_rec.hpp" 1 3 4
27758 # 19 "/usr/include/boost/preprocessor/detail/auto_rec.hpp" 3 4
27759 #define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP 
27760
27761
27762
27763
27764
27765 #define BOOST_PP_AUTO_REC(pred,n) BOOST_PP_NODE_ENTRY_ ## n(pred)
27766
27767 #define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
27768 #define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
27769 #define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
27770 #define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)
27771 #define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)
27772 #define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)
27773 #define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)
27774 #define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)
27775
27776 #define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)
27777 #define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)
27778 #define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)
27779 #define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)
27780 #define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)
27781 #define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)
27782 #define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)
27783 #define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2)
27784 #define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4)
27785 #define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)
27786 #define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6)
27787 #define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8)
27788 #define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)
27789 #define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)
27790 #define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10)
27791 #define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12)
27792 #define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)
27793 #define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14)
27794 #define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16)
27795 #define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)
27796 #define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)
27797 #define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)
27798 #define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18)
27799 #define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20)
27800 #define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)
27801 #define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22)
27802 #define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24)
27803 #define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)
27804 #define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)
27805 #define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26)
27806 #define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28)
27807 #define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)
27808 #define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30)
27809 #define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32)
27810 #define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)
27811 #define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)
27812 #define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)
27813 #define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)
27814 #define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34)
27815 #define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36)
27816 #define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)
27817 #define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38)
27818 #define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40)
27819 #define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)
27820 #define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)
27821 #define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42)
27822 #define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44)
27823 #define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)
27824 #define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46)
27825 #define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48)
27826 #define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)
27827 #define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)
27828 #define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)
27829 #define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50)
27830 #define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52)
27831 #define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)
27832 #define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54)
27833 #define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56)
27834 #define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)
27835 #define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)
27836 #define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58)
27837 #define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60)
27838 #define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)
27839 #define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62)
27840 #define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64)
27841 #define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)
27842 #define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)
27843 #define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)
27844 #define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)
27845 #define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)
27846 #define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66)
27847 #define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68)
27848 #define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)
27849 #define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70)
27850 #define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72)
27851 #define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)
27852 #define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)
27853 #define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74)
27854 #define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76)
27855 #define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)
27856 #define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78)
27857 #define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80)
27858 #define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)
27859 #define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)
27860 #define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)
27861 #define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82)
27862 #define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84)
27863 #define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)
27864 #define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86)
27865 #define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88)
27866 #define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)
27867 #define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)
27868 #define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90)
27869 #define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92)
27870 #define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)
27871 #define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94)
27872 #define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96)
27873 #define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)
27874 #define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)
27875 #define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)
27876 #define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)
27877 #define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98)
27878 #define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100)
27879 #define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)
27880 #define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102)
27881 #define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104)
27882 #define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)
27883 #define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)
27884 #define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106)
27885 #define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108)
27886 #define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)
27887 #define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110)
27888 #define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112)
27889 #define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)
27890 #define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)
27891 #define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115)
27892 #define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114)
27893 #define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116)
27894 #define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119)
27895 #define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118)
27896 #define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120)
27897 #define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126)
27898 #define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123)
27899 #define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122)
27900 #define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124)
27901 #define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127)
27902 #define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126)
27903 #define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128)
27904 #define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224)
27905 #define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176)
27906 #define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152)
27907 #define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140)
27908 #define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134)
27909 #define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131)
27910 #define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130)
27911 #define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132)
27912 #define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135)
27913 #define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134)
27914 #define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136)
27915 #define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142)
27916 #define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139)
27917 #define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138)
27918 #define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140)
27919 #define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143)
27920 #define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142)
27921 #define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144)
27922 #define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156)
27923 #define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150)
27924 #define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147)
27925 #define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146)
27926 #define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148)
27927 #define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151)
27928 #define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150)
27929 #define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152)
27930 #define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158)
27931 #define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155)
27932 #define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154)
27933 #define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156)
27934 #define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159)
27935 #define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158)
27936 #define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160)
27937 #define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184)
27938 #define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172)
27939 #define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166)
27940 #define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163)
27941 #define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162)
27942 #define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164)
27943 #define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167)
27944 #define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166)
27945 #define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168)
27946 #define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174)
27947 #define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171)
27948 #define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170)
27949 #define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172)
27950 #define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175)
27951 #define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174)
27952 #define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176)
27953 #define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188)
27954 #define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182)
27955 #define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179)
27956 #define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178)
27957 #define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180)
27958 #define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183)
27959 #define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182)
27960 #define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184)
27961 #define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190)
27962 #define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187)
27963 #define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186)
27964 #define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188)
27965 #define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191)
27966 #define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190)
27967 #define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192)
27968 #define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240)
27969 #define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216)
27970 #define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204)
27971 #define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198)
27972 #define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195)
27973 #define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194)
27974 #define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196)
27975 #define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199)
27976 #define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198)
27977 #define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200)
27978 #define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206)
27979 #define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203)
27980 #define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202)
27981 #define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204)
27982 #define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207)
27983 #define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206)
27984 #define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208)
27985 #define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220)
27986 #define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214)
27987 #define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211)
27988 #define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210)
27989 #define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212)
27990 #define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215)
27991 #define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214)
27992 #define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216)
27993 #define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222)
27994 #define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219)
27995 #define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218)
27996 #define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220)
27997 #define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223)
27998 #define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222)
27999 #define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224)
28000 #define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248)
28001 #define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236)
28002 #define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230)
28003 #define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227)
28004 #define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226)
28005 #define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228)
28006 #define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231)
28007 #define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230)
28008 #define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232)
28009 #define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238)
28010 #define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235)
28011 #define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234)
28012 #define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236)
28013 #define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239)
28014 #define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238)
28015 #define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240)
28016 #define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252)
28017 #define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246)
28018 #define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243)
28019 #define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242)
28020 #define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244)
28021 #define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247)
28022 #define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246)
28023 #define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248)
28024 #define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254)
28025 #define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251)
28026 #define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250)
28027 #define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252)
28028 #define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255)
28029 #define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254)
28030 #define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256)
28031 # 21 "/usr/include/boost/preprocessor/repetition/repeat.hpp" 2 3 4
28032 # 1 "/usr/include/boost/preprocessor/tuple/eat.hpp" 1 3 4
28033 # 15 "/usr/include/boost/preprocessor/tuple/eat.hpp" 3 4
28034 #define BOOST_PREPROCESSOR_TUPLE_EAT_HPP 
28035
28036
28037
28038
28039
28040
28041 #define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_I(size)
28042
28043
28044
28045
28046
28047 #define BOOST_PP_TUPLE_EAT_I(size) BOOST_PP_TUPLE_EAT_ ## size
28048
28049 #define BOOST_PP_TUPLE_EAT_0() 
28050 #define BOOST_PP_TUPLE_EAT_1(a) 
28051 #define BOOST_PP_TUPLE_EAT_2(a,b) 
28052 #define BOOST_PP_TUPLE_EAT_3(a,b,c) 
28053 #define BOOST_PP_TUPLE_EAT_4(a,b,c,d) 
28054 #define BOOST_PP_TUPLE_EAT_5(a,b,c,d,e) 
28055 #define BOOST_PP_TUPLE_EAT_6(a,b,c,d,e,f) 
28056 #define BOOST_PP_TUPLE_EAT_7(a,b,c,d,e,f,g) 
28057 #define BOOST_PP_TUPLE_EAT_8(a,b,c,d,e,f,g,h) 
28058 #define BOOST_PP_TUPLE_EAT_9(a,b,c,d,e,f,g,h,i) 
28059 #define BOOST_PP_TUPLE_EAT_10(a,b,c,d,e,f,g,h,i,j) 
28060 #define BOOST_PP_TUPLE_EAT_11(a,b,c,d,e,f,g,h,i,j,k) 
28061 #define BOOST_PP_TUPLE_EAT_12(a,b,c,d,e,f,g,h,i,j,k,l) 
28062 #define BOOST_PP_TUPLE_EAT_13(a,b,c,d,e,f,g,h,i,j,k,l,m) 
28063 #define BOOST_PP_TUPLE_EAT_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) 
28064 #define BOOST_PP_TUPLE_EAT_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) 
28065 #define BOOST_PP_TUPLE_EAT_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) 
28066 #define BOOST_PP_TUPLE_EAT_17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) 
28067 #define BOOST_PP_TUPLE_EAT_18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) 
28068 #define BOOST_PP_TUPLE_EAT_19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) 
28069 #define BOOST_PP_TUPLE_EAT_20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) 
28070 #define BOOST_PP_TUPLE_EAT_21(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) 
28071 #define BOOST_PP_TUPLE_EAT_22(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) 
28072 #define BOOST_PP_TUPLE_EAT_23(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) 
28073 #define BOOST_PP_TUPLE_EAT_24(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) 
28074 #define BOOST_PP_TUPLE_EAT_25(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) 
28075 # 22 "/usr/include/boost/preprocessor/repetition/repeat.hpp" 2 3 4
28076
28077
28078
28079
28080
28081
28082
28083 #define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
28084
28085 #define BOOST_PP_REPEAT_P(n) BOOST_PP_CAT(BOOST_PP_REPEAT_CHECK_, BOOST_PP_REPEAT_ ## n(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL))
28086
28087 #define BOOST_PP_REPEAT_CHECK_BOOST_PP_NIL 1
28088 #define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_1(c,m,d) 0
28089 #define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_2(c,m,d) 0
28090 #define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_3(c,m,d) 0
28091
28092 #define BOOST_PP_REPEAT_1(c,m,d) BOOST_PP_REPEAT_1_I(c, m, d)
28093 #define BOOST_PP_REPEAT_2(c,m,d) BOOST_PP_REPEAT_2_I(c, m, d)
28094 #define BOOST_PP_REPEAT_3(c,m,d) BOOST_PP_REPEAT_3_I(c, m, d)
28095 #define BOOST_PP_REPEAT_4(c,m,d) BOOST_PP_ERROR(0x0003)
28096
28097 #define BOOST_PP_REPEAT_1_I(c,m,d) BOOST_PP_REPEAT_1_ ## c(m, d)
28098 #define BOOST_PP_REPEAT_2_I(c,m,d) BOOST_PP_REPEAT_2_ ## c(m, d)
28099 #define BOOST_PP_REPEAT_3_I(c,m,d) BOOST_PP_REPEAT_3_ ## c(m, d)
28100
28101 #define BOOST_PP_REPEAT_1ST BOOST_PP_REPEAT_1
28102 #define BOOST_PP_REPEAT_2ND BOOST_PP_REPEAT_2
28103 #define BOOST_PP_REPEAT_3RD BOOST_PP_REPEAT_3
28104
28105 #define BOOST_PP_REPEAT_1_0(m,d) 
28106 #define BOOST_PP_REPEAT_1_1(m,d) m(2, 0, d)
28107 #define BOOST_PP_REPEAT_1_2(m,d) BOOST_PP_REPEAT_1_1(m, d) m(2, 1, d)
28108 #define BOOST_PP_REPEAT_1_3(m,d) BOOST_PP_REPEAT_1_2(m, d) m(2, 2, d)
28109 #define BOOST_PP_REPEAT_1_4(m,d) BOOST_PP_REPEAT_1_3(m, d) m(2, 3, d)
28110 #define BOOST_PP_REPEAT_1_5(m,d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d)
28111 #define BOOST_PP_REPEAT_1_6(m,d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d)
28112 #define BOOST_PP_REPEAT_1_7(m,d) BOOST_PP_REPEAT_1_6(m, d) m(2, 6, d)
28113 #define BOOST_PP_REPEAT_1_8(m,d) BOOST_PP_REPEAT_1_7(m, d) m(2, 7, d)
28114 #define BOOST_PP_REPEAT_1_9(m,d) BOOST_PP_REPEAT_1_8(m, d) m(2, 8, d)
28115 #define BOOST_PP_REPEAT_1_10(m,d) BOOST_PP_REPEAT_1_9(m, d) m(2, 9, d)
28116 #define BOOST_PP_REPEAT_1_11(m,d) BOOST_PP_REPEAT_1_10(m, d) m(2, 10, d)
28117 #define BOOST_PP_REPEAT_1_12(m,d) BOOST_PP_REPEAT_1_11(m, d) m(2, 11, d)
28118 #define BOOST_PP_REPEAT_1_13(m,d) BOOST_PP_REPEAT_1_12(m, d) m(2, 12, d)
28119 #define BOOST_PP_REPEAT_1_14(m,d) BOOST_PP_REPEAT_1_13(m, d) m(2, 13, d)
28120 #define BOOST_PP_REPEAT_1_15(m,d) BOOST_PP_REPEAT_1_14(m, d) m(2, 14, d)
28121 #define BOOST_PP_REPEAT_1_16(m,d) BOOST_PP_REPEAT_1_15(m, d) m(2, 15, d)
28122 #define BOOST_PP_REPEAT_1_17(m,d) BOOST_PP_REPEAT_1_16(m, d) m(2, 16, d)
28123 #define BOOST_PP_REPEAT_1_18(m,d) BOOST_PP_REPEAT_1_17(m, d) m(2, 17, d)
28124 #define BOOST_PP_REPEAT_1_19(m,d) BOOST_PP_REPEAT_1_18(m, d) m(2, 18, d)
28125 #define BOOST_PP_REPEAT_1_20(m,d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d)
28126 #define BOOST_PP_REPEAT_1_21(m,d) BOOST_PP_REPEAT_1_20(m, d) m(2, 20, d)
28127 #define BOOST_PP_REPEAT_1_22(m,d) BOOST_PP_REPEAT_1_21(m, d) m(2, 21, d)
28128 #define BOOST_PP_REPEAT_1_23(m,d) BOOST_PP_REPEAT_1_22(m, d) m(2, 22, d)
28129 #define BOOST_PP_REPEAT_1_24(m,d) BOOST_PP_REPEAT_1_23(m, d) m(2, 23, d)
28130 #define BOOST_PP_REPEAT_1_25(m,d) BOOST_PP_REPEAT_1_24(m, d) m(2, 24, d)
28131 #define BOOST_PP_REPEAT_1_26(m,d) BOOST_PP_REPEAT_1_25(m, d) m(2, 25, d)
28132 #define BOOST_PP_REPEAT_1_27(m,d) BOOST_PP_REPEAT_1_26(m, d) m(2, 26, d)
28133 #define BOOST_PP_REPEAT_1_28(m,d) BOOST_PP_REPEAT_1_27(m, d) m(2, 27, d)
28134 #define BOOST_PP_REPEAT_1_29(m,d) BOOST_PP_REPEAT_1_28(m, d) m(2, 28, d)
28135 #define BOOST_PP_REPEAT_1_30(m,d) BOOST_PP_REPEAT_1_29(m, d) m(2, 29, d)
28136 #define BOOST_PP_REPEAT_1_31(m,d) BOOST_PP_REPEAT_1_30(m, d) m(2, 30, d)
28137 #define BOOST_PP_REPEAT_1_32(m,d) BOOST_PP_REPEAT_1_31(m, d) m(2, 31, d)
28138 #define BOOST_PP_REPEAT_1_33(m,d) BOOST_PP_REPEAT_1_32(m, d) m(2, 32, d)
28139 #define BOOST_PP_REPEAT_1_34(m,d) BOOST_PP_REPEAT_1_33(m, d) m(2, 33, d)
28140 #define BOOST_PP_REPEAT_1_35(m,d) BOOST_PP_REPEAT_1_34(m, d) m(2, 34, d)
28141 #define BOOST_PP_REPEAT_1_36(m,d) BOOST_PP_REPEAT_1_35(m, d) m(2, 35, d)
28142 #define BOOST_PP_REPEAT_1_37(m,d) BOOST_PP_REPEAT_1_36(m, d) m(2, 36, d)
28143 #define BOOST_PP_REPEAT_1_38(m,d) BOOST_PP_REPEAT_1_37(m, d) m(2, 37, d)
28144 #define BOOST_PP_REPEAT_1_39(m,d) BOOST_PP_REPEAT_1_38(m, d) m(2, 38, d)
28145 #define BOOST_PP_REPEAT_1_40(m,d) BOOST_PP_REPEAT_1_39(m, d) m(2, 39, d)
28146 #define BOOST_PP_REPEAT_1_41(m,d) BOOST_PP_REPEAT_1_40(m, d) m(2, 40, d)
28147 #define BOOST_PP_REPEAT_1_42(m,d) BOOST_PP_REPEAT_1_41(m, d) m(2, 41, d)
28148 #define BOOST_PP_REPEAT_1_43(m,d) BOOST_PP_REPEAT_1_42(m, d) m(2, 42, d)
28149 #define BOOST_PP_REPEAT_1_44(m,d) BOOST_PP_REPEAT_1_43(m, d) m(2, 43, d)
28150 #define BOOST_PP_REPEAT_1_45(m,d) BOOST_PP_REPEAT_1_44(m, d) m(2, 44, d)
28151 #define BOOST_PP_REPEAT_1_46(m,d) BOOST_PP_REPEAT_1_45(m, d) m(2, 45, d)
28152 #define BOOST_PP_REPEAT_1_47(m,d) BOOST_PP_REPEAT_1_46(m, d) m(2, 46, d)
28153 #define BOOST_PP_REPEAT_1_48(m,d) BOOST_PP_REPEAT_1_47(m, d) m(2, 47, d)
28154 #define BOOST_PP_REPEAT_1_49(m,d) BOOST_PP_REPEAT_1_48(m, d) m(2, 48, d)
28155 #define BOOST_PP_REPEAT_1_50(m,d) BOOST_PP_REPEAT_1_49(m, d) m(2, 49, d)
28156 #define BOOST_PP_REPEAT_1_51(m,d) BOOST_PP_REPEAT_1_50(m, d) m(2, 50, d)
28157 #define BOOST_PP_REPEAT_1_52(m,d) BOOST_PP_REPEAT_1_51(m, d) m(2, 51, d)
28158 #define BOOST_PP_REPEAT_1_53(m,d) BOOST_PP_REPEAT_1_52(m, d) m(2, 52, d)
28159 #define BOOST_PP_REPEAT_1_54(m,d) BOOST_PP_REPEAT_1_53(m, d) m(2, 53, d)
28160 #define BOOST_PP_REPEAT_1_55(m,d) BOOST_PP_REPEAT_1_54(m, d) m(2, 54, d)
28161 #define BOOST_PP_REPEAT_1_56(m,d) BOOST_PP_REPEAT_1_55(m, d) m(2, 55, d)
28162 #define BOOST_PP_REPEAT_1_57(m,d) BOOST_PP_REPEAT_1_56(m, d) m(2, 56, d)
28163 #define BOOST_PP_REPEAT_1_58(m,d) BOOST_PP_REPEAT_1_57(m, d) m(2, 57, d)
28164 #define BOOST_PP_REPEAT_1_59(m,d) BOOST_PP_REPEAT_1_58(m, d) m(2, 58, d)
28165 #define BOOST_PP_REPEAT_1_60(m,d) BOOST_PP_REPEAT_1_59(m, d) m(2, 59, d)
28166 #define BOOST_PP_REPEAT_1_61(m,d) BOOST_PP_REPEAT_1_60(m, d) m(2, 60, d)
28167 #define BOOST_PP_REPEAT_1_62(m,d) BOOST_PP_REPEAT_1_61(m, d) m(2, 61, d)
28168 #define BOOST_PP_REPEAT_1_63(m,d) BOOST_PP_REPEAT_1_62(m, d) m(2, 62, d)
28169 #define BOOST_PP_REPEAT_1_64(m,d) BOOST_PP_REPEAT_1_63(m, d) m(2, 63, d)
28170 #define BOOST_PP_REPEAT_1_65(m,d) BOOST_PP_REPEAT_1_64(m, d) m(2, 64, d)
28171 #define BOOST_PP_REPEAT_1_66(m,d) BOOST_PP_REPEAT_1_65(m, d) m(2, 65, d)
28172 #define BOOST_PP_REPEAT_1_67(m,d) BOOST_PP_REPEAT_1_66(m, d) m(2, 66, d)
28173 #define BOOST_PP_REPEAT_1_68(m,d) BOOST_PP_REPEAT_1_67(m, d) m(2, 67, d)
28174 #define BOOST_PP_REPEAT_1_69(m,d) BOOST_PP_REPEAT_1_68(m, d) m(2, 68, d)
28175 #define BOOST_PP_REPEAT_1_70(m,d) BOOST_PP_REPEAT_1_69(m, d) m(2, 69, d)
28176 #define BOOST_PP_REPEAT_1_71(m,d) BOOST_PP_REPEAT_1_70(m, d) m(2, 70, d)
28177 #define BOOST_PP_REPEAT_1_72(m,d) BOOST_PP_REPEAT_1_71(m, d) m(2, 71, d)
28178 #define BOOST_PP_REPEAT_1_73(m,d) BOOST_PP_REPEAT_1_72(m, d) m(2, 72, d)
28179 #define BOOST_PP_REPEAT_1_74(m,d) BOOST_PP_REPEAT_1_73(m, d) m(2, 73, d)
28180 #define BOOST_PP_REPEAT_1_75(m,d) BOOST_PP_REPEAT_1_74(m, d) m(2, 74, d)
28181 #define BOOST_PP_REPEAT_1_76(m,d) BOOST_PP_REPEAT_1_75(m, d) m(2, 75, d)
28182 #define BOOST_PP_REPEAT_1_77(m,d) BOOST_PP_REPEAT_1_76(m, d) m(2, 76, d)
28183 #define BOOST_PP_REPEAT_1_78(m,d) BOOST_PP_REPEAT_1_77(m, d) m(2, 77, d)
28184 #define BOOST_PP_REPEAT_1_79(m,d) BOOST_PP_REPEAT_1_78(m, d) m(2, 78, d)
28185 #define BOOST_PP_REPEAT_1_80(m,d) BOOST_PP_REPEAT_1_79(m, d) m(2, 79, d)
28186 #define BOOST_PP_REPEAT_1_81(m,d) BOOST_PP_REPEAT_1_80(m, d) m(2, 80, d)
28187 #define BOOST_PP_REPEAT_1_82(m,d) BOOST_PP_REPEAT_1_81(m, d) m(2, 81, d)
28188 #define BOOST_PP_REPEAT_1_83(m,d) BOOST_PP_REPEAT_1_82(m, d) m(2, 82, d)
28189 #define BOOST_PP_REPEAT_1_84(m,d) BOOST_PP_REPEAT_1_83(m, d) m(2, 83, d)
28190 #define BOOST_PP_REPEAT_1_85(m,d) BOOST_PP_REPEAT_1_84(m, d) m(2, 84, d)
28191 #define BOOST_PP_REPEAT_1_86(m,d) BOOST_PP_REPEAT_1_85(m, d) m(2, 85, d)
28192 #define BOOST_PP_REPEAT_1_87(m,d) BOOST_PP_REPEAT_1_86(m, d) m(2, 86, d)
28193 #define BOOST_PP_REPEAT_1_88(m,d) BOOST_PP_REPEAT_1_87(m, d) m(2, 87, d)
28194 #define BOOST_PP_REPEAT_1_89(m,d) BOOST_PP_REPEAT_1_88(m, d) m(2, 88, d)
28195 #define BOOST_PP_REPEAT_1_90(m,d) BOOST_PP_REPEAT_1_89(m, d) m(2, 89, d)
28196 #define BOOST_PP_REPEAT_1_91(m,d) BOOST_PP_REPEAT_1_90(m, d) m(2, 90, d)
28197 #define BOOST_PP_REPEAT_1_92(m,d) BOOST_PP_REPEAT_1_91(m, d) m(2, 91, d)
28198 #define BOOST_PP_REPEAT_1_93(m,d) BOOST_PP_REPEAT_1_92(m, d) m(2, 92, d)
28199 #define BOOST_PP_REPEAT_1_94(m,d) BOOST_PP_REPEAT_1_93(m, d) m(2, 93, d)
28200 #define BOOST_PP_REPEAT_1_95(m,d) BOOST_PP_REPEAT_1_94(m, d) m(2, 94, d)
28201 #define BOOST_PP_REPEAT_1_96(m,d) BOOST_PP_REPEAT_1_95(m, d) m(2, 95, d)
28202 #define BOOST_PP_REPEAT_1_97(m,d) BOOST_PP_REPEAT_1_96(m, d) m(2, 96, d)
28203 #define BOOST_PP_REPEAT_1_98(m,d) BOOST_PP_REPEAT_1_97(m, d) m(2, 97, d)
28204 #define BOOST_PP_REPEAT_1_99(m,d) BOOST_PP_REPEAT_1_98(m, d) m(2, 98, d)
28205 #define BOOST_PP_REPEAT_1_100(m,d) BOOST_PP_REPEAT_1_99(m, d) m(2, 99, d)
28206 #define BOOST_PP_REPEAT_1_101(m,d) BOOST_PP_REPEAT_1_100(m, d) m(2, 100, d)
28207 #define BOOST_PP_REPEAT_1_102(m,d) BOOST_PP_REPEAT_1_101(m, d) m(2, 101, d)
28208 #define BOOST_PP_REPEAT_1_103(m,d) BOOST_PP_REPEAT_1_102(m, d) m(2, 102, d)
28209 #define BOOST_PP_REPEAT_1_104(m,d) BOOST_PP_REPEAT_1_103(m, d) m(2, 103, d)
28210 #define BOOST_PP_REPEAT_1_105(m,d) BOOST_PP_REPEAT_1_104(m, d) m(2, 104, d)
28211 #define BOOST_PP_REPEAT_1_106(m,d) BOOST_PP_REPEAT_1_105(m, d) m(2, 105, d)
28212 #define BOOST_PP_REPEAT_1_107(m,d) BOOST_PP_REPEAT_1_106(m, d) m(2, 106, d)
28213 #define BOOST_PP_REPEAT_1_108(m,d) BOOST_PP_REPEAT_1_107(m, d) m(2, 107, d)
28214 #define BOOST_PP_REPEAT_1_109(m,d) BOOST_PP_REPEAT_1_108(m, d) m(2, 108, d)
28215 #define BOOST_PP_REPEAT_1_110(m,d) BOOST_PP_REPEAT_1_109(m, d) m(2, 109, d)
28216 #define BOOST_PP_REPEAT_1_111(m,d) BOOST_PP_REPEAT_1_110(m, d) m(2, 110, d)
28217 #define BOOST_PP_REPEAT_1_112(m,d) BOOST_PP_REPEAT_1_111(m, d) m(2, 111, d)
28218 #define BOOST_PP_REPEAT_1_113(m,d) BOOST_PP_REPEAT_1_112(m, d) m(2, 112, d)
28219 #define BOOST_PP_REPEAT_1_114(m,d) BOOST_PP_REPEAT_1_113(m, d) m(2, 113, d)
28220 #define BOOST_PP_REPEAT_1_115(m,d) BOOST_PP_REPEAT_1_114(m, d) m(2, 114, d)
28221 #define BOOST_PP_REPEAT_1_116(m,d) BOOST_PP_REPEAT_1_115(m, d) m(2, 115, d)
28222 #define BOOST_PP_REPEAT_1_117(m,d) BOOST_PP_REPEAT_1_116(m, d) m(2, 116, d)
28223 #define BOOST_PP_REPEAT_1_118(m,d) BOOST_PP_REPEAT_1_117(m, d) m(2, 117, d)
28224 #define BOOST_PP_REPEAT_1_119(m,d) BOOST_PP_REPEAT_1_118(m, d) m(2, 118, d)
28225 #define BOOST_PP_REPEAT_1_120(m,d) BOOST_PP_REPEAT_1_119(m, d) m(2, 119, d)
28226 #define BOOST_PP_REPEAT_1_121(m,d) BOOST_PP_REPEAT_1_120(m, d) m(2, 120, d)
28227 #define BOOST_PP_REPEAT_1_122(m,d) BOOST_PP_REPEAT_1_121(m, d) m(2, 121, d)
28228 #define BOOST_PP_REPEAT_1_123(m,d) BOOST_PP_REPEAT_1_122(m, d) m(2, 122, d)
28229 #define BOOST_PP_REPEAT_1_124(m,d) BOOST_PP_REPEAT_1_123(m, d) m(2, 123, d)
28230 #define BOOST_PP_REPEAT_1_125(m,d) BOOST_PP_REPEAT_1_124(m, d) m(2, 124, d)
28231 #define BOOST_PP_REPEAT_1_126(m,d) BOOST_PP_REPEAT_1_125(m, d) m(2, 125, d)
28232 #define BOOST_PP_REPEAT_1_127(m,d) BOOST_PP_REPEAT_1_126(m, d) m(2, 126, d)
28233 #define BOOST_PP_REPEAT_1_128(m,d) BOOST_PP_REPEAT_1_127(m, d) m(2, 127, d)
28234 #define BOOST_PP_REPEAT_1_129(m,d) BOOST_PP_REPEAT_1_128(m, d) m(2, 128, d)
28235 #define BOOST_PP_REPEAT_1_130(m,d) BOOST_PP_REPEAT_1_129(m, d) m(2, 129, d)
28236 #define BOOST_PP_REPEAT_1_131(m,d) BOOST_PP_REPEAT_1_130(m, d) m(2, 130, d)
28237 #define BOOST_PP_REPEAT_1_132(m,d) BOOST_PP_REPEAT_1_131(m, d) m(2, 131, d)
28238 #define BOOST_PP_REPEAT_1_133(m,d) BOOST_PP_REPEAT_1_132(m, d) m(2, 132, d)
28239 #define BOOST_PP_REPEAT_1_134(m,d) BOOST_PP_REPEAT_1_133(m, d) m(2, 133, d)
28240 #define BOOST_PP_REPEAT_1_135(m,d) BOOST_PP_REPEAT_1_134(m, d) m(2, 134, d)
28241 #define BOOST_PP_REPEAT_1_136(m,d) BOOST_PP_REPEAT_1_135(m, d) m(2, 135, d)
28242 #define BOOST_PP_REPEAT_1_137(m,d) BOOST_PP_REPEAT_1_136(m, d) m(2, 136, d)
28243 #define BOOST_PP_REPEAT_1_138(m,d) BOOST_PP_REPEAT_1_137(m, d) m(2, 137, d)
28244 #define BOOST_PP_REPEAT_1_139(m,d) BOOST_PP_REPEAT_1_138(m, d) m(2, 138, d)
28245 #define BOOST_PP_REPEAT_1_140(m,d) BOOST_PP_REPEAT_1_139(m, d) m(2, 139, d)
28246 #define BOOST_PP_REPEAT_1_141(m,d) BOOST_PP_REPEAT_1_140(m, d) m(2, 140, d)
28247 #define BOOST_PP_REPEAT_1_142(m,d) BOOST_PP_REPEAT_1_141(m, d) m(2, 141, d)
28248 #define BOOST_PP_REPEAT_1_143(m,d) BOOST_PP_REPEAT_1_142(m, d) m(2, 142, d)
28249 #define BOOST_PP_REPEAT_1_144(m,d) BOOST_PP_REPEAT_1_143(m, d) m(2, 143, d)
28250 #define BOOST_PP_REPEAT_1_145(m,d) BOOST_PP_REPEAT_1_144(m, d) m(2, 144, d)
28251 #define BOOST_PP_REPEAT_1_146(m,d) BOOST_PP_REPEAT_1_145(m, d) m(2, 145, d)
28252 #define BOOST_PP_REPEAT_1_147(m,d) BOOST_PP_REPEAT_1_146(m, d) m(2, 146, d)
28253 #define BOOST_PP_REPEAT_1_148(m,d) BOOST_PP_REPEAT_1_147(m, d) m(2, 147, d)
28254 #define BOOST_PP_REPEAT_1_149(m,d) BOOST_PP_REPEAT_1_148(m, d) m(2, 148, d)
28255 #define BOOST_PP_REPEAT_1_150(m,d) BOOST_PP_REPEAT_1_149(m, d) m(2, 149, d)
28256 #define BOOST_PP_REPEAT_1_151(m,d) BOOST_PP_REPEAT_1_150(m, d) m(2, 150, d)
28257 #define BOOST_PP_REPEAT_1_152(m,d) BOOST_PP_REPEAT_1_151(m, d) m(2, 151, d)
28258 #define BOOST_PP_REPEAT_1_153(m,d) BOOST_PP_REPEAT_1_152(m, d) m(2, 152, d)
28259 #define BOOST_PP_REPEAT_1_154(m,d) BOOST_PP_REPEAT_1_153(m, d) m(2, 153, d)
28260 #define BOOST_PP_REPEAT_1_155(m,d) BOOST_PP_REPEAT_1_154(m, d) m(2, 154, d)
28261 #define BOOST_PP_REPEAT_1_156(m,d) BOOST_PP_REPEAT_1_155(m, d) m(2, 155, d)
28262 #define BOOST_PP_REPEAT_1_157(m,d) BOOST_PP_REPEAT_1_156(m, d) m(2, 156, d)
28263 #define BOOST_PP_REPEAT_1_158(m,d) BOOST_PP_REPEAT_1_157(m, d) m(2, 157, d)
28264 #define BOOST_PP_REPEAT_1_159(m,d) BOOST_PP_REPEAT_1_158(m, d) m(2, 158, d)
28265 #define BOOST_PP_REPEAT_1_160(m,d) BOOST_PP_REPEAT_1_159(m, d) m(2, 159, d)
28266 #define BOOST_PP_REPEAT_1_161(m,d) BOOST_PP_REPEAT_1_160(m, d) m(2, 160, d)
28267 #define BOOST_PP_REPEAT_1_162(m,d) BOOST_PP_REPEAT_1_161(m, d) m(2, 161, d)
28268 #define BOOST_PP_REPEAT_1_163(m,d) BOOST_PP_REPEAT_1_162(m, d) m(2, 162, d)
28269 #define BOOST_PP_REPEAT_1_164(m,d) BOOST_PP_REPEAT_1_163(m, d) m(2, 163, d)
28270 #define BOOST_PP_REPEAT_1_165(m,d) BOOST_PP_REPEAT_1_164(m, d) m(2, 164, d)
28271 #define BOOST_PP_REPEAT_1_166(m,d) BOOST_PP_REPEAT_1_165(m, d) m(2, 165, d)
28272 #define BOOST_PP_REPEAT_1_167(m,d) BOOST_PP_REPEAT_1_166(m, d) m(2, 166, d)
28273 #define BOOST_PP_REPEAT_1_168(m,d) BOOST_PP_REPEAT_1_167(m, d) m(2, 167, d)
28274 #define BOOST_PP_REPEAT_1_169(m,d) BOOST_PP_REPEAT_1_168(m, d) m(2, 168, d)
28275 #define BOOST_PP_REPEAT_1_170(m,d) BOOST_PP_REPEAT_1_169(m, d) m(2, 169, d)
28276 #define BOOST_PP_REPEAT_1_171(m,d) BOOST_PP_REPEAT_1_170(m, d) m(2, 170, d)
28277 #define BOOST_PP_REPEAT_1_172(m,d) BOOST_PP_REPEAT_1_171(m, d) m(2, 171, d)
28278 #define BOOST_PP_REPEAT_1_173(m,d) BOOST_PP_REPEAT_1_172(m, d) m(2, 172, d)
28279 #define BOOST_PP_REPEAT_1_174(m,d) BOOST_PP_REPEAT_1_173(m, d) m(2, 173, d)
28280 #define BOOST_PP_REPEAT_1_175(m,d) BOOST_PP_REPEAT_1_174(m, d) m(2, 174, d)
28281 #define BOOST_PP_REPEAT_1_176(m,d) BOOST_PP_REPEAT_1_175(m, d) m(2, 175, d)
28282 #define BOOST_PP_REPEAT_1_177(m,d) BOOST_PP_REPEAT_1_176(m, d) m(2, 176, d)
28283 #define BOOST_PP_REPEAT_1_178(m,d) BOOST_PP_REPEAT_1_177(m, d) m(2, 177, d)
28284 #define BOOST_PP_REPEAT_1_179(m,d) BOOST_PP_REPEAT_1_178(m, d) m(2, 178, d)
28285 #define BOOST_PP_REPEAT_1_180(m,d) BOOST_PP_REPEAT_1_179(m, d) m(2, 179, d)
28286 #define BOOST_PP_REPEAT_1_181(m,d) BOOST_PP_REPEAT_1_180(m, d) m(2, 180, d)
28287 #define BOOST_PP_REPEAT_1_182(m,d) BOOST_PP_REPEAT_1_181(m, d) m(2, 181, d)
28288 #define BOOST_PP_REPEAT_1_183(m,d) BOOST_PP_REPEAT_1_182(m, d) m(2, 182, d)
28289 #define BOOST_PP_REPEAT_1_184(m,d) BOOST_PP_REPEAT_1_183(m, d) m(2, 183, d)
28290 #define BOOST_PP_REPEAT_1_185(m,d) BOOST_PP_REPEAT_1_184(m, d) m(2, 184, d)
28291 #define BOOST_PP_REPEAT_1_186(m,d) BOOST_PP_REPEAT_1_185(m, d) m(2, 185, d)
28292 #define BOOST_PP_REPEAT_1_187(m,d) BOOST_PP_REPEAT_1_186(m, d) m(2, 186, d)
28293 #define BOOST_PP_REPEAT_1_188(m,d) BOOST_PP_REPEAT_1_187(m, d) m(2, 187, d)
28294 #define BOOST_PP_REPEAT_1_189(m,d) BOOST_PP_REPEAT_1_188(m, d) m(2, 188, d)
28295 #define BOOST_PP_REPEAT_1_190(m,d) BOOST_PP_REPEAT_1_189(m, d) m(2, 189, d)
28296 #define BOOST_PP_REPEAT_1_191(m,d) BOOST_PP_REPEAT_1_190(m, d) m(2, 190, d)
28297 #define BOOST_PP_REPEAT_1_192(m,d) BOOST_PP_REPEAT_1_191(m, d) m(2, 191, d)
28298 #define BOOST_PP_REPEAT_1_193(m,d) BOOST_PP_REPEAT_1_192(m, d) m(2, 192, d)
28299 #define BOOST_PP_REPEAT_1_194(m,d) BOOST_PP_REPEAT_1_193(m, d) m(2, 193, d)
28300 #define BOOST_PP_REPEAT_1_195(m,d) BOOST_PP_REPEAT_1_194(m, d) m(2, 194, d)
28301 #define BOOST_PP_REPEAT_1_196(m,d) BOOST_PP_REPEAT_1_195(m, d) m(2, 195, d)
28302 #define BOOST_PP_REPEAT_1_197(m,d) BOOST_PP_REPEAT_1_196(m, d) m(2, 196, d)
28303 #define BOOST_PP_REPEAT_1_198(m,d) BOOST_PP_REPEAT_1_197(m, d) m(2, 197, d)
28304 #define BOOST_PP_REPEAT_1_199(m,d) BOOST_PP_REPEAT_1_198(m, d) m(2, 198, d)
28305 #define BOOST_PP_REPEAT_1_200(m,d) BOOST_PP_REPEAT_1_199(m, d) m(2, 199, d)
28306 #define BOOST_PP_REPEAT_1_201(m,d) BOOST_PP_REPEAT_1_200(m, d) m(2, 200, d)
28307 #define BOOST_PP_REPEAT_1_202(m,d) BOOST_PP_REPEAT_1_201(m, d) m(2, 201, d)
28308 #define BOOST_PP_REPEAT_1_203(m,d) BOOST_PP_REPEAT_1_202(m, d) m(2, 202, d)
28309 #define BOOST_PP_REPEAT_1_204(m,d) BOOST_PP_REPEAT_1_203(m, d) m(2, 203, d)
28310 #define BOOST_PP_REPEAT_1_205(m,d) BOOST_PP_REPEAT_1_204(m, d) m(2, 204, d)
28311 #define BOOST_PP_REPEAT_1_206(m,d) BOOST_PP_REPEAT_1_205(m, d) m(2, 205, d)
28312 #define BOOST_PP_REPEAT_1_207(m,d) BOOST_PP_REPEAT_1_206(m, d) m(2, 206, d)
28313 #define BOOST_PP_REPEAT_1_208(m,d) BOOST_PP_REPEAT_1_207(m, d) m(2, 207, d)
28314 #define BOOST_PP_REPEAT_1_209(m,d) BOOST_PP_REPEAT_1_208(m, d) m(2, 208, d)
28315 #define BOOST_PP_REPEAT_1_210(m,d) BOOST_PP_REPEAT_1_209(m, d) m(2, 209, d)
28316 #define BOOST_PP_REPEAT_1_211(m,d) BOOST_PP_REPEAT_1_210(m, d) m(2, 210, d)
28317 #define BOOST_PP_REPEAT_1_212(m,d) BOOST_PP_REPEAT_1_211(m, d) m(2, 211, d)
28318 #define BOOST_PP_REPEAT_1_213(m,d) BOOST_PP_REPEAT_1_212(m, d) m(2, 212, d)
28319 #define BOOST_PP_REPEAT_1_214(m,d) BOOST_PP_REPEAT_1_213(m, d) m(2, 213, d)
28320 #define BOOST_PP_REPEAT_1_215(m,d) BOOST_PP_REPEAT_1_214(m, d) m(2, 214, d)
28321 #define BOOST_PP_REPEAT_1_216(m,d) BOOST_PP_REPEAT_1_215(m, d) m(2, 215, d)
28322 #define BOOST_PP_REPEAT_1_217(m,d) BOOST_PP_REPEAT_1_216(m, d) m(2, 216, d)
28323 #define BOOST_PP_REPEAT_1_218(m,d) BOOST_PP_REPEAT_1_217(m, d) m(2, 217, d)
28324 #define BOOST_PP_REPEAT_1_219(m,d) BOOST_PP_REPEAT_1_218(m, d) m(2, 218, d)
28325 #define BOOST_PP_REPEAT_1_220(m,d) BOOST_PP_REPEAT_1_219(m, d) m(2, 219, d)
28326 #define BOOST_PP_REPEAT_1_221(m,d) BOOST_PP_REPEAT_1_220(m, d) m(2, 220, d)
28327 #define BOOST_PP_REPEAT_1_222(m,d) BOOST_PP_REPEAT_1_221(m, d) m(2, 221, d)
28328 #define BOOST_PP_REPEAT_1_223(m,d) BOOST_PP_REPEAT_1_222(m, d) m(2, 222, d)
28329 #define BOOST_PP_REPEAT_1_224(m,d) BOOST_PP_REPEAT_1_223(m, d) m(2, 223, d)
28330 #define BOOST_PP_REPEAT_1_225(m,d) BOOST_PP_REPEAT_1_224(m, d) m(2, 224, d)
28331 #define BOOST_PP_REPEAT_1_226(m,d) BOOST_PP_REPEAT_1_225(m, d) m(2, 225, d)
28332 #define BOOST_PP_REPEAT_1_227(m,d) BOOST_PP_REPEAT_1_226(m, d) m(2, 226, d)
28333 #define BOOST_PP_REPEAT_1_228(m,d) BOOST_PP_REPEAT_1_227(m, d) m(2, 227, d)
28334 #define BOOST_PP_REPEAT_1_229(m,d) BOOST_PP_REPEAT_1_228(m, d) m(2, 228, d)
28335 #define BOOST_PP_REPEAT_1_230(m,d) BOOST_PP_REPEAT_1_229(m, d) m(2, 229, d)
28336 #define BOOST_PP_REPEAT_1_231(m,d) BOOST_PP_REPEAT_1_230(m, d) m(2, 230, d)
28337 #define BOOST_PP_REPEAT_1_232(m,d) BOOST_PP_REPEAT_1_231(m, d) m(2, 231, d)
28338 #define BOOST_PP_REPEAT_1_233(m,d) BOOST_PP_REPEAT_1_232(m, d) m(2, 232, d)
28339 #define BOOST_PP_REPEAT_1_234(m,d) BOOST_PP_REPEAT_1_233(m, d) m(2, 233, d)
28340 #define BOOST_PP_REPEAT_1_235(m,d) BOOST_PP_REPEAT_1_234(m, d) m(2, 234, d)
28341 #define BOOST_PP_REPEAT_1_236(m,d) BOOST_PP_REPEAT_1_235(m, d) m(2, 235, d)
28342 #define BOOST_PP_REPEAT_1_237(m,d) BOOST_PP_REPEAT_1_236(m, d) m(2, 236, d)
28343 #define BOOST_PP_REPEAT_1_238(m,d) BOOST_PP_REPEAT_1_237(m, d) m(2, 237, d)
28344 #define BOOST_PP_REPEAT_1_239(m,d) BOOST_PP_REPEAT_1_238(m, d) m(2, 238, d)
28345 #define BOOST_PP_REPEAT_1_240(m,d) BOOST_PP_REPEAT_1_239(m, d) m(2, 239, d)
28346 #define BOOST_PP_REPEAT_1_241(m,d) BOOST_PP_REPEAT_1_240(m, d) m(2, 240, d)
28347 #define BOOST_PP_REPEAT_1_242(m,d) BOOST_PP_REPEAT_1_241(m, d) m(2, 241, d)
28348 #define BOOST_PP_REPEAT_1_243(m,d) BOOST_PP_REPEAT_1_242(m, d) m(2, 242, d)
28349 #define BOOST_PP_REPEAT_1_244(m,d) BOOST_PP_REPEAT_1_243(m, d) m(2, 243, d)
28350 #define BOOST_PP_REPEAT_1_245(m,d) BOOST_PP_REPEAT_1_244(m, d) m(2, 244, d)
28351 #define BOOST_PP_REPEAT_1_246(m,d) BOOST_PP_REPEAT_1_245(m, d) m(2, 245, d)
28352 #define BOOST_PP_REPEAT_1_247(m,d) BOOST_PP_REPEAT_1_246(m, d) m(2, 246, d)
28353 #define BOOST_PP_REPEAT_1_248(m,d) BOOST_PP_REPEAT_1_247(m, d) m(2, 247, d)
28354 #define BOOST_PP_REPEAT_1_249(m,d) BOOST_PP_REPEAT_1_248(m, d) m(2, 248, d)
28355 #define BOOST_PP_REPEAT_1_250(m,d) BOOST_PP_REPEAT_1_249(m, d) m(2, 249, d)
28356 #define BOOST_PP_REPEAT_1_251(m,d) BOOST_PP_REPEAT_1_250(m, d) m(2, 250, d)
28357 #define BOOST_PP_REPEAT_1_252(m,d) BOOST_PP_REPEAT_1_251(m, d) m(2, 251, d)
28358 #define BOOST_PP_REPEAT_1_253(m,d) BOOST_PP_REPEAT_1_252(m, d) m(2, 252, d)
28359 #define BOOST_PP_REPEAT_1_254(m,d) BOOST_PP_REPEAT_1_253(m, d) m(2, 253, d)
28360 #define BOOST_PP_REPEAT_1_255(m,d) BOOST_PP_REPEAT_1_254(m, d) m(2, 254, d)
28361 #define BOOST_PP_REPEAT_1_256(m,d) BOOST_PP_REPEAT_1_255(m, d) m(2, 255, d)
28362
28363 #define BOOST_PP_REPEAT_2_0(m,d) 
28364 #define BOOST_PP_REPEAT_2_1(m,d) m(3, 0, d)
28365 #define BOOST_PP_REPEAT_2_2(m,d) BOOST_PP_REPEAT_2_1(m, d) m(3, 1, d)
28366 #define BOOST_PP_REPEAT_2_3(m,d) BOOST_PP_REPEAT_2_2(m, d) m(3, 2, d)
28367 #define BOOST_PP_REPEAT_2_4(m,d) BOOST_PP_REPEAT_2_3(m, d) m(3, 3, d)
28368 #define BOOST_PP_REPEAT_2_5(m,d) BOOST_PP_REPEAT_2_4(m, d) m(3, 4, d)
28369 #define BOOST_PP_REPEAT_2_6(m,d) BOOST_PP_REPEAT_2_5(m, d) m(3, 5, d)
28370 #define BOOST_PP_REPEAT_2_7(m,d) BOOST_PP_REPEAT_2_6(m, d) m(3, 6, d)
28371 #define BOOST_PP_REPEAT_2_8(m,d) BOOST_PP_REPEAT_2_7(m, d) m(3, 7, d)
28372 #define BOOST_PP_REPEAT_2_9(m,d) BOOST_PP_REPEAT_2_8(m, d) m(3, 8, d)
28373 #define BOOST_PP_REPEAT_2_10(m,d) BOOST_PP_REPEAT_2_9(m, d) m(3, 9, d)
28374 #define BOOST_PP_REPEAT_2_11(m,d) BOOST_PP_REPEAT_2_10(m, d) m(3, 10, d)
28375 #define BOOST_PP_REPEAT_2_12(m,d) BOOST_PP_REPEAT_2_11(m, d) m(3, 11, d)
28376 #define BOOST_PP_REPEAT_2_13(m,d) BOOST_PP_REPEAT_2_12(m, d) m(3, 12, d)
28377 #define BOOST_PP_REPEAT_2_14(m,d) BOOST_PP_REPEAT_2_13(m, d) m(3, 13, d)
28378 #define BOOST_PP_REPEAT_2_15(m,d) BOOST_PP_REPEAT_2_14(m, d) m(3, 14, d)
28379 #define BOOST_PP_REPEAT_2_16(m,d) BOOST_PP_REPEAT_2_15(m, d) m(3, 15, d)
28380 #define BOOST_PP_REPEAT_2_17(m,d) BOOST_PP_REPEAT_2_16(m, d) m(3, 16, d)
28381 #define BOOST_PP_REPEAT_2_18(m,d) BOOST_PP_REPEAT_2_17(m, d) m(3, 17, d)
28382 #define BOOST_PP_REPEAT_2_19(m,d) BOOST_PP_REPEAT_2_18(m, d) m(3, 18, d)
28383 #define BOOST_PP_REPEAT_2_20(m,d) BOOST_PP_REPEAT_2_19(m, d) m(3, 19, d)
28384 #define BOOST_PP_REPEAT_2_21(m,d) BOOST_PP_REPEAT_2_20(m, d) m(3, 20, d)
28385 #define BOOST_PP_REPEAT_2_22(m,d) BOOST_PP_REPEAT_2_21(m, d) m(3, 21, d)
28386 #define BOOST_PP_REPEAT_2_23(m,d) BOOST_PP_REPEAT_2_22(m, d) m(3, 22, d)
28387 #define BOOST_PP_REPEAT_2_24(m,d) BOOST_PP_REPEAT_2_23(m, d) m(3, 23, d)
28388 #define BOOST_PP_REPEAT_2_25(m,d) BOOST_PP_REPEAT_2_24(m, d) m(3, 24, d)
28389 #define BOOST_PP_REPEAT_2_26(m,d) BOOST_PP_REPEAT_2_25(m, d) m(3, 25, d)
28390 #define BOOST_PP_REPEAT_2_27(m,d) BOOST_PP_REPEAT_2_26(m, d) m(3, 26, d)
28391 #define BOOST_PP_REPEAT_2_28(m,d) BOOST_PP_REPEAT_2_27(m, d) m(3, 27, d)
28392 #define BOOST_PP_REPEAT_2_29(m,d) BOOST_PP_REPEAT_2_28(m, d) m(3, 28, d)
28393 #define BOOST_PP_REPEAT_2_30(m,d) BOOST_PP_REPEAT_2_29(m, d) m(3, 29, d)
28394 #define BOOST_PP_REPEAT_2_31(m,d) BOOST_PP_REPEAT_2_30(m, d) m(3, 30, d)
28395 #define BOOST_PP_REPEAT_2_32(m,d) BOOST_PP_REPEAT_2_31(m, d) m(3, 31, d)
28396 #define BOOST_PP_REPEAT_2_33(m,d) BOOST_PP_REPEAT_2_32(m, d) m(3, 32, d)
28397 #define BOOST_PP_REPEAT_2_34(m,d) BOOST_PP_REPEAT_2_33(m, d) m(3, 33, d)
28398 #define BOOST_PP_REPEAT_2_35(m,d) BOOST_PP_REPEAT_2_34(m, d) m(3, 34, d)
28399 #define BOOST_PP_REPEAT_2_36(m,d) BOOST_PP_REPEAT_2_35(m, d) m(3, 35, d)
28400 #define BOOST_PP_REPEAT_2_37(m,d) BOOST_PP_REPEAT_2_36(m, d) m(3, 36, d)
28401 #define BOOST_PP_REPEAT_2_38(m,d) BOOST_PP_REPEAT_2_37(m, d) m(3, 37, d)
28402 #define BOOST_PP_REPEAT_2_39(m,d) BOOST_PP_REPEAT_2_38(m, d) m(3, 38, d)
28403 #define BOOST_PP_REPEAT_2_40(m,d) BOOST_PP_REPEAT_2_39(m, d) m(3, 39, d)
28404 #define BOOST_PP_REPEAT_2_41(m,d) BOOST_PP_REPEAT_2_40(m, d) m(3, 40, d)
28405 #define BOOST_PP_REPEAT_2_42(m,d) BOOST_PP_REPEAT_2_41(m, d) m(3, 41, d)
28406 #define BOOST_PP_REPEAT_2_43(m,d) BOOST_PP_REPEAT_2_42(m, d) m(3, 42, d)
28407 #define BOOST_PP_REPEAT_2_44(m,d) BOOST_PP_REPEAT_2_43(m, d) m(3, 43, d)
28408 #define BOOST_PP_REPEAT_2_45(m,d) BOOST_PP_REPEAT_2_44(m, d) m(3, 44, d)
28409 #define BOOST_PP_REPEAT_2_46(m,d) BOOST_PP_REPEAT_2_45(m, d) m(3, 45, d)
28410 #define BOOST_PP_REPEAT_2_47(m,d) BOOST_PP_REPEAT_2_46(m, d) m(3, 46, d)
28411 #define BOOST_PP_REPEAT_2_48(m,d) BOOST_PP_REPEAT_2_47(m, d) m(3, 47, d)
28412 #define BOOST_PP_REPEAT_2_49(m,d) BOOST_PP_REPEAT_2_48(m, d) m(3, 48, d)
28413 #define BOOST_PP_REPEAT_2_50(m,d) BOOST_PP_REPEAT_2_49(m, d) m(3, 49, d)
28414 #define BOOST_PP_REPEAT_2_51(m,d) BOOST_PP_REPEAT_2_50(m, d) m(3, 50, d)
28415 #define BOOST_PP_REPEAT_2_52(m,d) BOOST_PP_REPEAT_2_51(m, d) m(3, 51, d)
28416 #define BOOST_PP_REPEAT_2_53(m,d) BOOST_PP_REPEAT_2_52(m, d) m(3, 52, d)
28417 #define BOOST_PP_REPEAT_2_54(m,d) BOOST_PP_REPEAT_2_53(m, d) m(3, 53, d)
28418 #define BOOST_PP_REPEAT_2_55(m,d) BOOST_PP_REPEAT_2_54(m, d) m(3, 54, d)
28419 #define BOOST_PP_REPEAT_2_56(m,d) BOOST_PP_REPEAT_2_55(m, d) m(3, 55, d)
28420 #define BOOST_PP_REPEAT_2_57(m,d) BOOST_PP_REPEAT_2_56(m, d) m(3, 56, d)
28421 #define BOOST_PP_REPEAT_2_58(m,d) BOOST_PP_REPEAT_2_57(m, d) m(3, 57, d)
28422 #define BOOST_PP_REPEAT_2_59(m,d) BOOST_PP_REPEAT_2_58(m, d) m(3, 58, d)
28423 #define BOOST_PP_REPEAT_2_60(m,d) BOOST_PP_REPEAT_2_59(m, d) m(3, 59, d)
28424 #define BOOST_PP_REPEAT_2_61(m,d) BOOST_PP_REPEAT_2_60(m, d) m(3, 60, d)
28425 #define BOOST_PP_REPEAT_2_62(m,d) BOOST_PP_REPEAT_2_61(m, d) m(3, 61, d)
28426 #define BOOST_PP_REPEAT_2_63(m,d) BOOST_PP_REPEAT_2_62(m, d) m(3, 62, d)
28427 #define BOOST_PP_REPEAT_2_64(m,d) BOOST_PP_REPEAT_2_63(m, d) m(3, 63, d)
28428 #define BOOST_PP_REPEAT_2_65(m,d) BOOST_PP_REPEAT_2_64(m, d) m(3, 64, d)
28429 #define BOOST_PP_REPEAT_2_66(m,d) BOOST_PP_REPEAT_2_65(m, d) m(3, 65, d)
28430 #define BOOST_PP_REPEAT_2_67(m,d) BOOST_PP_REPEAT_2_66(m, d) m(3, 66, d)
28431 #define BOOST_PP_REPEAT_2_68(m,d) BOOST_PP_REPEAT_2_67(m, d) m(3, 67, d)
28432 #define BOOST_PP_REPEAT_2_69(m,d) BOOST_PP_REPEAT_2_68(m, d) m(3, 68, d)
28433 #define BOOST_PP_REPEAT_2_70(m,d) BOOST_PP_REPEAT_2_69(m, d) m(3, 69, d)
28434 #define BOOST_PP_REPEAT_2_71(m,d) BOOST_PP_REPEAT_2_70(m, d) m(3, 70, d)
28435 #define BOOST_PP_REPEAT_2_72(m,d) BOOST_PP_REPEAT_2_71(m, d) m(3, 71, d)
28436 #define BOOST_PP_REPEAT_2_73(m,d) BOOST_PP_REPEAT_2_72(m, d) m(3, 72, d)
28437 #define BOOST_PP_REPEAT_2_74(m,d) BOOST_PP_REPEAT_2_73(m, d) m(3, 73, d)
28438 #define BOOST_PP_REPEAT_2_75(m,d) BOOST_PP_REPEAT_2_74(m, d) m(3, 74, d)
28439 #define BOOST_PP_REPEAT_2_76(m,d) BOOST_PP_REPEAT_2_75(m, d) m(3, 75, d)
28440 #define BOOST_PP_REPEAT_2_77(m,d) BOOST_PP_REPEAT_2_76(m, d) m(3, 76, d)
28441 #define BOOST_PP_REPEAT_2_78(m,d) BOOST_PP_REPEAT_2_77(m, d) m(3, 77, d)
28442 #define BOOST_PP_REPEAT_2_79(m,d) BOOST_PP_REPEAT_2_78(m, d) m(3, 78, d)
28443 #define BOOST_PP_REPEAT_2_80(m,d) BOOST_PP_REPEAT_2_79(m, d) m(3, 79, d)
28444 #define BOOST_PP_REPEAT_2_81(m,d) BOOST_PP_REPEAT_2_80(m, d) m(3, 80, d)
28445 #define BOOST_PP_REPEAT_2_82(m,d) BOOST_PP_REPEAT_2_81(m, d) m(3, 81, d)
28446 #define BOOST_PP_REPEAT_2_83(m,d) BOOST_PP_REPEAT_2_82(m, d) m(3, 82, d)
28447 #define BOOST_PP_REPEAT_2_84(m,d) BOOST_PP_REPEAT_2_83(m, d) m(3, 83, d)
28448 #define BOOST_PP_REPEAT_2_85(m,d) BOOST_PP_REPEAT_2_84(m, d) m(3, 84, d)
28449 #define BOOST_PP_REPEAT_2_86(m,d) BOOST_PP_REPEAT_2_85(m, d) m(3, 85, d)
28450 #define BOOST_PP_REPEAT_2_87(m,d) BOOST_PP_REPEAT_2_86(m, d) m(3, 86, d)
28451 #define BOOST_PP_REPEAT_2_88(m,d) BOOST_PP_REPEAT_2_87(m, d) m(3, 87, d)
28452 #define BOOST_PP_REPEAT_2_89(m,d) BOOST_PP_REPEAT_2_88(m, d) m(3, 88, d)
28453 #define BOOST_PP_REPEAT_2_90(m,d) BOOST_PP_REPEAT_2_89(m, d) m(3, 89, d)
28454 #define BOOST_PP_REPEAT_2_91(m,d) BOOST_PP_REPEAT_2_90(m, d) m(3, 90, d)
28455 #define BOOST_PP_REPEAT_2_92(m,d) BOOST_PP_REPEAT_2_91(m, d) m(3, 91, d)
28456 #define BOOST_PP_REPEAT_2_93(m,d) BOOST_PP_REPEAT_2_92(m, d) m(3, 92, d)
28457 #define BOOST_PP_REPEAT_2_94(m,d) BOOST_PP_REPEAT_2_93(m, d) m(3, 93, d)
28458 #define BOOST_PP_REPEAT_2_95(m,d) BOOST_PP_REPEAT_2_94(m, d) m(3, 94, d)
28459 #define BOOST_PP_REPEAT_2_96(m,d) BOOST_PP_REPEAT_2_95(m, d) m(3, 95, d)
28460 #define BOOST_PP_REPEAT_2_97(m,d) BOOST_PP_REPEAT_2_96(m, d) m(3, 96, d)
28461 #define BOOST_PP_REPEAT_2_98(m,d) BOOST_PP_REPEAT_2_97(m, d) m(3, 97, d)
28462 #define BOOST_PP_REPEAT_2_99(m,d) BOOST_PP_REPEAT_2_98(m, d) m(3, 98, d)
28463 #define BOOST_PP_REPEAT_2_100(m,d) BOOST_PP_REPEAT_2_99(m, d) m(3, 99, d)
28464 #define BOOST_PP_REPEAT_2_101(m,d) BOOST_PP_REPEAT_2_100(m, d) m(3, 100, d)
28465 #define BOOST_PP_REPEAT_2_102(m,d) BOOST_PP_REPEAT_2_101(m, d) m(3, 101, d)
28466 #define BOOST_PP_REPEAT_2_103(m,d) BOOST_PP_REPEAT_2_102(m, d) m(3, 102, d)
28467 #define BOOST_PP_REPEAT_2_104(m,d) BOOST_PP_REPEAT_2_103(m, d) m(3, 103, d)
28468 #define BOOST_PP_REPEAT_2_105(m,d) BOOST_PP_REPEAT_2_104(m, d) m(3, 104, d)
28469 #define BOOST_PP_REPEAT_2_106(m,d) BOOST_PP_REPEAT_2_105(m, d) m(3, 105, d)
28470 #define BOOST_PP_REPEAT_2_107(m,d) BOOST_PP_REPEAT_2_106(m, d) m(3, 106, d)
28471 #define BOOST_PP_REPEAT_2_108(m,d) BOOST_PP_REPEAT_2_107(m, d) m(3, 107, d)
28472 #define BOOST_PP_REPEAT_2_109(m,d) BOOST_PP_REPEAT_2_108(m, d) m(3, 108, d)
28473 #define BOOST_PP_REPEAT_2_110(m,d) BOOST_PP_REPEAT_2_109(m, d) m(3, 109, d)
28474 #define BOOST_PP_REPEAT_2_111(m,d) BOOST_PP_REPEAT_2_110(m, d) m(3, 110, d)
28475 #define BOOST_PP_REPEAT_2_112(m,d) BOOST_PP_REPEAT_2_111(m, d) m(3, 111, d)
28476 #define BOOST_PP_REPEAT_2_113(m,d) BOOST_PP_REPEAT_2_112(m, d) m(3, 112, d)
28477 #define BOOST_PP_REPEAT_2_114(m,d) BOOST_PP_REPEAT_2_113(m, d) m(3, 113, d)
28478 #define BOOST_PP_REPEAT_2_115(m,d) BOOST_PP_REPEAT_2_114(m, d) m(3, 114, d)
28479 #define BOOST_PP_REPEAT_2_116(m,d) BOOST_PP_REPEAT_2_115(m, d) m(3, 115, d)
28480 #define BOOST_PP_REPEAT_2_117(m,d) BOOST_PP_REPEAT_2_116(m, d) m(3, 116, d)
28481 #define BOOST_PP_REPEAT_2_118(m,d) BOOST_PP_REPEAT_2_117(m, d) m(3, 117, d)
28482 #define BOOST_PP_REPEAT_2_119(m,d) BOOST_PP_REPEAT_2_118(m, d) m(3, 118, d)
28483 #define BOOST_PP_REPEAT_2_120(m,d) BOOST_PP_REPEAT_2_119(m, d) m(3, 119, d)
28484 #define BOOST_PP_REPEAT_2_121(m,d) BOOST_PP_REPEAT_2_120(m, d) m(3, 120, d)
28485 #define BOOST_PP_REPEAT_2_122(m,d) BOOST_PP_REPEAT_2_121(m, d) m(3, 121, d)
28486 #define BOOST_PP_REPEAT_2_123(m,d) BOOST_PP_REPEAT_2_122(m, d) m(3, 122, d)
28487 #define BOOST_PP_REPEAT_2_124(m,d) BOOST_PP_REPEAT_2_123(m, d) m(3, 123, d)
28488 #define BOOST_PP_REPEAT_2_125(m,d) BOOST_PP_REPEAT_2_124(m, d) m(3, 124, d)
28489 #define BOOST_PP_REPEAT_2_126(m,d) BOOST_PP_REPEAT_2_125(m, d) m(3, 125, d)
28490 #define BOOST_PP_REPEAT_2_127(m,d) BOOST_PP_REPEAT_2_126(m, d) m(3, 126, d)
28491 #define BOOST_PP_REPEAT_2_128(m,d) BOOST_PP_REPEAT_2_127(m, d) m(3, 127, d)
28492 #define BOOST_PP_REPEAT_2_129(m,d) BOOST_PP_REPEAT_2_128(m, d) m(3, 128, d)
28493 #define BOOST_PP_REPEAT_2_130(m,d) BOOST_PP_REPEAT_2_129(m, d) m(3, 129, d)
28494 #define BOOST_PP_REPEAT_2_131(m,d) BOOST_PP_REPEAT_2_130(m, d) m(3, 130, d)
28495 #define BOOST_PP_REPEAT_2_132(m,d) BOOST_PP_REPEAT_2_131(m, d) m(3, 131, d)
28496 #define BOOST_PP_REPEAT_2_133(m,d) BOOST_PP_REPEAT_2_132(m, d) m(3, 132, d)
28497 #define BOOST_PP_REPEAT_2_134(m,d) BOOST_PP_REPEAT_2_133(m, d) m(3, 133, d)
28498 #define BOOST_PP_REPEAT_2_135(m,d) BOOST_PP_REPEAT_2_134(m, d) m(3, 134, d)
28499 #define BOOST_PP_REPEAT_2_136(m,d) BOOST_PP_REPEAT_2_135(m, d) m(3, 135, d)
28500 #define BOOST_PP_REPEAT_2_137(m,d) BOOST_PP_REPEAT_2_136(m, d) m(3, 136, d)
28501 #define BOOST_PP_REPEAT_2_138(m,d) BOOST_PP_REPEAT_2_137(m, d) m(3, 137, d)
28502 #define BOOST_PP_REPEAT_2_139(m,d) BOOST_PP_REPEAT_2_138(m, d) m(3, 138, d)
28503 #define BOOST_PP_REPEAT_2_140(m,d) BOOST_PP_REPEAT_2_139(m, d) m(3, 139, d)
28504 #define BOOST_PP_REPEAT_2_141(m,d) BOOST_PP_REPEAT_2_140(m, d) m(3, 140, d)
28505 #define BOOST_PP_REPEAT_2_142(m,d) BOOST_PP_REPEAT_2_141(m, d) m(3, 141, d)
28506 #define BOOST_PP_REPEAT_2_143(m,d) BOOST_PP_REPEAT_2_142(m, d) m(3, 142, d)
28507 #define BOOST_PP_REPEAT_2_144(m,d) BOOST_PP_REPEAT_2_143(m, d) m(3, 143, d)
28508 #define BOOST_PP_REPEAT_2_145(m,d) BOOST_PP_REPEAT_2_144(m, d) m(3, 144, d)
28509 #define BOOST_PP_REPEAT_2_146(m,d) BOOST_PP_REPEAT_2_145(m, d) m(3, 145, d)
28510 #define BOOST_PP_REPEAT_2_147(m,d) BOOST_PP_REPEAT_2_146(m, d) m(3, 146, d)
28511 #define BOOST_PP_REPEAT_2_148(m,d) BOOST_PP_REPEAT_2_147(m, d) m(3, 147, d)
28512 #define BOOST_PP_REPEAT_2_149(m,d) BOOST_PP_REPEAT_2_148(m, d) m(3, 148, d)
28513 #define BOOST_PP_REPEAT_2_150(m,d) BOOST_PP_REPEAT_2_149(m, d) m(3, 149, d)
28514 #define BOOST_PP_REPEAT_2_151(m,d) BOOST_PP_REPEAT_2_150(m, d) m(3, 150, d)
28515 #define BOOST_PP_REPEAT_2_152(m,d) BOOST_PP_REPEAT_2_151(m, d) m(3, 151, d)
28516 #define BOOST_PP_REPEAT_2_153(m,d) BOOST_PP_REPEAT_2_152(m, d) m(3, 152, d)
28517 #define BOOST_PP_REPEAT_2_154(m,d) BOOST_PP_REPEAT_2_153(m, d) m(3, 153, d)
28518 #define BOOST_PP_REPEAT_2_155(m,d) BOOST_PP_REPEAT_2_154(m, d) m(3, 154, d)
28519 #define BOOST_PP_REPEAT_2_156(m,d) BOOST_PP_REPEAT_2_155(m, d) m(3, 155, d)
28520 #define BOOST_PP_REPEAT_2_157(m,d) BOOST_PP_REPEAT_2_156(m, d) m(3, 156, d)
28521 #define BOOST_PP_REPEAT_2_158(m,d) BOOST_PP_REPEAT_2_157(m, d) m(3, 157, d)
28522 #define BOOST_PP_REPEAT_2_159(m,d) BOOST_PP_REPEAT_2_158(m, d) m(3, 158, d)
28523 #define BOOST_PP_REPEAT_2_160(m,d) BOOST_PP_REPEAT_2_159(m, d) m(3, 159, d)
28524 #define BOOST_PP_REPEAT_2_161(m,d) BOOST_PP_REPEAT_2_160(m, d) m(3, 160, d)
28525 #define BOOST_PP_REPEAT_2_162(m,d) BOOST_PP_REPEAT_2_161(m, d) m(3, 161, d)
28526 #define BOOST_PP_REPEAT_2_163(m,d) BOOST_PP_REPEAT_2_162(m, d) m(3, 162, d)
28527 #define BOOST_PP_REPEAT_2_164(m,d) BOOST_PP_REPEAT_2_163(m, d) m(3, 163, d)
28528 #define BOOST_PP_REPEAT_2_165(m,d) BOOST_PP_REPEAT_2_164(m, d) m(3, 164, d)
28529 #define BOOST_PP_REPEAT_2_166(m,d) BOOST_PP_REPEAT_2_165(m, d) m(3, 165, d)
28530 #define BOOST_PP_REPEAT_2_167(m,d) BOOST_PP_REPEAT_2_166(m, d) m(3, 166, d)
28531 #define BOOST_PP_REPEAT_2_168(m,d) BOOST_PP_REPEAT_2_167(m, d) m(3, 167, d)
28532 #define BOOST_PP_REPEAT_2_169(m,d) BOOST_PP_REPEAT_2_168(m, d) m(3, 168, d)
28533 #define BOOST_PP_REPEAT_2_170(m,d) BOOST_PP_REPEAT_2_169(m, d) m(3, 169, d)
28534 #define BOOST_PP_REPEAT_2_171(m,d) BOOST_PP_REPEAT_2_170(m, d) m(3, 170, d)
28535 #define BOOST_PP_REPEAT_2_172(m,d) BOOST_PP_REPEAT_2_171(m, d) m(3, 171, d)
28536 #define BOOST_PP_REPEAT_2_173(m,d) BOOST_PP_REPEAT_2_172(m, d) m(3, 172, d)
28537 #define BOOST_PP_REPEAT_2_174(m,d) BOOST_PP_REPEAT_2_173(m, d) m(3, 173, d)
28538 #define BOOST_PP_REPEAT_2_175(m,d) BOOST_PP_REPEAT_2_174(m, d) m(3, 174, d)
28539 #define BOOST_PP_REPEAT_2_176(m,d) BOOST_PP_REPEAT_2_175(m, d) m(3, 175, d)
28540 #define BOOST_PP_REPEAT_2_177(m,d) BOOST_PP_REPEAT_2_176(m, d) m(3, 176, d)
28541 #define BOOST_PP_REPEAT_2_178(m,d) BOOST_PP_REPEAT_2_177(m, d) m(3, 177, d)
28542 #define BOOST_PP_REPEAT_2_179(m,d) BOOST_PP_REPEAT_2_178(m, d) m(3, 178, d)
28543 #define BOOST_PP_REPEAT_2_180(m,d) BOOST_PP_REPEAT_2_179(m, d) m(3, 179, d)
28544 #define BOOST_PP_REPEAT_2_181(m,d) BOOST_PP_REPEAT_2_180(m, d) m(3, 180, d)
28545 #define BOOST_PP_REPEAT_2_182(m,d) BOOST_PP_REPEAT_2_181(m, d) m(3, 181, d)
28546 #define BOOST_PP_REPEAT_2_183(m,d) BOOST_PP_REPEAT_2_182(m, d) m(3, 182, d)
28547 #define BOOST_PP_REPEAT_2_184(m,d) BOOST_PP_REPEAT_2_183(m, d) m(3, 183, d)
28548 #define BOOST_PP_REPEAT_2_185(m,d) BOOST_PP_REPEAT_2_184(m, d) m(3, 184, d)
28549 #define BOOST_PP_REPEAT_2_186(m,d) BOOST_PP_REPEAT_2_185(m, d) m(3, 185, d)
28550 #define BOOST_PP_REPEAT_2_187(m,d) BOOST_PP_REPEAT_2_186(m, d) m(3, 186, d)
28551 #define BOOST_PP_REPEAT_2_188(m,d) BOOST_PP_REPEAT_2_187(m, d) m(3, 187, d)
28552 #define BOOST_PP_REPEAT_2_189(m,d) BOOST_PP_REPEAT_2_188(m, d) m(3, 188, d)
28553 #define BOOST_PP_REPEAT_2_190(m,d) BOOST_PP_REPEAT_2_189(m, d) m(3, 189, d)
28554 #define BOOST_PP_REPEAT_2_191(m,d) BOOST_PP_REPEAT_2_190(m, d) m(3, 190, d)
28555 #define BOOST_PP_REPEAT_2_192(m,d) BOOST_PP_REPEAT_2_191(m, d) m(3, 191, d)
28556 #define BOOST_PP_REPEAT_2_193(m,d) BOOST_PP_REPEAT_2_192(m, d) m(3, 192, d)
28557 #define BOOST_PP_REPEAT_2_194(m,d) BOOST_PP_REPEAT_2_193(m, d) m(3, 193, d)
28558 #define BOOST_PP_REPEAT_2_195(m,d) BOOST_PP_REPEAT_2_194(m, d) m(3, 194, d)
28559 #define BOOST_PP_REPEAT_2_196(m,d) BOOST_PP_REPEAT_2_195(m, d) m(3, 195, d)
28560 #define BOOST_PP_REPEAT_2_197(m,d) BOOST_PP_REPEAT_2_196(m, d) m(3, 196, d)
28561 #define BOOST_PP_REPEAT_2_198(m,d) BOOST_PP_REPEAT_2_197(m, d) m(3, 197, d)
28562 #define BOOST_PP_REPEAT_2_199(m,d) BOOST_PP_REPEAT_2_198(m, d) m(3, 198, d)
28563 #define BOOST_PP_REPEAT_2_200(m,d) BOOST_PP_REPEAT_2_199(m, d) m(3, 199, d)
28564 #define BOOST_PP_REPEAT_2_201(m,d) BOOST_PP_REPEAT_2_200(m, d) m(3, 200, d)
28565 #define BOOST_PP_REPEAT_2_202(m,d) BOOST_PP_REPEAT_2_201(m, d) m(3, 201, d)
28566 #define BOOST_PP_REPEAT_2_203(m,d) BOOST_PP_REPEAT_2_202(m, d) m(3, 202, d)
28567 #define BOOST_PP_REPEAT_2_204(m,d) BOOST_PP_REPEAT_2_203(m, d) m(3, 203, d)
28568 #define BOOST_PP_REPEAT_2_205(m,d) BOOST_PP_REPEAT_2_204(m, d) m(3, 204, d)
28569 #define BOOST_PP_REPEAT_2_206(m,d) BOOST_PP_REPEAT_2_205(m, d) m(3, 205, d)
28570 #define BOOST_PP_REPEAT_2_207(m,d) BOOST_PP_REPEAT_2_206(m, d) m(3, 206, d)
28571 #define BOOST_PP_REPEAT_2_208(m,d) BOOST_PP_REPEAT_2_207(m, d) m(3, 207, d)
28572 #define BOOST_PP_REPEAT_2_209(m,d) BOOST_PP_REPEAT_2_208(m, d) m(3, 208, d)
28573 #define BOOST_PP_REPEAT_2_210(m,d) BOOST_PP_REPEAT_2_209(m, d) m(3, 209, d)
28574 #define BOOST_PP_REPEAT_2_211(m,d) BOOST_PP_REPEAT_2_210(m, d) m(3, 210, d)
28575 #define BOOST_PP_REPEAT_2_212(m,d) BOOST_PP_REPEAT_2_211(m, d) m(3, 211, d)
28576 #define BOOST_PP_REPEAT_2_213(m,d) BOOST_PP_REPEAT_2_212(m, d) m(3, 212, d)
28577 #define BOOST_PP_REPEAT_2_214(m,d) BOOST_PP_REPEAT_2_213(m, d) m(3, 213, d)
28578 #define BOOST_PP_REPEAT_2_215(m,d) BOOST_PP_REPEAT_2_214(m, d) m(3, 214, d)
28579 #define BOOST_PP_REPEAT_2_216(m,d) BOOST_PP_REPEAT_2_215(m, d) m(3, 215, d)
28580 #define BOOST_PP_REPEAT_2_217(m,d) BOOST_PP_REPEAT_2_216(m, d) m(3, 216, d)
28581 #define BOOST_PP_REPEAT_2_218(m,d) BOOST_PP_REPEAT_2_217(m, d) m(3, 217, d)
28582 #define BOOST_PP_REPEAT_2_219(m,d) BOOST_PP_REPEAT_2_218(m, d) m(3, 218, d)
28583 #define BOOST_PP_REPEAT_2_220(m,d) BOOST_PP_REPEAT_2_219(m, d) m(3, 219, d)
28584 #define BOOST_PP_REPEAT_2_221(m,d) BOOST_PP_REPEAT_2_220(m, d) m(3, 220, d)
28585 #define BOOST_PP_REPEAT_2_222(m,d) BOOST_PP_REPEAT_2_221(m, d) m(3, 221, d)
28586 #define BOOST_PP_REPEAT_2_223(m,d) BOOST_PP_REPEAT_2_222(m, d) m(3, 222, d)
28587 #define BOOST_PP_REPEAT_2_224(m,d) BOOST_PP_REPEAT_2_223(m, d) m(3, 223, d)
28588 #define BOOST_PP_REPEAT_2_225(m,d) BOOST_PP_REPEAT_2_224(m, d) m(3, 224, d)
28589 #define BOOST_PP_REPEAT_2_226(m,d) BOOST_PP_REPEAT_2_225(m, d) m(3, 225, d)
28590 #define BOOST_PP_REPEAT_2_227(m,d) BOOST_PP_REPEAT_2_226(m, d) m(3, 226, d)
28591 #define BOOST_PP_REPEAT_2_228(m,d) BOOST_PP_REPEAT_2_227(m, d) m(3, 227, d)
28592 #define BOOST_PP_REPEAT_2_229(m,d) BOOST_PP_REPEAT_2_228(m, d) m(3, 228, d)
28593 #define BOOST_PP_REPEAT_2_230(m,d) BOOST_PP_REPEAT_2_229(m, d) m(3, 229, d)
28594 #define BOOST_PP_REPEAT_2_231(m,d) BOOST_PP_REPEAT_2_230(m, d) m(3, 230, d)
28595 #define BOOST_PP_REPEAT_2_232(m,d) BOOST_PP_REPEAT_2_231(m, d) m(3, 231, d)
28596 #define BOOST_PP_REPEAT_2_233(m,d) BOOST_PP_REPEAT_2_232(m, d) m(3, 232, d)
28597 #define BOOST_PP_REPEAT_2_234(m,d) BOOST_PP_REPEAT_2_233(m, d) m(3, 233, d)
28598 #define BOOST_PP_REPEAT_2_235(m,d) BOOST_PP_REPEAT_2_234(m, d) m(3, 234, d)
28599 #define BOOST_PP_REPEAT_2_236(m,d) BOOST_PP_REPEAT_2_235(m, d) m(3, 235, d)
28600 #define BOOST_PP_REPEAT_2_237(m,d) BOOST_PP_REPEAT_2_236(m, d) m(3, 236, d)
28601 #define BOOST_PP_REPEAT_2_238(m,d) BOOST_PP_REPEAT_2_237(m, d) m(3, 237, d)
28602 #define BOOST_PP_REPEAT_2_239(m,d) BOOST_PP_REPEAT_2_238(m, d) m(3, 238, d)
28603 #define BOOST_PP_REPEAT_2_240(m,d) BOOST_PP_REPEAT_2_239(m, d) m(3, 239, d)
28604 #define BOOST_PP_REPEAT_2_241(m,d) BOOST_PP_REPEAT_2_240(m, d) m(3, 240, d)
28605 #define BOOST_PP_REPEAT_2_242(m,d) BOOST_PP_REPEAT_2_241(m, d) m(3, 241, d)
28606 #define BOOST_PP_REPEAT_2_243(m,d) BOOST_PP_REPEAT_2_242(m, d) m(3, 242, d)
28607 #define BOOST_PP_REPEAT_2_244(m,d) BOOST_PP_REPEAT_2_243(m, d) m(3, 243, d)
28608 #define BOOST_PP_REPEAT_2_245(m,d) BOOST_PP_REPEAT_2_244(m, d) m(3, 244, d)
28609 #define BOOST_PP_REPEAT_2_246(m,d) BOOST_PP_REPEAT_2_245(m, d) m(3, 245, d)
28610 #define BOOST_PP_REPEAT_2_247(m,d) BOOST_PP_REPEAT_2_246(m, d) m(3, 246, d)
28611 #define BOOST_PP_REPEAT_2_248(m,d) BOOST_PP_REPEAT_2_247(m, d) m(3, 247, d)
28612 #define BOOST_PP_REPEAT_2_249(m,d) BOOST_PP_REPEAT_2_248(m, d) m(3, 248, d)
28613 #define BOOST_PP_REPEAT_2_250(m,d) BOOST_PP_REPEAT_2_249(m, d) m(3, 249, d)
28614 #define BOOST_PP_REPEAT_2_251(m,d) BOOST_PP_REPEAT_2_250(m, d) m(3, 250, d)
28615 #define BOOST_PP_REPEAT_2_252(m,d) BOOST_PP_REPEAT_2_251(m, d) m(3, 251, d)
28616 #define BOOST_PP_REPEAT_2_253(m,d) BOOST_PP_REPEAT_2_252(m, d) m(3, 252, d)
28617 #define BOOST_PP_REPEAT_2_254(m,d) BOOST_PP_REPEAT_2_253(m, d) m(3, 253, d)
28618 #define BOOST_PP_REPEAT_2_255(m,d) BOOST_PP_REPEAT_2_254(m, d) m(3, 254, d)
28619 #define BOOST_PP_REPEAT_2_256(m,d) BOOST_PP_REPEAT_2_255(m, d) m(3, 255, d)
28620
28621 #define BOOST_PP_REPEAT_3_0(m,d) 
28622 #define BOOST_PP_REPEAT_3_1(m,d) m(4, 0, d)
28623 #define BOOST_PP_REPEAT_3_2(m,d) BOOST_PP_REPEAT_3_1(m, d) m(4, 1, d)
28624 #define BOOST_PP_REPEAT_3_3(m,d) BOOST_PP_REPEAT_3_2(m, d) m(4, 2, d)
28625 #define BOOST_PP_REPEAT_3_4(m,d) BOOST_PP_REPEAT_3_3(m, d) m(4, 3, d)
28626 #define BOOST_PP_REPEAT_3_5(m,d) BOOST_PP_REPEAT_3_4(m, d) m(4, 4, d)
28627 #define BOOST_PP_REPEAT_3_6(m,d) BOOST_PP_REPEAT_3_5(m, d) m(4, 5, d)
28628 #define BOOST_PP_REPEAT_3_7(m,d) BOOST_PP_REPEAT_3_6(m, d) m(4, 6, d)
28629 #define BOOST_PP_REPEAT_3_8(m,d) BOOST_PP_REPEAT_3_7(m, d) m(4, 7, d)
28630 #define BOOST_PP_REPEAT_3_9(m,d) BOOST_PP_REPEAT_3_8(m, d) m(4, 8, d)
28631 #define BOOST_PP_REPEAT_3_10(m,d) BOOST_PP_REPEAT_3_9(m, d) m(4, 9, d)
28632 #define BOOST_PP_REPEAT_3_11(m,d) BOOST_PP_REPEAT_3_10(m, d) m(4, 10, d)
28633 #define BOOST_PP_REPEAT_3_12(m,d) BOOST_PP_REPEAT_3_11(m, d) m(4, 11, d)
28634 #define BOOST_PP_REPEAT_3_13(m,d) BOOST_PP_REPEAT_3_12(m, d) m(4, 12, d)
28635 #define BOOST_PP_REPEAT_3_14(m,d) BOOST_PP_REPEAT_3_13(m, d) m(4, 13, d)
28636 #define BOOST_PP_REPEAT_3_15(m,d) BOOST_PP_REPEAT_3_14(m, d) m(4, 14, d)
28637 #define BOOST_PP_REPEAT_3_16(m,d) BOOST_PP_REPEAT_3_15(m, d) m(4, 15, d)
28638 #define BOOST_PP_REPEAT_3_17(m,d) BOOST_PP_REPEAT_3_16(m, d) m(4, 16, d)
28639 #define BOOST_PP_REPEAT_3_18(m,d) BOOST_PP_REPEAT_3_17(m, d) m(4, 17, d)
28640 #define BOOST_PP_REPEAT_3_19(m,d) BOOST_PP_REPEAT_3_18(m, d) m(4, 18, d)
28641 #define BOOST_PP_REPEAT_3_20(m,d) BOOST_PP_REPEAT_3_19(m, d) m(4, 19, d)
28642 #define BOOST_PP_REPEAT_3_21(m,d) BOOST_PP_REPEAT_3_20(m, d) m(4, 20, d)
28643 #define BOOST_PP_REPEAT_3_22(m,d) BOOST_PP_REPEAT_3_21(m, d) m(4, 21, d)
28644 #define BOOST_PP_REPEAT_3_23(m,d) BOOST_PP_REPEAT_3_22(m, d) m(4, 22, d)
28645 #define BOOST_PP_REPEAT_3_24(m,d) BOOST_PP_REPEAT_3_23(m, d) m(4, 23, d)
28646 #define BOOST_PP_REPEAT_3_25(m,d) BOOST_PP_REPEAT_3_24(m, d) m(4, 24, d)
28647 #define BOOST_PP_REPEAT_3_26(m,d) BOOST_PP_REPEAT_3_25(m, d) m(4, 25, d)
28648 #define BOOST_PP_REPEAT_3_27(m,d) BOOST_PP_REPEAT_3_26(m, d) m(4, 26, d)
28649 #define BOOST_PP_REPEAT_3_28(m,d) BOOST_PP_REPEAT_3_27(m, d) m(4, 27, d)
28650 #define BOOST_PP_REPEAT_3_29(m,d) BOOST_PP_REPEAT_3_28(m, d) m(4, 28, d)
28651 #define BOOST_PP_REPEAT_3_30(m,d) BOOST_PP_REPEAT_3_29(m, d) m(4, 29, d)
28652 #define BOOST_PP_REPEAT_3_31(m,d) BOOST_PP_REPEAT_3_30(m, d) m(4, 30, d)
28653 #define BOOST_PP_REPEAT_3_32(m,d) BOOST_PP_REPEAT_3_31(m, d) m(4, 31, d)
28654 #define BOOST_PP_REPEAT_3_33(m,d) BOOST_PP_REPEAT_3_32(m, d) m(4, 32, d)
28655 #define BOOST_PP_REPEAT_3_34(m,d) BOOST_PP_REPEAT_3_33(m, d) m(4, 33, d)
28656 #define BOOST_PP_REPEAT_3_35(m,d) BOOST_PP_REPEAT_3_34(m, d) m(4, 34, d)
28657 #define BOOST_PP_REPEAT_3_36(m,d) BOOST_PP_REPEAT_3_35(m, d) m(4, 35, d)
28658 #define BOOST_PP_REPEAT_3_37(m,d) BOOST_PP_REPEAT_3_36(m, d) m(4, 36, d)
28659 #define BOOST_PP_REPEAT_3_38(m,d) BOOST_PP_REPEAT_3_37(m, d) m(4, 37, d)
28660 #define BOOST_PP_REPEAT_3_39(m,d) BOOST_PP_REPEAT_3_38(m, d) m(4, 38, d)
28661 #define BOOST_PP_REPEAT_3_40(m,d) BOOST_PP_REPEAT_3_39(m, d) m(4, 39, d)
28662 #define BOOST_PP_REPEAT_3_41(m,d) BOOST_PP_REPEAT_3_40(m, d) m(4, 40, d)
28663 #define BOOST_PP_REPEAT_3_42(m,d) BOOST_PP_REPEAT_3_41(m, d) m(4, 41, d)
28664 #define BOOST_PP_REPEAT_3_43(m,d) BOOST_PP_REPEAT_3_42(m, d) m(4, 42, d)
28665 #define BOOST_PP_REPEAT_3_44(m,d) BOOST_PP_REPEAT_3_43(m, d) m(4, 43, d)
28666 #define BOOST_PP_REPEAT_3_45(m,d) BOOST_PP_REPEAT_3_44(m, d) m(4, 44, d)
28667 #define BOOST_PP_REPEAT_3_46(m,d) BOOST_PP_REPEAT_3_45(m, d) m(4, 45, d)
28668 #define BOOST_PP_REPEAT_3_47(m,d) BOOST_PP_REPEAT_3_46(m, d) m(4, 46, d)
28669 #define BOOST_PP_REPEAT_3_48(m,d) BOOST_PP_REPEAT_3_47(m, d) m(4, 47, d)
28670 #define BOOST_PP_REPEAT_3_49(m,d) BOOST_PP_REPEAT_3_48(m, d) m(4, 48, d)
28671 #define BOOST_PP_REPEAT_3_50(m,d) BOOST_PP_REPEAT_3_49(m, d) m(4, 49, d)
28672 #define BOOST_PP_REPEAT_3_51(m,d) BOOST_PP_REPEAT_3_50(m, d) m(4, 50, d)
28673 #define BOOST_PP_REPEAT_3_52(m,d) BOOST_PP_REPEAT_3_51(m, d) m(4, 51, d)
28674 #define BOOST_PP_REPEAT_3_53(m,d) BOOST_PP_REPEAT_3_52(m, d) m(4, 52, d)
28675 #define BOOST_PP_REPEAT_3_54(m,d) BOOST_PP_REPEAT_3_53(m, d) m(4, 53, d)
28676 #define BOOST_PP_REPEAT_3_55(m,d) BOOST_PP_REPEAT_3_54(m, d) m(4, 54, d)
28677 #define BOOST_PP_REPEAT_3_56(m,d) BOOST_PP_REPEAT_3_55(m, d) m(4, 55, d)
28678 #define BOOST_PP_REPEAT_3_57(m,d) BOOST_PP_REPEAT_3_56(m, d) m(4, 56, d)
28679 #define BOOST_PP_REPEAT_3_58(m,d) BOOST_PP_REPEAT_3_57(m, d) m(4, 57, d)
28680 #define BOOST_PP_REPEAT_3_59(m,d) BOOST_PP_REPEAT_3_58(m, d) m(4, 58, d)
28681 #define BOOST_PP_REPEAT_3_60(m,d) BOOST_PP_REPEAT_3_59(m, d) m(4, 59, d)
28682 #define BOOST_PP_REPEAT_3_61(m,d) BOOST_PP_REPEAT_3_60(m, d) m(4, 60, d)
28683 #define BOOST_PP_REPEAT_3_62(m,d) BOOST_PP_REPEAT_3_61(m, d) m(4, 61, d)
28684 #define BOOST_PP_REPEAT_3_63(m,d) BOOST_PP_REPEAT_3_62(m, d) m(4, 62, d)
28685 #define BOOST_PP_REPEAT_3_64(m,d) BOOST_PP_REPEAT_3_63(m, d) m(4, 63, d)
28686 #define BOOST_PP_REPEAT_3_65(m,d) BOOST_PP_REPEAT_3_64(m, d) m(4, 64, d)
28687 #define BOOST_PP_REPEAT_3_66(m,d) BOOST_PP_REPEAT_3_65(m, d) m(4, 65, d)
28688 #define BOOST_PP_REPEAT_3_67(m,d) BOOST_PP_REPEAT_3_66(m, d) m(4, 66, d)
28689 #define BOOST_PP_REPEAT_3_68(m,d) BOOST_PP_REPEAT_3_67(m, d) m(4, 67, d)
28690 #define BOOST_PP_REPEAT_3_69(m,d) BOOST_PP_REPEAT_3_68(m, d) m(4, 68, d)
28691 #define BOOST_PP_REPEAT_3_70(m,d) BOOST_PP_REPEAT_3_69(m, d) m(4, 69, d)
28692 #define BOOST_PP_REPEAT_3_71(m,d) BOOST_PP_REPEAT_3_70(m, d) m(4, 70, d)
28693 #define BOOST_PP_REPEAT_3_72(m,d) BOOST_PP_REPEAT_3_71(m, d) m(4, 71, d)
28694 #define BOOST_PP_REPEAT_3_73(m,d) BOOST_PP_REPEAT_3_72(m, d) m(4, 72, d)
28695 #define BOOST_PP_REPEAT_3_74(m,d) BOOST_PP_REPEAT_3_73(m, d) m(4, 73, d)
28696 #define BOOST_PP_REPEAT_3_75(m,d) BOOST_PP_REPEAT_3_74(m, d) m(4, 74, d)
28697 #define BOOST_PP_REPEAT_3_76(m,d) BOOST_PP_REPEAT_3_75(m, d) m(4, 75, d)
28698 #define BOOST_PP_REPEAT_3_77(m,d) BOOST_PP_REPEAT_3_76(m, d) m(4, 76, d)
28699 #define BOOST_PP_REPEAT_3_78(m,d) BOOST_PP_REPEAT_3_77(m, d) m(4, 77, d)
28700 #define BOOST_PP_REPEAT_3_79(m,d) BOOST_PP_REPEAT_3_78(m, d) m(4, 78, d)
28701 #define BOOST_PP_REPEAT_3_80(m,d) BOOST_PP_REPEAT_3_79(m, d) m(4, 79, d)
28702 #define BOOST_PP_REPEAT_3_81(m,d) BOOST_PP_REPEAT_3_80(m, d) m(4, 80, d)
28703 #define BOOST_PP_REPEAT_3_82(m,d) BOOST_PP_REPEAT_3_81(m, d) m(4, 81, d)
28704 #define BOOST_PP_REPEAT_3_83(m,d) BOOST_PP_REPEAT_3_82(m, d) m(4, 82, d)
28705 #define BOOST_PP_REPEAT_3_84(m,d) BOOST_PP_REPEAT_3_83(m, d) m(4, 83, d)
28706 #define BOOST_PP_REPEAT_3_85(m,d) BOOST_PP_REPEAT_3_84(m, d) m(4, 84, d)
28707 #define BOOST_PP_REPEAT_3_86(m,d) BOOST_PP_REPEAT_3_85(m, d) m(4, 85, d)
28708 #define BOOST_PP_REPEAT_3_87(m,d) BOOST_PP_REPEAT_3_86(m, d) m(4, 86, d)
28709 #define BOOST_PP_REPEAT_3_88(m,d) BOOST_PP_REPEAT_3_87(m, d) m(4, 87, d)
28710 #define BOOST_PP_REPEAT_3_89(m,d) BOOST_PP_REPEAT_3_88(m, d) m(4, 88, d)
28711 #define BOOST_PP_REPEAT_3_90(m,d) BOOST_PP_REPEAT_3_89(m, d) m(4, 89, d)
28712 #define BOOST_PP_REPEAT_3_91(m,d) BOOST_PP_REPEAT_3_90(m, d) m(4, 90, d)
28713 #define BOOST_PP_REPEAT_3_92(m,d) BOOST_PP_REPEAT_3_91(m, d) m(4, 91, d)
28714 #define BOOST_PP_REPEAT_3_93(m,d) BOOST_PP_REPEAT_3_92(m, d) m(4, 92, d)
28715 #define BOOST_PP_REPEAT_3_94(m,d) BOOST_PP_REPEAT_3_93(m, d) m(4, 93, d)
28716 #define BOOST_PP_REPEAT_3_95(m,d) BOOST_PP_REPEAT_3_94(m, d) m(4, 94, d)
28717 #define BOOST_PP_REPEAT_3_96(m,d) BOOST_PP_REPEAT_3_95(m, d) m(4, 95, d)
28718 #define BOOST_PP_REPEAT_3_97(m,d) BOOST_PP_REPEAT_3_96(m, d) m(4, 96, d)
28719 #define BOOST_PP_REPEAT_3_98(m,d) BOOST_PP_REPEAT_3_97(m, d) m(4, 97, d)
28720 #define BOOST_PP_REPEAT_3_99(m,d) BOOST_PP_REPEAT_3_98(m, d) m(4, 98, d)
28721 #define BOOST_PP_REPEAT_3_100(m,d) BOOST_PP_REPEAT_3_99(m, d) m(4, 99, d)
28722 #define BOOST_PP_REPEAT_3_101(m,d) BOOST_PP_REPEAT_3_100(m, d) m(4, 100, d)
28723 #define BOOST_PP_REPEAT_3_102(m,d) BOOST_PP_REPEAT_3_101(m, d) m(4, 101, d)
28724 #define BOOST_PP_REPEAT_3_103(m,d) BOOST_PP_REPEAT_3_102(m, d) m(4, 102, d)
28725 #define BOOST_PP_REPEAT_3_104(m,d) BOOST_PP_REPEAT_3_103(m, d) m(4, 103, d)
28726 #define BOOST_PP_REPEAT_3_105(m,d) BOOST_PP_REPEAT_3_104(m, d) m(4, 104, d)
28727 #define BOOST_PP_REPEAT_3_106(m,d) BOOST_PP_REPEAT_3_105(m, d) m(4, 105, d)
28728 #define BOOST_PP_REPEAT_3_107(m,d) BOOST_PP_REPEAT_3_106(m, d) m(4, 106, d)
28729 #define BOOST_PP_REPEAT_3_108(m,d) BOOST_PP_REPEAT_3_107(m, d) m(4, 107, d)
28730 #define BOOST_PP_REPEAT_3_109(m,d) BOOST_PP_REPEAT_3_108(m, d) m(4, 108, d)
28731 #define BOOST_PP_REPEAT_3_110(m,d) BOOST_PP_REPEAT_3_109(m, d) m(4, 109, d)
28732 #define BOOST_PP_REPEAT_3_111(m,d) BOOST_PP_REPEAT_3_110(m, d) m(4, 110, d)
28733 #define BOOST_PP_REPEAT_3_112(m,d) BOOST_PP_REPEAT_3_111(m, d) m(4, 111, d)
28734 #define BOOST_PP_REPEAT_3_113(m,d) BOOST_PP_REPEAT_3_112(m, d) m(4, 112, d)
28735 #define BOOST_PP_REPEAT_3_114(m,d) BOOST_PP_REPEAT_3_113(m, d) m(4, 113, d)
28736 #define BOOST_PP_REPEAT_3_115(m,d) BOOST_PP_REPEAT_3_114(m, d) m(4, 114, d)
28737 #define BOOST_PP_REPEAT_3_116(m,d) BOOST_PP_REPEAT_3_115(m, d) m(4, 115, d)
28738 #define BOOST_PP_REPEAT_3_117(m,d) BOOST_PP_REPEAT_3_116(m, d) m(4, 116, d)
28739 #define BOOST_PP_REPEAT_3_118(m,d) BOOST_PP_REPEAT_3_117(m, d) m(4, 117, d)
28740 #define BOOST_PP_REPEAT_3_119(m,d) BOOST_PP_REPEAT_3_118(m, d) m(4, 118, d)
28741 #define BOOST_PP_REPEAT_3_120(m,d) BOOST_PP_REPEAT_3_119(m, d) m(4, 119, d)
28742 #define BOOST_PP_REPEAT_3_121(m,d) BOOST_PP_REPEAT_3_120(m, d) m(4, 120, d)
28743 #define BOOST_PP_REPEAT_3_122(m,d) BOOST_PP_REPEAT_3_121(m, d) m(4, 121, d)
28744 #define BOOST_PP_REPEAT_3_123(m,d) BOOST_PP_REPEAT_3_122(m, d) m(4, 122, d)
28745 #define BOOST_PP_REPEAT_3_124(m,d) BOOST_PP_REPEAT_3_123(m, d) m(4, 123, d)
28746 #define BOOST_PP_REPEAT_3_125(m,d) BOOST_PP_REPEAT_3_124(m, d) m(4, 124, d)
28747 #define BOOST_PP_REPEAT_3_126(m,d) BOOST_PP_REPEAT_3_125(m, d) m(4, 125, d)
28748 #define BOOST_PP_REPEAT_3_127(m,d) BOOST_PP_REPEAT_3_126(m, d) m(4, 126, d)
28749 #define BOOST_PP_REPEAT_3_128(m,d) BOOST_PP_REPEAT_3_127(m, d) m(4, 127, d)
28750 #define BOOST_PP_REPEAT_3_129(m,d) BOOST_PP_REPEAT_3_128(m, d) m(4, 128, d)
28751 #define BOOST_PP_REPEAT_3_130(m,d) BOOST_PP_REPEAT_3_129(m, d) m(4, 129, d)
28752 #define BOOST_PP_REPEAT_3_131(m,d) BOOST_PP_REPEAT_3_130(m, d) m(4, 130, d)
28753 #define BOOST_PP_REPEAT_3_132(m,d) BOOST_PP_REPEAT_3_131(m, d) m(4, 131, d)
28754 #define BOOST_PP_REPEAT_3_133(m,d) BOOST_PP_REPEAT_3_132(m, d) m(4, 132, d)
28755 #define BOOST_PP_REPEAT_3_134(m,d) BOOST_PP_REPEAT_3_133(m, d) m(4, 133, d)
28756 #define BOOST_PP_REPEAT_3_135(m,d) BOOST_PP_REPEAT_3_134(m, d) m(4, 134, d)
28757 #define BOOST_PP_REPEAT_3_136(m,d) BOOST_PP_REPEAT_3_135(m, d) m(4, 135, d)
28758 #define BOOST_PP_REPEAT_3_137(m,d) BOOST_PP_REPEAT_3_136(m, d) m(4, 136, d)
28759 #define BOOST_PP_REPEAT_3_138(m,d) BOOST_PP_REPEAT_3_137(m, d) m(4, 137, d)
28760 #define BOOST_PP_REPEAT_3_139(m,d) BOOST_PP_REPEAT_3_138(m, d) m(4, 138, d)
28761 #define BOOST_PP_REPEAT_3_140(m,d) BOOST_PP_REPEAT_3_139(m, d) m(4, 139, d)
28762 #define BOOST_PP_REPEAT_3_141(m,d) BOOST_PP_REPEAT_3_140(m, d) m(4, 140, d)
28763 #define BOOST_PP_REPEAT_3_142(m,d) BOOST_PP_REPEAT_3_141(m, d) m(4, 141, d)
28764 #define BOOST_PP_REPEAT_3_143(m,d) BOOST_PP_REPEAT_3_142(m, d) m(4, 142, d)
28765 #define BOOST_PP_REPEAT_3_144(m,d) BOOST_PP_REPEAT_3_143(m, d) m(4, 143, d)
28766 #define BOOST_PP_REPEAT_3_145(m,d) BOOST_PP_REPEAT_3_144(m, d) m(4, 144, d)
28767 #define BOOST_PP_REPEAT_3_146(m,d) BOOST_PP_REPEAT_3_145(m, d) m(4, 145, d)
28768 #define BOOST_PP_REPEAT_3_147(m,d) BOOST_PP_REPEAT_3_146(m, d) m(4, 146, d)
28769 #define BOOST_PP_REPEAT_3_148(m,d) BOOST_PP_REPEAT_3_147(m, d) m(4, 147, d)
28770 #define BOOST_PP_REPEAT_3_149(m,d) BOOST_PP_REPEAT_3_148(m, d) m(4, 148, d)
28771 #define BOOST_PP_REPEAT_3_150(m,d) BOOST_PP_REPEAT_3_149(m, d) m(4, 149, d)
28772 #define BOOST_PP_REPEAT_3_151(m,d) BOOST_PP_REPEAT_3_150(m, d) m(4, 150, d)
28773 #define BOOST_PP_REPEAT_3_152(m,d) BOOST_PP_REPEAT_3_151(m, d) m(4, 151, d)
28774 #define BOOST_PP_REPEAT_3_153(m,d) BOOST_PP_REPEAT_3_152(m, d) m(4, 152, d)
28775 #define BOOST_PP_REPEAT_3_154(m,d) BOOST_PP_REPEAT_3_153(m, d) m(4, 153, d)
28776 #define BOOST_PP_REPEAT_3_155(m,d) BOOST_PP_REPEAT_3_154(m, d) m(4, 154, d)
28777 #define BOOST_PP_REPEAT_3_156(m,d) BOOST_PP_REPEAT_3_155(m, d) m(4, 155, d)
28778 #define BOOST_PP_REPEAT_3_157(m,d) BOOST_PP_REPEAT_3_156(m, d) m(4, 156, d)
28779 #define BOOST_PP_REPEAT_3_158(m,d) BOOST_PP_REPEAT_3_157(m, d) m(4, 157, d)
28780 #define BOOST_PP_REPEAT_3_159(m,d) BOOST_PP_REPEAT_3_158(m, d) m(4, 158, d)
28781 #define BOOST_PP_REPEAT_3_160(m,d) BOOST_PP_REPEAT_3_159(m, d) m(4, 159, d)
28782 #define BOOST_PP_REPEAT_3_161(m,d) BOOST_PP_REPEAT_3_160(m, d) m(4, 160, d)
28783 #define BOOST_PP_REPEAT_3_162(m,d) BOOST_PP_REPEAT_3_161(m, d) m(4, 161, d)
28784 #define BOOST_PP_REPEAT_3_163(m,d) BOOST_PP_REPEAT_3_162(m, d) m(4, 162, d)
28785 #define BOOST_PP_REPEAT_3_164(m,d) BOOST_PP_REPEAT_3_163(m, d) m(4, 163, d)
28786 #define BOOST_PP_REPEAT_3_165(m,d) BOOST_PP_REPEAT_3_164(m, d) m(4, 164, d)
28787 #define BOOST_PP_REPEAT_3_166(m,d) BOOST_PP_REPEAT_3_165(m, d) m(4, 165, d)
28788 #define BOOST_PP_REPEAT_3_167(m,d) BOOST_PP_REPEAT_3_166(m, d) m(4, 166, d)
28789 #define BOOST_PP_REPEAT_3_168(m,d) BOOST_PP_REPEAT_3_167(m, d) m(4, 167, d)
28790 #define BOOST_PP_REPEAT_3_169(m,d) BOOST_PP_REPEAT_3_168(m, d) m(4, 168, d)
28791 #define BOOST_PP_REPEAT_3_170(m,d) BOOST_PP_REPEAT_3_169(m, d) m(4, 169, d)
28792 #define BOOST_PP_REPEAT_3_171(m,d) BOOST_PP_REPEAT_3_170(m, d) m(4, 170, d)
28793 #define BOOST_PP_REPEAT_3_172(m,d) BOOST_PP_REPEAT_3_171(m, d) m(4, 171, d)
28794 #define BOOST_PP_REPEAT_3_173(m,d) BOOST_PP_REPEAT_3_172(m, d) m(4, 172, d)
28795 #define BOOST_PP_REPEAT_3_174(m,d) BOOST_PP_REPEAT_3_173(m, d) m(4, 173, d)
28796 #define BOOST_PP_REPEAT_3_175(m,d) BOOST_PP_REPEAT_3_174(m, d) m(4, 174, d)
28797 #define BOOST_PP_REPEAT_3_176(m,d) BOOST_PP_REPEAT_3_175(m, d) m(4, 175, d)
28798 #define BOOST_PP_REPEAT_3_177(m,d) BOOST_PP_REPEAT_3_176(m, d) m(4, 176, d)
28799 #define BOOST_PP_REPEAT_3_178(m,d) BOOST_PP_REPEAT_3_177(m, d) m(4, 177, d)
28800 #define BOOST_PP_REPEAT_3_179(m,d) BOOST_PP_REPEAT_3_178(m, d) m(4, 178, d)
28801 #define BOOST_PP_REPEAT_3_180(m,d) BOOST_PP_REPEAT_3_179(m, d) m(4, 179, d)
28802 #define BOOST_PP_REPEAT_3_181(m,d) BOOST_PP_REPEAT_3_180(m, d) m(4, 180, d)
28803 #define BOOST_PP_REPEAT_3_182(m,d) BOOST_PP_REPEAT_3_181(m, d) m(4, 181, d)
28804 #define BOOST_PP_REPEAT_3_183(m,d) BOOST_PP_REPEAT_3_182(m, d) m(4, 182, d)
28805 #define BOOST_PP_REPEAT_3_184(m,d) BOOST_PP_REPEAT_3_183(m, d) m(4, 183, d)
28806 #define BOOST_PP_REPEAT_3_185(m,d) BOOST_PP_REPEAT_3_184(m, d) m(4, 184, d)
28807 #define BOOST_PP_REPEAT_3_186(m,d) BOOST_PP_REPEAT_3_185(m, d) m(4, 185, d)
28808 #define BOOST_PP_REPEAT_3_187(m,d) BOOST_PP_REPEAT_3_186(m, d) m(4, 186, d)
28809 #define BOOST_PP_REPEAT_3_188(m,d) BOOST_PP_REPEAT_3_187(m, d) m(4, 187, d)
28810 #define BOOST_PP_REPEAT_3_189(m,d) BOOST_PP_REPEAT_3_188(m, d) m(4, 188, d)
28811 #define BOOST_PP_REPEAT_3_190(m,d) BOOST_PP_REPEAT_3_189(m, d) m(4, 189, d)
28812 #define BOOST_PP_REPEAT_3_191(m,d) BOOST_PP_REPEAT_3_190(m, d) m(4, 190, d)
28813 #define BOOST_PP_REPEAT_3_192(m,d) BOOST_PP_REPEAT_3_191(m, d) m(4, 191, d)
28814 #define BOOST_PP_REPEAT_3_193(m,d) BOOST_PP_REPEAT_3_192(m, d) m(4, 192, d)
28815 #define BOOST_PP_REPEAT_3_194(m,d) BOOST_PP_REPEAT_3_193(m, d) m(4, 193, d)
28816 #define BOOST_PP_REPEAT_3_195(m,d) BOOST_PP_REPEAT_3_194(m, d) m(4, 194, d)
28817 #define BOOST_PP_REPEAT_3_196(m,d) BOOST_PP_REPEAT_3_195(m, d) m(4, 195, d)
28818 #define BOOST_PP_REPEAT_3_197(m,d) BOOST_PP_REPEAT_3_196(m, d) m(4, 196, d)
28819 #define BOOST_PP_REPEAT_3_198(m,d) BOOST_PP_REPEAT_3_197(m, d) m(4, 197, d)
28820 #define BOOST_PP_REPEAT_3_199(m,d) BOOST_PP_REPEAT_3_198(m, d) m(4, 198, d)
28821 #define BOOST_PP_REPEAT_3_200(m,d) BOOST_PP_REPEAT_3_199(m, d) m(4, 199, d)
28822 #define BOOST_PP_REPEAT_3_201(m,d) BOOST_PP_REPEAT_3_200(m, d) m(4, 200, d)
28823 #define BOOST_PP_REPEAT_3_202(m,d) BOOST_PP_REPEAT_3_201(m, d) m(4, 201, d)
28824 #define BOOST_PP_REPEAT_3_203(m,d) BOOST_PP_REPEAT_3_202(m, d) m(4, 202, d)
28825 #define BOOST_PP_REPEAT_3_204(m,d) BOOST_PP_REPEAT_3_203(m, d) m(4, 203, d)
28826 #define BOOST_PP_REPEAT_3_205(m,d) BOOST_PP_REPEAT_3_204(m, d) m(4, 204, d)
28827 #define BOOST_PP_REPEAT_3_206(m,d) BOOST_PP_REPEAT_3_205(m, d) m(4, 205, d)
28828 #define BOOST_PP_REPEAT_3_207(m,d) BOOST_PP_REPEAT_3_206(m, d) m(4, 206, d)
28829 #define BOOST_PP_REPEAT_3_208(m,d) BOOST_PP_REPEAT_3_207(m, d) m(4, 207, d)
28830 #define BOOST_PP_REPEAT_3_209(m,d) BOOST_PP_REPEAT_3_208(m, d) m(4, 208, d)
28831 #define BOOST_PP_REPEAT_3_210(m,d) BOOST_PP_REPEAT_3_209(m, d) m(4, 209, d)
28832 #define BOOST_PP_REPEAT_3_211(m,d) BOOST_PP_REPEAT_3_210(m, d) m(4, 210, d)
28833 #define BOOST_PP_REPEAT_3_212(m,d) BOOST_PP_REPEAT_3_211(m, d) m(4, 211, d)
28834 #define BOOST_PP_REPEAT_3_213(m,d) BOOST_PP_REPEAT_3_212(m, d) m(4, 212, d)
28835 #define BOOST_PP_REPEAT_3_214(m,d) BOOST_PP_REPEAT_3_213(m, d) m(4, 213, d)
28836 #define BOOST_PP_REPEAT_3_215(m,d) BOOST_PP_REPEAT_3_214(m, d) m(4, 214, d)
28837 #define BOOST_PP_REPEAT_3_216(m,d) BOOST_PP_REPEAT_3_215(m, d) m(4, 215, d)
28838 #define BOOST_PP_REPEAT_3_217(m,d) BOOST_PP_REPEAT_3_216(m, d) m(4, 216, d)
28839 #define BOOST_PP_REPEAT_3_218(m,d) BOOST_PP_REPEAT_3_217(m, d) m(4, 217, d)
28840 #define BOOST_PP_REPEAT_3_219(m,d) BOOST_PP_REPEAT_3_218(m, d) m(4, 218, d)
28841 #define BOOST_PP_REPEAT_3_220(m,d) BOOST_PP_REPEAT_3_219(m, d) m(4, 219, d)
28842 #define BOOST_PP_REPEAT_3_221(m,d) BOOST_PP_REPEAT_3_220(m, d) m(4, 220, d)
28843 #define BOOST_PP_REPEAT_3_222(m,d) BOOST_PP_REPEAT_3_221(m, d) m(4, 221, d)
28844 #define BOOST_PP_REPEAT_3_223(m,d) BOOST_PP_REPEAT_3_222(m, d) m(4, 222, d)
28845 #define BOOST_PP_REPEAT_3_224(m,d) BOOST_PP_REPEAT_3_223(m, d) m(4, 223, d)
28846 #define BOOST_PP_REPEAT_3_225(m,d) BOOST_PP_REPEAT_3_224(m, d) m(4, 224, d)
28847 #define BOOST_PP_REPEAT_3_226(m,d) BOOST_PP_REPEAT_3_225(m, d) m(4, 225, d)
28848 #define BOOST_PP_REPEAT_3_227(m,d) BOOST_PP_REPEAT_3_226(m, d) m(4, 226, d)
28849 #define BOOST_PP_REPEAT_3_228(m,d) BOOST_PP_REPEAT_3_227(m, d) m(4, 227, d)
28850 #define BOOST_PP_REPEAT_3_229(m,d) BOOST_PP_REPEAT_3_228(m, d) m(4, 228, d)
28851 #define BOOST_PP_REPEAT_3_230(m,d) BOOST_PP_REPEAT_3_229(m, d) m(4, 229, d)
28852 #define BOOST_PP_REPEAT_3_231(m,d) BOOST_PP_REPEAT_3_230(m, d) m(4, 230, d)
28853 #define BOOST_PP_REPEAT_3_232(m,d) BOOST_PP_REPEAT_3_231(m, d) m(4, 231, d)
28854 #define BOOST_PP_REPEAT_3_233(m,d) BOOST_PP_REPEAT_3_232(m, d) m(4, 232, d)
28855 #define BOOST_PP_REPEAT_3_234(m,d) BOOST_PP_REPEAT_3_233(m, d) m(4, 233, d)
28856 #define BOOST_PP_REPEAT_3_235(m,d) BOOST_PP_REPEAT_3_234(m, d) m(4, 234, d)
28857 #define BOOST_PP_REPEAT_3_236(m,d) BOOST_PP_REPEAT_3_235(m, d) m(4, 235, d)
28858 #define BOOST_PP_REPEAT_3_237(m,d) BOOST_PP_REPEAT_3_236(m, d) m(4, 236, d)
28859 #define BOOST_PP_REPEAT_3_238(m,d) BOOST_PP_REPEAT_3_237(m, d) m(4, 237, d)
28860 #define BOOST_PP_REPEAT_3_239(m,d) BOOST_PP_REPEAT_3_238(m, d) m(4, 238, d)
28861 #define BOOST_PP_REPEAT_3_240(m,d) BOOST_PP_REPEAT_3_239(m, d) m(4, 239, d)
28862 #define BOOST_PP_REPEAT_3_241(m,d) BOOST_PP_REPEAT_3_240(m, d) m(4, 240, d)
28863 #define BOOST_PP_REPEAT_3_242(m,d) BOOST_PP_REPEAT_3_241(m, d) m(4, 241, d)
28864 #define BOOST_PP_REPEAT_3_243(m,d) BOOST_PP_REPEAT_3_242(m, d) m(4, 242, d)
28865 #define BOOST_PP_REPEAT_3_244(m,d) BOOST_PP_REPEAT_3_243(m, d) m(4, 243, d)
28866 #define BOOST_PP_REPEAT_3_245(m,d) BOOST_PP_REPEAT_3_244(m, d) m(4, 244, d)
28867 #define BOOST_PP_REPEAT_3_246(m,d) BOOST_PP_REPEAT_3_245(m, d) m(4, 245, d)
28868 #define BOOST_PP_REPEAT_3_247(m,d) BOOST_PP_REPEAT_3_246(m, d) m(4, 246, d)
28869 #define BOOST_PP_REPEAT_3_248(m,d) BOOST_PP_REPEAT_3_247(m, d) m(4, 247, d)
28870 #define BOOST_PP_REPEAT_3_249(m,d) BOOST_PP_REPEAT_3_248(m, d) m(4, 248, d)
28871 #define BOOST_PP_REPEAT_3_250(m,d) BOOST_PP_REPEAT_3_249(m, d) m(4, 249, d)
28872 #define BOOST_PP_REPEAT_3_251(m,d) BOOST_PP_REPEAT_3_250(m, d) m(4, 250, d)
28873 #define BOOST_PP_REPEAT_3_252(m,d) BOOST_PP_REPEAT_3_251(m, d) m(4, 251, d)
28874 #define BOOST_PP_REPEAT_3_253(m,d) BOOST_PP_REPEAT_3_252(m, d) m(4, 252, d)
28875 #define BOOST_PP_REPEAT_3_254(m,d) BOOST_PP_REPEAT_3_253(m, d) m(4, 253, d)
28876 #define BOOST_PP_REPEAT_3_255(m,d) BOOST_PP_REPEAT_3_254(m, d) m(4, 254, d)
28877 #define BOOST_PP_REPEAT_3_256(m,d) BOOST_PP_REPEAT_3_255(m, d) m(4, 255, d)
28878 # 16 "/usr/include/boost/preprocessor/repeat.hpp" 2 3 4
28879 # 47 "/usr/include/boost/mpl/aux_/preprocessor/params.hpp" 2 3 4
28880 # 1 "/usr/include/boost/preprocessor/inc.hpp" 1 3 4
28881 # 13 "/usr/include/boost/preprocessor/inc.hpp" 3 4
28882 #define BOOST_PREPROCESSOR_INC_HPP 
28883
28884 # 1 "/usr/include/boost/preprocessor/arithmetic/inc.hpp" 1 3 4
28885 # 15 "/usr/include/boost/preprocessor/arithmetic/inc.hpp" 3 4
28886 #define BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP 
28887
28888
28889
28890
28891
28892
28893 #define BOOST_PP_INC(x) BOOST_PP_INC_I(x)
28894
28895
28896
28897
28898
28899 #define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x
28900
28901 #define BOOST_PP_INC_0 1
28902 #define BOOST_PP_INC_1 2
28903 #define BOOST_PP_INC_2 3
28904 #define BOOST_PP_INC_3 4
28905 #define BOOST_PP_INC_4 5
28906 #define BOOST_PP_INC_5 6
28907 #define BOOST_PP_INC_6 7
28908 #define BOOST_PP_INC_7 8
28909 #define BOOST_PP_INC_8 9
28910 #define BOOST_PP_INC_9 10
28911 #define BOOST_PP_INC_10 11
28912 #define BOOST_PP_INC_11 12
28913 #define BOOST_PP_INC_12 13
28914 #define BOOST_PP_INC_13 14
28915 #define BOOST_PP_INC_14 15
28916 #define BOOST_PP_INC_15 16
28917 #define BOOST_PP_INC_16 17
28918 #define BOOST_PP_INC_17 18
28919 #define BOOST_PP_INC_18 19
28920 #define BOOST_PP_INC_19 20
28921 #define BOOST_PP_INC_20 21
28922 #define BOOST_PP_INC_21 22
28923 #define BOOST_PP_INC_22 23
28924 #define BOOST_PP_INC_23 24
28925 #define BOOST_PP_INC_24 25
28926 #define BOOST_PP_INC_25 26
28927 #define BOOST_PP_INC_26 27
28928 #define BOOST_PP_INC_27 28
28929 #define BOOST_PP_INC_28 29
28930 #define BOOST_PP_INC_29 30
28931 #define BOOST_PP_INC_30 31
28932 #define BOOST_PP_INC_31 32
28933 #define BOOST_PP_INC_32 33
28934 #define BOOST_PP_INC_33 34
28935 #define BOOST_PP_INC_34 35
28936 #define BOOST_PP_INC_35 36
28937 #define BOOST_PP_INC_36 37
28938 #define BOOST_PP_INC_37 38
28939 #define BOOST_PP_INC_38 39
28940 #define BOOST_PP_INC_39 40
28941 #define BOOST_PP_INC_40 41
28942 #define BOOST_PP_INC_41 42
28943 #define BOOST_PP_INC_42 43
28944 #define BOOST_PP_INC_43 44
28945 #define BOOST_PP_INC_44 45
28946 #define BOOST_PP_INC_45 46
28947 #define BOOST_PP_INC_46 47
28948 #define BOOST_PP_INC_47 48
28949 #define BOOST_PP_INC_48 49
28950 #define BOOST_PP_INC_49 50
28951 #define BOOST_PP_INC_50 51
28952 #define BOOST_PP_INC_51 52
28953 #define BOOST_PP_INC_52 53
28954 #define BOOST_PP_INC_53 54
28955 #define BOOST_PP_INC_54 55
28956 #define BOOST_PP_INC_55 56
28957 #define BOOST_PP_INC_56 57
28958 #define BOOST_PP_INC_57 58
28959 #define BOOST_PP_INC_58 59
28960 #define BOOST_PP_INC_59 60
28961 #define BOOST_PP_INC_60 61
28962 #define BOOST_PP_INC_61 62
28963 #define BOOST_PP_INC_62 63
28964 #define BOOST_PP_INC_63 64
28965 #define BOOST_PP_INC_64 65
28966 #define BOOST_PP_INC_65 66
28967 #define BOOST_PP_INC_66 67
28968 #define BOOST_PP_INC_67 68
28969 #define BOOST_PP_INC_68 69
28970 #define BOOST_PP_INC_69 70
28971 #define BOOST_PP_INC_70 71
28972 #define BOOST_PP_INC_71 72
28973 #define BOOST_PP_INC_72 73
28974 #define BOOST_PP_INC_73 74
28975 #define BOOST_PP_INC_74 75
28976 #define BOOST_PP_INC_75 76
28977 #define BOOST_PP_INC_76 77
28978 #define BOOST_PP_INC_77 78
28979 #define BOOST_PP_INC_78 79
28980 #define BOOST_PP_INC_79 80
28981 #define BOOST_PP_INC_80 81
28982 #define BOOST_PP_INC_81 82
28983 #define BOOST_PP_INC_82 83
28984 #define BOOST_PP_INC_83 84
28985 #define BOOST_PP_INC_84 85
28986 #define BOOST_PP_INC_85 86
28987 #define BOOST_PP_INC_86 87
28988 #define BOOST_PP_INC_87 88
28989 #define BOOST_PP_INC_88 89
28990 #define BOOST_PP_INC_89 90
28991 #define BOOST_PP_INC_90 91
28992 #define BOOST_PP_INC_91 92
28993 #define BOOST_PP_INC_92 93
28994 #define BOOST_PP_INC_93 94
28995 #define BOOST_PP_INC_94 95
28996 #define BOOST_PP_INC_95 96
28997 #define BOOST_PP_INC_96 97
28998 #define BOOST_PP_INC_97 98
28999 #define BOOST_PP_INC_98 99
29000 #define BOOST_PP_INC_99 100
29001 #define BOOST_PP_INC_100 101
29002 #define BOOST_PP_INC_101 102
29003 #define BOOST_PP_INC_102 103
29004 #define BOOST_PP_INC_103 104
29005 #define BOOST_PP_INC_104 105
29006 #define BOOST_PP_INC_105 106
29007 #define BOOST_PP_INC_106 107
29008 #define BOOST_PP_INC_107 108
29009 #define BOOST_PP_INC_108 109
29010 #define BOOST_PP_INC_109 110
29011 #define BOOST_PP_INC_110 111
29012 #define BOOST_PP_INC_111 112
29013 #define BOOST_PP_INC_112 113
29014 #define BOOST_PP_INC_113 114
29015 #define BOOST_PP_INC_114 115
29016 #define BOOST_PP_INC_115 116
29017 #define BOOST_PP_INC_116 117
29018 #define BOOST_PP_INC_117 118
29019 #define BOOST_PP_INC_118 119
29020 #define BOOST_PP_INC_119 120
29021 #define BOOST_PP_INC_120 121
29022 #define BOOST_PP_INC_121 122
29023 #define BOOST_PP_INC_122 123
29024 #define BOOST_PP_INC_123 124
29025 #define BOOST_PP_INC_124 125
29026 #define BOOST_PP_INC_125 126
29027 #define BOOST_PP_INC_126 127
29028 #define BOOST_PP_INC_127 128
29029 #define BOOST_PP_INC_128 129
29030 #define BOOST_PP_INC_129 130
29031 #define BOOST_PP_INC_130 131
29032 #define BOOST_PP_INC_131 132
29033 #define BOOST_PP_INC_132 133
29034 #define BOOST_PP_INC_133 134
29035 #define BOOST_PP_INC_134 135
29036 #define BOOST_PP_INC_135 136
29037 #define BOOST_PP_INC_136 137
29038 #define BOOST_PP_INC_137 138
29039 #define BOOST_PP_INC_138 139
29040 #define BOOST_PP_INC_139 140
29041 #define BOOST_PP_INC_140 141
29042 #define BOOST_PP_INC_141 142
29043 #define BOOST_PP_INC_142 143
29044 #define BOOST_PP_INC_143 144
29045 #define BOOST_PP_INC_144 145
29046 #define BOOST_PP_INC_145 146
29047 #define BOOST_PP_INC_146 147
29048 #define BOOST_PP_INC_147 148
29049 #define BOOST_PP_INC_148 149
29050 #define BOOST_PP_INC_149 150
29051 #define BOOST_PP_INC_150 151
29052 #define BOOST_PP_INC_151 152
29053 #define BOOST_PP_INC_152 153
29054 #define BOOST_PP_INC_153 154
29055 #define BOOST_PP_INC_154 155
29056 #define BOOST_PP_INC_155 156
29057 #define BOOST_PP_INC_156 157
29058 #define BOOST_PP_INC_157 158
29059 #define BOOST_PP_INC_158 159
29060 #define BOOST_PP_INC_159 160
29061 #define BOOST_PP_INC_160 161
29062 #define BOOST_PP_INC_161 162
29063 #define BOOST_PP_INC_162 163
29064 #define BOOST_PP_INC_163 164
29065 #define BOOST_PP_INC_164 165
29066 #define BOOST_PP_INC_165 166
29067 #define BOOST_PP_INC_166 167
29068 #define BOOST_PP_INC_167 168
29069 #define BOOST_PP_INC_168 169
29070 #define BOOST_PP_INC_169 170
29071 #define BOOST_PP_INC_170 171
29072 #define BOOST_PP_INC_171 172
29073 #define BOOST_PP_INC_172 173
29074 #define BOOST_PP_INC_173 174
29075 #define BOOST_PP_INC_174 175
29076 #define BOOST_PP_INC_175 176
29077 #define BOOST_PP_INC_176 177
29078 #define BOOST_PP_INC_177 178
29079 #define BOOST_PP_INC_178 179
29080 #define BOOST_PP_INC_179 180
29081 #define BOOST_PP_INC_180 181
29082 #define BOOST_PP_INC_181 182
29083 #define BOOST_PP_INC_182 183
29084 #define BOOST_PP_INC_183 184
29085 #define BOOST_PP_INC_184 185
29086 #define BOOST_PP_INC_185 186
29087 #define BOOST_PP_INC_186 187
29088 #define BOOST_PP_INC_187 188
29089 #define BOOST_PP_INC_188 189
29090 #define BOOST_PP_INC_189 190
29091 #define BOOST_PP_INC_190 191
29092 #define BOOST_PP_INC_191 192
29093 #define BOOST_PP_INC_192 193
29094 #define BOOST_PP_INC_193 194
29095 #define BOOST_PP_INC_194 195
29096 #define BOOST_PP_INC_195 196
29097 #define BOOST_PP_INC_196 197
29098 #define BOOST_PP_INC_197 198
29099 #define BOOST_PP_INC_198 199
29100 #define BOOST_PP_INC_199 200
29101 #define BOOST_PP_INC_200 201
29102 #define BOOST_PP_INC_201 202
29103 #define BOOST_PP_INC_202 203
29104 #define BOOST_PP_INC_203 204
29105 #define BOOST_PP_INC_204 205
29106 #define BOOST_PP_INC_205 206
29107 #define BOOST_PP_INC_206 207
29108 #define BOOST_PP_INC_207 208
29109 #define BOOST_PP_INC_208 209
29110 #define BOOST_PP_INC_209 210
29111 #define BOOST_PP_INC_210 211
29112 #define BOOST_PP_INC_211 212
29113 #define BOOST_PP_INC_212 213
29114 #define BOOST_PP_INC_213 214
29115 #define BOOST_PP_INC_214 215
29116 #define BOOST_PP_INC_215 216
29117 #define BOOST_PP_INC_216 217
29118 #define BOOST_PP_INC_217 218
29119 #define BOOST_PP_INC_218 219
29120 #define BOOST_PP_INC_219 220
29121 #define BOOST_PP_INC_220 221
29122 #define BOOST_PP_INC_221 222
29123 #define BOOST_PP_INC_222 223
29124 #define BOOST_PP_INC_223 224
29125 #define BOOST_PP_INC_224 225
29126 #define BOOST_PP_INC_225 226
29127 #define BOOST_PP_INC_226 227
29128 #define BOOST_PP_INC_227 228
29129 #define BOOST_PP_INC_228 229
29130 #define BOOST_PP_INC_229 230
29131 #define BOOST_PP_INC_230 231
29132 #define BOOST_PP_INC_231 232
29133 #define BOOST_PP_INC_232 233
29134 #define BOOST_PP_INC_233 234
29135 #define BOOST_PP_INC_234 235
29136 #define BOOST_PP_INC_235 236
29137 #define BOOST_PP_INC_236 237
29138 #define BOOST_PP_INC_237 238
29139 #define BOOST_PP_INC_238 239
29140 #define BOOST_PP_INC_239 240
29141 #define BOOST_PP_INC_240 241
29142 #define BOOST_PP_INC_241 242
29143 #define BOOST_PP_INC_242 243
29144 #define BOOST_PP_INC_243 244
29145 #define BOOST_PP_INC_244 245
29146 #define BOOST_PP_INC_245 246
29147 #define BOOST_PP_INC_246 247
29148 #define BOOST_PP_INC_247 248
29149 #define BOOST_PP_INC_248 249
29150 #define BOOST_PP_INC_249 250
29151 #define BOOST_PP_INC_250 251
29152 #define BOOST_PP_INC_251 252
29153 #define BOOST_PP_INC_252 253
29154 #define BOOST_PP_INC_253 254
29155 #define BOOST_PP_INC_254 255
29156 #define BOOST_PP_INC_255 256
29157 #define BOOST_PP_INC_256 256
29158 # 16 "/usr/include/boost/preprocessor/inc.hpp" 2 3 4
29159 # 48 "/usr/include/boost/mpl/aux_/preprocessor/params.hpp" 2 3 4
29160
29161
29162 #define BOOST_MPL_PP_AUX_PARAM_FUNC(unused,i,param) BOOST_PP_COMMA_IF(i) BOOST_PP_CAT(param, BOOST_PP_INC(i))
29163
29164
29165
29166
29167 #define BOOST_MPL_PP_PARAMS(n,param) BOOST_PP_REPEAT( n , BOOST_MPL_PP_AUX_PARAM_FUNC , param )
29168 # 13 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 2 3 4
29169 # 1 "/usr/include/boost/mpl/aux_/config/lambda.hpp" 1 3 4
29170
29171
29172 #define BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED 
29173 # 17 "/usr/include/boost/mpl/aux_/config/lambda.hpp" 3 4
29174 # 1 "/usr/include/boost/mpl/aux_/config/ttp.hpp" 1 3 4
29175
29176
29177 #define BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED 
29178 # 35 "/usr/include/boost/mpl/aux_/config/ttp.hpp" 3 4
29179 #define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING 
29180 # 18 "/usr/include/boost/mpl/aux_/config/lambda.hpp" 2 3 4
29181 # 1 "/usr/include/boost/mpl/aux_/config/ctps.hpp" 1 3 4
29182
29183
29184 #define BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED 
29185 # 19 "/usr/include/boost/mpl/aux_/config/lambda.hpp" 2 3 4
29186 # 14 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 2 3 4
29187 # 1 "/usr/include/boost/mpl/aux_/config/overload_resolution.hpp" 1 3 4
29188
29189
29190 #define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED 
29191 # 15 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 2 3 4
29192 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
29193 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
29194 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
29195 # 1 "/usr/include/boost/mpl/aux_/lambda_support.hpp" 1 3 4
29196
29197
29198 #define BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED 
29199 # 21 "/usr/include/boost/mpl/aux_/lambda_support.hpp" 3 4
29200 #define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i,name,params) 
29201 #define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) 
29202 # 16 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
29203
29204 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
29205 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
29206 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
29207
29208
29209
29210
29211
29212
29213
29214 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
29215
29216
29217
29218
29219
29220
29221 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
29222
29223
29224
29225
29226
29227
29228 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
29229
29230
29231
29232
29233
29234
29235 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
29236 # 17 "/usr/include/boost/type_traits/add_const.hpp" 2 3 4
29237
29238 namespace boost {
29239 # 33 "/usr/include/boost/type_traits/add_const.hpp" 3 4
29240 template< typename T > struct add_const { typedef T const type; };
29241
29242
29243
29244
29245
29246
29247 template< typename T > struct add_const<T&> { typedef T& type; };
29248
29249
29250 }
29251
29252 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
29253 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
29254 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
29255 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
29256 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
29257 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
29258 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
29259 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
29260 # 46 "/usr/include/boost/type_traits/add_const.hpp" 2 3 4
29261 # 14 "/usr/include/boost/type_traits.hpp" 2 3 4
29262 # 1 "/usr/include/boost/type_traits/add_cv.hpp" 1 3 4
29263 # 12 "/usr/include/boost/type_traits/add_cv.hpp" 3 4
29264 #define BOOST_TT_ADD_CV_HPP_INCLUDED 
29265
29266
29267
29268
29269 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
29270 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
29271 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
29272 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
29273 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
29274 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
29275
29276
29277 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
29278 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
29279 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
29280
29281
29282
29283
29284
29285
29286
29287 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
29288
29289
29290
29291
29292
29293
29294 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
29295
29296
29297
29298
29299
29300
29301 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
29302
29303
29304
29305
29306
29307
29308 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
29309 # 18 "/usr/include/boost/type_traits/add_cv.hpp" 2 3 4
29310
29311 namespace boost {
29312 # 34 "/usr/include/boost/type_traits/add_cv.hpp" 3 4
29313 template< typename T > struct add_cv { typedef T const volatile type; };
29314
29315
29316
29317
29318
29319
29320 template< typename T > struct add_cv<T&> { typedef T& type; };
29321
29322
29323 }
29324
29325 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
29326 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
29327 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
29328 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
29329 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
29330 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
29331 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
29332 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
29333 # 47 "/usr/include/boost/type_traits/add_cv.hpp" 2 3 4
29334 # 15 "/usr/include/boost/type_traits.hpp" 2 3 4
29335 # 1 "/usr/include/boost/type_traits/add_pointer.hpp" 1 3 4
29336 # 10 "/usr/include/boost/type_traits/add_pointer.hpp" 3 4
29337 #define BOOST_TT_ADD_POINTER_HPP_INCLUDED 
29338
29339 # 1 "/usr/include/boost/type_traits/remove_reference.hpp" 1 3 4
29340 # 10 "/usr/include/boost/type_traits/remove_reference.hpp" 3 4
29341 #define BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED 
29342
29343 # 1 "/usr/include/boost/type_traits/broken_compiler_spec.hpp" 1 3 4
29344 # 10 "/usr/include/boost/type_traits/broken_compiler_spec.hpp" 3 4
29345 #define BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED 
29346 # 31 "/usr/include/boost/type_traits/broken_compiler_spec.hpp" 3 4
29347 #define BOOST_TT_BROKEN_COMPILER_SPEC(T) 
29348 # 95 "/usr/include/boost/type_traits/broken_compiler_spec.hpp" 3 4
29349
29350
29351
29352
29353
29354
29355
29356
29357
29358
29359
29360
29361
29362
29363
29364
29365
29366
29367 #define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(T) BOOST_TT_BROKEN_COMPILER_SPEC(T)
29368 # 13 "/usr/include/boost/type_traits/remove_reference.hpp" 2 3 4
29369
29370
29371
29372 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
29373 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
29374 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
29375 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
29376 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
29377 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
29378
29379
29380 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
29381 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
29382 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
29383
29384
29385
29386
29387
29388
29389
29390 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
29391
29392
29393
29394
29395
29396
29397 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
29398
29399
29400
29401
29402
29403
29404 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
29405
29406
29407
29408
29409
29410
29411 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
29412 # 17 "/usr/include/boost/type_traits/remove_reference.hpp" 2 3 4
29413
29414 namespace boost {
29415
29416
29417
29418 template< typename T > struct remove_reference { typedef T type; };
29419 template< typename T > struct remove_reference<T&> { typedef T type; };
29420 # 41 "/usr/include/boost/type_traits/remove_reference.hpp" 3 4
29421 }
29422
29423 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
29424 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
29425 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
29426 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
29427 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
29428 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
29429 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
29430 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
29431 # 44 "/usr/include/boost/type_traits/remove_reference.hpp" 2 3 4
29432 # 13 "/usr/include/boost/type_traits/add_pointer.hpp" 2 3 4
29433
29434
29435 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
29436 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
29437 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
29438 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
29439 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
29440 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
29441
29442
29443 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
29444 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
29445 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
29446
29447
29448
29449
29450
29451
29452
29453 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
29454
29455
29456
29457
29458
29459
29460 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
29461
29462
29463
29464
29465
29466
29467 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
29468
29469
29470
29471
29472
29473
29474 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
29475 # 16 "/usr/include/boost/type_traits/add_pointer.hpp" 2 3 4
29476
29477 namespace boost {
29478
29479 namespace detail {
29480 # 55 "/usr/include/boost/type_traits/add_pointer.hpp" 3 4
29481 template <typename T>
29482 struct add_pointer_impl
29483 {
29484     typedef typename remove_reference<T>::type no_ref_type;
29485     typedef no_ref_type* type;
29486 };
29487
29488
29489
29490 }
29491
29492 template< typename T > struct add_pointer { typedef typename detail::add_pointer_impl<T>::type type; };
29493
29494 }
29495
29496 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
29497 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
29498 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
29499 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
29500 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
29501 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
29502 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
29503 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
29504 # 71 "/usr/include/boost/type_traits/add_pointer.hpp" 2 3 4
29505 # 16 "/usr/include/boost/type_traits.hpp" 2 3 4
29506 # 1 "/usr/include/boost/type_traits/add_reference.hpp" 1 3 4
29507 # 10 "/usr/include/boost/type_traits/add_reference.hpp" 3 4
29508 #define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED 
29509
29510 # 1 "/usr/include/boost/type_traits/is_reference.hpp" 1 3 4
29511 # 22 "/usr/include/boost/type_traits/is_reference.hpp" 3 4
29512 #define BOOST_TT_IS_REFERENCE_HPP_INCLUDED 
29513
29514 # 1 "/usr/include/boost/type_traits/config.hpp" 1 3 4
29515 # 10 "/usr/include/boost/type_traits/config.hpp" 3 4
29516 #define BOOST_TT_CONFIG_HPP_INCLUDED 
29517 # 24 "/usr/include/boost/type_traits/config.hpp" 3 4
29518 #define BOOST_TT_DECL 
29519
29520
29521
29522 #define BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION 
29523 # 25 "/usr/include/boost/type_traits/is_reference.hpp" 2 3 4
29524
29525
29526
29527
29528
29529
29530
29531 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
29532 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
29533 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
29534 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
29535 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
29536 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
29537 # 1 "/usr/include/boost/type_traits/integral_constant.hpp" 1 3 4
29538
29539
29540
29541
29542
29543
29544 #define BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP 
29545
29546
29547 # 1 "/usr/include/boost/mpl/bool.hpp" 1 3 4
29548
29549
29550 #define BOOST_MPL_BOOL_HPP_INCLUDED 
29551 # 17 "/usr/include/boost/mpl/bool.hpp" 3 4
29552 # 1 "/usr/include/boost/mpl/bool_fwd.hpp" 1 3 4
29553
29554
29555 #define BOOST_MPL_BOOL_FWD_HPP_INCLUDED 
29556 # 19 "/usr/include/boost/mpl/bool_fwd.hpp" 3 4
29557 namespace mpl_ {
29558
29559 template< bool C_ > struct bool_;
29560
29561
29562 typedef bool_<true> true_;
29563 typedef bool_<false> false_;
29564
29565 }
29566
29567 namespace boost { namespace mpl { using ::mpl_::bool_; } }
29568 namespace boost { namespace mpl { using ::mpl_::true_; } }
29569 namespace boost { namespace mpl { using ::mpl_::false_; } }
29570 # 18 "/usr/include/boost/mpl/bool.hpp" 2 3 4
29571
29572
29573
29574 namespace mpl_ {
29575
29576 template< bool C_ > struct bool_
29577 {
29578     static const bool value = C_;
29579     typedef integral_c_tag tag;
29580     typedef bool_ type;
29581     typedef bool value_type;
29582     operator bool() const { return this->value; }
29583 };
29584
29585
29586 template< bool C_ >
29587 bool const bool_<C_>::value;
29588
29589
29590 }
29591 # 11 "/usr/include/boost/type_traits/integral_constant.hpp" 2 3 4
29592 # 1 "/usr/include/boost/mpl/integral_c.hpp" 1 3 4
29593
29594
29595 #define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED 
29596 # 17 "/usr/include/boost/mpl/integral_c.hpp" 3 4
29597 # 1 "/usr/include/boost/mpl/integral_c_fwd.hpp" 1 3 4
29598
29599
29600 #define BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED 
29601 # 20 "/usr/include/boost/mpl/integral_c_fwd.hpp" 3 4
29602 namespace mpl_ {
29603
29604
29605
29606
29607
29608 template< typename T, T N > struct integral_c;
29609
29610
29611 }
29612 namespace boost { namespace mpl { using ::mpl_::integral_c; } }
29613 # 18 "/usr/include/boost/mpl/integral_c.hpp" 2 3 4
29614 # 26 "/usr/include/boost/mpl/integral_c.hpp" 3 4
29615 #define AUX_WRAPPER_PARAMS(N) typename T, T N
29616
29617
29618 #define AUX_WRAPPER_NAME integral_c
29619 #define AUX_WRAPPER_VALUE_TYPE T
29620 #define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< T, value >
29621 # 1 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 1 3 4
29622 # 40 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 3 4
29623 namespace mpl_ {
29624
29625 template< typename T, T N >
29626 struct integral_c
29627 {
29628     static const T value = N;
29629
29630
29631
29632
29633
29634     typedef integral_c type;
29635
29636     typedef T value_type;
29637     typedef integral_c_tag tag;
29638 # 72 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 3 4
29639     typedef integral_c< T, static_cast<T>((value + 1)) > next;
29640     typedef integral_c< T, static_cast<T>((value - 1)) > prior;
29641
29642
29643
29644
29645
29646
29647     operator T() const { return static_cast<T>(this->value); }
29648 };
29649
29650
29651 template< typename T, T N >
29652 T const integral_c< T, N >::value;
29653
29654
29655 }
29656
29657 #undef AUX_WRAPPER_NAME
29658 #undef AUX_WRAPPER_PARAMS
29659 #undef AUX_WRAPPER_INST
29660 #undef AUX_WRAPPER_VALUE_TYPE
29661 # 33 "/usr/include/boost/mpl/integral_c.hpp" 2 3 4
29662
29663
29664
29665
29666 namespace mpl_ {
29667
29668 template< bool C >
29669 struct integral_c<bool, C>
29670 {
29671     static const bool value = C;
29672     typedef integral_c_tag tag;
29673     typedef integral_c type;
29674     typedef bool value_type;
29675     operator bool() const { return this->value; }
29676 };
29677 }
29678 # 12 "/usr/include/boost/type_traits/integral_constant.hpp" 2 3 4
29679
29680 namespace boost{
29681
29682
29683
29684
29685 template <class T, T val>
29686
29687 struct integral_constant : public mpl::integral_c<T, val>
29688 {
29689
29690
29691    typedef integral_constant<T,val> type;
29692 # 58 "/usr/include/boost/type_traits/integral_constant.hpp" 3 4
29693 };
29694
29695 template<> struct integral_constant<bool,true> : public mpl::true_
29696 {
29697
29698
29699
29700
29701    typedef integral_constant<bool,true> type;
29702 };
29703 template<> struct integral_constant<bool,false> : public mpl::false_
29704 {
29705
29706
29707
29708
29709    typedef integral_constant<bool,false> type;
29710 };
29711
29712 typedef integral_constant<bool,true> true_type;
29713 typedef integral_constant<bool,false> false_type;
29714
29715 }
29716 # 16 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
29717 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
29718 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
29719
29720
29721
29722 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
29723
29724
29725
29726 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
29727 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
29728 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
29729 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
29730 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
29731 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
29732 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
29733 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
29734 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
29735
29736
29737
29738
29739
29740
29741 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
29742
29743
29744
29745
29746
29747
29748 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
29749
29750
29751
29752
29753
29754
29755
29756 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
29757
29758
29759
29760
29761
29762
29763
29764 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
29765 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
29766 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
29767
29768
29769
29770
29771
29772
29773
29774 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
29775
29776
29777
29778
29779
29780
29781
29782 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
29783 # 33 "/usr/include/boost/type_traits/is_reference.hpp" 2 3 4
29784
29785 namespace boost {
29786
29787
29788
29789 template< typename T > struct is_reference : ::boost::integral_constant<bool,false> { };
29790 template< typename T > struct is_reference< T& > : ::boost::integral_constant<bool,true> { };
29791 # 111 "/usr/include/boost/type_traits/is_reference.hpp" 3 4
29792 }
29793
29794 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
29795 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
29796 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
29797 #undef BOOST_TT_AUX_BOOL_C_BASE
29798 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
29799 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
29800 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
29801 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
29802 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
29803 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
29804 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
29805 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
29806 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
29807 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
29808 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
29809 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
29810 # 114 "/usr/include/boost/type_traits/is_reference.hpp" 2 3 4
29811 # 13 "/usr/include/boost/type_traits/add_reference.hpp" 2 3 4
29812
29813
29814
29815
29816 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
29817 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
29818 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
29819 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
29820 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
29821 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
29822
29823
29824 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
29825 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
29826 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
29827
29828
29829
29830
29831
29832
29833
29834 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
29835
29836
29837
29838
29839
29840
29841 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
29842
29843
29844
29845
29846
29847
29848 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
29849
29850
29851
29852
29853
29854
29855 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
29856 # 18 "/usr/include/boost/type_traits/add_reference.hpp" 2 3 4
29857
29858 namespace boost {
29859
29860 namespace detail {
29861 # 55 "/usr/include/boost/type_traits/add_reference.hpp" 3 4
29862 template <typename T>
29863 struct add_reference_impl
29864 {
29865     typedef T& type;
29866 };
29867
29868
29869 template< typename T > struct add_reference_impl<T&> { typedef T& type; };
29870
29871
29872
29873
29874
29875 template<> struct add_reference_impl<void> { typedef void type; };
29876
29877 template<> struct add_reference_impl<void const> { typedef void const type; };
29878 template<> struct add_reference_impl<void volatile> { typedef void volatile type; };
29879 template<> struct add_reference_impl<void const volatile> { typedef void const volatile type; };
29880
29881
29882 }
29883
29884 template< typename T > struct add_reference { typedef typename detail::add_reference_impl<T>::type type; };
29885
29886
29887
29888
29889
29890
29891
29892 }
29893
29894 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
29895 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
29896 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
29897 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
29898 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
29899 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
29900 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
29901 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
29902 # 88 "/usr/include/boost/type_traits/add_reference.hpp" 2 3 4
29903 # 17 "/usr/include/boost/type_traits.hpp" 2 3 4
29904 # 1 "/usr/include/boost/type_traits/add_volatile.hpp" 1 3 4
29905 # 11 "/usr/include/boost/type_traits/add_volatile.hpp" 3 4
29906 #define BOOST_TT_ADD_VOLATILE_HPP_INCLUDED 
29907
29908
29909
29910
29911 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
29912 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
29913 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
29914 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
29915 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
29916 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
29917
29918
29919 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
29920 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
29921 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
29922
29923
29924
29925
29926
29927
29928
29929 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
29930
29931
29932
29933
29934
29935
29936 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
29937
29938
29939
29940
29941
29942
29943 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
29944
29945
29946
29947
29948
29949
29950 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
29951 # 17 "/usr/include/boost/type_traits/add_volatile.hpp" 2 3 4
29952
29953 namespace boost {
29954 # 33 "/usr/include/boost/type_traits/add_volatile.hpp" 3 4
29955 template< typename T > struct add_volatile { typedef T volatile type; };
29956
29957
29958
29959
29960
29961
29962 template< typename T > struct add_volatile<T&> { typedef T& type; };
29963
29964
29965 }
29966
29967 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
29968 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
29969 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
29970 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
29971 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
29972 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
29973 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
29974 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
29975 # 46 "/usr/include/boost/type_traits/add_volatile.hpp" 2 3 4
29976 # 18 "/usr/include/boost/type_traits.hpp" 2 3 4
29977 # 1 "/usr/include/boost/type_traits/alignment_of.hpp" 1 3 4
29978 # 10 "/usr/include/boost/type_traits/alignment_of.hpp" 3 4
29979 #define BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED 
29980
29981
29982
29983
29984
29985 # 1 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 1 3 4
29986 # 14 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
29987 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
29988 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
29989 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
29990 # 15 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 2 3 4
29991
29992
29993 # 1 "/usr/include/boost/mpl/size_t.hpp" 1 3 4
29994
29995
29996 #define BOOST_MPL_SIZE_T_HPP_INCLUDED 
29997 # 17 "/usr/include/boost/mpl/size_t.hpp" 3 4
29998 # 1 "/usr/include/boost/mpl/size_t_fwd.hpp" 1 3 4
29999
30000
30001 #define BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED 
30002 # 21 "/usr/include/boost/mpl/size_t_fwd.hpp" 3 4
30003 namespace mpl_ {
30004
30005 template< std::size_t N > struct size_t;
30006
30007 }
30008 namespace boost { namespace mpl { using ::mpl_::size_t; } }
30009 # 18 "/usr/include/boost/mpl/size_t.hpp" 2 3 4
30010
30011 #define AUX_WRAPPER_VALUE_TYPE std::size_t
30012 #define AUX_WRAPPER_NAME size_t
30013 #define AUX_WRAPPER_PARAMS(N) std::size_t N
30014
30015 # 1 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 1 3 4
30016 # 36 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 3 4
30017 #define AUX_WRAPPER_INST(value) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value >
30018
30019
30020
30021 namespace mpl_ {
30022
30023 template< std::size_t N >
30024 struct size_t
30025 {
30026     static const std::size_t value = N;
30027
30028
30029
30030
30031
30032     typedef size_t type;
30033
30034     typedef std::size_t value_type;
30035     typedef integral_c_tag tag;
30036 # 72 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 3 4
30037     typedef mpl_::size_t< static_cast<std::size_t>((value + 1)) > next;
30038     typedef mpl_::size_t< static_cast<std::size_t>((value - 1)) > prior;
30039
30040
30041
30042
30043
30044
30045     operator std::size_t() const { return static_cast<std::size_t>(this->value); }
30046 };
30047
30048
30049 template< std::size_t N >
30050 std::size_t const mpl_::size_t< N >::value;
30051
30052
30053 }
30054
30055 #undef AUX_WRAPPER_NAME
30056 #undef AUX_WRAPPER_PARAMS
30057 #undef AUX_WRAPPER_INST
30058 #undef AUX_WRAPPER_VALUE_TYPE
30059 # 24 "/usr/include/boost/mpl/size_t.hpp" 2 3 4
30060 # 18 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 2 3 4
30061
30062
30063
30064
30065 #define BOOST_TT_AUX_SIZE_T_BASE(C) ::boost::integral_constant<std::size_t,C>
30066 #define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) 
30067 # 33 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
30068 #define BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(trait,T,C) template< typename T > struct trait : BOOST_TT_AUX_SIZE_T_BASE(C) { BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
30069 # 44 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
30070 #define BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(trait,spec,C) template<> struct trait<spec> : BOOST_TT_AUX_SIZE_T_BASE(C) { BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
30071 # 53 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
30072 #define BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,C) template< param > struct trait<spec> : BOOST_TT_AUX_SIZE_T_BASE(C) { };
30073 # 17 "/usr/include/boost/type_traits/alignment_of.hpp" 2 3 4
30074 # 26 "/usr/include/boost/type_traits/alignment_of.hpp" 3 4
30075 namespace boost {
30076
30077 template <typename T> struct alignment_of;
30078
30079
30080 namespace detail {
30081
30082 template <typename T>
30083 struct alignment_of_hack
30084 {
30085     char c;
30086     T t;
30087     alignment_of_hack();
30088 };
30089
30090
30091 template <unsigned A, unsigned S>
30092 struct alignment_logic
30093 {
30094     static const std::size_t value = A < S ? A : S;
30095 };
30096
30097
30098 template< typename T >
30099 struct alignment_of_impl
30100 {
30101     static const std::size_t value = (::boost::detail::alignment_logic< sizeof(detail::alignment_of_hack<T>) - sizeof(T), sizeof(T) >::value);
30102
30103
30104
30105
30106 };
30107
30108 }
30109
30110 template< typename T > struct alignment_of : ::boost::integral_constant<std::size_t,::boost::detail::alignment_of_impl<T>::value> { };
30111
30112
30113
30114
30115 template <typename T>
30116 struct alignment_of<T&>
30117     : alignment_of<T*>
30118 {
30119 };
30120 # 81 "/usr/include/boost/type_traits/alignment_of.hpp" 3 4
30121 template<> struct alignment_of<void> : ::boost::integral_constant<std::size_t,0> { };
30122
30123 template<> struct alignment_of<void const> : ::boost::integral_constant<std::size_t,0> { };
30124 template<> struct alignment_of<void volatile> : ::boost::integral_constant<std::size_t,0> { };
30125 template<> struct alignment_of<void const volatile> : ::boost::integral_constant<std::size_t,0> { };
30126
30127
30128 }
30129 # 97 "/usr/include/boost/type_traits/alignment_of.hpp" 3 4
30130 # 1 "/usr/include/boost/type_traits/detail/size_t_trait_undef.hpp" 1 3 4
30131 # 14 "/usr/include/boost/type_traits/detail/size_t_trait_undef.hpp" 3 4
30132 #undef BOOST_TT_AUX_SIZE_T_TRAIT_DEF1
30133 #undef BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1
30134 #undef BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1
30135 # 98 "/usr/include/boost/type_traits/alignment_of.hpp" 2 3 4
30136 # 19 "/usr/include/boost/type_traits.hpp" 2 3 4
30137 # 1 "/usr/include/boost/type_traits/has_nothrow_assign.hpp" 1 3 4
30138 # 10 "/usr/include/boost/type_traits/has_nothrow_assign.hpp" 3 4
30139 #define BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED 
30140
30141 # 1 "/usr/include/boost/type_traits/has_trivial_assign.hpp" 1 3 4
30142 # 10 "/usr/include/boost/type_traits/has_trivial_assign.hpp" 3 4
30143 #define BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED 
30144
30145
30146 # 1 "/usr/include/boost/type_traits/intrinsics.hpp" 1 3 4
30147 # 10 "/usr/include/boost/type_traits/intrinsics.hpp" 3 4
30148 #define BOOST_TT_INTRINSICS_HPP_INCLUDED 
30149 # 83 "/usr/include/boost/type_traits/intrinsics.hpp" 3 4
30150 #define BOOST_IS_UNION(T) false
30151
30152
30153
30154 #define BOOST_IS_POD(T) false
30155
30156
30157
30158 #define BOOST_IS_EMPTY(T) false
30159
30160
30161
30162 #define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) false
30163
30164
30165
30166 #define BOOST_HAS_TRIVIAL_COPY(T) false
30167
30168
30169
30170 #define BOOST_HAS_TRIVIAL_ASSIGN(T) false
30171
30172
30173
30174 #define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) false
30175
30176
30177
30178 #define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) false
30179
30180
30181
30182 #define BOOST_HAS_NOTHROW_COPY(T) false
30183
30184
30185
30186 #define BOOST_HAS_NOTHROW_ASSIGN(T) false
30187
30188
30189
30190 #define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) false
30191 # 14 "/usr/include/boost/type_traits/has_trivial_assign.hpp" 2 3 4
30192 # 1 "/usr/include/boost/type_traits/is_pod.hpp" 1 3 4
30193 # 10 "/usr/include/boost/type_traits/is_pod.hpp" 3 4
30194 #define BOOST_TT_IS_POD_HPP_INCLUDED 
30195
30196
30197 # 1 "/usr/include/boost/type_traits/is_void.hpp" 1 3 4
30198 # 10 "/usr/include/boost/type_traits/is_void.hpp" 3 4
30199 #define BOOST_TT_IS_VOID_HPP_INCLUDED 
30200
30201
30202
30203
30204 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
30205 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30206 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
30207 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
30208 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
30209 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
30210 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30211 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
30212
30213
30214
30215 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
30216
30217
30218
30219 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
30220 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30221 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
30222 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30223 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
30224 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30225 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
30226 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30227 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30228
30229
30230
30231
30232
30233
30234 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30235
30236
30237
30238
30239
30240
30241 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30242
30243
30244
30245
30246
30247
30248
30249 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30250
30251
30252
30253
30254
30255
30256
30257 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
30258 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30259 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30260
30261
30262
30263
30264
30265
30266
30267 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30268
30269
30270
30271
30272
30273
30274
30275 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
30276 # 16 "/usr/include/boost/type_traits/is_void.hpp" 2 3 4
30277
30278 namespace boost {
30279
30280
30281 template< typename T > struct is_void : ::boost::integral_constant<bool,false> { };
30282 template<> struct is_void< void > : ::boost::integral_constant<bool,true> { };
30283
30284
30285 template<> struct is_void< void const > : ::boost::integral_constant<bool,true> { };
30286 template<> struct is_void< void volatile > : ::boost::integral_constant<bool,true> { };
30287 template<> struct is_void< void const volatile > : ::boost::integral_constant<bool,true> { };
30288
30289
30290 }
30291
30292 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
30293 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
30294 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
30295 #undef BOOST_TT_AUX_BOOL_C_BASE
30296 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
30297 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
30298 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
30299 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
30300 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
30301 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
30302 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
30303 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
30304 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
30305 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
30306 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
30307 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
30308 # 32 "/usr/include/boost/type_traits/is_void.hpp" 2 3 4
30309 # 14 "/usr/include/boost/type_traits/is_pod.hpp" 2 3 4
30310 # 1 "/usr/include/boost/type_traits/is_scalar.hpp" 1 3 4
30311 # 10 "/usr/include/boost/type_traits/is_scalar.hpp" 3 4
30312 #define BOOST_TT_IS_SCALAR_HPP_INCLUDED 
30313
30314 # 1 "/usr/include/boost/type_traits/is_arithmetic.hpp" 1 3 4
30315 # 10 "/usr/include/boost/type_traits/is_arithmetic.hpp" 3 4
30316 #define BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED 
30317
30318 # 1 "/usr/include/boost/type_traits/is_integral.hpp" 1 3 4
30319 # 10 "/usr/include/boost/type_traits/is_integral.hpp" 3 4
30320 #define BOOST_TT_IS_INTEGRAL_HPP_INCLUDED 
30321
30322
30323
30324
30325 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
30326 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30327 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
30328 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
30329 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
30330 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
30331 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30332 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
30333
30334
30335
30336 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
30337
30338
30339
30340 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
30341 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30342 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
30343 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30344 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
30345 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30346 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
30347 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30348 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30349
30350
30351
30352
30353
30354
30355 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30356
30357
30358
30359
30360
30361
30362 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30363
30364
30365
30366
30367
30368
30369
30370 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30371
30372
30373
30374
30375
30376
30377
30378 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
30379 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30380 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30381
30382
30383
30384
30385
30386
30387
30388 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30389
30390
30391
30392
30393
30394
30395
30396 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
30397 # 16 "/usr/include/boost/type_traits/is_integral.hpp" 2 3 4
30398
30399 namespace boost {
30400
30401
30402
30403
30404 template< typename T > struct is_integral : ::boost::integral_constant<bool,false> { };
30405
30406 template<> struct is_integral< unsigned char > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned char const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned char volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned char const volatile > : ::boost::integral_constant<bool,true> { };
30407 template<> struct is_integral< unsigned short > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned short const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned short volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned short const volatile > : ::boost::integral_constant<bool,true> { };
30408 template<> struct is_integral< unsigned int > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned int const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned int volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned int const volatile > : ::boost::integral_constant<bool,true> { };
30409 template<> struct is_integral< unsigned long > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned long const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned long volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< unsigned long const volatile > : ::boost::integral_constant<bool,true> { };
30410
30411 template<> struct is_integral< signed char > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed char const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed char volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed char const volatile > : ::boost::integral_constant<bool,true> { };
30412 template<> struct is_integral< signed short > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed short const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed short volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed short const volatile > : ::boost::integral_constant<bool,true> { };
30413 template<> struct is_integral< signed int > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed int const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed int volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed int const volatile > : ::boost::integral_constant<bool,true> { };
30414 template<> struct is_integral< signed long > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed long const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed long volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< signed long const volatile > : ::boost::integral_constant<bool,true> { };
30415
30416 template<> struct is_integral< bool > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< bool const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< bool volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< bool const volatile > : ::boost::integral_constant<bool,true> { };
30417 template<> struct is_integral< char > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< char const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< char volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< char const volatile > : ::boost::integral_constant<bool,true> { };
30418
30419
30420
30421
30422
30423 template<> struct is_integral< wchar_t > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< wchar_t const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< wchar_t volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< wchar_t const volatile > : ::boost::integral_constant<bool,true> { };
30424 # 60 "/usr/include/boost/type_traits/is_integral.hpp" 3 4
30425 template<> struct is_integral< ::boost::ulong_long_type > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< ::boost::ulong_long_type const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< ::boost::ulong_long_type volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< ::boost::ulong_long_type const volatile > : ::boost::integral_constant<bool,true> { };
30426 template<> struct is_integral< ::boost::long_long_type > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< ::boost::long_long_type const > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< ::boost::long_long_type volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_integral< ::boost::long_long_type const volatile > : ::boost::integral_constant<bool,true> { };
30427
30428
30429
30430
30431
30432 }
30433
30434 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
30435 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
30436 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
30437 #undef BOOST_TT_AUX_BOOL_C_BASE
30438 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
30439 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
30440 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
30441 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
30442 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
30443 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
30444 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
30445 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
30446 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
30447 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
30448 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
30449 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
30450 # 70 "/usr/include/boost/type_traits/is_integral.hpp" 2 3 4
30451 # 13 "/usr/include/boost/type_traits/is_arithmetic.hpp" 2 3 4
30452 # 1 "/usr/include/boost/type_traits/is_float.hpp" 1 3 4
30453 # 10 "/usr/include/boost/type_traits/is_float.hpp" 3 4
30454 #define BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED 
30455
30456
30457 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
30458 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30459 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
30460 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
30461 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
30462 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
30463 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30464 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
30465
30466
30467
30468 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
30469
30470
30471
30472 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
30473 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30474 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
30475 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30476 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
30477 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30478 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
30479 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30480 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30481
30482
30483
30484
30485
30486
30487 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30488
30489
30490
30491
30492
30493
30494 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30495
30496
30497
30498
30499
30500
30501
30502 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30503
30504
30505
30506
30507
30508
30509
30510 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
30511 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30512 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30513
30514
30515
30516
30517
30518
30519
30520 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30521
30522
30523
30524
30525
30526
30527
30528 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
30529 # 14 "/usr/include/boost/type_traits/is_float.hpp" 2 3 4
30530
30531 namespace boost {
30532
30533
30534 template< typename T > struct is_float : ::boost::integral_constant<bool,false> { };
30535 template<> struct is_float< float > : ::boost::integral_constant<bool,true> { }; template<> struct is_float< float const > : ::boost::integral_constant<bool,true> { }; template<> struct is_float< float volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_float< float const volatile > : ::boost::integral_constant<bool,true> { };
30536 template<> struct is_float< double > : ::boost::integral_constant<bool,true> { }; template<> struct is_float< double const > : ::boost::integral_constant<bool,true> { }; template<> struct is_float< double volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_float< double const volatile > : ::boost::integral_constant<bool,true> { };
30537 template<> struct is_float< long double > : ::boost::integral_constant<bool,true> { }; template<> struct is_float< long double const > : ::boost::integral_constant<bool,true> { }; template<> struct is_float< long double volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_float< long double const volatile > : ::boost::integral_constant<bool,true> { };
30538
30539 }
30540
30541 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
30542 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
30543 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
30544 #undef BOOST_TT_AUX_BOOL_C_BASE
30545 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
30546 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
30547 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
30548 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
30549 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
30550 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
30551 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
30552 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
30553 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
30554 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
30555 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
30556 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
30557 # 26 "/usr/include/boost/type_traits/is_float.hpp" 2 3 4
30558 # 14 "/usr/include/boost/type_traits/is_arithmetic.hpp" 2 3 4
30559 # 1 "/usr/include/boost/type_traits/detail/ice_or.hpp" 1 3 4
30560 # 9 "/usr/include/boost/type_traits/detail/ice_or.hpp" 3 4
30561 #define BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED 
30562
30563
30564
30565 namespace boost {
30566 namespace type_traits {
30567
30568 template <bool b1, bool b2, bool b3 = false, bool b4 = false, bool b5 = false, bool b6 = false, bool b7 = false>
30569 struct ice_or;
30570
30571 template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>
30572 struct ice_or
30573 {
30574     static const bool value = true;
30575 };
30576
30577 template <>
30578 struct ice_or<false, false, false, false, false, false, false>
30579 {
30580     static const bool value = false;
30581 };
30582
30583 }
30584 }
30585 # 15 "/usr/include/boost/type_traits/is_arithmetic.hpp" 2 3 4
30586
30587
30588
30589 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
30590 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30591 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
30592 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
30593 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
30594 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
30595 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30596 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
30597
30598
30599
30600 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
30601
30602
30603
30604 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
30605 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30606 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
30607 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30608 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
30609 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30610 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
30611 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30612 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30613
30614
30615
30616
30617
30618
30619 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30620
30621
30622
30623
30624
30625
30626 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30627
30628
30629
30630
30631
30632
30633
30634 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30635
30636
30637
30638
30639
30640
30641
30642 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
30643 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30644 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30645
30646
30647
30648
30649
30650
30651
30652 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30653
30654
30655
30656
30657
30658
30659
30660 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
30661 # 19 "/usr/include/boost/type_traits/is_arithmetic.hpp" 2 3 4
30662
30663 namespace boost {
30664
30665 namespace detail {
30666
30667 template< typename T >
30668 struct is_arithmetic_impl
30669 {
30670     static const bool value = (::boost::type_traits::ice_or< ::boost::is_integral<T>::value, ::boost::is_float<T>::value >::value);
30671
30672
30673
30674
30675 };
30676
30677 }
30678
30679
30680 template< typename T > struct is_arithmetic : ::boost::integral_constant<bool,::boost::detail::is_arithmetic_impl<T>::value> { };
30681
30682 }
30683
30684 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
30685 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
30686 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
30687 #undef BOOST_TT_AUX_BOOL_C_BASE
30688 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
30689 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
30690 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
30691 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
30692 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
30693 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
30694 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
30695 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
30696 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
30697 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
30698 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
30699 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
30700 # 42 "/usr/include/boost/type_traits/is_arithmetic.hpp" 2 3 4
30701 # 13 "/usr/include/boost/type_traits/is_scalar.hpp" 2 3 4
30702 # 1 "/usr/include/boost/type_traits/is_enum.hpp" 1 3 4
30703 # 12 "/usr/include/boost/type_traits/is_enum.hpp" 3 4
30704 #define BOOST_TT_IS_ENUM_HPP_INCLUDED 
30705
30706 # 1 "/usr/include/boost/type_traits/add_reference.hpp" 1 3 4
30707 # 15 "/usr/include/boost/type_traits/is_enum.hpp" 2 3 4
30708
30709
30710 # 1 "/usr/include/boost/type_traits/is_convertible.hpp" 1 3 4
30711 # 13 "/usr/include/boost/type_traits/is_convertible.hpp" 3 4
30712 #define BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED 
30713
30714 # 1 "/usr/include/boost/type_traits/detail/yes_no_type.hpp" 1 3 4
30715 # 12 "/usr/include/boost/type_traits/detail/yes_no_type.hpp" 3 4
30716 #define BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED 
30717
30718 namespace boost {
30719 namespace type_traits {
30720
30721 typedef char yes_type;
30722 struct no_type
30723 {
30724    char padding[8];
30725 };
30726
30727 }
30728 }
30729 # 16 "/usr/include/boost/type_traits/is_convertible.hpp" 2 3 4
30730
30731 # 1 "/usr/include/boost/type_traits/is_array.hpp" 1 3 4
30732 # 15 "/usr/include/boost/type_traits/is_array.hpp" 3 4
30733 #define BOOST_TT_IS_ARRAY_HPP_INCLUDED 
30734 # 27 "/usr/include/boost/type_traits/is_array.hpp" 3 4
30735 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
30736 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30737 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
30738 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
30739 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
30740 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
30741 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30742 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
30743
30744
30745
30746 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
30747
30748
30749
30750 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
30751 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30752 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
30753 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30754 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
30755 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30756 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
30757 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30758 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30759
30760
30761
30762
30763
30764
30765 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30766
30767
30768
30769
30770
30771
30772 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30773
30774
30775
30776
30777
30778
30779
30780 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30781
30782
30783
30784
30785
30786
30787
30788 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
30789 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
30790 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
30791
30792
30793
30794
30795
30796
30797
30798 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
30799
30800
30801
30802
30803
30804
30805
30806 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
30807 # 28 "/usr/include/boost/type_traits/is_array.hpp" 2 3 4
30808
30809 namespace boost {
30810
30811
30812
30813 template< typename T > struct is_array : ::boost::integral_constant<bool,false> { };
30814
30815 template< typename T, std::size_t N > struct is_array< T[N] > : ::boost::integral_constant<bool,true> { };
30816 template< typename T, std::size_t N > struct is_array< T const[N] > : ::boost::integral_constant<bool,true> { };
30817 template< typename T, std::size_t N > struct is_array< T volatile[N] > : ::boost::integral_constant<bool,true> { };
30818 template< typename T, std::size_t N > struct is_array< T const volatile[N] > : ::boost::integral_constant<bool,true> { };
30819
30820 template< typename T > struct is_array< T[] > : ::boost::integral_constant<bool,true> { };
30821 template< typename T > struct is_array< T const[] > : ::boost::integral_constant<bool,true> { };
30822 template< typename T > struct is_array< T volatile[] > : ::boost::integral_constant<bool,true> { };
30823 template< typename T > struct is_array< T const volatile[] > : ::boost::integral_constant<bool,true> { };
30824 # 86 "/usr/include/boost/type_traits/is_array.hpp" 3 4
30825 }
30826
30827 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
30828 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
30829 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
30830 #undef BOOST_TT_AUX_BOOL_C_BASE
30831 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
30832 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
30833 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
30834 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
30835 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
30836 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
30837 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
30838 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
30839 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
30840 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
30841 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
30842 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
30843 # 89 "/usr/include/boost/type_traits/is_array.hpp" 2 3 4
30844 # 18 "/usr/include/boost/type_traits/is_convertible.hpp" 2 3 4
30845
30846 # 1 "/usr/include/boost/type_traits/ice.hpp" 1 3 4
30847 # 12 "/usr/include/boost/type_traits/ice.hpp" 3 4
30848 #define BOOST_TT_ICE_HPP_INCLUDED 
30849
30850
30851
30852 # 1 "/usr/include/boost/type_traits/detail/ice_and.hpp" 1 3 4
30853 # 10 "/usr/include/boost/type_traits/detail/ice_and.hpp" 3 4
30854 #define BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED 
30855
30856
30857
30858 namespace boost {
30859 namespace type_traits {
30860
30861 template <bool b1, bool b2, bool b3 = true, bool b4 = true, bool b5 = true, bool b6 = true, bool b7 = true>
30862 struct ice_and;
30863
30864 template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>
30865 struct ice_and
30866 {
30867     static const bool value = false;
30868 };
30869
30870 template <>
30871 struct ice_and<true, true, true, true, true, true, true>
30872 {
30873     static const bool value = true;
30874 };
30875
30876 }
30877 }
30878 # 17 "/usr/include/boost/type_traits/ice.hpp" 2 3 4
30879 # 1 "/usr/include/boost/type_traits/detail/ice_not.hpp" 1 3 4
30880 # 9 "/usr/include/boost/type_traits/detail/ice_not.hpp" 3 4
30881 #define BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED 
30882
30883
30884
30885 namespace boost {
30886 namespace type_traits {
30887
30888 template <bool b>
30889 struct ice_not
30890 {
30891     static const bool value = true;
30892 };
30893
30894 template <>
30895 struct ice_not<true>
30896 {
30897     static const bool value = false;
30898 };
30899
30900 }
30901 }
30902 # 18 "/usr/include/boost/type_traits/ice.hpp" 2 3 4
30903 # 1 "/usr/include/boost/type_traits/detail/ice_eq.hpp" 1 3 4
30904 # 9 "/usr/include/boost/type_traits/detail/ice_eq.hpp" 3 4
30905 #define BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED 
30906
30907
30908
30909 namespace boost {
30910 namespace type_traits {
30911
30912 template <int b1, int b2>
30913 struct ice_eq
30914 {
30915     static const bool value = (b1 == b2);
30916 };
30917
30918 template <int b1, int b2>
30919 struct ice_ne
30920 {
30921     static const bool value = (b1 != b2);
30922 };
30923
30924
30925 template <int b1, int b2> bool const ice_eq<b1,b2>::value;
30926 template <int b1, int b2> bool const ice_ne<b1,b2>::value;
30927
30928
30929 }
30930 }
30931 # 19 "/usr/include/boost/type_traits/ice.hpp" 2 3 4
30932 # 20 "/usr/include/boost/type_traits/is_convertible.hpp" 2 3 4
30933
30934
30935 # 1 "/usr/include/boost/type_traits/is_abstract.hpp" 1 3 4
30936
30937 #define BOOST_TT_IS_ABSTRACT_CLASS_HPP 
30938 # 52 "/usr/include/boost/type_traits/is_abstract.hpp" 3 4
30939 # 1 "/usr/include/boost/type_traits/detail/yes_no_type.hpp" 1 3 4
30940 # 53 "/usr/include/boost/type_traits/is_abstract.hpp" 2 3 4
30941 # 1 "/usr/include/boost/type_traits/is_class.hpp" 1 3 4
30942 # 11 "/usr/include/boost/type_traits/is_class.hpp" 3 4
30943 #define BOOST_TT_IS_CLASS_HPP_INCLUDED 
30944
30945
30946 # 1 "/usr/include/boost/type_traits/is_union.hpp" 1 3 4
30947 # 12 "/usr/include/boost/type_traits/is_union.hpp" 3 4
30948 #define BOOST_TT_IS_UNION_HPP_INCLUDED 
30949
30950 # 1 "/usr/include/boost/type_traits/remove_cv.hpp" 1 3 4
30951 # 12 "/usr/include/boost/type_traits/remove_cv.hpp" 3 4
30952 #define BOOST_TT_REMOVE_CV_HPP_INCLUDED 
30953
30954
30955 # 1 "/usr/include/boost/type_traits/detail/cv_traits_impl.hpp" 1 3 4
30956 # 12 "/usr/include/boost/type_traits/detail/cv_traits_impl.hpp" 3 4
30957 #define BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED 
30958 # 23 "/usr/include/boost/type_traits/detail/cv_traits_impl.hpp" 3 4
30959 namespace boost {
30960 namespace detail {
30961
30962
30963
30964
30965
30966
30967
30968 template <typename T> struct cv_traits_imp {};
30969
30970 template <typename T>
30971 struct cv_traits_imp<T*>
30972 {
30973     static const bool is_const = false;
30974     static const bool is_volatile = false;
30975     typedef T unqualified_type;
30976 };
30977
30978 template <typename T>
30979 struct cv_traits_imp<const T*>
30980 {
30981     static const bool is_const = true;
30982     static const bool is_volatile = false;
30983     typedef T unqualified_type;
30984 };
30985
30986 template <typename T>
30987 struct cv_traits_imp<volatile T*>
30988 {
30989     static const bool is_const = false;
30990     static const bool is_volatile = true;
30991     typedef T unqualified_type;
30992 };
30993
30994 template <typename T>
30995 struct cv_traits_imp<const volatile T*>
30996 {
30997     static const bool is_const = true;
30998     static const bool is_volatile = true;
30999     typedef T unqualified_type;
31000 };
31001 # 92 "/usr/include/boost/type_traits/detail/cv_traits_impl.hpp" 3 4
31002 }
31003 }
31004 # 16 "/usr/include/boost/type_traits/remove_cv.hpp" 2 3 4
31005
31006
31007
31008
31009
31010 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
31011 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
31012 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
31013 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
31014 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
31015 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
31016
31017
31018 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
31019 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
31020 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
31021
31022
31023
31024
31025
31026
31027
31028 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
31029
31030
31031
31032
31033
31034
31035 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
31036
31037
31038
31039
31040
31041
31042 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
31043
31044
31045
31046
31047
31048
31049 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
31050 # 22 "/usr/include/boost/type_traits/remove_cv.hpp" 2 3 4
31051
31052 namespace boost {
31053
31054
31055
31056
31057 template< typename T > struct remove_cv { typedef typename detail::cv_traits_imp<T*>::unqualified_type type; };
31058 template< typename T > struct remove_cv<T&> { typedef T& type; };
31059
31060 template< typename T, std::size_t N > struct remove_cv<T const[N]> { typedef T type[N]; };
31061 template< typename T, std::size_t N > struct remove_cv<T volatile[N]> { typedef T type[N]; };
31062 template< typename T, std::size_t N > struct remove_cv<T const volatile[N]> { typedef T type[N]; };
31063 # 52 "/usr/include/boost/type_traits/remove_cv.hpp" 3 4
31064 }
31065
31066 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
31067 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
31068 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
31069 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
31070 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
31071 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
31072 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
31073 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
31074 # 55 "/usr/include/boost/type_traits/remove_cv.hpp" 2 3 4
31075 # 15 "/usr/include/boost/type_traits/is_union.hpp" 2 3 4
31076
31077
31078
31079
31080 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
31081 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31082 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
31083 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
31084 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
31085 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
31086 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31087 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
31088
31089
31090
31091 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
31092
31093
31094
31095 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
31096 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31097 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
31098 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31099 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
31100 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31101 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
31102 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31103 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31104
31105
31106
31107
31108
31109
31110 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31111
31112
31113
31114
31115
31116
31117 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31118
31119
31120
31121
31122
31123
31124
31125 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31126
31127
31128
31129
31130
31131
31132
31133 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
31134 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31135 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31136
31137
31138
31139
31140
31141
31142
31143 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31144
31145
31146
31147
31148
31149
31150
31151 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
31152 # 20 "/usr/include/boost/type_traits/is_union.hpp" 2 3 4
31153
31154 namespace boost {
31155
31156 namespace detail {
31157 # 36 "/usr/include/boost/type_traits/is_union.hpp" 3 4
31158 template <typename T> struct is_union_impl
31159 {
31160    static const bool value = false;
31161 };
31162
31163 }
31164
31165 template< typename T > struct is_union : ::boost::integral_constant<bool,::boost::detail::is_union_impl<T>::value> { };
31166
31167 }
31168
31169 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
31170 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
31171 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
31172 #undef BOOST_TT_AUX_BOOL_C_BASE
31173 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
31174 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
31175 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
31176 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
31177 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
31178 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
31179 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
31180 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
31181 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
31182 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
31183 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
31184 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
31185 # 48 "/usr/include/boost/type_traits/is_union.hpp" 2 3 4
31186 # 15 "/usr/include/boost/type_traits/is_class.hpp" 2 3 4
31187 # 33 "/usr/include/boost/type_traits/is_class.hpp" 3 4
31188 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
31189 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31190 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
31191 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
31192 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
31193 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
31194 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31195 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
31196
31197
31198
31199 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
31200
31201
31202
31203 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
31204 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31205 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
31206 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31207 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
31208 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31209 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
31210 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31211 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31212
31213
31214
31215
31216
31217
31218 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31219
31220
31221
31222
31223
31224
31225 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31226
31227
31228
31229
31230
31231
31232
31233 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31234
31235
31236
31237
31238
31239
31240
31241 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
31242 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31243 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31244
31245
31246
31247
31248
31249
31250
31251 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31252
31253
31254
31255
31256
31257
31258
31259 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
31260 # 34 "/usr/include/boost/type_traits/is_class.hpp" 2 3 4
31261
31262 namespace boost {
31263
31264 namespace detail {
31265 # 53 "/usr/include/boost/type_traits/is_class.hpp" 3 4
31266 template <class U> ::boost::type_traits::yes_type is_class_tester(void(U::*)(void));
31267 template <class U> ::boost::type_traits::no_type is_class_tester(...);
31268
31269 template <typename T>
31270 struct is_class_impl
31271 {
31272
31273     static const bool value = (::boost::type_traits::ice_and< sizeof(is_class_tester<T>(0)) == sizeof(::boost::type_traits::yes_type), ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value >::value);
31274
31275
31276
31277
31278
31279 };
31280 # 115 "/usr/include/boost/type_traits/is_class.hpp" 3 4
31281 }
31282
31283
31284
31285
31286
31287 template< typename T > struct is_class : ::boost::integral_constant<bool,::boost::detail::is_class_impl<T>::value> { };
31288
31289
31290 }
31291
31292 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
31293 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
31294 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
31295 #undef BOOST_TT_AUX_BOOL_C_BASE
31296 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
31297 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
31298 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
31299 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
31300 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
31301 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
31302 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
31303 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
31304 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
31305 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
31306 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
31307 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
31308 # 127 "/usr/include/boost/type_traits/is_class.hpp" 2 3 4
31309 # 54 "/usr/include/boost/type_traits/is_abstract.hpp" 2 3 4
31310
31311
31312
31313
31314
31315 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
31316 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31317 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
31318 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
31319 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
31320 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
31321 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31322 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
31323
31324
31325
31326 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
31327
31328
31329
31330 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
31331 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31332 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
31333 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31334 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
31335 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31336 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
31337 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31338 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31339
31340
31341
31342
31343
31344
31345 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31346
31347
31348
31349
31350
31351
31352 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31353
31354
31355
31356
31357
31358
31359
31360 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31361
31362
31363
31364
31365
31366
31367
31368 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
31369 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31370 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31371
31372
31373
31374
31375
31376
31377
31378 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31379
31380
31381
31382
31383
31384
31385
31386 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
31387 # 60 "/usr/include/boost/type_traits/is_abstract.hpp" 2 3 4
31388
31389
31390 namespace boost {
31391 namespace detail{
31392
31393
31394 template<class T>
31395 struct is_abstract_imp2
31396 {
31397
31398
31399
31400
31401    template<class U>
31402    static type_traits::no_type check_sig(U (*)[1]);
31403    template<class U>
31404    static type_traits::yes_type check_sig(...);
31405
31406
31407
31408
31409    typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( sizeof(T) != 0 ) >)> boost_static_assert_typedef_81;
31410
31411
31412
31413
31414    static const unsigned s1 = sizeof(is_abstract_imp2<T>::template check_sig<T>(0));
31415
31416
31417
31418
31419    static const bool value = (s1 == sizeof(type_traits::yes_type));
31420
31421 };
31422
31423 template <bool v>
31424 struct is_abstract_select
31425 {
31426    template <class T>
31427    struct rebind
31428    {
31429       typedef is_abstract_imp2<T> type;
31430    };
31431 };
31432 template <>
31433 struct is_abstract_select<false>
31434 {
31435    template <class T>
31436    struct rebind
31437    {
31438       typedef false_type type;
31439    };
31440 };
31441
31442 template <class T>
31443 struct is_abstract_imp
31444 {
31445    typedef is_abstract_select< ::boost::is_class<T>::value> selector;
31446    typedef typename selector::template rebind<T> binder;
31447    typedef typename binder::type type;
31448
31449    static const bool value = type::value;
31450 };
31451
31452
31453 }
31454
31455
31456 template< typename T > struct is_abstract : ::boost::integral_constant<bool,::boost::detail::is_abstract_imp<T>::value> { };
31457
31458
31459
31460
31461 }
31462
31463 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
31464 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
31465 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
31466 #undef BOOST_TT_AUX_BOOL_C_BASE
31467 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
31468 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
31469 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
31470 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
31471 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
31472 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
31473 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
31474 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
31475 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
31476 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
31477 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
31478 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
31479 # 136 "/usr/include/boost/type_traits/is_abstract.hpp" 2 3 4
31480 # 23 "/usr/include/boost/type_traits/is_convertible.hpp" 2 3 4
31481
31482
31483
31484
31485
31486
31487
31488 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
31489 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31490 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
31491 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
31492 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
31493 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
31494 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31495 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
31496
31497
31498
31499 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
31500
31501
31502
31503 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
31504 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31505 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
31506 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31507 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
31508 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31509 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
31510 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31511 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31512
31513
31514
31515
31516
31517
31518 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31519
31520
31521
31522
31523
31524
31525 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31526
31527
31528
31529
31530
31531
31532
31533 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31534
31535
31536
31537
31538
31539
31540
31541 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
31542 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31543 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31544
31545
31546
31547
31548
31549
31550
31551 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31552
31553
31554
31555
31556
31557
31558
31559 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
31560 # 31 "/usr/include/boost/type_traits/is_convertible.hpp" 2 3 4
31561
31562 namespace boost {
31563 # 44 "/usr/include/boost/type_traits/is_convertible.hpp" 3 4
31564 namespace detail {
31565 # 111 "/usr/include/boost/type_traits/is_convertible.hpp" 3 4
31566 struct any_conversion
31567 {
31568     template <typename T> any_conversion(const volatile T&);
31569     template <typename T> any_conversion(T&);
31570 };
31571
31572 template <typename T> struct checker
31573 {
31574     static boost::type_traits::no_type _m_check(any_conversion ...);
31575     static boost::type_traits::yes_type _m_check(T, int);
31576 };
31577
31578 template <typename From, typename To>
31579 struct is_convertible_basic_impl
31580 {
31581     static From _m_from;
31582     static bool const value = sizeof( detail::checker<To>::_m_check(_m_from, 0) )
31583         == sizeof(::boost::type_traits::yes_type);
31584 };
31585 # 224 "/usr/include/boost/type_traits/is_convertible.hpp" 3 4
31586 template <typename From, typename To>
31587 struct is_convertible_impl
31588 {
31589     typedef typename add_reference<From>::type ref_type;
31590     static const bool value = (::boost::type_traits::ice_and< ::boost::detail::is_convertible_basic_impl<ref_type,To>::value, ::boost::type_traits::ice_not< ::boost::is_array<To>::value >::value >::value);
31591
31592
31593
31594
31595
31596
31597
31598 };
31599
31600
31601 template <bool trivial1, bool trivial2, bool abstract_target>
31602 struct is_convertible_impl_select
31603 {
31604    template <class From, class To>
31605    struct rebind
31606    {
31607       typedef is_convertible_impl<From, To> type;
31608    };
31609 };
31610
31611 template <>
31612 struct is_convertible_impl_select<true, true, false>
31613 {
31614    template <class From, class To>
31615    struct rebind
31616    {
31617       typedef true_type type;
31618    };
31619 };
31620
31621 template <>
31622 struct is_convertible_impl_select<false, false, true>
31623 {
31624    template <class From, class To>
31625    struct rebind
31626    {
31627       typedef false_type type;
31628    };
31629 };
31630
31631 template <>
31632 struct is_convertible_impl_select<true, false, true>
31633 {
31634    template <class From, class To>
31635    struct rebind
31636    {
31637       typedef false_type type;
31638    };
31639 };
31640
31641 template <typename From, typename To>
31642 struct is_convertible_impl_dispatch_base
31643 {
31644
31645    typedef is_convertible_impl_select<
31646       ::boost::is_arithmetic<From>::value,
31647       ::boost::is_arithmetic<To>::value,
31648
31649       ::boost::is_abstract<To>::value
31650
31651
31652
31653    > selector;
31654
31655
31656
31657    typedef typename selector::template rebind<From, To> isc_binder;
31658    typedef typename isc_binder::type type;
31659 };
31660
31661 template <typename From, typename To>
31662 struct is_convertible_impl_dispatch
31663    : public is_convertible_impl_dispatch_base<From, To>::type
31664 {};
31665
31666
31667
31668
31669
31670
31671
31672 #define TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1,spec2,value) BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2,value) BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const,value) BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 volatile,value) BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const volatile,value)
31673
31674
31675
31676
31677
31678
31679 #define TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2(trait,spec1,spec2,value) TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1,spec2,value) TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 const,spec2,value) TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 volatile,spec2,value) TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 const volatile,spec2,value)
31680
31681
31682
31683
31684
31685
31686     template<> struct is_convertible_impl< void,void > { static const bool value = (true); }; template<> struct is_convertible_impl< void,void const > { static const bool value = (true); }; template<> struct is_convertible_impl< void,void volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void,void const volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void const,void > { static const bool value = (true); }; template<> struct is_convertible_impl< void const,void const > { static const bool value = (true); }; template<> struct is_convertible_impl< void const,void volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void const,void const volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void volatile,void > { static const bool value = (true); }; template<> struct is_convertible_impl< void volatile,void const > { static const bool value = (true); }; template<> struct is_convertible_impl< void volatile,void volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void volatile,void const volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void const volatile,void > { static const bool value = (true); }; template<> struct is_convertible_impl< void const volatile,void const > { static const bool value = (true); }; template<> struct is_convertible_impl< void const volatile,void volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void const volatile,void const volatile > { static const bool value = (true); };
31687
31688 #undef TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2
31689 #undef TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1
31690
31691
31692
31693
31694
31695
31696 template< typename To > struct is_convertible_impl< void,To > { static const bool value = (false); };
31697 template< typename From > struct is_convertible_impl< From,void > { static const bool value = (false); };
31698
31699 template< typename To > struct is_convertible_impl< void const,To > { static const bool value = (false); };
31700 template< typename To > struct is_convertible_impl< void volatile,To > { static const bool value = (false); };
31701 template< typename To > struct is_convertible_impl< void const volatile,To > { static const bool value = (false); };
31702 template< typename From > struct is_convertible_impl< From,void const > { static const bool value = (false); };
31703 template< typename From > struct is_convertible_impl< From,void volatile > { static const bool value = (false); };
31704 template< typename From > struct is_convertible_impl< From,void const volatile > { static const bool value = (false); };
31705
31706
31707
31708 }
31709
31710 template< typename From, typename To > struct is_convertible : ::boost::integral_constant<bool,(::boost::detail::is_convertible_impl_dispatch<From,To>::value)> { };
31711
31712 }
31713
31714 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
31715 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
31716 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
31717 #undef BOOST_TT_AUX_BOOL_C_BASE
31718 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
31719 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
31720 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
31721 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
31722 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
31723 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
31724 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
31725 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
31726 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
31727 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
31728 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
31729 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
31730 # 353 "/usr/include/boost/type_traits/is_convertible.hpp" 2 3 4
31731 # 18 "/usr/include/boost/type_traits/is_enum.hpp" 2 3 4
31732
31733
31734 # 1 "/usr/include/boost/type_traits/is_function.hpp" 1 3 4
31735 # 12 "/usr/include/boost/type_traits/is_function.hpp" 3 4
31736 #define BOOST_TT_IS_FUNCTION_HPP_INCLUDED 
31737
31738
31739 # 1 "/usr/include/boost/type_traits/detail/false_result.hpp" 1 3 4
31740 # 10 "/usr/include/boost/type_traits/detail/false_result.hpp" 3 4
31741 #define BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED 
31742
31743
31744
31745 namespace boost {
31746 namespace type_traits {
31747
31748
31749 struct false_result
31750 {
31751     template <typename T> struct result_
31752     {
31753         static const bool value = false;
31754     };
31755 };
31756
31757 }}
31758 # 16 "/usr/include/boost/type_traits/is_function.hpp" 2 3 4
31759
31760
31761
31762 # 1 "/usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp" 1 3 4
31763 # 16 "/usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp" 3 4
31764 #define BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED 
31765
31766 # 1 "/usr/include/boost/type_traits/config.hpp" 1 3 4
31767 # 19 "/usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp" 2 3 4
31768
31769
31770
31771
31772
31773
31774
31775 namespace boost {
31776 namespace type_traits {
31777
31778 template <class R>
31779 struct is_function_ptr_helper
31780 {
31781     static const bool value = false;
31782 };
31783
31784
31785
31786
31787 template <class R >
31788 struct is_function_ptr_helper<R (*)()> { static const bool value = true; };
31789
31790 template <class R >
31791 struct is_function_ptr_helper<R (*)( ...)> { static const bool value = true; };
31792
31793 template <class R , class T0>
31794 struct is_function_ptr_helper<R (*)( T0)> { static const bool value = true; };
31795
31796 template <class R , class T0>
31797 struct is_function_ptr_helper<R (*)( T0 ...)> { static const bool value = true; };
31798
31799 template <class R , class T0 , class T1>
31800 struct is_function_ptr_helper<R (*)( T0 , T1)> { static const bool value = true; };
31801
31802 template <class R , class T0 , class T1>
31803 struct is_function_ptr_helper<R (*)( T0 , T1 ...)> { static const bool value = true; };
31804
31805 template <class R , class T0 , class T1 , class T2>
31806 struct is_function_ptr_helper<R (*)( T0 , T1 , T2)> { static const bool value = true; };
31807
31808 template <class R , class T0 , class T1 , class T2>
31809 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 ...)> { static const bool value = true; };
31810
31811 template <class R , class T0 , class T1 , class T2 , class T3>
31812 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3)> { static const bool value = true; };
31813
31814 template <class R , class T0 , class T1 , class T2 , class T3>
31815 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 ...)> { static const bool value = true; };
31816
31817 template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
31818 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4)> { static const bool value = true; };
31819
31820 template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
31821 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 ...)> { static const bool value = true; };
31822
31823 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
31824 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5)> { static const bool value = true; };
31825
31826 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
31827 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...)> { static const bool value = true; };
31828
31829 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
31830 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6)> { static const bool value = true; };
31831
31832 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
31833 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...)> { static const bool value = true; };
31834
31835 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
31836 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> { static const bool value = true; };
31837
31838 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
31839 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...)> { static const bool value = true; };
31840
31841 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
31842 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> { static const bool value = true; };
31843
31844 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
31845 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...)> { static const bool value = true; };
31846
31847 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
31848 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> { static const bool value = true; };
31849
31850 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
31851 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...)> { static const bool value = true; };
31852
31853 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
31854 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> { static const bool value = true; };
31855
31856 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
31857 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...)> { static const bool value = true; };
31858
31859 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
31860 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> { static const bool value = true; };
31861
31862 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
31863 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...)> { static const bool value = true; };
31864
31865 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
31866 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> { static const bool value = true; };
31867
31868 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
31869 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...)> { static const bool value = true; };
31870
31871 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
31872 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> { static const bool value = true; };
31873
31874 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
31875 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...)> { static const bool value = true; };
31876
31877 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
31878 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> { static const bool value = true; };
31879
31880 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
31881 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...)> { static const bool value = true; };
31882
31883 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
31884 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> { static const bool value = true; };
31885
31886 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
31887 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...)> { static const bool value = true; };
31888
31889 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
31890 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16)> { static const bool value = true; };
31891
31892 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
31893 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...)> { static const bool value = true; };
31894
31895 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
31896 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17)> { static const bool value = true; };
31897
31898 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
31899 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...)> { static const bool value = true; };
31900
31901 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
31902 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18)> { static const bool value = true; };
31903
31904 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
31905 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...)> { static const bool value = true; };
31906
31907 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
31908 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19)> { static const bool value = true; };
31909
31910 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
31911 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...)> { static const bool value = true; };
31912
31913 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
31914 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20)> { static const bool value = true; };
31915
31916 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
31917 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...)> { static const bool value = true; };
31918
31919 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
31920 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21)> { static const bool value = true; };
31921
31922 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
31923 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...)> { static const bool value = true; };
31924
31925 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
31926 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22)> { static const bool value = true; };
31927
31928 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
31929 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...)> { static const bool value = true; };
31930
31931 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
31932 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23)> { static const bool value = true; };
31933
31934 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
31935 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...)> { static const bool value = true; };
31936
31937 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
31938 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24)> { static const bool value = true; };
31939
31940 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
31941 struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...)> { static const bool value = true; };
31942 # 203 "/usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp" 3 4
31943 }
31944 }
31945 # 20 "/usr/include/boost/type_traits/is_function.hpp" 2 3 4
31946
31947
31948
31949
31950
31951
31952 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
31953 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31954 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
31955 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
31956 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
31957 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
31958 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31959 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
31960
31961
31962
31963 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
31964
31965
31966
31967 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
31968 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31969 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
31970 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31971 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
31972 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31973 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
31974 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
31975 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31976
31977
31978
31979
31980
31981
31982 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
31983
31984
31985
31986
31987
31988
31989 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31990
31991
31992
31993
31994
31995
31996
31997 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
31998
31999
32000
32001
32002
32003
32004
32005 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
32006 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
32007 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
32008
32009
32010
32011
32012
32013
32014
32015 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
32016
32017
32018
32019
32020
32021
32022
32023 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
32024 # 27 "/usr/include/boost/type_traits/is_function.hpp" 2 3 4
32025
32026
32027
32028
32029
32030
32031
32032 namespace boost {
32033 namespace detail {
32034
32035
32036 template<bool is_ref = true>
32037 struct is_function_chooser
32038     : ::boost::type_traits::false_result
32039 {
32040 };
32041
32042 template <>
32043 struct is_function_chooser<false>
32044 {
32045     template< typename T > struct result_
32046         : ::boost::type_traits::is_function_ptr_helper<T*>
32047     {
32048     };
32049 };
32050
32051 template <typename T>
32052 struct is_function_impl
32053     : is_function_chooser< ::boost::is_reference<T>::value >
32054         ::template result_<T>
32055 {
32056 };
32057 # 80 "/usr/include/boost/type_traits/is_function.hpp" 3 4
32058 }
32059
32060 template< typename T > struct is_function : ::boost::integral_constant<bool,::boost::detail::is_function_impl<T>::value> { };
32061
32062 }
32063
32064 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
32065 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
32066 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
32067 #undef BOOST_TT_AUX_BOOL_C_BASE
32068 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
32069 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
32070 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
32071 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
32072 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
32073 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
32074 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
32075 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
32076 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
32077 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
32078 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
32079 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
32080 # 87 "/usr/include/boost/type_traits/is_function.hpp" 2 3 4
32081 # 21 "/usr/include/boost/type_traits/is_enum.hpp" 2 3 4
32082
32083
32084
32085
32086 # 1 "/usr/include/boost/type_traits/is_union.hpp" 1 3 4
32087 # 26 "/usr/include/boost/type_traits/is_enum.hpp" 2 3 4
32088
32089
32090
32091
32092 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
32093 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
32094 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
32095 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
32096 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
32097 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
32098 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
32099 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
32100
32101
32102
32103 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
32104
32105
32106
32107 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
32108 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
32109 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
32110 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
32111 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
32112 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
32113 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
32114 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
32115 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
32116
32117
32118
32119
32120
32121
32122 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
32123
32124
32125
32126
32127
32128
32129 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
32130
32131
32132
32133
32134
32135
32136
32137 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
32138
32139
32140
32141
32142
32143
32144
32145 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
32146 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
32147 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
32148
32149
32150
32151
32152
32153
32154
32155 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
32156
32157
32158
32159
32160
32161
32162
32163 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
32164 # 31 "/usr/include/boost/type_traits/is_enum.hpp" 2 3 4
32165
32166 namespace boost {
32167
32168
32169
32170 namespace detail {
32171
32172
32173
32174 template <typename T>
32175 struct is_class_or_union
32176 {
32177    static const bool value = (::boost::type_traits::ice_or< ::boost::is_class<T>::value , ::boost::is_union<T>::value >::value);
32178
32179
32180
32181
32182 };
32183 # 75 "/usr/include/boost/type_traits/is_enum.hpp" 3 4
32184 struct int_convertible
32185 {
32186     int_convertible(int);
32187 };
32188
32189
32190
32191 template <bool is_typename_arithmetic_or_reference = true>
32192 struct is_enum_helper
32193 {
32194     template <typename T> struct type
32195     {
32196         static const bool value = false;
32197     };
32198 };
32199
32200 template <>
32201 struct is_enum_helper<false>
32202 {
32203     template <typename T> struct type
32204        : ::boost::is_convertible<typename boost::add_reference<T>::type,::boost::detail::int_convertible>
32205     {
32206     };
32207 };
32208
32209 template <typename T> struct is_enum_impl
32210 {
32211 # 112 "/usr/include/boost/type_traits/is_enum.hpp" 3 4
32212    static const bool selector = (::boost::type_traits::ice_or< ::boost::is_arithmetic<T>::value , ::boost::is_reference<T>::value , ::boost::is_function<T>::value , is_class_or_union<T>::value , is_array<T>::value >::value);
32213 # 149 "/usr/include/boost/type_traits/is_enum.hpp" 3 4
32214     typedef ::boost::detail::is_enum_helper<selector> se_t;
32215
32216
32217     typedef typename se_t::template type<T> helper;
32218     static const bool value = helper::value;
32219 };
32220
32221
32222 template<> struct is_enum_impl< void > { static const bool value = (false); };
32223
32224 template<> struct is_enum_impl< void const > { static const bool value = (false); };
32225 template<> struct is_enum_impl< void volatile > { static const bool value = (false); };
32226 template<> struct is_enum_impl< void const volatile > { static const bool value = (false); };
32227
32228
32229 }
32230
32231 template< typename T > struct is_enum : ::boost::integral_constant<bool,::boost::detail::is_enum_impl<T>::value> { };
32232 # 176 "/usr/include/boost/type_traits/is_enum.hpp" 3 4
32233 }
32234
32235 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
32236 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
32237 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
32238 #undef BOOST_TT_AUX_BOOL_C_BASE
32239 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
32240 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
32241 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
32242 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
32243 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
32244 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
32245 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
32246 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
32247 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
32248 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
32249 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
32250 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
32251 # 179 "/usr/include/boost/type_traits/is_enum.hpp" 2 3 4
32252 # 14 "/usr/include/boost/type_traits/is_scalar.hpp" 2 3 4
32253 # 1 "/usr/include/boost/type_traits/is_pointer.hpp" 1 3 4
32254 # 22 "/usr/include/boost/type_traits/is_pointer.hpp" 3 4
32255 #define BOOST_TT_IS_POINTER_HPP_INCLUDED 
32256
32257 # 1 "/usr/include/boost/type_traits/is_member_pointer.hpp" 1 3 4
32258 # 22 "/usr/include/boost/type_traits/is_member_pointer.hpp" 3 4
32259 #define BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED 
32260
32261
32262
32263
32264
32265 # 1 "/usr/include/boost/type_traits/is_member_function_pointer.hpp" 1 3 4
32266 # 12 "/usr/include/boost/type_traits/is_member_function_pointer.hpp" 3 4
32267 #define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED 
32268 # 24 "/usr/include/boost/type_traits/is_member_function_pointer.hpp" 3 4
32269 # 1 "/usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp" 1 3 4
32270 # 15 "/usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp" 3 4
32271 #define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED 
32272 # 25 "/usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp" 3 4
32273 namespace boost {
32274 namespace type_traits {
32275
32276 template <typename T>
32277 struct is_mem_fun_pointer_impl
32278 {
32279     static const bool value = false;
32280 };
32281
32282
32283
32284
32285
32286 template <class R, class T >
32287 struct is_mem_fun_pointer_impl<R (T::*)() > { static const bool value = true; };
32288
32289 template <class R, class T >
32290 struct is_mem_fun_pointer_impl<R (T::*)( ...) > { static const bool value = true; };
32291
32292
32293
32294 template <class R, class T >
32295 struct is_mem_fun_pointer_impl<R (T::*)() const > { static const bool value = true; };
32296
32297 template <class R, class T >
32298 struct is_mem_fun_pointer_impl<R (T::*)() volatile > { static const bool value = true; };
32299
32300 template <class R, class T >
32301 struct is_mem_fun_pointer_impl<R (T::*)() const volatile > { static const bool value = true; };
32302
32303
32304 template <class R, class T >
32305 struct is_mem_fun_pointer_impl<R (T::*)( ...) const > { static const bool value = true; };
32306
32307 template <class R, class T >
32308 struct is_mem_fun_pointer_impl<R (T::*)( ...) volatile > { static const bool value = true; };
32309
32310 template <class R, class T >
32311 struct is_mem_fun_pointer_impl<R (T::*)( ...) const volatile > { static const bool value = true; };
32312
32313
32314 template <class R, class T , class T0>
32315 struct is_mem_fun_pointer_impl<R (T::*)( T0) > { static const bool value = true; };
32316
32317 template <class R, class T , class T0>
32318 struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) > { static const bool value = true; };
32319
32320
32321
32322 template <class R, class T , class T0>
32323 struct is_mem_fun_pointer_impl<R (T::*)( T0) const > { static const bool value = true; };
32324
32325 template <class R, class T , class T0>
32326 struct is_mem_fun_pointer_impl<R (T::*)( T0) volatile > { static const bool value = true; };
32327
32328 template <class R, class T , class T0>
32329 struct is_mem_fun_pointer_impl<R (T::*)( T0) const volatile > { static const bool value = true; };
32330
32331
32332 template <class R, class T , class T0>
32333 struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const > { static const bool value = true; };
32334
32335 template <class R, class T , class T0>
32336 struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) volatile > { static const bool value = true; };
32337
32338 template <class R, class T , class T0>
32339 struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const volatile > { static const bool value = true; };
32340
32341
32342 template <class R, class T , class T0 , class T1>
32343 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) > { static const bool value = true; };
32344
32345 template <class R, class T , class T0 , class T1>
32346 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) > { static const bool value = true; };
32347
32348
32349
32350 template <class R, class T , class T0 , class T1>
32351 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const > { static const bool value = true; };
32352
32353 template <class R, class T , class T0 , class T1>
32354 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) volatile > { static const bool value = true; };
32355
32356 template <class R, class T , class T0 , class T1>
32357 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const volatile > { static const bool value = true; };
32358
32359
32360 template <class R, class T , class T0 , class T1>
32361 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const > { static const bool value = true; };
32362
32363 template <class R, class T , class T0 , class T1>
32364 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) volatile > { static const bool value = true; };
32365
32366 template <class R, class T , class T0 , class T1>
32367 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const volatile > { static const bool value = true; };
32368
32369
32370 template <class R, class T , class T0 , class T1 , class T2>
32371 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) > { static const bool value = true; };
32372
32373 template <class R, class T , class T0 , class T1 , class T2>
32374 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) > { static const bool value = true; };
32375
32376
32377
32378 template <class R, class T , class T0 , class T1 , class T2>
32379 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const > { static const bool value = true; };
32380
32381 template <class R, class T , class T0 , class T1 , class T2>
32382 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) volatile > { static const bool value = true; };
32383
32384 template <class R, class T , class T0 , class T1 , class T2>
32385 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const volatile > { static const bool value = true; };
32386
32387
32388 template <class R, class T , class T0 , class T1 , class T2>
32389 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const > { static const bool value = true; };
32390
32391 template <class R, class T , class T0 , class T1 , class T2>
32392 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) volatile > { static const bool value = true; };
32393
32394 template <class R, class T , class T0 , class T1 , class T2>
32395 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const volatile > { static const bool value = true; };
32396
32397
32398 template <class R, class T , class T0 , class T1 , class T2 , class T3>
32399 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) > { static const bool value = true; };
32400
32401 template <class R, class T , class T0 , class T1 , class T2 , class T3>
32402 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) > { static const bool value = true; };
32403
32404
32405
32406 template <class R, class T , class T0 , class T1 , class T2 , class T3>
32407 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const > { static const bool value = true; };
32408
32409 template <class R, class T , class T0 , class T1 , class T2 , class T3>
32410 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) volatile > { static const bool value = true; };
32411
32412 template <class R, class T , class T0 , class T1 , class T2 , class T3>
32413 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const volatile > { static const bool value = true; };
32414
32415
32416 template <class R, class T , class T0 , class T1 , class T2 , class T3>
32417 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const > { static const bool value = true; };
32418
32419 template <class R, class T , class T0 , class T1 , class T2 , class T3>
32420 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) volatile > { static const bool value = true; };
32421
32422 template <class R, class T , class T0 , class T1 , class T2 , class T3>
32423 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const volatile > { static const bool value = true; };
32424
32425
32426 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
32427 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) > { static const bool value = true; };
32428
32429 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
32430 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) > { static const bool value = true; };
32431
32432
32433
32434 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
32435 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const > { static const bool value = true; };
32436
32437 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
32438 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) volatile > { static const bool value = true; };
32439
32440 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
32441 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const volatile > { static const bool value = true; };
32442
32443
32444 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
32445 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const > { static const bool value = true; };
32446
32447 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
32448 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) volatile > { static const bool value = true; };
32449
32450 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
32451 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const volatile > { static const bool value = true; };
32452
32453
32454 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
32455 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) > { static const bool value = true; };
32456
32457 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
32458 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) > { static const bool value = true; };
32459
32460
32461
32462 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
32463 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const > { static const bool value = true; };
32464
32465 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
32466 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) volatile > { static const bool value = true; };
32467
32468 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
32469 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile > { static const bool value = true; };
32470
32471
32472 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
32473 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const > { static const bool value = true; };
32474
32475 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
32476 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile > { static const bool value = true; };
32477
32478 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
32479 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile > { static const bool value = true; };
32480
32481
32482 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
32483 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) > { static const bool value = true; };
32484
32485 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
32486 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) > { static const bool value = true; };
32487
32488
32489
32490 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
32491 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const > { static const bool value = true; };
32492
32493 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
32494 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile > { static const bool value = true; };
32495
32496 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
32497 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile > { static const bool value = true; };
32498
32499
32500 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
32501 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const > { static const bool value = true; };
32502
32503 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
32504 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile > { static const bool value = true; };
32505
32506 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
32507 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile > { static const bool value = true; };
32508
32509
32510 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
32511 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) > { static const bool value = true; };
32512
32513 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
32514 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) > { static const bool value = true; };
32515
32516
32517
32518 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
32519 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const > { static const bool value = true; };
32520
32521 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
32522 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile > { static const bool value = true; };
32523
32524 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
32525 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile > { static const bool value = true; };
32526
32527
32528 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
32529 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const > { static const bool value = true; };
32530
32531 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
32532 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile > { static const bool value = true; };
32533
32534 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
32535 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile > { static const bool value = true; };
32536
32537
32538 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
32539 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) > { static const bool value = true; };
32540
32541 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
32542 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) > { static const bool value = true; };
32543
32544
32545
32546 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
32547 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const > { static const bool value = true; };
32548
32549 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
32550 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile > { static const bool value = true; };
32551
32552 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
32553 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile > { static const bool value = true; };
32554
32555
32556 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
32557 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const > { static const bool value = true; };
32558
32559 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
32560 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile > { static const bool value = true; };
32561
32562 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
32563 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile > { static const bool value = true; };
32564
32565
32566 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
32567 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) > { static const bool value = true; };
32568
32569 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
32570 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) > { static const bool value = true; };
32571
32572
32573
32574 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
32575 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const > { static const bool value = true; };
32576
32577 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
32578 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile > { static const bool value = true; };
32579
32580 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
32581 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile > { static const bool value = true; };
32582
32583
32584 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
32585 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const > { static const bool value = true; };
32586
32587 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
32588 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile > { static const bool value = true; };
32589
32590 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
32591 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile > { static const bool value = true; };
32592
32593
32594 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
32595 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) > { static const bool value = true; };
32596
32597 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
32598 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) > { static const bool value = true; };
32599
32600
32601
32602 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
32603 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const > { static const bool value = true; };
32604
32605 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
32606 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile > { static const bool value = true; };
32607
32608 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
32609 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile > { static const bool value = true; };
32610
32611
32612 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
32613 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const > { static const bool value = true; };
32614
32615 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
32616 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile > { static const bool value = true; };
32617
32618 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
32619 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile > { static const bool value = true; };
32620
32621
32622 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
32623 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) > { static const bool value = true; };
32624
32625 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
32626 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) > { static const bool value = true; };
32627
32628
32629
32630 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
32631 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const > { static const bool value = true; };
32632
32633 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
32634 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile > { static const bool value = true; };
32635
32636 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
32637 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile > { static const bool value = true; };
32638
32639
32640 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
32641 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const > { static const bool value = true; };
32642
32643 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
32644 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile > { static const bool value = true; };
32645
32646 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
32647 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile > { static const bool value = true; };
32648
32649
32650 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
32651 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) > { static const bool value = true; };
32652
32653 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
32654 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) > { static const bool value = true; };
32655
32656
32657
32658 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
32659 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const > { static const bool value = true; };
32660
32661 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
32662 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile > { static const bool value = true; };
32663
32664 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
32665 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile > { static const bool value = true; };
32666
32667
32668 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
32669 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const > { static const bool value = true; };
32670
32671 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
32672 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile > { static const bool value = true; };
32673
32674 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
32675 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile > { static const bool value = true; };
32676
32677
32678 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
32679 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) > { static const bool value = true; };
32680
32681 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
32682 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) > { static const bool value = true; };
32683
32684
32685
32686 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
32687 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const > { static const bool value = true; };
32688
32689 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
32690 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile > { static const bool value = true; };
32691
32692 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
32693 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile > { static const bool value = true; };
32694
32695
32696 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
32697 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const > { static const bool value = true; };
32698
32699 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
32700 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile > { static const bool value = true; };
32701
32702 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
32703 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile > { static const bool value = true; };
32704
32705
32706 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
32707 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) > { static const bool value = true; };
32708
32709 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
32710 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) > { static const bool value = true; };
32711
32712
32713
32714 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
32715 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const > { static const bool value = true; };
32716
32717 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
32718 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile > { static const bool value = true; };
32719
32720 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
32721 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile > { static const bool value = true; };
32722
32723
32724 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
32725 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const > { static const bool value = true; };
32726
32727 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
32728 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile > { static const bool value = true; };
32729
32730 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
32731 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile > { static const bool value = true; };
32732
32733
32734 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
32735 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) > { static const bool value = true; };
32736
32737 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
32738 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) > { static const bool value = true; };
32739
32740
32741
32742 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
32743 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const > { static const bool value = true; };
32744
32745 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
32746 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile > { static const bool value = true; };
32747
32748 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
32749 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile > { static const bool value = true; };
32750
32751
32752 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
32753 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const > { static const bool value = true; };
32754
32755 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
32756 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile > { static const bool value = true; };
32757
32758 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
32759 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile > { static const bool value = true; };
32760
32761
32762 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
32763 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) > { static const bool value = true; };
32764
32765 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
32766 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) > { static const bool value = true; };
32767
32768
32769
32770 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
32771 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const > { static const bool value = true; };
32772
32773 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
32774 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile > { static const bool value = true; };
32775
32776 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
32777 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile > { static const bool value = true; };
32778
32779
32780 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
32781 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const > { static const bool value = true; };
32782
32783 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
32784 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile > { static const bool value = true; };
32785
32786 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
32787 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile > { static const bool value = true; };
32788
32789
32790 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
32791 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) > { static const bool value = true; };
32792
32793 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
32794 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) > { static const bool value = true; };
32795
32796
32797
32798 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
32799 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const > { static const bool value = true; };
32800
32801 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
32802 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile > { static const bool value = true; };
32803
32804 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
32805 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile > { static const bool value = true; };
32806
32807
32808 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
32809 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const > { static const bool value = true; };
32810
32811 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
32812 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile > { static const bool value = true; };
32813
32814 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
32815 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile > { static const bool value = true; };
32816
32817
32818 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
32819 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) > { static const bool value = true; };
32820
32821 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
32822 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) > { static const bool value = true; };
32823
32824
32825
32826 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
32827 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const > { static const bool value = true; };
32828
32829 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
32830 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile > { static const bool value = true; };
32831
32832 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
32833 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile > { static const bool value = true; };
32834
32835
32836 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
32837 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const > { static const bool value = true; };
32838
32839 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
32840 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile > { static const bool value = true; };
32841
32842 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
32843 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile > { static const bool value = true; };
32844
32845
32846 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
32847 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) > { static const bool value = true; };
32848
32849 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
32850 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) > { static const bool value = true; };
32851
32852
32853
32854 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
32855 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const > { static const bool value = true; };
32856
32857 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
32858 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile > { static const bool value = true; };
32859
32860 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
32861 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile > { static const bool value = true; };
32862
32863
32864 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
32865 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const > { static const bool value = true; };
32866
32867 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
32868 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile > { static const bool value = true; };
32869
32870 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
32871 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile > { static const bool value = true; };
32872
32873
32874 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
32875 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) > { static const bool value = true; };
32876
32877 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
32878 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) > { static const bool value = true; };
32879
32880
32881
32882 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
32883 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const > { static const bool value = true; };
32884
32885 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
32886 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile > { static const bool value = true; };
32887
32888 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
32889 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile > { static const bool value = true; };
32890
32891
32892 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
32893 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const > { static const bool value = true; };
32894
32895 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
32896 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile > { static const bool value = true; };
32897
32898 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
32899 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile > { static const bool value = true; };
32900
32901
32902 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
32903 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) > { static const bool value = true; };
32904
32905 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
32906 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) > { static const bool value = true; };
32907
32908
32909
32910 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
32911 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const > { static const bool value = true; };
32912
32913 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
32914 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile > { static const bool value = true; };
32915
32916 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
32917 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile > { static const bool value = true; };
32918
32919
32920 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
32921 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const > { static const bool value = true; };
32922
32923 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
32924 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile > { static const bool value = true; };
32925
32926 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
32927 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile > { static const bool value = true; };
32928
32929
32930 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
32931 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) > { static const bool value = true; };
32932
32933 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
32934 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) > { static const bool value = true; };
32935
32936
32937
32938 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
32939 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const > { static const bool value = true; };
32940
32941 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
32942 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile > { static const bool value = true; };
32943
32944 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
32945 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile > { static const bool value = true; };
32946
32947
32948 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
32949 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const > { static const bool value = true; };
32950
32951 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
32952 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile > { static const bool value = true; };
32953
32954 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
32955 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile > { static const bool value = true; };
32956
32957
32958 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
32959 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) > { static const bool value = true; };
32960
32961 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
32962 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) > { static const bool value = true; };
32963
32964
32965
32966 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
32967 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const > { static const bool value = true; };
32968
32969 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
32970 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile > { static const bool value = true; };
32971
32972 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
32973 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile > { static const bool value = true; };
32974
32975
32976 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
32977 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const > { static const bool value = true; };
32978
32979 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
32980 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile > { static const bool value = true; };
32981
32982 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
32983 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile > { static const bool value = true; };
32984
32985
32986 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
32987 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) > { static const bool value = true; };
32988
32989 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
32990 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) > { static const bool value = true; };
32991
32992
32993
32994 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
32995 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const > { static const bool value = true; };
32996
32997 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
32998 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile > { static const bool value = true; };
32999
33000 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
33001 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile > { static const bool value = true; };
33002
33003
33004 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
33005 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const > { static const bool value = true; };
33006
33007 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
33008 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile > { static const bool value = true; };
33009
33010 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
33011 struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile > { static const bool value = true; };
33012 # 776 "/usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp" 3 4
33013 }
33014 }
33015 # 25 "/usr/include/boost/type_traits/is_member_function_pointer.hpp" 2 3 4
33016 # 35 "/usr/include/boost/type_traits/is_member_function_pointer.hpp" 3 4
33017 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
33018 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33019 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
33020 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
33021 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
33022 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
33023 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33024 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
33025
33026
33027
33028 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
33029
33030
33031
33032 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
33033 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33034 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
33035 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33036 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
33037 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33038 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33039 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33040 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33041
33042
33043
33044
33045
33046
33047 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33048
33049
33050
33051
33052
33053
33054 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33055
33056
33057
33058
33059
33060
33061
33062 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33063
33064
33065
33066
33067
33068
33069
33070 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33071 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33072 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33073
33074
33075
33076
33077
33078
33079
33080 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33081
33082
33083
33084
33085
33086
33087
33088 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
33089 # 36 "/usr/include/boost/type_traits/is_member_function_pointer.hpp" 2 3 4
33090
33091 namespace boost {
33092
33093
33094
33095 template< typename T > struct is_member_function_pointer : ::boost::integral_constant<bool,::boost::type_traits::is_mem_fun_pointer_impl<T>::value> { };
33096 # 122 "/usr/include/boost/type_traits/is_member_function_pointer.hpp" 3 4
33097 }
33098
33099 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
33100 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
33101 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
33102 #undef BOOST_TT_AUX_BOOL_C_BASE
33103 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
33104 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
33105 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
33106 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
33107 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
33108 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
33109 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
33110 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
33111 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
33112 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
33113 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
33114 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
33115 # 125 "/usr/include/boost/type_traits/is_member_function_pointer.hpp" 2 3 4
33116 # 29 "/usr/include/boost/type_traits/is_member_pointer.hpp" 2 3 4
33117 # 39 "/usr/include/boost/type_traits/is_member_pointer.hpp" 3 4
33118 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
33119 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33120 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
33121 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
33122 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
33123 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
33124 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33125 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
33126
33127
33128
33129 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
33130
33131
33132
33133 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
33134 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33135 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
33136 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33137 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
33138 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33139 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33140 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33141 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33142
33143
33144
33145
33146
33147
33148 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33149
33150
33151
33152
33153
33154
33155 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33156
33157
33158
33159
33160
33161
33162
33163 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33164
33165
33166
33167
33168
33169
33170
33171 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33172 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33173 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33174
33175
33176
33177
33178
33179
33180
33181 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33182
33183
33184
33185
33186
33187
33188
33189 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
33190 # 40 "/usr/include/boost/type_traits/is_member_pointer.hpp" 2 3 4
33191
33192 namespace boost {
33193
33194
33195
33196
33197
33198
33199 template< typename T > struct is_member_pointer : ::boost::integral_constant<bool,::boost::is_member_function_pointer<T>::value> { };
33200 template< typename T, typename U > struct is_member_pointer< U T::* > : ::boost::integral_constant<bool,true> { };
33201 # 104 "/usr/include/boost/type_traits/is_member_pointer.hpp" 3 4
33202 }
33203
33204 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
33205 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
33206 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
33207 #undef BOOST_TT_AUX_BOOL_C_BASE
33208 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
33209 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
33210 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
33211 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
33212 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
33213 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
33214 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
33215 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
33216 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
33217 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
33218 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
33219 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
33220 # 107 "/usr/include/boost/type_traits/is_member_pointer.hpp" 2 3 4
33221 # 25 "/usr/include/boost/type_traits/is_pointer.hpp" 2 3 4
33222 # 38 "/usr/include/boost/type_traits/is_pointer.hpp" 3 4
33223 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
33224 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33225 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
33226 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
33227 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
33228 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
33229 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33230 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
33231
33232
33233
33234 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
33235
33236
33237
33238 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
33239 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33240 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
33241 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33242 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
33243 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33244 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33245 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33246 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33247
33248
33249
33250
33251
33252
33253 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33254
33255
33256
33257
33258
33259
33260 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33261
33262
33263
33264
33265
33266
33267
33268 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33269
33270
33271
33272
33273
33274
33275
33276 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33277 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33278 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33279
33280
33281
33282
33283
33284
33285
33286 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33287
33288
33289
33290
33291
33292
33293
33294 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
33295 # 39 "/usr/include/boost/type_traits/is_pointer.hpp" 2 3 4
33296
33297 namespace boost {
33298
33299
33300
33301 namespace detail {
33302
33303 template< typename T > struct is_pointer_helper
33304 {
33305     static const bool value = false;
33306 };
33307
33308 #define TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC(helper,sp,result) template< typename T > struct helper<sp> { BOOST_STATIC_CONSTANT(bool, value = result); };
33309
33310
33311
33312
33313
33314
33315 template< typename T > struct is_pointer_helper<T*> { static const bool value = true; };
33316 template< typename T > struct is_pointer_helper<T* const> { static const bool value = true; };
33317 template< typename T > struct is_pointer_helper<T* volatile> { static const bool value = true; };
33318 template< typename T > struct is_pointer_helper<T* const volatile> { static const bool value = true; };
33319
33320 #undef TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC
33321
33322 template< typename T >
33323 struct is_pointer_impl
33324 {
33325     static const bool value = (::boost::type_traits::ice_and< ::boost::detail::is_pointer_helper<T>::value , ::boost::type_traits::ice_not< ::boost::is_member_pointer<T>::value >::value >::value);
33326
33327
33328
33329
33330
33331
33332
33333 };
33334
33335 }
33336
33337 template< typename T > struct is_pointer : ::boost::integral_constant<bool,::boost::detail::is_pointer_impl<T>::value> { };
33338 # 145 "/usr/include/boost/type_traits/is_pointer.hpp" 3 4
33339 }
33340
33341 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
33342 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
33343 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
33344 #undef BOOST_TT_AUX_BOOL_C_BASE
33345 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
33346 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
33347 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
33348 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
33349 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
33350 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
33351 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
33352 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
33353 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
33354 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
33355 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
33356 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
33357 # 148 "/usr/include/boost/type_traits/is_pointer.hpp" 2 3 4
33358 # 15 "/usr/include/boost/type_traits/is_scalar.hpp" 2 3 4
33359
33360
33361
33362
33363
33364 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
33365 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33366 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
33367 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
33368 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
33369 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
33370 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33371 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
33372
33373
33374
33375 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
33376
33377
33378
33379 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
33380 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33381 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
33382 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33383 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
33384 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33385 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33386 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33387 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33388
33389
33390
33391
33392
33393
33394 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33395
33396
33397
33398
33399
33400
33401 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33402
33403
33404
33405
33406
33407
33408
33409 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33410
33411
33412
33413
33414
33415
33416
33417 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33418 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33419 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33420
33421
33422
33423
33424
33425
33426
33427 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33428
33429
33430
33431
33432
33433
33434
33435 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
33436 # 21 "/usr/include/boost/type_traits/is_scalar.hpp" 2 3 4
33437
33438 namespace boost {
33439
33440 namespace detail {
33441
33442 template <typename T>
33443 struct is_scalar_impl
33444 {
33445    static const bool value = (::boost::type_traits::ice_or< ::boost::is_arithmetic<T>::value, ::boost::is_enum<T>::value, ::boost::is_pointer<T>::value, ::boost::is_member_pointer<T>::value >::value);
33446
33447
33448
33449
33450
33451
33452 };
33453
33454
33455
33456 template <> struct is_scalar_impl<void>{ static const bool value = false; };
33457
33458 template <> struct is_scalar_impl<void const>{ static const bool value = false; };
33459 template <> struct is_scalar_impl<void volatile>{ static const bool value = false; };
33460 template <> struct is_scalar_impl<void const volatile>{ static const bool value = false; };
33461
33462
33463 }
33464
33465 template< typename T > struct is_scalar : ::boost::integral_constant<bool,::boost::detail::is_scalar_impl<T>::value> { };
33466
33467 }
33468
33469 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
33470 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
33471 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
33472 #undef BOOST_TT_AUX_BOOL_C_BASE
33473 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
33474 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
33475 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
33476 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
33477 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
33478 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
33479 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
33480 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
33481 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
33482 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
33483 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
33484 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
33485 # 54 "/usr/include/boost/type_traits/is_scalar.hpp" 2 3 4
33486 # 15 "/usr/include/boost/type_traits/is_pod.hpp" 2 3 4
33487
33488
33489
33490
33491
33492
33493 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
33494 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33495 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
33496 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
33497 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
33498 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
33499 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33500 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
33501
33502
33503
33504 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
33505
33506
33507
33508 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
33509 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33510 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
33511 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33512 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
33513 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33514 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33515 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33516 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33517
33518
33519
33520
33521
33522
33523 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33524
33525
33526
33527
33528
33529
33530 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33531
33532
33533
33534
33535
33536
33537
33538 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33539
33540
33541
33542
33543
33544
33545
33546 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33547 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33548 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33549
33550
33551
33552
33553
33554
33555
33556 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33557
33558
33559
33560
33561
33562
33563
33564 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
33565 # 22 "/usr/include/boost/type_traits/is_pod.hpp" 2 3 4
33566
33567 namespace boost {
33568
33569
33570 template< typename T > struct is_POD;
33571
33572 namespace detail {
33573
33574
33575
33576 template <typename T> struct is_pod_impl
33577 {
33578     static const bool value = (::boost::type_traits::ice_or< ::boost::is_scalar<T>::value, ::boost::is_void<T>::value, false >::value);
33579
33580
33581
33582
33583
33584
33585 };
33586
33587
33588 template <typename T, std::size_t sz>
33589 struct is_pod_impl<T[sz]>
33590     : is_pod_impl<T>
33591 {
33592 };
33593 # 118 "/usr/include/boost/type_traits/is_pod.hpp" 3 4
33594 template<> struct is_pod_impl< void > { static const bool value = (true); };
33595
33596
33597 template<> struct is_pod_impl< void const > { static const bool value = (true); };
33598 template<> struct is_pod_impl< void volatile > { static const bool value = (true); };
33599 template<> struct is_pod_impl< void const volatile > { static const bool value = (true); };
33600
33601
33602 }
33603
33604 template< typename T > struct is_POD : ::boost::integral_constant<bool,::boost::detail::is_pod_impl<T>::value> { };
33605 template< typename T > struct is_pod : ::boost::integral_constant<bool,::boost::detail::is_pod_impl<T>::value> { };
33606
33607 }
33608
33609 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
33610 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
33611 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
33612 #undef BOOST_TT_AUX_BOOL_C_BASE
33613 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
33614 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
33615 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
33616 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
33617 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
33618 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
33619 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
33620 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
33621 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
33622 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
33623 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
33624 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
33625 # 134 "/usr/include/boost/type_traits/is_pod.hpp" 2 3 4
33626 # 15 "/usr/include/boost/type_traits/has_trivial_assign.hpp" 2 3 4
33627 # 1 "/usr/include/boost/type_traits/is_const.hpp" 1 3 4
33628 # 22 "/usr/include/boost/type_traits/is_const.hpp" 3 4
33629 #define BOOST_TT_IS_CONST_HPP_INCLUDED 
33630
33631
33632
33633
33634
33635
33636 # 1 "/usr/include/boost/type_traits/is_reference.hpp" 1 3 4
33637 # 30 "/usr/include/boost/type_traits/is_const.hpp" 2 3 4
33638 # 39 "/usr/include/boost/type_traits/is_const.hpp" 3 4
33639 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
33640 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33641 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
33642 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
33643 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
33644 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
33645 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33646 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
33647
33648
33649
33650 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
33651
33652
33653
33654 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
33655 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33656 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
33657 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33658 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
33659 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33660 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33661 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33662 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33663
33664
33665
33666
33667
33668
33669 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33670
33671
33672
33673
33674
33675
33676 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33677
33678
33679
33680
33681
33682
33683
33684 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33685
33686
33687
33688
33689
33690
33691
33692 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33693 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33694 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33695
33696
33697
33698
33699
33700
33701
33702 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33703
33704
33705
33706
33707
33708
33709
33710 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
33711 # 40 "/usr/include/boost/type_traits/is_const.hpp" 2 3 4
33712
33713 namespace boost {
33714
33715
33716
33717
33718 template< typename T > struct is_const : ::boost::integral_constant<bool,::boost::detail::cv_traits_imp<T*>::is_const> { };
33719 template< typename T > struct is_const< T& > : ::boost::integral_constant<bool,false> { };
33720 # 129 "/usr/include/boost/type_traits/is_const.hpp" 3 4
33721 }
33722
33723 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
33724 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
33725 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
33726 #undef BOOST_TT_AUX_BOOL_C_BASE
33727 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
33728 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
33729 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
33730 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
33731 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
33732 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
33733 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
33734 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
33735 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
33736 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
33737 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
33738 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
33739 # 132 "/usr/include/boost/type_traits/is_const.hpp" 2 3 4
33740 # 16 "/usr/include/boost/type_traits/has_trivial_assign.hpp" 2 3 4
33741 # 1 "/usr/include/boost/type_traits/is_volatile.hpp" 1 3 4
33742 # 22 "/usr/include/boost/type_traits/is_volatile.hpp" 3 4
33743 #define BOOST_TT_IS_VOLATILE_HPP_INCLUDED 
33744 # 36 "/usr/include/boost/type_traits/is_volatile.hpp" 3 4
33745 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
33746 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33747 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
33748 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
33749 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
33750 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
33751 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33752 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
33753
33754
33755
33756 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
33757
33758
33759
33760 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
33761 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33762 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
33763 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33764 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
33765 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33766 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33767 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33768 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33769
33770
33771
33772
33773
33774
33775 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33776
33777
33778
33779
33780
33781
33782 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33783
33784
33785
33786
33787
33788
33789
33790 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33791
33792
33793
33794
33795
33796
33797
33798 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33799 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33800 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33801
33802
33803
33804
33805
33806
33807
33808 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33809
33810
33811
33812
33813
33814
33815
33816 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
33817 # 37 "/usr/include/boost/type_traits/is_volatile.hpp" 2 3 4
33818
33819 namespace boost {
33820
33821
33822
33823
33824 template< typename T > struct is_volatile : ::boost::integral_constant<bool,::boost::detail::cv_traits_imp<T*>::is_volatile> { };
33825 template< typename T > struct is_volatile< T& > : ::boost::integral_constant<bool,false> { };
33826 # 119 "/usr/include/boost/type_traits/is_volatile.hpp" 3 4
33827 }
33828
33829 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
33830 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
33831 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
33832 #undef BOOST_TT_AUX_BOOL_C_BASE
33833 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
33834 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
33835 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
33836 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
33837 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
33838 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
33839 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
33840 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
33841 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
33842 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
33843 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
33844 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
33845 # 122 "/usr/include/boost/type_traits/is_volatile.hpp" 2 3 4
33846 # 17 "/usr/include/boost/type_traits/has_trivial_assign.hpp" 2 3 4
33847
33848
33849
33850
33851
33852 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
33853 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33854 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
33855 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
33856 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
33857 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
33858 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33859 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
33860
33861
33862
33863 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
33864
33865
33866
33867 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
33868 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33869 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
33870 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33871 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
33872 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33873 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33874 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33875 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33876
33877
33878
33879
33880
33881
33882 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33883
33884
33885
33886
33887
33888
33889 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33890
33891
33892
33893
33894
33895
33896
33897 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33898
33899
33900
33901
33902
33903
33904
33905 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33906 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33907 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
33908
33909
33910
33911
33912
33913
33914
33915 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33916
33917
33918
33919
33920
33921
33922
33923 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
33924 # 23 "/usr/include/boost/type_traits/has_trivial_assign.hpp" 2 3 4
33925
33926 namespace boost {
33927
33928 namespace detail {
33929
33930 template <typename T>
33931 struct has_trivial_assign_impl
33932 {
33933    static const bool value = (::boost::type_traits::ice_and< ::boost::type_traits::ice_or< ::boost::is_pod<T>::value, false >::value, ::boost::type_traits::ice_not< ::boost::is_const<T>::value >::value, ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value >::value);
33934 # 40 "/usr/include/boost/type_traits/has_trivial_assign.hpp" 3 4
33935 };
33936
33937 }
33938
33939 template< typename T > struct has_trivial_assign : ::boost::integral_constant<bool,::boost::detail::has_trivial_assign_impl<T>::value> { };
33940
33941 }
33942
33943 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
33944 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
33945 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
33946 #undef BOOST_TT_AUX_BOOL_C_BASE
33947 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
33948 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
33949 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
33950 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
33951 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
33952 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
33953 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
33954 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
33955 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
33956 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
33957 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
33958 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
33959 # 49 "/usr/include/boost/type_traits/has_trivial_assign.hpp" 2 3 4
33960 # 13 "/usr/include/boost/type_traits/has_nothrow_assign.hpp" 2 3 4
33961
33962
33963 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
33964 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33965 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
33966 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
33967 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
33968 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
33969 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33970 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
33971
33972
33973
33974 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
33975
33976
33977
33978 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
33979 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33980 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
33981 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33982 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
33983 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33984 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
33985 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
33986 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33987
33988
33989
33990
33991
33992
33993 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
33994
33995
33996
33997
33998
33999
34000 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34001
34002
34003
34004
34005
34006
34007
34008 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34009
34010
34011
34012
34013
34014
34015
34016 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34017 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34018 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34019
34020
34021
34022
34023
34024
34025
34026 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34027
34028
34029
34030
34031
34032
34033
34034 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
34035 # 16 "/usr/include/boost/type_traits/has_nothrow_assign.hpp" 2 3 4
34036
34037 namespace boost {
34038
34039 namespace detail{
34040
34041 template <class T>
34042 struct has_nothrow_assign_imp{
34043    static const bool value = (::boost::type_traits::ice_or< ::boost::has_trivial_assign<T>::value, false >::value);
34044
34045
34046
34047
34048 };
34049
34050 }
34051
34052 template< typename T > struct has_nothrow_assign : ::boost::integral_constant<bool,::boost::detail::has_nothrow_assign_imp<T>::value> { };
34053
34054 }
34055
34056 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
34057 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
34058 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
34059 #undef BOOST_TT_AUX_BOOL_C_BASE
34060 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
34061 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
34062 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
34063 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
34064 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
34065 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
34066 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
34067 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
34068 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
34069 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
34070 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
34071 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
34072 # 37 "/usr/include/boost/type_traits/has_nothrow_assign.hpp" 2 3 4
34073 # 20 "/usr/include/boost/type_traits.hpp" 2 3 4
34074 # 1 "/usr/include/boost/type_traits/has_nothrow_constructor.hpp" 1 3 4
34075 # 10 "/usr/include/boost/type_traits/has_nothrow_constructor.hpp" 3 4
34076 #define BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED 
34077
34078 # 1 "/usr/include/boost/type_traits/has_trivial_constructor.hpp" 1 3 4
34079 # 10 "/usr/include/boost/type_traits/has_trivial_constructor.hpp" 3 4
34080 #define BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED 
34081
34082
34083
34084
34085
34086
34087
34088 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
34089 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34090 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
34091 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
34092 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
34093 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
34094 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34095 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
34096
34097
34098
34099 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
34100
34101
34102
34103 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
34104 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34105 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
34106 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34107 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
34108 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34109 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34110 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34111 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34112
34113
34114
34115
34116
34117
34118 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34119
34120
34121
34122
34123
34124
34125 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34126
34127
34128
34129
34130
34131
34132
34133 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34134
34135
34136
34137
34138
34139
34140
34141 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34142 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34143 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34144
34145
34146
34147
34148
34149
34150
34151 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34152
34153
34154
34155
34156
34157
34158
34159 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
34160 # 19 "/usr/include/boost/type_traits/has_trivial_constructor.hpp" 2 3 4
34161
34162 namespace boost {
34163
34164 namespace detail {
34165
34166 template <typename T>
34167 struct has_trivial_ctor_impl
34168 {
34169    static const bool value = (::boost::type_traits::ice_or< ::boost::is_pod<T>::value, false >::value);
34170
34171
34172
34173
34174 };
34175
34176 }
34177
34178 template< typename T > struct has_trivial_constructor : ::boost::integral_constant<bool,::boost::detail::has_trivial_ctor_impl<T>::value> { };
34179
34180 }
34181
34182 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
34183 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
34184 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
34185 #undef BOOST_TT_AUX_BOOL_C_BASE
34186 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
34187 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
34188 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
34189 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
34190 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
34191 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
34192 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
34193 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
34194 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
34195 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
34196 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
34197 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
34198 # 41 "/usr/include/boost/type_traits/has_trivial_constructor.hpp" 2 3 4
34199 # 13 "/usr/include/boost/type_traits/has_nothrow_constructor.hpp" 2 3 4
34200
34201
34202 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
34203 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34204 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
34205 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
34206 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
34207 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
34208 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34209 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
34210
34211
34212
34213 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
34214
34215
34216
34217 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
34218 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34219 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
34220 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34221 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
34222 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34223 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34224 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34225 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34226
34227
34228
34229
34230
34231
34232 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34233
34234
34235
34236
34237
34238
34239 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34240
34241
34242
34243
34244
34245
34246
34247 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34248
34249
34250
34251
34252
34253
34254
34255 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34256 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34257 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34258
34259
34260
34261
34262
34263
34264
34265 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34266
34267
34268
34269
34270
34271
34272
34273 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
34274 # 16 "/usr/include/boost/type_traits/has_nothrow_constructor.hpp" 2 3 4
34275
34276 namespace boost {
34277
34278 namespace detail{
34279
34280 template <class T>
34281 struct has_nothrow_constructor_imp{
34282    static const bool value = (::boost::type_traits::ice_or< ::boost::has_trivial_constructor<T>::value, false >::value);
34283
34284
34285
34286
34287 };
34288
34289 }
34290
34291 template< typename T > struct has_nothrow_constructor : ::boost::integral_constant<bool,::boost::detail::has_nothrow_constructor_imp<T>::value> { };
34292
34293 }
34294
34295 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
34296 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
34297 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
34298 #undef BOOST_TT_AUX_BOOL_C_BASE
34299 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
34300 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
34301 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
34302 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
34303 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
34304 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
34305 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
34306 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
34307 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
34308 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
34309 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
34310 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
34311 # 37 "/usr/include/boost/type_traits/has_nothrow_constructor.hpp" 2 3 4
34312 # 21 "/usr/include/boost/type_traits.hpp" 2 3 4
34313 # 1 "/usr/include/boost/type_traits/has_nothrow_copy.hpp" 1 3 4
34314 # 10 "/usr/include/boost/type_traits/has_nothrow_copy.hpp" 3 4
34315 #define BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED 
34316
34317 # 1 "/usr/include/boost/type_traits/has_trivial_copy.hpp" 1 3 4
34318 # 10 "/usr/include/boost/type_traits/has_trivial_copy.hpp" 3 4
34319 #define BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED 
34320 # 21 "/usr/include/boost/type_traits/has_trivial_copy.hpp" 3 4
34321 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
34322 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34323 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
34324 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
34325 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
34326 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
34327 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34328 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
34329
34330
34331
34332 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
34333
34334
34335
34336 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
34337 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34338 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
34339 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34340 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
34341 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34342 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34343 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34344 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34345
34346
34347
34348
34349
34350
34351 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34352
34353
34354
34355
34356
34357
34358 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34359
34360
34361
34362
34363
34364
34365
34366 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34367
34368
34369
34370
34371
34372
34373
34374 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34375 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34376 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34377
34378
34379
34380
34381
34382
34383
34384 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34385
34386
34387
34388
34389
34390
34391
34392 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
34393 # 22 "/usr/include/boost/type_traits/has_trivial_copy.hpp" 2 3 4
34394
34395 namespace boost {
34396
34397 namespace detail {
34398
34399 template <typename T>
34400 struct has_trivial_copy_impl
34401 {
34402    static const bool value = (::boost::type_traits::ice_and< ::boost::type_traits::ice_or< ::boost::is_pod<T>::value, false >::value, ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value >::value);
34403
34404
34405
34406
34407
34408
34409
34410 };
34411
34412 }
34413
34414 template< typename T > struct has_trivial_copy : ::boost::integral_constant<bool,::boost::detail::has_trivial_copy_impl<T>::value> { };
34415
34416 }
34417
34418 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
34419 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
34420 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
34421 #undef BOOST_TT_AUX_BOOL_C_BASE
34422 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
34423 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
34424 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
34425 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
34426 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
34427 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
34428 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
34429 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
34430 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
34431 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
34432 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
34433 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
34434 # 47 "/usr/include/boost/type_traits/has_trivial_copy.hpp" 2 3 4
34435 # 13 "/usr/include/boost/type_traits/has_nothrow_copy.hpp" 2 3 4
34436
34437
34438 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
34439 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34440 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
34441 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
34442 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
34443 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
34444 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34445 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
34446
34447
34448
34449 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
34450
34451
34452
34453 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
34454 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34455 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
34456 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34457 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
34458 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34459 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34460 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34461 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34462
34463
34464
34465
34466
34467
34468 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34469
34470
34471
34472
34473
34474
34475 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34476
34477
34478
34479
34480
34481
34482
34483 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34484
34485
34486
34487
34488
34489
34490
34491 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34492 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34493 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34494
34495
34496
34497
34498
34499
34500
34501 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34502
34503
34504
34505
34506
34507
34508
34509 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
34510 # 16 "/usr/include/boost/type_traits/has_nothrow_copy.hpp" 2 3 4
34511
34512 namespace boost {
34513
34514 namespace detail{
34515
34516 template <class T>
34517 struct has_nothrow_copy_imp{
34518    static const bool value = (::boost::type_traits::ice_or< ::boost::has_trivial_copy<T>::value, false >::value);
34519
34520
34521
34522
34523 };
34524
34525 }
34526
34527 template< typename T > struct has_nothrow_copy : ::boost::integral_constant<bool,::boost::detail::has_nothrow_copy_imp<T>::value> { };
34528
34529 }
34530
34531 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
34532 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
34533 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
34534 #undef BOOST_TT_AUX_BOOL_C_BASE
34535 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
34536 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
34537 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
34538 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
34539 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
34540 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
34541 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
34542 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
34543 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
34544 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
34545 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
34546 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
34547 # 37 "/usr/include/boost/type_traits/has_nothrow_copy.hpp" 2 3 4
34548 # 22 "/usr/include/boost/type_traits.hpp" 2 3 4
34549 # 1 "/usr/include/boost/type_traits/has_nothrow_destructor.hpp" 1 3 4
34550 # 10 "/usr/include/boost/type_traits/has_nothrow_destructor.hpp" 3 4
34551 #define BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED 
34552
34553 # 1 "/usr/include/boost/type_traits/has_trivial_destructor.hpp" 1 3 4
34554 # 10 "/usr/include/boost/type_traits/has_trivial_destructor.hpp" 3 4
34555 #define BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED 
34556
34557
34558
34559
34560
34561
34562
34563 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
34564 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34565 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
34566 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
34567 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
34568 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
34569 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34570 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
34571
34572
34573
34574 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
34575
34576
34577
34578 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
34579 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34580 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
34581 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34582 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
34583 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34584 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34585 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34586 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34587
34588
34589
34590
34591
34592
34593 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34594
34595
34596
34597
34598
34599
34600 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34601
34602
34603
34604
34605
34606
34607
34608 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34609
34610
34611
34612
34613
34614
34615
34616 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34617 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34618 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34619
34620
34621
34622
34623
34624
34625
34626 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34627
34628
34629
34630
34631
34632
34633
34634 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
34635 # 19 "/usr/include/boost/type_traits/has_trivial_destructor.hpp" 2 3 4
34636
34637 namespace boost {
34638
34639 namespace detail {
34640
34641 template <typename T>
34642 struct has_trivial_dtor_impl
34643 {
34644    static const bool value = (::boost::type_traits::ice_or< ::boost::is_pod<T>::value, false >::value);
34645
34646
34647
34648
34649 };
34650
34651 }
34652
34653 template< typename T > struct has_trivial_destructor : ::boost::integral_constant<bool,::boost::detail::has_trivial_dtor_impl<T>::value> { };
34654
34655 }
34656
34657 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
34658 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
34659 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
34660 #undef BOOST_TT_AUX_BOOL_C_BASE
34661 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
34662 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
34663 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
34664 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
34665 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
34666 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
34667 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
34668 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
34669 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
34670 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
34671 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
34672 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
34673 # 41 "/usr/include/boost/type_traits/has_trivial_destructor.hpp" 2 3 4
34674 # 13 "/usr/include/boost/type_traits/has_nothrow_destructor.hpp" 2 3 4
34675
34676
34677 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
34678 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34679 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
34680 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
34681 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
34682 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
34683 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34684 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
34685
34686
34687
34688 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
34689
34690
34691
34692 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
34693 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34694 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
34695 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34696 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
34697 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34698 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34699 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34700 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34701
34702
34703
34704
34705
34706
34707 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34708
34709
34710
34711
34712
34713
34714 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34715
34716
34717
34718
34719
34720
34721
34722 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34723
34724
34725
34726
34727
34728
34729
34730 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34731 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34732 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34733
34734
34735
34736
34737
34738
34739
34740 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34741
34742
34743
34744
34745
34746
34747
34748 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
34749 # 16 "/usr/include/boost/type_traits/has_nothrow_destructor.hpp" 2 3 4
34750
34751 namespace boost {
34752
34753 template< typename T > struct has_nothrow_destructor : ::boost::integral_constant<bool,::boost::has_trivial_destructor<T>::value> { };
34754
34755 }
34756
34757 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
34758 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
34759 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
34760 #undef BOOST_TT_AUX_BOOL_C_BASE
34761 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
34762 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
34763 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
34764 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
34765 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
34766 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
34767 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
34768 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
34769 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
34770 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
34771 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
34772 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
34773 # 24 "/usr/include/boost/type_traits/has_nothrow_destructor.hpp" 2 3 4
34774 # 23 "/usr/include/boost/type_traits.hpp" 2 3 4
34775 # 1 "/usr/include/boost/type_traits/has_trivial_assign.hpp" 1 3 4
34776 # 24 "/usr/include/boost/type_traits.hpp" 2 3 4
34777 # 1 "/usr/include/boost/type_traits/has_trivial_constructor.hpp" 1 3 4
34778 # 25 "/usr/include/boost/type_traits.hpp" 2 3 4
34779 # 1 "/usr/include/boost/type_traits/has_trivial_copy.hpp" 1 3 4
34780 # 26 "/usr/include/boost/type_traits.hpp" 2 3 4
34781 # 1 "/usr/include/boost/type_traits/has_trivial_destructor.hpp" 1 3 4
34782 # 27 "/usr/include/boost/type_traits.hpp" 2 3 4
34783 # 1 "/usr/include/boost/type_traits/has_virtual_destructor.hpp" 1 3 4
34784 # 11 "/usr/include/boost/type_traits/has_virtual_destructor.hpp" 3 4
34785 #define BOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED 
34786
34787 # 1 "/usr/include/boost/type_traits/intrinsics.hpp" 1 3 4
34788 # 14 "/usr/include/boost/type_traits/has_virtual_destructor.hpp" 2 3 4
34789
34790 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
34791 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34792 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
34793 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
34794 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
34795 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
34796 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34797 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
34798
34799
34800
34801 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
34802
34803
34804
34805 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
34806 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34807 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
34808 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34809 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
34810 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34811 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34812 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34813 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34814
34815
34816
34817
34818
34819
34820 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34821
34822
34823
34824
34825
34826
34827 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34828
34829
34830
34831
34832
34833
34834
34835 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34836
34837
34838
34839
34840
34841
34842
34843 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34844 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34845 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34846
34847
34848
34849
34850
34851
34852
34853 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34854
34855
34856
34857
34858
34859
34860
34861 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
34862 # 16 "/usr/include/boost/type_traits/has_virtual_destructor.hpp" 2 3 4
34863
34864 namespace boost {
34865
34866 template< typename T > struct has_virtual_destructor : ::boost::integral_constant<bool,false> { };
34867
34868 }
34869
34870 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
34871 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
34872 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
34873 #undef BOOST_TT_AUX_BOOL_C_BASE
34874 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
34875 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
34876 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
34877 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
34878 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
34879 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
34880 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
34881 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
34882 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
34883 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
34884 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
34885 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
34886 # 24 "/usr/include/boost/type_traits/has_virtual_destructor.hpp" 2 3 4
34887 # 28 "/usr/include/boost/type_traits.hpp" 2 3 4
34888 # 1 "/usr/include/boost/type_traits/is_signed.hpp" 1 3 4
34889 # 11 "/usr/include/boost/type_traits/is_signed.hpp" 3 4
34890 #define BOOST_TT_IS_SIGNED_HPP_INCLUDED 
34891
34892
34893
34894
34895
34896
34897 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
34898 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34899 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
34900 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
34901 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
34902 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
34903 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34904 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
34905
34906
34907
34908 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
34909
34910
34911
34912 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
34913 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34914 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
34915 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34916 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
34917 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34918 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34919 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34920 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34921
34922
34923
34924
34925
34926
34927 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34928
34929
34930
34931
34932
34933
34934 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34935
34936
34937
34938
34939
34940
34941
34942 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34943
34944
34945
34946
34947
34948
34949
34950 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
34951 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
34952 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
34953
34954
34955
34956
34957
34958
34959
34960 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
34961
34962
34963
34964
34965
34966
34967
34968 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
34969 # 19 "/usr/include/boost/type_traits/is_signed.hpp" 2 3 4
34970
34971 namespace boost {
34972
34973 namespace detail{
34974
34975
34976
34977 template <class T>
34978 struct is_signed_helper
34979 {
34980    static const bool value = (static_cast<T>(-1) < 0);
34981 };
34982
34983 template <bool integral_type>
34984 struct is_signed_select_helper
34985 {
34986    template <class T>
34987    struct rebind
34988    {
34989       typedef is_signed_helper<T> type;
34990    };
34991 };
34992
34993 template <>
34994 struct is_signed_select_helper<false>
34995 {
34996    template <class T>
34997    struct rebind
34998    {
34999       typedef false_type type;
35000    };
35001 };
35002
35003 template <class T>
35004 struct is_signed_imp
35005 {
35006    typedef is_signed_select_helper<
35007       ::boost::type_traits::ice_or<
35008          ::boost::is_integral<T>::value,
35009          ::boost::is_enum<T>::value>::value
35010    > selector;
35011    typedef typename selector::template rebind<T> binder;
35012    typedef typename binder::type type;
35013
35014
35015
35016    static const bool value = type::value;
35017
35018 };
35019 # 109 "/usr/include/boost/type_traits/is_signed.hpp" 3 4
35020 }
35021
35022 template< typename T > struct is_signed : ::boost::integral_constant<bool,::boost::detail::is_signed_imp<T>::value> { };
35023
35024 }
35025
35026 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
35027 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
35028 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
35029 #undef BOOST_TT_AUX_BOOL_C_BASE
35030 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
35031 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
35032 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
35033 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
35034 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
35035 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
35036 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
35037 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
35038 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
35039 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
35040 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
35041 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
35042 # 116 "/usr/include/boost/type_traits/is_signed.hpp" 2 3 4
35043 # 29 "/usr/include/boost/type_traits.hpp" 2 3 4
35044 # 1 "/usr/include/boost/type_traits/is_unsigned.hpp" 1 3 4
35045 # 11 "/usr/include/boost/type_traits/is_unsigned.hpp" 3 4
35046 #define BOOST_TT_IS_UNSIGNED_HPP_INCLUDED 
35047
35048
35049
35050
35051
35052
35053 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
35054 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35055 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
35056 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
35057 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
35058 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
35059 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35060 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
35061
35062
35063
35064 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
35065
35066
35067
35068 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
35069 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35070 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
35071 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35072 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
35073 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35074 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35075 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35076 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35077
35078
35079
35080
35081
35082
35083 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35084
35085
35086
35087
35088
35089
35090 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35091
35092
35093
35094
35095
35096
35097
35098 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35099
35100
35101
35102
35103
35104
35105
35106 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35107 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35108 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35109
35110
35111
35112
35113
35114
35115
35116 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35117
35118
35119
35120
35121
35122
35123
35124 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
35125 # 19 "/usr/include/boost/type_traits/is_unsigned.hpp" 2 3 4
35126
35127 namespace boost {
35128
35129 namespace detail{
35130
35131
35132
35133 template <class T>
35134 struct is_ununsigned_helper
35135 {
35136    static const bool value = (static_cast<T>(-1) > 0);
35137 };
35138
35139 template <bool integral_type>
35140 struct is_ununsigned_select_helper
35141 {
35142    template <class T>
35143    struct rebind
35144    {
35145       typedef is_ununsigned_helper<T> type;
35146    };
35147 };
35148
35149 template <>
35150 struct is_ununsigned_select_helper<false>
35151 {
35152    template <class T>
35153    struct rebind
35154    {
35155       typedef false_type type;
35156    };
35157 };
35158
35159 template <class T>
35160 struct is_unsigned_imp
35161 {
35162    typedef is_ununsigned_select_helper<
35163       ::boost::type_traits::ice_or<
35164          ::boost::is_integral<T>::value,
35165          ::boost::is_enum<T>::value>::value
35166    > selector;
35167    typedef typename selector::template rebind<T> binder;
35168    typedef typename binder::type type;
35169    static const bool value = type::value;
35170 };
35171 # 106 "/usr/include/boost/type_traits/is_unsigned.hpp" 3 4
35172 }
35173
35174 template< typename T > struct is_unsigned : ::boost::integral_constant<bool,::boost::detail::is_unsigned_imp<T>::value> { };
35175
35176 }
35177
35178 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
35179 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
35180 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
35181 #undef BOOST_TT_AUX_BOOL_C_BASE
35182 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
35183 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
35184 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
35185 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
35186 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
35187 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
35188 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
35189 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
35190 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
35191 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
35192 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
35193 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
35194 # 113 "/usr/include/boost/type_traits/is_unsigned.hpp" 2 3 4
35195 # 30 "/usr/include/boost/type_traits.hpp" 2 3 4
35196 # 1 "/usr/include/boost/type_traits/is_abstract.hpp" 1 3 4
35197 # 31 "/usr/include/boost/type_traits.hpp" 2 3 4
35198 # 1 "/usr/include/boost/type_traits/is_arithmetic.hpp" 1 3 4
35199 # 32 "/usr/include/boost/type_traits.hpp" 2 3 4
35200 # 1 "/usr/include/boost/type_traits/is_array.hpp" 1 3 4
35201 # 33 "/usr/include/boost/type_traits.hpp" 2 3 4
35202 # 1 "/usr/include/boost/type_traits/is_base_and_derived.hpp" 1 3 4
35203 # 10 "/usr/include/boost/type_traits/is_base_and_derived.hpp" 3 4
35204 #define BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED 
35205
35206
35207 # 1 "/usr/include/boost/type_traits/is_same.hpp" 1 3 4
35208 # 22 "/usr/include/boost/type_traits/is_same.hpp" 3 4
35209 #define BOOST_TT_IS_SAME_HPP_INCLUDED 
35210 # 31 "/usr/include/boost/type_traits/is_same.hpp" 3 4
35211 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
35212 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35213 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
35214 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
35215 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
35216 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
35217 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35218 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
35219
35220
35221
35222 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
35223
35224
35225
35226 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
35227 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35228 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
35229 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35230 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
35231 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35232 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35233 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35234 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35235
35236
35237
35238
35239
35240
35241 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35242
35243
35244
35245
35246
35247
35248 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35249
35250
35251
35252
35253
35254
35255
35256 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35257
35258
35259
35260
35261
35262
35263
35264 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35265 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35266 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35267
35268
35269
35270
35271
35272
35273
35274 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35275
35276
35277
35278
35279
35280
35281
35282 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
35283 # 32 "/usr/include/boost/type_traits/is_same.hpp" 2 3 4
35284
35285 namespace boost {
35286
35287
35288
35289 template< typename T, typename U > struct is_same : ::boost::integral_constant<bool,false> { };
35290 template< typename T > struct is_same< T,T > : ::boost::integral_constant<bool,true> { };
35291 # 98 "/usr/include/boost/type_traits/is_same.hpp" 3 4
35292 }
35293
35294 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
35295 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
35296 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
35297 #undef BOOST_TT_AUX_BOOL_C_BASE
35298 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
35299 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
35300 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
35301 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
35302 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
35303 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
35304 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
35305 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
35306 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
35307 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
35308 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
35309 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
35310 # 101 "/usr/include/boost/type_traits/is_same.hpp" 2 3 4
35311 # 14 "/usr/include/boost/type_traits/is_base_and_derived.hpp" 2 3 4
35312
35313
35314
35315
35316
35317
35318 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
35319 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35320 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
35321 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
35322 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
35323 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
35324 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35325 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
35326
35327
35328
35329 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
35330
35331
35332
35333 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
35334 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35335 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
35336 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35337 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
35338 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35339 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35340 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35341 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35342
35343
35344
35345
35346
35347
35348 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35349
35350
35351
35352
35353
35354
35355 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35356
35357
35358
35359
35360
35361
35362
35363 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35364
35365
35366
35367
35368
35369
35370
35371 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35372 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35373 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35374
35375
35376
35377
35378
35379
35380
35381 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35382
35383
35384
35385
35386
35387
35388
35389 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
35390 # 21 "/usr/include/boost/type_traits/is_base_and_derived.hpp" 2 3 4
35391
35392 namespace boost {
35393
35394 namespace detail {
35395 # 110 "/usr/include/boost/type_traits/is_base_and_derived.hpp" 3 4
35396 template <typename B, typename D>
35397 struct bd_helper
35398 {
35399
35400
35401
35402
35403
35404
35405     template <typename T>
35406     static type_traits::yes_type check_sig(D const volatile *, T);
35407     static type_traits::no_type check_sig(B const volatile *, int);
35408
35409
35410
35411
35412 };
35413
35414 template<typename B, typename D>
35415 struct is_base_and_derived_impl2
35416 {
35417     struct Host
35418     {
35419
35420         operator B const volatile *() const;
35421
35422
35423
35424         operator D const volatile *();
35425     };
35426
35427     static const bool value = sizeof(bd_helper<B,D>::check_sig(Host(), 0)) == sizeof(type_traits::yes_type);
35428
35429 };
35430 # 161 "/usr/include/boost/type_traits/is_base_and_derived.hpp" 3 4
35431 template <typename B, typename D>
35432 struct is_base_and_derived_impl3
35433 {
35434     static const bool value = false;
35435 };
35436
35437 template <bool ic1, bool ic2, bool iss>
35438 struct is_base_and_derived_select
35439 {
35440    template <class T, class U>
35441    struct rebind
35442    {
35443       typedef is_base_and_derived_impl3<T,U> type;
35444    };
35445 };
35446
35447 template <>
35448 struct is_base_and_derived_select<true,true,false>
35449 {
35450    template <class T, class U>
35451    struct rebind
35452    {
35453       typedef is_base_and_derived_impl2<T,U> type;
35454    };
35455 };
35456
35457 template <typename B, typename D>
35458 struct is_base_and_derived_impl
35459 {
35460     typedef typename remove_cv<B>::type ncvB;
35461     typedef typename remove_cv<D>::type ncvD;
35462
35463     typedef is_base_and_derived_select<
35464        ::boost::is_class<B>::value,
35465        ::boost::is_class<D>::value,
35466        ::boost::is_same<B,D>::value> selector;
35467     typedef typename selector::template rebind<ncvB,ncvD> binder;
35468     typedef typename binder::type bound_type;
35469
35470     static const bool value = bound_type::value;
35471 };
35472
35473 }
35474
35475 template< typename Base, typename Derived > struct is_base_and_derived : ::boost::integral_constant<bool,(::boost::detail::is_base_and_derived_impl<Base,Derived>::value)> { };
35476
35477
35478
35479
35480
35481
35482
35483 template< typename Base, typename Derived > struct is_base_and_derived< Base&,Derived > : ::boost::integral_constant<bool,false> { };
35484 template< typename Base, typename Derived > struct is_base_and_derived< Base,Derived& > : ::boost::integral_constant<bool,false> { };
35485 template< typename Base, typename Derived > struct is_base_and_derived< Base&,Derived& > : ::boost::integral_constant<bool,false> { };
35486
35487
35488 }
35489
35490 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
35491 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
35492 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
35493 #undef BOOST_TT_AUX_BOOL_C_BASE
35494 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
35495 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
35496 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
35497 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
35498 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
35499 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
35500 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
35501 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
35502 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
35503 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
35504 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
35505 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
35506 # 221 "/usr/include/boost/type_traits/is_base_and_derived.hpp" 2 3 4
35507 # 34 "/usr/include/boost/type_traits.hpp" 2 3 4
35508 # 1 "/usr/include/boost/type_traits/is_base_of.hpp" 1 3 4
35509 # 10 "/usr/include/boost/type_traits/is_base_of.hpp" 3 4
35510 #define BOOST_TT_IS_BASE_OF_HPP_INCLUDED 
35511
35512 # 1 "/usr/include/boost/type_traits/is_base_and_derived.hpp" 1 3 4
35513 # 13 "/usr/include/boost/type_traits/is_base_of.hpp" 2 3 4
35514
35515
35516 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
35517 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35518 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
35519 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
35520 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
35521 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
35522 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35523 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
35524
35525
35526
35527 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
35528
35529
35530
35531 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
35532 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35533 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
35534 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35535 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
35536 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35537 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35538 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35539 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35540
35541
35542
35543
35544
35545
35546 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35547
35548
35549
35550
35551
35552
35553 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35554
35555
35556
35557
35558
35559
35560
35561 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35562
35563
35564
35565
35566
35567
35568
35569 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35570 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35571 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35572
35573
35574
35575
35576
35577
35578
35579 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35580
35581
35582
35583
35584
35585
35586
35587 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
35588 # 16 "/usr/include/boost/type_traits/is_base_of.hpp" 2 3 4
35589
35590 namespace boost {
35591
35592 template< typename Base, typename Derived > struct is_base_of : ::boost::integral_constant<bool,(::boost::detail::is_base_and_derived_impl<Base,Derived>::value)> { };
35593
35594
35595
35596
35597
35598
35599
35600 template< typename Base, typename Derived > struct is_base_of< Base&,Derived > : ::boost::integral_constant<bool,false> { };
35601 template< typename Base, typename Derived > struct is_base_of< Base,Derived& > : ::boost::integral_constant<bool,false> { };
35602 template< typename Base, typename Derived > struct is_base_of< Base&,Derived& > : ::boost::integral_constant<bool,false> { };
35603
35604
35605 }
35606
35607 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
35608 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
35609 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
35610 #undef BOOST_TT_AUX_BOOL_C_BASE
35611 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
35612 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
35613 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
35614 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
35615 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
35616 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
35617 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
35618 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
35619 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
35620 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
35621 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
35622 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
35623 # 35 "/usr/include/boost/type_traits/is_base_of.hpp" 2 3 4
35624 # 35 "/usr/include/boost/type_traits.hpp" 2 3 4
35625
35626 # 1 "/usr/include/boost/type_traits/is_compound.hpp" 1 3 4
35627 # 10 "/usr/include/boost/type_traits/is_compound.hpp" 3 4
35628 #define BOOST_TT_IS_COMPOUND_HPP_INCLUDED 
35629
35630
35631 # 1 "/usr/include/boost/type_traits/is_fundamental.hpp" 1 3 4
35632 # 10 "/usr/include/boost/type_traits/is_fundamental.hpp" 3 4
35633 #define BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED 
35634
35635
35636
35637
35638
35639
35640 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
35641 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35642 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
35643 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
35644 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
35645 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
35646 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35647 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
35648
35649
35650
35651 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
35652
35653
35654
35655 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
35656 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35657 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
35658 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35659 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
35660 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35661 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35662 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35663 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35664
35665
35666
35667
35668
35669
35670 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35671
35672
35673
35674
35675
35676
35677 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35678
35679
35680
35681
35682
35683
35684
35685 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35686
35687
35688
35689
35690
35691
35692
35693 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35694 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35695 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35696
35697
35698
35699
35700
35701
35702
35703 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35704
35705
35706
35707
35708
35709
35710
35711 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
35712 # 18 "/usr/include/boost/type_traits/is_fundamental.hpp" 2 3 4
35713
35714 namespace boost {
35715
35716 namespace detail {
35717
35718 template <typename T>
35719 struct is_fundamental_impl
35720     : ::boost::type_traits::ice_or<
35721           ::boost::is_arithmetic<T>::value
35722         , ::boost::is_void<T>::value
35723         >
35724 {
35725 };
35726
35727 }
35728
35729
35730 template< typename T > struct is_fundamental : ::boost::integral_constant<bool,::boost::detail::is_fundamental_impl<T>::value> { };
35731
35732 }
35733
35734 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
35735 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
35736 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
35737 #undef BOOST_TT_AUX_BOOL_C_BASE
35738 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
35739 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
35740 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
35741 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
35742 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
35743 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
35744 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
35745 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
35746 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
35747 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
35748 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
35749 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
35750 # 40 "/usr/include/boost/type_traits/is_fundamental.hpp" 2 3 4
35751 # 14 "/usr/include/boost/type_traits/is_compound.hpp" 2 3 4
35752
35753
35754
35755 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
35756 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35757 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
35758 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
35759 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
35760 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
35761 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35762 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
35763
35764
35765
35766 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
35767
35768
35769
35770 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
35771 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35772 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
35773 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35774 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
35775 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35776 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35777 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35778 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35779
35780
35781
35782
35783
35784
35785 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35786
35787
35788
35789
35790
35791
35792 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35793
35794
35795
35796
35797
35798
35799
35800 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35801
35802
35803
35804
35805
35806
35807
35808 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35809 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35810 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35811
35812
35813
35814
35815
35816
35817
35818 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35819
35820
35821
35822
35823
35824
35825
35826 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
35827 # 18 "/usr/include/boost/type_traits/is_compound.hpp" 2 3 4
35828
35829 namespace boost {
35830
35831 namespace detail {
35832
35833 template <typename T>
35834 struct is_compound_impl
35835 {
35836    static const bool value = (::boost::type_traits::ice_not< ::boost::is_fundamental<T>::value >::value);
35837
35838
35839
35840 };
35841
35842 }
35843
35844 template< typename T > struct is_compound : ::boost::integral_constant<bool,::boost::detail::is_compound_impl<T>::value> { };
35845
35846 }
35847
35848 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
35849 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
35850 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
35851 #undef BOOST_TT_AUX_BOOL_C_BASE
35852 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
35853 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
35854 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
35855 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
35856 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
35857 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
35858 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
35859 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
35860 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
35861 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
35862 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
35863 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
35864 # 39 "/usr/include/boost/type_traits/is_compound.hpp" 2 3 4
35865 # 37 "/usr/include/boost/type_traits.hpp" 2 3 4
35866 # 1 "/usr/include/boost/type_traits/is_const.hpp" 1 3 4
35867 # 38 "/usr/include/boost/type_traits.hpp" 2 3 4
35868 # 1 "/usr/include/boost/type_traits/is_convertible.hpp" 1 3 4
35869 # 39 "/usr/include/boost/type_traits.hpp" 2 3 4
35870 # 1 "/usr/include/boost/type_traits/is_empty.hpp" 1 3 4
35871 # 10 "/usr/include/boost/type_traits/is_empty.hpp" 3 4
35872 #define BOOST_TT_IS_EMPTY_HPP_INCLUDED 
35873 # 32 "/usr/include/boost/type_traits/is_empty.hpp" 3 4
35874 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
35875 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35876 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
35877 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
35878 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
35879 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
35880 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35881 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
35882
35883
35884
35885 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
35886
35887
35888
35889 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
35890 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35891 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
35892 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35893 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
35894 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35895 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35896 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35897 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35898
35899
35900
35901
35902
35903
35904 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35905
35906
35907
35908
35909
35910
35911 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35912
35913
35914
35915
35916
35917
35918
35919 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35920
35921
35922
35923
35924
35925
35926
35927 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
35928 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
35929 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
35930
35931
35932
35933
35934
35935
35936
35937 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
35938
35939
35940
35941
35942
35943
35944
35945 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
35946 # 33 "/usr/include/boost/type_traits/is_empty.hpp" 2 3 4
35947
35948 namespace boost {
35949
35950 namespace detail {
35951
35952
35953 template <typename T>
35954 struct empty_helper_t1 : public T
35955 {
35956     empty_helper_t1();
35957     int i[256];
35958 };
35959
35960 struct empty_helper_t2 { int i[256]; };
35961
35962
35963
35964 template <typename T, bool is_a_class = false>
35965 struct empty_helper
35966 {
35967     static const bool value = false;
35968 };
35969
35970 template <typename T>
35971 struct empty_helper<T, true>
35972 {
35973     static const bool value = (sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2));
35974
35975
35976 };
35977
35978 template <typename T>
35979 struct is_empty_impl
35980 {
35981     typedef typename remove_cv<T>::type cvt;
35982     static const bool value = ( ::boost::type_traits::ice_or< ::boost::detail::empty_helper<cvt,::boost::is_class<T>::value>::value , false >::value );
35983
35984
35985
35986
35987
35988
35989 };
35990 # 191 "/usr/include/boost/type_traits/is_empty.hpp" 3 4
35991 template<> struct is_empty_impl< void > { static const bool value = (false); };
35992
35993 template<> struct is_empty_impl< void const > { static const bool value = (false); };
35994 template<> struct is_empty_impl< void volatile > { static const bool value = (false); };
35995 template<> struct is_empty_impl< void const volatile > { static const bool value = (false); };
35996
35997
35998 }
35999
36000 template< typename T > struct is_empty : ::boost::integral_constant<bool,::boost::detail::is_empty_impl<T>::value> { };
36001
36002 }
36003
36004 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
36005 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
36006 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
36007 #undef BOOST_TT_AUX_BOOL_C_BASE
36008 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
36009 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
36010 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
36011 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
36012 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
36013 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
36014 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
36015 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
36016 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
36017 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
36018 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
36019 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
36020 # 205 "/usr/include/boost/type_traits/is_empty.hpp" 2 3 4
36021 # 40 "/usr/include/boost/type_traits.hpp" 2 3 4
36022 # 1 "/usr/include/boost/type_traits/is_enum.hpp" 1 3 4
36023 # 41 "/usr/include/boost/type_traits.hpp" 2 3 4
36024 # 1 "/usr/include/boost/type_traits/is_float.hpp" 1 3 4
36025 # 42 "/usr/include/boost/type_traits.hpp" 2 3 4
36026 # 1 "/usr/include/boost/type_traits/is_floating_point.hpp" 1 3 4
36027 # 10 "/usr/include/boost/type_traits/is_floating_point.hpp" 3 4
36028 #define BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED 
36029
36030
36031 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
36032 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36033 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
36034 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
36035 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
36036 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
36037 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36038 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
36039
36040
36041
36042 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
36043
36044
36045
36046 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
36047 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36048 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
36049 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36050 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
36051 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36052 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
36053 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36054 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36055
36056
36057
36058
36059
36060
36061 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36062
36063
36064
36065
36066
36067
36068 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36069
36070
36071
36072
36073
36074
36075
36076 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36077
36078
36079
36080
36081
36082
36083
36084 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
36085 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36086 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36087
36088
36089
36090
36091
36092
36093
36094 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36095
36096
36097
36098
36099
36100
36101
36102 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
36103 # 14 "/usr/include/boost/type_traits/is_floating_point.hpp" 2 3 4
36104
36105 namespace boost {
36106
36107
36108 template< typename T > struct is_floating_point : ::boost::integral_constant<bool,false> { };
36109 template<> struct is_floating_point< float > : ::boost::integral_constant<bool,true> { }; template<> struct is_floating_point< float const > : ::boost::integral_constant<bool,true> { }; template<> struct is_floating_point< float volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_floating_point< float const volatile > : ::boost::integral_constant<bool,true> { };
36110 template<> struct is_floating_point< double > : ::boost::integral_constant<bool,true> { }; template<> struct is_floating_point< double const > : ::boost::integral_constant<bool,true> { }; template<> struct is_floating_point< double volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_floating_point< double const volatile > : ::boost::integral_constant<bool,true> { };
36111 template<> struct is_floating_point< long double > : ::boost::integral_constant<bool,true> { }; template<> struct is_floating_point< long double const > : ::boost::integral_constant<bool,true> { }; template<> struct is_floating_point< long double volatile > : ::boost::integral_constant<bool,true> { }; template<> struct is_floating_point< long double const volatile > : ::boost::integral_constant<bool,true> { };
36112
36113 }
36114
36115 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
36116 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
36117 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
36118 #undef BOOST_TT_AUX_BOOL_C_BASE
36119 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
36120 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
36121 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
36122 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
36123 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
36124 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
36125 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
36126 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
36127 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
36128 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
36129 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
36130 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
36131 # 26 "/usr/include/boost/type_traits/is_floating_point.hpp" 2 3 4
36132 # 43 "/usr/include/boost/type_traits.hpp" 2 3 4
36133
36134 # 1 "/usr/include/boost/type_traits/is_fundamental.hpp" 1 3 4
36135 # 45 "/usr/include/boost/type_traits.hpp" 2 3 4
36136 # 1 "/usr/include/boost/type_traits/is_integral.hpp" 1 3 4
36137 # 46 "/usr/include/boost/type_traits.hpp" 2 3 4
36138 # 1 "/usr/include/boost/type_traits/is_member_function_pointer.hpp" 1 3 4
36139 # 47 "/usr/include/boost/type_traits.hpp" 2 3 4
36140 # 1 "/usr/include/boost/type_traits/is_member_object_pointer.hpp" 1 3 4
36141 # 11 "/usr/include/boost/type_traits/is_member_object_pointer.hpp" 3 4
36142 #define BOOST_TT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED 
36143 # 20 "/usr/include/boost/type_traits/is_member_object_pointer.hpp" 3 4
36144 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
36145 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36146 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
36147 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
36148 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
36149 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
36150 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36151 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
36152
36153
36154
36155 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
36156
36157
36158
36159 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
36160 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36161 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
36162 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36163 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
36164 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36165 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
36166 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36167 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36168
36169
36170
36171
36172
36173
36174 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36175
36176
36177
36178
36179
36180
36181 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36182
36183
36184
36185
36186
36187
36188
36189 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36190
36191
36192
36193
36194
36195
36196
36197 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
36198 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36199 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36200
36201
36202
36203
36204
36205
36206
36207 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36208
36209
36210
36211
36212
36213
36214
36215 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
36216 # 21 "/usr/include/boost/type_traits/is_member_object_pointer.hpp" 2 3 4
36217
36218 namespace boost {
36219
36220 namespace detail{
36221
36222 template <typename T>
36223 struct is_member_object_pointer_impl
36224 {
36225    static const bool value = (::boost::type_traits::ice_and< ::boost::is_member_pointer<T>::value, ::boost::type_traits::ice_not< ::boost::is_member_function_pointer<T>::value >::value >::value );
36226
36227
36228
36229
36230
36231
36232 };
36233
36234 }
36235
36236 template< typename T > struct is_member_object_pointer : ::boost::integral_constant<bool,::boost::detail::is_member_object_pointer_impl<T>::value> { };
36237
36238 }
36239
36240 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
36241 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
36242 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
36243 #undef BOOST_TT_AUX_BOOL_C_BASE
36244 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
36245 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
36246 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
36247 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
36248 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
36249 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
36250 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
36251 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
36252 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
36253 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
36254 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
36255 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
36256 # 45 "/usr/include/boost/type_traits/is_member_object_pointer.hpp" 2 3 4
36257 # 48 "/usr/include/boost/type_traits.hpp" 2 3 4
36258 # 1 "/usr/include/boost/type_traits/is_member_pointer.hpp" 1 3 4
36259 # 49 "/usr/include/boost/type_traits.hpp" 2 3 4
36260 # 1 "/usr/include/boost/type_traits/is_object.hpp" 1 3 4
36261 # 10 "/usr/include/boost/type_traits/is_object.hpp" 3 4
36262 #define BOOST_TT_IS_OBJECT_HPP_INCLUDED 
36263 # 20 "/usr/include/boost/type_traits/is_object.hpp" 3 4
36264 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
36265 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36266 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
36267 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
36268 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
36269 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
36270 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36271 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
36272
36273
36274
36275 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
36276
36277
36278
36279 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
36280 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36281 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
36282 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36283 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
36284 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36285 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
36286 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36287 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36288
36289
36290
36291
36292
36293
36294 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36295
36296
36297
36298
36299
36300
36301 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36302
36303
36304
36305
36306
36307
36308
36309 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36310
36311
36312
36313
36314
36315
36316
36317 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
36318 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36319 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36320
36321
36322
36323
36324
36325
36326
36327 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36328
36329
36330
36331
36332
36333
36334
36335 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
36336 # 21 "/usr/include/boost/type_traits/is_object.hpp" 2 3 4
36337
36338 namespace boost {
36339
36340 namespace detail {
36341
36342 template <typename T>
36343 struct is_object_impl
36344 {
36345
36346    static const bool value = (::boost::type_traits::ice_and< ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value, ::boost::type_traits::ice_not< ::boost::is_void<T>::value>::value, ::boost::type_traits::ice_not< ::boost::is_function<T>::value>::value >::value);
36347 # 43 "/usr/include/boost/type_traits/is_object.hpp" 3 4
36348 };
36349
36350 }
36351
36352 template< typename T > struct is_object : ::boost::integral_constant<bool,::boost::detail::is_object_impl<T>::value> { };
36353
36354 }
36355
36356 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
36357 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
36358 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
36359 #undef BOOST_TT_AUX_BOOL_C_BASE
36360 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
36361 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
36362 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
36363 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
36364 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
36365 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
36366 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
36367 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
36368 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
36369 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
36370 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
36371 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
36372 # 52 "/usr/include/boost/type_traits/is_object.hpp" 2 3 4
36373 # 50 "/usr/include/boost/type_traits.hpp" 2 3 4
36374 # 1 "/usr/include/boost/type_traits/is_pod.hpp" 1 3 4
36375 # 51 "/usr/include/boost/type_traits.hpp" 2 3 4
36376 # 1 "/usr/include/boost/type_traits/is_polymorphic.hpp" 1 3 4
36377 # 9 "/usr/include/boost/type_traits/is_polymorphic.hpp" 3 4
36378 #define BOOST_TT_IS_POLYMORPHIC_HPP 
36379
36380
36381 # 1 "/usr/include/boost/type_traits/remove_cv.hpp" 1 3 4
36382 # 13 "/usr/include/boost/type_traits/is_polymorphic.hpp" 2 3 4
36383
36384 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
36385 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36386 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
36387 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
36388 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
36389 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
36390 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36391 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
36392
36393
36394
36395 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
36396
36397
36398
36399 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
36400 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36401 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
36402 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36403 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
36404 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36405 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
36406 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36407 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36408
36409
36410
36411
36412
36413
36414 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36415
36416
36417
36418
36419
36420
36421 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36422
36423
36424
36425
36426
36427
36428
36429 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36430
36431
36432
36433
36434
36435
36436
36437 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
36438 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36439 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36440
36441
36442
36443
36444
36445
36446
36447 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36448
36449
36450
36451
36452
36453
36454
36455 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
36456 # 15 "/usr/include/boost/type_traits/is_polymorphic.hpp" 2 3 4
36457
36458
36459 namespace boost{
36460 namespace detail{
36461
36462 template <class T>
36463 struct is_polymorphic_imp1
36464 {
36465
36466
36467
36468    typedef typename remove_cv<T>::type ncvT;
36469    struct d1 : public ncvT
36470    {
36471       d1();
36472
36473
36474
36475       char padding[256];
36476    };
36477    struct d2 : public ncvT
36478    {
36479       d2();
36480       virtual ~d2()throw();
36481
36482
36483
36484       struct unique{};
36485       virtual void unique_name_to_boost5487629(unique*);
36486
36487       char padding[256];
36488    };
36489
36490    static const bool value = (sizeof(d2) == sizeof(d1));
36491 };
36492
36493 template <class T>
36494 struct is_polymorphic_imp2
36495 {
36496    static const bool value = false;
36497 };
36498
36499 template <bool is_class>
36500 struct is_polymorphic_selector
36501 {
36502    template <class T>
36503    struct rebind
36504    {
36505       typedef is_polymorphic_imp2<T> type;
36506    };
36507 };
36508
36509 template <>
36510 struct is_polymorphic_selector<true>
36511 {
36512    template <class T>
36513    struct rebind
36514    {
36515       typedef is_polymorphic_imp1<T> type;
36516    };
36517 };
36518
36519 template <class T>
36520 struct is_polymorphic_imp
36521 {
36522    typedef is_polymorphic_selector< ::boost::is_class<T>::value> selector;
36523    typedef typename selector::template rebind<T> binder;
36524    typedef typename binder::type imp_type;
36525    static const bool value = imp_type::value;
36526 };
36527
36528 }
36529
36530 template< typename T > struct is_polymorphic : ::boost::integral_constant<bool,::boost::detail::is_polymorphic_imp<T>::value> { };
36531
36532 }
36533
36534 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
36535 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
36536 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
36537 #undef BOOST_TT_AUX_BOOL_C_BASE
36538 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
36539 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
36540 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
36541 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
36542 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
36543 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
36544 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
36545 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
36546 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
36547 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
36548 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
36549 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
36550 # 93 "/usr/include/boost/type_traits/is_polymorphic.hpp" 2 3 4
36551 # 52 "/usr/include/boost/type_traits.hpp" 2 3 4
36552 # 1 "/usr/include/boost/type_traits/is_pointer.hpp" 1 3 4
36553 # 53 "/usr/include/boost/type_traits.hpp" 2 3 4
36554
36555 # 1 "/usr/include/boost/type_traits/is_same.hpp" 1 3 4
36556 # 55 "/usr/include/boost/type_traits.hpp" 2 3 4
36557 # 1 "/usr/include/boost/type_traits/is_scalar.hpp" 1 3 4
36558 # 56 "/usr/include/boost/type_traits.hpp" 2 3 4
36559 # 1 "/usr/include/boost/type_traits/is_stateless.hpp" 1 3 4
36560 # 10 "/usr/include/boost/type_traits/is_stateless.hpp" 3 4
36561 #define BOOST_TT_IS_STATELESS_HPP_INCLUDED 
36562
36563
36564
36565
36566
36567 # 1 "/usr/include/boost/type_traits/is_empty.hpp" 1 3 4
36568 # 17 "/usr/include/boost/type_traits/is_stateless.hpp" 2 3 4
36569
36570
36571
36572
36573 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
36574 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36575 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
36576 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
36577 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
36578 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
36579 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36580 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
36581
36582
36583
36584 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
36585
36586
36587
36588 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
36589 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36590 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
36591 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36592 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
36593 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36594 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
36595 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36596 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36597
36598
36599
36600
36601
36602
36603 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36604
36605
36606
36607
36608
36609
36610 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36611
36612
36613
36614
36615
36616
36617
36618 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36619
36620
36621
36622
36623
36624
36625
36626 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
36627 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
36628 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
36629
36630
36631
36632
36633
36634
36635
36636 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
36637
36638
36639
36640
36641
36642
36643
36644 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
36645 # 22 "/usr/include/boost/type_traits/is_stateless.hpp" 2 3 4
36646
36647 namespace boost {
36648
36649 namespace detail {
36650
36651 template <typename T>
36652 struct is_stateless_impl
36653 {
36654   static const bool value = (::boost::type_traits::ice_and< ::boost::has_trivial_constructor<T>::value, ::boost::has_trivial_copy<T>::value, ::boost::has_trivial_destructor<T>::value, ::boost::is_class<T>::value, ::boost::is_empty<T>::value >::value);
36655
36656
36657
36658
36659
36660
36661
36662 };
36663
36664 }
36665
36666 template< typename T > struct is_stateless : ::boost::integral_constant<bool,::boost::detail::is_stateless_impl<T>::value> { };
36667
36668 }
36669
36670 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
36671 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
36672 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
36673 #undef BOOST_TT_AUX_BOOL_C_BASE
36674 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
36675 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
36676 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
36677 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
36678 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
36679 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
36680 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
36681 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
36682 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
36683 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
36684 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
36685 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
36686 # 47 "/usr/include/boost/type_traits/is_stateless.hpp" 2 3 4
36687 # 57 "/usr/include/boost/type_traits.hpp" 2 3 4
36688
36689 # 1 "/usr/include/boost/type_traits/is_void.hpp" 1 3 4
36690 # 59 "/usr/include/boost/type_traits.hpp" 2 3 4
36691 # 1 "/usr/include/boost/type_traits/is_volatile.hpp" 1 3 4
36692 # 60 "/usr/include/boost/type_traits.hpp" 2 3 4
36693 # 1 "/usr/include/boost/type_traits/rank.hpp" 1 3 4
36694 # 11 "/usr/include/boost/type_traits/rank.hpp" 3 4
36695 #define BOOST_TT_RANK_HPP_INCLUDED 
36696
36697
36698 # 1 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 1 3 4
36699 # 14 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
36700 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
36701 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
36702 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
36703 # 15 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 2 3 4
36704
36705
36706
36707
36708
36709
36710
36711 #define BOOST_TT_AUX_SIZE_T_BASE(C) ::boost::integral_constant<std::size_t,C>
36712 #define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) 
36713 # 33 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
36714 #define BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(trait,T,C) template< typename T > struct trait : BOOST_TT_AUX_SIZE_T_BASE(C) { BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
36715 # 44 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
36716 #define BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(trait,spec,C) template<> struct trait<spec> : BOOST_TT_AUX_SIZE_T_BASE(C) { BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
36717 # 53 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
36718 #define BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,C) template< param > struct trait<spec> : BOOST_TT_AUX_SIZE_T_BASE(C) { };
36719 # 15 "/usr/include/boost/type_traits/rank.hpp" 2 3 4
36720
36721 namespace boost {
36722
36723 namespace detail{
36724
36725 template <class T, std::size_t N>
36726 struct rank_imp
36727 {
36728    static const std::size_t value = N;
36729 };
36730
36731 template <class T, std::size_t R, std::size_t N>
36732 struct rank_imp<T[R], N>
36733 {
36734    static const std::size_t value = (::boost::detail::rank_imp<T, N+1>::value);
36735 };
36736
36737 template <class T, std::size_t R, std::size_t N>
36738 struct rank_imp<T const[R], N>
36739 {
36740    static const std::size_t value = (::boost::detail::rank_imp<T, N+1>::value);
36741 };
36742
36743 template <class T, std::size_t R, std::size_t N>
36744 struct rank_imp<T volatile[R], N>
36745 {
36746    static const std::size_t value = (::boost::detail::rank_imp<T, N+1>::value);
36747 };
36748
36749 template <class T, std::size_t R, std::size_t N>
36750 struct rank_imp<T const volatile[R], N>
36751 {
36752    static const std::size_t value = (::boost::detail::rank_imp<T, N+1>::value);
36753 };
36754
36755
36756 template <class T, std::size_t N>
36757 struct rank_imp<T[], N>
36758 {
36759    static const std::size_t value = (::boost::detail::rank_imp<T, N+1>::value);
36760 };
36761 template <class T, std::size_t N>
36762 struct rank_imp<T const[], N>
36763 {
36764    static const std::size_t value = (::boost::detail::rank_imp<T, N+1>::value);
36765 };
36766 template <class T, std::size_t N>
36767 struct rank_imp<T volatile[], N>
36768 {
36769    static const std::size_t value = (::boost::detail::rank_imp<T, N+1>::value);
36770 };
36771 template <class T, std::size_t N>
36772 struct rank_imp<T const volatile[], N>
36773 {
36774    static const std::size_t value = (::boost::detail::rank_imp<T, N+1>::value);
36775 };
36776
36777
36778 }
36779
36780 template< typename T > struct rank : ::boost::integral_constant<std::size_t,(::boost::detail::rank_imp<T,0>::value)> { };
36781
36782 }
36783
36784 # 1 "/usr/include/boost/type_traits/detail/size_t_trait_undef.hpp" 1 3 4
36785 # 14 "/usr/include/boost/type_traits/detail/size_t_trait_undef.hpp" 3 4
36786 #undef BOOST_TT_AUX_SIZE_T_TRAIT_DEF1
36787 #undef BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1
36788 #undef BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1
36789 # 80 "/usr/include/boost/type_traits/rank.hpp" 2 3 4
36790 # 61 "/usr/include/boost/type_traits.hpp" 2 3 4
36791 # 1 "/usr/include/boost/type_traits/extent.hpp" 1 3 4
36792 # 11 "/usr/include/boost/type_traits/extent.hpp" 3 4
36793 #define BOOST_TT_EXTENT_HPP_INCLUDED 
36794
36795
36796 # 1 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 1 3 4
36797 # 14 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
36798 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
36799 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
36800 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
36801 # 15 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 2 3 4
36802
36803
36804
36805
36806
36807
36808
36809 #define BOOST_TT_AUX_SIZE_T_BASE(C) ::boost::integral_constant<std::size_t,C>
36810 #define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) 
36811 # 33 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
36812 #define BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(trait,T,C) template< typename T > struct trait : BOOST_TT_AUX_SIZE_T_BASE(C) { BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
36813 # 44 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
36814 #define BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(trait,spec,C) template<> struct trait<spec> : BOOST_TT_AUX_SIZE_T_BASE(C) { BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
36815 # 53 "/usr/include/boost/type_traits/detail/size_t_trait_def.hpp" 3 4
36816 #define BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,C) template< param > struct trait<spec> : BOOST_TT_AUX_SIZE_T_BASE(C) { };
36817 # 15 "/usr/include/boost/type_traits/extent.hpp" 2 3 4
36818
36819 namespace boost {
36820
36821 namespace detail{
36822
36823 template <class T, std::size_t N>
36824 struct extent_imp
36825 {
36826    static const std::size_t value = 0;
36827 };
36828
36829 template <class T, std::size_t R, std::size_t N>
36830 struct extent_imp<T[R], N>
36831 {
36832    static const std::size_t value = (::boost::detail::extent_imp<T, N-1>::value);
36833 };
36834
36835 template <class T, std::size_t R, std::size_t N>
36836 struct extent_imp<T const[R], N>
36837 {
36838    static const std::size_t value = (::boost::detail::extent_imp<T, N-1>::value);
36839 };
36840
36841 template <class T, std::size_t R, std::size_t N>
36842 struct extent_imp<T volatile[R], N>
36843 {
36844    static const std::size_t value = (::boost::detail::extent_imp<T, N-1>::value);
36845 };
36846
36847 template <class T, std::size_t R, std::size_t N>
36848 struct extent_imp<T const volatile[R], N>
36849 {
36850    static const std::size_t value = (::boost::detail::extent_imp<T, N-1>::value);
36851 };
36852
36853 template <class T, std::size_t R>
36854 struct extent_imp<T[R],0>
36855 {
36856    static const std::size_t value = R;
36857 };
36858
36859 template <class T, std::size_t R>
36860 struct extent_imp<T const[R], 0>
36861 {
36862    static const std::size_t value = R;
36863 };
36864
36865 template <class T, std::size_t R>
36866 struct extent_imp<T volatile[R], 0>
36867 {
36868    static const std::size_t value = R;
36869 };
36870
36871 template <class T, std::size_t R>
36872 struct extent_imp<T const volatile[R], 0>
36873 {
36874    static const std::size_t value = R;
36875 };
36876
36877
36878 template <class T, std::size_t N>
36879 struct extent_imp<T[], N>
36880 {
36881    static const std::size_t value = (::boost::detail::extent_imp<T, N-1>::value);
36882 };
36883 template <class T, std::size_t N>
36884 struct extent_imp<T const[], N>
36885 {
36886    static const std::size_t value = (::boost::detail::extent_imp<T, N-1>::value);
36887 };
36888 template <class T, std::size_t N>
36889 struct extent_imp<T volatile[], N>
36890 {
36891    static const std::size_t value = (::boost::detail::extent_imp<T, N-1>::value);
36892 };
36893 template <class T, std::size_t N>
36894 struct extent_imp<T const volatile[], N>
36895 {
36896    static const std::size_t value = (::boost::detail::extent_imp<T, N-1>::value);
36897 };
36898 template <class T>
36899 struct extent_imp<T[], 0>
36900 {
36901    static const std::size_t value = 0;
36902 };
36903 template <class T>
36904 struct extent_imp<T const[], 0>
36905 {
36906    static const std::size_t value = 0;
36907 };
36908 template <class T>
36909 struct extent_imp<T volatile[], 0>
36910 {
36911    static const std::size_t value = 0;
36912 };
36913 template <class T>
36914 struct extent_imp<T const volatile[], 0>
36915 {
36916    static const std::size_t value = 0;
36917 };
36918
36919
36920 }
36921
36922 template <class T, std::size_t N = 0>
36923 struct extent
36924    : public ::boost::integral_constant<std::size_t, ::boost::detail::extent_imp<T,N>::value>
36925 {
36926
36927
36928
36929
36930    
36931 };
36932
36933 }
36934
36935 # 1 "/usr/include/boost/type_traits/detail/size_t_trait_undef.hpp" 1 3 4
36936 # 14 "/usr/include/boost/type_traits/detail/size_t_trait_undef.hpp" 3 4
36937 #undef BOOST_TT_AUX_SIZE_T_TRAIT_DEF1
36938 #undef BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1
36939 #undef BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1
36940 # 133 "/usr/include/boost/type_traits/extent.hpp" 2 3 4
36941 # 62 "/usr/include/boost/type_traits.hpp" 2 3 4
36942 # 1 "/usr/include/boost/type_traits/remove_bounds.hpp" 1 3 4
36943 # 10 "/usr/include/boost/type_traits/remove_bounds.hpp" 3 4
36944 #define BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED 
36945
36946
36947
36948
36949
36950 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
36951 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
36952 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
36953 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
36954 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
36955 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
36956
36957
36958 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
36959 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
36960 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
36961
36962
36963
36964
36965
36966
36967
36968 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
36969
36970
36971
36972
36973
36974
36975 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
36976
36977
36978
36979
36980
36981
36982 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
36983
36984
36985
36986
36987
36988
36989 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
36990 # 17 "/usr/include/boost/type_traits/remove_bounds.hpp" 2 3 4
36991
36992 namespace boost {
36993
36994 template< typename T > struct remove_bounds { typedef T type; };
36995
36996
36997 template< typename T, std::size_t N > struct remove_bounds<T[N]> { typedef T type; };
36998 template< typename T, std::size_t N > struct remove_bounds<T const[N]> { typedef T const type; };
36999 template< typename T, std::size_t N > struct remove_bounds<T volatile[N]> { typedef T volatile type; };
37000 template< typename T, std::size_t N > struct remove_bounds<T const volatile[N]> { typedef T const volatile type; };
37001
37002 template< typename T > struct remove_bounds<T[]> { typedef T type; };
37003 template< typename T > struct remove_bounds<T const[]> { typedef T const type; };
37004 template< typename T > struct remove_bounds<T volatile[]> { typedef T volatile type; };
37005 template< typename T > struct remove_bounds<T const volatile[]> { typedef T const volatile type; };
37006
37007
37008
37009 }
37010
37011 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
37012 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
37013 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
37014 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
37015 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
37016 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
37017 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
37018 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
37019 # 38 "/usr/include/boost/type_traits/remove_bounds.hpp" 2 3 4
37020 # 63 "/usr/include/boost/type_traits.hpp" 2 3 4
37021 # 1 "/usr/include/boost/type_traits/remove_extent.hpp" 1 3 4
37022 # 10 "/usr/include/boost/type_traits/remove_extent.hpp" 3 4
37023 #define BOOST_TT_REMOVE_EXTENT_HPP_INCLUDED 
37024
37025
37026
37027
37028
37029 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
37030 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
37031 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
37032 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
37033 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
37034 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
37035
37036
37037 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
37038 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
37039 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
37040
37041
37042
37043
37044
37045
37046
37047 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
37048
37049
37050
37051
37052
37053
37054 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
37055
37056
37057
37058
37059
37060
37061 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
37062
37063
37064
37065
37066
37067
37068 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
37069 # 17 "/usr/include/boost/type_traits/remove_extent.hpp" 2 3 4
37070
37071 namespace boost {
37072
37073 template< typename T > struct remove_extent { typedef T type; };
37074
37075
37076 template< typename T, std::size_t N > struct remove_extent<T[N]> { typedef T type; };
37077 template< typename T, std::size_t N > struct remove_extent<T const[N]> { typedef T const type; };
37078 template< typename T, std::size_t N > struct remove_extent<T volatile[N]> { typedef T volatile type; };
37079 template< typename T, std::size_t N > struct remove_extent<T const volatile[N]> { typedef T const volatile type; };
37080
37081 template< typename T > struct remove_extent<T[]> { typedef T type; };
37082 template< typename T > struct remove_extent<T const[]> { typedef T const type; };
37083 template< typename T > struct remove_extent<T volatile[]> { typedef T volatile type; };
37084 template< typename T > struct remove_extent<T const volatile[]> { typedef T const volatile type; };
37085
37086
37087
37088 }
37089
37090 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
37091 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
37092 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
37093 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
37094 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
37095 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
37096 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
37097 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
37098 # 38 "/usr/include/boost/type_traits/remove_extent.hpp" 2 3 4
37099 # 64 "/usr/include/boost/type_traits.hpp" 2 3 4
37100 # 1 "/usr/include/boost/type_traits/remove_all_extents.hpp" 1 3 4
37101 # 10 "/usr/include/boost/type_traits/remove_all_extents.hpp" 3 4
37102 #define BOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED 
37103
37104
37105
37106
37107
37108 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
37109 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
37110 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
37111 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
37112 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
37113 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
37114
37115
37116 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
37117 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
37118 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
37119
37120
37121
37122
37123
37124
37125
37126 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
37127
37128
37129
37130
37131
37132
37133 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
37134
37135
37136
37137
37138
37139
37140 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
37141
37142
37143
37144
37145
37146
37147 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
37148 # 17 "/usr/include/boost/type_traits/remove_all_extents.hpp" 2 3 4
37149
37150 namespace boost {
37151
37152 template< typename T > struct remove_all_extents { typedef T type; };
37153
37154
37155 template< typename T, std::size_t N > struct remove_all_extents<T[N]> { typedef typename boost::remove_all_extents<T>::type type; };
37156 template< typename T, std::size_t N > struct remove_all_extents<T const[N]> { typedef typename boost::remove_all_extents<T const>::type type; };
37157 template< typename T, std::size_t N > struct remove_all_extents<T volatile[N]> { typedef typename boost::remove_all_extents<T volatile>::type type; };
37158 template< typename T, std::size_t N > struct remove_all_extents<T const volatile[N]> { typedef typename boost::remove_all_extents<T const volatile>::type type; };
37159
37160 template< typename T > struct remove_all_extents<T[]> { typedef typename boost::remove_all_extents<T>::type type; };
37161 template< typename T > struct remove_all_extents<T const[]> { typedef typename boost::remove_all_extents<T const>::type type; };
37162 template< typename T > struct remove_all_extents<T volatile[]> { typedef typename boost::remove_all_extents<T volatile>::type type; };
37163 template< typename T > struct remove_all_extents<T const volatile[]> { typedef typename boost::remove_all_extents<T const volatile>::type type; };
37164
37165
37166
37167 }
37168
37169 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
37170 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
37171 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
37172 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
37173 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
37174 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
37175 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
37176 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
37177 # 38 "/usr/include/boost/type_traits/remove_all_extents.hpp" 2 3 4
37178 # 65 "/usr/include/boost/type_traits.hpp" 2 3 4
37179 # 1 "/usr/include/boost/type_traits/remove_const.hpp" 1 3 4
37180 # 12 "/usr/include/boost/type_traits/remove_const.hpp" 3 4
37181 #define BOOST_TT_REMOVE_CONST_HPP_INCLUDED 
37182 # 22 "/usr/include/boost/type_traits/remove_const.hpp" 3 4
37183 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
37184 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
37185 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
37186 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
37187 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
37188 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
37189
37190
37191 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
37192 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
37193 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
37194
37195
37196
37197
37198
37199
37200
37201 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
37202
37203
37204
37205
37206
37207
37208 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
37209
37210
37211
37212
37213
37214
37215 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
37216
37217
37218
37219
37220
37221
37222 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
37223 # 23 "/usr/include/boost/type_traits/remove_const.hpp" 2 3 4
37224
37225 namespace boost {
37226
37227
37228
37229 namespace detail {
37230
37231 template <typename T, bool is_vol>
37232 struct remove_const_helper
37233 {
37234     typedef T type;
37235 };
37236
37237 template <typename T>
37238 struct remove_const_helper<T, true>
37239 {
37240     typedef T volatile type;
37241 };
37242
37243
37244 template <typename T>
37245 struct remove_const_impl
37246 {
37247     typedef typename remove_const_helper<
37248           typename cv_traits_imp<T*>::unqualified_type
37249         , ::boost::is_volatile<T>::value
37250         >::type type;
37251 };
37252
37253 }
37254
37255
37256
37257 template< typename T > struct remove_const { typedef typename detail::remove_const_impl<T>::type type; };
37258 template< typename T > struct remove_const<T&> { typedef T& type; };
37259
37260 template< typename T, std::size_t N > struct remove_const<T const[N]> { typedef T type[N]; };
37261 template< typename T, std::size_t N > struct remove_const<T const volatile[N]> { typedef T volatile type[N]; };
37262 # 69 "/usr/include/boost/type_traits/remove_const.hpp" 3 4
37263 }
37264
37265 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
37266 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
37267 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
37268 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
37269 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
37270 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
37271 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
37272 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
37273 # 72 "/usr/include/boost/type_traits/remove_const.hpp" 2 3 4
37274 # 66 "/usr/include/boost/type_traits.hpp" 2 3 4
37275
37276 # 1 "/usr/include/boost/type_traits/remove_pointer.hpp" 1 3 4
37277 # 10 "/usr/include/boost/type_traits/remove_pointer.hpp" 3 4
37278 #define BOOST_TT_REMOVE_POINTER_HPP_INCLUDED 
37279
37280
37281
37282
37283
37284 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
37285 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
37286 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
37287 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
37288 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
37289 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
37290
37291
37292 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
37293 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
37294 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
37295
37296
37297
37298
37299
37300
37301
37302 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
37303
37304
37305
37306
37307
37308
37309 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
37310
37311
37312
37313
37314
37315
37316 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
37317
37318
37319
37320
37321
37322
37323 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
37324 # 17 "/usr/include/boost/type_traits/remove_pointer.hpp" 2 3 4
37325
37326 namespace boost {
37327
37328
37329
37330 template< typename T > struct remove_pointer { typedef T type; };
37331 template< typename T > struct remove_pointer<T*> { typedef T type; };
37332 template< typename T > struct remove_pointer<T* const> { typedef T type; };
37333 template< typename T > struct remove_pointer<T* volatile> { typedef T type; };
37334 template< typename T > struct remove_pointer<T* const volatile> { typedef T type; };
37335
37336
37337
37338
37339
37340
37341
37342 }
37343
37344 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
37345 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
37346 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
37347 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
37348 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
37349 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
37350 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
37351 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
37352 # 37 "/usr/include/boost/type_traits/remove_pointer.hpp" 2 3 4
37353 # 68 "/usr/include/boost/type_traits.hpp" 2 3 4
37354 # 1 "/usr/include/boost/type_traits/remove_reference.hpp" 1 3 4
37355 # 69 "/usr/include/boost/type_traits.hpp" 2 3 4
37356 # 1 "/usr/include/boost/type_traits/remove_volatile.hpp" 1 3 4
37357 # 12 "/usr/include/boost/type_traits/remove_volatile.hpp" 3 4
37358 #define BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED 
37359 # 22 "/usr/include/boost/type_traits/remove_volatile.hpp" 3 4
37360 # 1 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 1 3 4
37361 # 14 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
37362 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
37363 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
37364 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
37365 # 15 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 2 3 4
37366
37367
37368 #define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) template< typename T > struct trait { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
37369 # 27 "/usr/include/boost/type_traits/detail/type_trait_def.hpp" 3 4
37370 #define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) template<> struct trait<spec> { typedef result type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) };
37371
37372
37373
37374
37375
37376
37377
37378 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) template<> struct trait ##_impl<spec> { typedef result type; };
37379
37380
37381
37382
37383
37384
37385 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait<spec> { typedef result type; };
37386
37387
37388
37389
37390
37391
37392 #define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) template< param1, param2 > struct trait<spec> { typedef result; };
37393
37394
37395
37396
37397
37398
37399 #define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) template< param > struct trait ##_impl<spec> { typedef result type; };
37400 # 23 "/usr/include/boost/type_traits/remove_volatile.hpp" 2 3 4
37401
37402 namespace boost {
37403
37404
37405
37406 namespace detail {
37407
37408 template <typename T, bool is_const>
37409 struct remove_volatile_helper
37410 {
37411     typedef T type;
37412 };
37413
37414 template <typename T>
37415 struct remove_volatile_helper<T,true>
37416 {
37417     typedef T const type;
37418 };
37419
37420 template <typename T>
37421 struct remove_volatile_impl
37422 {
37423     typedef typename remove_volatile_helper<
37424           typename cv_traits_imp<T*>::unqualified_type
37425         , ::boost::is_const<T>::value
37426         >::type type;
37427 };
37428
37429 }
37430
37431
37432
37433 template< typename T > struct remove_volatile { typedef typename detail::remove_volatile_impl<T>::type type; };
37434 template< typename T > struct remove_volatile<T&> { typedef T& type; };
37435
37436 template< typename T, std::size_t N > struct remove_volatile<T volatile[N]> { typedef T type[N]; };
37437 template< typename T, std::size_t N > struct remove_volatile<T const volatile[N]> { typedef T const type[N]; };
37438 # 68 "/usr/include/boost/type_traits/remove_volatile.hpp" 3 4
37439 }
37440
37441 # 1 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 1 3 4
37442 # 14 "/usr/include/boost/type_traits/detail/type_trait_undef.hpp" 3 4
37443 #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
37444 #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
37445 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
37446 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
37447 #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
37448 #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
37449 # 71 "/usr/include/boost/type_traits/remove_volatile.hpp" 2 3 4
37450 # 70 "/usr/include/boost/type_traits.hpp" 2 3 4
37451 # 1 "/usr/include/boost/type_traits/type_with_alignment.hpp" 1 3 4
37452 # 9 "/usr/include/boost/type_traits/type_with_alignment.hpp" 3 4
37453 #define BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED 
37454
37455 # 1 "/usr/include/boost/mpl/if.hpp" 1 3 4
37456
37457
37458 #define BOOST_MPL_IF_HPP_INCLUDED 
37459 # 17 "/usr/include/boost/mpl/if.hpp" 3 4
37460 # 1 "/usr/include/boost/mpl/aux_/value_wknd.hpp" 1 3 4
37461
37462
37463 #define BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED 
37464 # 18 "/usr/include/boost/mpl/aux_/value_wknd.hpp" 3 4
37465 # 1 "/usr/include/boost/mpl/aux_/config/integral.hpp" 1 3 4
37466
37467
37468 #define BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED 
37469 # 19 "/usr/include/boost/mpl/aux_/value_wknd.hpp" 2 3 4
37470 # 1 "/usr/include/boost/mpl/aux_/config/eti.hpp" 1 3 4
37471
37472
37473 #define BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED 
37474 # 20 "/usr/include/boost/mpl/aux_/value_wknd.hpp" 2 3 4
37475 # 57 "/usr/include/boost/mpl/aux_/value_wknd.hpp" 3 4
37476 #define BOOST_MPL_AUX_VALUE_WKND(C) C
37477 #define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) C
37478 # 67 "/usr/include/boost/mpl/aux_/value_wknd.hpp" 3 4
37479 #define BOOST_MPL_AUX_NESTED_VALUE_WKND(T,C) BOOST_MPL_AUX_VALUE_WKND(C)::value
37480
37481
37482
37483
37484
37485 namespace boost { namespace mpl { namespace aux {
37486
37487 template< typename T > struct value_type_wknd
37488 {
37489     typedef typename T::value_type type;
37490 };
37491 # 87 "/usr/include/boost/mpl/aux_/value_wknd.hpp" 3 4
37492 }}}
37493 # 18 "/usr/include/boost/mpl/if.hpp" 2 3 4
37494
37495 # 1 "/usr/include/boost/mpl/aux_/na_spec.hpp" 1 3 4
37496
37497
37498 #define BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED 
37499 # 18 "/usr/include/boost/mpl/aux_/na_spec.hpp" 3 4
37500 # 1 "/usr/include/boost/mpl/lambda_fwd.hpp" 1 3 4
37501
37502
37503 #define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED 
37504 # 17 "/usr/include/boost/mpl/lambda_fwd.hpp" 3 4
37505 # 1 "/usr/include/boost/mpl/void_fwd.hpp" 1 3 4
37506
37507
37508 #define BOOST_MPL_VOID_FWD_HPP_INCLUDED 
37509 # 19 "/usr/include/boost/mpl/void_fwd.hpp" 3 4
37510 namespace mpl_ {
37511
37512 struct void_;
37513
37514 }
37515 namespace boost { namespace mpl { using ::mpl_::void_; } }
37516 # 18 "/usr/include/boost/mpl/lambda_fwd.hpp" 2 3 4
37517 # 1 "/usr/include/boost/mpl/aux_/na.hpp" 1 3 4
37518
37519
37520 #define BOOST_MPL_AUX_NA_HPP_INCLUDED 
37521 # 18 "/usr/include/boost/mpl/aux_/na.hpp" 3 4
37522 # 1 "/usr/include/boost/mpl/aux_/na_fwd.hpp" 1 3 4
37523
37524
37525 #define BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED 
37526 # 19 "/usr/include/boost/mpl/aux_/na_fwd.hpp" 3 4
37527 namespace mpl_ {
37528
37529
37530 struct na
37531 {
37532     typedef na type;
37533     enum { value = 0 };
37534 };
37535
37536 }
37537 namespace boost { namespace mpl { using ::mpl_::na; } }
37538 # 19 "/usr/include/boost/mpl/aux_/na.hpp" 2 3 4
37539
37540
37541
37542 namespace boost { namespace mpl {
37543
37544 template< typename T >
37545 struct is_na
37546     : false_
37547 {
37548
37549
37550
37551 };
37552
37553 template<>
37554 struct is_na<na>
37555     : true_
37556 {
37557
37558
37559
37560 };
37561
37562 template< typename T >
37563 struct is_not_na
37564     : true_
37565 {
37566
37567
37568
37569 };
37570
37571 template<>
37572 struct is_not_na<na>
37573     : false_
37574 {
37575
37576
37577
37578 };
37579
37580
37581 template< typename T, typename U > struct if_na
37582 {
37583     typedef T type;
37584 };
37585
37586 template< typename U > struct if_na<na,U>
37587 {
37588     typedef U type;
37589 };
37590 # 93 "/usr/include/boost/mpl/aux_/na.hpp" 3 4
37591 }}
37592 # 19 "/usr/include/boost/mpl/lambda_fwd.hpp" 2 3 4
37593
37594
37595
37596
37597
37598 # 1 "/usr/include/boost/mpl/aux_/lambda_arity_param.hpp" 1 3 4
37599
37600
37601 #define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED 
37602 # 22 "/usr/include/boost/mpl/aux_/lambda_arity_param.hpp" 3 4
37603 #define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param
37604 # 25 "/usr/include/boost/mpl/lambda_fwd.hpp" 2 3 4
37605
37606
37607 namespace boost { namespace mpl {
37608
37609 template<
37610       typename T = na
37611     , typename Tag = void_
37612     , typename Arity = int_< aux::template_arity<T>::value >
37613
37614
37615     >
37616 struct lambda;
37617
37618 }}
37619 # 19 "/usr/include/boost/mpl/aux_/na_spec.hpp" 2 3 4
37620
37621
37622
37623 # 1 "/usr/include/boost/mpl/aux_/arity.hpp" 1 3 4
37624
37625
37626 #define BOOST_MPL_AUX_ARITY_HPP_INCLUDED 
37627 # 17 "/usr/include/boost/mpl/aux_/arity.hpp" 3 4
37628 # 1 "/usr/include/boost/mpl/aux_/config/dtp.hpp" 1 3 4
37629
37630
37631 #define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED 
37632 # 18 "/usr/include/boost/mpl/aux_/arity.hpp" 2 3 4
37633 # 23 "/usr/include/boost/mpl/aux_/na_spec.hpp" 2 3 4
37634
37635
37636
37637
37638 # 1 "/usr/include/boost/mpl/aux_/preprocessor/enum.hpp" 1 3 4
37639
37640
37641 #define BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED 
37642 # 48 "/usr/include/boost/mpl/aux_/preprocessor/enum.hpp" 3 4
37643 #define BOOST_MPL_PP_AUX_ENUM_FUNC(unused,i,param) BOOST_PP_COMMA_IF(i) param
37644
37645
37646
37647 #define BOOST_MPL_PP_ENUM(n,param) BOOST_PP_REPEAT( n , BOOST_MPL_PP_AUX_ENUM_FUNC , param )
37648 # 28 "/usr/include/boost/mpl/aux_/na_spec.hpp" 2 3 4
37649 # 1 "/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 1 3 4
37650
37651
37652 #define BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED 
37653 # 17 "/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 3 4
37654 # 1 "/usr/include/boost/mpl/limits/arity.hpp" 1 3 4
37655
37656
37657 #define BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED 
37658 # 18 "/usr/include/boost/mpl/limits/arity.hpp" 3 4
37659 #define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 5
37660 # 18 "/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 3 4
37661
37662
37663
37664
37665 # 1 "/usr/include/boost/preprocessor/logical/and.hpp" 1 3 4
37666 # 15 "/usr/include/boost/preprocessor/logical/and.hpp" 3 4
37667 #define BOOST_PREPROCESSOR_LOGICAL_AND_HPP 
37668
37669
37670
37671 # 1 "/usr/include/boost/preprocessor/logical/bitand.hpp" 1 3 4
37672 # 13 "/usr/include/boost/preprocessor/logical/bitand.hpp" 3 4
37673 #define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP 
37674
37675
37676
37677
37678
37679
37680 #define BOOST_PP_BITAND(x,y) BOOST_PP_BITAND_I(x, y)
37681
37682
37683
37684
37685
37686
37687 #define BOOST_PP_BITAND_I(x,y) BOOST_PP_BITAND_ ## x ## y
37688
37689
37690
37691
37692
37693 #define BOOST_PP_BITAND_00 0
37694 #define BOOST_PP_BITAND_01 0
37695 #define BOOST_PP_BITAND_10 0
37696 #define BOOST_PP_BITAND_11 1
37697 # 20 "/usr/include/boost/preprocessor/logical/and.hpp" 2 3 4
37698
37699
37700
37701
37702 #define BOOST_PP_AND(p,q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
37703 # 23 "/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 3 4
37704 # 1 "/usr/include/boost/preprocessor/identity.hpp" 1 3 4
37705 # 13 "/usr/include/boost/preprocessor/identity.hpp" 3 4
37706 #define BOOST_PREPROCESSOR_IDENTITY_HPP 
37707
37708 # 1 "/usr/include/boost/preprocessor/facilities/identity.hpp" 1 3 4
37709 # 15 "/usr/include/boost/preprocessor/facilities/identity.hpp" 3 4
37710 #define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP 
37711
37712
37713
37714
37715
37716 #define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY
37717 # 16 "/usr/include/boost/preprocessor/identity.hpp" 2 3 4
37718 # 24 "/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 3 4
37719 # 1 "/usr/include/boost/preprocessor/empty.hpp" 1 3 4
37720 # 13 "/usr/include/boost/preprocessor/empty.hpp" 3 4
37721 #define BOOST_PREPROCESSOR_EMPTY_HPP 
37722 # 25 "/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 3 4
37723 # 66 "/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 3 4
37724 # 1 "/usr/include/boost/preprocessor/arithmetic/add.hpp" 1 3 4
37725 # 15 "/usr/include/boost/preprocessor/arithmetic/add.hpp" 3 4
37726 #define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP 
37727
37728 # 1 "/usr/include/boost/preprocessor/arithmetic/dec.hpp" 1 3 4
37729 # 15 "/usr/include/boost/preprocessor/arithmetic/dec.hpp" 3 4
37730 #define BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP 
37731
37732
37733
37734
37735
37736
37737 #define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x)
37738
37739
37740
37741
37742
37743 #define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x
37744
37745 #define BOOST_PP_DEC_0 0
37746 #define BOOST_PP_DEC_1 0
37747 #define BOOST_PP_DEC_2 1
37748 #define BOOST_PP_DEC_3 2
37749 #define BOOST_PP_DEC_4 3
37750 #define BOOST_PP_DEC_5 4
37751 #define BOOST_PP_DEC_6 5
37752 #define BOOST_PP_DEC_7 6
37753 #define BOOST_PP_DEC_8 7
37754 #define BOOST_PP_DEC_9 8
37755 #define BOOST_PP_DEC_10 9
37756 #define BOOST_PP_DEC_11 10
37757 #define BOOST_PP_DEC_12 11
37758 #define BOOST_PP_DEC_13 12
37759 #define BOOST_PP_DEC_14 13
37760 #define BOOST_PP_DEC_15 14
37761 #define BOOST_PP_DEC_16 15
37762 #define BOOST_PP_DEC_17 16
37763 #define BOOST_PP_DEC_18 17
37764 #define BOOST_PP_DEC_19 18
37765 #define BOOST_PP_DEC_20 19
37766 #define BOOST_PP_DEC_21 20
37767 #define BOOST_PP_DEC_22 21
37768 #define BOOST_PP_DEC_23 22
37769 #define BOOST_PP_DEC_24 23
37770 #define BOOST_PP_DEC_25 24
37771 #define BOOST_PP_DEC_26 25
37772 #define BOOST_PP_DEC_27 26
37773 #define BOOST_PP_DEC_28 27
37774 #define BOOST_PP_DEC_29 28
37775 #define BOOST_PP_DEC_30 29
37776 #define BOOST_PP_DEC_31 30
37777 #define BOOST_PP_DEC_32 31
37778 #define BOOST_PP_DEC_33 32
37779 #define BOOST_PP_DEC_34 33
37780 #define BOOST_PP_DEC_35 34
37781 #define BOOST_PP_DEC_36 35
37782 #define BOOST_PP_DEC_37 36
37783 #define BOOST_PP_DEC_38 37
37784 #define BOOST_PP_DEC_39 38
37785 #define BOOST_PP_DEC_40 39
37786 #define BOOST_PP_DEC_41 40
37787 #define BOOST_PP_DEC_42 41
37788 #define BOOST_PP_DEC_43 42
37789 #define BOOST_PP_DEC_44 43
37790 #define BOOST_PP_DEC_45 44
37791 #define BOOST_PP_DEC_46 45
37792 #define BOOST_PP_DEC_47 46
37793 #define BOOST_PP_DEC_48 47
37794 #define BOOST_PP_DEC_49 48
37795 #define BOOST_PP_DEC_50 49
37796 #define BOOST_PP_DEC_51 50
37797 #define BOOST_PP_DEC_52 51
37798 #define BOOST_PP_DEC_53 52
37799 #define BOOST_PP_DEC_54 53
37800 #define BOOST_PP_DEC_55 54
37801 #define BOOST_PP_DEC_56 55
37802 #define BOOST_PP_DEC_57 56
37803 #define BOOST_PP_DEC_58 57
37804 #define BOOST_PP_DEC_59 58
37805 #define BOOST_PP_DEC_60 59
37806 #define BOOST_PP_DEC_61 60
37807 #define BOOST_PP_DEC_62 61
37808 #define BOOST_PP_DEC_63 62
37809 #define BOOST_PP_DEC_64 63
37810 #define BOOST_PP_DEC_65 64
37811 #define BOOST_PP_DEC_66 65
37812 #define BOOST_PP_DEC_67 66
37813 #define BOOST_PP_DEC_68 67
37814 #define BOOST_PP_DEC_69 68
37815 #define BOOST_PP_DEC_70 69
37816 #define BOOST_PP_DEC_71 70
37817 #define BOOST_PP_DEC_72 71
37818 #define BOOST_PP_DEC_73 72
37819 #define BOOST_PP_DEC_74 73
37820 #define BOOST_PP_DEC_75 74
37821 #define BOOST_PP_DEC_76 75
37822 #define BOOST_PP_DEC_77 76
37823 #define BOOST_PP_DEC_78 77
37824 #define BOOST_PP_DEC_79 78
37825 #define BOOST_PP_DEC_80 79
37826 #define BOOST_PP_DEC_81 80
37827 #define BOOST_PP_DEC_82 81
37828 #define BOOST_PP_DEC_83 82
37829 #define BOOST_PP_DEC_84 83
37830 #define BOOST_PP_DEC_85 84
37831 #define BOOST_PP_DEC_86 85
37832 #define BOOST_PP_DEC_87 86
37833 #define BOOST_PP_DEC_88 87
37834 #define BOOST_PP_DEC_89 88
37835 #define BOOST_PP_DEC_90 89
37836 #define BOOST_PP_DEC_91 90
37837 #define BOOST_PP_DEC_92 91
37838 #define BOOST_PP_DEC_93 92
37839 #define BOOST_PP_DEC_94 93
37840 #define BOOST_PP_DEC_95 94
37841 #define BOOST_PP_DEC_96 95
37842 #define BOOST_PP_DEC_97 96
37843 #define BOOST_PP_DEC_98 97
37844 #define BOOST_PP_DEC_99 98
37845 #define BOOST_PP_DEC_100 99
37846 #define BOOST_PP_DEC_101 100
37847 #define BOOST_PP_DEC_102 101
37848 #define BOOST_PP_DEC_103 102
37849 #define BOOST_PP_DEC_104 103
37850 #define BOOST_PP_DEC_105 104
37851 #define BOOST_PP_DEC_106 105
37852 #define BOOST_PP_DEC_107 106
37853 #define BOOST_PP_DEC_108 107
37854 #define BOOST_PP_DEC_109 108
37855 #define BOOST_PP_DEC_110 109
37856 #define BOOST_PP_DEC_111 110
37857 #define BOOST_PP_DEC_112 111
37858 #define BOOST_PP_DEC_113 112
37859 #define BOOST_PP_DEC_114 113
37860 #define BOOST_PP_DEC_115 114
37861 #define BOOST_PP_DEC_116 115
37862 #define BOOST_PP_DEC_117 116
37863 #define BOOST_PP_DEC_118 117
37864 #define BOOST_PP_DEC_119 118
37865 #define BOOST_PP_DEC_120 119
37866 #define BOOST_PP_DEC_121 120
37867 #define BOOST_PP_DEC_122 121
37868 #define BOOST_PP_DEC_123 122
37869 #define BOOST_PP_DEC_124 123
37870 #define BOOST_PP_DEC_125 124
37871 #define BOOST_PP_DEC_126 125
37872 #define BOOST_PP_DEC_127 126
37873 #define BOOST_PP_DEC_128 127
37874 #define BOOST_PP_DEC_129 128
37875 #define BOOST_PP_DEC_130 129
37876 #define BOOST_PP_DEC_131 130
37877 #define BOOST_PP_DEC_132 131
37878 #define BOOST_PP_DEC_133 132
37879 #define BOOST_PP_DEC_134 133
37880 #define BOOST_PP_DEC_135 134
37881 #define BOOST_PP_DEC_136 135
37882 #define BOOST_PP_DEC_137 136
37883 #define BOOST_PP_DEC_138 137
37884 #define BOOST_PP_DEC_139 138
37885 #define BOOST_PP_DEC_140 139
37886 #define BOOST_PP_DEC_141 140
37887 #define BOOST_PP_DEC_142 141
37888 #define BOOST_PP_DEC_143 142
37889 #define BOOST_PP_DEC_144 143
37890 #define BOOST_PP_DEC_145 144
37891 #define BOOST_PP_DEC_146 145
37892 #define BOOST_PP_DEC_147 146
37893 #define BOOST_PP_DEC_148 147
37894 #define BOOST_PP_DEC_149 148
37895 #define BOOST_PP_DEC_150 149
37896 #define BOOST_PP_DEC_151 150
37897 #define BOOST_PP_DEC_152 151
37898 #define BOOST_PP_DEC_153 152
37899 #define BOOST_PP_DEC_154 153
37900 #define BOOST_PP_DEC_155 154
37901 #define BOOST_PP_DEC_156 155
37902 #define BOOST_PP_DEC_157 156
37903 #define BOOST_PP_DEC_158 157
37904 #define BOOST_PP_DEC_159 158
37905 #define BOOST_PP_DEC_160 159
37906 #define BOOST_PP_DEC_161 160
37907 #define BOOST_PP_DEC_162 161
37908 #define BOOST_PP_DEC_163 162
37909 #define BOOST_PP_DEC_164 163
37910 #define BOOST_PP_DEC_165 164
37911 #define BOOST_PP_DEC_166 165
37912 #define BOOST_PP_DEC_167 166
37913 #define BOOST_PP_DEC_168 167
37914 #define BOOST_PP_DEC_169 168
37915 #define BOOST_PP_DEC_170 169
37916 #define BOOST_PP_DEC_171 170
37917 #define BOOST_PP_DEC_172 171
37918 #define BOOST_PP_DEC_173 172
37919 #define BOOST_PP_DEC_174 173
37920 #define BOOST_PP_DEC_175 174
37921 #define BOOST_PP_DEC_176 175
37922 #define BOOST_PP_DEC_177 176
37923 #define BOOST_PP_DEC_178 177
37924 #define BOOST_PP_DEC_179 178
37925 #define BOOST_PP_DEC_180 179
37926 #define BOOST_PP_DEC_181 180
37927 #define BOOST_PP_DEC_182 181
37928 #define BOOST_PP_DEC_183 182
37929 #define BOOST_PP_DEC_184 183
37930 #define BOOST_PP_DEC_185 184
37931 #define BOOST_PP_DEC_186 185
37932 #define BOOST_PP_DEC_187 186
37933 #define BOOST_PP_DEC_188 187
37934 #define BOOST_PP_DEC_189 188
37935 #define BOOST_PP_DEC_190 189
37936 #define BOOST_PP_DEC_191 190
37937 #define BOOST_PP_DEC_192 191
37938 #define BOOST_PP_DEC_193 192
37939 #define BOOST_PP_DEC_194 193
37940 #define BOOST_PP_DEC_195 194
37941 #define BOOST_PP_DEC_196 195
37942 #define BOOST_PP_DEC_197 196
37943 #define BOOST_PP_DEC_198 197
37944 #define BOOST_PP_DEC_199 198
37945 #define BOOST_PP_DEC_200 199
37946 #define BOOST_PP_DEC_201 200
37947 #define BOOST_PP_DEC_202 201
37948 #define BOOST_PP_DEC_203 202
37949 #define BOOST_PP_DEC_204 203
37950 #define BOOST_PP_DEC_205 204
37951 #define BOOST_PP_DEC_206 205
37952 #define BOOST_PP_DEC_207 206
37953 #define BOOST_PP_DEC_208 207
37954 #define BOOST_PP_DEC_209 208
37955 #define BOOST_PP_DEC_210 209
37956 #define BOOST_PP_DEC_211 210
37957 #define BOOST_PP_DEC_212 211
37958 #define BOOST_PP_DEC_213 212
37959 #define BOOST_PP_DEC_214 213
37960 #define BOOST_PP_DEC_215 214
37961 #define BOOST_PP_DEC_216 215
37962 #define BOOST_PP_DEC_217 216
37963 #define BOOST_PP_DEC_218 217
37964 #define BOOST_PP_DEC_219 218
37965 #define BOOST_PP_DEC_220 219
37966 #define BOOST_PP_DEC_221 220
37967 #define BOOST_PP_DEC_222 221
37968 #define BOOST_PP_DEC_223 222
37969 #define BOOST_PP_DEC_224 223
37970 #define BOOST_PP_DEC_225 224
37971 #define BOOST_PP_DEC_226 225
37972 #define BOOST_PP_DEC_227 226
37973 #define BOOST_PP_DEC_228 227
37974 #define BOOST_PP_DEC_229 228
37975 #define BOOST_PP_DEC_230 229
37976 #define BOOST_PP_DEC_231 230
37977 #define BOOST_PP_DEC_232 231
37978 #define BOOST_PP_DEC_233 232
37979 #define BOOST_PP_DEC_234 233
37980 #define BOOST_PP_DEC_235 234
37981 #define BOOST_PP_DEC_236 235
37982 #define BOOST_PP_DEC_237 236
37983 #define BOOST_PP_DEC_238 237
37984 #define BOOST_PP_DEC_239 238
37985 #define BOOST_PP_DEC_240 239
37986 #define BOOST_PP_DEC_241 240
37987 #define BOOST_PP_DEC_242 241
37988 #define BOOST_PP_DEC_243 242
37989 #define BOOST_PP_DEC_244 243
37990 #define BOOST_PP_DEC_245 244
37991 #define BOOST_PP_DEC_246 245
37992 #define BOOST_PP_DEC_247 246
37993 #define BOOST_PP_DEC_248 247
37994 #define BOOST_PP_DEC_249 248
37995 #define BOOST_PP_DEC_250 249
37996 #define BOOST_PP_DEC_251 250
37997 #define BOOST_PP_DEC_252 251
37998 #define BOOST_PP_DEC_253 252
37999 #define BOOST_PP_DEC_254 253
38000 #define BOOST_PP_DEC_255 254
38001 #define BOOST_PP_DEC_256 255
38002 # 18 "/usr/include/boost/preprocessor/arithmetic/add.hpp" 2 3 4
38003
38004
38005 # 1 "/usr/include/boost/preprocessor/control/while.hpp" 1 3 4
38006 # 15 "/usr/include/boost/preprocessor/control/while.hpp" 3 4
38007 #define BOOST_PREPROCESSOR_CONTROL_WHILE_HPP 
38008
38009
38010
38011
38012 # 1 "/usr/include/boost/preprocessor/detail/auto_rec.hpp" 1 3 4
38013 # 21 "/usr/include/boost/preprocessor/control/while.hpp" 2 3 4
38014 # 1 "/usr/include/boost/preprocessor/list/fold_left.hpp" 1 3 4
38015 # 15 "/usr/include/boost/preprocessor/list/fold_left.hpp" 3 4
38016 #define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP 
38017
38018
38019 # 1 "/usr/include/boost/preprocessor/control/while.hpp" 1 3 4
38020 # 19 "/usr/include/boost/preprocessor/list/fold_left.hpp" 2 3 4
38021
38022 # 1 "/usr/include/boost/preprocessor/detail/auto_rec.hpp" 1 3 4
38023 # 21 "/usr/include/boost/preprocessor/list/fold_left.hpp" 2 3 4
38024
38025
38026
38027
38028
38029
38030
38031 #define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
38032
38033 #define BOOST_PP_LIST_FOLD_LEFT_257(o,s,l) BOOST_PP_ERROR(0x0004)
38034
38035 #define BOOST_PP_LIST_FOLD_LEFT_D(d,o,s,l) BOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l)
38036 #define BOOST_PP_LIST_FOLD_LEFT_2ND BOOST_PP_LIST_FOLD_LEFT
38037 #define BOOST_PP_LIST_FOLD_LEFT_2ND_D BOOST_PP_LIST_FOLD_LEFT_D
38038
38039
38040
38041
38042
38043
38044 # 1 "/usr/include/boost/preprocessor/list/detail/fold_left.hpp" 1 3 4
38045 # 15 "/usr/include/boost/preprocessor/list/detail/fold_left.hpp" 3 4
38046 #define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP 
38047
38048 # 1 "/usr/include/boost/preprocessor/control/expr_iif.hpp" 1 3 4
38049 # 13 "/usr/include/boost/preprocessor/control/expr_iif.hpp" 3 4
38050 #define BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP 
38051
38052
38053
38054
38055
38056
38057 #define BOOST_PP_EXPR_IIF(bit,expr) BOOST_PP_EXPR_IIF_I(bit, expr)
38058
38059
38060
38061
38062
38063 #define BOOST_PP_EXPR_IIF_I(bit,expr) BOOST_PP_EXPR_IIF_ ## bit(expr)
38064
38065 #define BOOST_PP_EXPR_IIF_0(expr) 
38066 #define BOOST_PP_EXPR_IIF_1(expr) expr
38067 # 18 "/usr/include/boost/preprocessor/list/detail/fold_left.hpp" 2 3 4
38068
38069 # 1 "/usr/include/boost/preprocessor/list/adt.hpp" 1 3 4
38070 # 15 "/usr/include/boost/preprocessor/list/adt.hpp" 3 4
38071 #define BOOST_PREPROCESSOR_LIST_ADT_HPP 
38072
38073
38074 # 1 "/usr/include/boost/preprocessor/detail/is_binary.hpp" 1 3 4
38075 # 13 "/usr/include/boost/preprocessor/detail/is_binary.hpp" 3 4
38076 #define BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP 
38077
38078
38079 # 1 "/usr/include/boost/preprocessor/detail/check.hpp" 1 3 4
38080 # 13 "/usr/include/boost/preprocessor/detail/check.hpp" 3 4
38081 #define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP 
38082
38083
38084
38085
38086
38087
38088
38089 #define BOOST_PP_CHECK(x,type) BOOST_PP_CHECK_D(x, type)
38090
38091
38092
38093
38094
38095
38096 #define BOOST_PP_CHECK_D(x,type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x))
38097 #define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
38098 #define BOOST_PP_CHECK_2(res,_) res
38099 # 46 "/usr/include/boost/preprocessor/detail/check.hpp" 3 4
38100 #define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL
38101 # 17 "/usr/include/boost/preprocessor/detail/is_binary.hpp" 2 3 4
38102
38103
38104
38105
38106 #define BOOST_PP_IS_BINARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)
38107
38108
38109
38110
38111
38112 #define BOOST_PP_IS_BINARY_CHECK(a,b) 1
38113 #define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_BINARY_CHECK 0, BOOST_PP_NIL
38114 # 19 "/usr/include/boost/preprocessor/list/adt.hpp" 2 3 4
38115 # 1 "/usr/include/boost/preprocessor/logical/compl.hpp" 1 3 4
38116 # 13 "/usr/include/boost/preprocessor/logical/compl.hpp" 3 4
38117 #define BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP 
38118
38119
38120
38121
38122
38123
38124 #define BOOST_PP_COMPL(x) BOOST_PP_COMPL_I(x)
38125
38126
38127
38128
38129
38130
38131 #define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ ## x
38132
38133
38134
38135
38136
38137 #define BOOST_PP_COMPL_0 1
38138 #define BOOST_PP_COMPL_1 0
38139 # 20 "/usr/include/boost/preprocessor/list/adt.hpp" 2 3 4
38140
38141
38142
38143
38144 #define BOOST_PP_LIST_CONS(head,tail) (head, tail)
38145
38146
38147
38148 #define BOOST_PP_LIST_NIL BOOST_PP_NIL
38149
38150
38151
38152 #define BOOST_PP_LIST_FIRST(list) BOOST_PP_LIST_FIRST_D(list)
38153
38154
38155 #define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I list
38156
38157
38158
38159
38160 #define BOOST_PP_LIST_FIRST_I(head,tail) head
38161
38162
38163
38164 #define BOOST_PP_LIST_REST(list) BOOST_PP_LIST_REST_D(list)
38165
38166
38167 #define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I list
38168
38169
38170
38171
38172 #define BOOST_PP_LIST_REST_I(head,tail) tail
38173 # 62 "/usr/include/boost/preprocessor/list/adt.hpp" 3 4
38174 #define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list)
38175
38176
38177
38178
38179
38180 #define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list))
38181 # 20 "/usr/include/boost/preprocessor/list/detail/fold_left.hpp" 2 3 4
38182
38183
38184 #define BOOST_PP_LIST_FOLD_LEFT_1(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38185 #define BOOST_PP_LIST_FOLD_LEFT_2(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38186 #define BOOST_PP_LIST_FOLD_LEFT_3(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38187 #define BOOST_PP_LIST_FOLD_LEFT_4(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38188 #define BOOST_PP_LIST_FOLD_LEFT_5(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38189 #define BOOST_PP_LIST_FOLD_LEFT_6(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38190 #define BOOST_PP_LIST_FOLD_LEFT_7(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38191 #define BOOST_PP_LIST_FOLD_LEFT_8(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38192 #define BOOST_PP_LIST_FOLD_LEFT_9(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38193 #define BOOST_PP_LIST_FOLD_LEFT_10(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38194 #define BOOST_PP_LIST_FOLD_LEFT_11(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38195 #define BOOST_PP_LIST_FOLD_LEFT_12(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38196 #define BOOST_PP_LIST_FOLD_LEFT_13(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38197 #define BOOST_PP_LIST_FOLD_LEFT_14(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38198 #define BOOST_PP_LIST_FOLD_LEFT_15(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38199 #define BOOST_PP_LIST_FOLD_LEFT_16(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38200 #define BOOST_PP_LIST_FOLD_LEFT_17(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38201 #define BOOST_PP_LIST_FOLD_LEFT_18(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38202 #define BOOST_PP_LIST_FOLD_LEFT_19(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38203 #define BOOST_PP_LIST_FOLD_LEFT_20(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38204 #define BOOST_PP_LIST_FOLD_LEFT_21(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38205 #define BOOST_PP_LIST_FOLD_LEFT_22(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38206 #define BOOST_PP_LIST_FOLD_LEFT_23(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38207 #define BOOST_PP_LIST_FOLD_LEFT_24(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38208 #define BOOST_PP_LIST_FOLD_LEFT_25(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38209 #define BOOST_PP_LIST_FOLD_LEFT_26(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38210 #define BOOST_PP_LIST_FOLD_LEFT_27(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38211 #define BOOST_PP_LIST_FOLD_LEFT_28(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38212 #define BOOST_PP_LIST_FOLD_LEFT_29(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38213 #define BOOST_PP_LIST_FOLD_LEFT_30(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38214 #define BOOST_PP_LIST_FOLD_LEFT_31(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38215 #define BOOST_PP_LIST_FOLD_LEFT_32(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38216 #define BOOST_PP_LIST_FOLD_LEFT_33(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38217 #define BOOST_PP_LIST_FOLD_LEFT_34(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38218 #define BOOST_PP_LIST_FOLD_LEFT_35(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38219 #define BOOST_PP_LIST_FOLD_LEFT_36(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38220 #define BOOST_PP_LIST_FOLD_LEFT_37(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38221 #define BOOST_PP_LIST_FOLD_LEFT_38(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38222 #define BOOST_PP_LIST_FOLD_LEFT_39(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38223 #define BOOST_PP_LIST_FOLD_LEFT_40(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38224 #define BOOST_PP_LIST_FOLD_LEFT_41(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38225 #define BOOST_PP_LIST_FOLD_LEFT_42(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38226 #define BOOST_PP_LIST_FOLD_LEFT_43(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38227 #define BOOST_PP_LIST_FOLD_LEFT_44(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38228 #define BOOST_PP_LIST_FOLD_LEFT_45(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38229 #define BOOST_PP_LIST_FOLD_LEFT_46(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38230 #define BOOST_PP_LIST_FOLD_LEFT_47(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38231 #define BOOST_PP_LIST_FOLD_LEFT_48(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38232 #define BOOST_PP_LIST_FOLD_LEFT_49(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38233 #define BOOST_PP_LIST_FOLD_LEFT_50(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38234 #define BOOST_PP_LIST_FOLD_LEFT_51(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38235 #define BOOST_PP_LIST_FOLD_LEFT_52(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38236 #define BOOST_PP_LIST_FOLD_LEFT_53(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38237 #define BOOST_PP_LIST_FOLD_LEFT_54(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38238 #define BOOST_PP_LIST_FOLD_LEFT_55(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38239 #define BOOST_PP_LIST_FOLD_LEFT_56(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38240 #define BOOST_PP_LIST_FOLD_LEFT_57(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38241 #define BOOST_PP_LIST_FOLD_LEFT_58(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38242 #define BOOST_PP_LIST_FOLD_LEFT_59(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38243 #define BOOST_PP_LIST_FOLD_LEFT_60(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38244 #define BOOST_PP_LIST_FOLD_LEFT_61(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38245 #define BOOST_PP_LIST_FOLD_LEFT_62(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38246 #define BOOST_PP_LIST_FOLD_LEFT_63(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38247 #define BOOST_PP_LIST_FOLD_LEFT_64(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38248 #define BOOST_PP_LIST_FOLD_LEFT_65(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38249 #define BOOST_PP_LIST_FOLD_LEFT_66(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38250 #define BOOST_PP_LIST_FOLD_LEFT_67(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38251 #define BOOST_PP_LIST_FOLD_LEFT_68(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38252 #define BOOST_PP_LIST_FOLD_LEFT_69(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38253 #define BOOST_PP_LIST_FOLD_LEFT_70(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38254 #define BOOST_PP_LIST_FOLD_LEFT_71(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38255 #define BOOST_PP_LIST_FOLD_LEFT_72(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38256 #define BOOST_PP_LIST_FOLD_LEFT_73(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38257 #define BOOST_PP_LIST_FOLD_LEFT_74(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38258 #define BOOST_PP_LIST_FOLD_LEFT_75(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38259 #define BOOST_PP_LIST_FOLD_LEFT_76(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38260 #define BOOST_PP_LIST_FOLD_LEFT_77(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38261 #define BOOST_PP_LIST_FOLD_LEFT_78(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38262 #define BOOST_PP_LIST_FOLD_LEFT_79(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38263 #define BOOST_PP_LIST_FOLD_LEFT_80(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38264 #define BOOST_PP_LIST_FOLD_LEFT_81(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38265 #define BOOST_PP_LIST_FOLD_LEFT_82(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38266 #define BOOST_PP_LIST_FOLD_LEFT_83(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38267 #define BOOST_PP_LIST_FOLD_LEFT_84(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38268 #define BOOST_PP_LIST_FOLD_LEFT_85(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38269 #define BOOST_PP_LIST_FOLD_LEFT_86(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38270 #define BOOST_PP_LIST_FOLD_LEFT_87(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38271 #define BOOST_PP_LIST_FOLD_LEFT_88(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38272 #define BOOST_PP_LIST_FOLD_LEFT_89(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38273 #define BOOST_PP_LIST_FOLD_LEFT_90(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38274 #define BOOST_PP_LIST_FOLD_LEFT_91(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38275 #define BOOST_PP_LIST_FOLD_LEFT_92(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38276 #define BOOST_PP_LIST_FOLD_LEFT_93(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38277 #define BOOST_PP_LIST_FOLD_LEFT_94(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38278 #define BOOST_PP_LIST_FOLD_LEFT_95(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38279 #define BOOST_PP_LIST_FOLD_LEFT_96(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38280 #define BOOST_PP_LIST_FOLD_LEFT_97(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38281 #define BOOST_PP_LIST_FOLD_LEFT_98(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38282 #define BOOST_PP_LIST_FOLD_LEFT_99(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38283 #define BOOST_PP_LIST_FOLD_LEFT_100(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38284 #define BOOST_PP_LIST_FOLD_LEFT_101(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38285 #define BOOST_PP_LIST_FOLD_LEFT_102(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38286 #define BOOST_PP_LIST_FOLD_LEFT_103(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38287 #define BOOST_PP_LIST_FOLD_LEFT_104(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38288 #define BOOST_PP_LIST_FOLD_LEFT_105(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38289 #define BOOST_PP_LIST_FOLD_LEFT_106(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38290 #define BOOST_PP_LIST_FOLD_LEFT_107(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38291 #define BOOST_PP_LIST_FOLD_LEFT_108(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38292 #define BOOST_PP_LIST_FOLD_LEFT_109(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38293 #define BOOST_PP_LIST_FOLD_LEFT_110(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38294 #define BOOST_PP_LIST_FOLD_LEFT_111(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38295 #define BOOST_PP_LIST_FOLD_LEFT_112(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38296 #define BOOST_PP_LIST_FOLD_LEFT_113(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38297 #define BOOST_PP_LIST_FOLD_LEFT_114(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38298 #define BOOST_PP_LIST_FOLD_LEFT_115(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38299 #define BOOST_PP_LIST_FOLD_LEFT_116(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38300 #define BOOST_PP_LIST_FOLD_LEFT_117(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38301 #define BOOST_PP_LIST_FOLD_LEFT_118(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38302 #define BOOST_PP_LIST_FOLD_LEFT_119(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38303 #define BOOST_PP_LIST_FOLD_LEFT_120(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38304 #define BOOST_PP_LIST_FOLD_LEFT_121(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38305 #define BOOST_PP_LIST_FOLD_LEFT_122(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38306 #define BOOST_PP_LIST_FOLD_LEFT_123(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38307 #define BOOST_PP_LIST_FOLD_LEFT_124(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38308 #define BOOST_PP_LIST_FOLD_LEFT_125(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38309 #define BOOST_PP_LIST_FOLD_LEFT_126(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38310 #define BOOST_PP_LIST_FOLD_LEFT_127(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38311 #define BOOST_PP_LIST_FOLD_LEFT_128(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38312 #define BOOST_PP_LIST_FOLD_LEFT_129(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38313 #define BOOST_PP_LIST_FOLD_LEFT_130(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38314 #define BOOST_PP_LIST_FOLD_LEFT_131(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38315 #define BOOST_PP_LIST_FOLD_LEFT_132(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38316 #define BOOST_PP_LIST_FOLD_LEFT_133(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38317 #define BOOST_PP_LIST_FOLD_LEFT_134(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38318 #define BOOST_PP_LIST_FOLD_LEFT_135(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38319 #define BOOST_PP_LIST_FOLD_LEFT_136(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38320 #define BOOST_PP_LIST_FOLD_LEFT_137(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38321 #define BOOST_PP_LIST_FOLD_LEFT_138(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38322 #define BOOST_PP_LIST_FOLD_LEFT_139(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38323 #define BOOST_PP_LIST_FOLD_LEFT_140(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38324 #define BOOST_PP_LIST_FOLD_LEFT_141(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38325 #define BOOST_PP_LIST_FOLD_LEFT_142(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38326 #define BOOST_PP_LIST_FOLD_LEFT_143(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38327 #define BOOST_PP_LIST_FOLD_LEFT_144(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38328 #define BOOST_PP_LIST_FOLD_LEFT_145(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38329 #define BOOST_PP_LIST_FOLD_LEFT_146(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38330 #define BOOST_PP_LIST_FOLD_LEFT_147(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38331 #define BOOST_PP_LIST_FOLD_LEFT_148(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38332 #define BOOST_PP_LIST_FOLD_LEFT_149(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38333 #define BOOST_PP_LIST_FOLD_LEFT_150(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38334 #define BOOST_PP_LIST_FOLD_LEFT_151(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38335 #define BOOST_PP_LIST_FOLD_LEFT_152(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38336 #define BOOST_PP_LIST_FOLD_LEFT_153(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38337 #define BOOST_PP_LIST_FOLD_LEFT_154(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38338 #define BOOST_PP_LIST_FOLD_LEFT_155(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38339 #define BOOST_PP_LIST_FOLD_LEFT_156(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38340 #define BOOST_PP_LIST_FOLD_LEFT_157(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38341 #define BOOST_PP_LIST_FOLD_LEFT_158(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38342 #define BOOST_PP_LIST_FOLD_LEFT_159(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38343 #define BOOST_PP_LIST_FOLD_LEFT_160(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38344 #define BOOST_PP_LIST_FOLD_LEFT_161(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38345 #define BOOST_PP_LIST_FOLD_LEFT_162(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38346 #define BOOST_PP_LIST_FOLD_LEFT_163(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38347 #define BOOST_PP_LIST_FOLD_LEFT_164(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38348 #define BOOST_PP_LIST_FOLD_LEFT_165(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38349 #define BOOST_PP_LIST_FOLD_LEFT_166(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38350 #define BOOST_PP_LIST_FOLD_LEFT_167(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38351 #define BOOST_PP_LIST_FOLD_LEFT_168(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38352 #define BOOST_PP_LIST_FOLD_LEFT_169(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38353 #define BOOST_PP_LIST_FOLD_LEFT_170(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38354 #define BOOST_PP_LIST_FOLD_LEFT_171(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38355 #define BOOST_PP_LIST_FOLD_LEFT_172(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38356 #define BOOST_PP_LIST_FOLD_LEFT_173(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38357 #define BOOST_PP_LIST_FOLD_LEFT_174(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38358 #define BOOST_PP_LIST_FOLD_LEFT_175(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38359 #define BOOST_PP_LIST_FOLD_LEFT_176(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38360 #define BOOST_PP_LIST_FOLD_LEFT_177(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38361 #define BOOST_PP_LIST_FOLD_LEFT_178(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38362 #define BOOST_PP_LIST_FOLD_LEFT_179(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38363 #define BOOST_PP_LIST_FOLD_LEFT_180(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38364 #define BOOST_PP_LIST_FOLD_LEFT_181(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38365 #define BOOST_PP_LIST_FOLD_LEFT_182(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38366 #define BOOST_PP_LIST_FOLD_LEFT_183(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38367 #define BOOST_PP_LIST_FOLD_LEFT_184(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38368 #define BOOST_PP_LIST_FOLD_LEFT_185(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38369 #define BOOST_PP_LIST_FOLD_LEFT_186(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38370 #define BOOST_PP_LIST_FOLD_LEFT_187(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38371 #define BOOST_PP_LIST_FOLD_LEFT_188(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38372 #define BOOST_PP_LIST_FOLD_LEFT_189(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38373 #define BOOST_PP_LIST_FOLD_LEFT_190(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38374 #define BOOST_PP_LIST_FOLD_LEFT_191(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38375 #define BOOST_PP_LIST_FOLD_LEFT_192(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38376 #define BOOST_PP_LIST_FOLD_LEFT_193(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38377 #define BOOST_PP_LIST_FOLD_LEFT_194(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38378 #define BOOST_PP_LIST_FOLD_LEFT_195(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38379 #define BOOST_PP_LIST_FOLD_LEFT_196(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38380 #define BOOST_PP_LIST_FOLD_LEFT_197(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38381 #define BOOST_PP_LIST_FOLD_LEFT_198(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38382 #define BOOST_PP_LIST_FOLD_LEFT_199(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38383 #define BOOST_PP_LIST_FOLD_LEFT_200(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38384 #define BOOST_PP_LIST_FOLD_LEFT_201(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38385 #define BOOST_PP_LIST_FOLD_LEFT_202(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38386 #define BOOST_PP_LIST_FOLD_LEFT_203(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38387 #define BOOST_PP_LIST_FOLD_LEFT_204(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38388 #define BOOST_PP_LIST_FOLD_LEFT_205(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38389 #define BOOST_PP_LIST_FOLD_LEFT_206(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38390 #define BOOST_PP_LIST_FOLD_LEFT_207(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38391 #define BOOST_PP_LIST_FOLD_LEFT_208(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38392 #define BOOST_PP_LIST_FOLD_LEFT_209(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38393 #define BOOST_PP_LIST_FOLD_LEFT_210(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38394 #define BOOST_PP_LIST_FOLD_LEFT_211(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38395 #define BOOST_PP_LIST_FOLD_LEFT_212(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38396 #define BOOST_PP_LIST_FOLD_LEFT_213(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38397 #define BOOST_PP_LIST_FOLD_LEFT_214(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38398 #define BOOST_PP_LIST_FOLD_LEFT_215(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38399 #define BOOST_PP_LIST_FOLD_LEFT_216(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38400 #define BOOST_PP_LIST_FOLD_LEFT_217(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38401 #define BOOST_PP_LIST_FOLD_LEFT_218(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38402 #define BOOST_PP_LIST_FOLD_LEFT_219(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38403 #define BOOST_PP_LIST_FOLD_LEFT_220(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38404 #define BOOST_PP_LIST_FOLD_LEFT_221(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38405 #define BOOST_PP_LIST_FOLD_LEFT_222(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38406 #define BOOST_PP_LIST_FOLD_LEFT_223(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38407 #define BOOST_PP_LIST_FOLD_LEFT_224(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38408 #define BOOST_PP_LIST_FOLD_LEFT_225(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38409 #define BOOST_PP_LIST_FOLD_LEFT_226(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38410 #define BOOST_PP_LIST_FOLD_LEFT_227(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38411 #define BOOST_PP_LIST_FOLD_LEFT_228(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38412 #define BOOST_PP_LIST_FOLD_LEFT_229(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38413 #define BOOST_PP_LIST_FOLD_LEFT_230(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38414 #define BOOST_PP_LIST_FOLD_LEFT_231(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38415 #define BOOST_PP_LIST_FOLD_LEFT_232(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38416 #define BOOST_PP_LIST_FOLD_LEFT_233(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38417 #define BOOST_PP_LIST_FOLD_LEFT_234(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38418 #define BOOST_PP_LIST_FOLD_LEFT_235(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38419 #define BOOST_PP_LIST_FOLD_LEFT_236(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38420 #define BOOST_PP_LIST_FOLD_LEFT_237(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38421 #define BOOST_PP_LIST_FOLD_LEFT_238(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38422 #define BOOST_PP_LIST_FOLD_LEFT_239(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38423 #define BOOST_PP_LIST_FOLD_LEFT_240(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38424 #define BOOST_PP_LIST_FOLD_LEFT_241(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38425 #define BOOST_PP_LIST_FOLD_LEFT_242(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38426 #define BOOST_PP_LIST_FOLD_LEFT_243(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38427 #define BOOST_PP_LIST_FOLD_LEFT_244(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38428 #define BOOST_PP_LIST_FOLD_LEFT_245(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38429 #define BOOST_PP_LIST_FOLD_LEFT_246(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38430 #define BOOST_PP_LIST_FOLD_LEFT_247(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38431 #define BOOST_PP_LIST_FOLD_LEFT_248(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38432 #define BOOST_PP_LIST_FOLD_LEFT_249(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38433 #define BOOST_PP_LIST_FOLD_LEFT_250(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38434 #define BOOST_PP_LIST_FOLD_LEFT_251(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38435 #define BOOST_PP_LIST_FOLD_LEFT_252(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38436 #define BOOST_PP_LIST_FOLD_LEFT_253(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38437 #define BOOST_PP_LIST_FOLD_LEFT_254(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38438 #define BOOST_PP_LIST_FOLD_LEFT_255(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38439 #define BOOST_PP_LIST_FOLD_LEFT_256(o,s,l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
38440 # 42 "/usr/include/boost/preprocessor/list/fold_left.hpp" 2 3 4
38441
38442
38443 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_NIL 1
38444
38445 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1(o,s,l) 0
38446 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_2(o,s,l) 0
38447 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_3(o,s,l) 0
38448 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_4(o,s,l) 0
38449 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_5(o,s,l) 0
38450 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_6(o,s,l) 0
38451 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_7(o,s,l) 0
38452 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_8(o,s,l) 0
38453 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_9(o,s,l) 0
38454 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_10(o,s,l) 0
38455 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_11(o,s,l) 0
38456 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_12(o,s,l) 0
38457 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_13(o,s,l) 0
38458 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_14(o,s,l) 0
38459 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_15(o,s,l) 0
38460 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_16(o,s,l) 0
38461 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_17(o,s,l) 0
38462 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_18(o,s,l) 0
38463 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_19(o,s,l) 0
38464 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_20(o,s,l) 0
38465 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_21(o,s,l) 0
38466 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_22(o,s,l) 0
38467 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_23(o,s,l) 0
38468 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_24(o,s,l) 0
38469 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_25(o,s,l) 0
38470 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_26(o,s,l) 0
38471 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_27(o,s,l) 0
38472 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_28(o,s,l) 0
38473 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_29(o,s,l) 0
38474 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_30(o,s,l) 0
38475 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_31(o,s,l) 0
38476 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_32(o,s,l) 0
38477 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_33(o,s,l) 0
38478 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_34(o,s,l) 0
38479 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_35(o,s,l) 0
38480 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_36(o,s,l) 0
38481 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_37(o,s,l) 0
38482 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_38(o,s,l) 0
38483 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_39(o,s,l) 0
38484 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_40(o,s,l) 0
38485 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_41(o,s,l) 0
38486 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_42(o,s,l) 0
38487 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_43(o,s,l) 0
38488 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_44(o,s,l) 0
38489 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_45(o,s,l) 0
38490 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_46(o,s,l) 0
38491 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_47(o,s,l) 0
38492 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_48(o,s,l) 0
38493 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_49(o,s,l) 0
38494 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_50(o,s,l) 0
38495 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_51(o,s,l) 0
38496 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_52(o,s,l) 0
38497 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_53(o,s,l) 0
38498 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_54(o,s,l) 0
38499 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_55(o,s,l) 0
38500 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_56(o,s,l) 0
38501 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_57(o,s,l) 0
38502 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_58(o,s,l) 0
38503 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_59(o,s,l) 0
38504 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_60(o,s,l) 0
38505 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_61(o,s,l) 0
38506 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_62(o,s,l) 0
38507 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_63(o,s,l) 0
38508 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_64(o,s,l) 0
38509 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_65(o,s,l) 0
38510 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_66(o,s,l) 0
38511 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_67(o,s,l) 0
38512 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_68(o,s,l) 0
38513 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_69(o,s,l) 0
38514 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_70(o,s,l) 0
38515 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_71(o,s,l) 0
38516 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_72(o,s,l) 0
38517 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_73(o,s,l) 0
38518 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_74(o,s,l) 0
38519 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_75(o,s,l) 0
38520 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_76(o,s,l) 0
38521 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_77(o,s,l) 0
38522 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_78(o,s,l) 0
38523 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_79(o,s,l) 0
38524 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_80(o,s,l) 0
38525 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_81(o,s,l) 0
38526 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_82(o,s,l) 0
38527 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_83(o,s,l) 0
38528 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_84(o,s,l) 0
38529 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_85(o,s,l) 0
38530 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_86(o,s,l) 0
38531 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_87(o,s,l) 0
38532 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_88(o,s,l) 0
38533 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_89(o,s,l) 0
38534 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_90(o,s,l) 0
38535 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_91(o,s,l) 0
38536 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_92(o,s,l) 0
38537 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_93(o,s,l) 0
38538 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_94(o,s,l) 0
38539 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_95(o,s,l) 0
38540 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_96(o,s,l) 0
38541 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_97(o,s,l) 0
38542 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_98(o,s,l) 0
38543 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_99(o,s,l) 0
38544 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_100(o,s,l) 0
38545 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_101(o,s,l) 0
38546 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_102(o,s,l) 0
38547 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_103(o,s,l) 0
38548 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_104(o,s,l) 0
38549 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_105(o,s,l) 0
38550 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_106(o,s,l) 0
38551 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_107(o,s,l) 0
38552 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_108(o,s,l) 0
38553 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_109(o,s,l) 0
38554 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_110(o,s,l) 0
38555 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_111(o,s,l) 0
38556 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_112(o,s,l) 0
38557 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_113(o,s,l) 0
38558 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_114(o,s,l) 0
38559 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_115(o,s,l) 0
38560 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_116(o,s,l) 0
38561 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_117(o,s,l) 0
38562 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_118(o,s,l) 0
38563 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_119(o,s,l) 0
38564 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_120(o,s,l) 0
38565 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_121(o,s,l) 0
38566 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_122(o,s,l) 0
38567 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_123(o,s,l) 0
38568 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_124(o,s,l) 0
38569 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_125(o,s,l) 0
38570 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_126(o,s,l) 0
38571 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_127(o,s,l) 0
38572 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_128(o,s,l) 0
38573 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_129(o,s,l) 0
38574 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_130(o,s,l) 0
38575 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_131(o,s,l) 0
38576 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_132(o,s,l) 0
38577 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_133(o,s,l) 0
38578 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_134(o,s,l) 0
38579 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_135(o,s,l) 0
38580 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_136(o,s,l) 0
38581 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_137(o,s,l) 0
38582 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_138(o,s,l) 0
38583 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_139(o,s,l) 0
38584 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_140(o,s,l) 0
38585 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_141(o,s,l) 0
38586 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_142(o,s,l) 0
38587 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_143(o,s,l) 0
38588 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_144(o,s,l) 0
38589 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_145(o,s,l) 0
38590 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_146(o,s,l) 0
38591 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_147(o,s,l) 0
38592 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_148(o,s,l) 0
38593 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_149(o,s,l) 0
38594 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_150(o,s,l) 0
38595 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_151(o,s,l) 0
38596 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_152(o,s,l) 0
38597 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_153(o,s,l) 0
38598 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_154(o,s,l) 0
38599 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_155(o,s,l) 0
38600 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_156(o,s,l) 0
38601 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_157(o,s,l) 0
38602 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_158(o,s,l) 0
38603 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_159(o,s,l) 0
38604 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_160(o,s,l) 0
38605 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_161(o,s,l) 0
38606 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_162(o,s,l) 0
38607 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_163(o,s,l) 0
38608 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_164(o,s,l) 0
38609 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_165(o,s,l) 0
38610 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_166(o,s,l) 0
38611 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_167(o,s,l) 0
38612 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_168(o,s,l) 0
38613 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_169(o,s,l) 0
38614 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_170(o,s,l) 0
38615 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_171(o,s,l) 0
38616 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_172(o,s,l) 0
38617 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_173(o,s,l) 0
38618 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_174(o,s,l) 0
38619 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_175(o,s,l) 0
38620 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_176(o,s,l) 0
38621 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_177(o,s,l) 0
38622 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_178(o,s,l) 0
38623 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_179(o,s,l) 0
38624 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_180(o,s,l) 0
38625 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_181(o,s,l) 0
38626 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_182(o,s,l) 0
38627 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_183(o,s,l) 0
38628 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_184(o,s,l) 0
38629 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_185(o,s,l) 0
38630 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_186(o,s,l) 0
38631 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_187(o,s,l) 0
38632 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_188(o,s,l) 0
38633 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_189(o,s,l) 0
38634 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_190(o,s,l) 0
38635 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_191(o,s,l) 0
38636 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_192(o,s,l) 0
38637 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_193(o,s,l) 0
38638 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_194(o,s,l) 0
38639 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_195(o,s,l) 0
38640 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_196(o,s,l) 0
38641 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_197(o,s,l) 0
38642 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_198(o,s,l) 0
38643 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_199(o,s,l) 0
38644 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_200(o,s,l) 0
38645 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_201(o,s,l) 0
38646 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_202(o,s,l) 0
38647 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_203(o,s,l) 0
38648 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_204(o,s,l) 0
38649 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_205(o,s,l) 0
38650 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_206(o,s,l) 0
38651 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_207(o,s,l) 0
38652 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_208(o,s,l) 0
38653 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_209(o,s,l) 0
38654 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_210(o,s,l) 0
38655 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_211(o,s,l) 0
38656 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_212(o,s,l) 0
38657 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_213(o,s,l) 0
38658 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_214(o,s,l) 0
38659 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_215(o,s,l) 0
38660 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_216(o,s,l) 0
38661 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_217(o,s,l) 0
38662 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_218(o,s,l) 0
38663 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_219(o,s,l) 0
38664 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_220(o,s,l) 0
38665 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_221(o,s,l) 0
38666 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_222(o,s,l) 0
38667 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_223(o,s,l) 0
38668 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_224(o,s,l) 0
38669 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_225(o,s,l) 0
38670 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_226(o,s,l) 0
38671 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_227(o,s,l) 0
38672 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_228(o,s,l) 0
38673 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_229(o,s,l) 0
38674 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_230(o,s,l) 0
38675 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_231(o,s,l) 0
38676 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_232(o,s,l) 0
38677 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_233(o,s,l) 0
38678 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_234(o,s,l) 0
38679 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_235(o,s,l) 0
38680 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_236(o,s,l) 0
38681 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_237(o,s,l) 0
38682 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_238(o,s,l) 0
38683 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_239(o,s,l) 0
38684 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_240(o,s,l) 0
38685 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_241(o,s,l) 0
38686 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_242(o,s,l) 0
38687 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_243(o,s,l) 0
38688 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_244(o,s,l) 0
38689 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_245(o,s,l) 0
38690 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_246(o,s,l) 0
38691 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_247(o,s,l) 0
38692 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_248(o,s,l) 0
38693 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_249(o,s,l) 0
38694 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_250(o,s,l) 0
38695 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_251(o,s,l) 0
38696 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_252(o,s,l) 0
38697 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_253(o,s,l) 0
38698 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_254(o,s,l) 0
38699 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_255(o,s,l) 0
38700 #define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_256(o,s,l) 0
38701 # 22 "/usr/include/boost/preprocessor/control/while.hpp" 2 3 4
38702 # 1 "/usr/include/boost/preprocessor/list/fold_right.hpp" 1 3 4
38703 # 15 "/usr/include/boost/preprocessor/list/fold_right.hpp" 3 4
38704 #define BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP 
38705
38706
38707
38708
38709 # 1 "/usr/include/boost/preprocessor/detail/auto_rec.hpp" 1 3 4
38710 # 21 "/usr/include/boost/preprocessor/list/fold_right.hpp" 2 3 4
38711
38712
38713
38714
38715
38716 #define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
38717
38718 #define BOOST_PP_LIST_FOLD_RIGHT_257(o,s,l) BOOST_PP_ERROR(0x0004)
38719
38720 #define BOOST_PP_LIST_FOLD_RIGHT_D(d,o,s,l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l)
38721 #define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT
38722 #define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D
38723
38724
38725
38726
38727 # 1 "/usr/include/boost/preprocessor/list/detail/fold_right.hpp" 1 3 4
38728 # 15 "/usr/include/boost/preprocessor/list/detail/fold_right.hpp" 3 4
38729 #define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP 
38730
38731
38732 # 1 "/usr/include/boost/preprocessor/list/reverse.hpp" 1 3 4
38733 # 15 "/usr/include/boost/preprocessor/list/reverse.hpp" 3 4
38734 #define BOOST_PREPROCESSOR_LIST_REVERSE_HPP 
38735
38736
38737
38738
38739
38740
38741
38742 #define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
38743
38744
38745
38746
38747
38748 #define BOOST_PP_LIST_REVERSE_O(d,s,x) (x, s)
38749
38750
38751
38752
38753 #define BOOST_PP_LIST_REVERSE_D(d,list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
38754 # 19 "/usr/include/boost/preprocessor/list/detail/fold_right.hpp" 2 3 4
38755
38756 #define BOOST_PP_LIST_FOLD_RIGHT_1(o,s,l) BOOST_PP_LIST_FOLD_LEFT_1(o, s, BOOST_PP_LIST_REVERSE_D(1, l))
38757 #define BOOST_PP_LIST_FOLD_RIGHT_2(o,s,l) BOOST_PP_LIST_FOLD_LEFT_2(o, s, BOOST_PP_LIST_REVERSE_D(2, l))
38758 #define BOOST_PP_LIST_FOLD_RIGHT_3(o,s,l) BOOST_PP_LIST_FOLD_LEFT_3(o, s, BOOST_PP_LIST_REVERSE_D(3, l))
38759 #define BOOST_PP_LIST_FOLD_RIGHT_4(o,s,l) BOOST_PP_LIST_FOLD_LEFT_4(o, s, BOOST_PP_LIST_REVERSE_D(4, l))
38760 #define BOOST_PP_LIST_FOLD_RIGHT_5(o,s,l) BOOST_PP_LIST_FOLD_LEFT_5(o, s, BOOST_PP_LIST_REVERSE_D(5, l))
38761 #define BOOST_PP_LIST_FOLD_RIGHT_6(o,s,l) BOOST_PP_LIST_FOLD_LEFT_6(o, s, BOOST_PP_LIST_REVERSE_D(6, l))
38762 #define BOOST_PP_LIST_FOLD_RIGHT_7(o,s,l) BOOST_PP_LIST_FOLD_LEFT_7(o, s, BOOST_PP_LIST_REVERSE_D(7, l))
38763 #define BOOST_PP_LIST_FOLD_RIGHT_8(o,s,l) BOOST_PP_LIST_FOLD_LEFT_8(o, s, BOOST_PP_LIST_REVERSE_D(8, l))
38764 #define BOOST_PP_LIST_FOLD_RIGHT_9(o,s,l) BOOST_PP_LIST_FOLD_LEFT_9(o, s, BOOST_PP_LIST_REVERSE_D(9, l))
38765 #define BOOST_PP_LIST_FOLD_RIGHT_10(o,s,l) BOOST_PP_LIST_FOLD_LEFT_10(o, s, BOOST_PP_LIST_REVERSE_D(10, l))
38766 #define BOOST_PP_LIST_FOLD_RIGHT_11(o,s,l) BOOST_PP_LIST_FOLD_LEFT_11(o, s, BOOST_PP_LIST_REVERSE_D(11, l))
38767 #define BOOST_PP_LIST_FOLD_RIGHT_12(o,s,l) BOOST_PP_LIST_FOLD_LEFT_12(o, s, BOOST_PP_LIST_REVERSE_D(12, l))
38768 #define BOOST_PP_LIST_FOLD_RIGHT_13(o,s,l) BOOST_PP_LIST_FOLD_LEFT_13(o, s, BOOST_PP_LIST_REVERSE_D(13, l))
38769 #define BOOST_PP_LIST_FOLD_RIGHT_14(o,s,l) BOOST_PP_LIST_FOLD_LEFT_14(o, s, BOOST_PP_LIST_REVERSE_D(14, l))
38770 #define BOOST_PP_LIST_FOLD_RIGHT_15(o,s,l) BOOST_PP_LIST_FOLD_LEFT_15(o, s, BOOST_PP_LIST_REVERSE_D(15, l))
38771 #define BOOST_PP_LIST_FOLD_RIGHT_16(o,s,l) BOOST_PP_LIST_FOLD_LEFT_16(o, s, BOOST_PP_LIST_REVERSE_D(16, l))
38772 #define BOOST_PP_LIST_FOLD_RIGHT_17(o,s,l) BOOST_PP_LIST_FOLD_LEFT_17(o, s, BOOST_PP_LIST_REVERSE_D(17, l))
38773 #define BOOST_PP_LIST_FOLD_RIGHT_18(o,s,l) BOOST_PP_LIST_FOLD_LEFT_18(o, s, BOOST_PP_LIST_REVERSE_D(18, l))
38774 #define BOOST_PP_LIST_FOLD_RIGHT_19(o,s,l) BOOST_PP_LIST_FOLD_LEFT_19(o, s, BOOST_PP_LIST_REVERSE_D(19, l))
38775 #define BOOST_PP_LIST_FOLD_RIGHT_20(o,s,l) BOOST_PP_LIST_FOLD_LEFT_20(o, s, BOOST_PP_LIST_REVERSE_D(20, l))
38776 #define BOOST_PP_LIST_FOLD_RIGHT_21(o,s,l) BOOST_PP_LIST_FOLD_LEFT_21(o, s, BOOST_PP_LIST_REVERSE_D(21, l))
38777 #define BOOST_PP_LIST_FOLD_RIGHT_22(o,s,l) BOOST_PP_LIST_FOLD_LEFT_22(o, s, BOOST_PP_LIST_REVERSE_D(22, l))
38778 #define BOOST_PP_LIST_FOLD_RIGHT_23(o,s,l) BOOST_PP_LIST_FOLD_LEFT_23(o, s, BOOST_PP_LIST_REVERSE_D(23, l))
38779 #define BOOST_PP_LIST_FOLD_RIGHT_24(o,s,l) BOOST_PP_LIST_FOLD_LEFT_24(o, s, BOOST_PP_LIST_REVERSE_D(24, l))
38780 #define BOOST_PP_LIST_FOLD_RIGHT_25(o,s,l) BOOST_PP_LIST_FOLD_LEFT_25(o, s, BOOST_PP_LIST_REVERSE_D(25, l))
38781 #define BOOST_PP_LIST_FOLD_RIGHT_26(o,s,l) BOOST_PP_LIST_FOLD_LEFT_26(o, s, BOOST_PP_LIST_REVERSE_D(26, l))
38782 #define BOOST_PP_LIST_FOLD_RIGHT_27(o,s,l) BOOST_PP_LIST_FOLD_LEFT_27(o, s, BOOST_PP_LIST_REVERSE_D(27, l))
38783 #define BOOST_PP_LIST_FOLD_RIGHT_28(o,s,l) BOOST_PP_LIST_FOLD_LEFT_28(o, s, BOOST_PP_LIST_REVERSE_D(28, l))
38784 #define BOOST_PP_LIST_FOLD_RIGHT_29(o,s,l) BOOST_PP_LIST_FOLD_LEFT_29(o, s, BOOST_PP_LIST_REVERSE_D(29, l))
38785 #define BOOST_PP_LIST_FOLD_RIGHT_30(o,s,l) BOOST_PP_LIST_FOLD_LEFT_30(o, s, BOOST_PP_LIST_REVERSE_D(30, l))
38786 #define BOOST_PP_LIST_FOLD_RIGHT_31(o,s,l) BOOST_PP_LIST_FOLD_LEFT_31(o, s, BOOST_PP_LIST_REVERSE_D(31, l))
38787 #define BOOST_PP_LIST_FOLD_RIGHT_32(o,s,l) BOOST_PP_LIST_FOLD_LEFT_32(o, s, BOOST_PP_LIST_REVERSE_D(32, l))
38788 #define BOOST_PP_LIST_FOLD_RIGHT_33(o,s,l) BOOST_PP_LIST_FOLD_LEFT_33(o, s, BOOST_PP_LIST_REVERSE_D(33, l))
38789 #define BOOST_PP_LIST_FOLD_RIGHT_34(o,s,l) BOOST_PP_LIST_FOLD_LEFT_34(o, s, BOOST_PP_LIST_REVERSE_D(34, l))
38790 #define BOOST_PP_LIST_FOLD_RIGHT_35(o,s,l) BOOST_PP_LIST_FOLD_LEFT_35(o, s, BOOST_PP_LIST_REVERSE_D(35, l))
38791 #define BOOST_PP_LIST_FOLD_RIGHT_36(o,s,l) BOOST_PP_LIST_FOLD_LEFT_36(o, s, BOOST_PP_LIST_REVERSE_D(36, l))
38792 #define BOOST_PP_LIST_FOLD_RIGHT_37(o,s,l) BOOST_PP_LIST_FOLD_LEFT_37(o, s, BOOST_PP_LIST_REVERSE_D(37, l))
38793 #define BOOST_PP_LIST_FOLD_RIGHT_38(o,s,l) BOOST_PP_LIST_FOLD_LEFT_38(o, s, BOOST_PP_LIST_REVERSE_D(38, l))
38794 #define BOOST_PP_LIST_FOLD_RIGHT_39(o,s,l) BOOST_PP_LIST_FOLD_LEFT_39(o, s, BOOST_PP_LIST_REVERSE_D(39, l))
38795 #define BOOST_PP_LIST_FOLD_RIGHT_40(o,s,l) BOOST_PP_LIST_FOLD_LEFT_40(o, s, BOOST_PP_LIST_REVERSE_D(40, l))
38796 #define BOOST_PP_LIST_FOLD_RIGHT_41(o,s,l) BOOST_PP_LIST_FOLD_LEFT_41(o, s, BOOST_PP_LIST_REVERSE_D(41, l))
38797 #define BOOST_PP_LIST_FOLD_RIGHT_42(o,s,l) BOOST_PP_LIST_FOLD_LEFT_42(o, s, BOOST_PP_LIST_REVERSE_D(42, l))
38798 #define BOOST_PP_LIST_FOLD_RIGHT_43(o,s,l) BOOST_PP_LIST_FOLD_LEFT_43(o, s, BOOST_PP_LIST_REVERSE_D(43, l))
38799 #define BOOST_PP_LIST_FOLD_RIGHT_44(o,s,l) BOOST_PP_LIST_FOLD_LEFT_44(o, s, BOOST_PP_LIST_REVERSE_D(44, l))
38800 #define BOOST_PP_LIST_FOLD_RIGHT_45(o,s,l) BOOST_PP_LIST_FOLD_LEFT_45(o, s, BOOST_PP_LIST_REVERSE_D(45, l))
38801 #define BOOST_PP_LIST_FOLD_RIGHT_46(o,s,l) BOOST_PP_LIST_FOLD_LEFT_46(o, s, BOOST_PP_LIST_REVERSE_D(46, l))
38802 #define BOOST_PP_LIST_FOLD_RIGHT_47(o,s,l) BOOST_PP_LIST_FOLD_LEFT_47(o, s, BOOST_PP_LIST_REVERSE_D(47, l))
38803 #define BOOST_PP_LIST_FOLD_RIGHT_48(o,s,l) BOOST_PP_LIST_FOLD_LEFT_48(o, s, BOOST_PP_LIST_REVERSE_D(48, l))
38804 #define BOOST_PP_LIST_FOLD_RIGHT_49(o,s,l) BOOST_PP_LIST_FOLD_LEFT_49(o, s, BOOST_PP_LIST_REVERSE_D(49, l))
38805 #define BOOST_PP_LIST_FOLD_RIGHT_50(o,s,l) BOOST_PP_LIST_FOLD_LEFT_50(o, s, BOOST_PP_LIST_REVERSE_D(50, l))
38806 #define BOOST_PP_LIST_FOLD_RIGHT_51(o,s,l) BOOST_PP_LIST_FOLD_LEFT_51(o, s, BOOST_PP_LIST_REVERSE_D(51, l))
38807 #define BOOST_PP_LIST_FOLD_RIGHT_52(o,s,l) BOOST_PP_LIST_FOLD_LEFT_52(o, s, BOOST_PP_LIST_REVERSE_D(52, l))
38808 #define BOOST_PP_LIST_FOLD_RIGHT_53(o,s,l) BOOST_PP_LIST_FOLD_LEFT_53(o, s, BOOST_PP_LIST_REVERSE_D(53, l))
38809 #define BOOST_PP_LIST_FOLD_RIGHT_54(o,s,l) BOOST_PP_LIST_FOLD_LEFT_54(o, s, BOOST_PP_LIST_REVERSE_D(54, l))
38810 #define BOOST_PP_LIST_FOLD_RIGHT_55(o,s,l) BOOST_PP_LIST_FOLD_LEFT_55(o, s, BOOST_PP_LIST_REVERSE_D(55, l))
38811 #define BOOST_PP_LIST_FOLD_RIGHT_56(o,s,l) BOOST_PP_LIST_FOLD_LEFT_56(o, s, BOOST_PP_LIST_REVERSE_D(56, l))
38812 #define BOOST_PP_LIST_FOLD_RIGHT_57(o,s,l) BOOST_PP_LIST_FOLD_LEFT_57(o, s, BOOST_PP_LIST_REVERSE_D(57, l))
38813 #define BOOST_PP_LIST_FOLD_RIGHT_58(o,s,l) BOOST_PP_LIST_FOLD_LEFT_58(o, s, BOOST_PP_LIST_REVERSE_D(58, l))
38814 #define BOOST_PP_LIST_FOLD_RIGHT_59(o,s,l) BOOST_PP_LIST_FOLD_LEFT_59(o, s, BOOST_PP_LIST_REVERSE_D(59, l))
38815 #define BOOST_PP_LIST_FOLD_RIGHT_60(o,s,l) BOOST_PP_LIST_FOLD_LEFT_60(o, s, BOOST_PP_LIST_REVERSE_D(60, l))
38816 #define BOOST_PP_LIST_FOLD_RIGHT_61(o,s,l) BOOST_PP_LIST_FOLD_LEFT_61(o, s, BOOST_PP_LIST_REVERSE_D(61, l))
38817 #define BOOST_PP_LIST_FOLD_RIGHT_62(o,s,l) BOOST_PP_LIST_FOLD_LEFT_62(o, s, BOOST_PP_LIST_REVERSE_D(62, l))
38818 #define BOOST_PP_LIST_FOLD_RIGHT_63(o,s,l) BOOST_PP_LIST_FOLD_LEFT_63(o, s, BOOST_PP_LIST_REVERSE_D(63, l))
38819 #define BOOST_PP_LIST_FOLD_RIGHT_64(o,s,l) BOOST_PP_LIST_FOLD_LEFT_64(o, s, BOOST_PP_LIST_REVERSE_D(64, l))
38820 #define BOOST_PP_LIST_FOLD_RIGHT_65(o,s,l) BOOST_PP_LIST_FOLD_LEFT_65(o, s, BOOST_PP_LIST_REVERSE_D(65, l))
38821 #define BOOST_PP_LIST_FOLD_RIGHT_66(o,s,l) BOOST_PP_LIST_FOLD_LEFT_66(o, s, BOOST_PP_LIST_REVERSE_D(66, l))
38822 #define BOOST_PP_LIST_FOLD_RIGHT_67(o,s,l) BOOST_PP_LIST_FOLD_LEFT_67(o, s, BOOST_PP_LIST_REVERSE_D(67, l))
38823 #define BOOST_PP_LIST_FOLD_RIGHT_68(o,s,l) BOOST_PP_LIST_FOLD_LEFT_68(o, s, BOOST_PP_LIST_REVERSE_D(68, l))
38824 #define BOOST_PP_LIST_FOLD_RIGHT_69(o,s,l) BOOST_PP_LIST_FOLD_LEFT_69(o, s, BOOST_PP_LIST_REVERSE_D(69, l))
38825 #define BOOST_PP_LIST_FOLD_RIGHT_70(o,s,l) BOOST_PP_LIST_FOLD_LEFT_70(o, s, BOOST_PP_LIST_REVERSE_D(70, l))
38826 #define BOOST_PP_LIST_FOLD_RIGHT_71(o,s,l) BOOST_PP_LIST_FOLD_LEFT_71(o, s, BOOST_PP_LIST_REVERSE_D(71, l))
38827 #define BOOST_PP_LIST_FOLD_RIGHT_72(o,s,l) BOOST_PP_LIST_FOLD_LEFT_72(o, s, BOOST_PP_LIST_REVERSE_D(72, l))
38828 #define BOOST_PP_LIST_FOLD_RIGHT_73(o,s,l) BOOST_PP_LIST_FOLD_LEFT_73(o, s, BOOST_PP_LIST_REVERSE_D(73, l))
38829 #define BOOST_PP_LIST_FOLD_RIGHT_74(o,s,l) BOOST_PP_LIST_FOLD_LEFT_74(o, s, BOOST_PP_LIST_REVERSE_D(74, l))
38830 #define BOOST_PP_LIST_FOLD_RIGHT_75(o,s,l) BOOST_PP_LIST_FOLD_LEFT_75(o, s, BOOST_PP_LIST_REVERSE_D(75, l))
38831 #define BOOST_PP_LIST_FOLD_RIGHT_76(o,s,l) BOOST_PP_LIST_FOLD_LEFT_76(o, s, BOOST_PP_LIST_REVERSE_D(76, l))
38832 #define BOOST_PP_LIST_FOLD_RIGHT_77(o,s,l) BOOST_PP_LIST_FOLD_LEFT_77(o, s, BOOST_PP_LIST_REVERSE_D(77, l))
38833 #define BOOST_PP_LIST_FOLD_RIGHT_78(o,s,l) BOOST_PP_LIST_FOLD_LEFT_78(o, s, BOOST_PP_LIST_REVERSE_D(78, l))
38834 #define BOOST_PP_LIST_FOLD_RIGHT_79(o,s,l) BOOST_PP_LIST_FOLD_LEFT_79(o, s, BOOST_PP_LIST_REVERSE_D(79, l))
38835 #define BOOST_PP_LIST_FOLD_RIGHT_80(o,s,l) BOOST_PP_LIST_FOLD_LEFT_80(o, s, BOOST_PP_LIST_REVERSE_D(80, l))
38836 #define BOOST_PP_LIST_FOLD_RIGHT_81(o,s,l) BOOST_PP_LIST_FOLD_LEFT_81(o, s, BOOST_PP_LIST_REVERSE_D(81, l))
38837 #define BOOST_PP_LIST_FOLD_RIGHT_82(o,s,l) BOOST_PP_LIST_FOLD_LEFT_82(o, s, BOOST_PP_LIST_REVERSE_D(82, l))
38838 #define BOOST_PP_LIST_FOLD_RIGHT_83(o,s,l) BOOST_PP_LIST_FOLD_LEFT_83(o, s, BOOST_PP_LIST_REVERSE_D(83, l))
38839 #define BOOST_PP_LIST_FOLD_RIGHT_84(o,s,l) BOOST_PP_LIST_FOLD_LEFT_84(o, s, BOOST_PP_LIST_REVERSE_D(84, l))
38840 #define BOOST_PP_LIST_FOLD_RIGHT_85(o,s,l) BOOST_PP_LIST_FOLD_LEFT_85(o, s, BOOST_PP_LIST_REVERSE_D(85, l))
38841 #define BOOST_PP_LIST_FOLD_RIGHT_86(o,s,l) BOOST_PP_LIST_FOLD_LEFT_86(o, s, BOOST_PP_LIST_REVERSE_D(86, l))
38842 #define BOOST_PP_LIST_FOLD_RIGHT_87(o,s,l) BOOST_PP_LIST_FOLD_LEFT_87(o, s, BOOST_PP_LIST_REVERSE_D(87, l))
38843 #define BOOST_PP_LIST_FOLD_RIGHT_88(o,s,l) BOOST_PP_LIST_FOLD_LEFT_88(o, s, BOOST_PP_LIST_REVERSE_D(88, l))
38844 #define BOOST_PP_LIST_FOLD_RIGHT_89(o,s,l) BOOST_PP_LIST_FOLD_LEFT_89(o, s, BOOST_PP_LIST_REVERSE_D(89, l))
38845 #define BOOST_PP_LIST_FOLD_RIGHT_90(o,s,l) BOOST_PP_LIST_FOLD_LEFT_90(o, s, BOOST_PP_LIST_REVERSE_D(90, l))
38846 #define BOOST_PP_LIST_FOLD_RIGHT_91(o,s,l) BOOST_PP_LIST_FOLD_LEFT_91(o, s, BOOST_PP_LIST_REVERSE_D(91, l))
38847 #define BOOST_PP_LIST_FOLD_RIGHT_92(o,s,l) BOOST_PP_LIST_FOLD_LEFT_92(o, s, BOOST_PP_LIST_REVERSE_D(92, l))
38848 #define BOOST_PP_LIST_FOLD_RIGHT_93(o,s,l) BOOST_PP_LIST_FOLD_LEFT_93(o, s, BOOST_PP_LIST_REVERSE_D(93, l))
38849 #define BOOST_PP_LIST_FOLD_RIGHT_94(o,s,l) BOOST_PP_LIST_FOLD_LEFT_94(o, s, BOOST_PP_LIST_REVERSE_D(94, l))
38850 #define BOOST_PP_LIST_FOLD_RIGHT_95(o,s,l) BOOST_PP_LIST_FOLD_LEFT_95(o, s, BOOST_PP_LIST_REVERSE_D(95, l))
38851 #define BOOST_PP_LIST_FOLD_RIGHT_96(o,s,l) BOOST_PP_LIST_FOLD_LEFT_96(o, s, BOOST_PP_LIST_REVERSE_D(96, l))
38852 #define BOOST_PP_LIST_FOLD_RIGHT_97(o,s,l) BOOST_PP_LIST_FOLD_LEFT_97(o, s, BOOST_PP_LIST_REVERSE_D(97, l))
38853 #define BOOST_PP_LIST_FOLD_RIGHT_98(o,s,l) BOOST_PP_LIST_FOLD_LEFT_98(o, s, BOOST_PP_LIST_REVERSE_D(98, l))
38854 #define BOOST_PP_LIST_FOLD_RIGHT_99(o,s,l) BOOST_PP_LIST_FOLD_LEFT_99(o, s, BOOST_PP_LIST_REVERSE_D(99, l))
38855 #define BOOST_PP_LIST_FOLD_RIGHT_100(o,s,l) BOOST_PP_LIST_FOLD_LEFT_100(o, s, BOOST_PP_LIST_REVERSE_D(100, l))
38856 #define BOOST_PP_LIST_FOLD_RIGHT_101(o,s,l) BOOST_PP_LIST_FOLD_LEFT_101(o, s, BOOST_PP_LIST_REVERSE_D(101, l))
38857 #define BOOST_PP_LIST_FOLD_RIGHT_102(o,s,l) BOOST_PP_LIST_FOLD_LEFT_102(o, s, BOOST_PP_LIST_REVERSE_D(102, l))
38858 #define BOOST_PP_LIST_FOLD_RIGHT_103(o,s,l) BOOST_PP_LIST_FOLD_LEFT_103(o, s, BOOST_PP_LIST_REVERSE_D(103, l))
38859 #define BOOST_PP_LIST_FOLD_RIGHT_104(o,s,l) BOOST_PP_LIST_FOLD_LEFT_104(o, s, BOOST_PP_LIST_REVERSE_D(104, l))
38860 #define BOOST_PP_LIST_FOLD_RIGHT_105(o,s,l) BOOST_PP_LIST_FOLD_LEFT_105(o, s, BOOST_PP_LIST_REVERSE_D(105, l))
38861 #define BOOST_PP_LIST_FOLD_RIGHT_106(o,s,l) BOOST_PP_LIST_FOLD_LEFT_106(o, s, BOOST_PP_LIST_REVERSE_D(106, l))
38862 #define BOOST_PP_LIST_FOLD_RIGHT_107(o,s,l) BOOST_PP_LIST_FOLD_LEFT_107(o, s, BOOST_PP_LIST_REVERSE_D(107, l))
38863 #define BOOST_PP_LIST_FOLD_RIGHT_108(o,s,l) BOOST_PP_LIST_FOLD_LEFT_108(o, s, BOOST_PP_LIST_REVERSE_D(108, l))
38864 #define BOOST_PP_LIST_FOLD_RIGHT_109(o,s,l) BOOST_PP_LIST_FOLD_LEFT_109(o, s, BOOST_PP_LIST_REVERSE_D(109, l))
38865 #define BOOST_PP_LIST_FOLD_RIGHT_110(o,s,l) BOOST_PP_LIST_FOLD_LEFT_110(o, s, BOOST_PP_LIST_REVERSE_D(110, l))
38866 #define BOOST_PP_LIST_FOLD_RIGHT_111(o,s,l) BOOST_PP_LIST_FOLD_LEFT_111(o, s, BOOST_PP_LIST_REVERSE_D(111, l))
38867 #define BOOST_PP_LIST_FOLD_RIGHT_112(o,s,l) BOOST_PP_LIST_FOLD_LEFT_112(o, s, BOOST_PP_LIST_REVERSE_D(112, l))
38868 #define BOOST_PP_LIST_FOLD_RIGHT_113(o,s,l) BOOST_PP_LIST_FOLD_LEFT_113(o, s, BOOST_PP_LIST_REVERSE_D(113, l))
38869 #define BOOST_PP_LIST_FOLD_RIGHT_114(o,s,l) BOOST_PP_LIST_FOLD_LEFT_114(o, s, BOOST_PP_LIST_REVERSE_D(114, l))
38870 #define BOOST_PP_LIST_FOLD_RIGHT_115(o,s,l) BOOST_PP_LIST_FOLD_LEFT_115(o, s, BOOST_PP_LIST_REVERSE_D(115, l))
38871 #define BOOST_PP_LIST_FOLD_RIGHT_116(o,s,l) BOOST_PP_LIST_FOLD_LEFT_116(o, s, BOOST_PP_LIST_REVERSE_D(116, l))
38872 #define BOOST_PP_LIST_FOLD_RIGHT_117(o,s,l) BOOST_PP_LIST_FOLD_LEFT_117(o, s, BOOST_PP_LIST_REVERSE_D(117, l))
38873 #define BOOST_PP_LIST_FOLD_RIGHT_118(o,s,l) BOOST_PP_LIST_FOLD_LEFT_118(o, s, BOOST_PP_LIST_REVERSE_D(118, l))
38874 #define BOOST_PP_LIST_FOLD_RIGHT_119(o,s,l) BOOST_PP_LIST_FOLD_LEFT_119(o, s, BOOST_PP_LIST_REVERSE_D(119, l))
38875 #define BOOST_PP_LIST_FOLD_RIGHT_120(o,s,l) BOOST_PP_LIST_FOLD_LEFT_120(o, s, BOOST_PP_LIST_REVERSE_D(120, l))
38876 #define BOOST_PP_LIST_FOLD_RIGHT_121(o,s,l) BOOST_PP_LIST_FOLD_LEFT_121(o, s, BOOST_PP_LIST_REVERSE_D(121, l))
38877 #define BOOST_PP_LIST_FOLD_RIGHT_122(o,s,l) BOOST_PP_LIST_FOLD_LEFT_122(o, s, BOOST_PP_LIST_REVERSE_D(122, l))
38878 #define BOOST_PP_LIST_FOLD_RIGHT_123(o,s,l) BOOST_PP_LIST_FOLD_LEFT_123(o, s, BOOST_PP_LIST_REVERSE_D(123, l))
38879 #define BOOST_PP_LIST_FOLD_RIGHT_124(o,s,l) BOOST_PP_LIST_FOLD_LEFT_124(o, s, BOOST_PP_LIST_REVERSE_D(124, l))
38880 #define BOOST_PP_LIST_FOLD_RIGHT_125(o,s,l) BOOST_PP_LIST_FOLD_LEFT_125(o, s, BOOST_PP_LIST_REVERSE_D(125, l))
38881 #define BOOST_PP_LIST_FOLD_RIGHT_126(o,s,l) BOOST_PP_LIST_FOLD_LEFT_126(o, s, BOOST_PP_LIST_REVERSE_D(126, l))
38882 #define BOOST_PP_LIST_FOLD_RIGHT_127(o,s,l) BOOST_PP_LIST_FOLD_LEFT_127(o, s, BOOST_PP_LIST_REVERSE_D(127, l))
38883 #define BOOST_PP_LIST_FOLD_RIGHT_128(o,s,l) BOOST_PP_LIST_FOLD_LEFT_128(o, s, BOOST_PP_LIST_REVERSE_D(128, l))
38884 #define BOOST_PP_LIST_FOLD_RIGHT_129(o,s,l) BOOST_PP_LIST_FOLD_LEFT_129(o, s, BOOST_PP_LIST_REVERSE_D(129, l))
38885 #define BOOST_PP_LIST_FOLD_RIGHT_130(o,s,l) BOOST_PP_LIST_FOLD_LEFT_130(o, s, BOOST_PP_LIST_REVERSE_D(130, l))
38886 #define BOOST_PP_LIST_FOLD_RIGHT_131(o,s,l) BOOST_PP_LIST_FOLD_LEFT_131(o, s, BOOST_PP_LIST_REVERSE_D(131, l))
38887 #define BOOST_PP_LIST_FOLD_RIGHT_132(o,s,l) BOOST_PP_LIST_FOLD_LEFT_132(o, s, BOOST_PP_LIST_REVERSE_D(132, l))
38888 #define BOOST_PP_LIST_FOLD_RIGHT_133(o,s,l) BOOST_PP_LIST_FOLD_LEFT_133(o, s, BOOST_PP_LIST_REVERSE_D(133, l))
38889 #define BOOST_PP_LIST_FOLD_RIGHT_134(o,s,l) BOOST_PP_LIST_FOLD_LEFT_134(o, s, BOOST_PP_LIST_REVERSE_D(134, l))
38890 #define BOOST_PP_LIST_FOLD_RIGHT_135(o,s,l) BOOST_PP_LIST_FOLD_LEFT_135(o, s, BOOST_PP_LIST_REVERSE_D(135, l))
38891 #define BOOST_PP_LIST_FOLD_RIGHT_136(o,s,l) BOOST_PP_LIST_FOLD_LEFT_136(o, s, BOOST_PP_LIST_REVERSE_D(136, l))
38892 #define BOOST_PP_LIST_FOLD_RIGHT_137(o,s,l) BOOST_PP_LIST_FOLD_LEFT_137(o, s, BOOST_PP_LIST_REVERSE_D(137, l))
38893 #define BOOST_PP_LIST_FOLD_RIGHT_138(o,s,l) BOOST_PP_LIST_FOLD_LEFT_138(o, s, BOOST_PP_LIST_REVERSE_D(138, l))
38894 #define BOOST_PP_LIST_FOLD_RIGHT_139(o,s,l) BOOST_PP_LIST_FOLD_LEFT_139(o, s, BOOST_PP_LIST_REVERSE_D(139, l))
38895 #define BOOST_PP_LIST_FOLD_RIGHT_140(o,s,l) BOOST_PP_LIST_FOLD_LEFT_140(o, s, BOOST_PP_LIST_REVERSE_D(140, l))
38896 #define BOOST_PP_LIST_FOLD_RIGHT_141(o,s,l) BOOST_PP_LIST_FOLD_LEFT_141(o, s, BOOST_PP_LIST_REVERSE_D(141, l))
38897 #define BOOST_PP_LIST_FOLD_RIGHT_142(o,s,l) BOOST_PP_LIST_FOLD_LEFT_142(o, s, BOOST_PP_LIST_REVERSE_D(142, l))
38898 #define BOOST_PP_LIST_FOLD_RIGHT_143(o,s,l) BOOST_PP_LIST_FOLD_LEFT_143(o, s, BOOST_PP_LIST_REVERSE_D(143, l))
38899 #define BOOST_PP_LIST_FOLD_RIGHT_144(o,s,l) BOOST_PP_LIST_FOLD_LEFT_144(o, s, BOOST_PP_LIST_REVERSE_D(144, l))
38900 #define BOOST_PP_LIST_FOLD_RIGHT_145(o,s,l) BOOST_PP_LIST_FOLD_LEFT_145(o, s, BOOST_PP_LIST_REVERSE_D(145, l))
38901 #define BOOST_PP_LIST_FOLD_RIGHT_146(o,s,l) BOOST_PP_LIST_FOLD_LEFT_146(o, s, BOOST_PP_LIST_REVERSE_D(146, l))
38902 #define BOOST_PP_LIST_FOLD_RIGHT_147(o,s,l) BOOST_PP_LIST_FOLD_LEFT_147(o, s, BOOST_PP_LIST_REVERSE_D(147, l))
38903 #define BOOST_PP_LIST_FOLD_RIGHT_148(o,s,l) BOOST_PP_LIST_FOLD_LEFT_148(o, s, BOOST_PP_LIST_REVERSE_D(148, l))
38904 #define BOOST_PP_LIST_FOLD_RIGHT_149(o,s,l) BOOST_PP_LIST_FOLD_LEFT_149(o, s, BOOST_PP_LIST_REVERSE_D(149, l))
38905 #define BOOST_PP_LIST_FOLD_RIGHT_150(o,s,l) BOOST_PP_LIST_FOLD_LEFT_150(o, s, BOOST_PP_LIST_REVERSE_D(150, l))
38906 #define BOOST_PP_LIST_FOLD_RIGHT_151(o,s,l) BOOST_PP_LIST_FOLD_LEFT_151(o, s, BOOST_PP_LIST_REVERSE_D(151, l))
38907 #define BOOST_PP_LIST_FOLD_RIGHT_152(o,s,l) BOOST_PP_LIST_FOLD_LEFT_152(o, s, BOOST_PP_LIST_REVERSE_D(152, l))
38908 #define BOOST_PP_LIST_FOLD_RIGHT_153(o,s,l) BOOST_PP_LIST_FOLD_LEFT_153(o, s, BOOST_PP_LIST_REVERSE_D(153, l))
38909 #define BOOST_PP_LIST_FOLD_RIGHT_154(o,s,l) BOOST_PP_LIST_FOLD_LEFT_154(o, s, BOOST_PP_LIST_REVERSE_D(154, l))
38910 #define BOOST_PP_LIST_FOLD_RIGHT_155(o,s,l) BOOST_PP_LIST_FOLD_LEFT_155(o, s, BOOST_PP_LIST_REVERSE_D(155, l))
38911 #define BOOST_PP_LIST_FOLD_RIGHT_156(o,s,l) BOOST_PP_LIST_FOLD_LEFT_156(o, s, BOOST_PP_LIST_REVERSE_D(156, l))
38912 #define BOOST_PP_LIST_FOLD_RIGHT_157(o,s,l) BOOST_PP_LIST_FOLD_LEFT_157(o, s, BOOST_PP_LIST_REVERSE_D(157, l))
38913 #define BOOST_PP_LIST_FOLD_RIGHT_158(o,s,l) BOOST_PP_LIST_FOLD_LEFT_158(o, s, BOOST_PP_LIST_REVERSE_D(158, l))
38914 #define BOOST_PP_LIST_FOLD_RIGHT_159(o,s,l) BOOST_PP_LIST_FOLD_LEFT_159(o, s, BOOST_PP_LIST_REVERSE_D(159, l))
38915 #define BOOST_PP_LIST_FOLD_RIGHT_160(o,s,l) BOOST_PP_LIST_FOLD_LEFT_160(o, s, BOOST_PP_LIST_REVERSE_D(160, l))
38916 #define BOOST_PP_LIST_FOLD_RIGHT_161(o,s,l) BOOST_PP_LIST_FOLD_LEFT_161(o, s, BOOST_PP_LIST_REVERSE_D(161, l))
38917 #define BOOST_PP_LIST_FOLD_RIGHT_162(o,s,l) BOOST_PP_LIST_FOLD_LEFT_162(o, s, BOOST_PP_LIST_REVERSE_D(162, l))
38918 #define BOOST_PP_LIST_FOLD_RIGHT_163(o,s,l) BOOST_PP_LIST_FOLD_LEFT_163(o, s, BOOST_PP_LIST_REVERSE_D(163, l))
38919 #define BOOST_PP_LIST_FOLD_RIGHT_164(o,s,l) BOOST_PP_LIST_FOLD_LEFT_164(o, s, BOOST_PP_LIST_REVERSE_D(164, l))
38920 #define BOOST_PP_LIST_FOLD_RIGHT_165(o,s,l) BOOST_PP_LIST_FOLD_LEFT_165(o, s, BOOST_PP_LIST_REVERSE_D(165, l))
38921 #define BOOST_PP_LIST_FOLD_RIGHT_166(o,s,l) BOOST_PP_LIST_FOLD_LEFT_166(o, s, BOOST_PP_LIST_REVERSE_D(166, l))
38922 #define BOOST_PP_LIST_FOLD_RIGHT_167(o,s,l) BOOST_PP_LIST_FOLD_LEFT_167(o, s, BOOST_PP_LIST_REVERSE_D(167, l))
38923 #define BOOST_PP_LIST_FOLD_RIGHT_168(o,s,l) BOOST_PP_LIST_FOLD_LEFT_168(o, s, BOOST_PP_LIST_REVERSE_D(168, l))
38924 #define BOOST_PP_LIST_FOLD_RIGHT_169(o,s,l) BOOST_PP_LIST_FOLD_LEFT_169(o, s, BOOST_PP_LIST_REVERSE_D(169, l))
38925 #define BOOST_PP_LIST_FOLD_RIGHT_170(o,s,l) BOOST_PP_LIST_FOLD_LEFT_170(o, s, BOOST_PP_LIST_REVERSE_D(170, l))
38926 #define BOOST_PP_LIST_FOLD_RIGHT_171(o,s,l) BOOST_PP_LIST_FOLD_LEFT_171(o, s, BOOST_PP_LIST_REVERSE_D(171, l))
38927 #define BOOST_PP_LIST_FOLD_RIGHT_172(o,s,l) BOOST_PP_LIST_FOLD_LEFT_172(o, s, BOOST_PP_LIST_REVERSE_D(172, l))
38928 #define BOOST_PP_LIST_FOLD_RIGHT_173(o,s,l) BOOST_PP_LIST_FOLD_LEFT_173(o, s, BOOST_PP_LIST_REVERSE_D(173, l))
38929 #define BOOST_PP_LIST_FOLD_RIGHT_174(o,s,l) BOOST_PP_LIST_FOLD_LEFT_174(o, s, BOOST_PP_LIST_REVERSE_D(174, l))
38930 #define BOOST_PP_LIST_FOLD_RIGHT_175(o,s,l) BOOST_PP_LIST_FOLD_LEFT_175(o, s, BOOST_PP_LIST_REVERSE_D(175, l))
38931 #define BOOST_PP_LIST_FOLD_RIGHT_176(o,s,l) BOOST_PP_LIST_FOLD_LEFT_176(o, s, BOOST_PP_LIST_REVERSE_D(176, l))
38932 #define BOOST_PP_LIST_FOLD_RIGHT_177(o,s,l) BOOST_PP_LIST_FOLD_LEFT_177(o, s, BOOST_PP_LIST_REVERSE_D(177, l))
38933 #define BOOST_PP_LIST_FOLD_RIGHT_178(o,s,l) BOOST_PP_LIST_FOLD_LEFT_178(o, s, BOOST_PP_LIST_REVERSE_D(178, l))
38934 #define BOOST_PP_LIST_FOLD_RIGHT_179(o,s,l) BOOST_PP_LIST_FOLD_LEFT_179(o, s, BOOST_PP_LIST_REVERSE_D(179, l))
38935 #define BOOST_PP_LIST_FOLD_RIGHT_180(o,s,l) BOOST_PP_LIST_FOLD_LEFT_180(o, s, BOOST_PP_LIST_REVERSE_D(180, l))
38936 #define BOOST_PP_LIST_FOLD_RIGHT_181(o,s,l) BOOST_PP_LIST_FOLD_LEFT_181(o, s, BOOST_PP_LIST_REVERSE_D(181, l))
38937 #define BOOST_PP_LIST_FOLD_RIGHT_182(o,s,l) BOOST_PP_LIST_FOLD_LEFT_182(o, s, BOOST_PP_LIST_REVERSE_D(182, l))
38938 #define BOOST_PP_LIST_FOLD_RIGHT_183(o,s,l) BOOST_PP_LIST_FOLD_LEFT_183(o, s, BOOST_PP_LIST_REVERSE_D(183, l))
38939 #define BOOST_PP_LIST_FOLD_RIGHT_184(o,s,l) BOOST_PP_LIST_FOLD_LEFT_184(o, s, BOOST_PP_LIST_REVERSE_D(184, l))
38940 #define BOOST_PP_LIST_FOLD_RIGHT_185(o,s,l) BOOST_PP_LIST_FOLD_LEFT_185(o, s, BOOST_PP_LIST_REVERSE_D(185, l))
38941 #define BOOST_PP_LIST_FOLD_RIGHT_186(o,s,l) BOOST_PP_LIST_FOLD_LEFT_186(o, s, BOOST_PP_LIST_REVERSE_D(186, l))
38942 #define BOOST_PP_LIST_FOLD_RIGHT_187(o,s,l) BOOST_PP_LIST_FOLD_LEFT_187(o, s, BOOST_PP_LIST_REVERSE_D(187, l))
38943 #define BOOST_PP_LIST_FOLD_RIGHT_188(o,s,l) BOOST_PP_LIST_FOLD_LEFT_188(o, s, BOOST_PP_LIST_REVERSE_D(188, l))
38944 #define BOOST_PP_LIST_FOLD_RIGHT_189(o,s,l) BOOST_PP_LIST_FOLD_LEFT_189(o, s, BOOST_PP_LIST_REVERSE_D(189, l))
38945 #define BOOST_PP_LIST_FOLD_RIGHT_190(o,s,l) BOOST_PP_LIST_FOLD_LEFT_190(o, s, BOOST_PP_LIST_REVERSE_D(190, l))
38946 #define BOOST_PP_LIST_FOLD_RIGHT_191(o,s,l) BOOST_PP_LIST_FOLD_LEFT_191(o, s, BOOST_PP_LIST_REVERSE_D(191, l))
38947 #define BOOST_PP_LIST_FOLD_RIGHT_192(o,s,l) BOOST_PP_LIST_FOLD_LEFT_192(o, s, BOOST_PP_LIST_REVERSE_D(192, l))
38948 #define BOOST_PP_LIST_FOLD_RIGHT_193(o,s,l) BOOST_PP_LIST_FOLD_LEFT_193(o, s, BOOST_PP_LIST_REVERSE_D(193, l))
38949 #define BOOST_PP_LIST_FOLD_RIGHT_194(o,s,l) BOOST_PP_LIST_FOLD_LEFT_194(o, s, BOOST_PP_LIST_REVERSE_D(194, l))
38950 #define BOOST_PP_LIST_FOLD_RIGHT_195(o,s,l) BOOST_PP_LIST_FOLD_LEFT_195(o, s, BOOST_PP_LIST_REVERSE_D(195, l))
38951 #define BOOST_PP_LIST_FOLD_RIGHT_196(o,s,l) BOOST_PP_LIST_FOLD_LEFT_196(o, s, BOOST_PP_LIST_REVERSE_D(196, l))
38952 #define BOOST_PP_LIST_FOLD_RIGHT_197(o,s,l) BOOST_PP_LIST_FOLD_LEFT_197(o, s, BOOST_PP_LIST_REVERSE_D(197, l))
38953 #define BOOST_PP_LIST_FOLD_RIGHT_198(o,s,l) BOOST_PP_LIST_FOLD_LEFT_198(o, s, BOOST_PP_LIST_REVERSE_D(198, l))
38954 #define BOOST_PP_LIST_FOLD_RIGHT_199(o,s,l) BOOST_PP_LIST_FOLD_LEFT_199(o, s, BOOST_PP_LIST_REVERSE_D(199, l))
38955 #define BOOST_PP_LIST_FOLD_RIGHT_200(o,s,l) BOOST_PP_LIST_FOLD_LEFT_200(o, s, BOOST_PP_LIST_REVERSE_D(200, l))
38956 #define BOOST_PP_LIST_FOLD_RIGHT_201(o,s,l) BOOST_PP_LIST_FOLD_LEFT_201(o, s, BOOST_PP_LIST_REVERSE_D(201, l))
38957 #define BOOST_PP_LIST_FOLD_RIGHT_202(o,s,l) BOOST_PP_LIST_FOLD_LEFT_202(o, s, BOOST_PP_LIST_REVERSE_D(202, l))
38958 #define BOOST_PP_LIST_FOLD_RIGHT_203(o,s,l) BOOST_PP_LIST_FOLD_LEFT_203(o, s, BOOST_PP_LIST_REVERSE_D(203, l))
38959 #define BOOST_PP_LIST_FOLD_RIGHT_204(o,s,l) BOOST_PP_LIST_FOLD_LEFT_204(o, s, BOOST_PP_LIST_REVERSE_D(204, l))
38960 #define BOOST_PP_LIST_FOLD_RIGHT_205(o,s,l) BOOST_PP_LIST_FOLD_LEFT_205(o, s, BOOST_PP_LIST_REVERSE_D(205, l))
38961 #define BOOST_PP_LIST_FOLD_RIGHT_206(o,s,l) BOOST_PP_LIST_FOLD_LEFT_206(o, s, BOOST_PP_LIST_REVERSE_D(206, l))
38962 #define BOOST_PP_LIST_FOLD_RIGHT_207(o,s,l) BOOST_PP_LIST_FOLD_LEFT_207(o, s, BOOST_PP_LIST_REVERSE_D(207, l))
38963 #define BOOST_PP_LIST_FOLD_RIGHT_208(o,s,l) BOOST_PP_LIST_FOLD_LEFT_208(o, s, BOOST_PP_LIST_REVERSE_D(208, l))
38964 #define BOOST_PP_LIST_FOLD_RIGHT_209(o,s,l) BOOST_PP_LIST_FOLD_LEFT_209(o, s, BOOST_PP_LIST_REVERSE_D(209, l))
38965 #define BOOST_PP_LIST_FOLD_RIGHT_210(o,s,l) BOOST_PP_LIST_FOLD_LEFT_210(o, s, BOOST_PP_LIST_REVERSE_D(210, l))
38966 #define BOOST_PP_LIST_FOLD_RIGHT_211(o,s,l) BOOST_PP_LIST_FOLD_LEFT_211(o, s, BOOST_PP_LIST_REVERSE_D(211, l))
38967 #define BOOST_PP_LIST_FOLD_RIGHT_212(o,s,l) BOOST_PP_LIST_FOLD_LEFT_212(o, s, BOOST_PP_LIST_REVERSE_D(212, l))
38968 #define BOOST_PP_LIST_FOLD_RIGHT_213(o,s,l) BOOST_PP_LIST_FOLD_LEFT_213(o, s, BOOST_PP_LIST_REVERSE_D(213, l))
38969 #define BOOST_PP_LIST_FOLD_RIGHT_214(o,s,l) BOOST_PP_LIST_FOLD_LEFT_214(o, s, BOOST_PP_LIST_REVERSE_D(214, l))
38970 #define BOOST_PP_LIST_FOLD_RIGHT_215(o,s,l) BOOST_PP_LIST_FOLD_LEFT_215(o, s, BOOST_PP_LIST_REVERSE_D(215, l))
38971 #define BOOST_PP_LIST_FOLD_RIGHT_216(o,s,l) BOOST_PP_LIST_FOLD_LEFT_216(o, s, BOOST_PP_LIST_REVERSE_D(216, l))
38972 #define BOOST_PP_LIST_FOLD_RIGHT_217(o,s,l) BOOST_PP_LIST_FOLD_LEFT_217(o, s, BOOST_PP_LIST_REVERSE_D(217, l))
38973 #define BOOST_PP_LIST_FOLD_RIGHT_218(o,s,l) BOOST_PP_LIST_FOLD_LEFT_218(o, s, BOOST_PP_LIST_REVERSE_D(218, l))
38974 #define BOOST_PP_LIST_FOLD_RIGHT_219(o,s,l) BOOST_PP_LIST_FOLD_LEFT_219(o, s, BOOST_PP_LIST_REVERSE_D(219, l))
38975 #define BOOST_PP_LIST_FOLD_RIGHT_220(o,s,l) BOOST_PP_LIST_FOLD_LEFT_220(o, s, BOOST_PP_LIST_REVERSE_D(220, l))
38976 #define BOOST_PP_LIST_FOLD_RIGHT_221(o,s,l) BOOST_PP_LIST_FOLD_LEFT_221(o, s, BOOST_PP_LIST_REVERSE_D(221, l))
38977 #define BOOST_PP_LIST_FOLD_RIGHT_222(o,s,l) BOOST_PP_LIST_FOLD_LEFT_222(o, s, BOOST_PP_LIST_REVERSE_D(222, l))
38978 #define BOOST_PP_LIST_FOLD_RIGHT_223(o,s,l) BOOST_PP_LIST_FOLD_LEFT_223(o, s, BOOST_PP_LIST_REVERSE_D(223, l))
38979 #define BOOST_PP_LIST_FOLD_RIGHT_224(o,s,l) BOOST_PP_LIST_FOLD_LEFT_224(o, s, BOOST_PP_LIST_REVERSE_D(224, l))
38980 #define BOOST_PP_LIST_FOLD_RIGHT_225(o,s,l) BOOST_PP_LIST_FOLD_LEFT_225(o, s, BOOST_PP_LIST_REVERSE_D(225, l))
38981 #define BOOST_PP_LIST_FOLD_RIGHT_226(o,s,l) BOOST_PP_LIST_FOLD_LEFT_226(o, s, BOOST_PP_LIST_REVERSE_D(226, l))
38982 #define BOOST_PP_LIST_FOLD_RIGHT_227(o,s,l) BOOST_PP_LIST_FOLD_LEFT_227(o, s, BOOST_PP_LIST_REVERSE_D(227, l))
38983 #define BOOST_PP_LIST_FOLD_RIGHT_228(o,s,l) BOOST_PP_LIST_FOLD_LEFT_228(o, s, BOOST_PP_LIST_REVERSE_D(228, l))
38984 #define BOOST_PP_LIST_FOLD_RIGHT_229(o,s,l) BOOST_PP_LIST_FOLD_LEFT_229(o, s, BOOST_PP_LIST_REVERSE_D(229, l))
38985 #define BOOST_PP_LIST_FOLD_RIGHT_230(o,s,l) BOOST_PP_LIST_FOLD_LEFT_230(o, s, BOOST_PP_LIST_REVERSE_D(230, l))
38986 #define BOOST_PP_LIST_FOLD_RIGHT_231(o,s,l) BOOST_PP_LIST_FOLD_LEFT_231(o, s, BOOST_PP_LIST_REVERSE_D(231, l))
38987 #define BOOST_PP_LIST_FOLD_RIGHT_232(o,s,l) BOOST_PP_LIST_FOLD_LEFT_232(o, s, BOOST_PP_LIST_REVERSE_D(232, l))
38988 #define BOOST_PP_LIST_FOLD_RIGHT_233(o,s,l) BOOST_PP_LIST_FOLD_LEFT_233(o, s, BOOST_PP_LIST_REVERSE_D(233, l))
38989 #define BOOST_PP_LIST_FOLD_RIGHT_234(o,s,l) BOOST_PP_LIST_FOLD_LEFT_234(o, s, BOOST_PP_LIST_REVERSE_D(234, l))
38990 #define BOOST_PP_LIST_FOLD_RIGHT_235(o,s,l) BOOST_PP_LIST_FOLD_LEFT_235(o, s, BOOST_PP_LIST_REVERSE_D(235, l))
38991 #define BOOST_PP_LIST_FOLD_RIGHT_236(o,s,l) BOOST_PP_LIST_FOLD_LEFT_236(o, s, BOOST_PP_LIST_REVERSE_D(236, l))
38992 #define BOOST_PP_LIST_FOLD_RIGHT_237(o,s,l) BOOST_PP_LIST_FOLD_LEFT_237(o, s, BOOST_PP_LIST_REVERSE_D(237, l))
38993 #define BOOST_PP_LIST_FOLD_RIGHT_238(o,s,l) BOOST_PP_LIST_FOLD_LEFT_238(o, s, BOOST_PP_LIST_REVERSE_D(238, l))
38994 #define BOOST_PP_LIST_FOLD_RIGHT_239(o,s,l) BOOST_PP_LIST_FOLD_LEFT_239(o, s, BOOST_PP_LIST_REVERSE_D(239, l))
38995 #define BOOST_PP_LIST_FOLD_RIGHT_240(o,s,l) BOOST_PP_LIST_FOLD_LEFT_240(o, s, BOOST_PP_LIST_REVERSE_D(240, l))
38996 #define BOOST_PP_LIST_FOLD_RIGHT_241(o,s,l) BOOST_PP_LIST_FOLD_LEFT_241(o, s, BOOST_PP_LIST_REVERSE_D(241, l))
38997 #define BOOST_PP_LIST_FOLD_RIGHT_242(o,s,l) BOOST_PP_LIST_FOLD_LEFT_242(o, s, BOOST_PP_LIST_REVERSE_D(242, l))
38998 #define BOOST_PP_LIST_FOLD_RIGHT_243(o,s,l) BOOST_PP_LIST_FOLD_LEFT_243(o, s, BOOST_PP_LIST_REVERSE_D(243, l))
38999 #define BOOST_PP_LIST_FOLD_RIGHT_244(o,s,l) BOOST_PP_LIST_FOLD_LEFT_244(o, s, BOOST_PP_LIST_REVERSE_D(244, l))
39000 #define BOOST_PP_LIST_FOLD_RIGHT_245(o,s,l) BOOST_PP_LIST_FOLD_LEFT_245(o, s, BOOST_PP_LIST_REVERSE_D(245, l))
39001 #define BOOST_PP_LIST_FOLD_RIGHT_246(o,s,l) BOOST_PP_LIST_FOLD_LEFT_246(o, s, BOOST_PP_LIST_REVERSE_D(246, l))
39002 #define BOOST_PP_LIST_FOLD_RIGHT_247(o,s,l) BOOST_PP_LIST_FOLD_LEFT_247(o, s, BOOST_PP_LIST_REVERSE_D(247, l))
39003 #define BOOST_PP_LIST_FOLD_RIGHT_248(o,s,l) BOOST_PP_LIST_FOLD_LEFT_248(o, s, BOOST_PP_LIST_REVERSE_D(248, l))
39004 #define BOOST_PP_LIST_FOLD_RIGHT_249(o,s,l) BOOST_PP_LIST_FOLD_LEFT_249(o, s, BOOST_PP_LIST_REVERSE_D(249, l))
39005 #define BOOST_PP_LIST_FOLD_RIGHT_250(o,s,l) BOOST_PP_LIST_FOLD_LEFT_250(o, s, BOOST_PP_LIST_REVERSE_D(250, l))
39006 #define BOOST_PP_LIST_FOLD_RIGHT_251(o,s,l) BOOST_PP_LIST_FOLD_LEFT_251(o, s, BOOST_PP_LIST_REVERSE_D(251, l))
39007 #define BOOST_PP_LIST_FOLD_RIGHT_252(o,s,l) BOOST_PP_LIST_FOLD_LEFT_252(o, s, BOOST_PP_LIST_REVERSE_D(252, l))
39008 #define BOOST_PP_LIST_FOLD_RIGHT_253(o,s,l) BOOST_PP_LIST_FOLD_LEFT_253(o, s, BOOST_PP_LIST_REVERSE_D(253, l))
39009 #define BOOST_PP_LIST_FOLD_RIGHT_254(o,s,l) BOOST_PP_LIST_FOLD_LEFT_254(o, s, BOOST_PP_LIST_REVERSE_D(254, l))
39010 #define BOOST_PP_LIST_FOLD_RIGHT_255(o,s,l) BOOST_PP_LIST_FOLD_LEFT_255(o, s, BOOST_PP_LIST_REVERSE_D(255, l))
39011 #define BOOST_PP_LIST_FOLD_RIGHT_256(o,s,l) BOOST_PP_LIST_FOLD_LEFT_256(o, s, BOOST_PP_LIST_REVERSE_D(256, l))
39012 # 38 "/usr/include/boost/preprocessor/list/fold_right.hpp" 2 3 4
39013 # 23 "/usr/include/boost/preprocessor/control/while.hpp" 2 3 4
39014 # 31 "/usr/include/boost/preprocessor/control/while.hpp" 3 4
39015 #define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
39016
39017
39018
39019
39020 #define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)))
39021
39022
39023 #define BOOST_PP_WHILE_F(d,_) 0
39024 # 48 "/usr/include/boost/preprocessor/control/while.hpp" 3 4
39025 # 1 "/usr/include/boost/preprocessor/control/detail/while.hpp" 1 3 4
39026 # 15 "/usr/include/boost/preprocessor/control/detail/while.hpp" 3 4
39027 #define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP 
39028
39029
39030
39031
39032
39033 #define BOOST_PP_WHILE_1(p,o,s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p(2, s)), p, o, s)
39034 #define BOOST_PP_WHILE_2(p,o,s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p(3, s)), p, o, s)
39035 #define BOOST_PP_WHILE_3(p,o,s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p(4, s)), p, o, s)
39036 #define BOOST_PP_WHILE_4(p,o,s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p(5, s)), p, o, s)
39037 #define BOOST_PP_WHILE_5(p,o,s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p(6, s)), p, o, s)
39038 #define BOOST_PP_WHILE_6(p,o,s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p(7, s)), p, o, s)
39039 #define BOOST_PP_WHILE_7(p,o,s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p(8, s)), p, o, s)
39040 #define BOOST_PP_WHILE_8(p,o,s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p(9, s)), p, o, s)
39041 #define BOOST_PP_WHILE_9(p,o,s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p(10, s)), p, o, s)
39042 #define BOOST_PP_WHILE_10(p,o,s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p(11, s)), p, o, s)
39043 #define BOOST_PP_WHILE_11(p,o,s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p(12, s)), p, o, s)
39044 #define BOOST_PP_WHILE_12(p,o,s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p(13, s)), p, o, s)
39045 #define BOOST_PP_WHILE_13(p,o,s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p(14, s)), p, o, s)
39046 #define BOOST_PP_WHILE_14(p,o,s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p(15, s)), p, o, s)
39047 #define BOOST_PP_WHILE_15(p,o,s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p(16, s)), p, o, s)
39048 #define BOOST_PP_WHILE_16(p,o,s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p(17, s)), p, o, s)
39049 #define BOOST_PP_WHILE_17(p,o,s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p(18, s)), p, o, s)
39050 #define BOOST_PP_WHILE_18(p,o,s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p(19, s)), p, o, s)
39051 #define BOOST_PP_WHILE_19(p,o,s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p(20, s)), p, o, s)
39052 #define BOOST_PP_WHILE_20(p,o,s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p(21, s)), p, o, s)
39053 #define BOOST_PP_WHILE_21(p,o,s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p(22, s)), p, o, s)
39054 #define BOOST_PP_WHILE_22(p,o,s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p(23, s)), p, o, s)
39055 #define BOOST_PP_WHILE_23(p,o,s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p(24, s)), p, o, s)
39056 #define BOOST_PP_WHILE_24(p,o,s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p(25, s)), p, o, s)
39057 #define BOOST_PP_WHILE_25(p,o,s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p(26, s)), p, o, s)
39058 #define BOOST_PP_WHILE_26(p,o,s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p(27, s)), p, o, s)
39059 #define BOOST_PP_WHILE_27(p,o,s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p(28, s)), p, o, s)
39060 #define BOOST_PP_WHILE_28(p,o,s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p(29, s)), p, o, s)
39061 #define BOOST_PP_WHILE_29(p,o,s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p(30, s)), p, o, s)
39062 #define BOOST_PP_WHILE_30(p,o,s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p(31, s)), p, o, s)
39063 #define BOOST_PP_WHILE_31(p,o,s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p(32, s)), p, o, s)
39064 #define BOOST_PP_WHILE_32(p,o,s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p(33, s)), p, o, s)
39065 #define BOOST_PP_WHILE_33(p,o,s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p(34, s)), p, o, s)
39066 #define BOOST_PP_WHILE_34(p,o,s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p(35, s)), p, o, s)
39067 #define BOOST_PP_WHILE_35(p,o,s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p(36, s)), p, o, s)
39068 #define BOOST_PP_WHILE_36(p,o,s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p(37, s)), p, o, s)
39069 #define BOOST_PP_WHILE_37(p,o,s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p(38, s)), p, o, s)
39070 #define BOOST_PP_WHILE_38(p,o,s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p(39, s)), p, o, s)
39071 #define BOOST_PP_WHILE_39(p,o,s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p(40, s)), p, o, s)
39072 #define BOOST_PP_WHILE_40(p,o,s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p(41, s)), p, o, s)
39073 #define BOOST_PP_WHILE_41(p,o,s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p(42, s)), p, o, s)
39074 #define BOOST_PP_WHILE_42(p,o,s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p(43, s)), p, o, s)
39075 #define BOOST_PP_WHILE_43(p,o,s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p(44, s)), p, o, s)
39076 #define BOOST_PP_WHILE_44(p,o,s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p(45, s)), p, o, s)
39077 #define BOOST_PP_WHILE_45(p,o,s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p(46, s)), p, o, s)
39078 #define BOOST_PP_WHILE_46(p,o,s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p(47, s)), p, o, s)
39079 #define BOOST_PP_WHILE_47(p,o,s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p(48, s)), p, o, s)
39080 #define BOOST_PP_WHILE_48(p,o,s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p(49, s)), p, o, s)
39081 #define BOOST_PP_WHILE_49(p,o,s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p(50, s)), p, o, s)
39082 #define BOOST_PP_WHILE_50(p,o,s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p(51, s)), p, o, s)
39083 #define BOOST_PP_WHILE_51(p,o,s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p(52, s)), p, o, s)
39084 #define BOOST_PP_WHILE_52(p,o,s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p(53, s)), p, o, s)
39085 #define BOOST_PP_WHILE_53(p,o,s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p(54, s)), p, o, s)
39086 #define BOOST_PP_WHILE_54(p,o,s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p(55, s)), p, o, s)
39087 #define BOOST_PP_WHILE_55(p,o,s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p(56, s)), p, o, s)
39088 #define BOOST_PP_WHILE_56(p,o,s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p(57, s)), p, o, s)
39089 #define BOOST_PP_WHILE_57(p,o,s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p(58, s)), p, o, s)
39090 #define BOOST_PP_WHILE_58(p,o,s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p(59, s)), p, o, s)
39091 #define BOOST_PP_WHILE_59(p,o,s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p(60, s)), p, o, s)
39092 #define BOOST_PP_WHILE_60(p,o,s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p(61, s)), p, o, s)
39093 #define BOOST_PP_WHILE_61(p,o,s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p(62, s)), p, o, s)
39094 #define BOOST_PP_WHILE_62(p,o,s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p(63, s)), p, o, s)
39095 #define BOOST_PP_WHILE_63(p,o,s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p(64, s)), p, o, s)
39096 #define BOOST_PP_WHILE_64(p,o,s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p(65, s)), p, o, s)
39097 #define BOOST_PP_WHILE_65(p,o,s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p(66, s)), p, o, s)
39098 #define BOOST_PP_WHILE_66(p,o,s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p(67, s)), p, o, s)
39099 #define BOOST_PP_WHILE_67(p,o,s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p(68, s)), p, o, s)
39100 #define BOOST_PP_WHILE_68(p,o,s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p(69, s)), p, o, s)
39101 #define BOOST_PP_WHILE_69(p,o,s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p(70, s)), p, o, s)
39102 #define BOOST_PP_WHILE_70(p,o,s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p(71, s)), p, o, s)
39103 #define BOOST_PP_WHILE_71(p,o,s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p(72, s)), p, o, s)
39104 #define BOOST_PP_WHILE_72(p,o,s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p(73, s)), p, o, s)
39105 #define BOOST_PP_WHILE_73(p,o,s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p(74, s)), p, o, s)
39106 #define BOOST_PP_WHILE_74(p,o,s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p(75, s)), p, o, s)
39107 #define BOOST_PP_WHILE_75(p,o,s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p(76, s)), p, o, s)
39108 #define BOOST_PP_WHILE_76(p,o,s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p(77, s)), p, o, s)
39109 #define BOOST_PP_WHILE_77(p,o,s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p(78, s)), p, o, s)
39110 #define BOOST_PP_WHILE_78(p,o,s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p(79, s)), p, o, s)
39111 #define BOOST_PP_WHILE_79(p,o,s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p(80, s)), p, o, s)
39112 #define BOOST_PP_WHILE_80(p,o,s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p(81, s)), p, o, s)
39113 #define BOOST_PP_WHILE_81(p,o,s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p(82, s)), p, o, s)
39114 #define BOOST_PP_WHILE_82(p,o,s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p(83, s)), p, o, s)
39115 #define BOOST_PP_WHILE_83(p,o,s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p(84, s)), p, o, s)
39116 #define BOOST_PP_WHILE_84(p,o,s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p(85, s)), p, o, s)
39117 #define BOOST_PP_WHILE_85(p,o,s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p(86, s)), p, o, s)
39118 #define BOOST_PP_WHILE_86(p,o,s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p(87, s)), p, o, s)
39119 #define BOOST_PP_WHILE_87(p,o,s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p(88, s)), p, o, s)
39120 #define BOOST_PP_WHILE_88(p,o,s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p(89, s)), p, o, s)
39121 #define BOOST_PP_WHILE_89(p,o,s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p(90, s)), p, o, s)
39122 #define BOOST_PP_WHILE_90(p,o,s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p(91, s)), p, o, s)
39123 #define BOOST_PP_WHILE_91(p,o,s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p(92, s)), p, o, s)
39124 #define BOOST_PP_WHILE_92(p,o,s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p(93, s)), p, o, s)
39125 #define BOOST_PP_WHILE_93(p,o,s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p(94, s)), p, o, s)
39126 #define BOOST_PP_WHILE_94(p,o,s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p(95, s)), p, o, s)
39127 #define BOOST_PP_WHILE_95(p,o,s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p(96, s)), p, o, s)
39128 #define BOOST_PP_WHILE_96(p,o,s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p(97, s)), p, o, s)
39129 #define BOOST_PP_WHILE_97(p,o,s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p(98, s)), p, o, s)
39130 #define BOOST_PP_WHILE_98(p,o,s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p(99, s)), p, o, s)
39131 #define BOOST_PP_WHILE_99(p,o,s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p(100, s)), p, o, s)
39132 #define BOOST_PP_WHILE_100(p,o,s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p(101, s)), p, o, s)
39133 #define BOOST_PP_WHILE_101(p,o,s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p(102, s)), p, o, s)
39134 #define BOOST_PP_WHILE_102(p,o,s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p(103, s)), p, o, s)
39135 #define BOOST_PP_WHILE_103(p,o,s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p(104, s)), p, o, s)
39136 #define BOOST_PP_WHILE_104(p,o,s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p(105, s)), p, o, s)
39137 #define BOOST_PP_WHILE_105(p,o,s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p(106, s)), p, o, s)
39138 #define BOOST_PP_WHILE_106(p,o,s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p(107, s)), p, o, s)
39139 #define BOOST_PP_WHILE_107(p,o,s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p(108, s)), p, o, s)
39140 #define BOOST_PP_WHILE_108(p,o,s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p(109, s)), p, o, s)
39141 #define BOOST_PP_WHILE_109(p,o,s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p(110, s)), p, o, s)
39142 #define BOOST_PP_WHILE_110(p,o,s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p(111, s)), p, o, s)
39143 #define BOOST_PP_WHILE_111(p,o,s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p(112, s)), p, o, s)
39144 #define BOOST_PP_WHILE_112(p,o,s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p(113, s)), p, o, s)
39145 #define BOOST_PP_WHILE_113(p,o,s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p(114, s)), p, o, s)
39146 #define BOOST_PP_WHILE_114(p,o,s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p(115, s)), p, o, s)
39147 #define BOOST_PP_WHILE_115(p,o,s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p(116, s)), p, o, s)
39148 #define BOOST_PP_WHILE_116(p,o,s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p(117, s)), p, o, s)
39149 #define BOOST_PP_WHILE_117(p,o,s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p(118, s)), p, o, s)
39150 #define BOOST_PP_WHILE_118(p,o,s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p(119, s)), p, o, s)
39151 #define BOOST_PP_WHILE_119(p,o,s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p(120, s)), p, o, s)
39152 #define BOOST_PP_WHILE_120(p,o,s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p(121, s)), p, o, s)
39153 #define BOOST_PP_WHILE_121(p,o,s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p(122, s)), p, o, s)
39154 #define BOOST_PP_WHILE_122(p,o,s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p(123, s)), p, o, s)
39155 #define BOOST_PP_WHILE_123(p,o,s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p(124, s)), p, o, s)
39156 #define BOOST_PP_WHILE_124(p,o,s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p(125, s)), p, o, s)
39157 #define BOOST_PP_WHILE_125(p,o,s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p(126, s)), p, o, s)
39158 #define BOOST_PP_WHILE_126(p,o,s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p(127, s)), p, o, s)
39159 #define BOOST_PP_WHILE_127(p,o,s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p(128, s)), p, o, s)
39160 #define BOOST_PP_WHILE_128(p,o,s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p(129, s)), p, o, s)
39161 #define BOOST_PP_WHILE_129(p,o,s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p(130, s)), p, o, s)
39162 #define BOOST_PP_WHILE_130(p,o,s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p(131, s)), p, o, s)
39163 #define BOOST_PP_WHILE_131(p,o,s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p(132, s)), p, o, s)
39164 #define BOOST_PP_WHILE_132(p,o,s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p(133, s)), p, o, s)
39165 #define BOOST_PP_WHILE_133(p,o,s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p(134, s)), p, o, s)
39166 #define BOOST_PP_WHILE_134(p,o,s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p(135, s)), p, o, s)
39167 #define BOOST_PP_WHILE_135(p,o,s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p(136, s)), p, o, s)
39168 #define BOOST_PP_WHILE_136(p,o,s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p(137, s)), p, o, s)
39169 #define BOOST_PP_WHILE_137(p,o,s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p(138, s)), p, o, s)
39170 #define BOOST_PP_WHILE_138(p,o,s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p(139, s)), p, o, s)
39171 #define BOOST_PP_WHILE_139(p,o,s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p(140, s)), p, o, s)
39172 #define BOOST_PP_WHILE_140(p,o,s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p(141, s)), p, o, s)
39173 #define BOOST_PP_WHILE_141(p,o,s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p(142, s)), p, o, s)
39174 #define BOOST_PP_WHILE_142(p,o,s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p(143, s)), p, o, s)
39175 #define BOOST_PP_WHILE_143(p,o,s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p(144, s)), p, o, s)
39176 #define BOOST_PP_WHILE_144(p,o,s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p(145, s)), p, o, s)
39177 #define BOOST_PP_WHILE_145(p,o,s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p(146, s)), p, o, s)
39178 #define BOOST_PP_WHILE_146(p,o,s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p(147, s)), p, o, s)
39179 #define BOOST_PP_WHILE_147(p,o,s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p(148, s)), p, o, s)
39180 #define BOOST_PP_WHILE_148(p,o,s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p(149, s)), p, o, s)
39181 #define BOOST_PP_WHILE_149(p,o,s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p(150, s)), p, o, s)
39182 #define BOOST_PP_WHILE_150(p,o,s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p(151, s)), p, o, s)
39183 #define BOOST_PP_WHILE_151(p,o,s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p(152, s)), p, o, s)
39184 #define BOOST_PP_WHILE_152(p,o,s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p(153, s)), p, o, s)
39185 #define BOOST_PP_WHILE_153(p,o,s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p(154, s)), p, o, s)
39186 #define BOOST_PP_WHILE_154(p,o,s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p(155, s)), p, o, s)
39187 #define BOOST_PP_WHILE_155(p,o,s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p(156, s)), p, o, s)
39188 #define BOOST_PP_WHILE_156(p,o,s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p(157, s)), p, o, s)
39189 #define BOOST_PP_WHILE_157(p,o,s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p(158, s)), p, o, s)
39190 #define BOOST_PP_WHILE_158(p,o,s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p(159, s)), p, o, s)
39191 #define BOOST_PP_WHILE_159(p,o,s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p(160, s)), p, o, s)
39192 #define BOOST_PP_WHILE_160(p,o,s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p(161, s)), p, o, s)
39193 #define BOOST_PP_WHILE_161(p,o,s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p(162, s)), p, o, s)
39194 #define BOOST_PP_WHILE_162(p,o,s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p(163, s)), p, o, s)
39195 #define BOOST_PP_WHILE_163(p,o,s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p(164, s)), p, o, s)
39196 #define BOOST_PP_WHILE_164(p,o,s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p(165, s)), p, o, s)
39197 #define BOOST_PP_WHILE_165(p,o,s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p(166, s)), p, o, s)
39198 #define BOOST_PP_WHILE_166(p,o,s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p(167, s)), p, o, s)
39199 #define BOOST_PP_WHILE_167(p,o,s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p(168, s)), p, o, s)
39200 #define BOOST_PP_WHILE_168(p,o,s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p(169, s)), p, o, s)
39201 #define BOOST_PP_WHILE_169(p,o,s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p(170, s)), p, o, s)
39202 #define BOOST_PP_WHILE_170(p,o,s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p(171, s)), p, o, s)
39203 #define BOOST_PP_WHILE_171(p,o,s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p(172, s)), p, o, s)
39204 #define BOOST_PP_WHILE_172(p,o,s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p(173, s)), p, o, s)
39205 #define BOOST_PP_WHILE_173(p,o,s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p(174, s)), p, o, s)
39206 #define BOOST_PP_WHILE_174(p,o,s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p(175, s)), p, o, s)
39207 #define BOOST_PP_WHILE_175(p,o,s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p(176, s)), p, o, s)
39208 #define BOOST_PP_WHILE_176(p,o,s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p(177, s)), p, o, s)
39209 #define BOOST_PP_WHILE_177(p,o,s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p(178, s)), p, o, s)
39210 #define BOOST_PP_WHILE_178(p,o,s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p(179, s)), p, o, s)
39211 #define BOOST_PP_WHILE_179(p,o,s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p(180, s)), p, o, s)
39212 #define BOOST_PP_WHILE_180(p,o,s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p(181, s)), p, o, s)
39213 #define BOOST_PP_WHILE_181(p,o,s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p(182, s)), p, o, s)
39214 #define BOOST_PP_WHILE_182(p,o,s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p(183, s)), p, o, s)
39215 #define BOOST_PP_WHILE_183(p,o,s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p(184, s)), p, o, s)
39216 #define BOOST_PP_WHILE_184(p,o,s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p(185, s)), p, o, s)
39217 #define BOOST_PP_WHILE_185(p,o,s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p(186, s)), p, o, s)
39218 #define BOOST_PP_WHILE_186(p,o,s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p(187, s)), p, o, s)
39219 #define BOOST_PP_WHILE_187(p,o,s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p(188, s)), p, o, s)
39220 #define BOOST_PP_WHILE_188(p,o,s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p(189, s)), p, o, s)
39221 #define BOOST_PP_WHILE_189(p,o,s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p(190, s)), p, o, s)
39222 #define BOOST_PP_WHILE_190(p,o,s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p(191, s)), p, o, s)
39223 #define BOOST_PP_WHILE_191(p,o,s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p(192, s)), p, o, s)
39224 #define BOOST_PP_WHILE_192(p,o,s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p(193, s)), p, o, s)
39225 #define BOOST_PP_WHILE_193(p,o,s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p(194, s)), p, o, s)
39226 #define BOOST_PP_WHILE_194(p,o,s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p(195, s)), p, o, s)
39227 #define BOOST_PP_WHILE_195(p,o,s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p(196, s)), p, o, s)
39228 #define BOOST_PP_WHILE_196(p,o,s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p(197, s)), p, o, s)
39229 #define BOOST_PP_WHILE_197(p,o,s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p(198, s)), p, o, s)
39230 #define BOOST_PP_WHILE_198(p,o,s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p(199, s)), p, o, s)
39231 #define BOOST_PP_WHILE_199(p,o,s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p(200, s)), p, o, s)
39232 #define BOOST_PP_WHILE_200(p,o,s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p(201, s)), p, o, s)
39233 #define BOOST_PP_WHILE_201(p,o,s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p(202, s)), p, o, s)
39234 #define BOOST_PP_WHILE_202(p,o,s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p(203, s)), p, o, s)
39235 #define BOOST_PP_WHILE_203(p,o,s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p(204, s)), p, o, s)
39236 #define BOOST_PP_WHILE_204(p,o,s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p(205, s)), p, o, s)
39237 #define BOOST_PP_WHILE_205(p,o,s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p(206, s)), p, o, s)
39238 #define BOOST_PP_WHILE_206(p,o,s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p(207, s)), p, o, s)
39239 #define BOOST_PP_WHILE_207(p,o,s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p(208, s)), p, o, s)
39240 #define BOOST_PP_WHILE_208(p,o,s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p(209, s)), p, o, s)
39241 #define BOOST_PP_WHILE_209(p,o,s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p(210, s)), p, o, s)
39242 #define BOOST_PP_WHILE_210(p,o,s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p(211, s)), p, o, s)
39243 #define BOOST_PP_WHILE_211(p,o,s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p(212, s)), p, o, s)
39244 #define BOOST_PP_WHILE_212(p,o,s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p(213, s)), p, o, s)
39245 #define BOOST_PP_WHILE_213(p,o,s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p(214, s)), p, o, s)
39246 #define BOOST_PP_WHILE_214(p,o,s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p(215, s)), p, o, s)
39247 #define BOOST_PP_WHILE_215(p,o,s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p(216, s)), p, o, s)
39248 #define BOOST_PP_WHILE_216(p,o,s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p(217, s)), p, o, s)
39249 #define BOOST_PP_WHILE_217(p,o,s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p(218, s)), p, o, s)
39250 #define BOOST_PP_WHILE_218(p,o,s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p(219, s)), p, o, s)
39251 #define BOOST_PP_WHILE_219(p,o,s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p(220, s)), p, o, s)
39252 #define BOOST_PP_WHILE_220(p,o,s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p(221, s)), p, o, s)
39253 #define BOOST_PP_WHILE_221(p,o,s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p(222, s)), p, o, s)
39254 #define BOOST_PP_WHILE_222(p,o,s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p(223, s)), p, o, s)
39255 #define BOOST_PP_WHILE_223(p,o,s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p(224, s)), p, o, s)
39256 #define BOOST_PP_WHILE_224(p,o,s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p(225, s)), p, o, s)
39257 #define BOOST_PP_WHILE_225(p,o,s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p(226, s)), p, o, s)
39258 #define BOOST_PP_WHILE_226(p,o,s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p(227, s)), p, o, s)
39259 #define BOOST_PP_WHILE_227(p,o,s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p(228, s)), p, o, s)
39260 #define BOOST_PP_WHILE_228(p,o,s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p(229, s)), p, o, s)
39261 #define BOOST_PP_WHILE_229(p,o,s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p(230, s)), p, o, s)
39262 #define BOOST_PP_WHILE_230(p,o,s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p(231, s)), p, o, s)
39263 #define BOOST_PP_WHILE_231(p,o,s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p(232, s)), p, o, s)
39264 #define BOOST_PP_WHILE_232(p,o,s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p(233, s)), p, o, s)
39265 #define BOOST_PP_WHILE_233(p,o,s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p(234, s)), p, o, s)
39266 #define BOOST_PP_WHILE_234(p,o,s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p(235, s)), p, o, s)
39267 #define BOOST_PP_WHILE_235(p,o,s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p(236, s)), p, o, s)
39268 #define BOOST_PP_WHILE_236(p,o,s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p(237, s)), p, o, s)
39269 #define BOOST_PP_WHILE_237(p,o,s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p(238, s)), p, o, s)
39270 #define BOOST_PP_WHILE_238(p,o,s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p(239, s)), p, o, s)
39271 #define BOOST_PP_WHILE_239(p,o,s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p(240, s)), p, o, s)
39272 #define BOOST_PP_WHILE_240(p,o,s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p(241, s)), p, o, s)
39273 #define BOOST_PP_WHILE_241(p,o,s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p(242, s)), p, o, s)
39274 #define BOOST_PP_WHILE_242(p,o,s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p(243, s)), p, o, s)
39275 #define BOOST_PP_WHILE_243(p,o,s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p(244, s)), p, o, s)
39276 #define BOOST_PP_WHILE_244(p,o,s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p(245, s)), p, o, s)
39277 #define BOOST_PP_WHILE_245(p,o,s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p(246, s)), p, o, s)
39278 #define BOOST_PP_WHILE_246(p,o,s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p(247, s)), p, o, s)
39279 #define BOOST_PP_WHILE_247(p,o,s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p(248, s)), p, o, s)
39280 #define BOOST_PP_WHILE_248(p,o,s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p(249, s)), p, o, s)
39281 #define BOOST_PP_WHILE_249(p,o,s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p(250, s)), p, o, s)
39282 #define BOOST_PP_WHILE_250(p,o,s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p(251, s)), p, o, s)
39283 #define BOOST_PP_WHILE_251(p,o,s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p(252, s)), p, o, s)
39284 #define BOOST_PP_WHILE_252(p,o,s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p(253, s)), p, o, s)
39285 #define BOOST_PP_WHILE_253(p,o,s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p(254, s)), p, o, s)
39286 #define BOOST_PP_WHILE_254(p,o,s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p(255, s)), p, o, s)
39287 #define BOOST_PP_WHILE_255(p,o,s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p(256, s)), p, o, s)
39288 #define BOOST_PP_WHILE_256(p,o,s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p(257, s)), p, o, s)
39289
39290 #define BOOST_PP_WHILE_1_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(2, s))
39291 #define BOOST_PP_WHILE_2_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(3, s))
39292 #define BOOST_PP_WHILE_3_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(4, s))
39293 #define BOOST_PP_WHILE_4_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(5, s))
39294 #define BOOST_PP_WHILE_5_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(6, s))
39295 #define BOOST_PP_WHILE_6_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(7, s))
39296 #define BOOST_PP_WHILE_7_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(8, s))
39297 #define BOOST_PP_WHILE_8_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(9, s))
39298 #define BOOST_PP_WHILE_9_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(10, s))
39299 #define BOOST_PP_WHILE_10_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(11, s))
39300 #define BOOST_PP_WHILE_11_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(12, s))
39301 #define BOOST_PP_WHILE_12_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(13, s))
39302 #define BOOST_PP_WHILE_13_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(14, s))
39303 #define BOOST_PP_WHILE_14_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(15, s))
39304 #define BOOST_PP_WHILE_15_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(16, s))
39305 #define BOOST_PP_WHILE_16_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(17, s))
39306 #define BOOST_PP_WHILE_17_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(18, s))
39307 #define BOOST_PP_WHILE_18_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(19, s))
39308 #define BOOST_PP_WHILE_19_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(20, s))
39309 #define BOOST_PP_WHILE_20_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(21, s))
39310 #define BOOST_PP_WHILE_21_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(22, s))
39311 #define BOOST_PP_WHILE_22_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(23, s))
39312 #define BOOST_PP_WHILE_23_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(24, s))
39313 #define BOOST_PP_WHILE_24_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(25, s))
39314 #define BOOST_PP_WHILE_25_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(26, s))
39315 #define BOOST_PP_WHILE_26_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(27, s))
39316 #define BOOST_PP_WHILE_27_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(28, s))
39317 #define BOOST_PP_WHILE_28_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(29, s))
39318 #define BOOST_PP_WHILE_29_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(30, s))
39319 #define BOOST_PP_WHILE_30_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(31, s))
39320 #define BOOST_PP_WHILE_31_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(32, s))
39321 #define BOOST_PP_WHILE_32_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(33, s))
39322 #define BOOST_PP_WHILE_33_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(34, s))
39323 #define BOOST_PP_WHILE_34_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(35, s))
39324 #define BOOST_PP_WHILE_35_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(36, s))
39325 #define BOOST_PP_WHILE_36_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(37, s))
39326 #define BOOST_PP_WHILE_37_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(38, s))
39327 #define BOOST_PP_WHILE_38_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(39, s))
39328 #define BOOST_PP_WHILE_39_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(40, s))
39329 #define BOOST_PP_WHILE_40_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(41, s))
39330 #define BOOST_PP_WHILE_41_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(42, s))
39331 #define BOOST_PP_WHILE_42_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(43, s))
39332 #define BOOST_PP_WHILE_43_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(44, s))
39333 #define BOOST_PP_WHILE_44_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(45, s))
39334 #define BOOST_PP_WHILE_45_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(46, s))
39335 #define BOOST_PP_WHILE_46_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(47, s))
39336 #define BOOST_PP_WHILE_47_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(48, s))
39337 #define BOOST_PP_WHILE_48_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(49, s))
39338 #define BOOST_PP_WHILE_49_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(50, s))
39339 #define BOOST_PP_WHILE_50_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(51, s))
39340 #define BOOST_PP_WHILE_51_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(52, s))
39341 #define BOOST_PP_WHILE_52_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(53, s))
39342 #define BOOST_PP_WHILE_53_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(54, s))
39343 #define BOOST_PP_WHILE_54_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(55, s))
39344 #define BOOST_PP_WHILE_55_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(56, s))
39345 #define BOOST_PP_WHILE_56_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(57, s))
39346 #define BOOST_PP_WHILE_57_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(58, s))
39347 #define BOOST_PP_WHILE_58_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(59, s))
39348 #define BOOST_PP_WHILE_59_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(60, s))
39349 #define BOOST_PP_WHILE_60_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(61, s))
39350 #define BOOST_PP_WHILE_61_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(62, s))
39351 #define BOOST_PP_WHILE_62_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(63, s))
39352 #define BOOST_PP_WHILE_63_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(64, s))
39353 #define BOOST_PP_WHILE_64_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(65, s))
39354 #define BOOST_PP_WHILE_65_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(66, s))
39355 #define BOOST_PP_WHILE_66_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(67, s))
39356 #define BOOST_PP_WHILE_67_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(68, s))
39357 #define BOOST_PP_WHILE_68_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(69, s))
39358 #define BOOST_PP_WHILE_69_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(70, s))
39359 #define BOOST_PP_WHILE_70_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(71, s))
39360 #define BOOST_PP_WHILE_71_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(72, s))
39361 #define BOOST_PP_WHILE_72_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(73, s))
39362 #define BOOST_PP_WHILE_73_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(74, s))
39363 #define BOOST_PP_WHILE_74_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(75, s))
39364 #define BOOST_PP_WHILE_75_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(76, s))
39365 #define BOOST_PP_WHILE_76_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(77, s))
39366 #define BOOST_PP_WHILE_77_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(78, s))
39367 #define BOOST_PP_WHILE_78_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(79, s))
39368 #define BOOST_PP_WHILE_79_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(80, s))
39369 #define BOOST_PP_WHILE_80_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(81, s))
39370 #define BOOST_PP_WHILE_81_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(82, s))
39371 #define BOOST_PP_WHILE_82_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(83, s))
39372 #define BOOST_PP_WHILE_83_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(84, s))
39373 #define BOOST_PP_WHILE_84_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(85, s))
39374 #define BOOST_PP_WHILE_85_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(86, s))
39375 #define BOOST_PP_WHILE_86_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(87, s))
39376 #define BOOST_PP_WHILE_87_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(88, s))
39377 #define BOOST_PP_WHILE_88_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(89, s))
39378 #define BOOST_PP_WHILE_89_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(90, s))
39379 #define BOOST_PP_WHILE_90_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(91, s))
39380 #define BOOST_PP_WHILE_91_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(92, s))
39381 #define BOOST_PP_WHILE_92_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(93, s))
39382 #define BOOST_PP_WHILE_93_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(94, s))
39383 #define BOOST_PP_WHILE_94_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(95, s))
39384 #define BOOST_PP_WHILE_95_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(96, s))
39385 #define BOOST_PP_WHILE_96_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(97, s))
39386 #define BOOST_PP_WHILE_97_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(98, s))
39387 #define BOOST_PP_WHILE_98_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(99, s))
39388 #define BOOST_PP_WHILE_99_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(100, s))
39389 #define BOOST_PP_WHILE_100_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(101, s))
39390 #define BOOST_PP_WHILE_101_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(102, s))
39391 #define BOOST_PP_WHILE_102_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(103, s))
39392 #define BOOST_PP_WHILE_103_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(104, s))
39393 #define BOOST_PP_WHILE_104_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(105, s))
39394 #define BOOST_PP_WHILE_105_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(106, s))
39395 #define BOOST_PP_WHILE_106_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(107, s))
39396 #define BOOST_PP_WHILE_107_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(108, s))
39397 #define BOOST_PP_WHILE_108_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(109, s))
39398 #define BOOST_PP_WHILE_109_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(110, s))
39399 #define BOOST_PP_WHILE_110_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(111, s))
39400 #define BOOST_PP_WHILE_111_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(112, s))
39401 #define BOOST_PP_WHILE_112_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(113, s))
39402 #define BOOST_PP_WHILE_113_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(114, s))
39403 #define BOOST_PP_WHILE_114_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(115, s))
39404 #define BOOST_PP_WHILE_115_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(116, s))
39405 #define BOOST_PP_WHILE_116_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(117, s))
39406 #define BOOST_PP_WHILE_117_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(118, s))
39407 #define BOOST_PP_WHILE_118_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(119, s))
39408 #define BOOST_PP_WHILE_119_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(120, s))
39409 #define BOOST_PP_WHILE_120_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(121, s))
39410 #define BOOST_PP_WHILE_121_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(122, s))
39411 #define BOOST_PP_WHILE_122_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(123, s))
39412 #define BOOST_PP_WHILE_123_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(124, s))
39413 #define BOOST_PP_WHILE_124_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(125, s))
39414 #define BOOST_PP_WHILE_125_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(126, s))
39415 #define BOOST_PP_WHILE_126_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(127, s))
39416 #define BOOST_PP_WHILE_127_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(128, s))
39417 #define BOOST_PP_WHILE_128_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(129, s))
39418 #define BOOST_PP_WHILE_129_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(130, s))
39419 #define BOOST_PP_WHILE_130_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(131, s))
39420 #define BOOST_PP_WHILE_131_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(132, s))
39421 #define BOOST_PP_WHILE_132_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(133, s))
39422 #define BOOST_PP_WHILE_133_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(134, s))
39423 #define BOOST_PP_WHILE_134_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(135, s))
39424 #define BOOST_PP_WHILE_135_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(136, s))
39425 #define BOOST_PP_WHILE_136_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(137, s))
39426 #define BOOST_PP_WHILE_137_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(138, s))
39427 #define BOOST_PP_WHILE_138_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(139, s))
39428 #define BOOST_PP_WHILE_139_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(140, s))
39429 #define BOOST_PP_WHILE_140_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(141, s))
39430 #define BOOST_PP_WHILE_141_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(142, s))
39431 #define BOOST_PP_WHILE_142_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(143, s))
39432 #define BOOST_PP_WHILE_143_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(144, s))
39433 #define BOOST_PP_WHILE_144_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(145, s))
39434 #define BOOST_PP_WHILE_145_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(146, s))
39435 #define BOOST_PP_WHILE_146_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(147, s))
39436 #define BOOST_PP_WHILE_147_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(148, s))
39437 #define BOOST_PP_WHILE_148_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(149, s))
39438 #define BOOST_PP_WHILE_149_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(150, s))
39439 #define BOOST_PP_WHILE_150_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(151, s))
39440 #define BOOST_PP_WHILE_151_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(152, s))
39441 #define BOOST_PP_WHILE_152_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(153, s))
39442 #define BOOST_PP_WHILE_153_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(154, s))
39443 #define BOOST_PP_WHILE_154_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(155, s))
39444 #define BOOST_PP_WHILE_155_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(156, s))
39445 #define BOOST_PP_WHILE_156_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(157, s))
39446 #define BOOST_PP_WHILE_157_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(158, s))
39447 #define BOOST_PP_WHILE_158_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(159, s))
39448 #define BOOST_PP_WHILE_159_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(160, s))
39449 #define BOOST_PP_WHILE_160_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(161, s))
39450 #define BOOST_PP_WHILE_161_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(162, s))
39451 #define BOOST_PP_WHILE_162_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(163, s))
39452 #define BOOST_PP_WHILE_163_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(164, s))
39453 #define BOOST_PP_WHILE_164_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(165, s))
39454 #define BOOST_PP_WHILE_165_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(166, s))
39455 #define BOOST_PP_WHILE_166_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(167, s))
39456 #define BOOST_PP_WHILE_167_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(168, s))
39457 #define BOOST_PP_WHILE_168_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(169, s))
39458 #define BOOST_PP_WHILE_169_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(170, s))
39459 #define BOOST_PP_WHILE_170_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(171, s))
39460 #define BOOST_PP_WHILE_171_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(172, s))
39461 #define BOOST_PP_WHILE_172_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(173, s))
39462 #define BOOST_PP_WHILE_173_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(174, s))
39463 #define BOOST_PP_WHILE_174_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(175, s))
39464 #define BOOST_PP_WHILE_175_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(176, s))
39465 #define BOOST_PP_WHILE_176_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(177, s))
39466 #define BOOST_PP_WHILE_177_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(178, s))
39467 #define BOOST_PP_WHILE_178_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(179, s))
39468 #define BOOST_PP_WHILE_179_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(180, s))
39469 #define BOOST_PP_WHILE_180_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(181, s))
39470 #define BOOST_PP_WHILE_181_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(182, s))
39471 #define BOOST_PP_WHILE_182_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(183, s))
39472 #define BOOST_PP_WHILE_183_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(184, s))
39473 #define BOOST_PP_WHILE_184_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(185, s))
39474 #define BOOST_PP_WHILE_185_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(186, s))
39475 #define BOOST_PP_WHILE_186_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(187, s))
39476 #define BOOST_PP_WHILE_187_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(188, s))
39477 #define BOOST_PP_WHILE_188_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(189, s))
39478 #define BOOST_PP_WHILE_189_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(190, s))
39479 #define BOOST_PP_WHILE_190_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(191, s))
39480 #define BOOST_PP_WHILE_191_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(192, s))
39481 #define BOOST_PP_WHILE_192_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(193, s))
39482 #define BOOST_PP_WHILE_193_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(194, s))
39483 #define BOOST_PP_WHILE_194_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(195, s))
39484 #define BOOST_PP_WHILE_195_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(196, s))
39485 #define BOOST_PP_WHILE_196_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(197, s))
39486 #define BOOST_PP_WHILE_197_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(198, s))
39487 #define BOOST_PP_WHILE_198_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(199, s))
39488 #define BOOST_PP_WHILE_199_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(200, s))
39489 #define BOOST_PP_WHILE_200_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(201, s))
39490 #define BOOST_PP_WHILE_201_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(202, s))
39491 #define BOOST_PP_WHILE_202_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(203, s))
39492 #define BOOST_PP_WHILE_203_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(204, s))
39493 #define BOOST_PP_WHILE_204_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(205, s))
39494 #define BOOST_PP_WHILE_205_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(206, s))
39495 #define BOOST_PP_WHILE_206_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(207, s))
39496 #define BOOST_PP_WHILE_207_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(208, s))
39497 #define BOOST_PP_WHILE_208_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(209, s))
39498 #define BOOST_PP_WHILE_209_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(210, s))
39499 #define BOOST_PP_WHILE_210_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(211, s))
39500 #define BOOST_PP_WHILE_211_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(212, s))
39501 #define BOOST_PP_WHILE_212_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(213, s))
39502 #define BOOST_PP_WHILE_213_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(214, s))
39503 #define BOOST_PP_WHILE_214_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(215, s))
39504 #define BOOST_PP_WHILE_215_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(216, s))
39505 #define BOOST_PP_WHILE_216_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(217, s))
39506 #define BOOST_PP_WHILE_217_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(218, s))
39507 #define BOOST_PP_WHILE_218_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(219, s))
39508 #define BOOST_PP_WHILE_219_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(220, s))
39509 #define BOOST_PP_WHILE_220_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(221, s))
39510 #define BOOST_PP_WHILE_221_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(222, s))
39511 #define BOOST_PP_WHILE_222_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(223, s))
39512 #define BOOST_PP_WHILE_223_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(224, s))
39513 #define BOOST_PP_WHILE_224_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(225, s))
39514 #define BOOST_PP_WHILE_225_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(226, s))
39515 #define BOOST_PP_WHILE_226_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(227, s))
39516 #define BOOST_PP_WHILE_227_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(228, s))
39517 #define BOOST_PP_WHILE_228_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(229, s))
39518 #define BOOST_PP_WHILE_229_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(230, s))
39519 #define BOOST_PP_WHILE_230_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(231, s))
39520 #define BOOST_PP_WHILE_231_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(232, s))
39521 #define BOOST_PP_WHILE_232_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(233, s))
39522 #define BOOST_PP_WHILE_233_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(234, s))
39523 #define BOOST_PP_WHILE_234_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(235, s))
39524 #define BOOST_PP_WHILE_235_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(236, s))
39525 #define BOOST_PP_WHILE_236_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(237, s))
39526 #define BOOST_PP_WHILE_237_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(238, s))
39527 #define BOOST_PP_WHILE_238_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(239, s))
39528 #define BOOST_PP_WHILE_239_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(240, s))
39529 #define BOOST_PP_WHILE_240_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(241, s))
39530 #define BOOST_PP_WHILE_241_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(242, s))
39531 #define BOOST_PP_WHILE_242_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(243, s))
39532 #define BOOST_PP_WHILE_243_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(244, s))
39533 #define BOOST_PP_WHILE_244_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(245, s))
39534 #define BOOST_PP_WHILE_245_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(246, s))
39535 #define BOOST_PP_WHILE_246_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(247, s))
39536 #define BOOST_PP_WHILE_247_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(248, s))
39537 #define BOOST_PP_WHILE_248_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(249, s))
39538 #define BOOST_PP_WHILE_249_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(250, s))
39539 #define BOOST_PP_WHILE_250_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(251, s))
39540 #define BOOST_PP_WHILE_251_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(252, s))
39541 #define BOOST_PP_WHILE_252_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(253, s))
39542 #define BOOST_PP_WHILE_253_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(254, s))
39543 #define BOOST_PP_WHILE_254_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(255, s))
39544 #define BOOST_PP_WHILE_255_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(256, s))
39545 #define BOOST_PP_WHILE_256_C(c,p,o,s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(257, s))
39546 # 49 "/usr/include/boost/preprocessor/control/while.hpp" 2 3 4
39547
39548
39549 #define BOOST_PP_WHILE_257(p,o,s) BOOST_PP_ERROR(0x0001)
39550
39551 #define BOOST_PP_WHILE_CHECK_BOOST_PP_NIL 1
39552
39553 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1(p,o,s) 0
39554 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_2(p,o,s) 0
39555 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_3(p,o,s) 0
39556 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_4(p,o,s) 0
39557 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_5(p,o,s) 0
39558 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_6(p,o,s) 0
39559 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_7(p,o,s) 0
39560 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_8(p,o,s) 0
39561 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_9(p,o,s) 0
39562 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_10(p,o,s) 0
39563 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_11(p,o,s) 0
39564 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_12(p,o,s) 0
39565 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_13(p,o,s) 0
39566 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_14(p,o,s) 0
39567 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_15(p,o,s) 0
39568 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_16(p,o,s) 0
39569 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_17(p,o,s) 0
39570 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_18(p,o,s) 0
39571 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_19(p,o,s) 0
39572 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_20(p,o,s) 0
39573 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_21(p,o,s) 0
39574 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_22(p,o,s) 0
39575 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_23(p,o,s) 0
39576 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_24(p,o,s) 0
39577 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_25(p,o,s) 0
39578 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_26(p,o,s) 0
39579 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_27(p,o,s) 0
39580 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_28(p,o,s) 0
39581 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_29(p,o,s) 0
39582 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_30(p,o,s) 0
39583 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_31(p,o,s) 0
39584 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_32(p,o,s) 0
39585 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_33(p,o,s) 0
39586 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_34(p,o,s) 0
39587 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_35(p,o,s) 0
39588 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_36(p,o,s) 0
39589 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_37(p,o,s) 0
39590 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_38(p,o,s) 0
39591 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_39(p,o,s) 0
39592 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_40(p,o,s) 0
39593 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_41(p,o,s) 0
39594 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_42(p,o,s) 0
39595 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_43(p,o,s) 0
39596 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_44(p,o,s) 0
39597 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_45(p,o,s) 0
39598 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_46(p,o,s) 0
39599 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_47(p,o,s) 0
39600 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_48(p,o,s) 0
39601 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_49(p,o,s) 0
39602 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_50(p,o,s) 0
39603 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_51(p,o,s) 0
39604 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_52(p,o,s) 0
39605 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_53(p,o,s) 0
39606 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_54(p,o,s) 0
39607 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_55(p,o,s) 0
39608 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_56(p,o,s) 0
39609 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_57(p,o,s) 0
39610 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_58(p,o,s) 0
39611 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_59(p,o,s) 0
39612 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_60(p,o,s) 0
39613 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_61(p,o,s) 0
39614 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_62(p,o,s) 0
39615 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_63(p,o,s) 0
39616 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_64(p,o,s) 0
39617 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_65(p,o,s) 0
39618 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_66(p,o,s) 0
39619 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_67(p,o,s) 0
39620 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_68(p,o,s) 0
39621 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_69(p,o,s) 0
39622 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_70(p,o,s) 0
39623 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_71(p,o,s) 0
39624 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_72(p,o,s) 0
39625 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_73(p,o,s) 0
39626 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_74(p,o,s) 0
39627 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_75(p,o,s) 0
39628 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_76(p,o,s) 0
39629 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_77(p,o,s) 0
39630 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_78(p,o,s) 0
39631 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_79(p,o,s) 0
39632 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_80(p,o,s) 0
39633 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_81(p,o,s) 0
39634 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_82(p,o,s) 0
39635 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_83(p,o,s) 0
39636 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_84(p,o,s) 0
39637 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_85(p,o,s) 0
39638 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_86(p,o,s) 0
39639 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_87(p,o,s) 0
39640 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_88(p,o,s) 0
39641 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_89(p,o,s) 0
39642 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_90(p,o,s) 0
39643 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_91(p,o,s) 0
39644 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_92(p,o,s) 0
39645 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_93(p,o,s) 0
39646 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_94(p,o,s) 0
39647 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_95(p,o,s) 0
39648 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_96(p,o,s) 0
39649 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_97(p,o,s) 0
39650 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_98(p,o,s) 0
39651 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_99(p,o,s) 0
39652 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_100(p,o,s) 0
39653 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_101(p,o,s) 0
39654 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_102(p,o,s) 0
39655 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_103(p,o,s) 0
39656 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_104(p,o,s) 0
39657 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_105(p,o,s) 0
39658 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_106(p,o,s) 0
39659 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_107(p,o,s) 0
39660 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_108(p,o,s) 0
39661 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_109(p,o,s) 0
39662 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_110(p,o,s) 0
39663 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_111(p,o,s) 0
39664 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_112(p,o,s) 0
39665 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_113(p,o,s) 0
39666 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_114(p,o,s) 0
39667 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_115(p,o,s) 0
39668 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_116(p,o,s) 0
39669 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_117(p,o,s) 0
39670 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_118(p,o,s) 0
39671 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_119(p,o,s) 0
39672 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_120(p,o,s) 0
39673 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_121(p,o,s) 0
39674 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_122(p,o,s) 0
39675 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_123(p,o,s) 0
39676 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_124(p,o,s) 0
39677 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_125(p,o,s) 0
39678 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_126(p,o,s) 0
39679 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_127(p,o,s) 0
39680 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_128(p,o,s) 0
39681 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_129(p,o,s) 0
39682 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_130(p,o,s) 0
39683 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_131(p,o,s) 0
39684 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_132(p,o,s) 0
39685 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_133(p,o,s) 0
39686 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_134(p,o,s) 0
39687 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_135(p,o,s) 0
39688 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_136(p,o,s) 0
39689 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_137(p,o,s) 0
39690 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_138(p,o,s) 0
39691 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_139(p,o,s) 0
39692 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_140(p,o,s) 0
39693 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_141(p,o,s) 0
39694 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_142(p,o,s) 0
39695 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_143(p,o,s) 0
39696 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_144(p,o,s) 0
39697 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_145(p,o,s) 0
39698 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_146(p,o,s) 0
39699 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_147(p,o,s) 0
39700 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_148(p,o,s) 0
39701 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_149(p,o,s) 0
39702 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_150(p,o,s) 0
39703 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_151(p,o,s) 0
39704 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_152(p,o,s) 0
39705 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_153(p,o,s) 0
39706 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_154(p,o,s) 0
39707 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_155(p,o,s) 0
39708 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_156(p,o,s) 0
39709 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_157(p,o,s) 0
39710 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_158(p,o,s) 0
39711 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_159(p,o,s) 0
39712 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_160(p,o,s) 0
39713 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_161(p,o,s) 0
39714 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_162(p,o,s) 0
39715 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_163(p,o,s) 0
39716 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_164(p,o,s) 0
39717 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_165(p,o,s) 0
39718 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_166(p,o,s) 0
39719 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_167(p,o,s) 0
39720 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_168(p,o,s) 0
39721 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_169(p,o,s) 0
39722 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_170(p,o,s) 0
39723 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_171(p,o,s) 0
39724 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_172(p,o,s) 0
39725 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_173(p,o,s) 0
39726 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_174(p,o,s) 0
39727 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_175(p,o,s) 0
39728 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_176(p,o,s) 0
39729 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_177(p,o,s) 0
39730 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_178(p,o,s) 0
39731 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_179(p,o,s) 0
39732 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_180(p,o,s) 0
39733 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_181(p,o,s) 0
39734 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_182(p,o,s) 0
39735 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_183(p,o,s) 0
39736 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_184(p,o,s) 0
39737 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_185(p,o,s) 0
39738 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_186(p,o,s) 0
39739 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_187(p,o,s) 0
39740 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_188(p,o,s) 0
39741 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_189(p,o,s) 0
39742 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_190(p,o,s) 0
39743 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_191(p,o,s) 0
39744 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_192(p,o,s) 0
39745 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_193(p,o,s) 0
39746 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_194(p,o,s) 0
39747 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_195(p,o,s) 0
39748 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_196(p,o,s) 0
39749 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_197(p,o,s) 0
39750 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_198(p,o,s) 0
39751 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_199(p,o,s) 0
39752 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_200(p,o,s) 0
39753 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_201(p,o,s) 0
39754 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_202(p,o,s) 0
39755 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_203(p,o,s) 0
39756 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_204(p,o,s) 0
39757 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_205(p,o,s) 0
39758 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_206(p,o,s) 0
39759 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_207(p,o,s) 0
39760 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_208(p,o,s) 0
39761 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_209(p,o,s) 0
39762 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_210(p,o,s) 0
39763 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_211(p,o,s) 0
39764 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_212(p,o,s) 0
39765 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_213(p,o,s) 0
39766 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_214(p,o,s) 0
39767 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_215(p,o,s) 0
39768 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_216(p,o,s) 0
39769 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_217(p,o,s) 0
39770 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_218(p,o,s) 0
39771 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_219(p,o,s) 0
39772 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_220(p,o,s) 0
39773 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_221(p,o,s) 0
39774 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_222(p,o,s) 0
39775 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_223(p,o,s) 0
39776 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_224(p,o,s) 0
39777 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_225(p,o,s) 0
39778 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_226(p,o,s) 0
39779 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_227(p,o,s) 0
39780 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_228(p,o,s) 0
39781 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_229(p,o,s) 0
39782 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_230(p,o,s) 0
39783 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_231(p,o,s) 0
39784 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_232(p,o,s) 0
39785 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_233(p,o,s) 0
39786 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_234(p,o,s) 0
39787 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_235(p,o,s) 0
39788 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_236(p,o,s) 0
39789 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_237(p,o,s) 0
39790 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_238(p,o,s) 0
39791 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_239(p,o,s) 0
39792 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_240(p,o,s) 0
39793 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_241(p,o,s) 0
39794 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_242(p,o,s) 0
39795 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_243(p,o,s) 0
39796 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_244(p,o,s) 0
39797 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_245(p,o,s) 0
39798 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_246(p,o,s) 0
39799 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_247(p,o,s) 0
39800 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_248(p,o,s) 0
39801 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_249(p,o,s) 0
39802 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_250(p,o,s) 0
39803 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_251(p,o,s) 0
39804 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_252(p,o,s) 0
39805 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_253(p,o,s) 0
39806 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_254(p,o,s) 0
39807 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_255(p,o,s) 0
39808 #define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_256(p,o,s) 0
39809 # 21 "/usr/include/boost/preprocessor/arithmetic/add.hpp" 2 3 4
39810 # 1 "/usr/include/boost/preprocessor/tuple/elem.hpp" 1 3 4
39811 # 15 "/usr/include/boost/preprocessor/tuple/elem.hpp" 3 4
39812 #define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP 
39813
39814
39815
39816
39817 #define BOOST_PP_TUPLE_ELEM(size,index,tuple) BOOST_PP_TUPLE_ELEM_I(size, index, tuple)
39818 # 32 "/usr/include/boost/preprocessor/tuple/elem.hpp" 3 4
39819 #define BOOST_PP_TUPLE_ELEM_I(s,i,t) BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i t
39820
39821
39822 #define BOOST_PP_TUPLE_ELEM_1_0(a) a
39823
39824 #define BOOST_PP_TUPLE_ELEM_2_0(a,b) a
39825 #define BOOST_PP_TUPLE_ELEM_2_1(a,b) b
39826
39827 #define BOOST_PP_TUPLE_ELEM_3_0(a,b,c) a
39828 #define BOOST_PP_TUPLE_ELEM_3_1(a,b,c) b
39829 #define BOOST_PP_TUPLE_ELEM_3_2(a,b,c) c
39830
39831 #define BOOST_PP_TUPLE_ELEM_4_0(a,b,c,d) a
39832 #define BOOST_PP_TUPLE_ELEM_4_1(a,b,c,d) b
39833 #define BOOST_PP_TUPLE_ELEM_4_2(a,b,c,d) c
39834 #define BOOST_PP_TUPLE_ELEM_4_3(a,b,c,d) d
39835
39836 #define BOOST_PP_TUPLE_ELEM_5_0(a,b,c,d,e) a
39837 #define BOOST_PP_TUPLE_ELEM_5_1(a,b,c,d,e) b
39838 #define BOOST_PP_TUPLE_ELEM_5_2(a,b,c,d,e) c
39839 #define BOOST_PP_TUPLE_ELEM_5_3(a,b,c,d,e) d
39840 #define BOOST_PP_TUPLE_ELEM_5_4(a,b,c,d,e) e
39841
39842 #define BOOST_PP_TUPLE_ELEM_6_0(a,b,c,d,e,f) a
39843 #define BOOST_PP_TUPLE_ELEM_6_1(a,b,c,d,e,f) b
39844 #define BOOST_PP_TUPLE_ELEM_6_2(a,b,c,d,e,f) c
39845 #define BOOST_PP_TUPLE_ELEM_6_3(a,b,c,d,e,f) d
39846 #define BOOST_PP_TUPLE_ELEM_6_4(a,b,c,d,e,f) e
39847 #define BOOST_PP_TUPLE_ELEM_6_5(a,b,c,d,e,f) f
39848
39849 #define BOOST_PP_TUPLE_ELEM_7_0(a,b,c,d,e,f,g) a
39850 #define BOOST_PP_TUPLE_ELEM_7_1(a,b,c,d,e,f,g) b
39851 #define BOOST_PP_TUPLE_ELEM_7_2(a,b,c,d,e,f,g) c
39852 #define BOOST_PP_TUPLE_ELEM_7_3(a,b,c,d,e,f,g) d
39853 #define BOOST_PP_TUPLE_ELEM_7_4(a,b,c,d,e,f,g) e
39854 #define BOOST_PP_TUPLE_ELEM_7_5(a,b,c,d,e,f,g) f
39855 #define BOOST_PP_TUPLE_ELEM_7_6(a,b,c,d,e,f,g) g
39856
39857 #define BOOST_PP_TUPLE_ELEM_8_0(a,b,c,d,e,f,g,h) a
39858 #define BOOST_PP_TUPLE_ELEM_8_1(a,b,c,d,e,f,g,h) b
39859 #define BOOST_PP_TUPLE_ELEM_8_2(a,b,c,d,e,f,g,h) c
39860 #define BOOST_PP_TUPLE_ELEM_8_3(a,b,c,d,e,f,g,h) d
39861 #define BOOST_PP_TUPLE_ELEM_8_4(a,b,c,d,e,f,g,h) e
39862 #define BOOST_PP_TUPLE_ELEM_8_5(a,b,c,d,e,f,g,h) f
39863 #define BOOST_PP_TUPLE_ELEM_8_6(a,b,c,d,e,f,g,h) g
39864 #define BOOST_PP_TUPLE_ELEM_8_7(a,b,c,d,e,f,g,h) h
39865
39866 #define BOOST_PP_TUPLE_ELEM_9_0(a,b,c,d,e,f,g,h,i) a
39867 #define BOOST_PP_TUPLE_ELEM_9_1(a,b,c,d,e,f,g,h,i) b
39868 #define BOOST_PP_TUPLE_ELEM_9_2(a,b,c,d,e,f,g,h,i) c
39869 #define BOOST_PP_TUPLE_ELEM_9_3(a,b,c,d,e,f,g,h,i) d
39870 #define BOOST_PP_TUPLE_ELEM_9_4(a,b,c,d,e,f,g,h,i) e
39871 #define BOOST_PP_TUPLE_ELEM_9_5(a,b,c,d,e,f,g,h,i) f
39872 #define BOOST_PP_TUPLE_ELEM_9_6(a,b,c,d,e,f,g,h,i) g
39873 #define BOOST_PP_TUPLE_ELEM_9_7(a,b,c,d,e,f,g,h,i) h
39874 #define BOOST_PP_TUPLE_ELEM_9_8(a,b,c,d,e,f,g,h,i) i
39875
39876 #define BOOST_PP_TUPLE_ELEM_10_0(a,b,c,d,e,f,g,h,i,j) a
39877 #define BOOST_PP_TUPLE_ELEM_10_1(a,b,c,d,e,f,g,h,i,j) b
39878 #define BOOST_PP_TUPLE_ELEM_10_2(a,b,c,d,e,f,g,h,i,j) c
39879 #define BOOST_PP_TUPLE_ELEM_10_3(a,b,c,d,e,f,g,h,i,j) d
39880 #define BOOST_PP_TUPLE_ELEM_10_4(a,b,c,d,e,f,g,h,i,j) e
39881 #define BOOST_PP_TUPLE_ELEM_10_5(a,b,c,d,e,f,g,h,i,j) f
39882 #define BOOST_PP_TUPLE_ELEM_10_6(a,b,c,d,e,f,g,h,i,j) g
39883 #define BOOST_PP_TUPLE_ELEM_10_7(a,b,c,d,e,f,g,h,i,j) h
39884 #define BOOST_PP_TUPLE_ELEM_10_8(a,b,c,d,e,f,g,h,i,j) i
39885 #define BOOST_PP_TUPLE_ELEM_10_9(a,b,c,d,e,f,g,h,i,j) j
39886
39887 #define BOOST_PP_TUPLE_ELEM_11_0(a,b,c,d,e,f,g,h,i,j,k) a
39888 #define BOOST_PP_TUPLE_ELEM_11_1(a,b,c,d,e,f,g,h,i,j,k) b
39889 #define BOOST_PP_TUPLE_ELEM_11_2(a,b,c,d,e,f,g,h,i,j,k) c
39890 #define BOOST_PP_TUPLE_ELEM_11_3(a,b,c,d,e,f,g,h,i,j,k) d
39891 #define BOOST_PP_TUPLE_ELEM_11_4(a,b,c,d,e,f,g,h,i,j,k) e
39892 #define BOOST_PP_TUPLE_ELEM_11_5(a,b,c,d,e,f,g,h,i,j,k) f
39893 #define BOOST_PP_TUPLE_ELEM_11_6(a,b,c,d,e,f,g,h,i,j,k) g
39894 #define BOOST_PP_TUPLE_ELEM_11_7(a,b,c,d,e,f,g,h,i,j,k) h
39895 #define BOOST_PP_TUPLE_ELEM_11_8(a,b,c,d,e,f,g,h,i,j,k) i
39896 #define BOOST_PP_TUPLE_ELEM_11_9(a,b,c,d,e,f,g,h,i,j,k) j
39897 #define BOOST_PP_TUPLE_ELEM_11_10(a,b,c,d,e,f,g,h,i,j,k) k
39898
39899 #define BOOST_PP_TUPLE_ELEM_12_0(a,b,c,d,e,f,g,h,i,j,k,l) a
39900 #define BOOST_PP_TUPLE_ELEM_12_1(a,b,c,d,e,f,g,h,i,j,k,l) b
39901 #define BOOST_PP_TUPLE_ELEM_12_2(a,b,c,d,e,f,g,h,i,j,k,l) c
39902 #define BOOST_PP_TUPLE_ELEM_12_3(a,b,c,d,e,f,g,h,i,j,k,l) d
39903 #define BOOST_PP_TUPLE_ELEM_12_4(a,b,c,d,e,f,g,h,i,j,k,l) e
39904 #define BOOST_PP_TUPLE_ELEM_12_5(a,b,c,d,e,f,g,h,i,j,k,l) f
39905 #define BOOST_PP_TUPLE_ELEM_12_6(a,b,c,d,e,f,g,h,i,j,k,l) g
39906 #define BOOST_PP_TUPLE_ELEM_12_7(a,b,c,d,e,f,g,h,i,j,k,l) h
39907 #define BOOST_PP_TUPLE_ELEM_12_8(a,b,c,d,e,f,g,h,i,j,k,l) i
39908 #define BOOST_PP_TUPLE_ELEM_12_9(a,b,c,d,e,f,g,h,i,j,k,l) j
39909 #define BOOST_PP_TUPLE_ELEM_12_10(a,b,c,d,e,f,g,h,i,j,k,l) k
39910 #define BOOST_PP_TUPLE_ELEM_12_11(a,b,c,d,e,f,g,h,i,j,k,l) l
39911
39912 #define BOOST_PP_TUPLE_ELEM_13_0(a,b,c,d,e,f,g,h,i,j,k,l,m) a
39913 #define BOOST_PP_TUPLE_ELEM_13_1(a,b,c,d,e,f,g,h,i,j,k,l,m) b
39914 #define BOOST_PP_TUPLE_ELEM_13_2(a,b,c,d,e,f,g,h,i,j,k,l,m) c
39915 #define BOOST_PP_TUPLE_ELEM_13_3(a,b,c,d,e,f,g,h,i,j,k,l,m) d
39916 #define BOOST_PP_TUPLE_ELEM_13_4(a,b,c,d,e,f,g,h,i,j,k,l,m) e
39917 #define BOOST_PP_TUPLE_ELEM_13_5(a,b,c,d,e,f,g,h,i,j,k,l,m) f
39918 #define BOOST_PP_TUPLE_ELEM_13_6(a,b,c,d,e,f,g,h,i,j,k,l,m) g
39919 #define BOOST_PP_TUPLE_ELEM_13_7(a,b,c,d,e,f,g,h,i,j,k,l,m) h
39920 #define BOOST_PP_TUPLE_ELEM_13_8(a,b,c,d,e,f,g,h,i,j,k,l,m) i
39921 #define BOOST_PP_TUPLE_ELEM_13_9(a,b,c,d,e,f,g,h,i,j,k,l,m) j
39922 #define BOOST_PP_TUPLE_ELEM_13_10(a,b,c,d,e,f,g,h,i,j,k,l,m) k
39923 #define BOOST_PP_TUPLE_ELEM_13_11(a,b,c,d,e,f,g,h,i,j,k,l,m) l
39924 #define BOOST_PP_TUPLE_ELEM_13_12(a,b,c,d,e,f,g,h,i,j,k,l,m) m
39925
39926 #define BOOST_PP_TUPLE_ELEM_14_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n) a
39927 #define BOOST_PP_TUPLE_ELEM_14_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n) b
39928 #define BOOST_PP_TUPLE_ELEM_14_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n) c
39929 #define BOOST_PP_TUPLE_ELEM_14_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n) d
39930 #define BOOST_PP_TUPLE_ELEM_14_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n) e
39931 #define BOOST_PP_TUPLE_ELEM_14_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n) f
39932 #define BOOST_PP_TUPLE_ELEM_14_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n) g
39933 #define BOOST_PP_TUPLE_ELEM_14_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n) h
39934 #define BOOST_PP_TUPLE_ELEM_14_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n) i
39935 #define BOOST_PP_TUPLE_ELEM_14_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n) j
39936 #define BOOST_PP_TUPLE_ELEM_14_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n) k
39937 #define BOOST_PP_TUPLE_ELEM_14_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n) l
39938 #define BOOST_PP_TUPLE_ELEM_14_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n) m
39939 #define BOOST_PP_TUPLE_ELEM_14_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n) n
39940
39941 #define BOOST_PP_TUPLE_ELEM_15_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) a
39942 #define BOOST_PP_TUPLE_ELEM_15_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) b
39943 #define BOOST_PP_TUPLE_ELEM_15_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) c
39944 #define BOOST_PP_TUPLE_ELEM_15_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) d
39945 #define BOOST_PP_TUPLE_ELEM_15_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) e
39946 #define BOOST_PP_TUPLE_ELEM_15_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) f
39947 #define BOOST_PP_TUPLE_ELEM_15_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) g
39948 #define BOOST_PP_TUPLE_ELEM_15_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) h
39949 #define BOOST_PP_TUPLE_ELEM_15_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) i
39950 #define BOOST_PP_TUPLE_ELEM_15_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) j
39951 #define BOOST_PP_TUPLE_ELEM_15_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) k
39952 #define BOOST_PP_TUPLE_ELEM_15_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) l
39953 #define BOOST_PP_TUPLE_ELEM_15_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) m
39954 #define BOOST_PP_TUPLE_ELEM_15_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) n
39955 #define BOOST_PP_TUPLE_ELEM_15_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) o
39956
39957 #define BOOST_PP_TUPLE_ELEM_16_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) a
39958 #define BOOST_PP_TUPLE_ELEM_16_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) b
39959 #define BOOST_PP_TUPLE_ELEM_16_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) c
39960 #define BOOST_PP_TUPLE_ELEM_16_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) d
39961 #define BOOST_PP_TUPLE_ELEM_16_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) e
39962 #define BOOST_PP_TUPLE_ELEM_16_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) f
39963 #define BOOST_PP_TUPLE_ELEM_16_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) g
39964 #define BOOST_PP_TUPLE_ELEM_16_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) h
39965 #define BOOST_PP_TUPLE_ELEM_16_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) i
39966 #define BOOST_PP_TUPLE_ELEM_16_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) j
39967 #define BOOST_PP_TUPLE_ELEM_16_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) k
39968 #define BOOST_PP_TUPLE_ELEM_16_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) l
39969 #define BOOST_PP_TUPLE_ELEM_16_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) m
39970 #define BOOST_PP_TUPLE_ELEM_16_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) n
39971 #define BOOST_PP_TUPLE_ELEM_16_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) o
39972 #define BOOST_PP_TUPLE_ELEM_16_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) p
39973
39974 #define BOOST_PP_TUPLE_ELEM_17_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) a
39975 #define BOOST_PP_TUPLE_ELEM_17_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) b
39976 #define BOOST_PP_TUPLE_ELEM_17_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) c
39977 #define BOOST_PP_TUPLE_ELEM_17_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) d
39978 #define BOOST_PP_TUPLE_ELEM_17_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) e
39979 #define BOOST_PP_TUPLE_ELEM_17_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) f
39980 #define BOOST_PP_TUPLE_ELEM_17_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) g
39981 #define BOOST_PP_TUPLE_ELEM_17_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) h
39982 #define BOOST_PP_TUPLE_ELEM_17_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) i
39983 #define BOOST_PP_TUPLE_ELEM_17_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) j
39984 #define BOOST_PP_TUPLE_ELEM_17_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) k
39985 #define BOOST_PP_TUPLE_ELEM_17_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) l
39986 #define BOOST_PP_TUPLE_ELEM_17_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) m
39987 #define BOOST_PP_TUPLE_ELEM_17_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) n
39988 #define BOOST_PP_TUPLE_ELEM_17_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) o
39989 #define BOOST_PP_TUPLE_ELEM_17_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) p
39990 #define BOOST_PP_TUPLE_ELEM_17_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) q
39991
39992 #define BOOST_PP_TUPLE_ELEM_18_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) a
39993 #define BOOST_PP_TUPLE_ELEM_18_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) b
39994 #define BOOST_PP_TUPLE_ELEM_18_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) c
39995 #define BOOST_PP_TUPLE_ELEM_18_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) d
39996 #define BOOST_PP_TUPLE_ELEM_18_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) e
39997 #define BOOST_PP_TUPLE_ELEM_18_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) f
39998 #define BOOST_PP_TUPLE_ELEM_18_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) g
39999 #define BOOST_PP_TUPLE_ELEM_18_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) h
40000 #define BOOST_PP_TUPLE_ELEM_18_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) i
40001 #define BOOST_PP_TUPLE_ELEM_18_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) j
40002 #define BOOST_PP_TUPLE_ELEM_18_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) k
40003 #define BOOST_PP_TUPLE_ELEM_18_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) l
40004 #define BOOST_PP_TUPLE_ELEM_18_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) m
40005 #define BOOST_PP_TUPLE_ELEM_18_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) n
40006 #define BOOST_PP_TUPLE_ELEM_18_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) o
40007 #define BOOST_PP_TUPLE_ELEM_18_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) p
40008 #define BOOST_PP_TUPLE_ELEM_18_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) q
40009 #define BOOST_PP_TUPLE_ELEM_18_17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) r
40010
40011 #define BOOST_PP_TUPLE_ELEM_19_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) a
40012 #define BOOST_PP_TUPLE_ELEM_19_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) b
40013 #define BOOST_PP_TUPLE_ELEM_19_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) c
40014 #define BOOST_PP_TUPLE_ELEM_19_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) d
40015 #define BOOST_PP_TUPLE_ELEM_19_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) e
40016 #define BOOST_PP_TUPLE_ELEM_19_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) f
40017 #define BOOST_PP_TUPLE_ELEM_19_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) g
40018 #define BOOST_PP_TUPLE_ELEM_19_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) h
40019 #define BOOST_PP_TUPLE_ELEM_19_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) i
40020 #define BOOST_PP_TUPLE_ELEM_19_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) j
40021 #define BOOST_PP_TUPLE_ELEM_19_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) k
40022 #define BOOST_PP_TUPLE_ELEM_19_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) l
40023 #define BOOST_PP_TUPLE_ELEM_19_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) m
40024 #define BOOST_PP_TUPLE_ELEM_19_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) n
40025 #define BOOST_PP_TUPLE_ELEM_19_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) o
40026 #define BOOST_PP_TUPLE_ELEM_19_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) p
40027 #define BOOST_PP_TUPLE_ELEM_19_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) q
40028 #define BOOST_PP_TUPLE_ELEM_19_17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) r
40029 #define BOOST_PP_TUPLE_ELEM_19_18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) s
40030
40031 #define BOOST_PP_TUPLE_ELEM_20_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) a
40032 #define BOOST_PP_TUPLE_ELEM_20_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) b
40033 #define BOOST_PP_TUPLE_ELEM_20_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) c
40034 #define BOOST_PP_TUPLE_ELEM_20_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) d
40035 #define BOOST_PP_TUPLE_ELEM_20_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) e
40036 #define BOOST_PP_TUPLE_ELEM_20_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) f
40037 #define BOOST_PP_TUPLE_ELEM_20_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) g
40038 #define BOOST_PP_TUPLE_ELEM_20_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) h
40039 #define BOOST_PP_TUPLE_ELEM_20_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) i
40040 #define BOOST_PP_TUPLE_ELEM_20_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) j
40041 #define BOOST_PP_TUPLE_ELEM_20_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) k
40042 #define BOOST_PP_TUPLE_ELEM_20_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) l
40043 #define BOOST_PP_TUPLE_ELEM_20_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) m
40044 #define BOOST_PP_TUPLE_ELEM_20_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) n
40045 #define BOOST_PP_TUPLE_ELEM_20_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) o
40046 #define BOOST_PP_TUPLE_ELEM_20_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) p
40047 #define BOOST_PP_TUPLE_ELEM_20_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) q
40048 #define BOOST_PP_TUPLE_ELEM_20_17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) r
40049 #define BOOST_PP_TUPLE_ELEM_20_18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) s
40050 #define BOOST_PP_TUPLE_ELEM_20_19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) t
40051
40052 #define BOOST_PP_TUPLE_ELEM_21_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) a
40053 #define BOOST_PP_TUPLE_ELEM_21_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) b
40054 #define BOOST_PP_TUPLE_ELEM_21_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) c
40055 #define BOOST_PP_TUPLE_ELEM_21_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) d
40056 #define BOOST_PP_TUPLE_ELEM_21_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) e
40057 #define BOOST_PP_TUPLE_ELEM_21_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) f
40058 #define BOOST_PP_TUPLE_ELEM_21_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) g
40059 #define BOOST_PP_TUPLE_ELEM_21_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) h
40060 #define BOOST_PP_TUPLE_ELEM_21_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) i
40061 #define BOOST_PP_TUPLE_ELEM_21_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) j
40062 #define BOOST_PP_TUPLE_ELEM_21_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) k
40063 #define BOOST_PP_TUPLE_ELEM_21_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) l
40064 #define BOOST_PP_TUPLE_ELEM_21_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) m
40065 #define BOOST_PP_TUPLE_ELEM_21_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) n
40066 #define BOOST_PP_TUPLE_ELEM_21_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) o
40067 #define BOOST_PP_TUPLE_ELEM_21_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) p
40068 #define BOOST_PP_TUPLE_ELEM_21_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) q
40069 #define BOOST_PP_TUPLE_ELEM_21_17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) r
40070 #define BOOST_PP_TUPLE_ELEM_21_18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) s
40071 #define BOOST_PP_TUPLE_ELEM_21_19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) t
40072 #define BOOST_PP_TUPLE_ELEM_21_20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) u
40073
40074 #define BOOST_PP_TUPLE_ELEM_22_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) a
40075 #define BOOST_PP_TUPLE_ELEM_22_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) b
40076 #define BOOST_PP_TUPLE_ELEM_22_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) c
40077 #define BOOST_PP_TUPLE_ELEM_22_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) d
40078 #define BOOST_PP_TUPLE_ELEM_22_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) e
40079 #define BOOST_PP_TUPLE_ELEM_22_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) f
40080 #define BOOST_PP_TUPLE_ELEM_22_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) g
40081 #define BOOST_PP_TUPLE_ELEM_22_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) h
40082 #define BOOST_PP_TUPLE_ELEM_22_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) i
40083 #define BOOST_PP_TUPLE_ELEM_22_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) j
40084 #define BOOST_PP_TUPLE_ELEM_22_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) k
40085 #define BOOST_PP_TUPLE_ELEM_22_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) l
40086 #define BOOST_PP_TUPLE_ELEM_22_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) m
40087 #define BOOST_PP_TUPLE_ELEM_22_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) n
40088 #define BOOST_PP_TUPLE_ELEM_22_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) o
40089 #define BOOST_PP_TUPLE_ELEM_22_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) p
40090 #define BOOST_PP_TUPLE_ELEM_22_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) q
40091 #define BOOST_PP_TUPLE_ELEM_22_17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) r
40092 #define BOOST_PP_TUPLE_ELEM_22_18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) s
40093 #define BOOST_PP_TUPLE_ELEM_22_19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) t
40094 #define BOOST_PP_TUPLE_ELEM_22_20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) u
40095 #define BOOST_PP_TUPLE_ELEM_22_21(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) v
40096
40097 #define BOOST_PP_TUPLE_ELEM_23_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) a
40098 #define BOOST_PP_TUPLE_ELEM_23_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) b
40099 #define BOOST_PP_TUPLE_ELEM_23_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) c
40100 #define BOOST_PP_TUPLE_ELEM_23_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) d
40101 #define BOOST_PP_TUPLE_ELEM_23_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) e
40102 #define BOOST_PP_TUPLE_ELEM_23_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) f
40103 #define BOOST_PP_TUPLE_ELEM_23_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) g
40104 #define BOOST_PP_TUPLE_ELEM_23_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) h
40105 #define BOOST_PP_TUPLE_ELEM_23_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) i
40106 #define BOOST_PP_TUPLE_ELEM_23_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) j
40107 #define BOOST_PP_TUPLE_ELEM_23_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) k
40108 #define BOOST_PP_TUPLE_ELEM_23_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) l
40109 #define BOOST_PP_TUPLE_ELEM_23_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) m
40110 #define BOOST_PP_TUPLE_ELEM_23_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) n
40111 #define BOOST_PP_TUPLE_ELEM_23_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) o
40112 #define BOOST_PP_TUPLE_ELEM_23_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) p
40113 #define BOOST_PP_TUPLE_ELEM_23_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) q
40114 #define BOOST_PP_TUPLE_ELEM_23_17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) r
40115 #define BOOST_PP_TUPLE_ELEM_23_18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) s
40116 #define BOOST_PP_TUPLE_ELEM_23_19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) t
40117 #define BOOST_PP_TUPLE_ELEM_23_20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) u
40118 #define BOOST_PP_TUPLE_ELEM_23_21(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) v
40119 #define BOOST_PP_TUPLE_ELEM_23_22(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) w
40120
40121 #define BOOST_PP_TUPLE_ELEM_24_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) a
40122 #define BOOST_PP_TUPLE_ELEM_24_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) b
40123 #define BOOST_PP_TUPLE_ELEM_24_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) c
40124 #define BOOST_PP_TUPLE_ELEM_24_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) d
40125 #define BOOST_PP_TUPLE_ELEM_24_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) e
40126 #define BOOST_PP_TUPLE_ELEM_24_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) f
40127 #define BOOST_PP_TUPLE_ELEM_24_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) g
40128 #define BOOST_PP_TUPLE_ELEM_24_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) h
40129 #define BOOST_PP_TUPLE_ELEM_24_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) i
40130 #define BOOST_PP_TUPLE_ELEM_24_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) j
40131 #define BOOST_PP_TUPLE_ELEM_24_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) k
40132 #define BOOST_PP_TUPLE_ELEM_24_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) l
40133 #define BOOST_PP_TUPLE_ELEM_24_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) m
40134 #define BOOST_PP_TUPLE_ELEM_24_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) n
40135 #define BOOST_PP_TUPLE_ELEM_24_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) o
40136 #define BOOST_PP_TUPLE_ELEM_24_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) p
40137 #define BOOST_PP_TUPLE_ELEM_24_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) q
40138 #define BOOST_PP_TUPLE_ELEM_24_17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) r
40139 #define BOOST_PP_TUPLE_ELEM_24_18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) s
40140 #define BOOST_PP_TUPLE_ELEM_24_19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) t
40141 #define BOOST_PP_TUPLE_ELEM_24_20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) u
40142 #define BOOST_PP_TUPLE_ELEM_24_21(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) v
40143 #define BOOST_PP_TUPLE_ELEM_24_22(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) w
40144 #define BOOST_PP_TUPLE_ELEM_24_23(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) x
40145
40146 #define BOOST_PP_TUPLE_ELEM_25_0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) a
40147 #define BOOST_PP_TUPLE_ELEM_25_1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) b
40148 #define BOOST_PP_TUPLE_ELEM_25_2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) c
40149 #define BOOST_PP_TUPLE_ELEM_25_3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) d
40150 #define BOOST_PP_TUPLE_ELEM_25_4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) e
40151 #define BOOST_PP_TUPLE_ELEM_25_5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) f
40152 #define BOOST_PP_TUPLE_ELEM_25_6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) g
40153 #define BOOST_PP_TUPLE_ELEM_25_7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) h
40154 #define BOOST_PP_TUPLE_ELEM_25_8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) i
40155 #define BOOST_PP_TUPLE_ELEM_25_9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) j
40156 #define BOOST_PP_TUPLE_ELEM_25_10(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) k
40157 #define BOOST_PP_TUPLE_ELEM_25_11(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) l
40158 #define BOOST_PP_TUPLE_ELEM_25_12(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) m
40159 #define BOOST_PP_TUPLE_ELEM_25_13(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) n
40160 #define BOOST_PP_TUPLE_ELEM_25_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) o
40161 #define BOOST_PP_TUPLE_ELEM_25_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) p
40162 #define BOOST_PP_TUPLE_ELEM_25_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) q
40163 #define BOOST_PP_TUPLE_ELEM_25_17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) r
40164 #define BOOST_PP_TUPLE_ELEM_25_18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) s
40165 #define BOOST_PP_TUPLE_ELEM_25_19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) t
40166 #define BOOST_PP_TUPLE_ELEM_25_20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) u
40167 #define BOOST_PP_TUPLE_ELEM_25_21(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) v
40168 #define BOOST_PP_TUPLE_ELEM_25_22(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) w
40169 #define BOOST_PP_TUPLE_ELEM_25_23(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) x
40170 #define BOOST_PP_TUPLE_ELEM_25_24(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) y
40171 # 22 "/usr/include/boost/preprocessor/arithmetic/add.hpp" 2 3 4
40172
40173
40174
40175
40176 #define BOOST_PP_ADD(x,y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
40177
40178
40179
40180
40181
40182 #define BOOST_PP_ADD_P(d,xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)
40183
40184
40185 #define BOOST_PP_ADD_O(d,xy) BOOST_PP_ADD_O_I xy
40186
40187
40188
40189
40190 #define BOOST_PP_ADD_O_I(x,y) (BOOST_PP_INC(x), BOOST_PP_DEC(y))
40191
40192
40193
40194
40195 #define BOOST_PP_ADD_D(d,x,y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
40196 # 67 "/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 3 4
40197 # 1 "/usr/include/boost/preprocessor/arithmetic/sub.hpp" 1 3 4
40198 # 15 "/usr/include/boost/preprocessor/arithmetic/sub.hpp" 3 4
40199 #define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP 
40200 # 25 "/usr/include/boost/preprocessor/arithmetic/sub.hpp" 3 4
40201 #define BOOST_PP_SUB(x,y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
40202
40203
40204
40205
40206
40207 #define BOOST_PP_SUB_P(d,xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)
40208
40209
40210 #define BOOST_PP_SUB_O(d,xy) BOOST_PP_SUB_O_I xy
40211
40212
40213
40214
40215 #define BOOST_PP_SUB_O_I(x,y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y))
40216
40217
40218
40219
40220 #define BOOST_PP_SUB_D(d,x,y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
40221 # 68 "/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 3 4
40222
40223
40224
40225
40226
40227 #define BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC(unused,i,op) , BOOST_PP_CAT( BOOST_PP_TUPLE_ELEM(3, 1, op) , BOOST_PP_ADD_D(1, i, BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3, 0, op))) ) BOOST_PP_TUPLE_ELEM(3, 2, op)()
40228
40229
40230
40231
40232
40233
40234 #define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i,param,value_func) BOOST_PP_REPEAT( BOOST_PP_SUB_D(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, i) , BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC , (i, param, value_func) )
40235 # 91 "/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 3 4
40236 #define BOOST_MPL_PP_DEF_PARAMS_TAIL(i,param,value) BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value))
40237
40238
40239
40240
40241 #define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i,param,value) BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value))
40242 # 29 "/usr/include/boost/mpl/aux_/na_spec.hpp" 2 3 4
40243 # 38 "/usr/include/boost/mpl/aux_/na_spec.hpp" 3 4
40244 #define BOOST_MPL_AUX_NA_PARAMS(i) BOOST_MPL_PP_ENUM(i, na)
40245 # 56 "/usr/include/boost/mpl/aux_/na_spec.hpp" 3 4
40246 #define BOOST_MPL_AUX_NA_SPEC_ARITY(i,name) 
40247
40248
40249 #define BOOST_MPL_AUX_NA_SPEC_MAIN(i,name) template<> struct name< BOOST_MPL_AUX_NA_PARAMS(i) > { template< BOOST_MPL_PP_PARAMS(i, typename T) BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, typename T, na) > struct apply : name< BOOST_MPL_PP_PARAMS(i, T) > { }; };
40250 # 98 "/usr/include/boost/mpl/aux_/na_spec.hpp" 3 4
40251 #define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i,name) template< typename Tag > struct lambda< name< BOOST_MPL_AUX_NA_PARAMS(i) > , Tag BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<-1>) > { typedef false_ is_le; typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > result_; typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; };
40252 # 116 "/usr/include/boost/mpl/aux_/na_spec.hpp" 3 4
40253 #define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i,j,name) namespace aux { template< BOOST_MPL_PP_PARAMS(j, typename T) > struct template_arity< name< BOOST_MPL_PP_PARAMS(j, T) > > : int_<j> { }; template<> struct template_arity< name< BOOST_MPL_PP_ENUM(i, na) > > : int_<-1> { }; }
40254 # 149 "/usr/include/boost/mpl/aux_/na_spec.hpp" 3 4
40255 #define BOOST_MPL_AUX_NA_SPEC_ETI(i,name) 
40256
40257
40258 #define BOOST_MPL_AUX_NA_PARAM(param) param = na
40259
40260 #define BOOST_MPL_AUX_NA_SPEC_NO_ETI(i,name) BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, i, name)
40261
40262
40263
40264
40265
40266
40267 #define BOOST_MPL_AUX_NA_SPEC(i,name) BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) BOOST_MPL_AUX_NA_SPEC_ETI(i, name)
40268
40269
40270
40271
40272 #define BOOST_MPL_AUX_NA_SPEC2(i,j,name) BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) BOOST_MPL_AUX_NA_SPEC_ETI(i, name) BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name)
40273 # 20 "/usr/include/boost/mpl/if.hpp" 2 3 4
40274
40275
40276
40277
40278
40279 namespace boost { namespace mpl {
40280
40281
40282
40283 template<
40284       bool C
40285     , typename T1
40286     , typename T2
40287     >
40288 struct if_c
40289 {
40290     typedef T1 type;
40291 };
40292
40293 template<
40294       typename T1
40295     , typename T2
40296     >
40297 struct if_c<false,T1,T2>
40298 {
40299     typedef T2 type;
40300 };
40301
40302
40303
40304 template<
40305       typename T1 = na
40306     , typename T2 = na
40307     , typename T3 = na
40308     >
40309 struct if_
40310 {
40311  private:
40312
40313     typedef if_c<
40314
40315
40316
40317           static_cast<bool>(T1::value)
40318
40319         , T2
40320         , T3
40321         > almost_type_;
40322
40323  public:
40324     typedef typename almost_type_::type type;
40325
40326    
40327 };
40328 # 131 "/usr/include/boost/mpl/if.hpp" 3 4
40329 template<> struct if_< na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 =na , typename T5 =na > struct apply : if_< T1 , T2 , T3 > { }; }; template< typename Tag > struct lambda< if_< na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef if_< na , na , na > result_; typedef if_< na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< if_< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< if_< na , na , na > > : int_<-1> { }; }
40330
40331 }}
40332 # 12 "/usr/include/boost/type_traits/type_with_alignment.hpp" 2 3 4
40333 # 1 "/usr/include/boost/preprocessor/list/for_each_i.hpp" 1 3 4
40334 # 15 "/usr/include/boost/preprocessor/list/for_each_i.hpp" 3 4
40335 #define BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP 
40336
40337
40338
40339
40340 # 1 "/usr/include/boost/preprocessor/repetition/for.hpp" 1 3 4
40341 # 15 "/usr/include/boost/preprocessor/repetition/for.hpp" 3 4
40342 #define BOOST_PREPROCESSOR_REPETITION_FOR_HPP 
40343
40344
40345
40346 # 1 "/usr/include/boost/preprocessor/detail/auto_rec.hpp" 1 3 4
40347 # 20 "/usr/include/boost/preprocessor/repetition/for.hpp" 2 3 4
40348
40349
40350
40351
40352
40353
40354
40355 #define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256))
40356
40357 #define BOOST_PP_FOR_P(n) BOOST_PP_CAT(BOOST_PP_FOR_CHECK_, BOOST_PP_FOR_ ## n(1, BOOST_PP_FOR_SR_P, BOOST_PP_FOR_SR_O, BOOST_PP_FOR_SR_M))
40358
40359 #define BOOST_PP_FOR_SR_P(r,s) s
40360 #define BOOST_PP_FOR_SR_O(r,s) 0
40361 #define BOOST_PP_FOR_SR_M(r,s) BOOST_PP_NIL
40362 # 42 "/usr/include/boost/preprocessor/repetition/for.hpp" 3 4
40363 # 1 "/usr/include/boost/preprocessor/repetition/detail/for.hpp" 1 3 4
40364 # 15 "/usr/include/boost/preprocessor/repetition/detail/for.hpp" 3 4
40365 #define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP 
40366
40367
40368
40369
40370
40371
40372 #define BOOST_PP_FOR_1(s,p,o,m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p(2, s)), s, p, o, m)
40373 #define BOOST_PP_FOR_2(s,p,o,m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p(3, s)), s, p, o, m)
40374 #define BOOST_PP_FOR_3(s,p,o,m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p(4, s)), s, p, o, m)
40375 #define BOOST_PP_FOR_4(s,p,o,m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p(5, s)), s, p, o, m)
40376 #define BOOST_PP_FOR_5(s,p,o,m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p(6, s)), s, p, o, m)
40377 #define BOOST_PP_FOR_6(s,p,o,m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p(7, s)), s, p, o, m)
40378 #define BOOST_PP_FOR_7(s,p,o,m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p(8, s)), s, p, o, m)
40379 #define BOOST_PP_FOR_8(s,p,o,m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p(9, s)), s, p, o, m)
40380 #define BOOST_PP_FOR_9(s,p,o,m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p(10, s)), s, p, o, m)
40381 #define BOOST_PP_FOR_10(s,p,o,m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p(11, s)), s, p, o, m)
40382 #define BOOST_PP_FOR_11(s,p,o,m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p(12, s)), s, p, o, m)
40383 #define BOOST_PP_FOR_12(s,p,o,m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p(13, s)), s, p, o, m)
40384 #define BOOST_PP_FOR_13(s,p,o,m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p(14, s)), s, p, o, m)
40385 #define BOOST_PP_FOR_14(s,p,o,m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p(15, s)), s, p, o, m)
40386 #define BOOST_PP_FOR_15(s,p,o,m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p(16, s)), s, p, o, m)
40387 #define BOOST_PP_FOR_16(s,p,o,m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p(17, s)), s, p, o, m)
40388 #define BOOST_PP_FOR_17(s,p,o,m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p(18, s)), s, p, o, m)
40389 #define BOOST_PP_FOR_18(s,p,o,m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p(19, s)), s, p, o, m)
40390 #define BOOST_PP_FOR_19(s,p,o,m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p(20, s)), s, p, o, m)
40391 #define BOOST_PP_FOR_20(s,p,o,m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p(21, s)), s, p, o, m)
40392 #define BOOST_PP_FOR_21(s,p,o,m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p(22, s)), s, p, o, m)
40393 #define BOOST_PP_FOR_22(s,p,o,m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p(23, s)), s, p, o, m)
40394 #define BOOST_PP_FOR_23(s,p,o,m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p(24, s)), s, p, o, m)
40395 #define BOOST_PP_FOR_24(s,p,o,m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p(25, s)), s, p, o, m)
40396 #define BOOST_PP_FOR_25(s,p,o,m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p(26, s)), s, p, o, m)
40397 #define BOOST_PP_FOR_26(s,p,o,m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p(27, s)), s, p, o, m)
40398 #define BOOST_PP_FOR_27(s,p,o,m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p(28, s)), s, p, o, m)
40399 #define BOOST_PP_FOR_28(s,p,o,m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p(29, s)), s, p, o, m)
40400 #define BOOST_PP_FOR_29(s,p,o,m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p(30, s)), s, p, o, m)
40401 #define BOOST_PP_FOR_30(s,p,o,m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p(31, s)), s, p, o, m)
40402 #define BOOST_PP_FOR_31(s,p,o,m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p(32, s)), s, p, o, m)
40403 #define BOOST_PP_FOR_32(s,p,o,m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p(33, s)), s, p, o, m)
40404 #define BOOST_PP_FOR_33(s,p,o,m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p(34, s)), s, p, o, m)
40405 #define BOOST_PP_FOR_34(s,p,o,m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p(35, s)), s, p, o, m)
40406 #define BOOST_PP_FOR_35(s,p,o,m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p(36, s)), s, p, o, m)
40407 #define BOOST_PP_FOR_36(s,p,o,m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p(37, s)), s, p, o, m)
40408 #define BOOST_PP_FOR_37(s,p,o,m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p(38, s)), s, p, o, m)
40409 #define BOOST_PP_FOR_38(s,p,o,m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p(39, s)), s, p, o, m)
40410 #define BOOST_PP_FOR_39(s,p,o,m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p(40, s)), s, p, o, m)
40411 #define BOOST_PP_FOR_40(s,p,o,m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p(41, s)), s, p, o, m)
40412 #define BOOST_PP_FOR_41(s,p,o,m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p(42, s)), s, p, o, m)
40413 #define BOOST_PP_FOR_42(s,p,o,m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p(43, s)), s, p, o, m)
40414 #define BOOST_PP_FOR_43(s,p,o,m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p(44, s)), s, p, o, m)
40415 #define BOOST_PP_FOR_44(s,p,o,m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p(45, s)), s, p, o, m)
40416 #define BOOST_PP_FOR_45(s,p,o,m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p(46, s)), s, p, o, m)
40417 #define BOOST_PP_FOR_46(s,p,o,m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p(47, s)), s, p, o, m)
40418 #define BOOST_PP_FOR_47(s,p,o,m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p(48, s)), s, p, o, m)
40419 #define BOOST_PP_FOR_48(s,p,o,m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p(49, s)), s, p, o, m)
40420 #define BOOST_PP_FOR_49(s,p,o,m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p(50, s)), s, p, o, m)
40421 #define BOOST_PP_FOR_50(s,p,o,m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p(51, s)), s, p, o, m)
40422 #define BOOST_PP_FOR_51(s,p,o,m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p(52, s)), s, p, o, m)
40423 #define BOOST_PP_FOR_52(s,p,o,m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p(53, s)), s, p, o, m)
40424 #define BOOST_PP_FOR_53(s,p,o,m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p(54, s)), s, p, o, m)
40425 #define BOOST_PP_FOR_54(s,p,o,m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p(55, s)), s, p, o, m)
40426 #define BOOST_PP_FOR_55(s,p,o,m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p(56, s)), s, p, o, m)
40427 #define BOOST_PP_FOR_56(s,p,o,m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p(57, s)), s, p, o, m)
40428 #define BOOST_PP_FOR_57(s,p,o,m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p(58, s)), s, p, o, m)
40429 #define BOOST_PP_FOR_58(s,p,o,m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p(59, s)), s, p, o, m)
40430 #define BOOST_PP_FOR_59(s,p,o,m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p(60, s)), s, p, o, m)
40431 #define BOOST_PP_FOR_60(s,p,o,m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p(61, s)), s, p, o, m)
40432 #define BOOST_PP_FOR_61(s,p,o,m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p(62, s)), s, p, o, m)
40433 #define BOOST_PP_FOR_62(s,p,o,m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p(63, s)), s, p, o, m)
40434 #define BOOST_PP_FOR_63(s,p,o,m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p(64, s)), s, p, o, m)
40435 #define BOOST_PP_FOR_64(s,p,o,m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p(65, s)), s, p, o, m)
40436 #define BOOST_PP_FOR_65(s,p,o,m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p(66, s)), s, p, o, m)
40437 #define BOOST_PP_FOR_66(s,p,o,m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p(67, s)), s, p, o, m)
40438 #define BOOST_PP_FOR_67(s,p,o,m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p(68, s)), s, p, o, m)
40439 #define BOOST_PP_FOR_68(s,p,o,m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p(69, s)), s, p, o, m)
40440 #define BOOST_PP_FOR_69(s,p,o,m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p(70, s)), s, p, o, m)
40441 #define BOOST_PP_FOR_70(s,p,o,m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p(71, s)), s, p, o, m)
40442 #define BOOST_PP_FOR_71(s,p,o,m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p(72, s)), s, p, o, m)
40443 #define BOOST_PP_FOR_72(s,p,o,m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p(73, s)), s, p, o, m)
40444 #define BOOST_PP_FOR_73(s,p,o,m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p(74, s)), s, p, o, m)
40445 #define BOOST_PP_FOR_74(s,p,o,m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p(75, s)), s, p, o, m)
40446 #define BOOST_PP_FOR_75(s,p,o,m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p(76, s)), s, p, o, m)
40447 #define BOOST_PP_FOR_76(s,p,o,m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p(77, s)), s, p, o, m)
40448 #define BOOST_PP_FOR_77(s,p,o,m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p(78, s)), s, p, o, m)
40449 #define BOOST_PP_FOR_78(s,p,o,m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p(79, s)), s, p, o, m)
40450 #define BOOST_PP_FOR_79(s,p,o,m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p(80, s)), s, p, o, m)
40451 #define BOOST_PP_FOR_80(s,p,o,m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p(81, s)), s, p, o, m)
40452 #define BOOST_PP_FOR_81(s,p,o,m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p(82, s)), s, p, o, m)
40453 #define BOOST_PP_FOR_82(s,p,o,m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p(83, s)), s, p, o, m)
40454 #define BOOST_PP_FOR_83(s,p,o,m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p(84, s)), s, p, o, m)
40455 #define BOOST_PP_FOR_84(s,p,o,m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p(85, s)), s, p, o, m)
40456 #define BOOST_PP_FOR_85(s,p,o,m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p(86, s)), s, p, o, m)
40457 #define BOOST_PP_FOR_86(s,p,o,m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p(87, s)), s, p, o, m)
40458 #define BOOST_PP_FOR_87(s,p,o,m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p(88, s)), s, p, o, m)
40459 #define BOOST_PP_FOR_88(s,p,o,m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p(89, s)), s, p, o, m)
40460 #define BOOST_PP_FOR_89(s,p,o,m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p(90, s)), s, p, o, m)
40461 #define BOOST_PP_FOR_90(s,p,o,m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p(91, s)), s, p, o, m)
40462 #define BOOST_PP_FOR_91(s,p,o,m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p(92, s)), s, p, o, m)
40463 #define BOOST_PP_FOR_92(s,p,o,m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p(93, s)), s, p, o, m)
40464 #define BOOST_PP_FOR_93(s,p,o,m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p(94, s)), s, p, o, m)
40465 #define BOOST_PP_FOR_94(s,p,o,m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p(95, s)), s, p, o, m)
40466 #define BOOST_PP_FOR_95(s,p,o,m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p(96, s)), s, p, o, m)
40467 #define BOOST_PP_FOR_96(s,p,o,m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p(97, s)), s, p, o, m)
40468 #define BOOST_PP_FOR_97(s,p,o,m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p(98, s)), s, p, o, m)
40469 #define BOOST_PP_FOR_98(s,p,o,m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p(99, s)), s, p, o, m)
40470 #define BOOST_PP_FOR_99(s,p,o,m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p(100, s)), s, p, o, m)
40471 #define BOOST_PP_FOR_100(s,p,o,m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p(101, s)), s, p, o, m)
40472 #define BOOST_PP_FOR_101(s,p,o,m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p(102, s)), s, p, o, m)
40473 #define BOOST_PP_FOR_102(s,p,o,m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p(103, s)), s, p, o, m)
40474 #define BOOST_PP_FOR_103(s,p,o,m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p(104, s)), s, p, o, m)
40475 #define BOOST_PP_FOR_104(s,p,o,m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p(105, s)), s, p, o, m)
40476 #define BOOST_PP_FOR_105(s,p,o,m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p(106, s)), s, p, o, m)
40477 #define BOOST_PP_FOR_106(s,p,o,m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p(107, s)), s, p, o, m)
40478 #define BOOST_PP_FOR_107(s,p,o,m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p(108, s)), s, p, o, m)
40479 #define BOOST_PP_FOR_108(s,p,o,m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p(109, s)), s, p, o, m)
40480 #define BOOST_PP_FOR_109(s,p,o,m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p(110, s)), s, p, o, m)
40481 #define BOOST_PP_FOR_110(s,p,o,m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p(111, s)), s, p, o, m)
40482 #define BOOST_PP_FOR_111(s,p,o,m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p(112, s)), s, p, o, m)
40483 #define BOOST_PP_FOR_112(s,p,o,m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p(113, s)), s, p, o, m)
40484 #define BOOST_PP_FOR_113(s,p,o,m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p(114, s)), s, p, o, m)
40485 #define BOOST_PP_FOR_114(s,p,o,m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p(115, s)), s, p, o, m)
40486 #define BOOST_PP_FOR_115(s,p,o,m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p(116, s)), s, p, o, m)
40487 #define BOOST_PP_FOR_116(s,p,o,m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p(117, s)), s, p, o, m)
40488 #define BOOST_PP_FOR_117(s,p,o,m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p(118, s)), s, p, o, m)
40489 #define BOOST_PP_FOR_118(s,p,o,m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p(119, s)), s, p, o, m)
40490 #define BOOST_PP_FOR_119(s,p,o,m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p(120, s)), s, p, o, m)
40491 #define BOOST_PP_FOR_120(s,p,o,m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p(121, s)), s, p, o, m)
40492 #define BOOST_PP_FOR_121(s,p,o,m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p(122, s)), s, p, o, m)
40493 #define BOOST_PP_FOR_122(s,p,o,m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p(123, s)), s, p, o, m)
40494 #define BOOST_PP_FOR_123(s,p,o,m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p(124, s)), s, p, o, m)
40495 #define BOOST_PP_FOR_124(s,p,o,m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p(125, s)), s, p, o, m)
40496 #define BOOST_PP_FOR_125(s,p,o,m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p(126, s)), s, p, o, m)
40497 #define BOOST_PP_FOR_126(s,p,o,m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p(127, s)), s, p, o, m)
40498 #define BOOST_PP_FOR_127(s,p,o,m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p(128, s)), s, p, o, m)
40499 #define BOOST_PP_FOR_128(s,p,o,m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p(129, s)), s, p, o, m)
40500 #define BOOST_PP_FOR_129(s,p,o,m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p(130, s)), s, p, o, m)
40501 #define BOOST_PP_FOR_130(s,p,o,m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p(131, s)), s, p, o, m)
40502 #define BOOST_PP_FOR_131(s,p,o,m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p(132, s)), s, p, o, m)
40503 #define BOOST_PP_FOR_132(s,p,o,m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p(133, s)), s, p, o, m)
40504 #define BOOST_PP_FOR_133(s,p,o,m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p(134, s)), s, p, o, m)
40505 #define BOOST_PP_FOR_134(s,p,o,m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p(135, s)), s, p, o, m)
40506 #define BOOST_PP_FOR_135(s,p,o,m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p(136, s)), s, p, o, m)
40507 #define BOOST_PP_FOR_136(s,p,o,m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p(137, s)), s, p, o, m)
40508 #define BOOST_PP_FOR_137(s,p,o,m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p(138, s)), s, p, o, m)
40509 #define BOOST_PP_FOR_138(s,p,o,m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p(139, s)), s, p, o, m)
40510 #define BOOST_PP_FOR_139(s,p,o,m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p(140, s)), s, p, o, m)
40511 #define BOOST_PP_FOR_140(s,p,o,m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p(141, s)), s, p, o, m)
40512 #define BOOST_PP_FOR_141(s,p,o,m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p(142, s)), s, p, o, m)
40513 #define BOOST_PP_FOR_142(s,p,o,m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p(143, s)), s, p, o, m)
40514 #define BOOST_PP_FOR_143(s,p,o,m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p(144, s)), s, p, o, m)
40515 #define BOOST_PP_FOR_144(s,p,o,m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p(145, s)), s, p, o, m)
40516 #define BOOST_PP_FOR_145(s,p,o,m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p(146, s)), s, p, o, m)
40517 #define BOOST_PP_FOR_146(s,p,o,m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p(147, s)), s, p, o, m)
40518 #define BOOST_PP_FOR_147(s,p,o,m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p(148, s)), s, p, o, m)
40519 #define BOOST_PP_FOR_148(s,p,o,m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p(149, s)), s, p, o, m)
40520 #define BOOST_PP_FOR_149(s,p,o,m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p(150, s)), s, p, o, m)
40521 #define BOOST_PP_FOR_150(s,p,o,m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p(151, s)), s, p, o, m)
40522 #define BOOST_PP_FOR_151(s,p,o,m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p(152, s)), s, p, o, m)
40523 #define BOOST_PP_FOR_152(s,p,o,m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p(153, s)), s, p, o, m)
40524 #define BOOST_PP_FOR_153(s,p,o,m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p(154, s)), s, p, o, m)
40525 #define BOOST_PP_FOR_154(s,p,o,m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p(155, s)), s, p, o, m)
40526 #define BOOST_PP_FOR_155(s,p,o,m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p(156, s)), s, p, o, m)
40527 #define BOOST_PP_FOR_156(s,p,o,m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p(157, s)), s, p, o, m)
40528 #define BOOST_PP_FOR_157(s,p,o,m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p(158, s)), s, p, o, m)
40529 #define BOOST_PP_FOR_158(s,p,o,m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p(159, s)), s, p, o, m)
40530 #define BOOST_PP_FOR_159(s,p,o,m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p(160, s)), s, p, o, m)
40531 #define BOOST_PP_FOR_160(s,p,o,m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p(161, s)), s, p, o, m)
40532 #define BOOST_PP_FOR_161(s,p,o,m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p(162, s)), s, p, o, m)
40533 #define BOOST_PP_FOR_162(s,p,o,m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p(163, s)), s, p, o, m)
40534 #define BOOST_PP_FOR_163(s,p,o,m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p(164, s)), s, p, o, m)
40535 #define BOOST_PP_FOR_164(s,p,o,m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p(165, s)), s, p, o, m)
40536 #define BOOST_PP_FOR_165(s,p,o,m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p(166, s)), s, p, o, m)
40537 #define BOOST_PP_FOR_166(s,p,o,m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p(167, s)), s, p, o, m)
40538 #define BOOST_PP_FOR_167(s,p,o,m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p(168, s)), s, p, o, m)
40539 #define BOOST_PP_FOR_168(s,p,o,m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p(169, s)), s, p, o, m)
40540 #define BOOST_PP_FOR_169(s,p,o,m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p(170, s)), s, p, o, m)
40541 #define BOOST_PP_FOR_170(s,p,o,m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p(171, s)), s, p, o, m)
40542 #define BOOST_PP_FOR_171(s,p,o,m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p(172, s)), s, p, o, m)
40543 #define BOOST_PP_FOR_172(s,p,o,m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p(173, s)), s, p, o, m)
40544 #define BOOST_PP_FOR_173(s,p,o,m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p(174, s)), s, p, o, m)
40545 #define BOOST_PP_FOR_174(s,p,o,m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p(175, s)), s, p, o, m)
40546 #define BOOST_PP_FOR_175(s,p,o,m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p(176, s)), s, p, o, m)
40547 #define BOOST_PP_FOR_176(s,p,o,m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p(177, s)), s, p, o, m)
40548 #define BOOST_PP_FOR_177(s,p,o,m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p(178, s)), s, p, o, m)
40549 #define BOOST_PP_FOR_178(s,p,o,m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p(179, s)), s, p, o, m)
40550 #define BOOST_PP_FOR_179(s,p,o,m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p(180, s)), s, p, o, m)
40551 #define BOOST_PP_FOR_180(s,p,o,m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p(181, s)), s, p, o, m)
40552 #define BOOST_PP_FOR_181(s,p,o,m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p(182, s)), s, p, o, m)
40553 #define BOOST_PP_FOR_182(s,p,o,m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p(183, s)), s, p, o, m)
40554 #define BOOST_PP_FOR_183(s,p,o,m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p(184, s)), s, p, o, m)
40555 #define BOOST_PP_FOR_184(s,p,o,m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p(185, s)), s, p, o, m)
40556 #define BOOST_PP_FOR_185(s,p,o,m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p(186, s)), s, p, o, m)
40557 #define BOOST_PP_FOR_186(s,p,o,m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p(187, s)), s, p, o, m)
40558 #define BOOST_PP_FOR_187(s,p,o,m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p(188, s)), s, p, o, m)
40559 #define BOOST_PP_FOR_188(s,p,o,m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p(189, s)), s, p, o, m)
40560 #define BOOST_PP_FOR_189(s,p,o,m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p(190, s)), s, p, o, m)
40561 #define BOOST_PP_FOR_190(s,p,o,m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p(191, s)), s, p, o, m)
40562 #define BOOST_PP_FOR_191(s,p,o,m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p(192, s)), s, p, o, m)
40563 #define BOOST_PP_FOR_192(s,p,o,m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p(193, s)), s, p, o, m)
40564 #define BOOST_PP_FOR_193(s,p,o,m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p(194, s)), s, p, o, m)
40565 #define BOOST_PP_FOR_194(s,p,o,m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p(195, s)), s, p, o, m)
40566 #define BOOST_PP_FOR_195(s,p,o,m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p(196, s)), s, p, o, m)
40567 #define BOOST_PP_FOR_196(s,p,o,m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p(197, s)), s, p, o, m)
40568 #define BOOST_PP_FOR_197(s,p,o,m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p(198, s)), s, p, o, m)
40569 #define BOOST_PP_FOR_198(s,p,o,m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p(199, s)), s, p, o, m)
40570 #define BOOST_PP_FOR_199(s,p,o,m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p(200, s)), s, p, o, m)
40571 #define BOOST_PP_FOR_200(s,p,o,m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p(201, s)), s, p, o, m)
40572 #define BOOST_PP_FOR_201(s,p,o,m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p(202, s)), s, p, o, m)
40573 #define BOOST_PP_FOR_202(s,p,o,m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p(203, s)), s, p, o, m)
40574 #define BOOST_PP_FOR_203(s,p,o,m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p(204, s)), s, p, o, m)
40575 #define BOOST_PP_FOR_204(s,p,o,m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p(205, s)), s, p, o, m)
40576 #define BOOST_PP_FOR_205(s,p,o,m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p(206, s)), s, p, o, m)
40577 #define BOOST_PP_FOR_206(s,p,o,m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p(207, s)), s, p, o, m)
40578 #define BOOST_PP_FOR_207(s,p,o,m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p(208, s)), s, p, o, m)
40579 #define BOOST_PP_FOR_208(s,p,o,m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p(209, s)), s, p, o, m)
40580 #define BOOST_PP_FOR_209(s,p,o,m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p(210, s)), s, p, o, m)
40581 #define BOOST_PP_FOR_210(s,p,o,m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p(211, s)), s, p, o, m)
40582 #define BOOST_PP_FOR_211(s,p,o,m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p(212, s)), s, p, o, m)
40583 #define BOOST_PP_FOR_212(s,p,o,m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p(213, s)), s, p, o, m)
40584 #define BOOST_PP_FOR_213(s,p,o,m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p(214, s)), s, p, o, m)
40585 #define BOOST_PP_FOR_214(s,p,o,m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p(215, s)), s, p, o, m)
40586 #define BOOST_PP_FOR_215(s,p,o,m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p(216, s)), s, p, o, m)
40587 #define BOOST_PP_FOR_216(s,p,o,m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p(217, s)), s, p, o, m)
40588 #define BOOST_PP_FOR_217(s,p,o,m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p(218, s)), s, p, o, m)
40589 #define BOOST_PP_FOR_218(s,p,o,m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p(219, s)), s, p, o, m)
40590 #define BOOST_PP_FOR_219(s,p,o,m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p(220, s)), s, p, o, m)
40591 #define BOOST_PP_FOR_220(s,p,o,m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p(221, s)), s, p, o, m)
40592 #define BOOST_PP_FOR_221(s,p,o,m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p(222, s)), s, p, o, m)
40593 #define BOOST_PP_FOR_222(s,p,o,m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p(223, s)), s, p, o, m)
40594 #define BOOST_PP_FOR_223(s,p,o,m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p(224, s)), s, p, o, m)
40595 #define BOOST_PP_FOR_224(s,p,o,m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p(225, s)), s, p, o, m)
40596 #define BOOST_PP_FOR_225(s,p,o,m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p(226, s)), s, p, o, m)
40597 #define BOOST_PP_FOR_226(s,p,o,m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p(227, s)), s, p, o, m)
40598 #define BOOST_PP_FOR_227(s,p,o,m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p(228, s)), s, p, o, m)
40599 #define BOOST_PP_FOR_228(s,p,o,m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p(229, s)), s, p, o, m)
40600 #define BOOST_PP_FOR_229(s,p,o,m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p(230, s)), s, p, o, m)
40601 #define BOOST_PP_FOR_230(s,p,o,m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p(231, s)), s, p, o, m)
40602 #define BOOST_PP_FOR_231(s,p,o,m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p(232, s)), s, p, o, m)
40603 #define BOOST_PP_FOR_232(s,p,o,m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p(233, s)), s, p, o, m)
40604 #define BOOST_PP_FOR_233(s,p,o,m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p(234, s)), s, p, o, m)
40605 #define BOOST_PP_FOR_234(s,p,o,m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p(235, s)), s, p, o, m)
40606 #define BOOST_PP_FOR_235(s,p,o,m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p(236, s)), s, p, o, m)
40607 #define BOOST_PP_FOR_236(s,p,o,m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p(237, s)), s, p, o, m)
40608 #define BOOST_PP_FOR_237(s,p,o,m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p(238, s)), s, p, o, m)
40609 #define BOOST_PP_FOR_238(s,p,o,m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p(239, s)), s, p, o, m)
40610 #define BOOST_PP_FOR_239(s,p,o,m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p(240, s)), s, p, o, m)
40611 #define BOOST_PP_FOR_240(s,p,o,m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p(241, s)), s, p, o, m)
40612 #define BOOST_PP_FOR_241(s,p,o,m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p(242, s)), s, p, o, m)
40613 #define BOOST_PP_FOR_242(s,p,o,m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p(243, s)), s, p, o, m)
40614 #define BOOST_PP_FOR_243(s,p,o,m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p(244, s)), s, p, o, m)
40615 #define BOOST_PP_FOR_244(s,p,o,m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p(245, s)), s, p, o, m)
40616 #define BOOST_PP_FOR_245(s,p,o,m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p(246, s)), s, p, o, m)
40617 #define BOOST_PP_FOR_246(s,p,o,m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p(247, s)), s, p, o, m)
40618 #define BOOST_PP_FOR_247(s,p,o,m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p(248, s)), s, p, o, m)
40619 #define BOOST_PP_FOR_248(s,p,o,m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p(249, s)), s, p, o, m)
40620 #define BOOST_PP_FOR_249(s,p,o,m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p(250, s)), s, p, o, m)
40621 #define BOOST_PP_FOR_250(s,p,o,m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p(251, s)), s, p, o, m)
40622 #define BOOST_PP_FOR_251(s,p,o,m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p(252, s)), s, p, o, m)
40623 #define BOOST_PP_FOR_252(s,p,o,m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p(253, s)), s, p, o, m)
40624 #define BOOST_PP_FOR_253(s,p,o,m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p(254, s)), s, p, o, m)
40625 #define BOOST_PP_FOR_254(s,p,o,m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p(255, s)), s, p, o, m)
40626 #define BOOST_PP_FOR_255(s,p,o,m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p(256, s)), s, p, o, m)
40627 #define BOOST_PP_FOR_256(s,p,o,m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p(257, s)), s, p, o, m)
40628
40629 #define BOOST_PP_FOR_1_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m)
40630 #define BOOST_PP_FOR_2_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m)
40631 #define BOOST_PP_FOR_3_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m)
40632 #define BOOST_PP_FOR_4_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m)
40633 #define BOOST_PP_FOR_5_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m)
40634 #define BOOST_PP_FOR_6_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m)
40635 #define BOOST_PP_FOR_7_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m)
40636 #define BOOST_PP_FOR_8_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m)
40637 #define BOOST_PP_FOR_9_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m)
40638 #define BOOST_PP_FOR_10_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m)
40639 #define BOOST_PP_FOR_11_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m)
40640 #define BOOST_PP_FOR_12_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m)
40641 #define BOOST_PP_FOR_13_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m)
40642 #define BOOST_PP_FOR_14_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m)
40643 #define BOOST_PP_FOR_15_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m)
40644 #define BOOST_PP_FOR_16_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m)
40645 #define BOOST_PP_FOR_17_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m)
40646 #define BOOST_PP_FOR_18_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m)
40647 #define BOOST_PP_FOR_19_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m)
40648 #define BOOST_PP_FOR_20_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m)
40649 #define BOOST_PP_FOR_21_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m)
40650 #define BOOST_PP_FOR_22_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m)
40651 #define BOOST_PP_FOR_23_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m)
40652 #define BOOST_PP_FOR_24_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m)
40653 #define BOOST_PP_FOR_25_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m)
40654 #define BOOST_PP_FOR_26_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m)
40655 #define BOOST_PP_FOR_27_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m)
40656 #define BOOST_PP_FOR_28_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m)
40657 #define BOOST_PP_FOR_29_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m)
40658 #define BOOST_PP_FOR_30_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m)
40659 #define BOOST_PP_FOR_31_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m)
40660 #define BOOST_PP_FOR_32_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m)
40661 #define BOOST_PP_FOR_33_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m)
40662 #define BOOST_PP_FOR_34_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m)
40663 #define BOOST_PP_FOR_35_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m)
40664 #define BOOST_PP_FOR_36_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m)
40665 #define BOOST_PP_FOR_37_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m)
40666 #define BOOST_PP_FOR_38_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m)
40667 #define BOOST_PP_FOR_39_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m)
40668 #define BOOST_PP_FOR_40_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m)
40669 #define BOOST_PP_FOR_41_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m)
40670 #define BOOST_PP_FOR_42_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m)
40671 #define BOOST_PP_FOR_43_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m)
40672 #define BOOST_PP_FOR_44_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m)
40673 #define BOOST_PP_FOR_45_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m)
40674 #define BOOST_PP_FOR_46_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m)
40675 #define BOOST_PP_FOR_47_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m)
40676 #define BOOST_PP_FOR_48_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m)
40677 #define BOOST_PP_FOR_49_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m)
40678 #define BOOST_PP_FOR_50_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m)
40679 #define BOOST_PP_FOR_51_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m)
40680 #define BOOST_PP_FOR_52_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m)
40681 #define BOOST_PP_FOR_53_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m)
40682 #define BOOST_PP_FOR_54_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m)
40683 #define BOOST_PP_FOR_55_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m)
40684 #define BOOST_PP_FOR_56_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m)
40685 #define BOOST_PP_FOR_57_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m)
40686 #define BOOST_PP_FOR_58_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m)
40687 #define BOOST_PP_FOR_59_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m)
40688 #define BOOST_PP_FOR_60_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m)
40689 #define BOOST_PP_FOR_61_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m)
40690 #define BOOST_PP_FOR_62_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m)
40691 #define BOOST_PP_FOR_63_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m)
40692 #define BOOST_PP_FOR_64_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m)
40693 #define BOOST_PP_FOR_65_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m)
40694 #define BOOST_PP_FOR_66_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m)
40695 #define BOOST_PP_FOR_67_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m)
40696 #define BOOST_PP_FOR_68_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m)
40697 #define BOOST_PP_FOR_69_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m)
40698 #define BOOST_PP_FOR_70_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m)
40699 #define BOOST_PP_FOR_71_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m)
40700 #define BOOST_PP_FOR_72_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m)
40701 #define BOOST_PP_FOR_73_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m)
40702 #define BOOST_PP_FOR_74_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m)
40703 #define BOOST_PP_FOR_75_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m)
40704 #define BOOST_PP_FOR_76_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m)
40705 #define BOOST_PP_FOR_77_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m)
40706 #define BOOST_PP_FOR_78_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m)
40707 #define BOOST_PP_FOR_79_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m)
40708 #define BOOST_PP_FOR_80_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m)
40709 #define BOOST_PP_FOR_81_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m)
40710 #define BOOST_PP_FOR_82_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m)
40711 #define BOOST_PP_FOR_83_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m)
40712 #define BOOST_PP_FOR_84_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m)
40713 #define BOOST_PP_FOR_85_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m)
40714 #define BOOST_PP_FOR_86_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m)
40715 #define BOOST_PP_FOR_87_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m)
40716 #define BOOST_PP_FOR_88_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m)
40717 #define BOOST_PP_FOR_89_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m)
40718 #define BOOST_PP_FOR_90_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m)
40719 #define BOOST_PP_FOR_91_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m)
40720 #define BOOST_PP_FOR_92_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m)
40721 #define BOOST_PP_FOR_93_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m)
40722 #define BOOST_PP_FOR_94_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m)
40723 #define BOOST_PP_FOR_95_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m)
40724 #define BOOST_PP_FOR_96_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m)
40725 #define BOOST_PP_FOR_97_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m)
40726 #define BOOST_PP_FOR_98_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m)
40727 #define BOOST_PP_FOR_99_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m)
40728 #define BOOST_PP_FOR_100_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m)
40729 #define BOOST_PP_FOR_101_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m)
40730 #define BOOST_PP_FOR_102_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m)
40731 #define BOOST_PP_FOR_103_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m)
40732 #define BOOST_PP_FOR_104_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m)
40733 #define BOOST_PP_FOR_105_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m)
40734 #define BOOST_PP_FOR_106_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m)
40735 #define BOOST_PP_FOR_107_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m)
40736 #define BOOST_PP_FOR_108_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m)
40737 #define BOOST_PP_FOR_109_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m)
40738 #define BOOST_PP_FOR_110_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m)
40739 #define BOOST_PP_FOR_111_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m)
40740 #define BOOST_PP_FOR_112_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m)
40741 #define BOOST_PP_FOR_113_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m)
40742 #define BOOST_PP_FOR_114_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m)
40743 #define BOOST_PP_FOR_115_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m)
40744 #define BOOST_PP_FOR_116_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m)
40745 #define BOOST_PP_FOR_117_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m)
40746 #define BOOST_PP_FOR_118_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m)
40747 #define BOOST_PP_FOR_119_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m)
40748 #define BOOST_PP_FOR_120_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m)
40749 #define BOOST_PP_FOR_121_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m)
40750 #define BOOST_PP_FOR_122_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m)
40751 #define BOOST_PP_FOR_123_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m)
40752 #define BOOST_PP_FOR_124_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m)
40753 #define BOOST_PP_FOR_125_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m)
40754 #define BOOST_PP_FOR_126_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m)
40755 #define BOOST_PP_FOR_127_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m)
40756 #define BOOST_PP_FOR_128_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m)
40757 #define BOOST_PP_FOR_129_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m)
40758 #define BOOST_PP_FOR_130_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m)
40759 #define BOOST_PP_FOR_131_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m)
40760 #define BOOST_PP_FOR_132_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m)
40761 #define BOOST_PP_FOR_133_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m)
40762 #define BOOST_PP_FOR_134_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m)
40763 #define BOOST_PP_FOR_135_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m)
40764 #define BOOST_PP_FOR_136_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m)
40765 #define BOOST_PP_FOR_137_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m)
40766 #define BOOST_PP_FOR_138_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m)
40767 #define BOOST_PP_FOR_139_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m)
40768 #define BOOST_PP_FOR_140_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m)
40769 #define BOOST_PP_FOR_141_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m)
40770 #define BOOST_PP_FOR_142_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m)
40771 #define BOOST_PP_FOR_143_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m)
40772 #define BOOST_PP_FOR_144_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m)
40773 #define BOOST_PP_FOR_145_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m)
40774 #define BOOST_PP_FOR_146_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m)
40775 #define BOOST_PP_FOR_147_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m)
40776 #define BOOST_PP_FOR_148_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m)
40777 #define BOOST_PP_FOR_149_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m)
40778 #define BOOST_PP_FOR_150_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m)
40779 #define BOOST_PP_FOR_151_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m)
40780 #define BOOST_PP_FOR_152_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m)
40781 #define BOOST_PP_FOR_153_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m)
40782 #define BOOST_PP_FOR_154_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m)
40783 #define BOOST_PP_FOR_155_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m)
40784 #define BOOST_PP_FOR_156_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m)
40785 #define BOOST_PP_FOR_157_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m)
40786 #define BOOST_PP_FOR_158_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m)
40787 #define BOOST_PP_FOR_159_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m)
40788 #define BOOST_PP_FOR_160_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m)
40789 #define BOOST_PP_FOR_161_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m)
40790 #define BOOST_PP_FOR_162_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m)
40791 #define BOOST_PP_FOR_163_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m)
40792 #define BOOST_PP_FOR_164_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m)
40793 #define BOOST_PP_FOR_165_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m)
40794 #define BOOST_PP_FOR_166_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m)
40795 #define BOOST_PP_FOR_167_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m)
40796 #define BOOST_PP_FOR_168_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m)
40797 #define BOOST_PP_FOR_169_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m)
40798 #define BOOST_PP_FOR_170_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m)
40799 #define BOOST_PP_FOR_171_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m)
40800 #define BOOST_PP_FOR_172_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m)
40801 #define BOOST_PP_FOR_173_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m)
40802 #define BOOST_PP_FOR_174_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m)
40803 #define BOOST_PP_FOR_175_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m)
40804 #define BOOST_PP_FOR_176_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m)
40805 #define BOOST_PP_FOR_177_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m)
40806 #define BOOST_PP_FOR_178_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m)
40807 #define BOOST_PP_FOR_179_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m)
40808 #define BOOST_PP_FOR_180_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m)
40809 #define BOOST_PP_FOR_181_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m)
40810 #define BOOST_PP_FOR_182_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m)
40811 #define BOOST_PP_FOR_183_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m)
40812 #define BOOST_PP_FOR_184_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m)
40813 #define BOOST_PP_FOR_185_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m)
40814 #define BOOST_PP_FOR_186_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m)
40815 #define BOOST_PP_FOR_187_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m)
40816 #define BOOST_PP_FOR_188_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m)
40817 #define BOOST_PP_FOR_189_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m)
40818 #define BOOST_PP_FOR_190_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m)
40819 #define BOOST_PP_FOR_191_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m)
40820 #define BOOST_PP_FOR_192_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m)
40821 #define BOOST_PP_FOR_193_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m)
40822 #define BOOST_PP_FOR_194_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m)
40823 #define BOOST_PP_FOR_195_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m)
40824 #define BOOST_PP_FOR_196_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m)
40825 #define BOOST_PP_FOR_197_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m)
40826 #define BOOST_PP_FOR_198_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m)
40827 #define BOOST_PP_FOR_199_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m)
40828 #define BOOST_PP_FOR_200_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m)
40829 #define BOOST_PP_FOR_201_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m)
40830 #define BOOST_PP_FOR_202_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m)
40831 #define BOOST_PP_FOR_203_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m)
40832 #define BOOST_PP_FOR_204_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m)
40833 #define BOOST_PP_FOR_205_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m)
40834 #define BOOST_PP_FOR_206_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m)
40835 #define BOOST_PP_FOR_207_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m)
40836 #define BOOST_PP_FOR_208_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m)
40837 #define BOOST_PP_FOR_209_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m)
40838 #define BOOST_PP_FOR_210_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m)
40839 #define BOOST_PP_FOR_211_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m)
40840 #define BOOST_PP_FOR_212_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m)
40841 #define BOOST_PP_FOR_213_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m)
40842 #define BOOST_PP_FOR_214_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m)
40843 #define BOOST_PP_FOR_215_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m)
40844 #define BOOST_PP_FOR_216_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m)
40845 #define BOOST_PP_FOR_217_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m)
40846 #define BOOST_PP_FOR_218_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m)
40847 #define BOOST_PP_FOR_219_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m)
40848 #define BOOST_PP_FOR_220_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m)
40849 #define BOOST_PP_FOR_221_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m)
40850 #define BOOST_PP_FOR_222_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m)
40851 #define BOOST_PP_FOR_223_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m)
40852 #define BOOST_PP_FOR_224_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m)
40853 #define BOOST_PP_FOR_225_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m)
40854 #define BOOST_PP_FOR_226_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m)
40855 #define BOOST_PP_FOR_227_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m)
40856 #define BOOST_PP_FOR_228_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m)
40857 #define BOOST_PP_FOR_229_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m)
40858 #define BOOST_PP_FOR_230_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m)
40859 #define BOOST_PP_FOR_231_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m)
40860 #define BOOST_PP_FOR_232_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m)
40861 #define BOOST_PP_FOR_233_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m)
40862 #define BOOST_PP_FOR_234_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m)
40863 #define BOOST_PP_FOR_235_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m)
40864 #define BOOST_PP_FOR_236_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m)
40865 #define BOOST_PP_FOR_237_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m)
40866 #define BOOST_PP_FOR_238_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m)
40867 #define BOOST_PP_FOR_239_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m)
40868 #define BOOST_PP_FOR_240_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m)
40869 #define BOOST_PP_FOR_241_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m)
40870 #define BOOST_PP_FOR_242_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m)
40871 #define BOOST_PP_FOR_243_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m)
40872 #define BOOST_PP_FOR_244_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m)
40873 #define BOOST_PP_FOR_245_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m)
40874 #define BOOST_PP_FOR_246_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m)
40875 #define BOOST_PP_FOR_247_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m)
40876 #define BOOST_PP_FOR_248_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m)
40877 #define BOOST_PP_FOR_249_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m)
40878 #define BOOST_PP_FOR_250_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m)
40879 #define BOOST_PP_FOR_251_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m)
40880 #define BOOST_PP_FOR_252_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m)
40881 #define BOOST_PP_FOR_253_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m)
40882 #define BOOST_PP_FOR_254_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m)
40883 #define BOOST_PP_FOR_255_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m)
40884 #define BOOST_PP_FOR_256_C(c,s,p,o,m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m)
40885 # 43 "/usr/include/boost/preprocessor/repetition/for.hpp" 2 3 4
40886
40887
40888 #define BOOST_PP_FOR_257(s,p,o,m) BOOST_PP_ERROR(0x0002)
40889
40890 #define BOOST_PP_FOR_CHECK_BOOST_PP_NIL 1
40891
40892 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1(s,p,o,m) 0
40893 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_2(s,p,o,m) 0
40894 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_3(s,p,o,m) 0
40895 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_4(s,p,o,m) 0
40896 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_5(s,p,o,m) 0
40897 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_6(s,p,o,m) 0
40898 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_7(s,p,o,m) 0
40899 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_8(s,p,o,m) 0
40900 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_9(s,p,o,m) 0
40901 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_10(s,p,o,m) 0
40902 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_11(s,p,o,m) 0
40903 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_12(s,p,o,m) 0
40904 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_13(s,p,o,m) 0
40905 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_14(s,p,o,m) 0
40906 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_15(s,p,o,m) 0
40907 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_16(s,p,o,m) 0
40908 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_17(s,p,o,m) 0
40909 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_18(s,p,o,m) 0
40910 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_19(s,p,o,m) 0
40911 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_20(s,p,o,m) 0
40912 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_21(s,p,o,m) 0
40913 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_22(s,p,o,m) 0
40914 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_23(s,p,o,m) 0
40915 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_24(s,p,o,m) 0
40916 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_25(s,p,o,m) 0
40917 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_26(s,p,o,m) 0
40918 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_27(s,p,o,m) 0
40919 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_28(s,p,o,m) 0
40920 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_29(s,p,o,m) 0
40921 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_30(s,p,o,m) 0
40922 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_31(s,p,o,m) 0
40923 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_32(s,p,o,m) 0
40924 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_33(s,p,o,m) 0
40925 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_34(s,p,o,m) 0
40926 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_35(s,p,o,m) 0
40927 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_36(s,p,o,m) 0
40928 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_37(s,p,o,m) 0
40929 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_38(s,p,o,m) 0
40930 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_39(s,p,o,m) 0
40931 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_40(s,p,o,m) 0
40932 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_41(s,p,o,m) 0
40933 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_42(s,p,o,m) 0
40934 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_43(s,p,o,m) 0
40935 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_44(s,p,o,m) 0
40936 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_45(s,p,o,m) 0
40937 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_46(s,p,o,m) 0
40938 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_47(s,p,o,m) 0
40939 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_48(s,p,o,m) 0
40940 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_49(s,p,o,m) 0
40941 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_50(s,p,o,m) 0
40942 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_51(s,p,o,m) 0
40943 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_52(s,p,o,m) 0
40944 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_53(s,p,o,m) 0
40945 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_54(s,p,o,m) 0
40946 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_55(s,p,o,m) 0
40947 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_56(s,p,o,m) 0
40948 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_57(s,p,o,m) 0
40949 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_58(s,p,o,m) 0
40950 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_59(s,p,o,m) 0
40951 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_60(s,p,o,m) 0
40952 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_61(s,p,o,m) 0
40953 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_62(s,p,o,m) 0
40954 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_63(s,p,o,m) 0
40955 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_64(s,p,o,m) 0
40956 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_65(s,p,o,m) 0
40957 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_66(s,p,o,m) 0
40958 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_67(s,p,o,m) 0
40959 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_68(s,p,o,m) 0
40960 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_69(s,p,o,m) 0
40961 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_70(s,p,o,m) 0
40962 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_71(s,p,o,m) 0
40963 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_72(s,p,o,m) 0
40964 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_73(s,p,o,m) 0
40965 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_74(s,p,o,m) 0
40966 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_75(s,p,o,m) 0
40967 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_76(s,p,o,m) 0
40968 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_77(s,p,o,m) 0
40969 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_78(s,p,o,m) 0
40970 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_79(s,p,o,m) 0
40971 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_80(s,p,o,m) 0
40972 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_81(s,p,o,m) 0
40973 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_82(s,p,o,m) 0
40974 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_83(s,p,o,m) 0
40975 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_84(s,p,o,m) 0
40976 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_85(s,p,o,m) 0
40977 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_86(s,p,o,m) 0
40978 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_87(s,p,o,m) 0
40979 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_88(s,p,o,m) 0
40980 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_89(s,p,o,m) 0
40981 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_90(s,p,o,m) 0
40982 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_91(s,p,o,m) 0
40983 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_92(s,p,o,m) 0
40984 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_93(s,p,o,m) 0
40985 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_94(s,p,o,m) 0
40986 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_95(s,p,o,m) 0
40987 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_96(s,p,o,m) 0
40988 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_97(s,p,o,m) 0
40989 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_98(s,p,o,m) 0
40990 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_99(s,p,o,m) 0
40991 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_100(s,p,o,m) 0
40992 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_101(s,p,o,m) 0
40993 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_102(s,p,o,m) 0
40994 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_103(s,p,o,m) 0
40995 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_104(s,p,o,m) 0
40996 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_105(s,p,o,m) 0
40997 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_106(s,p,o,m) 0
40998 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_107(s,p,o,m) 0
40999 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_108(s,p,o,m) 0
41000 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_109(s,p,o,m) 0
41001 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_110(s,p,o,m) 0
41002 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_111(s,p,o,m) 0
41003 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_112(s,p,o,m) 0
41004 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_113(s,p,o,m) 0
41005 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_114(s,p,o,m) 0
41006 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_115(s,p,o,m) 0
41007 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_116(s,p,o,m) 0
41008 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_117(s,p,o,m) 0
41009 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_118(s,p,o,m) 0
41010 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_119(s,p,o,m) 0
41011 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_120(s,p,o,m) 0
41012 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_121(s,p,o,m) 0
41013 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_122(s,p,o,m) 0
41014 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_123(s,p,o,m) 0
41015 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_124(s,p,o,m) 0
41016 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_125(s,p,o,m) 0
41017 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_126(s,p,o,m) 0
41018 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_127(s,p,o,m) 0
41019 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_128(s,p,o,m) 0
41020 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_129(s,p,o,m) 0
41021 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_130(s,p,o,m) 0
41022 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_131(s,p,o,m) 0
41023 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_132(s,p,o,m) 0
41024 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_133(s,p,o,m) 0
41025 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_134(s,p,o,m) 0
41026 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_135(s,p,o,m) 0
41027 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_136(s,p,o,m) 0
41028 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_137(s,p,o,m) 0
41029 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_138(s,p,o,m) 0
41030 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_139(s,p,o,m) 0
41031 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_140(s,p,o,m) 0
41032 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_141(s,p,o,m) 0
41033 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_142(s,p,o,m) 0
41034 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_143(s,p,o,m) 0
41035 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_144(s,p,o,m) 0
41036 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_145(s,p,o,m) 0
41037 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_146(s,p,o,m) 0
41038 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_147(s,p,o,m) 0
41039 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_148(s,p,o,m) 0
41040 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_149(s,p,o,m) 0
41041 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_150(s,p,o,m) 0
41042 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_151(s,p,o,m) 0
41043 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_152(s,p,o,m) 0
41044 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_153(s,p,o,m) 0
41045 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_154(s,p,o,m) 0
41046 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_155(s,p,o,m) 0
41047 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_156(s,p,o,m) 0
41048 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_157(s,p,o,m) 0
41049 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_158(s,p,o,m) 0
41050 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_159(s,p,o,m) 0
41051 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_160(s,p,o,m) 0
41052 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_161(s,p,o,m) 0
41053 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_162(s,p,o,m) 0
41054 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_163(s,p,o,m) 0
41055 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_164(s,p,o,m) 0
41056 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_165(s,p,o,m) 0
41057 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_166(s,p,o,m) 0
41058 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_167(s,p,o,m) 0
41059 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_168(s,p,o,m) 0
41060 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_169(s,p,o,m) 0
41061 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_170(s,p,o,m) 0
41062 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_171(s,p,o,m) 0
41063 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_172(s,p,o,m) 0
41064 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_173(s,p,o,m) 0
41065 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_174(s,p,o,m) 0
41066 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_175(s,p,o,m) 0
41067 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_176(s,p,o,m) 0
41068 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_177(s,p,o,m) 0
41069 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_178(s,p,o,m) 0
41070 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_179(s,p,o,m) 0
41071 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_180(s,p,o,m) 0
41072 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_181(s,p,o,m) 0
41073 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_182(s,p,o,m) 0
41074 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_183(s,p,o,m) 0
41075 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_184(s,p,o,m) 0
41076 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_185(s,p,o,m) 0
41077 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_186(s,p,o,m) 0
41078 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_187(s,p,o,m) 0
41079 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_188(s,p,o,m) 0
41080 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_189(s,p,o,m) 0
41081 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_190(s,p,o,m) 0
41082 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_191(s,p,o,m) 0
41083 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_192(s,p,o,m) 0
41084 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_193(s,p,o,m) 0
41085 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_194(s,p,o,m) 0
41086 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_195(s,p,o,m) 0
41087 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_196(s,p,o,m) 0
41088 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_197(s,p,o,m) 0
41089 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_198(s,p,o,m) 0
41090 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_199(s,p,o,m) 0
41091 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_200(s,p,o,m) 0
41092 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_201(s,p,o,m) 0
41093 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_202(s,p,o,m) 0
41094 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_203(s,p,o,m) 0
41095 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_204(s,p,o,m) 0
41096 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_205(s,p,o,m) 0
41097 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_206(s,p,o,m) 0
41098 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_207(s,p,o,m) 0
41099 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_208(s,p,o,m) 0
41100 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_209(s,p,o,m) 0
41101 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_210(s,p,o,m) 0
41102 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_211(s,p,o,m) 0
41103 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_212(s,p,o,m) 0
41104 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_213(s,p,o,m) 0
41105 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_214(s,p,o,m) 0
41106 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_215(s,p,o,m) 0
41107 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_216(s,p,o,m) 0
41108 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_217(s,p,o,m) 0
41109 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_218(s,p,o,m) 0
41110 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_219(s,p,o,m) 0
41111 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_220(s,p,o,m) 0
41112 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_221(s,p,o,m) 0
41113 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_222(s,p,o,m) 0
41114 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_223(s,p,o,m) 0
41115 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_224(s,p,o,m) 0
41116 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_225(s,p,o,m) 0
41117 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_226(s,p,o,m) 0
41118 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_227(s,p,o,m) 0
41119 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_228(s,p,o,m) 0
41120 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_229(s,p,o,m) 0
41121 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_230(s,p,o,m) 0
41122 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_231(s,p,o,m) 0
41123 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_232(s,p,o,m) 0
41124 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_233(s,p,o,m) 0
41125 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_234(s,p,o,m) 0
41126 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_235(s,p,o,m) 0
41127 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_236(s,p,o,m) 0
41128 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_237(s,p,o,m) 0
41129 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_238(s,p,o,m) 0
41130 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_239(s,p,o,m) 0
41131 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_240(s,p,o,m) 0
41132 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_241(s,p,o,m) 0
41133 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_242(s,p,o,m) 0
41134 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_243(s,p,o,m) 0
41135 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_244(s,p,o,m) 0
41136 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_245(s,p,o,m) 0
41137 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_246(s,p,o,m) 0
41138 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_247(s,p,o,m) 0
41139 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_248(s,p,o,m) 0
41140 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_249(s,p,o,m) 0
41141 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_250(s,p,o,m) 0
41142 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_251(s,p,o,m) 0
41143 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_252(s,p,o,m) 0
41144 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_253(s,p,o,m) 0
41145 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_254(s,p,o,m) 0
41146 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_255(s,p,o,m) 0
41147 #define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_256(s,p,o,m) 0
41148 # 21 "/usr/include/boost/preprocessor/list/for_each_i.hpp" 2 3 4
41149
41150 # 1 "/usr/include/boost/preprocessor/tuple/rem.hpp" 1 3 4
41151 # 13 "/usr/include/boost/preprocessor/tuple/rem.hpp" 3 4
41152 #define BOOST_PREPROCESSOR_TUPLE_REM_HPP 
41153
41154
41155
41156
41157
41158
41159 #define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_I(size)
41160
41161
41162
41163
41164
41165 #define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size
41166
41167 #define BOOST_PP_TUPLE_REM_0() 
41168 #define BOOST_PP_TUPLE_REM_1(a) a
41169 #define BOOST_PP_TUPLE_REM_2(a,b) a, b
41170 #define BOOST_PP_TUPLE_REM_3(a,b,c) a, b, c
41171 #define BOOST_PP_TUPLE_REM_4(a,b,c,d) a, b, c, d
41172 #define BOOST_PP_TUPLE_REM_5(a,b,c,d,e) a, b, c, d, e
41173 #define BOOST_PP_TUPLE_REM_6(a,b,c,d,e,f) a, b, c, d, e, f
41174 #define BOOST_PP_TUPLE_REM_7(a,b,c,d,e,f,g) a, b, c, d, e, f, g
41175 #define BOOST_PP_TUPLE_REM_8(a,b,c,d,e,f,g,h) a, b, c, d, e, f, g, h
41176 #define BOOST_PP_TUPLE_REM_9(a,b,c,d,e,f,g,h,i) a, b, c, d, e, f, g, h, i
41177 #define BOOST_PP_TUPLE_REM_10(a,b,c,d,e,f,g,h,i,j) a, b, c, d, e, f, g, h, i, j
41178 #define BOOST_PP_TUPLE_REM_11(a,b,c,d,e,f,g,h,i,j,k) a, b, c, d, e, f, g, h, i, j, k
41179 #define BOOST_PP_TUPLE_REM_12(a,b,c,d,e,f,g,h,i,j,k,l) a, b, c, d, e, f, g, h, i, j, k, l
41180 #define BOOST_PP_TUPLE_REM_13(a,b,c,d,e,f,g,h,i,j,k,l,m) a, b, c, d, e, f, g, h, i, j, k, l, m
41181 #define BOOST_PP_TUPLE_REM_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) a, b, c, d, e, f, g, h, i, j, k, l, m, n
41182 #define BOOST_PP_TUPLE_REM_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o
41183 #define BOOST_PP_TUPLE_REM_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p
41184 #define BOOST_PP_TUPLE_REM_17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q
41185 #define BOOST_PP_TUPLE_REM_18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r
41186 #define BOOST_PP_TUPLE_REM_19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s
41187 #define BOOST_PP_TUPLE_REM_20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t
41188 #define BOOST_PP_TUPLE_REM_21(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u
41189 #define BOOST_PP_TUPLE_REM_22(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v
41190 #define BOOST_PP_TUPLE_REM_23(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w
41191 #define BOOST_PP_TUPLE_REM_24(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x
41192 #define BOOST_PP_TUPLE_REM_25(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y
41193
41194
41195
41196
41197 #define BOOST_PP_TUPLE_REM_CTOR(size,tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple)
41198
41199
41200
41201
41202
41203
41204 #define BOOST_PP_TUPLE_REM_CTOR_I(ext,tuple) ext tuple
41205 # 23 "/usr/include/boost/preprocessor/list/for_each_i.hpp" 2 3 4
41206
41207
41208
41209
41210 #define BOOST_PP_LIST_FOR_EACH_I(macro,data,list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
41211
41212
41213
41214
41215
41216
41217 #define BOOST_PP_LIST_FOR_EACH_I_P(r,x) BOOST_PP_LIST_FOR_EACH_I_P_D x
41218 #define BOOST_PP_LIST_FOR_EACH_I_P_D(m,d,l,i) BOOST_PP_LIST_IS_CONS(l)
41219
41220
41221
41222
41223
41224 #define BOOST_PP_LIST_FOR_EACH_I_O(r,x) BOOST_PP_LIST_FOR_EACH_I_O_D x
41225 #define BOOST_PP_LIST_FOR_EACH_I_O_D(m,d,l,i) (m, d, BOOST_PP_LIST_REST(l), BOOST_PP_INC(i))
41226
41227
41228
41229
41230
41231 #define BOOST_PP_LIST_FOR_EACH_I_M(r,x) BOOST_PP_LIST_FOR_EACH_I_M_D(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
41232
41233
41234
41235
41236
41237 #define BOOST_PP_LIST_FOR_EACH_I_M_D(r,m,d,l,i) m(r, d, i, BOOST_PP_LIST_FIRST(l))
41238
41239
41240
41241
41242 #define BOOST_PP_LIST_FOR_EACH_I_R(r,macro,data,list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
41243 # 13 "/usr/include/boost/type_traits/type_with_alignment.hpp" 2 3 4
41244 # 1 "/usr/include/boost/preprocessor/tuple/to_list.hpp" 1 3 4
41245 # 15 "/usr/include/boost/preprocessor/tuple/to_list.hpp" 3 4
41246 #define BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP 
41247
41248
41249
41250
41251
41252
41253 #define BOOST_PP_TUPLE_TO_LIST(size,tuple) BOOST_PP_TUPLE_TO_LIST_I(size, tuple)
41254
41255 #define BOOST_PP_TUPLE_TO_LIST_I(s,t) BOOST_PP_TUPLE_TO_LIST_ ## s t
41256 # 35 "/usr/include/boost/preprocessor/tuple/to_list.hpp" 3 4
41257 #define BOOST_PP_TUPLE_TO_LIST_0() BOOST_PP_NIL
41258 #define BOOST_PP_TUPLE_TO_LIST_1(a) (a, BOOST_PP_NIL)
41259 #define BOOST_PP_TUPLE_TO_LIST_2(a,b) (a, (b, BOOST_PP_NIL))
41260 #define BOOST_PP_TUPLE_TO_LIST_3(a,b,c) (a, (b, (c, BOOST_PP_NIL)))
41261 #define BOOST_PP_TUPLE_TO_LIST_4(a,b,c,d) (a, (b, (c, (d, BOOST_PP_NIL))))
41262 #define BOOST_PP_TUPLE_TO_LIST_5(a,b,c,d,e) (a, (b, (c, (d, (e, BOOST_PP_NIL)))))
41263 #define BOOST_PP_TUPLE_TO_LIST_6(a,b,c,d,e,f) (a, (b, (c, (d, (e, (f, BOOST_PP_NIL))))))
41264 #define BOOST_PP_TUPLE_TO_LIST_7(a,b,c,d,e,f,g) (a, (b, (c, (d, (e, (f, (g, BOOST_PP_NIL)))))))
41265 #define BOOST_PP_TUPLE_TO_LIST_8(a,b,c,d,e,f,g,h) (a, (b, (c, (d, (e, (f, (g, (h, BOOST_PP_NIL))))))))
41266 #define BOOST_PP_TUPLE_TO_LIST_9(a,b,c,d,e,f,g,h,i) (a, (b, (c, (d, (e, (f, (g, (h, (i, BOOST_PP_NIL)))))))))
41267 #define BOOST_PP_TUPLE_TO_LIST_10(a,b,c,d,e,f,g,h,i,j) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, BOOST_PP_NIL))))))))))
41268 #define BOOST_PP_TUPLE_TO_LIST_11(a,b,c,d,e,f,g,h,i,j,k) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, BOOST_PP_NIL)))))))))))
41269 #define BOOST_PP_TUPLE_TO_LIST_12(a,b,c,d,e,f,g,h,i,j,k,l) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, BOOST_PP_NIL))))))))))))
41270 #define BOOST_PP_TUPLE_TO_LIST_13(a,b,c,d,e,f,g,h,i,j,k,l,m) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, BOOST_PP_NIL)))))))))))))
41271 #define BOOST_PP_TUPLE_TO_LIST_14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, BOOST_PP_NIL))))))))))))))
41272 #define BOOST_PP_TUPLE_TO_LIST_15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, BOOST_PP_NIL)))))))))))))))
41273 #define BOOST_PP_TUPLE_TO_LIST_16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, BOOST_PP_NIL))))))))))))))))
41274 #define BOOST_PP_TUPLE_TO_LIST_17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, BOOST_PP_NIL)))))))))))))))))
41275 #define BOOST_PP_TUPLE_TO_LIST_18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, BOOST_PP_NIL))))))))))))))))))
41276 #define BOOST_PP_TUPLE_TO_LIST_19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, BOOST_PP_NIL)))))))))))))))))))
41277 #define BOOST_PP_TUPLE_TO_LIST_20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, BOOST_PP_NIL))))))))))))))))))))
41278 #define BOOST_PP_TUPLE_TO_LIST_21(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, BOOST_PP_NIL)))))))))))))))))))))
41279 #define BOOST_PP_TUPLE_TO_LIST_22(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, BOOST_PP_NIL))))))))))))))))))))))
41280 #define BOOST_PP_TUPLE_TO_LIST_23(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, BOOST_PP_NIL)))))))))))))))))))))))
41281 #define BOOST_PP_TUPLE_TO_LIST_24(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, (x, BOOST_PP_NIL))))))))))))))))))))))))
41282 #define BOOST_PP_TUPLE_TO_LIST_25(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, (x, (y, BOOST_PP_NIL)))))))))))))))))))))))))
41283 # 14 "/usr/include/boost/type_traits/type_with_alignment.hpp" 2 3 4
41284
41285 # 1 "/usr/include/boost/preprocessor/list/transform.hpp" 1 3 4
41286 # 15 "/usr/include/boost/preprocessor/list/transform.hpp" 3 4
41287 #define BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP 
41288 # 25 "/usr/include/boost/preprocessor/list/transform.hpp" 3 4
41289 #define BOOST_PP_LIST_TRANSFORM(op,data,list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
41290
41291
41292
41293
41294
41295
41296 #define BOOST_PP_LIST_TRANSFORM_O(d,odr,elem) BOOST_PP_LIST_TRANSFORM_O_D(d, BOOST_PP_TUPLE_ELEM(3, 0, odr), BOOST_PP_TUPLE_ELEM(3, 1, odr), BOOST_PP_TUPLE_ELEM(3, 2, odr), elem)
41297
41298
41299
41300
41301
41302 #define BOOST_PP_LIST_TRANSFORM_O_D(d,op,data,res,elem) (op, data, (op(d, data, elem), res))
41303
41304
41305
41306
41307 #define BOOST_PP_LIST_TRANSFORM_D(d,op,data,list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
41308 # 16 "/usr/include/boost/type_traits/type_with_alignment.hpp" 2 3 4
41309 # 1 "/usr/include/boost/preprocessor/list/append.hpp" 1 3 4
41310 # 15 "/usr/include/boost/preprocessor/list/append.hpp" 3 4
41311 #define BOOST_PREPROCESSOR_LIST_APPEND_HPP 
41312
41313
41314
41315
41316
41317
41318
41319 #define BOOST_PP_LIST_APPEND(a,b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a)
41320
41321
41322
41323
41324
41325 #define BOOST_PP_LIST_APPEND_O(d,s,x) (x, s)
41326
41327
41328
41329
41330 #define BOOST_PP_LIST_APPEND_D(d,a,b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a)
41331 # 17 "/usr/include/boost/type_traits/type_with_alignment.hpp" 2 3 4
41332 # 1 "/usr/include/boost/type_traits/alignment_of.hpp" 1 3 4
41333 # 18 "/usr/include/boost/type_traits/type_with_alignment.hpp" 2 3 4
41334
41335
41336
41337
41338
41339 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
41340 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41341 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
41342 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
41343 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
41344 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
41345 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41346 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
41347
41348
41349
41350 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
41351
41352
41353
41354 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
41355 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41356 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
41357 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41358 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
41359 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41360 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
41361 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41362 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
41363
41364
41365
41366
41367
41368
41369 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
41370
41371
41372
41373
41374
41375
41376 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
41377
41378
41379
41380
41381
41382
41383
41384 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
41385
41386
41387
41388
41389
41390
41391
41392 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
41393 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41394 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
41395
41396
41397
41398
41399
41400
41401
41402 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
41403
41404
41405
41406
41407
41408
41409
41410 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
41411 # 24 "/usr/include/boost/type_traits/type_with_alignment.hpp" 2 3 4
41412 # 32 "/usr/include/boost/type_traits/type_with_alignment.hpp" 3 4
41413 namespace boost {
41414
41415
41416
41417 namespace detail {
41418
41419 class alignment_dummy;
41420 typedef void (*function_ptr)();
41421 typedef int (alignment_dummy::*member_ptr);
41422 typedef int (alignment_dummy::*member_function_ptr)();
41423
41424
41425 #define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( 12, ( char, short, int, long, ::boost::long_long_type, float, double, long double , void*, function_ptr, member_ptr, member_function_ptr))
41426 # 55 "/usr/include/boost/type_traits/type_with_alignment.hpp" 3 4
41427 #define BOOST_TT_HAS_ONE_T(D,Data,T) boost::detail::has_one_T< T >
41428
41429 #define BOOST_TT_ALIGNMENT_STRUCT_TYPES BOOST_PP_LIST_TRANSFORM(BOOST_TT_HAS_ONE_T, X, BOOST_TT_ALIGNMENT_BASE_TYPES)
41430
41431
41432
41433
41434 #define BOOST_TT_ALIGNMENT_TYPES BOOST_PP_LIST_APPEND(BOOST_TT_ALIGNMENT_BASE_TYPES, BOOST_TT_ALIGNMENT_STRUCT_TYPES)
41435 # 101 "/usr/include/boost/type_traits/type_with_alignment.hpp" 3 4
41436 template <bool found, std::size_t target, class TestType>
41437 struct lower_alignment_helper
41438 {
41439     typedef char type;
41440     enum { value = true };
41441 };
41442
41443 template <std::size_t target, class TestType>
41444 struct lower_alignment_helper<false,target,TestType>
41445 {
41446     enum { value = (alignment_of<TestType>::value == target) };
41447     typedef typename mpl::if_c<value, TestType, char>::type type;
41448 };
41449
41450
41451 #define BOOST_TT_CHOOSE_MIN_ALIGNMENT(R,P,I,T) typename lower_alignment_helper< BOOST_PP_CAT(found,I),target,T >::type BOOST_PP_CAT(t,I); enum { BOOST_PP_CAT(found,BOOST_PP_INC(I)) = lower_alignment_helper<BOOST_PP_CAT(found,I),target,T >::value };
41452 # 125 "/usr/include/boost/type_traits/type_with_alignment.hpp" 3 4
41453 #define BOOST_TT_CHOOSE_T(R,P,I,T) T BOOST_PP_CAT(t,I);
41454
41455 template <typename T>
41456 struct has_one_T
41457 {
41458   T data;
41459 };
41460
41461 template <std::size_t target>
41462 union lower_alignment
41463 {
41464     enum { found0 = false };
41465
41466     typename lower_alignment_helper< found0,target,char >::type t0; enum { found1 = lower_alignment_helper<found0,target,char >::value }; typename lower_alignment_helper< found1,target,short >::type t1; enum { found2 = lower_alignment_helper<found1,target,short >::value }; typename lower_alignment_helper< found2,target,int >::type t2; enum { found3 = lower_alignment_helper<found2,target,int >::value }; typename lower_alignment_helper< found3,target,long >::type t3; enum { found4 = lower_alignment_helper<found3,target,long >::value }; typename lower_alignment_helper< found4,target,::boost::long_long_type >::type t4; enum { found5 = lower_alignment_helper<found4,target,::boost::long_long_type >::value }; typename lower_alignment_helper< found5,target,float >::type t5; enum { found6 = lower_alignment_helper<found5,target,float >::value }; typename lower_alignment_helper< found6,target,double >::type t6; enum { found7 = lower_alignment_helper<found6,target,double >::value }; typename lower_alignment_helper< found7,target,long double >::type t7; enum { found8 = lower_alignment_helper<found7,target,long double >::value }; typename lower_alignment_helper< found8,target,void* >::type t8; enum { found9 = lower_alignment_helper<found8,target,void* >::value }; typename lower_alignment_helper< found9,target,function_ptr >::type t9; enum { found10 = lower_alignment_helper<found9,target,function_ptr >::value }; typename lower_alignment_helper< found10,target,member_ptr >::type t10; enum { found11 = lower_alignment_helper<found10,target,member_ptr >::value }; typename lower_alignment_helper< found11,target,member_function_ptr >::type t11; enum { found12 = lower_alignment_helper<found11,target,member_function_ptr >::value }; typename lower_alignment_helper< found12,target,boost::detail::has_one_T< char > >::type t12; enum { found13 = lower_alignment_helper<found12,target,boost::detail::has_one_T< char > >::value }; typename lower_alignment_helper< found13,target,boost::detail::has_one_T< short > >::type t13; enum { found14 = lower_alignment_helper<found13,target,boost::detail::has_one_T< short > >::value }; typename lower_alignment_helper< found14,target,boost::detail::has_one_T< int > >::type t14; enum { found15 = lower_alignment_helper<found14,target,boost::detail::has_one_T< int > >::value }; typename lower_alignment_helper< found15,target,boost::detail::has_one_T< long > >::type t15; enum { found16 = lower_alignment_helper<found15,target,boost::detail::has_one_T< long > >::value }; typename lower_alignment_helper< found16,target,boost::detail::has_one_T< ::boost::long_long_type > >::type t16; enum { found17 = lower_alignment_helper<found16,target,boost::detail::has_one_T< ::boost::long_long_type > >::value }; typename lower_alignment_helper< found17,target,boost::detail::has_one_T< float > >::type t17; enum { found18 = lower_alignment_helper<found17,target,boost::detail::has_one_T< float > >::value }; typename lower_alignment_helper< found18,target,boost::detail::has_one_T< double > >::type t18; enum { found19 = lower_alignment_helper<found18,target,boost::detail::has_one_T< double > >::value }; typename lower_alignment_helper< found19,target,boost::detail::has_one_T< long double > >::type t19; enum { found20 = lower_alignment_helper<found19,target,boost::detail::has_one_T< long double > >::value }; typename lower_alignment_helper< found20,target,boost::detail::has_one_T< void* > >::type t20; enum { found21 = lower_alignment_helper<found20,target,boost::detail::has_one_T< void* > >::value }; typename lower_alignment_helper< found21,target,boost::detail::has_one_T< function_ptr > >::type t21; enum { found22 = lower_alignment_helper<found21,target,boost::detail::has_one_T< function_ptr > >::value }; typename lower_alignment_helper< found22,target,boost::detail::has_one_T< member_ptr > >::type t22; enum { found23 = lower_alignment_helper<found22,target,boost::detail::has_one_T< member_ptr > >::value }; typename lower_alignment_helper< found23,target,boost::detail::has_one_T< member_function_ptr > >::type t23; enum { found24 = lower_alignment_helper<found23,target,boost::detail::has_one_T< member_function_ptr > >::value };
41467
41468
41469
41470
41471 };
41472
41473 union max_align
41474 {
41475     char t0; short t1; int t2; long t3; ::boost::long_long_type t4; float t5; double t6; long double t7; void* t8; function_ptr t9; member_ptr t10; member_function_ptr t11; boost::detail::has_one_T< char > t12; boost::detail::has_one_T< short > t13; boost::detail::has_one_T< int > t14; boost::detail::has_one_T< long > t15; boost::detail::has_one_T< ::boost::long_long_type > t16; boost::detail::has_one_T< float > t17; boost::detail::has_one_T< double > t18; boost::detail::has_one_T< long double > t19; boost::detail::has_one_T< void* > t20; boost::detail::has_one_T< function_ptr > t21; boost::detail::has_one_T< member_ptr > t22; boost::detail::has_one_T< member_function_ptr > t23;
41476
41477
41478
41479
41480 };
41481
41482 #undef BOOST_TT_ALIGNMENT_BASE_TYPES
41483 #undef BOOST_TT_HAS_ONE_T
41484 #undef BOOST_TT_ALIGNMENT_STRUCT_TYPES
41485 #undef BOOST_TT_ALIGNMENT_TYPES
41486 #undef BOOST_TT_CHOOSE_MIN_ALIGNMENT
41487 #undef BOOST_TT_CHOOSE_T
41488
41489 template<std::size_t TAlign, std::size_t Align>
41490 struct is_aligned
41491 {
41492     static const bool value = (TAlign >= Align) & (TAlign % Align == 0);
41493
41494
41495 };
41496 # 180 "/usr/include/boost/type_traits/type_with_alignment.hpp" 3 4
41497 }
41498
41499
41500 template<std::size_t Align>
41501 struct is_pod< ::boost::detail::lower_alignment<Align> >
41502 {
41503         static const std::size_t value = true;
41504 };
41505
41506
41507
41508
41509 template <std::size_t Align>
41510 class type_with_alignment
41511 {
41512     typedef detail::lower_alignment<Align> t1;
41513     typedef typename mpl::if_c<
41514           ::boost::detail::is_aligned< ::boost::alignment_of<t1>::value,Align >::value
41515         , t1
41516         , detail::max_align
41517         >::type align_t;
41518
41519     static const std::size_t found = alignment_of<align_t>::value;
41520
41521     typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( found >= Align ) >)> boost_static_assert_typedef_204;
41522     typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( found % Align == 0 ) >)> boost_static_assert_typedef_205;
41523
41524  public:
41525     typedef align_t type;
41526 };
41527
41528
41529 namespace align {
41530 struct __attribute__((__aligned__(2))) a2 {};
41531 struct __attribute__((__aligned__(4))) a4 {};
41532 struct __attribute__((__aligned__(8))) a8 {};
41533 struct __attribute__((__aligned__(16))) a16 {};
41534 struct __attribute__((__aligned__(32))) a32 {};
41535 }
41536
41537 template<> class type_with_alignment<1> { public: typedef char type; };
41538 template<> class type_with_alignment<2> { public: typedef align::a2 type; };
41539 template<> class type_with_alignment<4> { public: typedef align::a4 type; };
41540 template<> class type_with_alignment<8> { public: typedef align::a8 type; };
41541 template<> class type_with_alignment<16> { public: typedef align::a16 type; };
41542 template<> class type_with_alignment<32> { public: typedef align::a32 type; };
41543
41544 namespace detail {
41545 template<> struct is_pod_impl< ::boost::align::a2 > { static const bool value = (true); };
41546 template<> struct is_pod_impl< ::boost::align::a4 > { static const bool value = (true); };
41547 template<> struct is_pod_impl< ::boost::align::a8 > { static const bool value = (true); };
41548 template<> struct is_pod_impl< ::boost::align::a16 > { static const bool value = (true); };
41549 template<> struct is_pod_impl< ::boost::align::a32 > { static const bool value = (true); };
41550 }
41551 # 278 "/usr/include/boost/type_traits/type_with_alignment.hpp" 3 4
41552 }
41553
41554
41555
41556
41557
41558 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
41559 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
41560 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
41561 #undef BOOST_TT_AUX_BOOL_C_BASE
41562 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
41563 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
41564 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
41565 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
41566 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
41567 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
41568 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
41569 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
41570 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
41571 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
41572 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
41573 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
41574 # 285 "/usr/include/boost/type_traits/type_with_alignment.hpp" 2 3 4
41575 # 71 "/usr/include/boost/type_traits.hpp" 2 3 4
41576 # 1 "/usr/include/boost/type_traits/function_traits.hpp" 1 3 4
41577 # 10 "/usr/include/boost/type_traits/function_traits.hpp" 3 4
41578 #define BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED 
41579
41580
41581
41582 # 1 "/usr/include/boost/type_traits/add_pointer.hpp" 1 3 4
41583 # 15 "/usr/include/boost/type_traits/function_traits.hpp" 2 3 4
41584
41585 namespace boost {
41586
41587
41588 namespace detail {
41589
41590 template<typename Function> struct function_traits_helper;
41591
41592 template<typename R>
41593 struct function_traits_helper<R (*)(void)>
41594 {
41595   static const int arity = 0;
41596   typedef R result_type;
41597 };
41598
41599 template<typename R, typename T1>
41600 struct function_traits_helper<R (*)(T1)>
41601 {
41602   static const int arity = 1;
41603   typedef R result_type;
41604   typedef T1 arg1_type;
41605   typedef T1 argument_type;
41606 };
41607
41608 template<typename R, typename T1, typename T2>
41609 struct function_traits_helper<R (*)(T1, T2)>
41610 {
41611   static const int arity = 2;
41612   typedef R result_type;
41613   typedef T1 arg1_type;
41614   typedef T2 arg2_type;
41615   typedef T1 first_argument_type;
41616   typedef T2 second_argument_type;
41617 };
41618
41619 template<typename R, typename T1, typename T2, typename T3>
41620 struct function_traits_helper<R (*)(T1, T2, T3)>
41621 {
41622   static const int arity = 3;
41623   typedef R result_type;
41624   typedef T1 arg1_type;
41625   typedef T2 arg2_type;
41626   typedef T3 arg3_type;
41627 };
41628
41629 template<typename R, typename T1, typename T2, typename T3, typename T4>
41630 struct function_traits_helper<R (*)(T1, T2, T3, T4)>
41631 {
41632   static const int arity = 4;
41633   typedef R result_type;
41634   typedef T1 arg1_type;
41635   typedef T2 arg2_type;
41636   typedef T3 arg3_type;
41637   typedef T4 arg4_type;
41638 };
41639
41640 template<typename R, typename T1, typename T2, typename T3, typename T4,
41641          typename T5>
41642 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5)>
41643 {
41644   static const int arity = 5;
41645   typedef R result_type;
41646   typedef T1 arg1_type;
41647   typedef T2 arg2_type;
41648   typedef T3 arg3_type;
41649   typedef T4 arg4_type;
41650   typedef T5 arg5_type;
41651 };
41652
41653 template<typename R, typename T1, typename T2, typename T3, typename T4,
41654          typename T5, typename T6>
41655 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6)>
41656 {
41657   static const int arity = 6;
41658   typedef R result_type;
41659   typedef T1 arg1_type;
41660   typedef T2 arg2_type;
41661   typedef T3 arg3_type;
41662   typedef T4 arg4_type;
41663   typedef T5 arg5_type;
41664   typedef T6 arg6_type;
41665 };
41666
41667 template<typename R, typename T1, typename T2, typename T3, typename T4,
41668          typename T5, typename T6, typename T7>
41669 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7)>
41670 {
41671   static const int arity = 7;
41672   typedef R result_type;
41673   typedef T1 arg1_type;
41674   typedef T2 arg2_type;
41675   typedef T3 arg3_type;
41676   typedef T4 arg4_type;
41677   typedef T5 arg5_type;
41678   typedef T6 arg6_type;
41679   typedef T7 arg7_type;
41680 };
41681
41682 template<typename R, typename T1, typename T2, typename T3, typename T4,
41683          typename T5, typename T6, typename T7, typename T8>
41684 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8)>
41685 {
41686   static const int arity = 8;
41687   typedef R result_type;
41688   typedef T1 arg1_type;
41689   typedef T2 arg2_type;
41690   typedef T3 arg3_type;
41691   typedef T4 arg4_type;
41692   typedef T5 arg5_type;
41693   typedef T6 arg6_type;
41694   typedef T7 arg7_type;
41695   typedef T8 arg8_type;
41696 };
41697
41698 template<typename R, typename T1, typename T2, typename T3, typename T4,
41699          typename T5, typename T6, typename T7, typename T8, typename T9>
41700 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>
41701 {
41702   static const int arity = 9;
41703   typedef R result_type;
41704   typedef T1 arg1_type;
41705   typedef T2 arg2_type;
41706   typedef T3 arg3_type;
41707   typedef T4 arg4_type;
41708   typedef T5 arg5_type;
41709   typedef T6 arg6_type;
41710   typedef T7 arg7_type;
41711   typedef T8 arg8_type;
41712   typedef T9 arg9_type;
41713 };
41714
41715 template<typename R, typename T1, typename T2, typename T3, typename T4,
41716          typename T5, typename T6, typename T7, typename T8, typename T9,
41717          typename T10>
41718 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
41719 {
41720   static const int arity = 10;
41721   typedef R result_type;
41722   typedef T1 arg1_type;
41723   typedef T2 arg2_type;
41724   typedef T3 arg3_type;
41725   typedef T4 arg4_type;
41726   typedef T5 arg5_type;
41727   typedef T6 arg6_type;
41728   typedef T7 arg7_type;
41729   typedef T8 arg8_type;
41730   typedef T9 arg9_type;
41731   typedef T10 arg10_type;
41732 };
41733
41734 }
41735
41736 template<typename Function>
41737 struct function_traits :
41738     public detail::function_traits_helper<typename add_pointer<Function>::type>
41739 {
41740 };
41741 # 234 "/usr/include/boost/type_traits/function_traits.hpp" 3 4
41742 }
41743 # 72 "/usr/include/boost/type_traits.hpp" 2 3 4
41744 # 1 "/usr/include/boost/type_traits/aligned_storage.hpp" 1 3 4
41745 # 10 "/usr/include/boost/type_traits/aligned_storage.hpp" 3 4
41746 #define BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED 
41747 # 1 "/usr/include/boost/aligned_storage.hpp" 1 3 4
41748 # 14 "/usr/include/boost/aligned_storage.hpp" 3 4
41749 #define BOOST_ALIGNED_STORAGE_HPP 
41750 # 24 "/usr/include/boost/aligned_storage.hpp" 3 4
41751 # 1 "/usr/include/boost/mpl/eval_if.hpp" 1 3 4
41752
41753
41754 #define BOOST_MPL_EVAL_IF_HPP_INCLUDED 
41755 # 17 "/usr/include/boost/mpl/eval_if.hpp" 3 4
41756 # 1 "/usr/include/boost/mpl/if.hpp" 1 3 4
41757 # 18 "/usr/include/boost/mpl/eval_if.hpp" 2 3 4
41758
41759
41760
41761
41762
41763
41764 namespace boost { namespace mpl {
41765
41766 template<
41767       typename C = na
41768     , typename F1 = na
41769     , typename F2 = na
41770     >
41771 struct eval_if
41772
41773
41774
41775
41776 {
41777     typedef typename if_<C,F1,F2>::type f_;
41778     typedef typename f_::type type;
41779
41780
41781
41782
41783    
41784 };
41785
41786
41787
41788 template<
41789       bool C
41790     , typename F1
41791     , typename F2
41792     >
41793 struct eval_if_c
41794
41795
41796
41797
41798 {
41799     typedef typename if_c<C,F1,F2>::type f_;
41800     typedef typename f_::type type;
41801
41802
41803
41804
41805 };
41806
41807 template<> struct eval_if< na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 =na , typename T5 =na > struct apply : eval_if< T1 , T2 , T3 > { }; }; template< typename Tag > struct lambda< eval_if< na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef eval_if< na , na , na > result_; typedef eval_if< na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< eval_if< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< eval_if< na , na , na > > : int_<-1> { }; }
41808
41809 }}
41810 # 25 "/usr/include/boost/aligned_storage.hpp" 2 3 4
41811 # 1 "/usr/include/boost/mpl/identity.hpp" 1 3 4
41812
41813
41814 #define BOOST_MPL_IDENTITY_HPP_INCLUDED 
41815 # 20 "/usr/include/boost/mpl/identity.hpp" 3 4
41816 namespace boost { namespace mpl {
41817
41818 template<
41819       typename T = na
41820     >
41821 struct identity
41822 {
41823     typedef T type;
41824    
41825 };
41826
41827 template<
41828       typename T = na
41829     >
41830 struct make_identity
41831 {
41832     typedef identity<T> type;
41833    
41834 };
41835
41836 template<> struct identity< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : identity< T1 > { }; }; template< typename Tag > struct lambda< identity< na > , Tag , int_<-1> > { typedef false_ is_le; typedef identity< na > result_; typedef identity< na > type; }; namespace aux { template< typename T1 > struct template_arity< identity< T1 > > : int_<1> { }; template<> struct template_arity< identity< na > > : int_<-1> { }; }
41837 template<> struct make_identity< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : make_identity< T1 > { }; }; template< typename Tag > struct lambda< make_identity< na > , Tag , int_<-1> > { typedef false_ is_le; typedef make_identity< na > result_; typedef make_identity< na > type; }; namespace aux { template< typename T1 > struct template_arity< make_identity< T1 > > : int_<1> { }; template<> struct template_arity< make_identity< na > > : int_<-1> { }; }
41838
41839 }}
41840 # 26 "/usr/include/boost/aligned_storage.hpp" 2 3 4
41841
41842 # 1 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 1 3 4
41843 # 14 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41844 # 1 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 1 3 4
41845 # 30 "/usr/include/boost/type_traits/detail/template_arity_spec.hpp" 3 4
41846 #define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i,name) 
41847 # 15 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 2 3 4
41848 # 37 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41849 #define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) 
41850
41851
41852
41853 #define BOOST_TT_AUX_BOOL_C_BASE(C) : ::boost::integral_constant<bool,C>
41854
41855
41856
41857 #define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) template< typename T > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait)
41858 # 57 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41859 #define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) template< typename T1, typename T2 > struct trait BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) }; BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait)
41860 # 68 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41861 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) template<> struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) };
41862 # 77 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41863 #define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) template<> struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
41864 # 86 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41865 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) template<> struct trait ##_impl< sp > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
41866
41867
41868
41869
41870
41871
41872 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) template<> struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
41873
41874
41875
41876
41877
41878
41879 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) template< param > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
41880
41881
41882
41883
41884
41885
41886
41887 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) template< param1, param2 > struct trait< sp > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
41888
41889
41890
41891
41892
41893
41894
41895 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) };
41896 # 125 "/usr/include/boost/type_traits/detail/bool_trait_def.hpp" 3 4
41897 #define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) template< param1, param2 > struct trait< sp1,sp2 > BOOST_TT_AUX_BOOL_C_BASE(C) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) };
41898
41899
41900
41901
41902
41903
41904
41905 #define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) template< param > struct trait ##_impl< sp1,sp2 > { BOOST_STATIC_CONSTANT(bool, value = (C)); };
41906
41907
41908
41909
41910
41911
41912
41913 #define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value)
41914 # 28 "/usr/include/boost/aligned_storage.hpp" 2 3 4
41915
41916 namespace boost {
41917
41918 namespace detail { namespace aligned_storage {
41919
41920 static const std::size_t alignment_of_max_align = ::boost::alignment_of<max_align>::value;
41921
41922
41923
41924
41925
41926
41927
41928 template <
41929       std::size_t size_
41930     , std::size_t alignment_
41931 >
41932 struct aligned_storage_imp
41933 {
41934     union data_t
41935     {
41936         char buf[size_];
41937
41938         typename mpl::eval_if_c<
41939               alignment_ == std::size_t(-1)
41940             , mpl::identity<detail::max_align>
41941             , type_with_alignment<alignment_>
41942             >::type align_;
41943     } data_;
41944 };
41945
41946 }}
41947
41948 template <
41949       std::size_t size_
41950     , std::size_t alignment_ = std::size_t(-1)
41951 >
41952 class aligned_storage
41953 {
41954 private:
41955
41956    detail::aligned_storage::aligned_storage_imp<size_, alignment_> data_;
41957
41958 public:
41959
41960     typedef detail::aligned_storage::aligned_storage_imp<size_, alignment_> type;
41961
41962     static const std::size_t size = size_;
41963
41964
41965
41966     static const std::size_t alignment = ( alignment_ == std::size_t(-1) ? ::boost::detail::aligned_storage::alignment_of_max_align : alignment_ );
41967 # 93 "/usr/include/boost/aligned_storage.hpp" 3 4
41968 private:
41969
41970     aligned_storage(const aligned_storage&);
41971     aligned_storage& operator=(const aligned_storage&);
41972 # 107 "/usr/include/boost/aligned_storage.hpp" 3 4
41973 public:
41974
41975     aligned_storage()
41976     {
41977     }
41978
41979     ~aligned_storage()
41980     {
41981     }
41982
41983 public:
41984
41985     void* address()
41986     {
41987         return this;
41988     }
41989
41990
41991
41992     const void* address() const
41993     {
41994         return this;
41995     }
41996
41997
41998
41999
42000
42001
42002
42003 };
42004 # 157 "/usr/include/boost/aligned_storage.hpp" 3 4
42005 template <std::size_t size_, std::size_t alignment_>
42006 struct is_pod<boost::detail::aligned_storage::aligned_storage_imp<size_,alignment_> >
42007    : ::boost::integral_constant<bool,true>
42008 {
42009    
42010 };
42011
42012
42013
42014 }
42015
42016 # 1 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 1 3 4
42017 # 14 "/usr/include/boost/type_traits/detail/bool_trait_undef.hpp" 3 4
42018 #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
42019 #undef BOOST_TT_AUX_BOOL_C_BASE
42020 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
42021 #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
42022 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
42023 #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
42024 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
42025 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
42026 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
42027 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
42028 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
42029 #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
42030 #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
42031 #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
42032 # 169 "/usr/include/boost/aligned_storage.hpp" 2 3 4
42033 # 12 "/usr/include/boost/type_traits/aligned_storage.hpp" 2 3 4
42034 # 73 "/usr/include/boost/type_traits.hpp" 2 3 4
42035
42036 # 1 "/usr/include/boost/type_traits/ice.hpp" 1 3 4
42037 # 75 "/usr/include/boost/type_traits.hpp" 2 3 4
42038 # 80 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
42039 # 1 "/usr/include/boost/bind.hpp" 1 3 4
42040
42041 #define BOOST_BIND_HPP_INCLUDED 
42042 # 25 "/usr/include/boost/bind.hpp" 3 4
42043 # 1 "/usr/include/boost/ref.hpp" 1 3 4
42044
42045 #define BOOST_REF_HPP_INCLUDED 
42046 # 11 "/usr/include/boost/ref.hpp" 3 4
42047 # 1 "/usr/include/boost/utility/addressof.hpp" 1 3 4
42048 # 12 "/usr/include/boost/utility/addressof.hpp" 3 4
42049 #define BOOST_UTILITY_ADDRESSOF_HPP 
42050
42051
42052
42053
42054 namespace boost {
42055 # 32 "/usr/include/boost/utility/addressof.hpp" 3 4
42056 template <typename T> T*
42057
42058 addressof(T& v)
42059 {
42060   return reinterpret_cast<T*>(
42061        &const_cast<char&>(reinterpret_cast<const volatile char &>(v)));
42062 }
42063 # 56 "/usr/include/boost/utility/addressof.hpp" 3 4
42064 }
42065 # 12 "/usr/include/boost/ref.hpp" 2 3 4
42066 # 28 "/usr/include/boost/ref.hpp" 3 4
42067 namespace boost
42068 {
42069
42070 template<class T> class reference_wrapper
42071 {
42072 public:
42073     typedef T type;
42074
42075
42076
42077
42078
42079
42080
42081     explicit reference_wrapper(T& t): t_(boost::addressof(t)) {}
42082
42083
42084
42085     operator T& () const { return *t_; }
42086
42087     T& get() const { return *t_; }
42088
42089     T* get_pointer() const { return t_; }
42090
42091 private:
42092
42093     T* t_;
42094 };
42095
42096
42097
42098
42099 #define BOOST_REF_CONST const
42100
42101
42102 template<class T> inline reference_wrapper<T> const ref(T & t)
42103 {
42104     return reference_wrapper<T>(t);
42105 }
42106
42107 template<class T> inline reference_wrapper<T const> const cref(T const & t)
42108 {
42109     return reference_wrapper<T const>(t);
42110 }
42111
42112 #undef BOOST_REF_CONST
42113
42114
42115
42116 template<typename T>
42117 class is_reference_wrapper
42118     : public mpl::false_
42119 {
42120 };
42121
42122 template<typename T>
42123 class unwrap_reference
42124 {
42125  public:
42126     typedef T type;
42127 };
42128
42129 #define AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(X) template<typename T> class is_reference_wrapper< X > : public mpl::true_ { }; template<typename T> class unwrap_reference< X > { public: typedef T type; };
42130 # 105 "/usr/include/boost/ref.hpp" 3 4
42131 template<typename T> class is_reference_wrapper< reference_wrapper<T> > : public mpl::true_ { }; template<typename T> class unwrap_reference< reference_wrapper<T> > { public: typedef T type; };
42132
42133 template<typename T> class is_reference_wrapper< reference_wrapper<T> const > : public mpl::true_ { }; template<typename T> class unwrap_reference< reference_wrapper<T> const > { public: typedef T type; };
42134 template<typename T> class is_reference_wrapper< reference_wrapper<T> volatile > : public mpl::true_ { }; template<typename T> class unwrap_reference< reference_wrapper<T> volatile > { public: typedef T type; };
42135 template<typename T> class is_reference_wrapper< reference_wrapper<T> const volatile > : public mpl::true_ { }; template<typename T> class unwrap_reference< reference_wrapper<T> const volatile > { public: typedef T type; };
42136
42137
42138 #undef AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF
42139 # 175 "/usr/include/boost/ref.hpp" 3 4
42140 }
42141 # 26 "/usr/include/boost/bind.hpp" 2 3 4
42142 # 1 "/usr/include/boost/mem_fn.hpp" 1 3 4
42143
42144 #define BOOST_MEM_FN_HPP_INCLUDED 
42145 # 25 "/usr/include/boost/mem_fn.hpp" 3 4
42146 # 1 "/usr/include/boost/get_pointer.hpp" 1 3 4
42147
42148
42149
42150
42151
42152 #define GET_POINTER_DWA20021219_HPP 
42153
42154
42155
42156 namespace boost {
42157
42158
42159
42160 template<class T> T * get_pointer(T * p)
42161 {
42162     return p;
42163 }
42164
42165
42166
42167 template<class T> T * get_pointer(std::auto_ptr<T> const& p)
42168 {
42169     return p.get();
42170 }
42171
42172
42173 }
42174 # 26 "/usr/include/boost/mem_fn.hpp" 2 3 4
42175
42176
42177 namespace boost
42178 {
42179 # 204 "/usr/include/boost/mem_fn.hpp" 3 4
42180 #define BOOST_MEM_FN_CLASS_F 
42181 #define BOOST_MEM_FN_TYPEDEF(X) typedef X;
42182
42183 namespace _mfi
42184 {
42185
42186 #define BOOST_MEM_FN_RETURN return
42187
42188 #define BOOST_MEM_FN_NAME(X) X
42189 #define BOOST_MEM_FN_CC 
42190
42191 # 1 "/usr/include/boost/bind/mem_fn_template.hpp" 1 3 4
42192 # 17 "/usr/include/boost/bind/mem_fn_template.hpp" 3 4
42193 template<class R, class T > class mf0
42194 {
42195 public:
42196
42197     typedef R result_type;
42198     typedef T * argument_type;
42199
42200 private:
42201
42202     typedef R ( T::*F) ();
42203     F f_;
42204
42205     template<class U> R call(U & u, T const *) const
42206     {
42207         return (u.*f_)();
42208     }
42209
42210     template<class U> R call(U & u, void const *) const
42211     {
42212         return (get_pointer(u)->*f_)();
42213     }
42214
42215 public:
42216
42217     explicit mf0(F f): f_(f) {}
42218
42219     R operator()(T * p) const
42220     {
42221         return (p->*f_)();
42222     }
42223
42224     template<class U> R operator()(U & u) const
42225     {
42226         return call(u, &u);
42227     }
42228
42229     R operator()(T & t) const
42230     {
42231         return (t.*f_)();
42232     }
42233
42234     bool operator==(mf0 const & rhs) const
42235     {
42236         return f_ == rhs.f_;
42237     }
42238
42239     bool operator!=(mf0 const & rhs) const
42240     {
42241         return f_ != rhs.f_;
42242     }
42243 };
42244
42245
42246
42247 template<class R, class T > class cmf0
42248 {
42249 public:
42250
42251     typedef R result_type;
42252     typedef T const * argument_type;
42253
42254 private:
42255
42256     typedef R ( T::*F) () const;
42257     F f_;
42258
42259     template<class U> R call(U & u, T const *) const
42260     {
42261         return (u.*f_)();
42262     }
42263
42264     template<class U> R call(U & u, void const *) const
42265     {
42266         return (get_pointer(u)->*f_)();
42267     }
42268
42269 public:
42270
42271     explicit cmf0(F f): f_(f) {}
42272
42273     template<class U> R operator()(U const & u) const
42274     {
42275         return call(u, &u);
42276     }
42277
42278     R operator()(T const & t) const
42279     {
42280         return (t.*f_)();
42281     }
42282
42283     bool operator==(cmf0 const & rhs) const
42284     {
42285         return f_ == rhs.f_;
42286     }
42287
42288     bool operator!=(cmf0 const & rhs) const
42289     {
42290         return f_ != rhs.f_;
42291     }
42292 };
42293
42294
42295
42296 template<class R, class T, class A1 > class mf1
42297 {
42298 public:
42299
42300     typedef R result_type;
42301     typedef T * first_argument_type;
42302     typedef A1 second_argument_type;
42303
42304 private:
42305
42306     typedef R ( T::*F) (A1);
42307     F f_;
42308
42309     template<class U, class B1> R call(U & u, T const *, B1 & b1) const
42310     {
42311         return (u.*f_)(b1);
42312     }
42313
42314     template<class U, class B1> R call(U & u, void const *, B1 & b1) const
42315     {
42316         return (get_pointer(u)->*f_)(b1);
42317     }
42318
42319 public:
42320
42321     explicit mf1(F f): f_(f) {}
42322
42323     R operator()(T * p, A1 a1) const
42324     {
42325         return (p->*f_)(a1);
42326     }
42327
42328     template<class U> R operator()(U & u, A1 a1) const
42329     {
42330         return call(u, &u, a1);
42331     }
42332
42333     R operator()(T & t, A1 a1) const
42334     {
42335         return (t.*f_)(a1);
42336     }
42337
42338     bool operator==(mf1 const & rhs) const
42339     {
42340         return f_ == rhs.f_;
42341     }
42342
42343     bool operator!=(mf1 const & rhs) const
42344     {
42345         return f_ != rhs.f_;
42346     }
42347 };
42348
42349
42350
42351 template<class R, class T, class A1 > class cmf1
42352 {
42353 public:
42354
42355     typedef R result_type;
42356     typedef T const * first_argument_type;
42357     typedef A1 second_argument_type;
42358
42359 private:
42360
42361     typedef R ( T::*F) (A1) const;
42362     F f_;
42363
42364     template<class U, class B1> R call(U & u, T const *, B1 & b1) const
42365     {
42366         return (u.*f_)(b1);
42367     }
42368
42369     template<class U, class B1> R call(U & u, void const *, B1 & b1) const
42370     {
42371         return (get_pointer(u)->*f_)(b1);
42372     }
42373
42374 public:
42375
42376     explicit cmf1(F f): f_(f) {}
42377
42378     template<class U> R operator()(U const & u, A1 a1) const
42379     {
42380         return call(u, &u, a1);
42381     }
42382
42383     R operator()(T const & t, A1 a1) const
42384     {
42385         return (t.*f_)(a1);
42386     }
42387
42388     bool operator==(cmf1 const & rhs) const
42389     {
42390         return f_ == rhs.f_;
42391     }
42392
42393     bool operator!=(cmf1 const & rhs) const
42394     {
42395         return f_ != rhs.f_;
42396     }
42397 };
42398
42399
42400
42401 template<class R, class T, class A1, class A2 > class mf2
42402 {
42403 public:
42404
42405     typedef R result_type;
42406
42407 private:
42408
42409     typedef R ( T::*F) (A1, A2);
42410     F f_;
42411
42412     template<class U, class B1, class B2> R call(U & u, T const *, B1 & b1, B2 & b2) const
42413     {
42414         return (u.*f_)(b1, b2);
42415     }
42416
42417     template<class U, class B1, class B2> R call(U & u, void const *, B1 & b1, B2 & b2) const
42418     {
42419         return (get_pointer(u)->*f_)(b1, b2);
42420     }
42421
42422 public:
42423
42424     explicit mf2(F f): f_(f) {}
42425
42426     R operator()(T * p, A1 a1, A2 a2) const
42427     {
42428         return (p->*f_)(a1, a2);
42429     }
42430
42431     template<class U> R operator()(U & u, A1 a1, A2 a2) const
42432     {
42433         return call(u, &u, a1, a2);
42434     }
42435
42436     R operator()(T & t, A1 a1, A2 a2) const
42437     {
42438         return (t.*f_)(a1, a2);
42439     }
42440
42441     bool operator==(mf2 const & rhs) const
42442     {
42443         return f_ == rhs.f_;
42444     }
42445
42446     bool operator!=(mf2 const & rhs) const
42447     {
42448         return f_ != rhs.f_;
42449     }
42450 };
42451
42452
42453
42454 template<class R, class T, class A1, class A2 > class cmf2
42455 {
42456 public:
42457
42458     typedef R result_type;
42459
42460 private:
42461
42462     typedef R ( T::*F) (A1, A2) const;
42463     F f_;
42464
42465     template<class U, class B1, class B2> R call(U & u, T const *, B1 & b1, B2 & b2) const
42466     {
42467         return (u.*f_)(b1, b2);
42468     }
42469
42470     template<class U, class B1, class B2> R call(U & u, void const *, B1 & b1, B2 & b2) const
42471     {
42472         return (get_pointer(u)->*f_)(b1, b2);
42473     }
42474
42475 public:
42476
42477     explicit cmf2(F f): f_(f) {}
42478
42479     template<class U> R operator()(U const & u, A1 a1, A2 a2) const
42480     {
42481         return call(u, &u, a1, a2);
42482     }
42483
42484     R operator()(T const & t, A1 a1, A2 a2) const
42485     {
42486         return (t.*f_)(a1, a2);
42487     }
42488
42489     bool operator==(cmf2 const & rhs) const
42490     {
42491         return f_ == rhs.f_;
42492     }
42493
42494     bool operator!=(cmf2 const & rhs) const
42495     {
42496         return f_ != rhs.f_;
42497     }
42498 };
42499
42500
42501
42502 template<class R, class T, class A1, class A2, class A3 > class mf3
42503 {
42504 public:
42505
42506     typedef R result_type;
42507
42508 private:
42509
42510     typedef R ( T::*F) (A1, A2, A3);
42511     F f_;
42512
42513     template<class U, class B1, class B2, class B3> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const
42514     {
42515         return (u.*f_)(b1, b2, b3);
42516     }
42517
42518     template<class U, class B1, class B2, class B3> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const
42519     {
42520         return (get_pointer(u)->*f_)(b1, b2, b3);
42521     }
42522
42523 public:
42524
42525     explicit mf3(F f): f_(f) {}
42526
42527     R operator()(T * p, A1 a1, A2 a2, A3 a3) const
42528     {
42529         return (p->*f_)(a1, a2, a3);
42530     }
42531
42532     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3) const
42533     {
42534         return call(u, &u, a1, a2, a3);
42535     }
42536
42537     R operator()(T & t, A1 a1, A2 a2, A3 a3) const
42538     {
42539         return (t.*f_)(a1, a2, a3);
42540     }
42541
42542     bool operator==(mf3 const & rhs) const
42543     {
42544         return f_ == rhs.f_;
42545     }
42546
42547     bool operator!=(mf3 const & rhs) const
42548     {
42549         return f_ != rhs.f_;
42550     }
42551 };
42552
42553
42554
42555 template<class R, class T, class A1, class A2, class A3 > class cmf3
42556 {
42557 public:
42558
42559     typedef R result_type;
42560
42561 private:
42562
42563     typedef R ( T::*F) (A1, A2, A3) const;
42564     F f_;
42565
42566     template<class U, class B1, class B2, class B3> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const
42567     {
42568         return (u.*f_)(b1, b2, b3);
42569     }
42570
42571     template<class U, class B1, class B2, class B3> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const
42572     {
42573         return (get_pointer(u)->*f_)(b1, b2, b3);
42574     }
42575
42576 public:
42577
42578     explicit cmf3(F f): f_(f) {}
42579
42580     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3) const
42581     {
42582         return call(u, &u, a1, a2, a3);
42583     }
42584
42585     R operator()(T const & t, A1 a1, A2 a2, A3 a3) const
42586     {
42587         return (t.*f_)(a1, a2, a3);
42588     }
42589
42590     bool operator==(cmf3 const & rhs) const
42591     {
42592         return f_ == rhs.f_;
42593     }
42594
42595     bool operator!=(cmf3 const & rhs) const
42596     {
42597         return f_ != rhs.f_;
42598     }
42599 };
42600
42601
42602
42603 template<class R, class T, class A1, class A2, class A3, class A4 > class mf4
42604 {
42605 public:
42606
42607     typedef R result_type;
42608
42609 private:
42610
42611     typedef R ( T::*F) (A1, A2, A3, A4);
42612     F f_;
42613
42614     template<class U, class B1, class B2, class B3, class B4> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
42615     {
42616         return (u.*f_)(b1, b2, b3, b4);
42617     }
42618
42619     template<class U, class B1, class B2, class B3, class B4> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
42620     {
42621         return (get_pointer(u)->*f_)(b1, b2, b3, b4);
42622     }
42623
42624 public:
42625
42626     explicit mf4(F f): f_(f) {}
42627
42628     R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4) const
42629     {
42630         return (p->*f_)(a1, a2, a3, a4);
42631     }
42632
42633     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4) const
42634     {
42635         return call(u, &u, a1, a2, a3, a4);
42636     }
42637
42638     R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4) const
42639     {
42640         return (t.*f_)(a1, a2, a3, a4);
42641     }
42642
42643     bool operator==(mf4 const & rhs) const
42644     {
42645         return f_ == rhs.f_;
42646     }
42647
42648     bool operator!=(mf4 const & rhs) const
42649     {
42650         return f_ != rhs.f_;
42651     }
42652 };
42653
42654
42655
42656 template<class R, class T, class A1, class A2, class A3, class A4 > class cmf4
42657 {
42658 public:
42659
42660     typedef R result_type;
42661
42662 private:
42663
42664     typedef R ( T::*F) (A1, A2, A3, A4) const;
42665     F f_;
42666
42667     template<class U, class B1, class B2, class B3, class B4> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
42668     {
42669         return (u.*f_)(b1, b2, b3, b4);
42670     }
42671
42672     template<class U, class B1, class B2, class B3, class B4> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
42673     {
42674         return (get_pointer(u)->*f_)(b1, b2, b3, b4);
42675     }
42676
42677 public:
42678
42679     explicit cmf4(F f): f_(f) {}
42680
42681     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const
42682     {
42683         return call(u, &u, a1, a2, a3, a4);
42684     }
42685
42686     R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4) const
42687     {
42688         return (t.*f_)(a1, a2, a3, a4);
42689     }
42690
42691     bool operator==(cmf4 const & rhs) const
42692     {
42693         return f_ == rhs.f_;
42694     }
42695
42696     bool operator!=(cmf4 const & rhs) const
42697     {
42698         return f_ != rhs.f_;
42699     }
42700 };
42701
42702
42703
42704 template<class R, class T, class A1, class A2, class A3, class A4, class A5 > class mf5
42705 {
42706 public:
42707
42708     typedef R result_type;
42709
42710 private:
42711
42712     typedef R ( T::*F) (A1, A2, A3, A4, A5);
42713     F f_;
42714
42715     template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
42716     {
42717         return (u.*f_)(b1, b2, b3, b4, b5);
42718     }
42719
42720     template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
42721     {
42722         return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);
42723     }
42724
42725 public:
42726
42727     explicit mf5(F f): f_(f) {}
42728
42729     R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
42730     {
42731         return (p->*f_)(a1, a2, a3, a4, a5);
42732     }
42733
42734     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
42735     {
42736         return call(u, &u, a1, a2, a3, a4, a5);
42737     }
42738
42739     R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
42740     {
42741         return (t.*f_)(a1, a2, a3, a4, a5);
42742     }
42743
42744     bool operator==(mf5 const & rhs) const
42745     {
42746         return f_ == rhs.f_;
42747     }
42748
42749     bool operator!=(mf5 const & rhs) const
42750     {
42751         return f_ != rhs.f_;
42752     }
42753 };
42754
42755
42756
42757 template<class R, class T, class A1, class A2, class A3, class A4, class A5 > class cmf5
42758 {
42759 public:
42760
42761     typedef R result_type;
42762
42763 private:
42764
42765     typedef R ( T::*F) (A1, A2, A3, A4, A5) const;
42766     F f_;
42767
42768     template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
42769     {
42770         return (u.*f_)(b1, b2, b3, b4, b5);
42771     }
42772
42773     template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
42774     {
42775         return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);
42776     }
42777
42778 public:
42779
42780     explicit cmf5(F f): f_(f) {}
42781
42782     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
42783     {
42784         return call(u, &u, a1, a2, a3, a4, a5);
42785     }
42786
42787     R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
42788     {
42789         return (t.*f_)(a1, a2, a3, a4, a5);
42790     }
42791
42792     bool operator==(cmf5 const & rhs) const
42793     {
42794         return f_ == rhs.f_;
42795     }
42796
42797     bool operator!=(cmf5 const & rhs) const
42798     {
42799         return f_ != rhs.f_;
42800     }
42801 };
42802
42803
42804
42805 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 > class mf6
42806 {
42807 public:
42808
42809     typedef R result_type;
42810
42811 private:
42812
42813     typedef R ( T::*F) (A1, A2, A3, A4, A5, A6);
42814     F f_;
42815
42816     template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
42817     {
42818         return (u.*f_)(b1, b2, b3, b4, b5, b6);
42819     }
42820
42821     template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
42822     {
42823         return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);
42824     }
42825
42826 public:
42827
42828     explicit mf6(F f): f_(f) {}
42829
42830     R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
42831     {
42832         return (p->*f_)(a1, a2, a3, a4, a5, a6);
42833     }
42834
42835     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
42836     {
42837         return call(u, &u, a1, a2, a3, a4, a5, a6);
42838     }
42839
42840     R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
42841     {
42842         return (t.*f_)(a1, a2, a3, a4, a5, a6);
42843     }
42844
42845     bool operator==(mf6 const & rhs) const
42846     {
42847         return f_ == rhs.f_;
42848     }
42849
42850     bool operator!=(mf6 const & rhs) const
42851     {
42852         return f_ != rhs.f_;
42853     }
42854 };
42855
42856
42857
42858 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 > class cmf6
42859 {
42860 public:
42861
42862     typedef R result_type;
42863
42864 private:
42865
42866     typedef R ( T::*F) (A1, A2, A3, A4, A5, A6) const;
42867     F f_;
42868
42869     template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
42870     {
42871         return (u.*f_)(b1, b2, b3, b4, b5, b6);
42872     }
42873
42874     template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
42875     {
42876         return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);
42877     }
42878
42879 public:
42880
42881     explicit cmf6(F f): f_(f) {}
42882
42883     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
42884     {
42885         return call(u, &u, a1, a2, a3, a4, a5, a6);
42886     }
42887
42888     R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
42889     {
42890         return (t.*f_)(a1, a2, a3, a4, a5, a6);
42891     }
42892
42893     bool operator==(cmf6 const & rhs) const
42894     {
42895         return f_ == rhs.f_;
42896     }
42897
42898     bool operator!=(cmf6 const & rhs) const
42899     {
42900         return f_ != rhs.f_;
42901     }
42902 };
42903
42904
42905
42906 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 > class mf7
42907 {
42908 public:
42909
42910     typedef R result_type;
42911
42912 private:
42913
42914     typedef R ( T::*F) (A1, A2, A3, A4, A5, A6, A7);
42915     F f_;
42916
42917     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
42918     {
42919         return (u.*f_)(b1, b2, b3, b4, b5, b6, b7);
42920     }
42921
42922     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
42923     {
42924         return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);
42925     }
42926
42927 public:
42928
42929     explicit mf7(F f): f_(f) {}
42930
42931     R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
42932     {
42933         return (p->*f_)(a1, a2, a3, a4, a5, a6, a7);
42934     }
42935
42936     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
42937     {
42938         return call(u, &u, a1, a2, a3, a4, a5, a6, a7);
42939     }
42940
42941     R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
42942     {
42943         return (t.*f_)(a1, a2, a3, a4, a5, a6, a7);
42944     }
42945
42946     bool operator==(mf7 const & rhs) const
42947     {
42948         return f_ == rhs.f_;
42949     }
42950
42951     bool operator!=(mf7 const & rhs) const
42952     {
42953         return f_ != rhs.f_;
42954     }
42955 };
42956
42957
42958
42959 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 > class cmf7
42960 {
42961 public:
42962
42963     typedef R result_type;
42964
42965 private:
42966
42967     typedef R ( T::*F) (A1, A2, A3, A4, A5, A6, A7) const;
42968     F f_;
42969
42970     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
42971     {
42972         return (u.*f_)(b1, b2, b3, b4, b5, b6, b7);
42973     }
42974
42975     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
42976     {
42977         return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);
42978     }
42979
42980 public:
42981
42982     explicit cmf7(F f): f_(f) {}
42983
42984     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
42985     {
42986         return call(u, &u, a1, a2, a3, a4, a5, a6, a7);
42987     }
42988
42989     R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
42990     {
42991         return (t.*f_)(a1, a2, a3, a4, a5, a6, a7);
42992     }
42993
42994     bool operator==(cmf7 const & rhs) const
42995     {
42996         return f_ == rhs.f_;
42997     }
42998
42999     bool operator!=(cmf7 const & rhs) const
43000     {
43001         return f_ != rhs.f_;
43002     }
43003 };
43004
43005
43006
43007 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class mf8
43008 {
43009 public:
43010
43011     typedef R result_type;
43012
43013 private:
43014
43015     typedef R ( T::*F) (A1, A2, A3, A4, A5, A6, A7, A8);
43016     F f_;
43017
43018     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
43019     {
43020         return (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
43021     }
43022
43023     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
43024     {
43025         return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
43026     }
43027
43028 public:
43029
43030     explicit mf8(F f): f_(f) {}
43031
43032     R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
43033     {
43034         return (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
43035     }
43036
43037     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
43038     {
43039         return call(u, &u, a1, a2, a3, a4, a5, a6, a7, a8);
43040     }
43041
43042     R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
43043     {
43044         return (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
43045     }
43046
43047     bool operator==(mf8 const & rhs) const
43048     {
43049         return f_ == rhs.f_;
43050     }
43051
43052     bool operator!=(mf8 const & rhs) const
43053     {
43054         return f_ != rhs.f_;
43055     }
43056 };
43057
43058
43059
43060 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class cmf8
43061 {
43062 public:
43063
43064     typedef R result_type;
43065
43066 private:
43067
43068     typedef R ( T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const;
43069     F f_;
43070
43071     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
43072     {
43073         return (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
43074     }
43075
43076     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
43077     {
43078         return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
43079     }
43080
43081 public:
43082
43083     explicit cmf8(F f): f_(f) {}
43084
43085     R operator()(T const * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
43086     {
43087         return (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
43088     }
43089
43090     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
43091     {
43092         return call(u, &u, a1, a2, a3, a4, a5, a6, a7, a8);
43093     }
43094
43095     R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
43096     {
43097         return (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
43098     }
43099
43100     bool operator==(cmf8 const & rhs) const
43101     {
43102         return f_ == rhs.f_;
43103     }
43104
43105     bool operator!=(cmf8 const & rhs) const
43106     {
43107         return f_ != rhs.f_;
43108     }
43109 };
43110 # 216 "/usr/include/boost/mem_fn.hpp" 2 3 4
43111
43112 #undef BOOST_MEM_FN_CC
43113 #undef BOOST_MEM_FN_NAME
43114 # 256 "/usr/include/boost/mem_fn.hpp" 3 4
43115 #undef BOOST_MEM_FN_RETURN
43116
43117 }
43118
43119 #undef BOOST_MEM_FN_CLASS_F
43120 #undef BOOST_MEM_FN_TYPEDEF
43121
43122
43123
43124 #define BOOST_MEM_FN_NAME(X) X
43125 #define BOOST_MEM_FN_CC 
43126
43127 # 1 "/usr/include/boost/bind/mem_fn_cc.hpp" 1 3 4
43128 # 15 "/usr/include/boost/bind/mem_fn_cc.hpp" 3 4
43129 template<class R, class T> _mfi::mf0<R, T> mem_fn(R ( T::*f) ())
43130 {
43131     return _mfi::mf0<R, T>(f);
43132 }
43133
43134 template<class R, class T> _mfi::cmf0<R, T> mem_fn(R ( T::*f) () const)
43135 {
43136     return _mfi::cmf0<R, T>(f);
43137 }
43138
43139 template<class R, class T, class A1> _mfi::mf1<R, T, A1> mem_fn(R ( T::*f) (A1))
43140 {
43141     return _mfi::mf1<R, T, A1>(f);
43142 }
43143
43144 template<class R, class T, class A1> _mfi::cmf1<R, T, A1> mem_fn(R ( T::*f) (A1) const)
43145 {
43146     return _mfi::cmf1<R, T, A1>(f);
43147 }
43148
43149 template<class R, class T, class A1, class A2> _mfi::mf2<R, T, A1, A2> mem_fn(R ( T::*f) (A1, A2))
43150 {
43151     return _mfi::mf2<R, T, A1, A2>(f);
43152 }
43153
43154 template<class R, class T, class A1, class A2> _mfi::cmf2<R, T, A1, A2> mem_fn(R ( T::*f) (A1, A2) const)
43155 {
43156     return _mfi::cmf2<R, T, A1, A2>(f);
43157 }
43158
43159 template<class R, class T, class A1, class A2, class A3> _mfi::mf3<R, T, A1, A2, A3> mem_fn(R ( T::*f) (A1, A2, A3))
43160 {
43161     return _mfi::mf3<R, T, A1, A2, A3>(f);
43162 }
43163
43164 template<class R, class T, class A1, class A2, class A3> _mfi::cmf3<R, T, A1, A2, A3> mem_fn(R ( T::*f) (A1, A2, A3) const)
43165 {
43166     return _mfi::cmf3<R, T, A1, A2, A3>(f);
43167 }
43168
43169 template<class R, class T, class A1, class A2, class A3, class A4> _mfi::mf4<R, T, A1, A2, A3, A4> mem_fn(R ( T::*f) (A1, A2, A3, A4))
43170 {
43171     return _mfi::mf4<R, T, A1, A2, A3, A4>(f);
43172 }
43173
43174 template<class R, class T, class A1, class A2, class A3, class A4> _mfi::cmf4<R, T, A1, A2, A3, A4> mem_fn(R ( T::*f) (A1, A2, A3, A4) const)
43175 {
43176     return _mfi::cmf4<R, T, A1, A2, A3, A4>(f);
43177 }
43178
43179 template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::mf5<R, T, A1, A2, A3, A4, A5> mem_fn(R ( T::*f) (A1, A2, A3, A4, A5))
43180 {
43181     return _mfi::mf5<R, T, A1, A2, A3, A4, A5>(f);
43182 }
43183
43184 template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::cmf5<R, T, A1, A2, A3, A4, A5> mem_fn(R ( T::*f) (A1, A2, A3, A4, A5) const)
43185 {
43186     return _mfi::cmf5<R, T, A1, A2, A3, A4, A5>(f);
43187 }
43188
43189 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::mf6<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6))
43190 {
43191     return _mfi::mf6<R, T, A1, A2, A3, A4, A5, A6>(f);
43192 }
43193
43194 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::cmf6<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6) const)
43195 {
43196     return _mfi::cmf6<R, T, A1, A2, A3, A4, A5, A6>(f);
43197 }
43198
43199 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::mf7<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6, A7))
43200 {
43201     return _mfi::mf7<R, T, A1, A2, A3, A4, A5, A6, A7>(f);
43202 }
43203
43204 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::cmf7<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6, A7) const)
43205 {
43206     return _mfi::cmf7<R, T, A1, A2, A3, A4, A5, A6, A7>(f);
43207 }
43208
43209 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::mf8<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6, A7, A8))
43210 {
43211     return _mfi::mf8<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);
43212 }
43213
43214 template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::cmf8<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6, A7, A8) const)
43215 {
43216     return _mfi::cmf8<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);
43217 }
43218 # 269 "/usr/include/boost/mem_fn.hpp" 2 3 4
43219
43220 #undef BOOST_MEM_FN_NAME
43221 #undef BOOST_MEM_FN_CC
43222 # 311 "/usr/include/boost/mem_fn.hpp" 3 4
43223 namespace _mfi
43224 {
43225
43226 template<class R, class T> class dm
43227 {
43228 public:
43229
43230     typedef R const & result_type;
43231     typedef T const * argument_type;
43232
43233 private:
43234
43235     typedef R (T::*F);
43236     F f_;
43237
43238     template<class U> R const & call(U & u, T const *) const
43239     {
43240         return (u.*f_);
43241     }
43242
43243     template<class U> R & call(U & u, T *) const
43244     {
43245         return (u.*f_);
43246     }
43247
43248     template<class U> R const & call(U & u, void const *) const
43249     {
43250         return (get_pointer(u)->*f_);
43251     }
43252
43253 public:
43254
43255     explicit dm(F f): f_(f) {}
43256
43257     R & operator()(T * p) const
43258     {
43259         return (p->*f_);
43260     }
43261
43262     R const & operator()(T const * p) const
43263     {
43264         return (p->*f_);
43265     }
43266
43267     template<class U> R const & operator()(U & u) const
43268     {
43269         return call(u, &u);
43270     }
43271
43272
43273
43274     R & operator()(T & t) const
43275     {
43276         return (t.*f_);
43277     }
43278
43279
43280
43281     R const & operator()(T const & t) const
43282     {
43283         return (t.*f_);
43284     }
43285
43286     bool operator==(dm const & rhs) const
43287     {
43288         return f_ == rhs.f_;
43289     }
43290
43291     bool operator!=(dm const & rhs) const
43292     {
43293         return f_ != rhs.f_;
43294     }
43295 };
43296
43297 }
43298
43299 template<class R, class T> _mfi::dm<R, T> mem_fn(R T::*f)
43300 {
43301     return _mfi::dm<R, T>(f);
43302 }
43303
43304 }
43305 # 27 "/usr/include/boost/bind.hpp" 2 3 4
43306 # 1 "/usr/include/boost/type.hpp" 1 3 4
43307
43308
43309
43310
43311
43312
43313 #define BOOST_TYPE_DWA20010120_HPP 
43314
43315 namespace boost {
43316
43317
43318
43319   template <class T>
43320   struct type {};
43321
43322 }
43323 # 28 "/usr/include/boost/bind.hpp" 2 3 4
43324 # 1 "/usr/include/boost/bind/arg.hpp" 1 3 4
43325
43326 #define BOOST_BIND_ARG_HPP_INCLUDED 
43327 # 22 "/usr/include/boost/bind/arg.hpp" 3 4
43328 namespace boost
43329 {
43330
43331 template<int I> class arg
43332 {
43333 };
43334
43335 template<int I> bool operator==(arg<I> const &, arg<I> const &)
43336 {
43337     return true;
43338 }
43339
43340 }
43341 # 29 "/usr/include/boost/bind.hpp" 2 3 4
43342
43343
43344
43345
43346
43347
43348
43349 #define BOOST_BIND_VISIT_EACH visit_each
43350
43351
43352
43353
43354
43355
43356
43357 namespace boost
43358 {
43359
43360 namespace _bi
43361 {
43362
43363
43364
43365 template<class R, class F> struct result_traits
43366 {
43367     typedef R type;
43368 };
43369
43370
43371
43372 struct unspecified {};
43373
43374 template<class F> struct result_traits<unspecified, F>
43375 {
43376     typedef typename F::result_type type;
43377 };
43378
43379 template<class F> struct result_traits< unspecified, reference_wrapper<F> >
43380 {
43381     typedef typename F::result_type type;
43382 };
43383
43384
43385
43386
43387
43388 template<class T> bool ref_compare(T const & a, T const & b, long)
43389 {
43390     return a == b;
43391 }
43392
43393 template<class T> bool ref_compare(reference_wrapper<T> const & a, reference_wrapper<T> const & b, int)
43394 {
43395     return a.get_pointer() == b.get_pointer();
43396 }
43397
43398
43399
43400 template<class R, class F, class L> class bind_t;
43401
43402
43403
43404 template<class T> class value
43405 {
43406 public:
43407
43408     value(T const & t): t_(t) {}
43409
43410     T & get() { return t_; }
43411     T const & get() const { return t_; }
43412
43413     bool operator==(value const & rhs) const
43414     {
43415         return t_ == rhs.t_;
43416     }
43417
43418 private:
43419
43420     T t_;
43421 };
43422
43423
43424
43425 template<class T> class type {};
43426
43427
43428
43429 template<class F> inline F & unwrap(F * f, long)
43430 {
43431     return *f;
43432 }
43433
43434 template<class F> inline F & unwrap(reference_wrapper<F> * f, int)
43435 {
43436     return f->get();
43437 }
43438
43439 template<class F> inline F & unwrap(reference_wrapper<F> const * f, int)
43440 {
43441     return f->get();
43442 }
43443
43444
43445
43446 template<class R, class T> inline _mfi::dm<R, T> unwrap(R T::* * pm, int)
43447 {
43448     return _mfi::dm<R, T>(*pm);
43449 }
43450
43451
43452
43453 template<class R, class T> inline _mfi::dm<R, T> unwrap(R T::* const * pm, int)
43454 {
43455     return _mfi::dm<R, T>(*pm);
43456 }
43457
43458
43459
43460
43461
43462
43463
43464 class list0
43465 {
43466 public:
43467
43468     list0() {}
43469
43470     template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
43471
43472     template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
43473
43474     template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
43475
43476     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
43477
43478     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
43479
43480     template<class R, class F, class A> R operator()(type<R>, F & f, A &, long)
43481     {
43482         return unwrap(&f, 0)();
43483     }
43484
43485     template<class R, class F, class A> R operator()(type<R>, F const & f, A &, long) const
43486     {
43487         return unwrap(&f, 0)();
43488     }
43489
43490     template<class F, class A> void operator()(type<void>, F & f, A &, int)
43491     {
43492         unwrap(&f, 0)();
43493     }
43494
43495     template<class F, class A> void operator()(type<void>, F const & f, A &, int) const
43496     {
43497         unwrap(&f, 0)();
43498     }
43499
43500     template<class V> void accept(V &) const
43501     {
43502     }
43503
43504     bool operator==(list0 const &) const
43505     {
43506         return true;
43507     }
43508 };
43509
43510 template<class A1> class list1
43511 {
43512 public:
43513
43514     explicit list1(A1 a1): a1_(a1) {}
43515
43516     A1 operator[] (boost::arg<1>) const { return a1_; }
43517
43518     A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
43519
43520     template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
43521
43522     template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
43523
43524     template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
43525
43526     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
43527
43528     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
43529
43530     template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
43531     {
43532         return unwrap(&f, 0)(a[a1_]);
43533     }
43534
43535     template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
43536     {
43537         return unwrap(&f, 0)(a[a1_]);
43538     }
43539
43540     template<class F, class A> void operator()(type<void>, F & f, A & a, int)
43541     {
43542         unwrap(&f, 0)(a[a1_]);
43543     }
43544
43545     template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
43546     {
43547         unwrap(&f, 0)(a[a1_]);
43548     }
43549
43550     template<class V> void accept(V & v) const
43551     {
43552         visit_each(v, a1_, 0);
43553     }
43554
43555     bool operator==(list1 const & rhs) const
43556     {
43557         return ref_compare(a1_, rhs.a1_, 0);
43558     }
43559
43560 private:
43561
43562     A1 a1_;
43563 };
43564
43565 template<class A1, class A2> class list2
43566 {
43567 public:
43568
43569     list2(A1 a1, A2 a2): a1_(a1), a2_(a2) {}
43570
43571     A1 operator[] (boost::arg<1>) const { return a1_; }
43572     A2 operator[] (boost::arg<2>) const { return a2_; }
43573
43574     A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
43575     A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
43576
43577     template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
43578
43579     template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
43580
43581     template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
43582
43583     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
43584
43585     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
43586
43587     template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
43588     {
43589         return unwrap(&f, 0)(a[a1_], a[a2_]);
43590     }
43591
43592     template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
43593     {
43594         return unwrap(&f, 0)(a[a1_], a[a2_]);
43595     }
43596
43597     template<class F, class A> void operator()(type<void>, F & f, A & a, int)
43598     {
43599         unwrap(&f, 0)(a[a1_], a[a2_]);
43600     }
43601
43602     template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
43603     {
43604         unwrap(&f, 0)(a[a1_], a[a2_]);
43605     }
43606
43607     template<class V> void accept(V & v) const
43608     {
43609         visit_each(v, a1_, 0);
43610         visit_each(v, a2_, 0);
43611     }
43612
43613     bool operator==(list2 const & rhs) const
43614     {
43615         return ref_compare(a1_, rhs.a1_, 0) && ref_compare(a2_, rhs.a2_, 0);
43616     }
43617
43618 private:
43619
43620     A1 a1_;
43621     A2 a2_;
43622 };
43623
43624 template<class A1, class A2, class A3> class list3
43625 {
43626 public:
43627
43628     list3(A1 a1, A2 a2, A3 a3): a1_(a1), a2_(a2), a3_(a3) {}
43629
43630     A1 operator[] (boost::arg<1>) const { return a1_; }
43631     A2 operator[] (boost::arg<2>) const { return a2_; }
43632     A3 operator[] (boost::arg<3>) const { return a3_; }
43633
43634     A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
43635     A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
43636     A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
43637
43638     template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
43639
43640     template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
43641
43642     template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
43643
43644     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
43645
43646     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
43647
43648     template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
43649     {
43650         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_]);
43651     }
43652
43653     template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
43654     {
43655         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_]);
43656     }
43657
43658     template<class F, class A> void operator()(type<void>, F & f, A & a, int)
43659     {
43660         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_]);
43661     }
43662
43663     template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
43664     {
43665         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_]);
43666     }
43667
43668     template<class V> void accept(V & v) const
43669     {
43670         visit_each(v, a1_, 0);
43671         visit_each(v, a2_, 0);
43672         visit_each(v, a3_, 0);
43673     }
43674
43675     bool operator==(list3 const & rhs) const
43676     {
43677         return ref_compare(a1_, rhs.a1_, 0) && ref_compare(a2_, rhs.a2_, 0) && ref_compare(a3_, rhs.a3_, 0);
43678     }
43679
43680 private:
43681
43682     A1 a1_;
43683     A2 a2_;
43684     A3 a3_;
43685 };
43686
43687 template<class A1, class A2, class A3, class A4> class list4
43688 {
43689 public:
43690
43691     list4(A1 a1, A2 a2, A3 a3, A4 a4): a1_(a1), a2_(a2), a3_(a3), a4_(a4) {}
43692
43693     A1 operator[] (boost::arg<1>) const { return a1_; }
43694     A2 operator[] (boost::arg<2>) const { return a2_; }
43695     A3 operator[] (boost::arg<3>) const { return a3_; }
43696     A4 operator[] (boost::arg<4>) const { return a4_; }
43697
43698     A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
43699     A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
43700     A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
43701     A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
43702
43703     template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
43704
43705     template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
43706
43707     template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
43708
43709     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
43710
43711     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
43712
43713     template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
43714     {
43715         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_]);
43716     }
43717
43718     template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
43719     {
43720         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_]);
43721     }
43722
43723     template<class F, class A> void operator()(type<void>, F & f, A & a, int)
43724     {
43725         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_]);
43726     }
43727
43728     template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
43729     {
43730         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_]);
43731     }
43732
43733     template<class V> void accept(V & v) const
43734     {
43735         visit_each(v, a1_, 0);
43736         visit_each(v, a2_, 0);
43737         visit_each(v, a3_, 0);
43738         visit_each(v, a4_, 0);
43739     }
43740
43741     bool operator==(list4 const & rhs) const
43742     {
43743         return
43744             ref_compare(a1_, rhs.a1_, 0) && ref_compare(a2_, rhs.a2_, 0) && ref_compare(a3_, rhs.a3_, 0) &&
43745             ref_compare(a4_, rhs.a4_, 0);
43746     }
43747
43748 private:
43749
43750     A1 a1_;
43751     A2 a2_;
43752     A3 a3_;
43753     A4 a4_;
43754 };
43755
43756 template<class A1, class A2, class A3, class A4, class A5> class list5
43757 {
43758 public:
43759
43760     list5(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5): a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5) {}
43761
43762     A1 operator[] (boost::arg<1>) const { return a1_; }
43763     A2 operator[] (boost::arg<2>) const { return a2_; }
43764     A3 operator[] (boost::arg<3>) const { return a3_; }
43765     A4 operator[] (boost::arg<4>) const { return a4_; }
43766     A5 operator[] (boost::arg<5>) const { return a5_; }
43767
43768     A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
43769     A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
43770     A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
43771     A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
43772     A5 operator[] (boost::arg<5> (*) ()) const { return a5_; }
43773
43774     template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
43775
43776     template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
43777
43778     template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
43779
43780     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
43781
43782     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
43783
43784     template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
43785     {
43786         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_]);
43787     }
43788
43789     template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
43790     {
43791         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_]);
43792     }
43793
43794     template<class F, class A> void operator()(type<void>, F & f, A & a, int)
43795     {
43796         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_]);
43797     }
43798
43799     template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
43800     {
43801         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_]);
43802     }
43803
43804     template<class V> void accept(V & v) const
43805     {
43806         visit_each(v, a1_, 0);
43807         visit_each(v, a2_, 0);
43808         visit_each(v, a3_, 0);
43809         visit_each(v, a4_, 0);
43810         visit_each(v, a5_, 0);
43811     }
43812
43813     bool operator==(list5 const & rhs) const
43814     {
43815         return
43816             ref_compare(a1_, rhs.a1_, 0) && ref_compare(a2_, rhs.a2_, 0) && ref_compare(a3_, rhs.a3_, 0) &&
43817             ref_compare(a4_, rhs.a4_, 0) && ref_compare(a5_, rhs.a5_, 0);
43818     }
43819
43820 private:
43821
43822     A1 a1_;
43823     A2 a2_;
43824     A3 a3_;
43825     A4 a4_;
43826     A5 a5_;
43827 };
43828
43829 template<class A1, class A2, class A3, class A4, class A5, class A6> class list6
43830 {
43831 public:
43832
43833     list6(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6): a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6) {}
43834
43835     A1 operator[] (boost::arg<1>) const { return a1_; }
43836     A2 operator[] (boost::arg<2>) const { return a2_; }
43837     A3 operator[] (boost::arg<3>) const { return a3_; }
43838     A4 operator[] (boost::arg<4>) const { return a4_; }
43839     A5 operator[] (boost::arg<5>) const { return a5_; }
43840     A6 operator[] (boost::arg<6>) const { return a6_; }
43841
43842     A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
43843     A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
43844     A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
43845     A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
43846     A5 operator[] (boost::arg<5> (*) ()) const { return a5_; }
43847     A6 operator[] (boost::arg<6> (*) ()) const { return a6_; }
43848
43849     template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
43850
43851     template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
43852
43853     template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
43854
43855     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
43856
43857     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
43858
43859     template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
43860     {
43861         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_]);
43862     }
43863
43864     template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
43865     {
43866         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_]);
43867     }
43868
43869     template<class F, class A> void operator()(type<void>, F & f, A & a, int)
43870     {
43871         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_]);
43872     }
43873
43874     template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
43875     {
43876         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_]);
43877     }
43878
43879     template<class V> void accept(V & v) const
43880     {
43881         visit_each(v, a1_, 0);
43882         visit_each(v, a2_, 0);
43883         visit_each(v, a3_, 0);
43884         visit_each(v, a4_, 0);
43885         visit_each(v, a5_, 0);
43886         visit_each(v, a6_, 0);
43887     }
43888
43889     bool operator==(list6 const & rhs) const
43890     {
43891         return
43892             ref_compare(a1_, rhs.a1_, 0) && ref_compare(a2_, rhs.a2_, 0) && ref_compare(a3_, rhs.a3_, 0) &&
43893             ref_compare(a4_, rhs.a4_, 0) && ref_compare(a5_, rhs.a5_, 0) && ref_compare(a6_, rhs.a6_, 0);
43894     }
43895
43896 private:
43897
43898     A1 a1_;
43899     A2 a2_;
43900     A3 a3_;
43901     A4 a4_;
43902     A5 a5_;
43903     A6 a6_;
43904 };
43905
43906 template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> class list7
43907 {
43908 public:
43909
43910     list7(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7): a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7) {}
43911
43912     A1 operator[] (boost::arg<1>) const { return a1_; }
43913     A2 operator[] (boost::arg<2>) const { return a2_; }
43914     A3 operator[] (boost::arg<3>) const { return a3_; }
43915     A4 operator[] (boost::arg<4>) const { return a4_; }
43916     A5 operator[] (boost::arg<5>) const { return a5_; }
43917     A6 operator[] (boost::arg<6>) const { return a6_; }
43918     A7 operator[] (boost::arg<7>) const { return a7_; }
43919
43920     A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
43921     A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
43922     A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
43923     A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
43924     A5 operator[] (boost::arg<5> (*) ()) const { return a5_; }
43925     A6 operator[] (boost::arg<6> (*) ()) const { return a6_; }
43926     A7 operator[] (boost::arg<7> (*) ()) const { return a7_; }
43927
43928     template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
43929
43930     template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
43931
43932     template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
43933
43934     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
43935
43936     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
43937
43938     template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
43939     {
43940         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_]);
43941     }
43942
43943     template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
43944     {
43945         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_]);
43946     }
43947
43948     template<class F, class A> void operator()(type<void>, F & f, A & a, int)
43949     {
43950         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_]);
43951     }
43952
43953     template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
43954     {
43955         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_]);
43956     }
43957
43958     template<class V> void accept(V & v) const
43959     {
43960         visit_each(v, a1_, 0);
43961         visit_each(v, a2_, 0);
43962         visit_each(v, a3_, 0);
43963         visit_each(v, a4_, 0);
43964         visit_each(v, a5_, 0);
43965         visit_each(v, a6_, 0);
43966         visit_each(v, a7_, 0);
43967     }
43968
43969     bool operator==(list7 const & rhs) const
43970     {
43971         return
43972             ref_compare(a1_, rhs.a1_, 0) && ref_compare(a2_, rhs.a2_, 0) && ref_compare(a3_, rhs.a3_, 0) &&
43973             ref_compare(a4_, rhs.a4_, 0) && ref_compare(a5_, rhs.a5_, 0) && ref_compare(a6_, rhs.a6_, 0) &&
43974             ref_compare(a7_, rhs.a7_, 0);
43975     }
43976
43977 private:
43978
43979     A1 a1_;
43980     A2 a2_;
43981     A3 a3_;
43982     A4 a4_;
43983     A5 a5_;
43984     A6 a6_;
43985     A7 a7_;
43986 };
43987
43988 template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> class list8
43989 {
43990 public:
43991
43992     list8(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8): a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8) {}
43993
43994     A1 operator[] (boost::arg<1>) const { return a1_; }
43995     A2 operator[] (boost::arg<2>) const { return a2_; }
43996     A3 operator[] (boost::arg<3>) const { return a3_; }
43997     A4 operator[] (boost::arg<4>) const { return a4_; }
43998     A5 operator[] (boost::arg<5>) const { return a5_; }
43999     A6 operator[] (boost::arg<6>) const { return a6_; }
44000     A7 operator[] (boost::arg<7>) const { return a7_; }
44001     A8 operator[] (boost::arg<8>) const { return a8_; }
44002
44003     A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
44004     A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
44005     A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
44006     A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
44007     A5 operator[] (boost::arg<5> (*) ()) const { return a5_; }
44008     A6 operator[] (boost::arg<6> (*) ()) const { return a6_; }
44009     A7 operator[] (boost::arg<7> (*) ()) const { return a7_; }
44010     A8 operator[] (boost::arg<8> (*) ()) const { return a8_; }
44011
44012     template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
44013
44014     template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
44015
44016     template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
44017
44018     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
44019
44020     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
44021
44022     template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
44023     {
44024         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_], a[a8_]);
44025     }
44026
44027     template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
44028     {
44029         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_], a[a8_]);
44030     }
44031
44032     template<class F, class A> void operator()(type<void>, F & f, A & a, int)
44033     {
44034         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_], a[a8_]);
44035     }
44036
44037     template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
44038     {
44039         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_], a[a8_]);
44040     }
44041
44042     template<class V> void accept(V & v) const
44043     {
44044         visit_each(v, a1_, 0);
44045         visit_each(v, a2_, 0);
44046         visit_each(v, a3_, 0);
44047         visit_each(v, a4_, 0);
44048         visit_each(v, a5_, 0);
44049         visit_each(v, a6_, 0);
44050         visit_each(v, a7_, 0);
44051         visit_each(v, a8_, 0);
44052     }
44053
44054     bool operator==(list8 const & rhs) const
44055     {
44056         return
44057             ref_compare(a1_, rhs.a1_, 0) && ref_compare(a2_, rhs.a2_, 0) && ref_compare(a3_, rhs.a3_, 0) &&
44058             ref_compare(a4_, rhs.a4_, 0) && ref_compare(a5_, rhs.a5_, 0) && ref_compare(a6_, rhs.a6_, 0) &&
44059             ref_compare(a7_, rhs.a7_, 0) && ref_compare(a8_, rhs.a8_, 0);
44060     }
44061
44062 private:
44063
44064     A1 a1_;
44065     A2 a2_;
44066     A3 a3_;
44067     A4 a4_;
44068     A5 a5_;
44069     A6 a6_;
44070     A7 a7_;
44071     A8 a8_;
44072 };
44073
44074 template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> class list9
44075 {
44076 public:
44077
44078     list9(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9): a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9) {}
44079
44080     A1 operator[] (boost::arg<1>) const { return a1_; }
44081     A2 operator[] (boost::arg<2>) const { return a2_; }
44082     A3 operator[] (boost::arg<3>) const { return a3_; }
44083     A4 operator[] (boost::arg<4>) const { return a4_; }
44084     A5 operator[] (boost::arg<5>) const { return a5_; }
44085     A6 operator[] (boost::arg<6>) const { return a6_; }
44086     A7 operator[] (boost::arg<7>) const { return a7_; }
44087     A8 operator[] (boost::arg<8>) const { return a8_; }
44088     A9 operator[] (boost::arg<9>) const { return a9_; }
44089
44090     A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
44091     A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
44092     A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
44093     A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
44094     A5 operator[] (boost::arg<5> (*) ()) const { return a5_; }
44095     A6 operator[] (boost::arg<6> (*) ()) const { return a6_; }
44096     A7 operator[] (boost::arg<7> (*) ()) const { return a7_; }
44097     A8 operator[] (boost::arg<8> (*) ()) const { return a8_; }
44098     A9 operator[] (boost::arg<9> (*) ()) const { return a9_; }
44099
44100     template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
44101
44102     template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
44103
44104     template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
44105
44106     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
44107
44108     template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
44109
44110     template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
44111     {
44112         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_], a[a8_], a[a9_]);
44113     }
44114
44115     template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
44116     {
44117         return unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_], a[a8_], a[a9_]);
44118     }
44119
44120     template<class F, class A> void operator()(type<void>, F & f, A & a, int)
44121     {
44122         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_], a[a8_], a[a9_]);
44123     }
44124
44125     template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
44126     {
44127         unwrap(&f, 0)(a[a1_], a[a2_], a[a3_], a[a4_], a[a5_], a[a6_], a[a7_], a[a8_], a[a9_]);
44128     }
44129
44130     template<class V> void accept(V & v) const
44131     {
44132         visit_each(v, a1_, 0);
44133         visit_each(v, a2_, 0);
44134         visit_each(v, a3_, 0);
44135         visit_each(v, a4_, 0);
44136         visit_each(v, a5_, 0);
44137         visit_each(v, a6_, 0);
44138         visit_each(v, a7_, 0);
44139         visit_each(v, a8_, 0);
44140         visit_each(v, a9_, 0);
44141     }
44142
44143     bool operator==(list9 const & rhs) const
44144     {
44145         return
44146             ref_compare(a1_, rhs.a1_, 0) && ref_compare(a2_, rhs.a2_, 0) && ref_compare(a3_, rhs.a3_, 0) &&
44147             ref_compare(a4_, rhs.a4_, 0) && ref_compare(a5_, rhs.a5_, 0) && ref_compare(a6_, rhs.a6_, 0) &&
44148             ref_compare(a7_, rhs.a7_, 0) && ref_compare(a8_, rhs.a8_, 0) && ref_compare(a9_, rhs.a9_, 0);
44149     }
44150
44151 private:
44152
44153     A1 a1_;
44154     A2 a2_;
44155     A3 a3_;
44156     A4 a4_;
44157     A5 a5_;
44158     A6 a6_;
44159     A7 a7_;
44160     A8 a8_;
44161     A9 a9_;
44162 };
44163
44164
44165
44166
44167
44168 template<class R, class F, class L> class bind_t
44169 {
44170 public:
44171
44172     typedef bind_t this_type;
44173
44174     bind_t(F f, L const & l): f_(f), l_(l) {}
44175
44176 #define BOOST_BIND_RETURN return
44177 # 1 "/usr/include/boost/bind/bind_template.hpp" 1 3 4
44178 # 15 "/usr/include/boost/bind/bind_template.hpp" 3 4
44179     typedef typename result_traits<R, F>::type result_type;
44180
44181     result_type operator()()
44182     {
44183         list0 a;
44184         return l_(type<result_type>(), f_, a, 0);
44185     }
44186
44187     result_type operator()() const
44188     {
44189         list0 a;
44190         return l_(type<result_type>(), f_, a, 0);
44191     }
44192
44193     template<class A1> result_type operator()(A1 & a1)
44194     {
44195         list1<A1 &> a(a1);
44196         return l_(type<result_type>(), f_, a, 0);
44197     }
44198
44199     template<class A1> result_type operator()(A1 & a1) const
44200     {
44201         list1<A1 &> a(a1);
44202         return l_(type<result_type>(), f_, a, 0);
44203     }
44204
44205     template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2)
44206     {
44207         list2<A1 &, A2 &> a(a1, a2);
44208         return l_(type<result_type>(), f_, a, 0);
44209     }
44210
44211     template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2) const
44212     {
44213         list2<A1 &, A2 &> a(a1, a2);
44214         return l_(type<result_type>(), f_, a, 0);
44215     }
44216
44217     template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3)
44218     {
44219         list3<A1 &, A2 &, A3 &> a(a1, a2, a3);
44220         return l_(type<result_type>(), f_, a, 0);
44221     }
44222
44223     template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3) const
44224     {
44225         list3<A1 &, A2 &, A3 &> a(a1, a2, a3);
44226         return l_(type<result_type>(), f_, a, 0);
44227     }
44228
44229     template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4)
44230     {
44231         list4<A1 &, A2 &, A3 &, A4 &> a(a1, a2, a3, a4);
44232         return l_(type<result_type>(), f_, a, 0);
44233     }
44234
44235     template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const
44236     {
44237         list4<A1 &, A2 &, A3 &, A4 &> a(a1, a2, a3, a4);
44238         return l_(type<result_type>(), f_, a, 0);
44239     }
44240
44241     template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5)
44242     {
44243         list5<A1 &, A2 &, A3 &, A4 &, A5 &> a(a1, a2, a3, a4, a5);
44244         return l_(type<result_type>(), f_, a, 0);
44245     }
44246
44247     template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const
44248     {
44249         list5<A1 &, A2 &, A3 &, A4 &, A5 &> a(a1, a2, a3, a4, a5);
44250         return l_(type<result_type>(), f_, a, 0);
44251     }
44252
44253     template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6)
44254     {
44255         list6<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &> a(a1, a2, a3, a4, a5, a6);
44256         return l_(type<result_type>(), f_, a, 0);
44257     }
44258
44259     template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const
44260     {
44261         list6<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &> a(a1, a2, a3, a4, a5, a6);
44262         return l_(type<result_type>(), f_, a, 0);
44263     }
44264
44265     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7)
44266     {
44267         list7<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &> a(a1, a2, a3, a4, a5, a6, a7);
44268         return l_(type<result_type>(), f_, a, 0);
44269     }
44270
44271     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const
44272     {
44273         list7<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &> a(a1, a2, a3, a4, a5, a6, a7);
44274         return l_(type<result_type>(), f_, a, 0);
44275     }
44276
44277     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8)
44278     {
44279         list8<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &> a(a1, a2, a3, a4, a5, a6, a7, a8);
44280         return l_(type<result_type>(), f_, a, 0);
44281     }
44282
44283     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const
44284     {
44285         list8<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &> a(a1, a2, a3, a4, a5, a6, a7, a8);
44286         return l_(type<result_type>(), f_, a, 0);
44287     }
44288
44289     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9)
44290     {
44291         list9<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &, A9 &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
44292         return l_(type<result_type>(), f_, a, 0);
44293     }
44294
44295     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const
44296     {
44297         list9<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &, A9 &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
44298         return l_(type<result_type>(), f_, a, 0);
44299     }
44300
44301     template<class A> result_type eval(A & a)
44302     {
44303         return l_(type<result_type>(), f_, a, 0);
44304     }
44305
44306     template<class A> result_type eval(A & a) const
44307     {
44308         return l_(type<result_type>(), f_, a, 0);
44309     }
44310
44311     template<class V> void accept(V & v) const
44312     {
44313         visit_each(v, f_, 0);
44314         l_.accept(v);
44315     }
44316
44317     bool compare(this_type const & rhs) const
44318     {
44319         return ref_compare(f_, rhs.f_, 0) && l_ == rhs.l_;
44320     }
44321
44322 private:
44323
44324     F f_;
44325     L l_;
44326 # 865 "/usr/include/boost/bind.hpp" 2 3 4
44327 #undef BOOST_BIND_RETURN
44328
44329 };
44330 # 931 "/usr/include/boost/bind.hpp" 3 4
44331 template<class R, class F, class L> bool function_equal( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b )
44332 {
44333     return a.compare(b);
44334 }
44335 # 976 "/usr/include/boost/bind.hpp" 3 4
44336 template<class T> struct add_value
44337 {
44338     typedef _bi::value<T> type;
44339 };
44340
44341 template<class T> struct add_value< value<T> >
44342 {
44343     typedef _bi::value<T> type;
44344 };
44345
44346 template<class T> struct add_value< reference_wrapper<T> >
44347 {
44348     typedef reference_wrapper<T> type;
44349 };
44350
44351 template<int I> struct add_value< arg<I> >
44352 {
44353     typedef boost::arg<I> type;
44354 };
44355
44356 template<int I> struct add_value< arg<I> (*) () >
44357 {
44358     typedef boost::arg<I> (*type) ();
44359 };
44360
44361 template<class R, class F, class L> struct add_value< bind_t<R, F, L> >
44362 {
44363     typedef bind_t<R, F, L> type;
44364 };
44365 # 1047 "/usr/include/boost/bind.hpp" 3 4
44366 template<class A1> struct list_av_1
44367 {
44368     typedef typename add_value<A1>::type B1;
44369     typedef list1<B1> type;
44370 };
44371
44372 template<class A1, class A2> struct list_av_2
44373 {
44374     typedef typename add_value<A1>::type B1;
44375     typedef typename add_value<A2>::type B2;
44376     typedef list2<B1, B2> type;
44377 };
44378
44379 template<class A1, class A2, class A3> struct list_av_3
44380 {
44381     typedef typename add_value<A1>::type B1;
44382     typedef typename add_value<A2>::type B2;
44383     typedef typename add_value<A3>::type B3;
44384     typedef list3<B1, B2, B3> type;
44385 };
44386
44387 template<class A1, class A2, class A3, class A4> struct list_av_4
44388 {
44389     typedef typename add_value<A1>::type B1;
44390     typedef typename add_value<A2>::type B2;
44391     typedef typename add_value<A3>::type B3;
44392     typedef typename add_value<A4>::type B4;
44393     typedef list4<B1, B2, B3, B4> type;
44394 };
44395
44396 template<class A1, class A2, class A3, class A4, class A5> struct list_av_5
44397 {
44398     typedef typename add_value<A1>::type B1;
44399     typedef typename add_value<A2>::type B2;
44400     typedef typename add_value<A3>::type B3;
44401     typedef typename add_value<A4>::type B4;
44402     typedef typename add_value<A5>::type B5;
44403     typedef list5<B1, B2, B3, B4, B5> type;
44404 };
44405
44406 template<class A1, class A2, class A3, class A4, class A5, class A6> struct list_av_6
44407 {
44408     typedef typename add_value<A1>::type B1;
44409     typedef typename add_value<A2>::type B2;
44410     typedef typename add_value<A3>::type B3;
44411     typedef typename add_value<A4>::type B4;
44412     typedef typename add_value<A5>::type B5;
44413     typedef typename add_value<A6>::type B6;
44414     typedef list6<B1, B2, B3, B4, B5, B6> type;
44415 };
44416
44417 template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct list_av_7
44418 {
44419     typedef typename add_value<A1>::type B1;
44420     typedef typename add_value<A2>::type B2;
44421     typedef typename add_value<A3>::type B3;
44422     typedef typename add_value<A4>::type B4;
44423     typedef typename add_value<A5>::type B5;
44424     typedef typename add_value<A6>::type B6;
44425     typedef typename add_value<A7>::type B7;
44426     typedef list7<B1, B2, B3, B4, B5, B6, B7> type;
44427 };
44428
44429 template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct list_av_8
44430 {
44431     typedef typename add_value<A1>::type B1;
44432     typedef typename add_value<A2>::type B2;
44433     typedef typename add_value<A3>::type B3;
44434     typedef typename add_value<A4>::type B4;
44435     typedef typename add_value<A5>::type B5;
44436     typedef typename add_value<A6>::type B6;
44437     typedef typename add_value<A7>::type B7;
44438     typedef typename add_value<A8>::type B8;
44439     typedef list8<B1, B2, B3, B4, B5, B6, B7, B8> type;
44440 };
44441
44442 template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> struct list_av_9
44443 {
44444     typedef typename add_value<A1>::type B1;
44445     typedef typename add_value<A2>::type B2;
44446     typedef typename add_value<A3>::type B3;
44447     typedef typename add_value<A4>::type B4;
44448     typedef typename add_value<A5>::type B5;
44449     typedef typename add_value<A6>::type B6;
44450     typedef typename add_value<A7>::type B7;
44451     typedef typename add_value<A8>::type B8;
44452     typedef typename add_value<A9>::type B9;
44453     typedef list9<B1, B2, B3, B4, B5, B6, B7, B8, B9> type;
44454 };
44455
44456
44457
44458 struct logical_not
44459 {
44460     template<class V> bool operator()(V const & v) const { return !v; }
44461 };
44462
44463 template<class R, class F, class L>
44464     bind_t< bool, logical_not, list1< bind_t<R, F, L> > >
44465     operator! (bind_t<R, F, L> const & f)
44466 {
44467     typedef list1< bind_t<R, F, L> > list_type;
44468     return bind_t<bool, logical_not, list_type> ( logical_not(), list_type(f) );
44469 }
44470
44471
44472
44473 #define BOOST_BIND_OPERATOR(op,name) struct name { template<class V, class W> bool operator()(V const & v, W const & w) const { return v op w; } }; template<class R, class F, class L, class A2> bind_t< bool, name, list2< bind_t<R, F, L>, typename add_value<A2>::type > > operator op (bind_t<R, F, L> const & f, A2 a2) { typedef typename add_value<A2>::type B2; typedef list2< bind_t<R, F, L>, B2> list_type; return bind_t<bool, name, list_type> ( name(), list_type(f, a2) ); }
44474 # 1170 "/usr/include/boost/bind.hpp" 3 4
44475 struct equal { template<class V, class W> bool operator()(V const & v, W const & w) const { return v == w; } }; template<class R, class F, class L, class A2> bind_t< bool, equal, list2< bind_t<R, F, L>, typename add_value<A2>::type > > operator == (bind_t<R, F, L> const & f, A2 a2) { typedef typename add_value<A2>::type B2; typedef list2< bind_t<R, F, L>, B2> list_type; return bind_t<bool, equal, list_type> ( equal(), list_type(f, a2) ); }
44476 struct not_equal { template<class V, class W> bool operator()(V const & v, W const & w) const { return v != w; } }; template<class R, class F, class L, class A2> bind_t< bool, not_equal, list2< bind_t<R, F, L>, typename add_value<A2>::type > > operator != (bind_t<R, F, L> const & f, A2 a2) { typedef typename add_value<A2>::type B2; typedef list2< bind_t<R, F, L>, B2> list_type; return bind_t<bool, not_equal, list_type> ( not_equal(), list_type(f, a2) ); }
44477
44478 struct less { template<class V, class W> bool operator()(V const & v, W const & w) const { return v < w; } }; template<class R, class F, class L, class A2> bind_t< bool, less, list2< bind_t<R, F, L>, typename add_value<A2>::type > > operator < (bind_t<R, F, L> const & f, A2 a2) { typedef typename add_value<A2>::type B2; typedef list2< bind_t<R, F, L>, B2> list_type; return bind_t<bool, less, list_type> ( less(), list_type(f, a2) ); }
44479 struct less_equal { template<class V, class W> bool operator()(V const & v, W const & w) const { return v <= w; } }; template<class R, class F, class L, class A2> bind_t< bool, less_equal, list2< bind_t<R, F, L>, typename add_value<A2>::type > > operator <= (bind_t<R, F, L> const & f, A2 a2) { typedef typename add_value<A2>::type B2; typedef list2< bind_t<R, F, L>, B2> list_type; return bind_t<bool, less_equal, list_type> ( less_equal(), list_type(f, a2) ); }
44480
44481 struct greater { template<class V, class W> bool operator()(V const & v, W const & w) const { return v > w; } }; template<class R, class F, class L, class A2> bind_t< bool, greater, list2< bind_t<R, F, L>, typename add_value<A2>::type > > operator > (bind_t<R, F, L> const & f, A2 a2) { typedef typename add_value<A2>::type B2; typedef list2< bind_t<R, F, L>, B2> list_type; return bind_t<bool, greater, list_type> ( greater(), list_type(f, a2) ); }
44482 struct greater_equal { template<class V, class W> bool operator()(V const & v, W const & w) const { return v >= w; } }; template<class R, class F, class L, class A2> bind_t< bool, greater_equal, list2< bind_t<R, F, L>, typename add_value<A2>::type > > operator >= (bind_t<R, F, L> const & f, A2 a2) { typedef typename add_value<A2>::type B2; typedef list2< bind_t<R, F, L>, B2> list_type; return bind_t<bool, greater_equal, list_type> ( greater_equal(), list_type(f, a2) ); }
44483
44484 #undef BOOST_BIND_OPERATOR
44485 # 1202 "/usr/include/boost/bind.hpp" 3 4
44486 }
44487
44488
44489
44490 template<class V, class T> void visit_each(V & v, _bi::value<T> const & t, int)
44491 {
44492     visit_each(v, t.get(), 0);
44493 }
44494
44495 template<class V, class R, class F, class L> void visit_each(V & v, _bi::bind_t<R, F, L> const & t, int)
44496 {
44497     t.accept(v);
44498 }
44499
44500
44501
44502
44503 #define BOOST_BIND bind
44504
44505
44506
44507
44508 template<class R, class F>
44509     _bi::bind_t<R, F, _bi::list0>
44510     bind(F f)
44511 {
44512     typedef _bi::list0 list_type;
44513     return _bi::bind_t<R, F, list_type> (f, list_type());
44514 }
44515
44516 template<class R, class F, class A1>
44517     _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
44518     bind(F f, A1 a1)
44519 {
44520     typedef typename _bi::list_av_1<A1>::type list_type;
44521     return _bi::bind_t<R, F, list_type> (f, list_type(a1));
44522 }
44523
44524 template<class R, class F, class A1, class A2>
44525     _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
44526     bind(F f, A1 a1, A2 a2)
44527 {
44528     typedef typename _bi::list_av_2<A1, A2>::type list_type;
44529     return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
44530 }
44531
44532 template<class R, class F, class A1, class A2, class A3>
44533     _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
44534     bind(F f, A1 a1, A2 a2, A3 a3)
44535 {
44536     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
44537     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
44538 }
44539
44540 template<class R, class F, class A1, class A2, class A3, class A4>
44541     _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
44542     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4)
44543 {
44544     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
44545     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
44546 }
44547
44548 template<class R, class F, class A1, class A2, class A3, class A4, class A5>
44549     _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
44550     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
44551 {
44552     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
44553     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
44554 }
44555
44556 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
44557     _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
44558     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
44559 {
44560     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
44561     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
44562 }
44563
44564 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
44565     _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
44566     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
44567 {
44568     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
44569     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
44570 }
44571
44572 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
44573     _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
44574     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
44575 {
44576     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
44577     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
44578 }
44579
44580 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
44581     _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
44582     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
44583 {
44584     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
44585     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
44586 }
44587
44588
44589
44590 template<class R, class F>
44591     _bi::bind_t<R, F, _bi::list0>
44592     bind(boost::type<R>, F f)
44593 {
44594     typedef _bi::list0 list_type;
44595     return _bi::bind_t<R, F, list_type> (f, list_type());
44596 }
44597
44598 template<class R, class F, class A1>
44599     _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
44600     bind(boost::type<R>, F f, A1 a1)
44601 {
44602     typedef typename _bi::list_av_1<A1>::type list_type;
44603     return _bi::bind_t<R, F, list_type> (f, list_type(a1));
44604 }
44605
44606 template<class R, class F, class A1, class A2>
44607     _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
44608     bind(boost::type<R>, F f, A1 a1, A2 a2)
44609 {
44610     typedef typename _bi::list_av_2<A1, A2>::type list_type;
44611     return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
44612 }
44613
44614 template<class R, class F, class A1, class A2, class A3>
44615     _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
44616     bind(boost::type<R>, F f, A1 a1, A2 a2, A3 a3)
44617 {
44618     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
44619     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
44620 }
44621
44622 template<class R, class F, class A1, class A2, class A3, class A4>
44623     _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
44624     bind(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4)
44625 {
44626     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
44627     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
44628 }
44629
44630 template<class R, class F, class A1, class A2, class A3, class A4, class A5>
44631     _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
44632     bind(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
44633 {
44634     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
44635     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
44636 }
44637
44638 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
44639     _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
44640     bind(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
44641 {
44642     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
44643     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
44644 }
44645
44646 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
44647     _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
44648     bind(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
44649 {
44650     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
44651     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
44652 }
44653
44654 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
44655     _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
44656     bind(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
44657 {
44658     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
44659     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
44660 }
44661
44662 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
44663     _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
44664     bind(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
44665 {
44666     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
44667     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
44668 }
44669
44670
44671
44672
44673
44674 template<class F>
44675     _bi::bind_t<_bi::unspecified, F, _bi::list0>
44676     bind(F f)
44677 {
44678     typedef _bi::list0 list_type;
44679     return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type());
44680 }
44681
44682 template<class F, class A1>
44683     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1<A1>::type>
44684     bind(F f, A1 a1)
44685 {
44686     typedef typename _bi::list_av_1<A1>::type list_type;
44687     return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1));
44688 }
44689
44690 template<class F, class A1, class A2>
44691     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2<A1, A2>::type>
44692     bind(F f, A1 a1, A2 a2)
44693 {
44694     typedef typename _bi::list_av_2<A1, A2>::type list_type;
44695     return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2));
44696 }
44697
44698 template<class F, class A1, class A2, class A3>
44699     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3<A1, A2, A3>::type>
44700     bind(F f, A1 a1, A2 a2, A3 a3)
44701 {
44702     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
44703     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3));
44704 }
44705
44706 template<class F, class A1, class A2, class A3, class A4>
44707     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
44708     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4)
44709 {
44710     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
44711     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4));
44712 }
44713
44714 template<class F, class A1, class A2, class A3, class A4, class A5>
44715     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
44716     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
44717 {
44718     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
44719     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
44720 }
44721
44722 template<class F, class A1, class A2, class A3, class A4, class A5, class A6>
44723     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
44724     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
44725 {
44726     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
44727     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
44728 }
44729
44730 template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
44731     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
44732     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
44733 {
44734     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
44735     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
44736 }
44737
44738 template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
44739     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
44740     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
44741 {
44742     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
44743     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
44744 }
44745
44746 template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
44747     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
44748     bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
44749 {
44750     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
44751     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
44752 }
44753
44754
44755
44756
44757
44758 #define BOOST_BIND_CC 
44759 #define BOOST_BIND_ST 
44760
44761 # 1 "/usr/include/boost/bind/bind_cc.hpp" 1 3 4
44762 # 15 "/usr/include/boost/bind/bind_cc.hpp" 3 4
44763 template<class R>
44764     _bi::bind_t<R, R ( *) (), _bi::list0>
44765     bind( R ( *f) ())
44766 {
44767     typedef R ( *F) ();
44768     typedef _bi::list0 list_type;
44769     return _bi::bind_t<R, F, list_type> (f, list_type());
44770 }
44771
44772 template<class R, class B1, class A1>
44773     _bi::bind_t<R, R ( *) (B1), typename _bi::list_av_1<A1>::type>
44774     bind( R ( *f) (B1), A1 a1)
44775 {
44776     typedef R ( *F) (B1);
44777     typedef typename _bi::list_av_1<A1>::type list_type;
44778     return _bi::bind_t<R, F, list_type> (f, list_type(a1));
44779 }
44780
44781 template<class R, class B1, class B2, class A1, class A2>
44782     _bi::bind_t<R, R ( *) (B1, B2), typename _bi::list_av_2<A1, A2>::type>
44783     bind( R ( *f) (B1, B2), A1 a1, A2 a2)
44784 {
44785     typedef R ( *F) (B1, B2);
44786     typedef typename _bi::list_av_2<A1, A2>::type list_type;
44787     return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
44788 }
44789
44790 template<class R,
44791     class B1, class B2, class B3,
44792     class A1, class A2, class A3>
44793     _bi::bind_t<R, R ( *) (B1, B2, B3), typename _bi::list_av_3<A1, A2, A3>::type>
44794     bind( R ( *f) (B1, B2, B3), A1 a1, A2 a2, A3 a3)
44795 {
44796     typedef R ( *F) (B1, B2, B3);
44797     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
44798     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
44799 }
44800
44801 template<class R,
44802     class B1, class B2, class B3, class B4,
44803     class A1, class A2, class A3, class A4>
44804     _bi::bind_t<R, R ( *) (B1, B2, B3, B4), typename _bi::list_av_4<A1, A2, A3, A4>::type>
44805     bind( R ( *f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4)
44806 {
44807     typedef R ( *F) (B1, B2, B3, B4);
44808     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
44809     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
44810 }
44811
44812 template<class R,
44813     class B1, class B2, class B3, class B4, class B5,
44814     class A1, class A2, class A3, class A4, class A5>
44815     _bi::bind_t<R, R ( *) (B1, B2, B3, B4, B5), typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
44816     bind( R ( *f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
44817 {
44818     typedef R ( *F) (B1, B2, B3, B4, B5);
44819     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
44820     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
44821 }
44822
44823 template<class R,
44824     class B1, class B2, class B3, class B4, class B5, class B6,
44825     class A1, class A2, class A3, class A4, class A5, class A6>
44826     _bi::bind_t<R, R ( *) (B1, B2, B3, B4, B5, B6), typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
44827     bind( R ( *f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
44828 {
44829     typedef R ( *F) (B1, B2, B3, B4, B5, B6);
44830     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
44831     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
44832 }
44833
44834 template<class R,
44835     class B1, class B2, class B3, class B4, class B5, class B6, class B7,
44836     class A1, class A2, class A3, class A4, class A5, class A6, class A7>
44837     _bi::bind_t<R, R ( *) (B1, B2, B3, B4, B5, B6, B7), typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
44838     bind( R ( *f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
44839 {
44840     typedef R ( *F) (B1, B2, B3, B4, B5, B6, B7);
44841     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
44842     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
44843 }
44844
44845 template<class R,
44846     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
44847     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
44848     _bi::bind_t<R, R ( *) (B1, B2, B3, B4, B5, B6, B7, B8), typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
44849     bind( R ( *f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
44850 {
44851     typedef R ( *F) (B1, B2, B3, B4, B5, B6, B7, B8);
44852     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
44853     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
44854 }
44855
44856 template<class R,
44857     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8, class B9,
44858     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
44859     _bi::bind_t<R, R ( *) (B1, B2, B3, B4, B5, B6, B7, B8, B9), typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
44860     bind( R ( *f) (B1, B2, B3, B4, B5, B6, B7, B8, B9), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
44861 {
44862     typedef R ( *F) (B1, B2, B3, B4, B5, B6, B7, B8, B9);
44863     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
44864     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
44865 }
44866 # 1478 "/usr/include/boost/bind.hpp" 2 3 4
44867
44868 #undef BOOST_BIND_CC
44869 #undef BOOST_BIND_ST
44870 # 1520 "/usr/include/boost/bind.hpp" 3 4
44871 #define BOOST_BIND_MF_NAME(X) X
44872 #define BOOST_BIND_MF_CC 
44873
44874 # 1 "/usr/include/boost/bind/bind_mf_cc.hpp" 1 3 4
44875 # 17 "/usr/include/boost/bind/bind_mf_cc.hpp" 3 4
44876 template<class R, class T,
44877     class A1>
44878     _bi::bind_t<R, _mfi::mf0<R, T>, typename _bi::list_av_1<A1>::type>
44879     bind(R ( T::*f) (), A1 a1)
44880 {
44881     typedef _mfi::mf0<R, T> F;
44882     typedef typename _bi::list_av_1<A1>::type list_type;
44883     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));
44884 }
44885
44886 template<class R, class T,
44887     class A1>
44888     _bi::bind_t<R, _mfi::cmf0<R, T>, typename _bi::list_av_1<A1>::type>
44889     bind(R ( T::*f) () const, A1 a1)
44890 {
44891     typedef _mfi::cmf0<R, T> F;
44892     typedef typename _bi::list_av_1<A1>::type list_type;
44893     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));
44894 }
44895
44896
44897
44898 template<class R, class T,
44899     class B1,
44900     class A1, class A2>
44901     _bi::bind_t<R, _mfi::mf1<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
44902     bind(R ( T::*f) (B1), A1 a1, A2 a2)
44903 {
44904     typedef _mfi::mf1<R, T, B1> F;
44905     typedef typename _bi::list_av_2<A1, A2>::type list_type;
44906     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));
44907 }
44908
44909 template<class R, class T,
44910     class B1,
44911     class A1, class A2>
44912     _bi::bind_t<R, _mfi::cmf1<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
44913     bind(R ( T::*f) (B1) const, A1 a1, A2 a2)
44914 {
44915     typedef _mfi::cmf1<R, T, B1> F;
44916     typedef typename _bi::list_av_2<A1, A2>::type list_type;
44917     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));
44918 }
44919
44920
44921
44922 template<class R, class T,
44923     class B1, class B2,
44924     class A1, class A2, class A3>
44925     _bi::bind_t<R, _mfi::mf2<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
44926     bind(R ( T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)
44927 {
44928     typedef _mfi::mf2<R, T, B1, B2> F;
44929     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
44930     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));
44931 }
44932
44933 template<class R, class T,
44934     class B1, class B2,
44935     class A1, class A2, class A3>
44936     _bi::bind_t<R, _mfi::cmf2<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
44937     bind(R ( T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)
44938 {
44939     typedef _mfi::cmf2<R, T, B1, B2> F;
44940     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
44941     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));
44942 }
44943
44944
44945
44946 template<class R, class T,
44947     class B1, class B2, class B3,
44948     class A1, class A2, class A3, class A4>
44949     _bi::bind_t<R, _mfi::mf3<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
44950     bind(R ( T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)
44951 {
44952     typedef _mfi::mf3<R, T, B1, B2, B3> F;
44953     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
44954     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));
44955 }
44956
44957 template<class R, class T,
44958     class B1, class B2, class B3,
44959     class A1, class A2, class A3, class A4>
44960     _bi::bind_t<R, _mfi::cmf3<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
44961     bind(R ( T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)
44962 {
44963     typedef _mfi::cmf3<R, T, B1, B2, B3> F;
44964     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
44965     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));
44966 }
44967
44968
44969
44970 template<class R, class T,
44971     class B1, class B2, class B3, class B4,
44972     class A1, class A2, class A3, class A4, class A5>
44973     _bi::bind_t<R, _mfi::mf4<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
44974     bind(R ( T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
44975 {
44976     typedef _mfi::mf4<R, T, B1, B2, B3, B4> F;
44977     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
44978     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
44979 }
44980
44981 template<class R, class T,
44982     class B1, class B2, class B3, class B4,
44983     class A1, class A2, class A3, class A4, class A5>
44984     _bi::bind_t<R, _mfi::cmf4<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
44985     bind(R ( T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
44986 {
44987     typedef _mfi::cmf4<R, T, B1, B2, B3, B4> F;
44988     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
44989     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
44990 }
44991
44992
44993
44994 template<class R, class T,
44995     class B1, class B2, class B3, class B4, class B5,
44996     class A1, class A2, class A3, class A4, class A5, class A6>
44997     _bi::bind_t<R, _mfi::mf5<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
44998     bind(R ( T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
44999 {
45000     typedef _mfi::mf5<R, T, B1, B2, B3, B4, B5> F;
45001     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
45002     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
45003 }
45004
45005 template<class R, class T,
45006     class B1, class B2, class B3, class B4, class B5,
45007     class A1, class A2, class A3, class A4, class A5, class A6>
45008     _bi::bind_t<R, _mfi::cmf5<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
45009     bind(R ( T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
45010 {
45011     typedef _mfi::cmf5<R, T, B1, B2, B3, B4, B5> F;
45012     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
45013     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
45014 }
45015
45016
45017
45018 template<class R, class T,
45019     class B1, class B2, class B3, class B4, class B5, class B6,
45020     class A1, class A2, class A3, class A4, class A5, class A6, class A7>
45021     _bi::bind_t<R, _mfi::mf6<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
45022     bind(R ( T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
45023 {
45024     typedef _mfi::mf6<R, T, B1, B2, B3, B4, B5, B6> F;
45025     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
45026     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
45027 }
45028
45029 template<class R, class T,
45030     class B1, class B2, class B3, class B4, class B5, class B6,
45031     class A1, class A2, class A3, class A4, class A5, class A6, class A7>
45032     _bi::bind_t<R, _mfi::cmf6<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
45033     bind(R ( T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
45034 {
45035     typedef _mfi::cmf6<R, T, B1, B2, B3, B4, B5, B6> F;
45036     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
45037     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
45038 }
45039
45040
45041
45042 template<class R, class T,
45043     class B1, class B2, class B3, class B4, class B5, class B6, class B7,
45044     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
45045     _bi::bind_t<R, _mfi::mf7<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
45046     bind(R ( T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
45047 {
45048     typedef _mfi::mf7<R, T, B1, B2, B3, B4, B5, B6, B7> F;
45049     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
45050     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
45051 }
45052
45053 template<class R, class T,
45054     class B1, class B2, class B3, class B4, class B5, class B6, class B7,
45055     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
45056     _bi::bind_t<R, _mfi::cmf7<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
45057     bind(R ( T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
45058 {
45059     typedef _mfi::cmf7<R, T, B1, B2, B3, B4, B5, B6, B7> F;
45060     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
45061     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
45062 }
45063
45064
45065
45066 template<class R, class T,
45067     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
45068     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
45069     _bi::bind_t<R, _mfi::mf8<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
45070     bind(R ( T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
45071 {
45072     typedef _mfi::mf8<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
45073     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
45074     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
45075 }
45076
45077 template<class R, class T,
45078     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
45079     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
45080     _bi::bind_t<R, _mfi::cmf8<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
45081     bind(R ( T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
45082 {
45083     typedef _mfi::cmf8<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
45084     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
45085     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
45086 }
45087 # 1524 "/usr/include/boost/bind.hpp" 2 3 4
45088
45089 #undef BOOST_BIND_MF_NAME
45090 #undef BOOST_BIND_MF_CC
45091 # 1614 "/usr/include/boost/bind.hpp" 3 4
45092 template<class R, class T, class A1>
45093 _bi::bind_t< R, _mfi::dm<R, T>, typename _bi::list_av_1<A1>::type >
45094     bind(R T::*f, A1 a1)
45095 {
45096     typedef _mfi::dm<R, T> F;
45097     typedef typename _bi::list_av_1<A1>::type list_type;
45098     return _bi::bind_t<R, F, list_type>( F(f), list_type(a1) );
45099 }
45100
45101 }
45102
45103
45104
45105 # 1 "/usr/include/boost/bind/placeholders.hpp" 1 3 4
45106
45107 #define BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED 
45108 # 25 "/usr/include/boost/bind/placeholders.hpp" 3 4
45109 namespace
45110 {
45111 # 54 "/usr/include/boost/bind/placeholders.hpp" 3 4
45112 boost::arg<1> _1;
45113 boost::arg<2> _2;
45114 boost::arg<3> _3;
45115 boost::arg<4> _4;
45116 boost::arg<5> _5;
45117 boost::arg<6> _6;
45118 boost::arg<7> _7;
45119 boost::arg<8> _8;
45120 boost::arg<9> _9;
45121
45122
45123
45124 }
45125 # 1628 "/usr/include/boost/bind.hpp" 2 3 4
45126 # 81 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
45127 # 1 "/usr/include/boost/function.hpp" 1 3 4
45128 # 13 "/usr/include/boost/function.hpp" 3 4
45129 # 1 "/usr/include/boost/preprocessor/iterate.hpp" 1 3 4
45130 # 13 "/usr/include/boost/preprocessor/iterate.hpp" 3 4
45131 #define BOOST_PREPROCESSOR_ITERATE_HPP 
45132
45133 # 1 "/usr/include/boost/preprocessor/iteration/iterate.hpp" 1 3 4
45134 # 13 "/usr/include/boost/preprocessor/iteration/iterate.hpp" 3 4
45135 #define BOOST_PREPROCESSOR_ITERATION_ITERATE_HPP 
45136
45137
45138
45139 # 1 "/usr/include/boost/preprocessor/array/elem.hpp" 1 3 4
45140 # 13 "/usr/include/boost/preprocessor/array/elem.hpp" 3 4
45141 #define BOOST_PREPROCESSOR_ARRAY_ELEM_HPP 
45142
45143 # 1 "/usr/include/boost/preprocessor/array/data.hpp" 1 3 4
45144 # 13 "/usr/include/boost/preprocessor/array/data.hpp" 3 4
45145 #define BOOST_PREPROCESSOR_ARRAY_DATA_HPP 
45146
45147
45148
45149
45150
45151
45152
45153 #define BOOST_PP_ARRAY_DATA(array) BOOST_PP_TUPLE_ELEM(2, 1, array)
45154 # 16 "/usr/include/boost/preprocessor/array/elem.hpp" 2 3 4
45155 # 1 "/usr/include/boost/preprocessor/array/size.hpp" 1 3 4
45156 # 13 "/usr/include/boost/preprocessor/array/size.hpp" 3 4
45157 #define BOOST_PREPROCESSOR_ARRAY_SIZE_HPP 
45158
45159
45160
45161
45162
45163
45164
45165 #define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_TUPLE_ELEM(2, 0, array)
45166 # 17 "/usr/include/boost/preprocessor/array/elem.hpp" 2 3 4
45167
45168
45169
45170
45171
45172
45173 #define BOOST_PP_ARRAY_ELEM(i,array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))
45174 # 18 "/usr/include/boost/preprocessor/iteration/iterate.hpp" 2 3 4
45175
45176
45177 # 1 "/usr/include/boost/preprocessor/slot/slot.hpp" 1 3 4
45178 # 13 "/usr/include/boost/preprocessor/slot/slot.hpp" 3 4
45179 #define BOOST_PREPROCESSOR_SLOT_SLOT_HPP 
45180
45181
45182 # 1 "/usr/include/boost/preprocessor/slot/detail/def.hpp" 1 3 4
45183 # 13 "/usr/include/boost/preprocessor/slot/detail/def.hpp" 3 4
45184 #define BOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP 
45185
45186
45187
45188 #define BOOST_PP_SLOT_OFFSET_10(x) (x) % 1000000000UL
45189 #define BOOST_PP_SLOT_OFFSET_9(x) BOOST_PP_SLOT_OFFSET_10(x) % 100000000UL
45190 #define BOOST_PP_SLOT_OFFSET_8(x) BOOST_PP_SLOT_OFFSET_9(x) % 10000000UL
45191 #define BOOST_PP_SLOT_OFFSET_7(x) BOOST_PP_SLOT_OFFSET_8(x) % 1000000UL
45192 #define BOOST_PP_SLOT_OFFSET_6(x) BOOST_PP_SLOT_OFFSET_7(x) % 100000UL
45193 #define BOOST_PP_SLOT_OFFSET_5(x) BOOST_PP_SLOT_OFFSET_6(x) % 10000UL
45194 #define BOOST_PP_SLOT_OFFSET_4(x) BOOST_PP_SLOT_OFFSET_5(x) % 1000UL
45195 #define BOOST_PP_SLOT_OFFSET_3(x) BOOST_PP_SLOT_OFFSET_4(x) % 100UL
45196 #define BOOST_PP_SLOT_OFFSET_2(x) BOOST_PP_SLOT_OFFSET_3(x) % 10UL
45197
45198
45199
45200 #define BOOST_PP_SLOT_CC_2(a,b) BOOST_PP_SLOT_CC_2_D(a, b)
45201 #define BOOST_PP_SLOT_CC_3(a,b,c) BOOST_PP_SLOT_CC_3_D(a, b, c)
45202 #define BOOST_PP_SLOT_CC_4(a,b,c,d) BOOST_PP_SLOT_CC_4_D(a, b, c, d)
45203 #define BOOST_PP_SLOT_CC_5(a,b,c,d,e) BOOST_PP_SLOT_CC_5_D(a, b, c, d, e)
45204 #define BOOST_PP_SLOT_CC_6(a,b,c,d,e,f) BOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f)
45205 #define BOOST_PP_SLOT_CC_7(a,b,c,d,e,f,g) BOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g)
45206 #define BOOST_PP_SLOT_CC_8(a,b,c,d,e,f,g,h) BOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h)
45207 #define BOOST_PP_SLOT_CC_9(a,b,c,d,e,f,g,h,i) BOOST_PP_SLOT_CC_9_D(a, b, c, d, e, f, g, h, i)
45208 #define BOOST_PP_SLOT_CC_10(a,b,c,d,e,f,g,h,i,j) BOOST_PP_SLOT_CC_10_D(a, b, c, d, e, f, g, h, i, j)
45209
45210 #define BOOST_PP_SLOT_CC_2_D(a,b) a ## b
45211 #define BOOST_PP_SLOT_CC_3_D(a,b,c) a ## b ## c
45212 #define BOOST_PP_SLOT_CC_4_D(a,b,c,d) a ## b ## c ## d
45213 #define BOOST_PP_SLOT_CC_5_D(a,b,c,d,e) a ## b ## c ## d ## e
45214 #define BOOST_PP_SLOT_CC_6_D(a,b,c,d,e,f) a ## b ## c ## d ## e ## f
45215 #define BOOST_PP_SLOT_CC_7_D(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g
45216 #define BOOST_PP_SLOT_CC_8_D(a,b,c,d,e,f,g,h) a ## b ## c ## d ## e ## f ## g ## h
45217 #define BOOST_PP_SLOT_CC_9_D(a,b,c,d,e,f,g,h,i) a ## b ## c ## d ## e ## f ## g ## h ## i
45218 #define BOOST_PP_SLOT_CC_10_D(a,b,c,d,e,f,g,h,i,j) a ## b ## c ## d ## e ## f ## g ## h ## i ## j
45219 # 17 "/usr/include/boost/preprocessor/slot/slot.hpp" 2 3 4
45220
45221
45222
45223 #define BOOST_PP_ASSIGN_SLOT(i) BOOST_PP_CAT(BOOST_PP_ASSIGN_SLOT_, i)
45224
45225 #define BOOST_PP_ASSIGN_SLOT_1 <boost/preprocessor/slot/detail/slot1.hpp>
45226 #define BOOST_PP_ASSIGN_SLOT_2 <boost/preprocessor/slot/detail/slot2.hpp>
45227 #define BOOST_PP_ASSIGN_SLOT_3 <boost/preprocessor/slot/detail/slot3.hpp>
45228 #define BOOST_PP_ASSIGN_SLOT_4 <boost/preprocessor/slot/detail/slot4.hpp>
45229 #define BOOST_PP_ASSIGN_SLOT_5 <boost/preprocessor/slot/detail/slot5.hpp>
45230
45231
45232
45233 #define BOOST_PP_SLOT(i) BOOST_PP_CAT(BOOST_PP_SLOT_, i)()
45234 # 21 "/usr/include/boost/preprocessor/iteration/iterate.hpp" 2 3 4
45235
45236
45237
45238
45239 #define BOOST_PP_ITERATION_DEPTH() 0
45240
45241
45242
45243 #define BOOST_PP_ITERATION() BOOST_PP_CAT(BOOST_PP_ITERATION_, BOOST_PP_ITERATION_DEPTH())
45244
45245
45246
45247 #define BOOST_PP_ITERATION_START() BOOST_PP_CAT(BOOST_PP_ITERATION_START_, BOOST_PP_ITERATION_DEPTH())
45248 #define BOOST_PP_ITERATION_FINISH() BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, BOOST_PP_ITERATION_DEPTH())
45249
45250
45251
45252 #define BOOST_PP_ITERATION_FLAGS() (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, BOOST_PP_ITERATION_DEPTH()))
45253
45254
45255
45256 #define BOOST_PP_FRAME_ITERATION(i) BOOST_PP_CAT(BOOST_PP_ITERATION_, i)
45257
45258
45259
45260 #define BOOST_PP_FRAME_START(i) BOOST_PP_CAT(BOOST_PP_ITERATION_START_, i)
45261 #define BOOST_PP_FRAME_FINISH(i) BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, i)
45262
45263
45264
45265 #define BOOST_PP_FRAME_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, i))
45266
45267
45268
45269 #define BOOST_PP_RELATIVE_ITERATION(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_)
45270
45271 #define BOOST_PP_RELATIVE_0(m) BOOST_PP_CAT(m, BOOST_PP_ITERATION_DEPTH())
45272 #define BOOST_PP_RELATIVE_1(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))
45273 #define BOOST_PP_RELATIVE_2(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))
45274 #define BOOST_PP_RELATIVE_3(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))))
45275 #define BOOST_PP_RELATIVE_4(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))))
45276
45277
45278
45279 #define BOOST_PP_RELATIVE_START(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_START_)
45280 #define BOOST_PP_RELATIVE_FINISH(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FINISH_)
45281
45282
45283
45284 #define BOOST_PP_RELATIVE_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FLAGS_))
45285
45286
45287
45288 #define BOOST_PP_ITERATE() BOOST_PP_CAT(BOOST_PP_ITERATE_, BOOST_PP_INC(BOOST_PP_ITERATION_DEPTH()))
45289
45290 #define BOOST_PP_ITERATE_1 <boost/preprocessor/iteration/detail/iter/forward1.hpp>
45291 #define BOOST_PP_ITERATE_2 <boost/preprocessor/iteration/detail/iter/forward2.hpp>
45292 #define BOOST_PP_ITERATE_3 <boost/preprocessor/iteration/detail/iter/forward3.hpp>
45293 #define BOOST_PP_ITERATE_4 <boost/preprocessor/iteration/detail/iter/forward4.hpp>
45294 #define BOOST_PP_ITERATE_5 <boost/preprocessor/iteration/detail/iter/forward5.hpp>
45295 # 16 "/usr/include/boost/preprocessor/iterate.hpp" 2 3 4
45296 # 14 "/usr/include/boost/function.hpp" 2 3 4
45297
45298
45299
45300 #define BOOST_FUNCTION_MAX_ARGS 10
45301
45302
45303
45304
45305 # 1 "/usr/include/boost/function/detail/prologue.hpp" 1 3 4
45306 # 11 "/usr/include/boost/function/detail/prologue.hpp" 3 4
45307 #define BOOST_FUNCTION_PROLOGUE_HPP 
45308 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 1 3 4
45309 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3 4
45310        
45311 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
45312 #pragma GCC visibility push(default)
45313
45314 # 1 "/usr/include/assert.h" 1 3 4
45315 # 25 "/usr/include/assert.h" 3 4
45316 #undef _ASSERT_H
45317 #undef assert
45318 #undef __ASSERT_VOID_CAST
45319
45320
45321 #undef assert_perror
45322
45323
45324
45325
45326 #define _ASSERT_H 1
45327
45328
45329
45330 #define __ASSERT_VOID_CAST static_cast<void>
45331 # 65 "/usr/include/assert.h" 3 4
45332 extern "C" {
45333
45334
45335 extern void __assert_fail (__const char *__assertion, __const char *__file,
45336       unsigned int __line, __const char *__function)
45337      throw () __attribute__ ((__noreturn__));
45338
45339
45340 extern void __assert_perror_fail (int __errnum, __const char *__file,
45341       unsigned int __line,
45342       __const char *__function)
45343      throw () __attribute__ ((__noreturn__));
45344
45345
45346
45347
45348 extern void __assert (const char *__assertion, const char *__file, int __line)
45349      throw () __attribute__ ((__noreturn__));
45350
45351
45352 }
45353
45354 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
45355
45356
45357
45358
45359
45360 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
45361 # 105 "/usr/include/assert.h" 3 4
45362 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
45363 # 51 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 2 3
45364
45365 #pragma GCC visibility pop
45366 # 13 "/usr/include/boost/function/detail/prologue.hpp" 2 3 4
45367
45368 # 1 "/usr/include/boost/throw_exception.hpp" 1 3 4
45369
45370 #define BOOST_THROW_EXCEPTION_HPP_INCLUDED 
45371 # 28 "/usr/include/boost/throw_exception.hpp" 3 4
45372 namespace boost
45373 {
45374
45375
45376
45377
45378
45379
45380
45381 template<class E> inline void throw_exception(E const & e)
45382 {
45383     throw e;
45384 }
45385
45386
45387
45388 }
45389 # 15 "/usr/include/boost/function/detail/prologue.hpp" 2 3 4
45390
45391 # 1 "/usr/include/boost/function/function_base.hpp" 1 3 4
45392 # 11 "/usr/include/boost/function/function_base.hpp" 3 4
45393 #define BOOST_FUNCTION_BASE_HEADER 
45394
45395 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/stdexcept" 1 3 4
45396 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/stdexcept" 3 4
45397 #define _GLIBCXX_STDEXCEPT 1
45398
45399        
45400 # 42 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/stdexcept" 3
45401 #pragma GCC visibility push(default)
45402
45403
45404
45405
45406 namespace std
45407 {
45408
45409
45410
45411
45412
45413   class logic_error : public exception
45414   {
45415     string _M_msg;
45416
45417   public:
45418
45419     explicit
45420     logic_error(const string& __arg);
45421
45422     virtual
45423     ~logic_error() throw();
45424
45425
45426
45427     virtual const char*
45428     what() const throw();
45429   };
45430
45431
45432
45433   class domain_error : public logic_error
45434   {
45435   public:
45436     explicit domain_error(const string& __arg);
45437   };
45438
45439
45440   class invalid_argument : public logic_error
45441   {
45442   public:
45443     explicit invalid_argument(const string& __arg);
45444   };
45445
45446
45447
45448   class length_error : public logic_error
45449   {
45450   public:
45451     explicit length_error(const string& __arg);
45452   };
45453
45454
45455
45456   class out_of_range : public logic_error
45457   {
45458   public:
45459     explicit out_of_range(const string& __arg);
45460   };
45461
45462
45463
45464
45465
45466
45467   class runtime_error : public exception
45468   {
45469     string _M_msg;
45470
45471   public:
45472
45473     explicit
45474     runtime_error(const string& __arg);
45475
45476     virtual
45477     ~runtime_error() throw();
45478
45479
45480
45481     virtual const char*
45482     what() const throw();
45483   };
45484
45485
45486   class range_error : public runtime_error
45487   {
45488   public:
45489     explicit range_error(const string& __arg);
45490   };
45491
45492
45493   class overflow_error : public runtime_error
45494   {
45495   public:
45496     explicit overflow_error(const string& __arg);
45497   };
45498
45499
45500   class underflow_error : public runtime_error
45501   {
45502   public:
45503     explicit underflow_error(const string& __arg);
45504   };
45505 }
45506
45507 #pragma GCC visibility pop
45508 # 14 "/usr/include/boost/function/function_base.hpp" 2 3 4
45509
45510
45511
45512
45513
45514 # 1 "/usr/include/boost/assert.hpp" 1 3 4
45515 # 15 "/usr/include/boost/assert.hpp" 3 4
45516 #undef BOOST_ASSERT
45517 # 35 "/usr/include/boost/assert.hpp" 3 4
45518 # 1 "/usr/include/assert.h" 1 3 4
45519 # 25 "/usr/include/assert.h" 3 4
45520 #undef _ASSERT_H
45521 #undef assert
45522 #undef __ASSERT_VOID_CAST
45523
45524
45525 #undef assert_perror
45526
45527
45528
45529
45530 #define _ASSERT_H 1
45531
45532
45533
45534 #define __ASSERT_VOID_CAST static_cast<void>
45535 # 65 "/usr/include/assert.h" 3 4
45536 extern "C" {
45537
45538
45539 extern void __assert_fail (__const char *__assertion, __const char *__file,
45540       unsigned int __line, __const char *__function)
45541      throw () __attribute__ ((__noreturn__));
45542
45543
45544 extern void __assert_perror_fail (int __errnum, __const char *__file,
45545       unsigned int __line,
45546       __const char *__function)
45547      throw () __attribute__ ((__noreturn__));
45548
45549
45550
45551
45552 extern void __assert (const char *__assertion, const char *__file, int __line)
45553      throw () __attribute__ ((__noreturn__));
45554
45555
45556 }
45557
45558 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
45559
45560
45561
45562
45563
45564 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
45565 # 105 "/usr/include/assert.h" 3 4
45566 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
45567 # 36 "/usr/include/boost/assert.hpp" 2 3 4
45568 #define BOOST_ASSERT(expr) assert(expr)
45569 # 20 "/usr/include/boost/function/function_base.hpp" 2 3 4
45570 # 1 "/usr/include/boost/type_traits/is_integral.hpp" 1 3 4
45571 # 21 "/usr/include/boost/function/function_base.hpp" 2 3 4
45572 # 1 "/usr/include/boost/type_traits/composite_traits.hpp" 1 3 4
45573 # 14 "/usr/include/boost/type_traits/composite_traits.hpp" 3 4
45574 #define BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED 
45575 # 22 "/usr/include/boost/function/function_base.hpp" 2 3 4
45576 # 1 "/usr/include/boost/type_traits/is_stateless.hpp" 1 3 4
45577 # 23 "/usr/include/boost/function/function_base.hpp" 2 3 4
45578
45579 # 1 "/usr/include/boost/pending/ct_if.hpp" 1 3 4
45580 # 11 "/usr/include/boost/pending/ct_if.hpp" 3 4
45581 #define BOOST_CT_IF_HPP 
45582 # 24 "/usr/include/boost/pending/ct_if.hpp" 3 4
45583 namespace boost {
45584
45585   struct ct_if_error { };
45586
45587   template <class A, class B>
45588   struct ct_and { typedef false_type type; };
45589   template <> struct ct_and<true_type,true_type> { typedef true_type type; };
45590
45591   template <class A> struct ct_not { typedef ct_if_error type; };
45592   template <> struct ct_not<true_type> { typedef false_type type; };
45593   template <> struct ct_not<false_type> { typedef true_type type; };
45594 # 43 "/usr/include/boost/pending/ct_if.hpp" 3 4
45595   template <bool cond, class A, class B>
45596   struct ct_if { typedef ct_if_error type; };
45597   template <class A, class B>
45598   struct ct_if<true, A, B> { typedef A type; };
45599   template <class A, class B>
45600   struct ct_if<false, A, B> { typedef B type; };
45601
45602
45603
45604
45605
45606
45607
45608   template <class cond, class A, class B>
45609   struct ct_if_t { typedef ct_if_error type; };
45610   template <class A, class B>
45611   struct ct_if_t<true_type, A, B> { typedef A type; };
45612   template <class A, class B>
45613   struct ct_if_t<false_type, A, B> { typedef B type; };
45614 # 108 "/usr/include/boost/pending/ct_if.hpp" 3 4
45615 }
45616 # 25 "/usr/include/boost/function/function_base.hpp" 2 3 4
45617
45618
45619 # 1 "/usr/include/boost/utility/enable_if.hpp" 1 3 4
45620 # 15 "/usr/include/boost/utility/enable_if.hpp" 3 4
45621 #define BOOST_UTILITY_ENABLE_IF_HPP 
45622 # 24 "/usr/include/boost/utility/enable_if.hpp" 3 4
45623 namespace boost
45624 {
45625
45626   template <bool B, class T = void>
45627   struct enable_if_c {
45628     typedef T type;
45629   };
45630
45631   template <class T>
45632   struct enable_if_c<false, T> {};
45633
45634   template <class Cond, class T = void>
45635   struct enable_if : public enable_if_c<Cond::value, T> {};
45636
45637   template <bool B, class T>
45638   struct lazy_enable_if_c {
45639     typedef typename T::type type;
45640   };
45641
45642   template <class T>
45643   struct lazy_enable_if_c<false, T> {};
45644
45645   template <class Cond, class T>
45646   struct lazy_enable_if : public lazy_enable_if_c<Cond::value, T> {};
45647
45648
45649   template <bool B, class T = void>
45650   struct disable_if_c {
45651     typedef T type;
45652   };
45653
45654   template <class T>
45655   struct disable_if_c<true, T> {};
45656
45657   template <class Cond, class T = void>
45658   struct disable_if : public disable_if_c<Cond::value, T> {};
45659
45660   template <bool B, class T>
45661   struct lazy_disable_if_c {
45662     typedef typename T::type type;
45663   };
45664
45665   template <class T>
45666   struct lazy_disable_if_c<true, T> {};
45667
45668   template <class Cond, class T>
45669   struct lazy_disable_if : public lazy_disable_if_c<Cond::value, T> {};
45670
45671 }
45672 # 28 "/usr/include/boost/function/function_base.hpp" 2 3 4
45673
45674
45675
45676 # 1 "/usr/include/boost/function_equal.hpp" 1 3 4
45677 # 11 "/usr/include/boost/function_equal.hpp" 3 4
45678 #define BOOST_FUNCTION_EQUAL_HPP 
45679
45680 namespace boost {
45681
45682 template<typename F, typename G>
45683   bool function_equal_impl(const F& f, const G& g, long)
45684   { return f == g; }
45685
45686
45687
45688
45689 template<typename F, typename G>
45690   bool function_equal(const F& f, const G& g)
45691   { return function_equal_impl(f, g, 0); }
45692
45693 }
45694 # 32 "/usr/include/boost/function/function_base.hpp" 2 3 4
45695
45696
45697
45698
45699
45700
45701
45702 #define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) (std::strcmp((X).name(),(Y).name()) == 0)
45703 # 48 "/usr/include/boost/function/function_base.hpp" 3 4
45704 #define BOOST_FUNCTION_TARGET_FIX(x) 
45705 # 67 "/usr/include/boost/function/function_base.hpp" 3 4
45706 #define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral<Functor>::value)>::value), Type>::type
45707 # 81 "/usr/include/boost/function/function_base.hpp" 3 4
45708 namespace boost {
45709 # 91 "/usr/include/boost/function/function_base.hpp" 3 4
45710 template<typename Signature, typename Allocator = std::allocator<void> >
45711 class function;
45712
45713
45714 template<typename Signature, typename Allocator>
45715 inline void swap(function<Signature, Allocator>& f1,
45716                  function<Signature, Allocator>& f2)
45717 {
45718   f1.swap(f2);
45719 }
45720
45721 }
45722
45723
45724 namespace boost {
45725   namespace detail {
45726     namespace function {
45727
45728
45729
45730
45731
45732
45733
45734       union any_pointer
45735       {
45736         void* obj_ptr;
45737         const void* const_obj_ptr;
45738         void (*func_ptr)();
45739         char data[1];
45740       };
45741
45742       inline any_pointer make_any_pointer(void* o)
45743       {
45744         any_pointer p;
45745         p.obj_ptr = o;
45746         return p;
45747       }
45748
45749       inline any_pointer make_any_pointer(const void* o)
45750       {
45751         any_pointer p;
45752         p.const_obj_ptr = o;
45753         return p;
45754       }
45755
45756       inline any_pointer make_any_pointer(void (*f)())
45757       {
45758         any_pointer p;
45759         p.func_ptr = f;
45760         return p;
45761       }
45762
45763
45764
45765
45766
45767
45768
45769       struct unusable
45770       {
45771         unusable() {}
45772         template<typename T> unusable(const T&) {}
45773       };
45774
45775
45776
45777
45778
45779       template<typename T> struct function_return_type { typedef T type; };
45780
45781       template<>
45782       struct function_return_type<void>
45783       {
45784         typedef unusable type;
45785       };
45786
45787
45788       enum functor_manager_operation_type {
45789         clone_functor_tag,
45790         destroy_functor_tag,
45791         check_functor_type_tag
45792       };
45793
45794
45795       struct function_ptr_tag {};
45796       struct function_obj_tag {};
45797       struct member_ptr_tag {};
45798       struct function_obj_ref_tag {};
45799       struct stateless_function_obj_tag {};
45800
45801       template<typename F>
45802       class get_function_tag
45803       {
45804         typedef typename ct_if<(is_pointer<F>::value),
45805                             function_ptr_tag,
45806                             function_obj_tag>::type ptr_or_obj_tag;
45807
45808         typedef typename ct_if<(is_member_pointer<F>::value),
45809                             member_ptr_tag,
45810                             ptr_or_obj_tag>::type ptr_or_obj_or_mem_tag;
45811
45812         typedef typename ct_if<(is_reference_wrapper<F>::value),
45813                              function_obj_ref_tag,
45814                              ptr_or_obj_or_mem_tag>::type or_ref_tag;
45815
45816       public:
45817         typedef typename ct_if<(is_stateless<F>::value),
45818                             stateless_function_obj_tag,
45819                             or_ref_tag>::type type;
45820       };
45821
45822
45823
45824       template<typename F>
45825       struct trivial_manager
45826       {
45827         static inline any_pointer
45828         get(any_pointer f, functor_manager_operation_type op)
45829         {
45830           switch (op) {
45831           case clone_functor_tag: return f;
45832
45833           case destroy_functor_tag:
45834             return make_any_pointer(reinterpret_cast<void*>(0));
45835
45836           case check_functor_type_tag:
45837             {
45838               std::type_info* t = static_cast<std::type_info*>(f.obj_ptr);
45839               return (std::strcmp((typeid(F)).name(),(*t).name()) == 0)?
45840                 f
45841                 : make_any_pointer(reinterpret_cast<void*>(0));
45842             }
45843           }
45844
45845
45846           return make_any_pointer(reinterpret_cast<void*>(0));
45847         }
45848       };
45849
45850
45851
45852
45853
45854       template<typename Functor, typename Allocator>
45855       struct functor_manager
45856       {
45857       private:
45858         typedef Functor functor_type;
45859
45860
45861         static inline any_pointer
45862         manager(any_pointer function_ptr,
45863                 functor_manager_operation_type op,
45864                 function_ptr_tag)
45865         {
45866           if (op == clone_functor_tag)
45867             return function_ptr;
45868           else
45869             return make_any_pointer(static_cast<void (*)()>(0));
45870         }
45871
45872
45873
45874         static inline any_pointer
45875         manager(any_pointer function_obj_ptr,
45876                 functor_manager_operation_type op,
45877                 function_obj_tag)
45878         {
45879
45880         typedef typename Allocator::template rebind<functor_type>::other
45881           allocator_type;
45882         typedef typename allocator_type::pointer pointer_type;
45883
45884
45885
45886
45887
45888           allocator_type allocator;
45889
45890
45891           if (op == clone_functor_tag) {
45892             functor_type* f =
45893               static_cast<functor_type*>(function_obj_ptr.obj_ptr);
45894
45895
45896
45897             pointer_type copy = allocator.allocate(1);
45898             allocator.construct(copy, *f);
45899
45900
45901             functor_type* new_f = static_cast<functor_type*>(copy);
45902
45903
45904
45905             return make_any_pointer(static_cast<void*>(new_f));
45906           }
45907           else {
45908
45909             functor_type* f =
45910               reinterpret_cast<functor_type*>(function_obj_ptr.obj_ptr);
45911
45912
45913
45914
45915             pointer_type victim = static_cast<pointer_type>(f);
45916
45917
45918             allocator.destroy(victim);
45919             allocator.deallocate(victim, 1);
45920
45921
45922
45923
45924             return make_any_pointer(static_cast<void*>(0));
45925           }
45926         }
45927       public:
45928
45929
45930         static any_pointer
45931         manage(any_pointer functor_ptr, functor_manager_operation_type op)
45932         {
45933           if (op == check_functor_type_tag) {
45934             std::type_info* type =
45935               static_cast<std::type_info*>(functor_ptr.obj_ptr);
45936             return ((std::strcmp((typeid(Functor)).name(),(*type).name()) == 0)?
45937                     functor_ptr
45938                     : make_any_pointer(reinterpret_cast<void*>(0)));
45939           }
45940           else {
45941             typedef typename get_function_tag<functor_type>::type tag_type;
45942             return manager(functor_ptr, op, tag_type());
45943           }
45944         }
45945       };
45946
45947
45948       struct useless_clear_type {};
45949 # 389 "/usr/include/boost/function/function_base.hpp" 3 4
45950     }
45951   }
45952
45953
45954
45955
45956
45957
45958
45959 class function_base
45960 {
45961 public:
45962   function_base() : manager(0)
45963   {
45964     functor.obj_ptr = 0;
45965   }
45966
45967
45968   bool empty() const { return !manager; }
45969
45970   template<typename Functor>
45971     Functor* target()
45972     {
45973       if (!manager) return 0;
45974
45975       detail::function::any_pointer result =
45976         manager(detail::function::make_any_pointer(&typeid(Functor)),
45977                 detail::function::check_functor_type_tag);
45978       if (!result.obj_ptr) return 0;
45979       else {
45980         typedef typename detail::function::get_function_tag<Functor>::type tag;
45981         return get_functor_pointer<Functor>(tag(), 0);
45982       }
45983     }
45984
45985   template<typename Functor>
45986
45987
45988
45989
45990     const Functor* target() const
45991
45992     {
45993       if (!manager) return 0;
45994
45995       detail::function::any_pointer result =
45996         manager(detail::function::make_any_pointer(&typeid(Functor)),
45997                 detail::function::check_functor_type_tag);
45998       if (!result.obj_ptr) return 0;
45999       else {
46000         typedef typename detail::function::get_function_tag<Functor>::type tag;
46001
46002
46003
46004
46005         return get_functor_pointer<Functor>(tag(), 0);
46006
46007       }
46008     }
46009
46010   template<typename F>
46011     bool contains(const F& f) const
46012     {
46013
46014
46015
46016       if (const F* fp = this->template target<F>()) {
46017
46018         return function_equal(*fp, f);
46019       } else {
46020         return false;
46021       }
46022     }
46023 # 486 "/usr/include/boost/function/function_base.hpp" 3 4
46024 public:
46025   detail::function::any_pointer (*manager)(
46026     detail::function::any_pointer,
46027     detail::function::functor_manager_operation_type);
46028   detail::function::any_pointer functor;
46029
46030 private:
46031   template<typename Functor>
46032
46033
46034
46035     Functor* get_functor_pointer(detail::function::function_ptr_tag, int)
46036
46037     { return reinterpret_cast<Functor*>(&functor.func_ptr); }
46038
46039   template<typename Functor, typename Tag>
46040
46041
46042
46043     Functor* get_functor_pointer(Tag, long)
46044
46045     { return static_cast<Functor*>(functor.obj_ptr); }
46046
46047   template<typename Functor>
46048     const Functor*
46049
46050
46051
46052     get_functor_pointer(detail::function::function_ptr_tag, int) const
46053
46054     { return reinterpret_cast<const Functor*>(&functor.func_ptr); }
46055
46056   template<typename Functor, typename Tag>
46057
46058
46059
46060     const Functor* get_functor_pointer(Tag, long) const
46061
46062     { return static_cast<const Functor*>(functor.const_obj_ptr); }
46063 };
46064
46065
46066
46067
46068
46069 class bad_function_call : public std::runtime_error
46070 {
46071 public:
46072   bad_function_call() : std::runtime_error("call to empty boost::function") {}
46073 };
46074
46075
46076 inline bool operator==(const function_base& f,
46077                        detail::function::useless_clear_type*)
46078 {
46079   return f.empty();
46080 }
46081
46082 inline bool operator!=(const function_base& f,
46083                        detail::function::useless_clear_type*)
46084 {
46085   return !f.empty();
46086 }
46087
46088 inline bool operator==(detail::function::useless_clear_type*,
46089                        const function_base& f)
46090 {
46091   return f.empty();
46092 }
46093
46094 inline bool operator!=(detail::function::useless_clear_type*,
46095                        const function_base& f)
46096 {
46097   return !f.empty();
46098 }
46099 # 598 "/usr/include/boost/function/function_base.hpp" 3 4
46100 template<typename Functor>
46101   typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral<Functor>::value)>::value), bool>::type
46102   operator==(const function_base& f, Functor g)
46103   {
46104     if (const Functor* fp = f.template target<Functor>())
46105       return function_equal(*fp, g);
46106     else return false;
46107   }
46108
46109 template<typename Functor>
46110   typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral<Functor>::value)>::value), bool>::type
46111   operator==(Functor g, const function_base& f)
46112   {
46113     if (const Functor* fp = f.template target<Functor>())
46114       return function_equal(g, *fp);
46115     else return false;
46116   }
46117
46118 template<typename Functor>
46119   typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral<Functor>::value)>::value), bool>::type
46120   operator!=(const function_base& f, Functor g)
46121   {
46122     if (const Functor* fp = f.template target<Functor>())
46123       return !function_equal(*fp, g);
46124     else return true;
46125   }
46126
46127 template<typename Functor>
46128   typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral<Functor>::value)>::value), bool>::type
46129   operator!=(Functor g, const function_base& f)
46130   {
46131     if (const Functor* fp = f.template target<Functor>())
46132       return !function_equal(g, *fp);
46133     else return true;
46134   }
46135
46136
46137 template<typename Functor>
46138   typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral<Functor>::value)>::value), bool>::type
46139   operator==(const function_base& f, reference_wrapper<Functor> g)
46140   {
46141     if (const Functor* fp = f.template target<Functor>())
46142       return fp == g.get_pointer();
46143     else return false;
46144   }
46145
46146 template<typename Functor>
46147   typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral<Functor>::value)>::value), bool>::type
46148   operator==(reference_wrapper<Functor> g, const function_base& f)
46149   {
46150     if (const Functor* fp = f.template target<Functor>())
46151       return g.get_pointer() == fp;
46152     else return false;
46153   }
46154
46155 template<typename Functor>
46156   typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral<Functor>::value)>::value), bool>::type
46157   operator!=(const function_base& f, reference_wrapper<Functor> g)
46158   {
46159     if (const Functor* fp = f.template target<Functor>())
46160       return fp != g.get_pointer();
46161     else return true;
46162   }
46163
46164 template<typename Functor>
46165   typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral<Functor>::value)>::value), bool>::type
46166   operator!=(reference_wrapper<Functor> g, const function_base& f)
46167   {
46168     if (const Functor* fp = f.template target<Functor>())
46169       return g.get_pointer() != fp;
46170     else return true;
46171   }
46172
46173
46174
46175 namespace detail {
46176   namespace function {
46177     inline bool has_empty_target(const function_base* f)
46178     {
46179       return f->empty();
46180     }
46181
46182
46183
46184
46185
46186
46187
46188     inline bool has_empty_target(...)
46189     {
46190       return false;
46191     }
46192
46193   }
46194 }
46195 }
46196
46197 #undef BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL
46198 #undef BOOST_FUNCTION_COMPARE_TYPE_ID
46199 # 17 "/usr/include/boost/function/detail/prologue.hpp" 2 3 4
46200
46201
46202 # 1 "/usr/include/boost/preprocessor/enum.hpp" 1 3 4
46203 # 13 "/usr/include/boost/preprocessor/enum.hpp" 3 4
46204 #define BOOST_PREPROCESSOR_ENUM_HPP 
46205
46206 # 1 "/usr/include/boost/preprocessor/repetition/enum.hpp" 1 3 4
46207 # 15 "/usr/include/boost/preprocessor/repetition/enum.hpp" 3 4
46208 #define BOOST_PREPROCESSOR_REPETITION_ENUM_HPP 
46209
46210
46211
46212
46213 # 1 "/usr/include/boost/preprocessor/detail/auto_rec.hpp" 1 3 4
46214 # 21 "/usr/include/boost/preprocessor/repetition/enum.hpp" 2 3 4
46215 # 32 "/usr/include/boost/preprocessor/repetition/enum.hpp" 3 4
46216 #define BOOST_PP_ENUM BOOST_PP_CAT(BOOST_PP_ENUM_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
46217
46218
46219 #define BOOST_PP_ENUM_1(c,m,d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d))
46220 #define BOOST_PP_ENUM_2(c,m,d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_M_2, (m, d))
46221 #define BOOST_PP_ENUM_3(c,m,d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_M_3, (m, d))
46222 # 47 "/usr/include/boost/preprocessor/repetition/enum.hpp" 3 4
46223 #define BOOST_PP_ENUM_4(c,m,d) BOOST_PP_ERROR(0x0003)
46224
46225
46226 #define BOOST_PP_ENUM_M_1(z,n,md) BOOST_PP_ENUM_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
46227 #define BOOST_PP_ENUM_M_2(z,n,md) BOOST_PP_ENUM_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
46228 #define BOOST_PP_ENUM_M_3(z,n,md) BOOST_PP_ENUM_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
46229 #define BOOST_PP_ENUM_M_1_IM(z,n,im) BOOST_PP_ENUM_M_1_I(z, n, im)
46230 #define BOOST_PP_ENUM_M_2_IM(z,n,im) BOOST_PP_ENUM_M_2_I(z, n, im)
46231 #define BOOST_PP_ENUM_M_3_IM(z,n,im) BOOST_PP_ENUM_M_3_I(z, n, im)
46232
46233
46234
46235
46236
46237
46238 #define BOOST_PP_ENUM_M_1_I(z,n,m,d) BOOST_PP_COMMA_IF(n) m(z, n, d)
46239 #define BOOST_PP_ENUM_M_2_I(z,n,m,d) BOOST_PP_COMMA_IF(n) m(z, n, d)
46240 #define BOOST_PP_ENUM_M_3_I(z,n,m,d) BOOST_PP_COMMA_IF(n) m(z, n, d)
46241 # 16 "/usr/include/boost/preprocessor/enum.hpp" 2 3 4
46242 # 20 "/usr/include/boost/function/detail/prologue.hpp" 2 3 4
46243 # 1 "/usr/include/boost/preprocessor/enum_params.hpp" 1 3 4
46244 # 13 "/usr/include/boost/preprocessor/enum_params.hpp" 3 4
46245 #define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP 
46246
46247 # 1 "/usr/include/boost/preprocessor/repetition/enum_params.hpp" 1 3 4
46248 # 15 "/usr/include/boost/preprocessor/repetition/enum_params.hpp" 3 4
46249 #define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP 
46250 # 24 "/usr/include/boost/preprocessor/repetition/enum_params.hpp" 3 4
46251 #define BOOST_PP_ENUM_PARAMS(count,param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)
46252
46253
46254
46255
46256
46257 #define BOOST_PP_ENUM_PARAMS_M(z,n,param) BOOST_PP_COMMA_IF(n) param ## n
46258
46259
46260
46261
46262 #define BOOST_PP_ENUM_PARAMS_Z(z,count,param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param)
46263 # 16 "/usr/include/boost/preprocessor/enum_params.hpp" 2 3 4
46264 # 21 "/usr/include/boost/function/detail/prologue.hpp" 2 3 4
46265 # 23 "/usr/include/boost/function.hpp" 2 3 4
46266 # 61 "/usr/include/boost/function.hpp" 3 4
46267 #define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
46268 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
46269 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
46270 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
46271 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
46272 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
46273 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
46274 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46275 #undef BOOST_PP_SLOT_TEMP_1
46276 #undef BOOST_PP_SLOT_TEMP_2
46277 #undef BOOST_PP_SLOT_TEMP_3
46278 #undef BOOST_PP_SLOT_TEMP_4
46279 #undef BOOST_PP_SLOT_TEMP_5
46280 #undef BOOST_PP_SLOT_TEMP_6
46281 #undef BOOST_PP_SLOT_TEMP_7
46282 #undef BOOST_PP_SLOT_TEMP_8
46283 #undef BOOST_PP_SLOT_TEMP_9
46284 #undef BOOST_PP_SLOT_TEMP_10
46285
46286
46287 #define BOOST_PP_SLOT_TEMP_10 0
46288 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46289 #define BOOST_PP_SLOT_TEMP_9 0
46290 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46291 #define BOOST_PP_SLOT_TEMP_8 0
46292 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46293 #define BOOST_PP_SLOT_TEMP_7 0
46294 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46295 #define BOOST_PP_SLOT_TEMP_6 0
46296 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46297 #define BOOST_PP_SLOT_TEMP_5 0
46298 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46299 #define BOOST_PP_SLOT_TEMP_4 0
46300 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46301 #define BOOST_PP_SLOT_TEMP_3 0
46302 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46303 #define BOOST_PP_SLOT_TEMP_2 0
46304 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46305 #define BOOST_PP_SLOT_TEMP_1 0
46306 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46307 #undef BOOST_PP_VALUE
46308 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
46309
46310 #undef BOOST_PP_ITERATION_START_1
46311
46312 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
46313 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
46314 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
46315 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
46316 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
46317 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
46318 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
46319 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
46320 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
46321 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
46322
46323
46324 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
46325 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
46326 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
46327 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
46328 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
46329 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
46330 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
46331 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
46332 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
46333 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
46334 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
46335 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
46336 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46337 #undef BOOST_PP_SLOT_TEMP_1
46338 #undef BOOST_PP_SLOT_TEMP_2
46339 #undef BOOST_PP_SLOT_TEMP_3
46340 #undef BOOST_PP_SLOT_TEMP_4
46341 #undef BOOST_PP_SLOT_TEMP_5
46342 #undef BOOST_PP_SLOT_TEMP_6
46343 #undef BOOST_PP_SLOT_TEMP_7
46344 #undef BOOST_PP_SLOT_TEMP_8
46345 #undef BOOST_PP_SLOT_TEMP_9
46346 #undef BOOST_PP_SLOT_TEMP_10
46347
46348
46349 #define BOOST_PP_SLOT_TEMP_10 0
46350 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46351 #define BOOST_PP_SLOT_TEMP_9 0
46352 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46353 #define BOOST_PP_SLOT_TEMP_8 0
46354 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46355 #define BOOST_PP_SLOT_TEMP_7 0
46356 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46357 #define BOOST_PP_SLOT_TEMP_6 0
46358 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46359 #define BOOST_PP_SLOT_TEMP_5 0
46360 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46361 #define BOOST_PP_SLOT_TEMP_4 0
46362 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46363 #define BOOST_PP_SLOT_TEMP_3 0
46364 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46365 #define BOOST_PP_SLOT_TEMP_2 1
46366 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46367 #define BOOST_PP_SLOT_TEMP_1 0
46368 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
46369 #undef BOOST_PP_VALUE
46370 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
46371
46372 #undef BOOST_PP_ITERATION_FINISH_1
46373
46374 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
46375 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
46376 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
46377 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
46378 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
46379 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
46380 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
46381 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
46382 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
46383 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
46384
46385
46386 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
46387 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
46388 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
46389 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
46390 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
46391 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
46392 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
46393 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
46394 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
46395
46396
46397
46398 #define BOOST_PP_ITERATION_FLAGS_1 0
46399
46400
46401
46402
46403
46404 #undef BOOST_PP_ITERATION_DEPTH
46405 #define BOOST_PP_ITERATION_DEPTH() 1
46406
46407 #define BOOST_PP_IS_ITERATING 1
46408
46409
46410
46411
46412
46413 #define BOOST_PP_ITERATION_1 0
46414 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
46415 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
46416 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
46417 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
46418 # 12 "/usr/include/boost/function/detail/maybe_include.hpp" 3 4
46419 #define BOOST_FUNCTION_0 
46420 # 1 "/usr/include/boost/function/function_template.hpp" 1 3 4
46421 # 14 "/usr/include/boost/function/function_template.hpp" 3 4
46422 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
46423
46424 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
46425
46426 #define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
46427
46428 #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
46429
46430 #define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
46431
46432 #define BOOST_FUNCTION_ARG_TYPE(J,I,D) typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(arg, BOOST_PP_CAT(BOOST_PP_INC(I),_type));
46433
46434
46435 #define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
46436
46437
46438
46439 #define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
46440
46441
46442
46443
46444
46445
46446 #define BOOST_FUNCTION_COMMA 
46447
46448
46449
46450
46451
46452 #define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
46453 #define BOOST_FUNCTION_FUNCTION_INVOKER BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
46454
46455 #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
46456
46457 #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
46458
46459 #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
46460
46461 #define BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
46462
46463 #define BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
46464
46465 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
46466
46467 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
46468
46469 #define BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
46470
46471
46472
46473 #define BOOST_FUNCTION_VOID_RETURN_TYPE void
46474 #define BOOST_FUNCTION_RETURN(X) X
46475
46476
46477
46478
46479
46480 namespace boost {
46481   namespace detail {
46482     namespace function {
46483       template<
46484         typename FunctionPtr,
46485         typename R
46486        
46487         >
46488       struct function_invoker0
46489       {
46490         static R invoke(any_pointer function_ptr
46491                         )
46492         {
46493           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
46494           return f();
46495         }
46496       };
46497
46498       template<
46499         typename FunctionPtr,
46500         typename R
46501        
46502         >
46503       struct void_function_invoker0
46504       {
46505         static void
46506         invoke(any_pointer function_ptr
46507                )
46508
46509         {
46510           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
46511           f();
46512         }
46513       };
46514
46515       template<
46516         typename FunctionObj,
46517         typename R
46518        
46519       >
46520       struct function_obj_invoker0
46521       {
46522         static R invoke(any_pointer function_obj_ptr
46523                         )
46524
46525         {
46526           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
46527           return (*f)();
46528         }
46529       };
46530
46531       template<
46532         typename FunctionObj,
46533         typename R
46534        
46535       >
46536       struct void_function_obj_invoker0
46537       {
46538         static void
46539         invoke(any_pointer function_obj_ptr
46540                )
46541
46542         {
46543           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
46544           (*f)();
46545         }
46546       };
46547
46548       template<
46549         typename FunctionObj,
46550         typename R
46551        
46552       >
46553       struct stateless_function_obj_invoker0
46554       {
46555         static R invoke(any_pointer )
46556         {
46557           FunctionObj f = FunctionObj();
46558           return f();
46559         }
46560       };
46561
46562       template<
46563         typename FunctionObj,
46564         typename R
46565        
46566       >
46567       struct stateless_void_function_obj_invoker0
46568       {
46569         static void
46570         invoke(any_pointer )
46571
46572         {
46573           FunctionObj f = FunctionObj();
46574           f();
46575         }
46576       };
46577
46578       template<
46579         typename FunctionPtr,
46580         typename R
46581        
46582       >
46583       struct get_function_invoker0
46584       {
46585         typedef typename ct_if<(is_void<R>::value),
46586                             void_function_invoker0<
46587                             FunctionPtr,
46588                             R
46589                            
46590                           >,
46591                           function_invoker0<
46592                             FunctionPtr,
46593                             R
46594                            
46595                           >
46596                        >::type type;
46597       };
46598
46599       template<
46600         typename FunctionObj,
46601         typename R
46602        
46603        >
46604       struct get_function_obj_invoker0
46605       {
46606         typedef typename ct_if<(is_void<R>::value),
46607                             void_function_obj_invoker0<
46608                             FunctionObj,
46609                             R
46610                            
46611                           >,
46612                           function_obj_invoker0<
46613                             FunctionObj,
46614                             R
46615                            
46616                           >
46617                        >::type type;
46618       };
46619
46620       template<
46621         typename FunctionObj,
46622         typename R
46623        
46624        >
46625       struct get_stateless_function_obj_invoker0
46626       {
46627         typedef typename ct_if<(is_void<R>::value),
46628                             stateless_void_function_obj_invoker0<
46629                             FunctionObj,
46630                             R
46631                            
46632                           >,
46633                           stateless_function_obj_invoker0<
46634                             FunctionObj,
46635                             R
46636                            
46637                           >
46638                        >::type type;
46639       };
46640
46641     }
46642   }
46643
46644   template<
46645     typename R
46646     ,
46647     typename Allocator = std::allocator<function_base>
46648   >
46649   class function0 : public function_base
46650   {
46651   public:
46652
46653     typedef R result_type;
46654
46655
46656
46657
46658
46659   private:
46660     struct clear_type {};
46661
46662   public:
46663     static const int args = 0;
46664
46665
46666     template<typename Args>
46667     struct sig
46668     {
46669       typedef result_type type;
46670     };
46671 # 271 "/usr/include/boost/function/function_template.hpp" 3 4
46672     static const int arity = 0;
46673    
46674
46675     typedef Allocator allocator_type;
46676     typedef function0 self_type;
46677
46678     function0() : function_base()
46679                               , invoker(0) {}
46680
46681
46682
46683     template<typename Functor>
46684     function0(Functor f
46685
46686                             ,typename enable_if_c<
46687                             (::boost::type_traits::ice_not<
46688                              (is_integral<Functor>::value)>::value),
46689                                         int>::type = 0
46690
46691                             ) :
46692       function_base(),
46693       invoker(0)
46694     {
46695       this->assign_to(f);
46696     }
46697
46698
46699     function0(clear_type*) : function_base(), invoker(0) {}
46700
46701
46702
46703
46704
46705
46706
46707     function0(const function0& f) :
46708       function_base(),
46709       invoker(0)
46710     {
46711       this->assign_to_own(f);
46712     }
46713
46714     ~function0() { clear(); }
46715 # 326 "/usr/include/boost/function/function_template.hpp" 3 4
46716     result_type operator()() const;
46717
46718
46719
46720
46721
46722
46723
46724     template<typename Functor>
46725
46726     typename enable_if_c<
46727                (::boost::type_traits::ice_not<
46728                  (is_integral<Functor>::value)>::value),
46729                function0&>::type
46730
46731
46732
46733     operator=(Functor f)
46734     {
46735       self_type(f).swap(*this);
46736       return *this;
46737     }
46738
46739
46740     function0& operator=(clear_type*)
46741     {
46742       this->clear();
46743       return *this;
46744     }
46745 # 365 "/usr/include/boost/function/function_template.hpp" 3 4
46746     function0& operator=(const function0& f)
46747     {
46748       if (&f == this)
46749         return *this;
46750
46751       self_type(f).swap(*this);
46752       return *this;
46753     }
46754
46755     void swap(function0& other)
46756     {
46757       if (&other == this)
46758         return;
46759
46760       std::swap(this->manager, other.manager);
46761       std::swap(this->functor, other.functor);
46762       std::swap(invoker, other.invoker);
46763     }
46764
46765
46766     void clear()
46767     {
46768       if (this->manager) {
46769         function_base::functor =
46770           this->manager(this->functor, detail::function::destroy_functor_tag);
46771       }
46772
46773       this->manager = 0;
46774       invoker = 0;
46775     }
46776
46777
46778
46779
46780
46781   private:
46782     struct dummy {
46783       void nonnull() {};
46784     };
46785
46786     typedef void (dummy::*safe_bool)();
46787
46788   public:
46789     operator safe_bool () const
46790       { return (this->empty())? 0 : &dummy::nonnull; }
46791
46792     bool operator!() const
46793       { return this->empty(); }
46794
46795
46796   private:
46797     void assign_to_own(const function0& f)
46798     {
46799       if (!f.empty()) {
46800         invoker = f.invoker;
46801         this->manager = f.manager;
46802         this->functor =
46803           f.manager(f.functor, detail::function::clone_functor_tag);
46804       }
46805     }
46806
46807     template<typename Functor>
46808     void assign_to(Functor f)
46809     {
46810       typedef typename detail::function::get_function_tag<Functor>::type tag;
46811       this->assign_to(f, tag());
46812     }
46813
46814     template<typename FunctionPtr>
46815     void assign_to(FunctionPtr f, detail::function::function_ptr_tag)
46816     {
46817       clear();
46818
46819       if (f) {
46820         typedef typename detail::function::get_function_invoker0<
46821                            FunctionPtr,
46822                            R
46823                           
46824                          >::type
46825           actual_invoker_type;
46826
46827         invoker = &actual_invoker_type::invoke;
46828         this->manager =
46829           &detail::function::functor_manager<FunctionPtr, Allocator>::manage;
46830         this->functor =
46831           this->manager(detail::function::make_any_pointer(
46832
46833
46834                             (void (*)())(f)
46835                           ),
46836                           detail::function::clone_functor_tag);
46837       }
46838     }
46839 # 467 "/usr/include/boost/function/function_template.hpp" 3 4
46840     template<typename FunctionObj>
46841     void assign_to(FunctionObj f, detail::function::function_obj_tag)
46842     {
46843       if (!detail::function::has_empty_target(boost::addressof(f))) {
46844         typedef
46845           typename detail::function::get_function_obj_invoker0<
46846                                        FunctionObj,
46847                                        R
46848                                       
46849                                      >::type
46850           actual_invoker_type;
46851
46852         invoker = &actual_invoker_type::invoke;
46853         this->manager = &detail::function::functor_manager<
46854                                     FunctionObj, Allocator>::manage;
46855
46856         typedef typename Allocator::template rebind<FunctionObj>::other
46857           rebound_allocator_type;
46858         typedef typename rebound_allocator_type::pointer pointer_type;
46859         rebound_allocator_type allocator;
46860         pointer_type copy = allocator.allocate(1);
46861         allocator.construct(copy, f);
46862
46863
46864         FunctionObj* new_f = static_cast<FunctionObj*>(copy);
46865
46866
46867
46868         this->functor =
46869           detail::function::make_any_pointer(static_cast<void*>(new_f));
46870       }
46871     }
46872
46873     template<typename FunctionObj>
46874     void assign_to(const reference_wrapper<FunctionObj>& f,
46875                    detail::function::function_obj_ref_tag)
46876     {
46877       if (!detail::function::has_empty_target(f.get_pointer())) {
46878         typedef
46879           typename detail::function::get_function_obj_invoker0<
46880                                        FunctionObj,
46881                                        R
46882                                       
46883                                      >::type
46884           actual_invoker_type;
46885
46886         invoker = &actual_invoker_type::invoke;
46887         this->manager = &detail::function::trivial_manager<FunctionObj>::get;
46888         this->functor =
46889           this->manager(
46890             detail::function::make_any_pointer(
46891               const_cast<FunctionObj*>(f.get_pointer())),
46892             detail::function::clone_functor_tag);
46893       }
46894     }
46895
46896     template<typename FunctionObj>
46897     void assign_to(FunctionObj, detail::function::stateless_function_obj_tag)
46898     {
46899       typedef
46900           typename detail::function::
46901                      get_stateless_function_obj_invoker0<
46902                        FunctionObj,
46903                        R
46904                       
46905                      >::type
46906           actual_invoker_type;
46907       invoker = &actual_invoker_type::invoke;
46908       this->manager = &detail::function::trivial_manager<FunctionObj>::get;
46909       this->functor = detail::function::make_any_pointer(this);
46910     }
46911
46912     typedef result_type (*invoker_type)(detail::function::any_pointer
46913                                        
46914                                         );
46915
46916     invoker_type invoker;
46917   };
46918
46919   template<typename R ,
46920            typename Allocator>
46921   inline void swap(function0<
46922                      R
46923                      ,
46924                      Allocator
46925                    >& f1,
46926                    function0<
46927                      R
46928                      ,
46929                      Allocator
46930                    >& f2)
46931   {
46932     f1.swap(f2);
46933   }
46934
46935
46936   template<typename R ,
46937            typename Allocator>
46938   typename function0<
46939       R ,
46940       Allocator>::result_type
46941    function0<R ,
46942
46943                            Allocator>
46944   ::operator()() const
46945   {
46946     if (this->empty())
46947       boost::throw_exception(bad_function_call());
46948
46949     return invoker(this->functor );
46950   }
46951
46952
46953
46954 template<typename R ,
46955          typename Allocator>
46956   void operator==(const function0<
46957                           R
46958                           ,
46959                           Allocator>&,
46960                   const function0<
46961                           R
46962                           ,
46963                   Allocator>&);
46964 template<typename R ,
46965          typename Allocator>
46966   void operator!=(const function0<
46967                           R
46968                           ,
46969                           Allocator>&,
46970                   const function0<
46971                           R
46972                           ,
46973                   Allocator>&);
46974
46975
46976
46977
46978 #define BOOST_FUNCTION_PARTIAL_SPEC R (void)
46979
46980
46981
46982
46983 template<typename R
46984          ,
46985          typename Allocator>
46986 class function<R (void), Allocator>
46987   : public function0<R,
46988                                    Allocator>
46989 {
46990   typedef function0<R,
46991                                   Allocator> base_type;
46992   typedef function self_type;
46993
46994   struct clear_type {};
46995
46996 public:
46997   typedef typename base_type::allocator_type allocator_type;
46998
46999   function() : base_type() {}
47000
47001   template<typename Functor>
47002   function(Functor f
47003
47004            ,typename enable_if_c<
47005                             (::boost::type_traits::ice_not<
47006                           (is_integral<Functor>::value)>::value),
47007                        int>::type = 0
47008
47009            ) :
47010     base_type(f)
47011   {
47012   }
47013
47014
47015   function(clear_type*) : base_type() {}
47016
47017
47018   function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
47019
47020   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
47021
47022   self_type& operator=(const self_type& f)
47023   {
47024     self_type(f).swap(*this);
47025     return *this;
47026   }
47027
47028   template<typename Functor>
47029
47030   typename enable_if_c<
47031                             (::boost::type_traits::ice_not<
47032                          (is_integral<Functor>::value)>::value),
47033                       self_type&>::type
47034
47035
47036
47037   operator=(Functor f)
47038   {
47039     self_type(f).swap(*this);
47040     return *this;
47041   }
47042
47043
47044   self_type& operator=(clear_type*)
47045   {
47046     this->clear();
47047     return *this;
47048   }
47049
47050
47051   self_type& operator=(const base_type& f)
47052   {
47053     self_type(f).swap(*this);
47054     return *this;
47055   }
47056 };
47057
47058 #undef BOOST_FUNCTION_PARTIAL_SPEC
47059
47060
47061 }
47062
47063
47064 #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
47065 #undef BOOST_FUNCTION_COMMA
47066 #undef BOOST_FUNCTION_FUNCTION
47067 #undef BOOST_FUNCTION_FUNCTION_INVOKER
47068 #undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
47069 #undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
47070 #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
47071 #undef BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER
47072 #undef BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER
47073 #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
47074 #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
47075 #undef BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER
47076 #undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
47077 #undef BOOST_FUNCTION_TEMPLATE_PARMS
47078 #undef BOOST_FUNCTION_TEMPLATE_ARGS
47079 #undef BOOST_FUNCTION_PARMS
47080 #undef BOOST_FUNCTION_PARM
47081 #undef BOOST_FUNCTION_ARGS
47082 #undef BOOST_FUNCTION_ARG_TYPE
47083 #undef BOOST_FUNCTION_ARG_TYPES
47084 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
47085 #undef BOOST_FUNCTION_RETURN
47086 # 14 "/usr/include/boost/function/detail/maybe_include.hpp" 2 3 4
47087 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
47088 #undef BOOST_FUNCTION_NUM_ARGS
47089 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
47090 #undef BOOST_PP_ITERATION_1
47091
47092
47093 #define BOOST_PP_ITERATION_1 1
47094 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
47095 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
47096 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
47097 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
47098 # 17 "/usr/include/boost/function/detail/maybe_include.hpp" 3 4
47099 #define BOOST_FUNCTION_1 
47100 # 1 "/usr/include/boost/function/function_template.hpp" 1 3 4
47101 # 14 "/usr/include/boost/function/function_template.hpp" 3 4
47102 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
47103
47104 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
47105
47106 #define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
47107
47108 #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
47109
47110 #define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
47111
47112 #define BOOST_FUNCTION_ARG_TYPE(J,I,D) typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(arg, BOOST_PP_CAT(BOOST_PP_INC(I),_type));
47113
47114
47115 #define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
47116
47117
47118
47119 #define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
47120 # 40 "/usr/include/boost/function/function_template.hpp" 3 4
47121 #define BOOST_FUNCTION_COMMA ,
47122
47123
47124
47125 #define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
47126 #define BOOST_FUNCTION_FUNCTION_INVOKER BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
47127
47128 #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
47129
47130 #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47131
47132 #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47133
47134 #define BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47135
47136 #define BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47137
47138 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
47139
47140 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47141
47142 #define BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47143
47144
47145
47146 #define BOOST_FUNCTION_VOID_RETURN_TYPE void
47147 #define BOOST_FUNCTION_RETURN(X) X
47148
47149
47150
47151
47152
47153 namespace boost {
47154   namespace detail {
47155     namespace function {
47156       template<
47157         typename FunctionPtr,
47158         typename R ,
47159         typename T0
47160         >
47161       struct function_invoker1
47162       {
47163         static R invoke(any_pointer function_ptr ,
47164                         T0 a0)
47165         {
47166           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
47167           return f( a0);
47168         }
47169       };
47170
47171       template<
47172         typename FunctionPtr,
47173         typename R ,
47174         typename T0
47175         >
47176       struct void_function_invoker1
47177       {
47178         static void
47179         invoke(any_pointer function_ptr ,
47180                T0 a0)
47181
47182         {
47183           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
47184           f( a0);
47185         }
47186       };
47187
47188       template<
47189         typename FunctionObj,
47190         typename R ,
47191         typename T0
47192       >
47193       struct function_obj_invoker1
47194       {
47195         static R invoke(any_pointer function_obj_ptr ,
47196                         T0 a0)
47197
47198         {
47199           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
47200           return (*f)( a0);
47201         }
47202       };
47203
47204       template<
47205         typename FunctionObj,
47206         typename R ,
47207         typename T0
47208       >
47209       struct void_function_obj_invoker1
47210       {
47211         static void
47212         invoke(any_pointer function_obj_ptr ,
47213                T0 a0)
47214
47215         {
47216           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
47217           (*f)( a0);
47218         }
47219       };
47220
47221       template<
47222         typename FunctionObj,
47223         typename R ,
47224         typename T0
47225       >
47226       struct stateless_function_obj_invoker1
47227       {
47228         static R invoke(any_pointer , T0 a0)
47229         {
47230           FunctionObj f = FunctionObj();
47231           return f( a0);
47232         }
47233       };
47234
47235       template<
47236         typename FunctionObj,
47237         typename R ,
47238         typename T0
47239       >
47240       struct stateless_void_function_obj_invoker1
47241       {
47242         static void
47243         invoke(any_pointer , T0 a0)
47244
47245         {
47246           FunctionObj f = FunctionObj();
47247           f( a0);
47248         }
47249       };
47250
47251       template<
47252         typename FunctionPtr,
47253         typename R ,
47254         typename T0
47255       >
47256       struct get_function_invoker1
47257       {
47258         typedef typename ct_if<(is_void<R>::value),
47259                             void_function_invoker1<
47260                             FunctionPtr,
47261                             R ,
47262                             T0
47263                           >,
47264                           function_invoker1<
47265                             FunctionPtr,
47266                             R ,
47267                             T0
47268                           >
47269                        >::type type;
47270       };
47271
47272       template<
47273         typename FunctionObj,
47274         typename R ,
47275         typename T0
47276        >
47277       struct get_function_obj_invoker1
47278       {
47279         typedef typename ct_if<(is_void<R>::value),
47280                             void_function_obj_invoker1<
47281                             FunctionObj,
47282                             R ,
47283                             T0
47284                           >,
47285                           function_obj_invoker1<
47286                             FunctionObj,
47287                             R ,
47288                             T0
47289                           >
47290                        >::type type;
47291       };
47292
47293       template<
47294         typename FunctionObj,
47295         typename R ,
47296         typename T0
47297        >
47298       struct get_stateless_function_obj_invoker1
47299       {
47300         typedef typename ct_if<(is_void<R>::value),
47301                             stateless_void_function_obj_invoker1<
47302                             FunctionObj,
47303                             R ,
47304                             T0
47305                           >,
47306                           stateless_function_obj_invoker1<
47307                             FunctionObj,
47308                             R ,
47309                             T0
47310                           >
47311                        >::type type;
47312       };
47313
47314     }
47315   }
47316
47317   template<
47318     typename R ,
47319     typename T0,
47320     typename Allocator = std::allocator<function_base>
47321   >
47322   class function1 : public function_base
47323   {
47324   public:
47325
47326     typedef R result_type;
47327
47328
47329
47330
47331
47332   private:
47333     struct clear_type {};
47334
47335   public:
47336     static const int args = 1;
47337
47338
47339     template<typename Args>
47340     struct sig
47341     {
47342       typedef result_type type;
47343     };
47344
47345
47346     typedef T0 argument_type;
47347
47348
47349
47350
47351
47352     static const int arity = 1;
47353     typedef T0 arg1_type;
47354
47355     typedef Allocator allocator_type;
47356     typedef function1 self_type;
47357
47358     function1() : function_base()
47359                               , invoker(0) {}
47360
47361
47362
47363     template<typename Functor>
47364     function1(Functor f
47365
47366                             ,typename enable_if_c<
47367                             (::boost::type_traits::ice_not<
47368                              (is_integral<Functor>::value)>::value),
47369                                         int>::type = 0
47370
47371                             ) :
47372       function_base(),
47373       invoker(0)
47374     {
47375       this->assign_to(f);
47376     }
47377
47378
47379     function1(clear_type*) : function_base(), invoker(0) {}
47380
47381
47382
47383
47384
47385
47386
47387     function1(const function1& f) :
47388       function_base(),
47389       invoker(0)
47390     {
47391       this->assign_to_own(f);
47392     }
47393
47394     ~function1() { clear(); }
47395 # 326 "/usr/include/boost/function/function_template.hpp" 3 4
47396     result_type operator()( T0 a0) const;
47397
47398
47399
47400
47401
47402
47403
47404     template<typename Functor>
47405
47406     typename enable_if_c<
47407                (::boost::type_traits::ice_not<
47408                  (is_integral<Functor>::value)>::value),
47409                function1&>::type
47410
47411
47412
47413     operator=(Functor f)
47414     {
47415       self_type(f).swap(*this);
47416       return *this;
47417     }
47418
47419
47420     function1& operator=(clear_type*)
47421     {
47422       this->clear();
47423       return *this;
47424     }
47425 # 365 "/usr/include/boost/function/function_template.hpp" 3 4
47426     function1& operator=(const function1& f)
47427     {
47428       if (&f == this)
47429         return *this;
47430
47431       self_type(f).swap(*this);
47432       return *this;
47433     }
47434
47435     void swap(function1& other)
47436     {
47437       if (&other == this)
47438         return;
47439
47440       std::swap(this->manager, other.manager);
47441       std::swap(this->functor, other.functor);
47442       std::swap(invoker, other.invoker);
47443     }
47444
47445
47446     void clear()
47447     {
47448       if (this->manager) {
47449         function_base::functor =
47450           this->manager(this->functor, detail::function::destroy_functor_tag);
47451       }
47452
47453       this->manager = 0;
47454       invoker = 0;
47455     }
47456
47457
47458
47459
47460
47461   private:
47462     struct dummy {
47463       void nonnull() {};
47464     };
47465
47466     typedef void (dummy::*safe_bool)();
47467
47468   public:
47469     operator safe_bool () const
47470       { return (this->empty())? 0 : &dummy::nonnull; }
47471
47472     bool operator!() const
47473       { return this->empty(); }
47474
47475
47476   private:
47477     void assign_to_own(const function1& f)
47478     {
47479       if (!f.empty()) {
47480         invoker = f.invoker;
47481         this->manager = f.manager;
47482         this->functor =
47483           f.manager(f.functor, detail::function::clone_functor_tag);
47484       }
47485     }
47486
47487     template<typename Functor>
47488     void assign_to(Functor f)
47489     {
47490       typedef typename detail::function::get_function_tag<Functor>::type tag;
47491       this->assign_to(f, tag());
47492     }
47493
47494     template<typename FunctionPtr>
47495     void assign_to(FunctionPtr f, detail::function::function_ptr_tag)
47496     {
47497       clear();
47498
47499       if (f) {
47500         typedef typename detail::function::get_function_invoker1<
47501                            FunctionPtr,
47502                            R ,
47503                            T0
47504                          >::type
47505           actual_invoker_type;
47506
47507         invoker = &actual_invoker_type::invoke;
47508         this->manager =
47509           &detail::function::functor_manager<FunctionPtr, Allocator>::manage;
47510         this->functor =
47511           this->manager(detail::function::make_any_pointer(
47512
47513
47514                             (void (*)())(f)
47515                           ),
47516                           detail::function::clone_functor_tag);
47517       }
47518     }
47519
47520
47521     template<typename MemberPtr>
47522     void assign_to(MemberPtr f, detail::function::member_ptr_tag)
47523     {
47524       this->assign_to(mem_fn(f));
47525     }
47526
47527
47528     template<typename FunctionObj>
47529     void assign_to(FunctionObj f, detail::function::function_obj_tag)
47530     {
47531       if (!detail::function::has_empty_target(boost::addressof(f))) {
47532         typedef
47533           typename detail::function::get_function_obj_invoker1<
47534                                        FunctionObj,
47535                                        R ,
47536                                        T0
47537                                      >::type
47538           actual_invoker_type;
47539
47540         invoker = &actual_invoker_type::invoke;
47541         this->manager = &detail::function::functor_manager<
47542                                     FunctionObj, Allocator>::manage;
47543
47544         typedef typename Allocator::template rebind<FunctionObj>::other
47545           rebound_allocator_type;
47546         typedef typename rebound_allocator_type::pointer pointer_type;
47547         rebound_allocator_type allocator;
47548         pointer_type copy = allocator.allocate(1);
47549         allocator.construct(copy, f);
47550
47551
47552         FunctionObj* new_f = static_cast<FunctionObj*>(copy);
47553
47554
47555
47556         this->functor =
47557           detail::function::make_any_pointer(static_cast<void*>(new_f));
47558       }
47559     }
47560
47561     template<typename FunctionObj>
47562     void assign_to(const reference_wrapper<FunctionObj>& f,
47563                    detail::function::function_obj_ref_tag)
47564     {
47565       if (!detail::function::has_empty_target(f.get_pointer())) {
47566         typedef
47567           typename detail::function::get_function_obj_invoker1<
47568                                        FunctionObj,
47569                                        R ,
47570                                        T0
47571                                      >::type
47572           actual_invoker_type;
47573
47574         invoker = &actual_invoker_type::invoke;
47575         this->manager = &detail::function::trivial_manager<FunctionObj>::get;
47576         this->functor =
47577           this->manager(
47578             detail::function::make_any_pointer(
47579               const_cast<FunctionObj*>(f.get_pointer())),
47580             detail::function::clone_functor_tag);
47581       }
47582     }
47583
47584     template<typename FunctionObj>
47585     void assign_to(FunctionObj, detail::function::stateless_function_obj_tag)
47586     {
47587       typedef
47588           typename detail::function::
47589                      get_stateless_function_obj_invoker1<
47590                        FunctionObj,
47591                        R ,
47592                        T0
47593                      >::type
47594           actual_invoker_type;
47595       invoker = &actual_invoker_type::invoke;
47596       this->manager = &detail::function::trivial_manager<FunctionObj>::get;
47597       this->functor = detail::function::make_any_pointer(this);
47598     }
47599
47600     typedef result_type (*invoker_type)(detail::function::any_pointer
47601                                         ,
47602                                         T0);
47603
47604     invoker_type invoker;
47605   };
47606
47607   template<typename R , typename T0 ,
47608            typename Allocator>
47609   inline void swap(function1<
47610                      R ,
47611                      T0 ,
47612                      Allocator
47613                    >& f1,
47614                    function1<
47615                      R ,
47616                      T0,
47617                      Allocator
47618                    >& f2)
47619   {
47620     f1.swap(f2);
47621   }
47622
47623
47624   template<typename R , typename T0,
47625            typename Allocator>
47626   typename function1<
47627       R , T0,
47628       Allocator>::result_type
47629    function1<R , T0,
47630
47631                            Allocator>
47632   ::operator()( T0 a0) const
47633   {
47634     if (this->empty())
47635       boost::throw_exception(bad_function_call());
47636
47637     return invoker(this->functor , a0);
47638   }
47639
47640
47641
47642 template<typename R , typename T0 ,
47643          typename Allocator>
47644   void operator==(const function1<
47645                           R ,
47646                           T0 ,
47647                           Allocator>&,
47648                   const function1<
47649                           R ,
47650                           T0 ,
47651                   Allocator>&);
47652 template<typename R , typename T0 ,
47653          typename Allocator>
47654   void operator!=(const function1<
47655                           R ,
47656                           T0 ,
47657                           Allocator>&,
47658                   const function1<
47659                           R ,
47660                           T0 ,
47661                   Allocator>&);
47662
47663
47664
47665
47666
47667
47668 #define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
47669
47670
47671 template<typename R ,
47672          typename T0,
47673          typename Allocator>
47674 class function<R ( T0), Allocator>
47675   : public function1<R, T0
47676                                    , Allocator>
47677 {
47678   typedef function1<R, T0
47679                                   , Allocator> base_type;
47680   typedef function self_type;
47681
47682   struct clear_type {};
47683
47684 public:
47685   typedef typename base_type::allocator_type allocator_type;
47686
47687   function() : base_type() {}
47688
47689   template<typename Functor>
47690   function(Functor f
47691
47692            ,typename enable_if_c<
47693                             (::boost::type_traits::ice_not<
47694                           (is_integral<Functor>::value)>::value),
47695                        int>::type = 0
47696
47697            ) :
47698     base_type(f)
47699   {
47700   }
47701
47702
47703   function(clear_type*) : base_type() {}
47704
47705
47706   function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
47707
47708   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
47709
47710   self_type& operator=(const self_type& f)
47711   {
47712     self_type(f).swap(*this);
47713     return *this;
47714   }
47715
47716   template<typename Functor>
47717
47718   typename enable_if_c<
47719                             (::boost::type_traits::ice_not<
47720                          (is_integral<Functor>::value)>::value),
47721                       self_type&>::type
47722
47723
47724
47725   operator=(Functor f)
47726   {
47727     self_type(f).swap(*this);
47728     return *this;
47729   }
47730
47731
47732   self_type& operator=(clear_type*)
47733   {
47734     this->clear();
47735     return *this;
47736   }
47737
47738
47739   self_type& operator=(const base_type& f)
47740   {
47741     self_type(f).swap(*this);
47742     return *this;
47743   }
47744 };
47745
47746 #undef BOOST_FUNCTION_PARTIAL_SPEC
47747
47748
47749 }
47750
47751
47752 #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
47753 #undef BOOST_FUNCTION_COMMA
47754 #undef BOOST_FUNCTION_FUNCTION
47755 #undef BOOST_FUNCTION_FUNCTION_INVOKER
47756 #undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
47757 #undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
47758 #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
47759 #undef BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER
47760 #undef BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER
47761 #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
47762 #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
47763 #undef BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER
47764 #undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
47765 #undef BOOST_FUNCTION_TEMPLATE_PARMS
47766 #undef BOOST_FUNCTION_TEMPLATE_ARGS
47767 #undef BOOST_FUNCTION_PARMS
47768 #undef BOOST_FUNCTION_PARM
47769 #undef BOOST_FUNCTION_ARGS
47770 #undef BOOST_FUNCTION_ARG_TYPE
47771 #undef BOOST_FUNCTION_ARG_TYPES
47772 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
47773 #undef BOOST_FUNCTION_RETURN
47774 # 19 "/usr/include/boost/function/detail/maybe_include.hpp" 2 3 4
47775 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
47776 #undef BOOST_FUNCTION_NUM_ARGS
47777 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
47778 #undef BOOST_PP_ITERATION_1
47779
47780
47781 #define BOOST_PP_ITERATION_1 2
47782 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
47783 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
47784 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
47785 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
47786 # 22 "/usr/include/boost/function/detail/maybe_include.hpp" 3 4
47787 #define BOOST_FUNCTION_2 
47788 # 1 "/usr/include/boost/function/function_template.hpp" 1 3 4
47789 # 14 "/usr/include/boost/function/function_template.hpp" 3 4
47790 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
47791
47792 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
47793
47794 #define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
47795
47796 #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
47797
47798 #define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
47799
47800 #define BOOST_FUNCTION_ARG_TYPE(J,I,D) typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(arg, BOOST_PP_CAT(BOOST_PP_INC(I),_type));
47801
47802
47803 #define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
47804
47805
47806
47807 #define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
47808 # 40 "/usr/include/boost/function/function_template.hpp" 3 4
47809 #define BOOST_FUNCTION_COMMA ,
47810
47811
47812
47813 #define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
47814 #define BOOST_FUNCTION_FUNCTION_INVOKER BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
47815
47816 #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
47817
47818 #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47819
47820 #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47821
47822 #define BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47823
47824 #define BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47825
47826 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
47827
47828 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47829
47830 #define BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
47831
47832
47833
47834 #define BOOST_FUNCTION_VOID_RETURN_TYPE void
47835 #define BOOST_FUNCTION_RETURN(X) X
47836
47837
47838
47839
47840
47841 namespace boost {
47842   namespace detail {
47843     namespace function {
47844       template<
47845         typename FunctionPtr,
47846         typename R ,
47847         typename T0 , typename T1
47848         >
47849       struct function_invoker2
47850       {
47851         static R invoke(any_pointer function_ptr ,
47852                         T0 a0 , T1 a1)
47853         {
47854           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
47855           return f( a0 , a1);
47856         }
47857       };
47858
47859       template<
47860         typename FunctionPtr,
47861         typename R ,
47862         typename T0 , typename T1
47863         >
47864       struct void_function_invoker2
47865       {
47866         static void
47867         invoke(any_pointer function_ptr ,
47868                T0 a0 , T1 a1)
47869
47870         {
47871           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
47872           f( a0 , a1);
47873         }
47874       };
47875
47876       template<
47877         typename FunctionObj,
47878         typename R ,
47879         typename T0 , typename T1
47880       >
47881       struct function_obj_invoker2
47882       {
47883         static R invoke(any_pointer function_obj_ptr ,
47884                         T0 a0 , T1 a1)
47885
47886         {
47887           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
47888           return (*f)( a0 , a1);
47889         }
47890       };
47891
47892       template<
47893         typename FunctionObj,
47894         typename R ,
47895         typename T0 , typename T1
47896       >
47897       struct void_function_obj_invoker2
47898       {
47899         static void
47900         invoke(any_pointer function_obj_ptr ,
47901                T0 a0 , T1 a1)
47902
47903         {
47904           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
47905           (*f)( a0 , a1);
47906         }
47907       };
47908
47909       template<
47910         typename FunctionObj,
47911         typename R ,
47912         typename T0 , typename T1
47913       >
47914       struct stateless_function_obj_invoker2
47915       {
47916         static R invoke(any_pointer , T0 a0 , T1 a1)
47917         {
47918           FunctionObj f = FunctionObj();
47919           return f( a0 , a1);
47920         }
47921       };
47922
47923       template<
47924         typename FunctionObj,
47925         typename R ,
47926         typename T0 , typename T1
47927       >
47928       struct stateless_void_function_obj_invoker2
47929       {
47930         static void
47931         invoke(any_pointer , T0 a0 , T1 a1)
47932
47933         {
47934           FunctionObj f = FunctionObj();
47935           f( a0 , a1);
47936         }
47937       };
47938
47939       template<
47940         typename FunctionPtr,
47941         typename R ,
47942         typename T0 , typename T1
47943       >
47944       struct get_function_invoker2
47945       {
47946         typedef typename ct_if<(is_void<R>::value),
47947                             void_function_invoker2<
47948                             FunctionPtr,
47949                             R ,
47950                             T0 , T1
47951                           >,
47952                           function_invoker2<
47953                             FunctionPtr,
47954                             R ,
47955                             T0 , T1
47956                           >
47957                        >::type type;
47958       };
47959
47960       template<
47961         typename FunctionObj,
47962         typename R ,
47963         typename T0 , typename T1
47964        >
47965       struct get_function_obj_invoker2
47966       {
47967         typedef typename ct_if<(is_void<R>::value),
47968                             void_function_obj_invoker2<
47969                             FunctionObj,
47970                             R ,
47971                             T0 , T1
47972                           >,
47973                           function_obj_invoker2<
47974                             FunctionObj,
47975                             R ,
47976                             T0 , T1
47977                           >
47978                        >::type type;
47979       };
47980
47981       template<
47982         typename FunctionObj,
47983         typename R ,
47984         typename T0 , typename T1
47985        >
47986       struct get_stateless_function_obj_invoker2
47987       {
47988         typedef typename ct_if<(is_void<R>::value),
47989                             stateless_void_function_obj_invoker2<
47990                             FunctionObj,
47991                             R ,
47992                             T0 , T1
47993                           >,
47994                           stateless_function_obj_invoker2<
47995                             FunctionObj,
47996                             R ,
47997                             T0 , T1
47998                           >
47999                        >::type type;
48000       };
48001
48002     }
48003   }
48004
48005   template<
48006     typename R ,
48007     typename T0 , typename T1,
48008     typename Allocator = std::allocator<function_base>
48009   >
48010   class function2 : public function_base
48011   {
48012   public:
48013
48014     typedef R result_type;
48015
48016
48017
48018
48019
48020   private:
48021     struct clear_type {};
48022
48023   public:
48024     static const int args = 2;
48025
48026
48027     template<typename Args>
48028     struct sig
48029     {
48030       typedef result_type type;
48031     };
48032
48033
48034
48035
48036     typedef T0 first_argument_type;
48037     typedef T1 second_argument_type;
48038
48039
48040     static const int arity = 2;
48041     typedef T0 arg1_type; typedef T1 arg2_type;
48042
48043     typedef Allocator allocator_type;
48044     typedef function2 self_type;
48045
48046     function2() : function_base()
48047                               , invoker(0) {}
48048
48049
48050
48051     template<typename Functor>
48052     function2(Functor f
48053
48054                             ,typename enable_if_c<
48055                             (::boost::type_traits::ice_not<
48056                              (is_integral<Functor>::value)>::value),
48057                                         int>::type = 0
48058
48059                             ) :
48060       function_base(),
48061       invoker(0)
48062     {
48063       this->assign_to(f);
48064     }
48065
48066
48067     function2(clear_type*) : function_base(), invoker(0) {}
48068
48069
48070
48071
48072
48073
48074
48075     function2(const function2& f) :
48076       function_base(),
48077       invoker(0)
48078     {
48079       this->assign_to_own(f);
48080     }
48081
48082     ~function2() { clear(); }
48083 # 326 "/usr/include/boost/function/function_template.hpp" 3 4
48084     result_type operator()( T0 a0 , T1 a1) const;
48085
48086
48087
48088
48089
48090
48091
48092     template<typename Functor>
48093
48094     typename enable_if_c<
48095                (::boost::type_traits::ice_not<
48096                  (is_integral<Functor>::value)>::value),
48097                function2&>::type
48098
48099
48100
48101     operator=(Functor f)
48102     {
48103       self_type(f).swap(*this);
48104       return *this;
48105     }
48106
48107
48108     function2& operator=(clear_type*)
48109     {
48110       this->clear();
48111       return *this;
48112     }
48113 # 365 "/usr/include/boost/function/function_template.hpp" 3 4
48114     function2& operator=(const function2& f)
48115     {
48116       if (&f == this)
48117         return *this;
48118
48119       self_type(f).swap(*this);
48120       return *this;
48121     }
48122
48123     void swap(function2& other)
48124     {
48125       if (&other == this)
48126         return;
48127
48128       std::swap(this->manager, other.manager);
48129       std::swap(this->functor, other.functor);
48130       std::swap(invoker, other.invoker);
48131     }
48132
48133
48134     void clear()
48135     {
48136       if (this->manager) {
48137         function_base::functor =
48138           this->manager(this->functor, detail::function::destroy_functor_tag);
48139       }
48140
48141       this->manager = 0;
48142       invoker = 0;
48143     }
48144
48145
48146
48147
48148
48149   private:
48150     struct dummy {
48151       void nonnull() {};
48152     };
48153
48154     typedef void (dummy::*safe_bool)();
48155
48156   public:
48157     operator safe_bool () const
48158       { return (this->empty())? 0 : &dummy::nonnull; }
48159
48160     bool operator!() const
48161       { return this->empty(); }
48162
48163
48164   private:
48165     void assign_to_own(const function2& f)
48166     {
48167       if (!f.empty()) {
48168         invoker = f.invoker;
48169         this->manager = f.manager;
48170         this->functor =
48171           f.manager(f.functor, detail::function::clone_functor_tag);
48172       }
48173     }
48174
48175     template<typename Functor>
48176     void assign_to(Functor f)
48177     {
48178       typedef typename detail::function::get_function_tag<Functor>::type tag;
48179       this->assign_to(f, tag());
48180     }
48181
48182     template<typename FunctionPtr>
48183     void assign_to(FunctionPtr f, detail::function::function_ptr_tag)
48184     {
48185       clear();
48186
48187       if (f) {
48188         typedef typename detail::function::get_function_invoker2<
48189                            FunctionPtr,
48190                            R ,
48191                            T0 , T1
48192                          >::type
48193           actual_invoker_type;
48194
48195         invoker = &actual_invoker_type::invoke;
48196         this->manager =
48197           &detail::function::functor_manager<FunctionPtr, Allocator>::manage;
48198         this->functor =
48199           this->manager(detail::function::make_any_pointer(
48200
48201
48202                             (void (*)())(f)
48203                           ),
48204                           detail::function::clone_functor_tag);
48205       }
48206     }
48207
48208
48209     template<typename MemberPtr>
48210     void assign_to(MemberPtr f, detail::function::member_ptr_tag)
48211     {
48212       this->assign_to(mem_fn(f));
48213     }
48214
48215
48216     template<typename FunctionObj>
48217     void assign_to(FunctionObj f, detail::function::function_obj_tag)
48218     {
48219       if (!detail::function::has_empty_target(boost::addressof(f))) {
48220         typedef
48221           typename detail::function::get_function_obj_invoker2<
48222                                        FunctionObj,
48223                                        R ,
48224                                        T0 , T1
48225                                      >::type
48226           actual_invoker_type;
48227
48228         invoker = &actual_invoker_type::invoke;
48229         this->manager = &detail::function::functor_manager<
48230                                     FunctionObj, Allocator>::manage;
48231
48232         typedef typename Allocator::template rebind<FunctionObj>::other
48233           rebound_allocator_type;
48234         typedef typename rebound_allocator_type::pointer pointer_type;
48235         rebound_allocator_type allocator;
48236         pointer_type copy = allocator.allocate(1);
48237         allocator.construct(copy, f);
48238
48239
48240         FunctionObj* new_f = static_cast<FunctionObj*>(copy);
48241
48242
48243
48244         this->functor =
48245           detail::function::make_any_pointer(static_cast<void*>(new_f));
48246       }
48247     }
48248
48249     template<typename FunctionObj>
48250     void assign_to(const reference_wrapper<FunctionObj>& f,
48251                    detail::function::function_obj_ref_tag)
48252     {
48253       if (!detail::function::has_empty_target(f.get_pointer())) {
48254         typedef
48255           typename detail::function::get_function_obj_invoker2<
48256                                        FunctionObj,
48257                                        R ,
48258                                        T0 , T1
48259                                      >::type
48260           actual_invoker_type;
48261
48262         invoker = &actual_invoker_type::invoke;
48263         this->manager = &detail::function::trivial_manager<FunctionObj>::get;
48264         this->functor =
48265           this->manager(
48266             detail::function::make_any_pointer(
48267               const_cast<FunctionObj*>(f.get_pointer())),
48268             detail::function::clone_functor_tag);
48269       }
48270     }
48271
48272     template<typename FunctionObj>
48273     void assign_to(FunctionObj, detail::function::stateless_function_obj_tag)
48274     {
48275       typedef
48276           typename detail::function::
48277                      get_stateless_function_obj_invoker2<
48278                        FunctionObj,
48279                        R ,
48280                        T0 , T1
48281                      >::type
48282           actual_invoker_type;
48283       invoker = &actual_invoker_type::invoke;
48284       this->manager = &detail::function::trivial_manager<FunctionObj>::get;
48285       this->functor = detail::function::make_any_pointer(this);
48286     }
48287
48288     typedef result_type (*invoker_type)(detail::function::any_pointer
48289                                         ,
48290                                         T0 , T1);
48291
48292     invoker_type invoker;
48293   };
48294
48295   template<typename R , typename T0 , typename T1 ,
48296            typename Allocator>
48297   inline void swap(function2<
48298                      R ,
48299                      T0 , T1 ,
48300                      Allocator
48301                    >& f1,
48302                    function2<
48303                      R ,
48304                      T0 , T1,
48305                      Allocator
48306                    >& f2)
48307   {
48308     f1.swap(f2);
48309   }
48310
48311
48312   template<typename R , typename T0 , typename T1,
48313            typename Allocator>
48314   typename function2<
48315       R , T0 , T1,
48316       Allocator>::result_type
48317    function2<R , T0 , T1,
48318
48319                            Allocator>
48320   ::operator()( T0 a0 , T1 a1) const
48321   {
48322     if (this->empty())
48323       boost::throw_exception(bad_function_call());
48324
48325     return invoker(this->functor , a0 , a1);
48326   }
48327
48328
48329
48330 template<typename R , typename T0 , typename T1 ,
48331          typename Allocator>
48332   void operator==(const function2<
48333                           R ,
48334                           T0 , T1 ,
48335                           Allocator>&,
48336                   const function2<
48337                           R ,
48338                           T0 , T1 ,
48339                   Allocator>&);
48340 template<typename R , typename T0 , typename T1 ,
48341          typename Allocator>
48342   void operator!=(const function2<
48343                           R ,
48344                           T0 , T1 ,
48345                           Allocator>&,
48346                   const function2<
48347                           R ,
48348                           T0 , T1 ,
48349                   Allocator>&);
48350
48351
48352
48353
48354
48355
48356 #define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
48357
48358
48359 template<typename R ,
48360          typename T0 , typename T1,
48361          typename Allocator>
48362 class function<R ( T0 , T1), Allocator>
48363   : public function2<R, T0 , T1
48364                                    , Allocator>
48365 {
48366   typedef function2<R, T0 , T1
48367                                   , Allocator> base_type;
48368   typedef function self_type;
48369
48370   struct clear_type {};
48371
48372 public:
48373   typedef typename base_type::allocator_type allocator_type;
48374
48375   function() : base_type() {}
48376
48377   template<typename Functor>
48378   function(Functor f
48379
48380            ,typename enable_if_c<
48381                             (::boost::type_traits::ice_not<
48382                           (is_integral<Functor>::value)>::value),
48383                        int>::type = 0
48384
48385            ) :
48386     base_type(f)
48387   {
48388   }
48389
48390
48391   function(clear_type*) : base_type() {}
48392
48393
48394   function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
48395
48396   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
48397
48398   self_type& operator=(const self_type& f)
48399   {
48400     self_type(f).swap(*this);
48401     return *this;
48402   }
48403
48404   template<typename Functor>
48405
48406   typename enable_if_c<
48407                             (::boost::type_traits::ice_not<
48408                          (is_integral<Functor>::value)>::value),
48409                       self_type&>::type
48410
48411
48412
48413   operator=(Functor f)
48414   {
48415     self_type(f).swap(*this);
48416     return *this;
48417   }
48418
48419
48420   self_type& operator=(clear_type*)
48421   {
48422     this->clear();
48423     return *this;
48424   }
48425
48426
48427   self_type& operator=(const base_type& f)
48428   {
48429     self_type(f).swap(*this);
48430     return *this;
48431   }
48432 };
48433
48434 #undef BOOST_FUNCTION_PARTIAL_SPEC
48435
48436
48437 }
48438
48439
48440 #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
48441 #undef BOOST_FUNCTION_COMMA
48442 #undef BOOST_FUNCTION_FUNCTION
48443 #undef BOOST_FUNCTION_FUNCTION_INVOKER
48444 #undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
48445 #undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
48446 #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
48447 #undef BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER
48448 #undef BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER
48449 #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
48450 #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
48451 #undef BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER
48452 #undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
48453 #undef BOOST_FUNCTION_TEMPLATE_PARMS
48454 #undef BOOST_FUNCTION_TEMPLATE_ARGS
48455 #undef BOOST_FUNCTION_PARMS
48456 #undef BOOST_FUNCTION_PARM
48457 #undef BOOST_FUNCTION_ARGS
48458 #undef BOOST_FUNCTION_ARG_TYPE
48459 #undef BOOST_FUNCTION_ARG_TYPES
48460 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
48461 #undef BOOST_FUNCTION_RETURN
48462 # 24 "/usr/include/boost/function/detail/maybe_include.hpp" 2 3 4
48463 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
48464 #undef BOOST_FUNCTION_NUM_ARGS
48465 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
48466 #undef BOOST_PP_ITERATION_1
48467
48468
48469 #define BOOST_PP_ITERATION_1 3
48470 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
48471 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
48472 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
48473 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
48474 # 27 "/usr/include/boost/function/detail/maybe_include.hpp" 3 4
48475 #define BOOST_FUNCTION_3 
48476 # 1 "/usr/include/boost/function/function_template.hpp" 1 3 4
48477 # 14 "/usr/include/boost/function/function_template.hpp" 3 4
48478 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
48479
48480 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
48481
48482 #define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
48483
48484 #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
48485
48486 #define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
48487
48488 #define BOOST_FUNCTION_ARG_TYPE(J,I,D) typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(arg, BOOST_PP_CAT(BOOST_PP_INC(I),_type));
48489
48490
48491 #define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
48492
48493
48494
48495 #define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
48496 # 40 "/usr/include/boost/function/function_template.hpp" 3 4
48497 #define BOOST_FUNCTION_COMMA ,
48498
48499
48500
48501 #define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
48502 #define BOOST_FUNCTION_FUNCTION_INVOKER BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
48503
48504 #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
48505
48506 #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
48507
48508 #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
48509
48510 #define BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
48511
48512 #define BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
48513
48514 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
48515
48516 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
48517
48518 #define BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
48519
48520
48521
48522 #define BOOST_FUNCTION_VOID_RETURN_TYPE void
48523 #define BOOST_FUNCTION_RETURN(X) X
48524
48525
48526
48527
48528
48529 namespace boost {
48530   namespace detail {
48531     namespace function {
48532       template<
48533         typename FunctionPtr,
48534         typename R ,
48535         typename T0 , typename T1 , typename T2
48536         >
48537       struct function_invoker3
48538       {
48539         static R invoke(any_pointer function_ptr ,
48540                         T0 a0 , T1 a1 , T2 a2)
48541         {
48542           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
48543           return f( a0 , a1 , a2);
48544         }
48545       };
48546
48547       template<
48548         typename FunctionPtr,
48549         typename R ,
48550         typename T0 , typename T1 , typename T2
48551         >
48552       struct void_function_invoker3
48553       {
48554         static void
48555         invoke(any_pointer function_ptr ,
48556                T0 a0 , T1 a1 , T2 a2)
48557
48558         {
48559           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
48560           f( a0 , a1 , a2);
48561         }
48562       };
48563
48564       template<
48565         typename FunctionObj,
48566         typename R ,
48567         typename T0 , typename T1 , typename T2
48568       >
48569       struct function_obj_invoker3
48570       {
48571         static R invoke(any_pointer function_obj_ptr ,
48572                         T0 a0 , T1 a1 , T2 a2)
48573
48574         {
48575           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
48576           return (*f)( a0 , a1 , a2);
48577         }
48578       };
48579
48580       template<
48581         typename FunctionObj,
48582         typename R ,
48583         typename T0 , typename T1 , typename T2
48584       >
48585       struct void_function_obj_invoker3
48586       {
48587         static void
48588         invoke(any_pointer function_obj_ptr ,
48589                T0 a0 , T1 a1 , T2 a2)
48590
48591         {
48592           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
48593           (*f)( a0 , a1 , a2);
48594         }
48595       };
48596
48597       template<
48598         typename FunctionObj,
48599         typename R ,
48600         typename T0 , typename T1 , typename T2
48601       >
48602       struct stateless_function_obj_invoker3
48603       {
48604         static R invoke(any_pointer , T0 a0 , T1 a1 , T2 a2)
48605         {
48606           FunctionObj f = FunctionObj();
48607           return f( a0 , a1 , a2);
48608         }
48609       };
48610
48611       template<
48612         typename FunctionObj,
48613         typename R ,
48614         typename T0 , typename T1 , typename T2
48615       >
48616       struct stateless_void_function_obj_invoker3
48617       {
48618         static void
48619         invoke(any_pointer , T0 a0 , T1 a1 , T2 a2)
48620
48621         {
48622           FunctionObj f = FunctionObj();
48623           f( a0 , a1 , a2);
48624         }
48625       };
48626
48627       template<
48628         typename FunctionPtr,
48629         typename R ,
48630         typename T0 , typename T1 , typename T2
48631       >
48632       struct get_function_invoker3
48633       {
48634         typedef typename ct_if<(is_void<R>::value),
48635                             void_function_invoker3<
48636                             FunctionPtr,
48637                             R ,
48638                             T0 , T1 , T2
48639                           >,
48640                           function_invoker3<
48641                             FunctionPtr,
48642                             R ,
48643                             T0 , T1 , T2
48644                           >
48645                        >::type type;
48646       };
48647
48648       template<
48649         typename FunctionObj,
48650         typename R ,
48651         typename T0 , typename T1 , typename T2
48652        >
48653       struct get_function_obj_invoker3
48654       {
48655         typedef typename ct_if<(is_void<R>::value),
48656                             void_function_obj_invoker3<
48657                             FunctionObj,
48658                             R ,
48659                             T0 , T1 , T2
48660                           >,
48661                           function_obj_invoker3<
48662                             FunctionObj,
48663                             R ,
48664                             T0 , T1 , T2
48665                           >
48666                        >::type type;
48667       };
48668
48669       template<
48670         typename FunctionObj,
48671         typename R ,
48672         typename T0 , typename T1 , typename T2
48673        >
48674       struct get_stateless_function_obj_invoker3
48675       {
48676         typedef typename ct_if<(is_void<R>::value),
48677                             stateless_void_function_obj_invoker3<
48678                             FunctionObj,
48679                             R ,
48680                             T0 , T1 , T2
48681                           >,
48682                           stateless_function_obj_invoker3<
48683                             FunctionObj,
48684                             R ,
48685                             T0 , T1 , T2
48686                           >
48687                        >::type type;
48688       };
48689
48690     }
48691   }
48692
48693   template<
48694     typename R ,
48695     typename T0 , typename T1 , typename T2,
48696     typename Allocator = std::allocator<function_base>
48697   >
48698   class function3 : public function_base
48699   {
48700   public:
48701
48702     typedef R result_type;
48703
48704
48705
48706
48707
48708   private:
48709     struct clear_type {};
48710
48711   public:
48712     static const int args = 3;
48713
48714
48715     template<typename Args>
48716     struct sig
48717     {
48718       typedef result_type type;
48719     };
48720 # 271 "/usr/include/boost/function/function_template.hpp" 3 4
48721     static const int arity = 3;
48722     typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type;
48723
48724     typedef Allocator allocator_type;
48725     typedef function3 self_type;
48726
48727     function3() : function_base()
48728                               , invoker(0) {}
48729
48730
48731
48732     template<typename Functor>
48733     function3(Functor f
48734
48735                             ,typename enable_if_c<
48736                             (::boost::type_traits::ice_not<
48737                              (is_integral<Functor>::value)>::value),
48738                                         int>::type = 0
48739
48740                             ) :
48741       function_base(),
48742       invoker(0)
48743     {
48744       this->assign_to(f);
48745     }
48746
48747
48748     function3(clear_type*) : function_base(), invoker(0) {}
48749
48750
48751
48752
48753
48754
48755
48756     function3(const function3& f) :
48757       function_base(),
48758       invoker(0)
48759     {
48760       this->assign_to_own(f);
48761     }
48762
48763     ~function3() { clear(); }
48764 # 326 "/usr/include/boost/function/function_template.hpp" 3 4
48765     result_type operator()( T0 a0 , T1 a1 , T2 a2) const;
48766
48767
48768
48769
48770
48771
48772
48773     template<typename Functor>
48774
48775     typename enable_if_c<
48776                (::boost::type_traits::ice_not<
48777                  (is_integral<Functor>::value)>::value),
48778                function3&>::type
48779
48780
48781
48782     operator=(Functor f)
48783     {
48784       self_type(f).swap(*this);
48785       return *this;
48786     }
48787
48788
48789     function3& operator=(clear_type*)
48790     {
48791       this->clear();
48792       return *this;
48793     }
48794 # 365 "/usr/include/boost/function/function_template.hpp" 3 4
48795     function3& operator=(const function3& f)
48796     {
48797       if (&f == this)
48798         return *this;
48799
48800       self_type(f).swap(*this);
48801       return *this;
48802     }
48803
48804     void swap(function3& other)
48805     {
48806       if (&other == this)
48807         return;
48808
48809       std::swap(this->manager, other.manager);
48810       std::swap(this->functor, other.functor);
48811       std::swap(invoker, other.invoker);
48812     }
48813
48814
48815     void clear()
48816     {
48817       if (this->manager) {
48818         function_base::functor =
48819           this->manager(this->functor, detail::function::destroy_functor_tag);
48820       }
48821
48822       this->manager = 0;
48823       invoker = 0;
48824     }
48825
48826
48827
48828
48829
48830   private:
48831     struct dummy {
48832       void nonnull() {};
48833     };
48834
48835     typedef void (dummy::*safe_bool)();
48836
48837   public:
48838     operator safe_bool () const
48839       { return (this->empty())? 0 : &dummy::nonnull; }
48840
48841     bool operator!() const
48842       { return this->empty(); }
48843
48844
48845   private:
48846     void assign_to_own(const function3& f)
48847     {
48848       if (!f.empty()) {
48849         invoker = f.invoker;
48850         this->manager = f.manager;
48851         this->functor =
48852           f.manager(f.functor, detail::function::clone_functor_tag);
48853       }
48854     }
48855
48856     template<typename Functor>
48857     void assign_to(Functor f)
48858     {
48859       typedef typename detail::function::get_function_tag<Functor>::type tag;
48860       this->assign_to(f, tag());
48861     }
48862
48863     template<typename FunctionPtr>
48864     void assign_to(FunctionPtr f, detail::function::function_ptr_tag)
48865     {
48866       clear();
48867
48868       if (f) {
48869         typedef typename detail::function::get_function_invoker3<
48870                            FunctionPtr,
48871                            R ,
48872                            T0 , T1 , T2
48873                          >::type
48874           actual_invoker_type;
48875
48876         invoker = &actual_invoker_type::invoke;
48877         this->manager =
48878           &detail::function::functor_manager<FunctionPtr, Allocator>::manage;
48879         this->functor =
48880           this->manager(detail::function::make_any_pointer(
48881
48882
48883                             (void (*)())(f)
48884                           ),
48885                           detail::function::clone_functor_tag);
48886       }
48887     }
48888
48889
48890     template<typename MemberPtr>
48891     void assign_to(MemberPtr f, detail::function::member_ptr_tag)
48892     {
48893       this->assign_to(mem_fn(f));
48894     }
48895
48896
48897     template<typename FunctionObj>
48898     void assign_to(FunctionObj f, detail::function::function_obj_tag)
48899     {
48900       if (!detail::function::has_empty_target(boost::addressof(f))) {
48901         typedef
48902           typename detail::function::get_function_obj_invoker3<
48903                                        FunctionObj,
48904                                        R ,
48905                                        T0 , T1 , T2
48906                                      >::type
48907           actual_invoker_type;
48908
48909         invoker = &actual_invoker_type::invoke;
48910         this->manager = &detail::function::functor_manager<
48911                                     FunctionObj, Allocator>::manage;
48912
48913         typedef typename Allocator::template rebind<FunctionObj>::other
48914           rebound_allocator_type;
48915         typedef typename rebound_allocator_type::pointer pointer_type;
48916         rebound_allocator_type allocator;
48917         pointer_type copy = allocator.allocate(1);
48918         allocator.construct(copy, f);
48919
48920
48921         FunctionObj* new_f = static_cast<FunctionObj*>(copy);
48922
48923
48924
48925         this->functor =
48926           detail::function::make_any_pointer(static_cast<void*>(new_f));
48927       }
48928     }
48929
48930     template<typename FunctionObj>
48931     void assign_to(const reference_wrapper<FunctionObj>& f,
48932                    detail::function::function_obj_ref_tag)
48933     {
48934       if (!detail::function::has_empty_target(f.get_pointer())) {
48935         typedef
48936           typename detail::function::get_function_obj_invoker3<
48937                                        FunctionObj,
48938                                        R ,
48939                                        T0 , T1 , T2
48940                                      >::type
48941           actual_invoker_type;
48942
48943         invoker = &actual_invoker_type::invoke;
48944         this->manager = &detail::function::trivial_manager<FunctionObj>::get;
48945         this->functor =
48946           this->manager(
48947             detail::function::make_any_pointer(
48948               const_cast<FunctionObj*>(f.get_pointer())),
48949             detail::function::clone_functor_tag);
48950       }
48951     }
48952
48953     template<typename FunctionObj>
48954     void assign_to(FunctionObj, detail::function::stateless_function_obj_tag)
48955     {
48956       typedef
48957           typename detail::function::
48958                      get_stateless_function_obj_invoker3<
48959                        FunctionObj,
48960                        R ,
48961                        T0 , T1 , T2
48962                      >::type
48963           actual_invoker_type;
48964       invoker = &actual_invoker_type::invoke;
48965       this->manager = &detail::function::trivial_manager<FunctionObj>::get;
48966       this->functor = detail::function::make_any_pointer(this);
48967     }
48968
48969     typedef result_type (*invoker_type)(detail::function::any_pointer
48970                                         ,
48971                                         T0 , T1 , T2);
48972
48973     invoker_type invoker;
48974   };
48975
48976   template<typename R , typename T0 , typename T1 , typename T2 ,
48977            typename Allocator>
48978   inline void swap(function3<
48979                      R ,
48980                      T0 , T1 , T2 ,
48981                      Allocator
48982                    >& f1,
48983                    function3<
48984                      R ,
48985                      T0 , T1 , T2,
48986                      Allocator
48987                    >& f2)
48988   {
48989     f1.swap(f2);
48990   }
48991
48992
48993   template<typename R , typename T0 , typename T1 , typename T2,
48994            typename Allocator>
48995   typename function3<
48996       R , T0 , T1 , T2,
48997       Allocator>::result_type
48998    function3<R , T0 , T1 , T2,
48999
49000                            Allocator>
49001   ::operator()( T0 a0 , T1 a1 , T2 a2) const
49002   {
49003     if (this->empty())
49004       boost::throw_exception(bad_function_call());
49005
49006     return invoker(this->functor , a0 , a1 , a2);
49007   }
49008
49009
49010
49011 template<typename R , typename T0 , typename T1 , typename T2 ,
49012          typename Allocator>
49013   void operator==(const function3<
49014                           R ,
49015                           T0 , T1 , T2 ,
49016                           Allocator>&,
49017                   const function3<
49018                           R ,
49019                           T0 , T1 , T2 ,
49020                   Allocator>&);
49021 template<typename R , typename T0 , typename T1 , typename T2 ,
49022          typename Allocator>
49023   void operator!=(const function3<
49024                           R ,
49025                           T0 , T1 , T2 ,
49026                           Allocator>&,
49027                   const function3<
49028                           R ,
49029                           T0 , T1 , T2 ,
49030                   Allocator>&);
49031
49032
49033
49034
49035
49036
49037 #define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
49038
49039
49040 template<typename R ,
49041          typename T0 , typename T1 , typename T2,
49042          typename Allocator>
49043 class function<R ( T0 , T1 , T2), Allocator>
49044   : public function3<R, T0 , T1 , T2
49045                                    , Allocator>
49046 {
49047   typedef function3<R, T0 , T1 , T2
49048                                   , Allocator> base_type;
49049   typedef function self_type;
49050
49051   struct clear_type {};
49052
49053 public:
49054   typedef typename base_type::allocator_type allocator_type;
49055
49056   function() : base_type() {}
49057
49058   template<typename Functor>
49059   function(Functor f
49060
49061            ,typename enable_if_c<
49062                             (::boost::type_traits::ice_not<
49063                           (is_integral<Functor>::value)>::value),
49064                        int>::type = 0
49065
49066            ) :
49067     base_type(f)
49068   {
49069   }
49070
49071
49072   function(clear_type*) : base_type() {}
49073
49074
49075   function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
49076
49077   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
49078
49079   self_type& operator=(const self_type& f)
49080   {
49081     self_type(f).swap(*this);
49082     return *this;
49083   }
49084
49085   template<typename Functor>
49086
49087   typename enable_if_c<
49088                             (::boost::type_traits::ice_not<
49089                          (is_integral<Functor>::value)>::value),
49090                       self_type&>::type
49091
49092
49093
49094   operator=(Functor f)
49095   {
49096     self_type(f).swap(*this);
49097     return *this;
49098   }
49099
49100
49101   self_type& operator=(clear_type*)
49102   {
49103     this->clear();
49104     return *this;
49105   }
49106
49107
49108   self_type& operator=(const base_type& f)
49109   {
49110     self_type(f).swap(*this);
49111     return *this;
49112   }
49113 };
49114
49115 #undef BOOST_FUNCTION_PARTIAL_SPEC
49116
49117
49118 }
49119
49120
49121 #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
49122 #undef BOOST_FUNCTION_COMMA
49123 #undef BOOST_FUNCTION_FUNCTION
49124 #undef BOOST_FUNCTION_FUNCTION_INVOKER
49125 #undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
49126 #undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
49127 #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
49128 #undef BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER
49129 #undef BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER
49130 #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
49131 #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
49132 #undef BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER
49133 #undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
49134 #undef BOOST_FUNCTION_TEMPLATE_PARMS
49135 #undef BOOST_FUNCTION_TEMPLATE_ARGS
49136 #undef BOOST_FUNCTION_PARMS
49137 #undef BOOST_FUNCTION_PARM
49138 #undef BOOST_FUNCTION_ARGS
49139 #undef BOOST_FUNCTION_ARG_TYPE
49140 #undef BOOST_FUNCTION_ARG_TYPES
49141 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
49142 #undef BOOST_FUNCTION_RETURN
49143 # 29 "/usr/include/boost/function/detail/maybe_include.hpp" 2 3 4
49144 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
49145 #undef BOOST_FUNCTION_NUM_ARGS
49146 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
49147 #undef BOOST_PP_ITERATION_1
49148
49149
49150 #define BOOST_PP_ITERATION_1 4
49151 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
49152 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
49153 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
49154 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
49155 # 32 "/usr/include/boost/function/detail/maybe_include.hpp" 3 4
49156 #define BOOST_FUNCTION_4 
49157 # 1 "/usr/include/boost/function/function_template.hpp" 1 3 4
49158 # 14 "/usr/include/boost/function/function_template.hpp" 3 4
49159 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
49160
49161 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
49162
49163 #define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
49164
49165 #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
49166
49167 #define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
49168
49169 #define BOOST_FUNCTION_ARG_TYPE(J,I,D) typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(arg, BOOST_PP_CAT(BOOST_PP_INC(I),_type));
49170
49171
49172 #define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
49173
49174
49175
49176 #define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
49177 # 40 "/usr/include/boost/function/function_template.hpp" 3 4
49178 #define BOOST_FUNCTION_COMMA ,
49179
49180
49181
49182 #define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
49183 #define BOOST_FUNCTION_FUNCTION_INVOKER BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
49184
49185 #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
49186
49187 #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49188
49189 #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49190
49191 #define BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49192
49193 #define BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49194
49195 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
49196
49197 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49198
49199 #define BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49200
49201
49202
49203 #define BOOST_FUNCTION_VOID_RETURN_TYPE void
49204 #define BOOST_FUNCTION_RETURN(X) X
49205
49206
49207
49208
49209
49210 namespace boost {
49211   namespace detail {
49212     namespace function {
49213       template<
49214         typename FunctionPtr,
49215         typename R ,
49216         typename T0 , typename T1 , typename T2 , typename T3
49217         >
49218       struct function_invoker4
49219       {
49220         static R invoke(any_pointer function_ptr ,
49221                         T0 a0 , T1 a1 , T2 a2 , T3 a3)
49222         {
49223           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
49224           return f( a0 , a1 , a2 , a3);
49225         }
49226       };
49227
49228       template<
49229         typename FunctionPtr,
49230         typename R ,
49231         typename T0 , typename T1 , typename T2 , typename T3
49232         >
49233       struct void_function_invoker4
49234       {
49235         static void
49236         invoke(any_pointer function_ptr ,
49237                T0 a0 , T1 a1 , T2 a2 , T3 a3)
49238
49239         {
49240           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
49241           f( a0 , a1 , a2 , a3);
49242         }
49243       };
49244
49245       template<
49246         typename FunctionObj,
49247         typename R ,
49248         typename T0 , typename T1 , typename T2 , typename T3
49249       >
49250       struct function_obj_invoker4
49251       {
49252         static R invoke(any_pointer function_obj_ptr ,
49253                         T0 a0 , T1 a1 , T2 a2 , T3 a3)
49254
49255         {
49256           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
49257           return (*f)( a0 , a1 , a2 , a3);
49258         }
49259       };
49260
49261       template<
49262         typename FunctionObj,
49263         typename R ,
49264         typename T0 , typename T1 , typename T2 , typename T3
49265       >
49266       struct void_function_obj_invoker4
49267       {
49268         static void
49269         invoke(any_pointer function_obj_ptr ,
49270                T0 a0 , T1 a1 , T2 a2 , T3 a3)
49271
49272         {
49273           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
49274           (*f)( a0 , a1 , a2 , a3);
49275         }
49276       };
49277
49278       template<
49279         typename FunctionObj,
49280         typename R ,
49281         typename T0 , typename T1 , typename T2 , typename T3
49282       >
49283       struct stateless_function_obj_invoker4
49284       {
49285         static R invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3)
49286         {
49287           FunctionObj f = FunctionObj();
49288           return f( a0 , a1 , a2 , a3);
49289         }
49290       };
49291
49292       template<
49293         typename FunctionObj,
49294         typename R ,
49295         typename T0 , typename T1 , typename T2 , typename T3
49296       >
49297       struct stateless_void_function_obj_invoker4
49298       {
49299         static void
49300         invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3)
49301
49302         {
49303           FunctionObj f = FunctionObj();
49304           f( a0 , a1 , a2 , a3);
49305         }
49306       };
49307
49308       template<
49309         typename FunctionPtr,
49310         typename R ,
49311         typename T0 , typename T1 , typename T2 , typename T3
49312       >
49313       struct get_function_invoker4
49314       {
49315         typedef typename ct_if<(is_void<R>::value),
49316                             void_function_invoker4<
49317                             FunctionPtr,
49318                             R ,
49319                             T0 , T1 , T2 , T3
49320                           >,
49321                           function_invoker4<
49322                             FunctionPtr,
49323                             R ,
49324                             T0 , T1 , T2 , T3
49325                           >
49326                        >::type type;
49327       };
49328
49329       template<
49330         typename FunctionObj,
49331         typename R ,
49332         typename T0 , typename T1 , typename T2 , typename T3
49333        >
49334       struct get_function_obj_invoker4
49335       {
49336         typedef typename ct_if<(is_void<R>::value),
49337                             void_function_obj_invoker4<
49338                             FunctionObj,
49339                             R ,
49340                             T0 , T1 , T2 , T3
49341                           >,
49342                           function_obj_invoker4<
49343                             FunctionObj,
49344                             R ,
49345                             T0 , T1 , T2 , T3
49346                           >
49347                        >::type type;
49348       };
49349
49350       template<
49351         typename FunctionObj,
49352         typename R ,
49353         typename T0 , typename T1 , typename T2 , typename T3
49354        >
49355       struct get_stateless_function_obj_invoker4
49356       {
49357         typedef typename ct_if<(is_void<R>::value),
49358                             stateless_void_function_obj_invoker4<
49359                             FunctionObj,
49360                             R ,
49361                             T0 , T1 , T2 , T3
49362                           >,
49363                           stateless_function_obj_invoker4<
49364                             FunctionObj,
49365                             R ,
49366                             T0 , T1 , T2 , T3
49367                           >
49368                        >::type type;
49369       };
49370
49371     }
49372   }
49373
49374   template<
49375     typename R ,
49376     typename T0 , typename T1 , typename T2 , typename T3,
49377     typename Allocator = std::allocator<function_base>
49378   >
49379   class function4 : public function_base
49380   {
49381   public:
49382
49383     typedef R result_type;
49384
49385
49386
49387
49388
49389   private:
49390     struct clear_type {};
49391
49392   public:
49393     static const int args = 4;
49394
49395
49396     template<typename Args>
49397     struct sig
49398     {
49399       typedef result_type type;
49400     };
49401 # 271 "/usr/include/boost/function/function_template.hpp" 3 4
49402     static const int arity = 4;
49403     typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type;
49404
49405     typedef Allocator allocator_type;
49406     typedef function4 self_type;
49407
49408     function4() : function_base()
49409                               , invoker(0) {}
49410
49411
49412
49413     template<typename Functor>
49414     function4(Functor f
49415
49416                             ,typename enable_if_c<
49417                             (::boost::type_traits::ice_not<
49418                              (is_integral<Functor>::value)>::value),
49419                                         int>::type = 0
49420
49421                             ) :
49422       function_base(),
49423       invoker(0)
49424     {
49425       this->assign_to(f);
49426     }
49427
49428
49429     function4(clear_type*) : function_base(), invoker(0) {}
49430
49431
49432
49433
49434
49435
49436
49437     function4(const function4& f) :
49438       function_base(),
49439       invoker(0)
49440     {
49441       this->assign_to_own(f);
49442     }
49443
49444     ~function4() { clear(); }
49445 # 326 "/usr/include/boost/function/function_template.hpp" 3 4
49446     result_type operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3) const;
49447
49448
49449
49450
49451
49452
49453
49454     template<typename Functor>
49455
49456     typename enable_if_c<
49457                (::boost::type_traits::ice_not<
49458                  (is_integral<Functor>::value)>::value),
49459                function4&>::type
49460
49461
49462
49463     operator=(Functor f)
49464     {
49465       self_type(f).swap(*this);
49466       return *this;
49467     }
49468
49469
49470     function4& operator=(clear_type*)
49471     {
49472       this->clear();
49473       return *this;
49474     }
49475 # 365 "/usr/include/boost/function/function_template.hpp" 3 4
49476     function4& operator=(const function4& f)
49477     {
49478       if (&f == this)
49479         return *this;
49480
49481       self_type(f).swap(*this);
49482       return *this;
49483     }
49484
49485     void swap(function4& other)
49486     {
49487       if (&other == this)
49488         return;
49489
49490       std::swap(this->manager, other.manager);
49491       std::swap(this->functor, other.functor);
49492       std::swap(invoker, other.invoker);
49493     }
49494
49495
49496     void clear()
49497     {
49498       if (this->manager) {
49499         function_base::functor =
49500           this->manager(this->functor, detail::function::destroy_functor_tag);
49501       }
49502
49503       this->manager = 0;
49504       invoker = 0;
49505     }
49506
49507
49508
49509
49510
49511   private:
49512     struct dummy {
49513       void nonnull() {};
49514     };
49515
49516     typedef void (dummy::*safe_bool)();
49517
49518   public:
49519     operator safe_bool () const
49520       { return (this->empty())? 0 : &dummy::nonnull; }
49521
49522     bool operator!() const
49523       { return this->empty(); }
49524
49525
49526   private:
49527     void assign_to_own(const function4& f)
49528     {
49529       if (!f.empty()) {
49530         invoker = f.invoker;
49531         this->manager = f.manager;
49532         this->functor =
49533           f.manager(f.functor, detail::function::clone_functor_tag);
49534       }
49535     }
49536
49537     template<typename Functor>
49538     void assign_to(Functor f)
49539     {
49540       typedef typename detail::function::get_function_tag<Functor>::type tag;
49541       this->assign_to(f, tag());
49542     }
49543
49544     template<typename FunctionPtr>
49545     void assign_to(FunctionPtr f, detail::function::function_ptr_tag)
49546     {
49547       clear();
49548
49549       if (f) {
49550         typedef typename detail::function::get_function_invoker4<
49551                            FunctionPtr,
49552                            R ,
49553                            T0 , T1 , T2 , T3
49554                          >::type
49555           actual_invoker_type;
49556
49557         invoker = &actual_invoker_type::invoke;
49558         this->manager =
49559           &detail::function::functor_manager<FunctionPtr, Allocator>::manage;
49560         this->functor =
49561           this->manager(detail::function::make_any_pointer(
49562
49563
49564                             (void (*)())(f)
49565                           ),
49566                           detail::function::clone_functor_tag);
49567       }
49568     }
49569
49570
49571     template<typename MemberPtr>
49572     void assign_to(MemberPtr f, detail::function::member_ptr_tag)
49573     {
49574       this->assign_to(mem_fn(f));
49575     }
49576
49577
49578     template<typename FunctionObj>
49579     void assign_to(FunctionObj f, detail::function::function_obj_tag)
49580     {
49581       if (!detail::function::has_empty_target(boost::addressof(f))) {
49582         typedef
49583           typename detail::function::get_function_obj_invoker4<
49584                                        FunctionObj,
49585                                        R ,
49586                                        T0 , T1 , T2 , T3
49587                                      >::type
49588           actual_invoker_type;
49589
49590         invoker = &actual_invoker_type::invoke;
49591         this->manager = &detail::function::functor_manager<
49592                                     FunctionObj, Allocator>::manage;
49593
49594         typedef typename Allocator::template rebind<FunctionObj>::other
49595           rebound_allocator_type;
49596         typedef typename rebound_allocator_type::pointer pointer_type;
49597         rebound_allocator_type allocator;
49598         pointer_type copy = allocator.allocate(1);
49599         allocator.construct(copy, f);
49600
49601
49602         FunctionObj* new_f = static_cast<FunctionObj*>(copy);
49603
49604
49605
49606         this->functor =
49607           detail::function::make_any_pointer(static_cast<void*>(new_f));
49608       }
49609     }
49610
49611     template<typename FunctionObj>
49612     void assign_to(const reference_wrapper<FunctionObj>& f,
49613                    detail::function::function_obj_ref_tag)
49614     {
49615       if (!detail::function::has_empty_target(f.get_pointer())) {
49616         typedef
49617           typename detail::function::get_function_obj_invoker4<
49618                                        FunctionObj,
49619                                        R ,
49620                                        T0 , T1 , T2 , T3
49621                                      >::type
49622           actual_invoker_type;
49623
49624         invoker = &actual_invoker_type::invoke;
49625         this->manager = &detail::function::trivial_manager<FunctionObj>::get;
49626         this->functor =
49627           this->manager(
49628             detail::function::make_any_pointer(
49629               const_cast<FunctionObj*>(f.get_pointer())),
49630             detail::function::clone_functor_tag);
49631       }
49632     }
49633
49634     template<typename FunctionObj>
49635     void assign_to(FunctionObj, detail::function::stateless_function_obj_tag)
49636     {
49637       typedef
49638           typename detail::function::
49639                      get_stateless_function_obj_invoker4<
49640                        FunctionObj,
49641                        R ,
49642                        T0 , T1 , T2 , T3
49643                      >::type
49644           actual_invoker_type;
49645       invoker = &actual_invoker_type::invoke;
49646       this->manager = &detail::function::trivial_manager<FunctionObj>::get;
49647       this->functor = detail::function::make_any_pointer(this);
49648     }
49649
49650     typedef result_type (*invoker_type)(detail::function::any_pointer
49651                                         ,
49652                                         T0 , T1 , T2 , T3);
49653
49654     invoker_type invoker;
49655   };
49656
49657   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 ,
49658            typename Allocator>
49659   inline void swap(function4<
49660                      R ,
49661                      T0 , T1 , T2 , T3 ,
49662                      Allocator
49663                    >& f1,
49664                    function4<
49665                      R ,
49666                      T0 , T1 , T2 , T3,
49667                      Allocator
49668                    >& f2)
49669   {
49670     f1.swap(f2);
49671   }
49672
49673
49674   template<typename R , typename T0 , typename T1 , typename T2 , typename T3,
49675            typename Allocator>
49676   typename function4<
49677       R , T0 , T1 , T2 , T3,
49678       Allocator>::result_type
49679    function4<R , T0 , T1 , T2 , T3,
49680
49681                            Allocator>
49682   ::operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3) const
49683   {
49684     if (this->empty())
49685       boost::throw_exception(bad_function_call());
49686
49687     return invoker(this->functor , a0 , a1 , a2 , a3);
49688   }
49689
49690
49691
49692 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 ,
49693          typename Allocator>
49694   void operator==(const function4<
49695                           R ,
49696                           T0 , T1 , T2 , T3 ,
49697                           Allocator>&,
49698                   const function4<
49699                           R ,
49700                           T0 , T1 , T2 , T3 ,
49701                   Allocator>&);
49702 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 ,
49703          typename Allocator>
49704   void operator!=(const function4<
49705                           R ,
49706                           T0 , T1 , T2 , T3 ,
49707                           Allocator>&,
49708                   const function4<
49709                           R ,
49710                           T0 , T1 , T2 , T3 ,
49711                   Allocator>&);
49712
49713
49714
49715
49716
49717
49718 #define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
49719
49720
49721 template<typename R ,
49722          typename T0 , typename T1 , typename T2 , typename T3,
49723          typename Allocator>
49724 class function<R ( T0 , T1 , T2 , T3), Allocator>
49725   : public function4<R, T0 , T1 , T2 , T3
49726                                    , Allocator>
49727 {
49728   typedef function4<R, T0 , T1 , T2 , T3
49729                                   , Allocator> base_type;
49730   typedef function self_type;
49731
49732   struct clear_type {};
49733
49734 public:
49735   typedef typename base_type::allocator_type allocator_type;
49736
49737   function() : base_type() {}
49738
49739   template<typename Functor>
49740   function(Functor f
49741
49742            ,typename enable_if_c<
49743                             (::boost::type_traits::ice_not<
49744                           (is_integral<Functor>::value)>::value),
49745                        int>::type = 0
49746
49747            ) :
49748     base_type(f)
49749   {
49750   }
49751
49752
49753   function(clear_type*) : base_type() {}
49754
49755
49756   function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
49757
49758   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
49759
49760   self_type& operator=(const self_type& f)
49761   {
49762     self_type(f).swap(*this);
49763     return *this;
49764   }
49765
49766   template<typename Functor>
49767
49768   typename enable_if_c<
49769                             (::boost::type_traits::ice_not<
49770                          (is_integral<Functor>::value)>::value),
49771                       self_type&>::type
49772
49773
49774
49775   operator=(Functor f)
49776   {
49777     self_type(f).swap(*this);
49778     return *this;
49779   }
49780
49781
49782   self_type& operator=(clear_type*)
49783   {
49784     this->clear();
49785     return *this;
49786   }
49787
49788
49789   self_type& operator=(const base_type& f)
49790   {
49791     self_type(f).swap(*this);
49792     return *this;
49793   }
49794 };
49795
49796 #undef BOOST_FUNCTION_PARTIAL_SPEC
49797
49798
49799 }
49800
49801
49802 #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
49803 #undef BOOST_FUNCTION_COMMA
49804 #undef BOOST_FUNCTION_FUNCTION
49805 #undef BOOST_FUNCTION_FUNCTION_INVOKER
49806 #undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
49807 #undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
49808 #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
49809 #undef BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER
49810 #undef BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER
49811 #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
49812 #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
49813 #undef BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER
49814 #undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
49815 #undef BOOST_FUNCTION_TEMPLATE_PARMS
49816 #undef BOOST_FUNCTION_TEMPLATE_ARGS
49817 #undef BOOST_FUNCTION_PARMS
49818 #undef BOOST_FUNCTION_PARM
49819 #undef BOOST_FUNCTION_ARGS
49820 #undef BOOST_FUNCTION_ARG_TYPE
49821 #undef BOOST_FUNCTION_ARG_TYPES
49822 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
49823 #undef BOOST_FUNCTION_RETURN
49824 # 34 "/usr/include/boost/function/detail/maybe_include.hpp" 2 3 4
49825 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
49826 #undef BOOST_FUNCTION_NUM_ARGS
49827 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
49828 #undef BOOST_PP_ITERATION_1
49829
49830
49831 #define BOOST_PP_ITERATION_1 5
49832 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
49833 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
49834 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
49835 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
49836 # 37 "/usr/include/boost/function/detail/maybe_include.hpp" 3 4
49837 #define BOOST_FUNCTION_5 
49838 # 1 "/usr/include/boost/function/function_template.hpp" 1 3 4
49839 # 14 "/usr/include/boost/function/function_template.hpp" 3 4
49840 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
49841
49842 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
49843
49844 #define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
49845
49846 #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
49847
49848 #define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
49849
49850 #define BOOST_FUNCTION_ARG_TYPE(J,I,D) typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(arg, BOOST_PP_CAT(BOOST_PP_INC(I),_type));
49851
49852
49853 #define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
49854
49855
49856
49857 #define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
49858 # 40 "/usr/include/boost/function/function_template.hpp" 3 4
49859 #define BOOST_FUNCTION_COMMA ,
49860
49861
49862
49863 #define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
49864 #define BOOST_FUNCTION_FUNCTION_INVOKER BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
49865
49866 #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
49867
49868 #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49869
49870 #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49871
49872 #define BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49873
49874 #define BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49875
49876 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
49877
49878 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49879
49880 #define BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
49881
49882
49883
49884 #define BOOST_FUNCTION_VOID_RETURN_TYPE void
49885 #define BOOST_FUNCTION_RETURN(X) X
49886
49887
49888
49889
49890
49891 namespace boost {
49892   namespace detail {
49893     namespace function {
49894       template<
49895         typename FunctionPtr,
49896         typename R ,
49897         typename T0 , typename T1 , typename T2 , typename T3 , typename T4
49898         >
49899       struct function_invoker5
49900       {
49901         static R invoke(any_pointer function_ptr ,
49902                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4)
49903         {
49904           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
49905           return f( a0 , a1 , a2 , a3 , a4);
49906         }
49907       };
49908
49909       template<
49910         typename FunctionPtr,
49911         typename R ,
49912         typename T0 , typename T1 , typename T2 , typename T3 , typename T4
49913         >
49914       struct void_function_invoker5
49915       {
49916         static void
49917         invoke(any_pointer function_ptr ,
49918                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4)
49919
49920         {
49921           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
49922           f( a0 , a1 , a2 , a3 , a4);
49923         }
49924       };
49925
49926       template<
49927         typename FunctionObj,
49928         typename R ,
49929         typename T0 , typename T1 , typename T2 , typename T3 , typename T4
49930       >
49931       struct function_obj_invoker5
49932       {
49933         static R invoke(any_pointer function_obj_ptr ,
49934                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4)
49935
49936         {
49937           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
49938           return (*f)( a0 , a1 , a2 , a3 , a4);
49939         }
49940       };
49941
49942       template<
49943         typename FunctionObj,
49944         typename R ,
49945         typename T0 , typename T1 , typename T2 , typename T3 , typename T4
49946       >
49947       struct void_function_obj_invoker5
49948       {
49949         static void
49950         invoke(any_pointer function_obj_ptr ,
49951                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4)
49952
49953         {
49954           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
49955           (*f)( a0 , a1 , a2 , a3 , a4);
49956         }
49957       };
49958
49959       template<
49960         typename FunctionObj,
49961         typename R ,
49962         typename T0 , typename T1 , typename T2 , typename T3 , typename T4
49963       >
49964       struct stateless_function_obj_invoker5
49965       {
49966         static R invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4)
49967         {
49968           FunctionObj f = FunctionObj();
49969           return f( a0 , a1 , a2 , a3 , a4);
49970         }
49971       };
49972
49973       template<
49974         typename FunctionObj,
49975         typename R ,
49976         typename T0 , typename T1 , typename T2 , typename T3 , typename T4
49977       >
49978       struct stateless_void_function_obj_invoker5
49979       {
49980         static void
49981         invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4)
49982
49983         {
49984           FunctionObj f = FunctionObj();
49985           f( a0 , a1 , a2 , a3 , a4);
49986         }
49987       };
49988
49989       template<
49990         typename FunctionPtr,
49991         typename R ,
49992         typename T0 , typename T1 , typename T2 , typename T3 , typename T4
49993       >
49994       struct get_function_invoker5
49995       {
49996         typedef typename ct_if<(is_void<R>::value),
49997                             void_function_invoker5<
49998                             FunctionPtr,
49999                             R ,
50000                             T0 , T1 , T2 , T3 , T4
50001                           >,
50002                           function_invoker5<
50003                             FunctionPtr,
50004                             R ,
50005                             T0 , T1 , T2 , T3 , T4
50006                           >
50007                        >::type type;
50008       };
50009
50010       template<
50011         typename FunctionObj,
50012         typename R ,
50013         typename T0 , typename T1 , typename T2 , typename T3 , typename T4
50014        >
50015       struct get_function_obj_invoker5
50016       {
50017         typedef typename ct_if<(is_void<R>::value),
50018                             void_function_obj_invoker5<
50019                             FunctionObj,
50020                             R ,
50021                             T0 , T1 , T2 , T3 , T4
50022                           >,
50023                           function_obj_invoker5<
50024                             FunctionObj,
50025                             R ,
50026                             T0 , T1 , T2 , T3 , T4
50027                           >
50028                        >::type type;
50029       };
50030
50031       template<
50032         typename FunctionObj,
50033         typename R ,
50034         typename T0 , typename T1 , typename T2 , typename T3 , typename T4
50035        >
50036       struct get_stateless_function_obj_invoker5
50037       {
50038         typedef typename ct_if<(is_void<R>::value),
50039                             stateless_void_function_obj_invoker5<
50040                             FunctionObj,
50041                             R ,
50042                             T0 , T1 , T2 , T3 , T4
50043                           >,
50044                           stateless_function_obj_invoker5<
50045                             FunctionObj,
50046                             R ,
50047                             T0 , T1 , T2 , T3 , T4
50048                           >
50049                        >::type type;
50050       };
50051
50052     }
50053   }
50054
50055   template<
50056     typename R ,
50057     typename T0 , typename T1 , typename T2 , typename T3 , typename T4,
50058     typename Allocator = std::allocator<function_base>
50059   >
50060   class function5 : public function_base
50061   {
50062   public:
50063
50064     typedef R result_type;
50065
50066
50067
50068
50069
50070   private:
50071     struct clear_type {};
50072
50073   public:
50074     static const int args = 5;
50075
50076
50077     template<typename Args>
50078     struct sig
50079     {
50080       typedef result_type type;
50081     };
50082 # 271 "/usr/include/boost/function/function_template.hpp" 3 4
50083     static const int arity = 5;
50084     typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type;
50085
50086     typedef Allocator allocator_type;
50087     typedef function5 self_type;
50088
50089     function5() : function_base()
50090                               , invoker(0) {}
50091
50092
50093
50094     template<typename Functor>
50095     function5(Functor f
50096
50097                             ,typename enable_if_c<
50098                             (::boost::type_traits::ice_not<
50099                              (is_integral<Functor>::value)>::value),
50100                                         int>::type = 0
50101
50102                             ) :
50103       function_base(),
50104       invoker(0)
50105     {
50106       this->assign_to(f);
50107     }
50108
50109
50110     function5(clear_type*) : function_base(), invoker(0) {}
50111
50112
50113
50114
50115
50116
50117
50118     function5(const function5& f) :
50119       function_base(),
50120       invoker(0)
50121     {
50122       this->assign_to_own(f);
50123     }
50124
50125     ~function5() { clear(); }
50126 # 326 "/usr/include/boost/function/function_template.hpp" 3 4
50127     result_type operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4) const;
50128
50129
50130
50131
50132
50133
50134
50135     template<typename Functor>
50136
50137     typename enable_if_c<
50138                (::boost::type_traits::ice_not<
50139                  (is_integral<Functor>::value)>::value),
50140                function5&>::type
50141
50142
50143
50144     operator=(Functor f)
50145     {
50146       self_type(f).swap(*this);
50147       return *this;
50148     }
50149
50150
50151     function5& operator=(clear_type*)
50152     {
50153       this->clear();
50154       return *this;
50155     }
50156 # 365 "/usr/include/boost/function/function_template.hpp" 3 4
50157     function5& operator=(const function5& f)
50158     {
50159       if (&f == this)
50160         return *this;
50161
50162       self_type(f).swap(*this);
50163       return *this;
50164     }
50165
50166     void swap(function5& other)
50167     {
50168       if (&other == this)
50169         return;
50170
50171       std::swap(this->manager, other.manager);
50172       std::swap(this->functor, other.functor);
50173       std::swap(invoker, other.invoker);
50174     }
50175
50176
50177     void clear()
50178     {
50179       if (this->manager) {
50180         function_base::functor =
50181           this->manager(this->functor, detail::function::destroy_functor_tag);
50182       }
50183
50184       this->manager = 0;
50185       invoker = 0;
50186     }
50187
50188
50189
50190
50191
50192   private:
50193     struct dummy {
50194       void nonnull() {};
50195     };
50196
50197     typedef void (dummy::*safe_bool)();
50198
50199   public:
50200     operator safe_bool () const
50201       { return (this->empty())? 0 : &dummy::nonnull; }
50202
50203     bool operator!() const
50204       { return this->empty(); }
50205
50206
50207   private:
50208     void assign_to_own(const function5& f)
50209     {
50210       if (!f.empty()) {
50211         invoker = f.invoker;
50212         this->manager = f.manager;
50213         this->functor =
50214           f.manager(f.functor, detail::function::clone_functor_tag);
50215       }
50216     }
50217
50218     template<typename Functor>
50219     void assign_to(Functor f)
50220     {
50221       typedef typename detail::function::get_function_tag<Functor>::type tag;
50222       this->assign_to(f, tag());
50223     }
50224
50225     template<typename FunctionPtr>
50226     void assign_to(FunctionPtr f, detail::function::function_ptr_tag)
50227     {
50228       clear();
50229
50230       if (f) {
50231         typedef typename detail::function::get_function_invoker5<
50232                            FunctionPtr,
50233                            R ,
50234                            T0 , T1 , T2 , T3 , T4
50235                          >::type
50236           actual_invoker_type;
50237
50238         invoker = &actual_invoker_type::invoke;
50239         this->manager =
50240           &detail::function::functor_manager<FunctionPtr, Allocator>::manage;
50241         this->functor =
50242           this->manager(detail::function::make_any_pointer(
50243
50244
50245                             (void (*)())(f)
50246                           ),
50247                           detail::function::clone_functor_tag);
50248       }
50249     }
50250
50251
50252     template<typename MemberPtr>
50253     void assign_to(MemberPtr f, detail::function::member_ptr_tag)
50254     {
50255       this->assign_to(mem_fn(f));
50256     }
50257
50258
50259     template<typename FunctionObj>
50260     void assign_to(FunctionObj f, detail::function::function_obj_tag)
50261     {
50262       if (!detail::function::has_empty_target(boost::addressof(f))) {
50263         typedef
50264           typename detail::function::get_function_obj_invoker5<
50265                                        FunctionObj,
50266                                        R ,
50267                                        T0 , T1 , T2 , T3 , T4
50268                                      >::type
50269           actual_invoker_type;
50270
50271         invoker = &actual_invoker_type::invoke;
50272         this->manager = &detail::function::functor_manager<
50273                                     FunctionObj, Allocator>::manage;
50274
50275         typedef typename Allocator::template rebind<FunctionObj>::other
50276           rebound_allocator_type;
50277         typedef typename rebound_allocator_type::pointer pointer_type;
50278         rebound_allocator_type allocator;
50279         pointer_type copy = allocator.allocate(1);
50280         allocator.construct(copy, f);
50281
50282
50283         FunctionObj* new_f = static_cast<FunctionObj*>(copy);
50284
50285
50286
50287         this->functor =
50288           detail::function::make_any_pointer(static_cast<void*>(new_f));
50289       }
50290     }
50291
50292     template<typename FunctionObj>
50293     void assign_to(const reference_wrapper<FunctionObj>& f,
50294                    detail::function::function_obj_ref_tag)
50295     {
50296       if (!detail::function::has_empty_target(f.get_pointer())) {
50297         typedef
50298           typename detail::function::get_function_obj_invoker5<
50299                                        FunctionObj,
50300                                        R ,
50301                                        T0 , T1 , T2 , T3 , T4
50302                                      >::type
50303           actual_invoker_type;
50304
50305         invoker = &actual_invoker_type::invoke;
50306         this->manager = &detail::function::trivial_manager<FunctionObj>::get;
50307         this->functor =
50308           this->manager(
50309             detail::function::make_any_pointer(
50310               const_cast<FunctionObj*>(f.get_pointer())),
50311             detail::function::clone_functor_tag);
50312       }
50313     }
50314
50315     template<typename FunctionObj>
50316     void assign_to(FunctionObj, detail::function::stateless_function_obj_tag)
50317     {
50318       typedef
50319           typename detail::function::
50320                      get_stateless_function_obj_invoker5<
50321                        FunctionObj,
50322                        R ,
50323                        T0 , T1 , T2 , T3 , T4
50324                      >::type
50325           actual_invoker_type;
50326       invoker = &actual_invoker_type::invoke;
50327       this->manager = &detail::function::trivial_manager<FunctionObj>::get;
50328       this->functor = detail::function::make_any_pointer(this);
50329     }
50330
50331     typedef result_type (*invoker_type)(detail::function::any_pointer
50332                                         ,
50333                                         T0 , T1 , T2 , T3 , T4);
50334
50335     invoker_type invoker;
50336   };
50337
50338   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 ,
50339            typename Allocator>
50340   inline void swap(function5<
50341                      R ,
50342                      T0 , T1 , T2 , T3 , T4 ,
50343                      Allocator
50344                    >& f1,
50345                    function5<
50346                      R ,
50347                      T0 , T1 , T2 , T3 , T4,
50348                      Allocator
50349                    >& f2)
50350   {
50351     f1.swap(f2);
50352   }
50353
50354
50355   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4,
50356            typename Allocator>
50357   typename function5<
50358       R , T0 , T1 , T2 , T3 , T4,
50359       Allocator>::result_type
50360    function5<R , T0 , T1 , T2 , T3 , T4,
50361
50362                            Allocator>
50363   ::operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4) const
50364   {
50365     if (this->empty())
50366       boost::throw_exception(bad_function_call());
50367
50368     return invoker(this->functor , a0 , a1 , a2 , a3 , a4);
50369   }
50370
50371
50372
50373 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 ,
50374          typename Allocator>
50375   void operator==(const function5<
50376                           R ,
50377                           T0 , T1 , T2 , T3 , T4 ,
50378                           Allocator>&,
50379                   const function5<
50380                           R ,
50381                           T0 , T1 , T2 , T3 , T4 ,
50382                   Allocator>&);
50383 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 ,
50384          typename Allocator>
50385   void operator!=(const function5<
50386                           R ,
50387                           T0 , T1 , T2 , T3 , T4 ,
50388                           Allocator>&,
50389                   const function5<
50390                           R ,
50391                           T0 , T1 , T2 , T3 , T4 ,
50392                   Allocator>&);
50393
50394
50395
50396
50397
50398
50399 #define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
50400
50401
50402 template<typename R ,
50403          typename T0 , typename T1 , typename T2 , typename T3 , typename T4,
50404          typename Allocator>
50405 class function<R ( T0 , T1 , T2 , T3 , T4), Allocator>
50406   : public function5<R, T0 , T1 , T2 , T3 , T4
50407                                    , Allocator>
50408 {
50409   typedef function5<R, T0 , T1 , T2 , T3 , T4
50410                                   , Allocator> base_type;
50411   typedef function self_type;
50412
50413   struct clear_type {};
50414
50415 public:
50416   typedef typename base_type::allocator_type allocator_type;
50417
50418   function() : base_type() {}
50419
50420   template<typename Functor>
50421   function(Functor f
50422
50423            ,typename enable_if_c<
50424                             (::boost::type_traits::ice_not<
50425                           (is_integral<Functor>::value)>::value),
50426                        int>::type = 0
50427
50428            ) :
50429     base_type(f)
50430   {
50431   }
50432
50433
50434   function(clear_type*) : base_type() {}
50435
50436
50437   function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
50438
50439   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
50440
50441   self_type& operator=(const self_type& f)
50442   {
50443     self_type(f).swap(*this);
50444     return *this;
50445   }
50446
50447   template<typename Functor>
50448
50449   typename enable_if_c<
50450                             (::boost::type_traits::ice_not<
50451                          (is_integral<Functor>::value)>::value),
50452                       self_type&>::type
50453
50454
50455
50456   operator=(Functor f)
50457   {
50458     self_type(f).swap(*this);
50459     return *this;
50460   }
50461
50462
50463   self_type& operator=(clear_type*)
50464   {
50465     this->clear();
50466     return *this;
50467   }
50468
50469
50470   self_type& operator=(const base_type& f)
50471   {
50472     self_type(f).swap(*this);
50473     return *this;
50474   }
50475 };
50476
50477 #undef BOOST_FUNCTION_PARTIAL_SPEC
50478
50479
50480 }
50481
50482
50483 #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
50484 #undef BOOST_FUNCTION_COMMA
50485 #undef BOOST_FUNCTION_FUNCTION
50486 #undef BOOST_FUNCTION_FUNCTION_INVOKER
50487 #undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
50488 #undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
50489 #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
50490 #undef BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER
50491 #undef BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER
50492 #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
50493 #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
50494 #undef BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER
50495 #undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
50496 #undef BOOST_FUNCTION_TEMPLATE_PARMS
50497 #undef BOOST_FUNCTION_TEMPLATE_ARGS
50498 #undef BOOST_FUNCTION_PARMS
50499 #undef BOOST_FUNCTION_PARM
50500 #undef BOOST_FUNCTION_ARGS
50501 #undef BOOST_FUNCTION_ARG_TYPE
50502 #undef BOOST_FUNCTION_ARG_TYPES
50503 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
50504 #undef BOOST_FUNCTION_RETURN
50505 # 39 "/usr/include/boost/function/detail/maybe_include.hpp" 2 3 4
50506 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
50507 #undef BOOST_FUNCTION_NUM_ARGS
50508 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
50509 #undef BOOST_PP_ITERATION_1
50510
50511
50512 #define BOOST_PP_ITERATION_1 6
50513 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
50514 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
50515 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
50516 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
50517 # 42 "/usr/include/boost/function/detail/maybe_include.hpp" 3 4
50518 #define BOOST_FUNCTION_6 
50519 # 1 "/usr/include/boost/function/function_template.hpp" 1 3 4
50520 # 14 "/usr/include/boost/function/function_template.hpp" 3 4
50521 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
50522
50523 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
50524
50525 #define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
50526
50527 #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
50528
50529 #define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
50530
50531 #define BOOST_FUNCTION_ARG_TYPE(J,I,D) typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(arg, BOOST_PP_CAT(BOOST_PP_INC(I),_type));
50532
50533
50534 #define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
50535
50536
50537
50538 #define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
50539 # 40 "/usr/include/boost/function/function_template.hpp" 3 4
50540 #define BOOST_FUNCTION_COMMA ,
50541
50542
50543
50544 #define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
50545 #define BOOST_FUNCTION_FUNCTION_INVOKER BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
50546
50547 #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
50548
50549 #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
50550
50551 #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
50552
50553 #define BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
50554
50555 #define BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
50556
50557 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
50558
50559 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
50560
50561 #define BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
50562
50563
50564
50565 #define BOOST_FUNCTION_VOID_RETURN_TYPE void
50566 #define BOOST_FUNCTION_RETURN(X) X
50567
50568
50569
50570
50571
50572 namespace boost {
50573   namespace detail {
50574     namespace function {
50575       template<
50576         typename FunctionPtr,
50577         typename R ,
50578         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
50579         >
50580       struct function_invoker6
50581       {
50582         static R invoke(any_pointer function_ptr ,
50583                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5)
50584         {
50585           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
50586           return f( a0 , a1 , a2 , a3 , a4 , a5);
50587         }
50588       };
50589
50590       template<
50591         typename FunctionPtr,
50592         typename R ,
50593         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
50594         >
50595       struct void_function_invoker6
50596       {
50597         static void
50598         invoke(any_pointer function_ptr ,
50599                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5)
50600
50601         {
50602           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
50603           f( a0 , a1 , a2 , a3 , a4 , a5);
50604         }
50605       };
50606
50607       template<
50608         typename FunctionObj,
50609         typename R ,
50610         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
50611       >
50612       struct function_obj_invoker6
50613       {
50614         static R invoke(any_pointer function_obj_ptr ,
50615                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5)
50616
50617         {
50618           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
50619           return (*f)( a0 , a1 , a2 , a3 , a4 , a5);
50620         }
50621       };
50622
50623       template<
50624         typename FunctionObj,
50625         typename R ,
50626         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
50627       >
50628       struct void_function_obj_invoker6
50629       {
50630         static void
50631         invoke(any_pointer function_obj_ptr ,
50632                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5)
50633
50634         {
50635           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
50636           (*f)( a0 , a1 , a2 , a3 , a4 , a5);
50637         }
50638       };
50639
50640       template<
50641         typename FunctionObj,
50642         typename R ,
50643         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
50644       >
50645       struct stateless_function_obj_invoker6
50646       {
50647         static R invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5)
50648         {
50649           FunctionObj f = FunctionObj();
50650           return f( a0 , a1 , a2 , a3 , a4 , a5);
50651         }
50652       };
50653
50654       template<
50655         typename FunctionObj,
50656         typename R ,
50657         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
50658       >
50659       struct stateless_void_function_obj_invoker6
50660       {
50661         static void
50662         invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5)
50663
50664         {
50665           FunctionObj f = FunctionObj();
50666           f( a0 , a1 , a2 , a3 , a4 , a5);
50667         }
50668       };
50669
50670       template<
50671         typename FunctionPtr,
50672         typename R ,
50673         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
50674       >
50675       struct get_function_invoker6
50676       {
50677         typedef typename ct_if<(is_void<R>::value),
50678                             void_function_invoker6<
50679                             FunctionPtr,
50680                             R ,
50681                             T0 , T1 , T2 , T3 , T4 , T5
50682                           >,
50683                           function_invoker6<
50684                             FunctionPtr,
50685                             R ,
50686                             T0 , T1 , T2 , T3 , T4 , T5
50687                           >
50688                        >::type type;
50689       };
50690
50691       template<
50692         typename FunctionObj,
50693         typename R ,
50694         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
50695        >
50696       struct get_function_obj_invoker6
50697       {
50698         typedef typename ct_if<(is_void<R>::value),
50699                             void_function_obj_invoker6<
50700                             FunctionObj,
50701                             R ,
50702                             T0 , T1 , T2 , T3 , T4 , T5
50703                           >,
50704                           function_obj_invoker6<
50705                             FunctionObj,
50706                             R ,
50707                             T0 , T1 , T2 , T3 , T4 , T5
50708                           >
50709                        >::type type;
50710       };
50711
50712       template<
50713         typename FunctionObj,
50714         typename R ,
50715         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
50716        >
50717       struct get_stateless_function_obj_invoker6
50718       {
50719         typedef typename ct_if<(is_void<R>::value),
50720                             stateless_void_function_obj_invoker6<
50721                             FunctionObj,
50722                             R ,
50723                             T0 , T1 , T2 , T3 , T4 , T5
50724                           >,
50725                           stateless_function_obj_invoker6<
50726                             FunctionObj,
50727                             R ,
50728                             T0 , T1 , T2 , T3 , T4 , T5
50729                           >
50730                        >::type type;
50731       };
50732
50733     }
50734   }
50735
50736   template<
50737     typename R ,
50738     typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5,
50739     typename Allocator = std::allocator<function_base>
50740   >
50741   class function6 : public function_base
50742   {
50743   public:
50744
50745     typedef R result_type;
50746
50747
50748
50749
50750
50751   private:
50752     struct clear_type {};
50753
50754   public:
50755     static const int args = 6;
50756
50757
50758     template<typename Args>
50759     struct sig
50760     {
50761       typedef result_type type;
50762     };
50763 # 271 "/usr/include/boost/function/function_template.hpp" 3 4
50764     static const int arity = 6;
50765     typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type; typedef T5 arg6_type;
50766
50767     typedef Allocator allocator_type;
50768     typedef function6 self_type;
50769
50770     function6() : function_base()
50771                               , invoker(0) {}
50772
50773
50774
50775     template<typename Functor>
50776     function6(Functor f
50777
50778                             ,typename enable_if_c<
50779                             (::boost::type_traits::ice_not<
50780                              (is_integral<Functor>::value)>::value),
50781                                         int>::type = 0
50782
50783                             ) :
50784       function_base(),
50785       invoker(0)
50786     {
50787       this->assign_to(f);
50788     }
50789
50790
50791     function6(clear_type*) : function_base(), invoker(0) {}
50792
50793
50794
50795
50796
50797
50798
50799     function6(const function6& f) :
50800       function_base(),
50801       invoker(0)
50802     {
50803       this->assign_to_own(f);
50804     }
50805
50806     ~function6() { clear(); }
50807 # 326 "/usr/include/boost/function/function_template.hpp" 3 4
50808     result_type operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5) const;
50809
50810
50811
50812
50813
50814
50815
50816     template<typename Functor>
50817
50818     typename enable_if_c<
50819                (::boost::type_traits::ice_not<
50820                  (is_integral<Functor>::value)>::value),
50821                function6&>::type
50822
50823
50824
50825     operator=(Functor f)
50826     {
50827       self_type(f).swap(*this);
50828       return *this;
50829     }
50830
50831
50832     function6& operator=(clear_type*)
50833     {
50834       this->clear();
50835       return *this;
50836     }
50837 # 365 "/usr/include/boost/function/function_template.hpp" 3 4
50838     function6& operator=(const function6& f)
50839     {
50840       if (&f == this)
50841         return *this;
50842
50843       self_type(f).swap(*this);
50844       return *this;
50845     }
50846
50847     void swap(function6& other)
50848     {
50849       if (&other == this)
50850         return;
50851
50852       std::swap(this->manager, other.manager);
50853       std::swap(this->functor, other.functor);
50854       std::swap(invoker, other.invoker);
50855     }
50856
50857
50858     void clear()
50859     {
50860       if (this->manager) {
50861         function_base::functor =
50862           this->manager(this->functor, detail::function::destroy_functor_tag);
50863       }
50864
50865       this->manager = 0;
50866       invoker = 0;
50867     }
50868
50869
50870
50871
50872
50873   private:
50874     struct dummy {
50875       void nonnull() {};
50876     };
50877
50878     typedef void (dummy::*safe_bool)();
50879
50880   public:
50881     operator safe_bool () const
50882       { return (this->empty())? 0 : &dummy::nonnull; }
50883
50884     bool operator!() const
50885       { return this->empty(); }
50886
50887
50888   private:
50889     void assign_to_own(const function6& f)
50890     {
50891       if (!f.empty()) {
50892         invoker = f.invoker;
50893         this->manager = f.manager;
50894         this->functor =
50895           f.manager(f.functor, detail::function::clone_functor_tag);
50896       }
50897     }
50898
50899     template<typename Functor>
50900     void assign_to(Functor f)
50901     {
50902       typedef typename detail::function::get_function_tag<Functor>::type tag;
50903       this->assign_to(f, tag());
50904     }
50905
50906     template<typename FunctionPtr>
50907     void assign_to(FunctionPtr f, detail::function::function_ptr_tag)
50908     {
50909       clear();
50910
50911       if (f) {
50912         typedef typename detail::function::get_function_invoker6<
50913                            FunctionPtr,
50914                            R ,
50915                            T0 , T1 , T2 , T3 , T4 , T5
50916                          >::type
50917           actual_invoker_type;
50918
50919         invoker = &actual_invoker_type::invoke;
50920         this->manager =
50921           &detail::function::functor_manager<FunctionPtr, Allocator>::manage;
50922         this->functor =
50923           this->manager(detail::function::make_any_pointer(
50924
50925
50926                             (void (*)())(f)
50927                           ),
50928                           detail::function::clone_functor_tag);
50929       }
50930     }
50931
50932
50933     template<typename MemberPtr>
50934     void assign_to(MemberPtr f, detail::function::member_ptr_tag)
50935     {
50936       this->assign_to(mem_fn(f));
50937     }
50938
50939
50940     template<typename FunctionObj>
50941     void assign_to(FunctionObj f, detail::function::function_obj_tag)
50942     {
50943       if (!detail::function::has_empty_target(boost::addressof(f))) {
50944         typedef
50945           typename detail::function::get_function_obj_invoker6<
50946                                        FunctionObj,
50947                                        R ,
50948                                        T0 , T1 , T2 , T3 , T4 , T5
50949                                      >::type
50950           actual_invoker_type;
50951
50952         invoker = &actual_invoker_type::invoke;
50953         this->manager = &detail::function::functor_manager<
50954                                     FunctionObj, Allocator>::manage;
50955
50956         typedef typename Allocator::template rebind<FunctionObj>::other
50957           rebound_allocator_type;
50958         typedef typename rebound_allocator_type::pointer pointer_type;
50959         rebound_allocator_type allocator;
50960         pointer_type copy = allocator.allocate(1);
50961         allocator.construct(copy, f);
50962
50963
50964         FunctionObj* new_f = static_cast<FunctionObj*>(copy);
50965
50966
50967
50968         this->functor =
50969           detail::function::make_any_pointer(static_cast<void*>(new_f));
50970       }
50971     }
50972
50973     template<typename FunctionObj>
50974     void assign_to(const reference_wrapper<FunctionObj>& f,
50975                    detail::function::function_obj_ref_tag)
50976     {
50977       if (!detail::function::has_empty_target(f.get_pointer())) {
50978         typedef
50979           typename detail::function::get_function_obj_invoker6<
50980                                        FunctionObj,
50981                                        R ,
50982                                        T0 , T1 , T2 , T3 , T4 , T5
50983                                      >::type
50984           actual_invoker_type;
50985
50986         invoker = &actual_invoker_type::invoke;
50987         this->manager = &detail::function::trivial_manager<FunctionObj>::get;
50988         this->functor =
50989           this->manager(
50990             detail::function::make_any_pointer(
50991               const_cast<FunctionObj*>(f.get_pointer())),
50992             detail::function::clone_functor_tag);
50993       }
50994     }
50995
50996     template<typename FunctionObj>
50997     void assign_to(FunctionObj, detail::function::stateless_function_obj_tag)
50998     {
50999       typedef
51000           typename detail::function::
51001                      get_stateless_function_obj_invoker6<
51002                        FunctionObj,
51003                        R ,
51004                        T0 , T1 , T2 , T3 , T4 , T5
51005                      >::type
51006           actual_invoker_type;
51007       invoker = &actual_invoker_type::invoke;
51008       this->manager = &detail::function::trivial_manager<FunctionObj>::get;
51009       this->functor = detail::function::make_any_pointer(this);
51010     }
51011
51012     typedef result_type (*invoker_type)(detail::function::any_pointer
51013                                         ,
51014                                         T0 , T1 , T2 , T3 , T4 , T5);
51015
51016     invoker_type invoker;
51017   };
51018
51019   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 ,
51020            typename Allocator>
51021   inline void swap(function6<
51022                      R ,
51023                      T0 , T1 , T2 , T3 , T4 , T5 ,
51024                      Allocator
51025                    >& f1,
51026                    function6<
51027                      R ,
51028                      T0 , T1 , T2 , T3 , T4 , T5,
51029                      Allocator
51030                    >& f2)
51031   {
51032     f1.swap(f2);
51033   }
51034
51035
51036   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5,
51037            typename Allocator>
51038   typename function6<
51039       R , T0 , T1 , T2 , T3 , T4 , T5,
51040       Allocator>::result_type
51041    function6<R , T0 , T1 , T2 , T3 , T4 , T5,
51042
51043                            Allocator>
51044   ::operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5) const
51045   {
51046     if (this->empty())
51047       boost::throw_exception(bad_function_call());
51048
51049     return invoker(this->functor , a0 , a1 , a2 , a3 , a4 , a5);
51050   }
51051
51052
51053
51054 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 ,
51055          typename Allocator>
51056   void operator==(const function6<
51057                           R ,
51058                           T0 , T1 , T2 , T3 , T4 , T5 ,
51059                           Allocator>&,
51060                   const function6<
51061                           R ,
51062                           T0 , T1 , T2 , T3 , T4 , T5 ,
51063                   Allocator>&);
51064 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 ,
51065          typename Allocator>
51066   void operator!=(const function6<
51067                           R ,
51068                           T0 , T1 , T2 , T3 , T4 , T5 ,
51069                           Allocator>&,
51070                   const function6<
51071                           R ,
51072                           T0 , T1 , T2 , T3 , T4 , T5 ,
51073                   Allocator>&);
51074
51075
51076
51077
51078
51079
51080 #define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
51081
51082
51083 template<typename R ,
51084          typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5,
51085          typename Allocator>
51086 class function<R ( T0 , T1 , T2 , T3 , T4 , T5), Allocator>
51087   : public function6<R, T0 , T1 , T2 , T3 , T4 , T5
51088                                    , Allocator>
51089 {
51090   typedef function6<R, T0 , T1 , T2 , T3 , T4 , T5
51091                                   , Allocator> base_type;
51092   typedef function self_type;
51093
51094   struct clear_type {};
51095
51096 public:
51097   typedef typename base_type::allocator_type allocator_type;
51098
51099   function() : base_type() {}
51100
51101   template<typename Functor>
51102   function(Functor f
51103
51104            ,typename enable_if_c<
51105                             (::boost::type_traits::ice_not<
51106                           (is_integral<Functor>::value)>::value),
51107                        int>::type = 0
51108
51109            ) :
51110     base_type(f)
51111   {
51112   }
51113
51114
51115   function(clear_type*) : base_type() {}
51116
51117
51118   function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
51119
51120   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
51121
51122   self_type& operator=(const self_type& f)
51123   {
51124     self_type(f).swap(*this);
51125     return *this;
51126   }
51127
51128   template<typename Functor>
51129
51130   typename enable_if_c<
51131                             (::boost::type_traits::ice_not<
51132                          (is_integral<Functor>::value)>::value),
51133                       self_type&>::type
51134
51135
51136
51137   operator=(Functor f)
51138   {
51139     self_type(f).swap(*this);
51140     return *this;
51141   }
51142
51143
51144   self_type& operator=(clear_type*)
51145   {
51146     this->clear();
51147     return *this;
51148   }
51149
51150
51151   self_type& operator=(const base_type& f)
51152   {
51153     self_type(f).swap(*this);
51154     return *this;
51155   }
51156 };
51157
51158 #undef BOOST_FUNCTION_PARTIAL_SPEC
51159
51160
51161 }
51162
51163
51164 #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
51165 #undef BOOST_FUNCTION_COMMA
51166 #undef BOOST_FUNCTION_FUNCTION
51167 #undef BOOST_FUNCTION_FUNCTION_INVOKER
51168 #undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
51169 #undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
51170 #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
51171 #undef BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER
51172 #undef BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER
51173 #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
51174 #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
51175 #undef BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER
51176 #undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
51177 #undef BOOST_FUNCTION_TEMPLATE_PARMS
51178 #undef BOOST_FUNCTION_TEMPLATE_ARGS
51179 #undef BOOST_FUNCTION_PARMS
51180 #undef BOOST_FUNCTION_PARM
51181 #undef BOOST_FUNCTION_ARGS
51182 #undef BOOST_FUNCTION_ARG_TYPE
51183 #undef BOOST_FUNCTION_ARG_TYPES
51184 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
51185 #undef BOOST_FUNCTION_RETURN
51186 # 44 "/usr/include/boost/function/detail/maybe_include.hpp" 2 3 4
51187 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
51188 #undef BOOST_FUNCTION_NUM_ARGS
51189 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
51190 #undef BOOST_PP_ITERATION_1
51191
51192
51193 #define BOOST_PP_ITERATION_1 7
51194 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
51195 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
51196 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
51197 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
51198 # 47 "/usr/include/boost/function/detail/maybe_include.hpp" 3 4
51199 #define BOOST_FUNCTION_7 
51200 # 1 "/usr/include/boost/function/function_template.hpp" 1 3 4
51201 # 14 "/usr/include/boost/function/function_template.hpp" 3 4
51202 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
51203
51204 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
51205
51206 #define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
51207
51208 #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
51209
51210 #define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
51211
51212 #define BOOST_FUNCTION_ARG_TYPE(J,I,D) typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(arg, BOOST_PP_CAT(BOOST_PP_INC(I),_type));
51213
51214
51215 #define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
51216
51217
51218
51219 #define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
51220 # 40 "/usr/include/boost/function/function_template.hpp" 3 4
51221 #define BOOST_FUNCTION_COMMA ,
51222
51223
51224
51225 #define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
51226 #define BOOST_FUNCTION_FUNCTION_INVOKER BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
51227
51228 #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
51229
51230 #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51231
51232 #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51233
51234 #define BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51235
51236 #define BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51237
51238 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
51239
51240 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51241
51242 #define BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51243
51244
51245
51246 #define BOOST_FUNCTION_VOID_RETURN_TYPE void
51247 #define BOOST_FUNCTION_RETURN(X) X
51248
51249
51250
51251
51252
51253 namespace boost {
51254   namespace detail {
51255     namespace function {
51256       template<
51257         typename FunctionPtr,
51258         typename R ,
51259         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
51260         >
51261       struct function_invoker7
51262       {
51263         static R invoke(any_pointer function_ptr ,
51264                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6)
51265         {
51266           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
51267           return f( a0 , a1 , a2 , a3 , a4 , a5 , a6);
51268         }
51269       };
51270
51271       template<
51272         typename FunctionPtr,
51273         typename R ,
51274         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
51275         >
51276       struct void_function_invoker7
51277       {
51278         static void
51279         invoke(any_pointer function_ptr ,
51280                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6)
51281
51282         {
51283           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
51284           f( a0 , a1 , a2 , a3 , a4 , a5 , a6);
51285         }
51286       };
51287
51288       template<
51289         typename FunctionObj,
51290         typename R ,
51291         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
51292       >
51293       struct function_obj_invoker7
51294       {
51295         static R invoke(any_pointer function_obj_ptr ,
51296                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6)
51297
51298         {
51299           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
51300           return (*f)( a0 , a1 , a2 , a3 , a4 , a5 , a6);
51301         }
51302       };
51303
51304       template<
51305         typename FunctionObj,
51306         typename R ,
51307         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
51308       >
51309       struct void_function_obj_invoker7
51310       {
51311         static void
51312         invoke(any_pointer function_obj_ptr ,
51313                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6)
51314
51315         {
51316           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
51317           (*f)( a0 , a1 , a2 , a3 , a4 , a5 , a6);
51318         }
51319       };
51320
51321       template<
51322         typename FunctionObj,
51323         typename R ,
51324         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
51325       >
51326       struct stateless_function_obj_invoker7
51327       {
51328         static R invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6)
51329         {
51330           FunctionObj f = FunctionObj();
51331           return f( a0 , a1 , a2 , a3 , a4 , a5 , a6);
51332         }
51333       };
51334
51335       template<
51336         typename FunctionObj,
51337         typename R ,
51338         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
51339       >
51340       struct stateless_void_function_obj_invoker7
51341       {
51342         static void
51343         invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6)
51344
51345         {
51346           FunctionObj f = FunctionObj();
51347           f( a0 , a1 , a2 , a3 , a4 , a5 , a6);
51348         }
51349       };
51350
51351       template<
51352         typename FunctionPtr,
51353         typename R ,
51354         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
51355       >
51356       struct get_function_invoker7
51357       {
51358         typedef typename ct_if<(is_void<R>::value),
51359                             void_function_invoker7<
51360                             FunctionPtr,
51361                             R ,
51362                             T0 , T1 , T2 , T3 , T4 , T5 , T6
51363                           >,
51364                           function_invoker7<
51365                             FunctionPtr,
51366                             R ,
51367                             T0 , T1 , T2 , T3 , T4 , T5 , T6
51368                           >
51369                        >::type type;
51370       };
51371
51372       template<
51373         typename FunctionObj,
51374         typename R ,
51375         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
51376        >
51377       struct get_function_obj_invoker7
51378       {
51379         typedef typename ct_if<(is_void<R>::value),
51380                             void_function_obj_invoker7<
51381                             FunctionObj,
51382                             R ,
51383                             T0 , T1 , T2 , T3 , T4 , T5 , T6
51384                           >,
51385                           function_obj_invoker7<
51386                             FunctionObj,
51387                             R ,
51388                             T0 , T1 , T2 , T3 , T4 , T5 , T6
51389                           >
51390                        >::type type;
51391       };
51392
51393       template<
51394         typename FunctionObj,
51395         typename R ,
51396         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
51397        >
51398       struct get_stateless_function_obj_invoker7
51399       {
51400         typedef typename ct_if<(is_void<R>::value),
51401                             stateless_void_function_obj_invoker7<
51402                             FunctionObj,
51403                             R ,
51404                             T0 , T1 , T2 , T3 , T4 , T5 , T6
51405                           >,
51406                           stateless_function_obj_invoker7<
51407                             FunctionObj,
51408                             R ,
51409                             T0 , T1 , T2 , T3 , T4 , T5 , T6
51410                           >
51411                        >::type type;
51412       };
51413
51414     }
51415   }
51416
51417   template<
51418     typename R ,
51419     typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6,
51420     typename Allocator = std::allocator<function_base>
51421   >
51422   class function7 : public function_base
51423   {
51424   public:
51425
51426     typedef R result_type;
51427
51428
51429
51430
51431
51432   private:
51433     struct clear_type {};
51434
51435   public:
51436     static const int args = 7;
51437
51438
51439     template<typename Args>
51440     struct sig
51441     {
51442       typedef result_type type;
51443     };
51444 # 271 "/usr/include/boost/function/function_template.hpp" 3 4
51445     static const int arity = 7;
51446     typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type; typedef T5 arg6_type; typedef T6 arg7_type;
51447
51448     typedef Allocator allocator_type;
51449     typedef function7 self_type;
51450
51451     function7() : function_base()
51452                               , invoker(0) {}
51453
51454
51455
51456     template<typename Functor>
51457     function7(Functor f
51458
51459                             ,typename enable_if_c<
51460                             (::boost::type_traits::ice_not<
51461                              (is_integral<Functor>::value)>::value),
51462                                         int>::type = 0
51463
51464                             ) :
51465       function_base(),
51466       invoker(0)
51467     {
51468       this->assign_to(f);
51469     }
51470
51471
51472     function7(clear_type*) : function_base(), invoker(0) {}
51473
51474
51475
51476
51477
51478
51479
51480     function7(const function7& f) :
51481       function_base(),
51482       invoker(0)
51483     {
51484       this->assign_to_own(f);
51485     }
51486
51487     ~function7() { clear(); }
51488 # 326 "/usr/include/boost/function/function_template.hpp" 3 4
51489     result_type operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6) const;
51490
51491
51492
51493
51494
51495
51496
51497     template<typename Functor>
51498
51499     typename enable_if_c<
51500                (::boost::type_traits::ice_not<
51501                  (is_integral<Functor>::value)>::value),
51502                function7&>::type
51503
51504
51505
51506     operator=(Functor f)
51507     {
51508       self_type(f).swap(*this);
51509       return *this;
51510     }
51511
51512
51513     function7& operator=(clear_type*)
51514     {
51515       this->clear();
51516       return *this;
51517     }
51518 # 365 "/usr/include/boost/function/function_template.hpp" 3 4
51519     function7& operator=(const function7& f)
51520     {
51521       if (&f == this)
51522         return *this;
51523
51524       self_type(f).swap(*this);
51525       return *this;
51526     }
51527
51528     void swap(function7& other)
51529     {
51530       if (&other == this)
51531         return;
51532
51533       std::swap(this->manager, other.manager);
51534       std::swap(this->functor, other.functor);
51535       std::swap(invoker, other.invoker);
51536     }
51537
51538
51539     void clear()
51540     {
51541       if (this->manager) {
51542         function_base::functor =
51543           this->manager(this->functor, detail::function::destroy_functor_tag);
51544       }
51545
51546       this->manager = 0;
51547       invoker = 0;
51548     }
51549
51550
51551
51552
51553
51554   private:
51555     struct dummy {
51556       void nonnull() {};
51557     };
51558
51559     typedef void (dummy::*safe_bool)();
51560
51561   public:
51562     operator safe_bool () const
51563       { return (this->empty())? 0 : &dummy::nonnull; }
51564
51565     bool operator!() const
51566       { return this->empty(); }
51567
51568
51569   private:
51570     void assign_to_own(const function7& f)
51571     {
51572       if (!f.empty()) {
51573         invoker = f.invoker;
51574         this->manager = f.manager;
51575         this->functor =
51576           f.manager(f.functor, detail::function::clone_functor_tag);
51577       }
51578     }
51579
51580     template<typename Functor>
51581     void assign_to(Functor f)
51582     {
51583       typedef typename detail::function::get_function_tag<Functor>::type tag;
51584       this->assign_to(f, tag());
51585     }
51586
51587     template<typename FunctionPtr>
51588     void assign_to(FunctionPtr f, detail::function::function_ptr_tag)
51589     {
51590       clear();
51591
51592       if (f) {
51593         typedef typename detail::function::get_function_invoker7<
51594                            FunctionPtr,
51595                            R ,
51596                            T0 , T1 , T2 , T3 , T4 , T5 , T6
51597                          >::type
51598           actual_invoker_type;
51599
51600         invoker = &actual_invoker_type::invoke;
51601         this->manager =
51602           &detail::function::functor_manager<FunctionPtr, Allocator>::manage;
51603         this->functor =
51604           this->manager(detail::function::make_any_pointer(
51605
51606
51607                             (void (*)())(f)
51608                           ),
51609                           detail::function::clone_functor_tag);
51610       }
51611     }
51612
51613
51614     template<typename MemberPtr>
51615     void assign_to(MemberPtr f, detail::function::member_ptr_tag)
51616     {
51617       this->assign_to(mem_fn(f));
51618     }
51619
51620
51621     template<typename FunctionObj>
51622     void assign_to(FunctionObj f, detail::function::function_obj_tag)
51623     {
51624       if (!detail::function::has_empty_target(boost::addressof(f))) {
51625         typedef
51626           typename detail::function::get_function_obj_invoker7<
51627                                        FunctionObj,
51628                                        R ,
51629                                        T0 , T1 , T2 , T3 , T4 , T5 , T6
51630                                      >::type
51631           actual_invoker_type;
51632
51633         invoker = &actual_invoker_type::invoke;
51634         this->manager = &detail::function::functor_manager<
51635                                     FunctionObj, Allocator>::manage;
51636
51637         typedef typename Allocator::template rebind<FunctionObj>::other
51638           rebound_allocator_type;
51639         typedef typename rebound_allocator_type::pointer pointer_type;
51640         rebound_allocator_type allocator;
51641         pointer_type copy = allocator.allocate(1);
51642         allocator.construct(copy, f);
51643
51644
51645         FunctionObj* new_f = static_cast<FunctionObj*>(copy);
51646
51647
51648
51649         this->functor =
51650           detail::function::make_any_pointer(static_cast<void*>(new_f));
51651       }
51652     }
51653
51654     template<typename FunctionObj>
51655     void assign_to(const reference_wrapper<FunctionObj>& f,
51656                    detail::function::function_obj_ref_tag)
51657     {
51658       if (!detail::function::has_empty_target(f.get_pointer())) {
51659         typedef
51660           typename detail::function::get_function_obj_invoker7<
51661                                        FunctionObj,
51662                                        R ,
51663                                        T0 , T1 , T2 , T3 , T4 , T5 , T6
51664                                      >::type
51665           actual_invoker_type;
51666
51667         invoker = &actual_invoker_type::invoke;
51668         this->manager = &detail::function::trivial_manager<FunctionObj>::get;
51669         this->functor =
51670           this->manager(
51671             detail::function::make_any_pointer(
51672               const_cast<FunctionObj*>(f.get_pointer())),
51673             detail::function::clone_functor_tag);
51674       }
51675     }
51676
51677     template<typename FunctionObj>
51678     void assign_to(FunctionObj, detail::function::stateless_function_obj_tag)
51679     {
51680       typedef
51681           typename detail::function::
51682                      get_stateless_function_obj_invoker7<
51683                        FunctionObj,
51684                        R ,
51685                        T0 , T1 , T2 , T3 , T4 , T5 , T6
51686                      >::type
51687           actual_invoker_type;
51688       invoker = &actual_invoker_type::invoke;
51689       this->manager = &detail::function::trivial_manager<FunctionObj>::get;
51690       this->functor = detail::function::make_any_pointer(this);
51691     }
51692
51693     typedef result_type (*invoker_type)(detail::function::any_pointer
51694                                         ,
51695                                         T0 , T1 , T2 , T3 , T4 , T5 , T6);
51696
51697     invoker_type invoker;
51698   };
51699
51700   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 ,
51701            typename Allocator>
51702   inline void swap(function7<
51703                      R ,
51704                      T0 , T1 , T2 , T3 , T4 , T5 , T6 ,
51705                      Allocator
51706                    >& f1,
51707                    function7<
51708                      R ,
51709                      T0 , T1 , T2 , T3 , T4 , T5 , T6,
51710                      Allocator
51711                    >& f2)
51712   {
51713     f1.swap(f2);
51714   }
51715
51716
51717   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6,
51718            typename Allocator>
51719   typename function7<
51720       R , T0 , T1 , T2 , T3 , T4 , T5 , T6,
51721       Allocator>::result_type
51722    function7<R , T0 , T1 , T2 , T3 , T4 , T5 , T6,
51723
51724                            Allocator>
51725   ::operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6) const
51726   {
51727     if (this->empty())
51728       boost::throw_exception(bad_function_call());
51729
51730     return invoker(this->functor , a0 , a1 , a2 , a3 , a4 , a5 , a6);
51731   }
51732
51733
51734
51735 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 ,
51736          typename Allocator>
51737   void operator==(const function7<
51738                           R ,
51739                           T0 , T1 , T2 , T3 , T4 , T5 , T6 ,
51740                           Allocator>&,
51741                   const function7<
51742                           R ,
51743                           T0 , T1 , T2 , T3 , T4 , T5 , T6 ,
51744                   Allocator>&);
51745 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 ,
51746          typename Allocator>
51747   void operator!=(const function7<
51748                           R ,
51749                           T0 , T1 , T2 , T3 , T4 , T5 , T6 ,
51750                           Allocator>&,
51751                   const function7<
51752                           R ,
51753                           T0 , T1 , T2 , T3 , T4 , T5 , T6 ,
51754                   Allocator>&);
51755
51756
51757
51758
51759
51760
51761 #define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
51762
51763
51764 template<typename R ,
51765          typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6,
51766          typename Allocator>
51767 class function<R ( T0 , T1 , T2 , T3 , T4 , T5 , T6), Allocator>
51768   : public function7<R, T0 , T1 , T2 , T3 , T4 , T5 , T6
51769                                    , Allocator>
51770 {
51771   typedef function7<R, T0 , T1 , T2 , T3 , T4 , T5 , T6
51772                                   , Allocator> base_type;
51773   typedef function self_type;
51774
51775   struct clear_type {};
51776
51777 public:
51778   typedef typename base_type::allocator_type allocator_type;
51779
51780   function() : base_type() {}
51781
51782   template<typename Functor>
51783   function(Functor f
51784
51785            ,typename enable_if_c<
51786                             (::boost::type_traits::ice_not<
51787                           (is_integral<Functor>::value)>::value),
51788                        int>::type = 0
51789
51790            ) :
51791     base_type(f)
51792   {
51793   }
51794
51795
51796   function(clear_type*) : base_type() {}
51797
51798
51799   function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
51800
51801   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
51802
51803   self_type& operator=(const self_type& f)
51804   {
51805     self_type(f).swap(*this);
51806     return *this;
51807   }
51808
51809   template<typename Functor>
51810
51811   typename enable_if_c<
51812                             (::boost::type_traits::ice_not<
51813                          (is_integral<Functor>::value)>::value),
51814                       self_type&>::type
51815
51816
51817
51818   operator=(Functor f)
51819   {
51820     self_type(f).swap(*this);
51821     return *this;
51822   }
51823
51824
51825   self_type& operator=(clear_type*)
51826   {
51827     this->clear();
51828     return *this;
51829   }
51830
51831
51832   self_type& operator=(const base_type& f)
51833   {
51834     self_type(f).swap(*this);
51835     return *this;
51836   }
51837 };
51838
51839 #undef BOOST_FUNCTION_PARTIAL_SPEC
51840
51841
51842 }
51843
51844
51845 #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
51846 #undef BOOST_FUNCTION_COMMA
51847 #undef BOOST_FUNCTION_FUNCTION
51848 #undef BOOST_FUNCTION_FUNCTION_INVOKER
51849 #undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
51850 #undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
51851 #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
51852 #undef BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER
51853 #undef BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER
51854 #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
51855 #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
51856 #undef BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER
51857 #undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
51858 #undef BOOST_FUNCTION_TEMPLATE_PARMS
51859 #undef BOOST_FUNCTION_TEMPLATE_ARGS
51860 #undef BOOST_FUNCTION_PARMS
51861 #undef BOOST_FUNCTION_PARM
51862 #undef BOOST_FUNCTION_ARGS
51863 #undef BOOST_FUNCTION_ARG_TYPE
51864 #undef BOOST_FUNCTION_ARG_TYPES
51865 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
51866 #undef BOOST_FUNCTION_RETURN
51867 # 49 "/usr/include/boost/function/detail/maybe_include.hpp" 2 3 4
51868 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
51869 #undef BOOST_FUNCTION_NUM_ARGS
51870 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
51871 #undef BOOST_PP_ITERATION_1
51872
51873
51874 #define BOOST_PP_ITERATION_1 8
51875 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
51876 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
51877 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
51878 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
51879 # 52 "/usr/include/boost/function/detail/maybe_include.hpp" 3 4
51880 #define BOOST_FUNCTION_8 
51881 # 1 "/usr/include/boost/function/function_template.hpp" 1 3 4
51882 # 14 "/usr/include/boost/function/function_template.hpp" 3 4
51883 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
51884
51885 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
51886
51887 #define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
51888
51889 #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
51890
51891 #define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
51892
51893 #define BOOST_FUNCTION_ARG_TYPE(J,I,D) typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(arg, BOOST_PP_CAT(BOOST_PP_INC(I),_type));
51894
51895
51896 #define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
51897
51898
51899
51900 #define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
51901 # 40 "/usr/include/boost/function/function_template.hpp" 3 4
51902 #define BOOST_FUNCTION_COMMA ,
51903
51904
51905
51906 #define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
51907 #define BOOST_FUNCTION_FUNCTION_INVOKER BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
51908
51909 #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
51910
51911 #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51912
51913 #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51914
51915 #define BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51916
51917 #define BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51918
51919 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
51920
51921 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51922
51923 #define BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
51924
51925
51926
51927 #define BOOST_FUNCTION_VOID_RETURN_TYPE void
51928 #define BOOST_FUNCTION_RETURN(X) X
51929
51930
51931
51932
51933
51934 namespace boost {
51935   namespace detail {
51936     namespace function {
51937       template<
51938         typename FunctionPtr,
51939         typename R ,
51940         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
51941         >
51942       struct function_invoker8
51943       {
51944         static R invoke(any_pointer function_ptr ,
51945                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7)
51946         {
51947           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
51948           return f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
51949         }
51950       };
51951
51952       template<
51953         typename FunctionPtr,
51954         typename R ,
51955         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
51956         >
51957       struct void_function_invoker8
51958       {
51959         static void
51960         invoke(any_pointer function_ptr ,
51961                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7)
51962
51963         {
51964           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
51965           f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
51966         }
51967       };
51968
51969       template<
51970         typename FunctionObj,
51971         typename R ,
51972         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
51973       >
51974       struct function_obj_invoker8
51975       {
51976         static R invoke(any_pointer function_obj_ptr ,
51977                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7)
51978
51979         {
51980           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
51981           return (*f)( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
51982         }
51983       };
51984
51985       template<
51986         typename FunctionObj,
51987         typename R ,
51988         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
51989       >
51990       struct void_function_obj_invoker8
51991       {
51992         static void
51993         invoke(any_pointer function_obj_ptr ,
51994                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7)
51995
51996         {
51997           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
51998           (*f)( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
51999         }
52000       };
52001
52002       template<
52003         typename FunctionObj,
52004         typename R ,
52005         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
52006       >
52007       struct stateless_function_obj_invoker8
52008       {
52009         static R invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7)
52010         {
52011           FunctionObj f = FunctionObj();
52012           return f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
52013         }
52014       };
52015
52016       template<
52017         typename FunctionObj,
52018         typename R ,
52019         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
52020       >
52021       struct stateless_void_function_obj_invoker8
52022       {
52023         static void
52024         invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7)
52025
52026         {
52027           FunctionObj f = FunctionObj();
52028           f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
52029         }
52030       };
52031
52032       template<
52033         typename FunctionPtr,
52034         typename R ,
52035         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
52036       >
52037       struct get_function_invoker8
52038       {
52039         typedef typename ct_if<(is_void<R>::value),
52040                             void_function_invoker8<
52041                             FunctionPtr,
52042                             R ,
52043                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52044                           >,
52045                           function_invoker8<
52046                             FunctionPtr,
52047                             R ,
52048                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52049                           >
52050                        >::type type;
52051       };
52052
52053       template<
52054         typename FunctionObj,
52055         typename R ,
52056         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
52057        >
52058       struct get_function_obj_invoker8
52059       {
52060         typedef typename ct_if<(is_void<R>::value),
52061                             void_function_obj_invoker8<
52062                             FunctionObj,
52063                             R ,
52064                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52065                           >,
52066                           function_obj_invoker8<
52067                             FunctionObj,
52068                             R ,
52069                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52070                           >
52071                        >::type type;
52072       };
52073
52074       template<
52075         typename FunctionObj,
52076         typename R ,
52077         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
52078        >
52079       struct get_stateless_function_obj_invoker8
52080       {
52081         typedef typename ct_if<(is_void<R>::value),
52082                             stateless_void_function_obj_invoker8<
52083                             FunctionObj,
52084                             R ,
52085                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52086                           >,
52087                           stateless_function_obj_invoker8<
52088                             FunctionObj,
52089                             R ,
52090                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52091                           >
52092                        >::type type;
52093       };
52094
52095     }
52096   }
52097
52098   template<
52099     typename R ,
52100     typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7,
52101     typename Allocator = std::allocator<function_base>
52102   >
52103   class function8 : public function_base
52104   {
52105   public:
52106
52107     typedef R result_type;
52108
52109
52110
52111
52112
52113   private:
52114     struct clear_type {};
52115
52116   public:
52117     static const int args = 8;
52118
52119
52120     template<typename Args>
52121     struct sig
52122     {
52123       typedef result_type type;
52124     };
52125 # 271 "/usr/include/boost/function/function_template.hpp" 3 4
52126     static const int arity = 8;
52127     typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type; typedef T5 arg6_type; typedef T6 arg7_type; typedef T7 arg8_type;
52128
52129     typedef Allocator allocator_type;
52130     typedef function8 self_type;
52131
52132     function8() : function_base()
52133                               , invoker(0) {}
52134
52135
52136
52137     template<typename Functor>
52138     function8(Functor f
52139
52140                             ,typename enable_if_c<
52141                             (::boost::type_traits::ice_not<
52142                              (is_integral<Functor>::value)>::value),
52143                                         int>::type = 0
52144
52145                             ) :
52146       function_base(),
52147       invoker(0)
52148     {
52149       this->assign_to(f);
52150     }
52151
52152
52153     function8(clear_type*) : function_base(), invoker(0) {}
52154
52155
52156
52157
52158
52159
52160
52161     function8(const function8& f) :
52162       function_base(),
52163       invoker(0)
52164     {
52165       this->assign_to_own(f);
52166     }
52167
52168     ~function8() { clear(); }
52169 # 326 "/usr/include/boost/function/function_template.hpp" 3 4
52170     result_type operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7) const;
52171
52172
52173
52174
52175
52176
52177
52178     template<typename Functor>
52179
52180     typename enable_if_c<
52181                (::boost::type_traits::ice_not<
52182                  (is_integral<Functor>::value)>::value),
52183                function8&>::type
52184
52185
52186
52187     operator=(Functor f)
52188     {
52189       self_type(f).swap(*this);
52190       return *this;
52191     }
52192
52193
52194     function8& operator=(clear_type*)
52195     {
52196       this->clear();
52197       return *this;
52198     }
52199 # 365 "/usr/include/boost/function/function_template.hpp" 3 4
52200     function8& operator=(const function8& f)
52201     {
52202       if (&f == this)
52203         return *this;
52204
52205       self_type(f).swap(*this);
52206       return *this;
52207     }
52208
52209     void swap(function8& other)
52210     {
52211       if (&other == this)
52212         return;
52213
52214       std::swap(this->manager, other.manager);
52215       std::swap(this->functor, other.functor);
52216       std::swap(invoker, other.invoker);
52217     }
52218
52219
52220     void clear()
52221     {
52222       if (this->manager) {
52223         function_base::functor =
52224           this->manager(this->functor, detail::function::destroy_functor_tag);
52225       }
52226
52227       this->manager = 0;
52228       invoker = 0;
52229     }
52230
52231
52232
52233
52234
52235   private:
52236     struct dummy {
52237       void nonnull() {};
52238     };
52239
52240     typedef void (dummy::*safe_bool)();
52241
52242   public:
52243     operator safe_bool () const
52244       { return (this->empty())? 0 : &dummy::nonnull; }
52245
52246     bool operator!() const
52247       { return this->empty(); }
52248
52249
52250   private:
52251     void assign_to_own(const function8& f)
52252     {
52253       if (!f.empty()) {
52254         invoker = f.invoker;
52255         this->manager = f.manager;
52256         this->functor =
52257           f.manager(f.functor, detail::function::clone_functor_tag);
52258       }
52259     }
52260
52261     template<typename Functor>
52262     void assign_to(Functor f)
52263     {
52264       typedef typename detail::function::get_function_tag<Functor>::type tag;
52265       this->assign_to(f, tag());
52266     }
52267
52268     template<typename FunctionPtr>
52269     void assign_to(FunctionPtr f, detail::function::function_ptr_tag)
52270     {
52271       clear();
52272
52273       if (f) {
52274         typedef typename detail::function::get_function_invoker8<
52275                            FunctionPtr,
52276                            R ,
52277                            T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52278                          >::type
52279           actual_invoker_type;
52280
52281         invoker = &actual_invoker_type::invoke;
52282         this->manager =
52283           &detail::function::functor_manager<FunctionPtr, Allocator>::manage;
52284         this->functor =
52285           this->manager(detail::function::make_any_pointer(
52286
52287
52288                             (void (*)())(f)
52289                           ),
52290                           detail::function::clone_functor_tag);
52291       }
52292     }
52293
52294
52295     template<typename MemberPtr>
52296     void assign_to(MemberPtr f, detail::function::member_ptr_tag)
52297     {
52298       this->assign_to(mem_fn(f));
52299     }
52300
52301
52302     template<typename FunctionObj>
52303     void assign_to(FunctionObj f, detail::function::function_obj_tag)
52304     {
52305       if (!detail::function::has_empty_target(boost::addressof(f))) {
52306         typedef
52307           typename detail::function::get_function_obj_invoker8<
52308                                        FunctionObj,
52309                                        R ,
52310                                        T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52311                                      >::type
52312           actual_invoker_type;
52313
52314         invoker = &actual_invoker_type::invoke;
52315         this->manager = &detail::function::functor_manager<
52316                                     FunctionObj, Allocator>::manage;
52317
52318         typedef typename Allocator::template rebind<FunctionObj>::other
52319           rebound_allocator_type;
52320         typedef typename rebound_allocator_type::pointer pointer_type;
52321         rebound_allocator_type allocator;
52322         pointer_type copy = allocator.allocate(1);
52323         allocator.construct(copy, f);
52324
52325
52326         FunctionObj* new_f = static_cast<FunctionObj*>(copy);
52327
52328
52329
52330         this->functor =
52331           detail::function::make_any_pointer(static_cast<void*>(new_f));
52332       }
52333     }
52334
52335     template<typename FunctionObj>
52336     void assign_to(const reference_wrapper<FunctionObj>& f,
52337                    detail::function::function_obj_ref_tag)
52338     {
52339       if (!detail::function::has_empty_target(f.get_pointer())) {
52340         typedef
52341           typename detail::function::get_function_obj_invoker8<
52342                                        FunctionObj,
52343                                        R ,
52344                                        T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52345                                      >::type
52346           actual_invoker_type;
52347
52348         invoker = &actual_invoker_type::invoke;
52349         this->manager = &detail::function::trivial_manager<FunctionObj>::get;
52350         this->functor =
52351           this->manager(
52352             detail::function::make_any_pointer(
52353               const_cast<FunctionObj*>(f.get_pointer())),
52354             detail::function::clone_functor_tag);
52355       }
52356     }
52357
52358     template<typename FunctionObj>
52359     void assign_to(FunctionObj, detail::function::stateless_function_obj_tag)
52360     {
52361       typedef
52362           typename detail::function::
52363                      get_stateless_function_obj_invoker8<
52364                        FunctionObj,
52365                        R ,
52366                        T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52367                      >::type
52368           actual_invoker_type;
52369       invoker = &actual_invoker_type::invoke;
52370       this->manager = &detail::function::trivial_manager<FunctionObj>::get;
52371       this->functor = detail::function::make_any_pointer(this);
52372     }
52373
52374     typedef result_type (*invoker_type)(detail::function::any_pointer
52375                                         ,
52376                                         T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7);
52377
52378     invoker_type invoker;
52379   };
52380
52381   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 ,
52382            typename Allocator>
52383   inline void swap(function8<
52384                      R ,
52385                      T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
52386                      Allocator
52387                    >& f1,
52388                    function8<
52389                      R ,
52390                      T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7,
52391                      Allocator
52392                    >& f2)
52393   {
52394     f1.swap(f2);
52395   }
52396
52397
52398   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7,
52399            typename Allocator>
52400   typename function8<
52401       R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7,
52402       Allocator>::result_type
52403    function8<R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7,
52404
52405                            Allocator>
52406   ::operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7) const
52407   {
52408     if (this->empty())
52409       boost::throw_exception(bad_function_call());
52410
52411     return invoker(this->functor , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
52412   }
52413
52414
52415
52416 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 ,
52417          typename Allocator>
52418   void operator==(const function8<
52419                           R ,
52420                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
52421                           Allocator>&,
52422                   const function8<
52423                           R ,
52424                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
52425                   Allocator>&);
52426 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 ,
52427          typename Allocator>
52428   void operator!=(const function8<
52429                           R ,
52430                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
52431                           Allocator>&,
52432                   const function8<
52433                           R ,
52434                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
52435                   Allocator>&);
52436
52437
52438
52439
52440
52441
52442 #define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
52443
52444
52445 template<typename R ,
52446          typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7,
52447          typename Allocator>
52448 class function<R ( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7), Allocator>
52449   : public function8<R, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52450                                    , Allocator>
52451 {
52452   typedef function8<R, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
52453                                   , Allocator> base_type;
52454   typedef function self_type;
52455
52456   struct clear_type {};
52457
52458 public:
52459   typedef typename base_type::allocator_type allocator_type;
52460
52461   function() : base_type() {}
52462
52463   template<typename Functor>
52464   function(Functor f
52465
52466            ,typename enable_if_c<
52467                             (::boost::type_traits::ice_not<
52468                           (is_integral<Functor>::value)>::value),
52469                        int>::type = 0
52470
52471            ) :
52472     base_type(f)
52473   {
52474   }
52475
52476
52477   function(clear_type*) : base_type() {}
52478
52479
52480   function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
52481
52482   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
52483
52484   self_type& operator=(const self_type& f)
52485   {
52486     self_type(f).swap(*this);
52487     return *this;
52488   }
52489
52490   template<typename Functor>
52491
52492   typename enable_if_c<
52493                             (::boost::type_traits::ice_not<
52494                          (is_integral<Functor>::value)>::value),
52495                       self_type&>::type
52496
52497
52498
52499   operator=(Functor f)
52500   {
52501     self_type(f).swap(*this);
52502     return *this;
52503   }
52504
52505
52506   self_type& operator=(clear_type*)
52507   {
52508     this->clear();
52509     return *this;
52510   }
52511
52512
52513   self_type& operator=(const base_type& f)
52514   {
52515     self_type(f).swap(*this);
52516     return *this;
52517   }
52518 };
52519
52520 #undef BOOST_FUNCTION_PARTIAL_SPEC
52521
52522
52523 }
52524
52525
52526 #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
52527 #undef BOOST_FUNCTION_COMMA
52528 #undef BOOST_FUNCTION_FUNCTION
52529 #undef BOOST_FUNCTION_FUNCTION_INVOKER
52530 #undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
52531 #undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
52532 #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
52533 #undef BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER
52534 #undef BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER
52535 #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
52536 #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
52537 #undef BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER
52538 #undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
52539 #undef BOOST_FUNCTION_TEMPLATE_PARMS
52540 #undef BOOST_FUNCTION_TEMPLATE_ARGS
52541 #undef BOOST_FUNCTION_PARMS
52542 #undef BOOST_FUNCTION_PARM
52543 #undef BOOST_FUNCTION_ARGS
52544 #undef BOOST_FUNCTION_ARG_TYPE
52545 #undef BOOST_FUNCTION_ARG_TYPES
52546 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
52547 #undef BOOST_FUNCTION_RETURN
52548 # 54 "/usr/include/boost/function/detail/maybe_include.hpp" 2 3 4
52549 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
52550 #undef BOOST_FUNCTION_NUM_ARGS
52551 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
52552 #undef BOOST_PP_ITERATION_1
52553
52554
52555 #define BOOST_PP_ITERATION_1 9
52556 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
52557 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
52558 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
52559 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
52560 # 57 "/usr/include/boost/function/detail/maybe_include.hpp" 3 4
52561 #define BOOST_FUNCTION_9 
52562 # 1 "/usr/include/boost/function/function_template.hpp" 1 3 4
52563 # 14 "/usr/include/boost/function/function_template.hpp" 3 4
52564 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
52565
52566 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
52567
52568 #define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
52569
52570 #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
52571
52572 #define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
52573
52574 #define BOOST_FUNCTION_ARG_TYPE(J,I,D) typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(arg, BOOST_PP_CAT(BOOST_PP_INC(I),_type));
52575
52576
52577 #define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
52578
52579
52580
52581 #define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
52582 # 40 "/usr/include/boost/function/function_template.hpp" 3 4
52583 #define BOOST_FUNCTION_COMMA ,
52584
52585
52586
52587 #define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
52588 #define BOOST_FUNCTION_FUNCTION_INVOKER BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
52589
52590 #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
52591
52592 #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
52593
52594 #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
52595
52596 #define BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
52597
52598 #define BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
52599
52600 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
52601
52602 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
52603
52604 #define BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
52605
52606
52607
52608 #define BOOST_FUNCTION_VOID_RETURN_TYPE void
52609 #define BOOST_FUNCTION_RETURN(X) X
52610
52611
52612
52613
52614
52615 namespace boost {
52616   namespace detail {
52617     namespace function {
52618       template<
52619         typename FunctionPtr,
52620         typename R ,
52621         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
52622         >
52623       struct function_invoker9
52624       {
52625         static R invoke(any_pointer function_ptr ,
52626                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8)
52627         {
52628           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
52629           return f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
52630         }
52631       };
52632
52633       template<
52634         typename FunctionPtr,
52635         typename R ,
52636         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
52637         >
52638       struct void_function_invoker9
52639       {
52640         static void
52641         invoke(any_pointer function_ptr ,
52642                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8)
52643
52644         {
52645           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
52646           f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
52647         }
52648       };
52649
52650       template<
52651         typename FunctionObj,
52652         typename R ,
52653         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
52654       >
52655       struct function_obj_invoker9
52656       {
52657         static R invoke(any_pointer function_obj_ptr ,
52658                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8)
52659
52660         {
52661           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
52662           return (*f)( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
52663         }
52664       };
52665
52666       template<
52667         typename FunctionObj,
52668         typename R ,
52669         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
52670       >
52671       struct void_function_obj_invoker9
52672       {
52673         static void
52674         invoke(any_pointer function_obj_ptr ,
52675                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8)
52676
52677         {
52678           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
52679           (*f)( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
52680         }
52681       };
52682
52683       template<
52684         typename FunctionObj,
52685         typename R ,
52686         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
52687       >
52688       struct stateless_function_obj_invoker9
52689       {
52690         static R invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8)
52691         {
52692           FunctionObj f = FunctionObj();
52693           return f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
52694         }
52695       };
52696
52697       template<
52698         typename FunctionObj,
52699         typename R ,
52700         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
52701       >
52702       struct stateless_void_function_obj_invoker9
52703       {
52704         static void
52705         invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8)
52706
52707         {
52708           FunctionObj f = FunctionObj();
52709           f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
52710         }
52711       };
52712
52713       template<
52714         typename FunctionPtr,
52715         typename R ,
52716         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
52717       >
52718       struct get_function_invoker9
52719       {
52720         typedef typename ct_if<(is_void<R>::value),
52721                             void_function_invoker9<
52722                             FunctionPtr,
52723                             R ,
52724                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
52725                           >,
52726                           function_invoker9<
52727                             FunctionPtr,
52728                             R ,
52729                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
52730                           >
52731                        >::type type;
52732       };
52733
52734       template<
52735         typename FunctionObj,
52736         typename R ,
52737         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
52738        >
52739       struct get_function_obj_invoker9
52740       {
52741         typedef typename ct_if<(is_void<R>::value),
52742                             void_function_obj_invoker9<
52743                             FunctionObj,
52744                             R ,
52745                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
52746                           >,
52747                           function_obj_invoker9<
52748                             FunctionObj,
52749                             R ,
52750                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
52751                           >
52752                        >::type type;
52753       };
52754
52755       template<
52756         typename FunctionObj,
52757         typename R ,
52758         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
52759        >
52760       struct get_stateless_function_obj_invoker9
52761       {
52762         typedef typename ct_if<(is_void<R>::value),
52763                             stateless_void_function_obj_invoker9<
52764                             FunctionObj,
52765                             R ,
52766                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
52767                           >,
52768                           stateless_function_obj_invoker9<
52769                             FunctionObj,
52770                             R ,
52771                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
52772                           >
52773                        >::type type;
52774       };
52775
52776     }
52777   }
52778
52779   template<
52780     typename R ,
52781     typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8,
52782     typename Allocator = std::allocator<function_base>
52783   >
52784   class function9 : public function_base
52785   {
52786   public:
52787
52788     typedef R result_type;
52789
52790
52791
52792
52793
52794   private:
52795     struct clear_type {};
52796
52797   public:
52798     static const int args = 9;
52799
52800
52801     template<typename Args>
52802     struct sig
52803     {
52804       typedef result_type type;
52805     };
52806 # 271 "/usr/include/boost/function/function_template.hpp" 3 4
52807     static const int arity = 9;
52808     typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type; typedef T5 arg6_type; typedef T6 arg7_type; typedef T7 arg8_type; typedef T8 arg9_type;
52809
52810     typedef Allocator allocator_type;
52811     typedef function9 self_type;
52812
52813     function9() : function_base()
52814                               , invoker(0) {}
52815
52816
52817
52818     template<typename Functor>
52819     function9(Functor f
52820
52821                             ,typename enable_if_c<
52822                             (::boost::type_traits::ice_not<
52823                              (is_integral<Functor>::value)>::value),
52824                                         int>::type = 0
52825
52826                             ) :
52827       function_base(),
52828       invoker(0)
52829     {
52830       this->assign_to(f);
52831     }
52832
52833
52834     function9(clear_type*) : function_base(), invoker(0) {}
52835
52836
52837
52838
52839
52840
52841
52842     function9(const function9& f) :
52843       function_base(),
52844       invoker(0)
52845     {
52846       this->assign_to_own(f);
52847     }
52848
52849     ~function9() { clear(); }
52850 # 326 "/usr/include/boost/function/function_template.hpp" 3 4
52851     result_type operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8) const;
52852
52853
52854
52855
52856
52857
52858
52859     template<typename Functor>
52860
52861     typename enable_if_c<
52862                (::boost::type_traits::ice_not<
52863                  (is_integral<Functor>::value)>::value),
52864                function9&>::type
52865
52866
52867
52868     operator=(Functor f)
52869     {
52870       self_type(f).swap(*this);
52871       return *this;
52872     }
52873
52874
52875     function9& operator=(clear_type*)
52876     {
52877       this->clear();
52878       return *this;
52879     }
52880 # 365 "/usr/include/boost/function/function_template.hpp" 3 4
52881     function9& operator=(const function9& f)
52882     {
52883       if (&f == this)
52884         return *this;
52885
52886       self_type(f).swap(*this);
52887       return *this;
52888     }
52889
52890     void swap(function9& other)
52891     {
52892       if (&other == this)
52893         return;
52894
52895       std::swap(this->manager, other.manager);
52896       std::swap(this->functor, other.functor);
52897       std::swap(invoker, other.invoker);
52898     }
52899
52900
52901     void clear()
52902     {
52903       if (this->manager) {
52904         function_base::functor =
52905           this->manager(this->functor, detail::function::destroy_functor_tag);
52906       }
52907
52908       this->manager = 0;
52909       invoker = 0;
52910     }
52911
52912
52913
52914
52915
52916   private:
52917     struct dummy {
52918       void nonnull() {};
52919     };
52920
52921     typedef void (dummy::*safe_bool)();
52922
52923   public:
52924     operator safe_bool () const
52925       { return (this->empty())? 0 : &dummy::nonnull; }
52926
52927     bool operator!() const
52928       { return this->empty(); }
52929
52930
52931   private:
52932     void assign_to_own(const function9& f)
52933     {
52934       if (!f.empty()) {
52935         invoker = f.invoker;
52936         this->manager = f.manager;
52937         this->functor =
52938           f.manager(f.functor, detail::function::clone_functor_tag);
52939       }
52940     }
52941
52942     template<typename Functor>
52943     void assign_to(Functor f)
52944     {
52945       typedef typename detail::function::get_function_tag<Functor>::type tag;
52946       this->assign_to(f, tag());
52947     }
52948
52949     template<typename FunctionPtr>
52950     void assign_to(FunctionPtr f, detail::function::function_ptr_tag)
52951     {
52952       clear();
52953
52954       if (f) {
52955         typedef typename detail::function::get_function_invoker9<
52956                            FunctionPtr,
52957                            R ,
52958                            T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
52959                          >::type
52960           actual_invoker_type;
52961
52962         invoker = &actual_invoker_type::invoke;
52963         this->manager =
52964           &detail::function::functor_manager<FunctionPtr, Allocator>::manage;
52965         this->functor =
52966           this->manager(detail::function::make_any_pointer(
52967
52968
52969                             (void (*)())(f)
52970                           ),
52971                           detail::function::clone_functor_tag);
52972       }
52973     }
52974
52975
52976     template<typename MemberPtr>
52977     void assign_to(MemberPtr f, detail::function::member_ptr_tag)
52978     {
52979       this->assign_to(mem_fn(f));
52980     }
52981
52982
52983     template<typename FunctionObj>
52984     void assign_to(FunctionObj f, detail::function::function_obj_tag)
52985     {
52986       if (!detail::function::has_empty_target(boost::addressof(f))) {
52987         typedef
52988           typename detail::function::get_function_obj_invoker9<
52989                                        FunctionObj,
52990                                        R ,
52991                                        T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
52992                                      >::type
52993           actual_invoker_type;
52994
52995         invoker = &actual_invoker_type::invoke;
52996         this->manager = &detail::function::functor_manager<
52997                                     FunctionObj, Allocator>::manage;
52998
52999         typedef typename Allocator::template rebind<FunctionObj>::other
53000           rebound_allocator_type;
53001         typedef typename rebound_allocator_type::pointer pointer_type;
53002         rebound_allocator_type allocator;
53003         pointer_type copy = allocator.allocate(1);
53004         allocator.construct(copy, f);
53005
53006
53007         FunctionObj* new_f = static_cast<FunctionObj*>(copy);
53008
53009
53010
53011         this->functor =
53012           detail::function::make_any_pointer(static_cast<void*>(new_f));
53013       }
53014     }
53015
53016     template<typename FunctionObj>
53017     void assign_to(const reference_wrapper<FunctionObj>& f,
53018                    detail::function::function_obj_ref_tag)
53019     {
53020       if (!detail::function::has_empty_target(f.get_pointer())) {
53021         typedef
53022           typename detail::function::get_function_obj_invoker9<
53023                                        FunctionObj,
53024                                        R ,
53025                                        T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
53026                                      >::type
53027           actual_invoker_type;
53028
53029         invoker = &actual_invoker_type::invoke;
53030         this->manager = &detail::function::trivial_manager<FunctionObj>::get;
53031         this->functor =
53032           this->manager(
53033             detail::function::make_any_pointer(
53034               const_cast<FunctionObj*>(f.get_pointer())),
53035             detail::function::clone_functor_tag);
53036       }
53037     }
53038
53039     template<typename FunctionObj>
53040     void assign_to(FunctionObj, detail::function::stateless_function_obj_tag)
53041     {
53042       typedef
53043           typename detail::function::
53044                      get_stateless_function_obj_invoker9<
53045                        FunctionObj,
53046                        R ,
53047                        T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
53048                      >::type
53049           actual_invoker_type;
53050       invoker = &actual_invoker_type::invoke;
53051       this->manager = &detail::function::trivial_manager<FunctionObj>::get;
53052       this->functor = detail::function::make_any_pointer(this);
53053     }
53054
53055     typedef result_type (*invoker_type)(detail::function::any_pointer
53056                                         ,
53057                                         T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8);
53058
53059     invoker_type invoker;
53060   };
53061
53062   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 ,
53063            typename Allocator>
53064   inline void swap(function9<
53065                      R ,
53066                      T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ,
53067                      Allocator
53068                    >& f1,
53069                    function9<
53070                      R ,
53071                      T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8,
53072                      Allocator
53073                    >& f2)
53074   {
53075     f1.swap(f2);
53076   }
53077
53078
53079   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8,
53080            typename Allocator>
53081   typename function9<
53082       R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8,
53083       Allocator>::result_type
53084    function9<R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8,
53085
53086                            Allocator>
53087   ::operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8) const
53088   {
53089     if (this->empty())
53090       boost::throw_exception(bad_function_call());
53091
53092     return invoker(this->functor , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
53093   }
53094
53095
53096
53097 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 ,
53098          typename Allocator>
53099   void operator==(const function9<
53100                           R ,
53101                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ,
53102                           Allocator>&,
53103                   const function9<
53104                           R ,
53105                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ,
53106                   Allocator>&);
53107 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 ,
53108          typename Allocator>
53109   void operator!=(const function9<
53110                           R ,
53111                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ,
53112                           Allocator>&,
53113                   const function9<
53114                           R ,
53115                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ,
53116                   Allocator>&);
53117
53118
53119
53120
53121
53122
53123 #define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
53124
53125
53126 template<typename R ,
53127          typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8,
53128          typename Allocator>
53129 class function<R ( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8), Allocator>
53130   : public function9<R, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
53131                                    , Allocator>
53132 {
53133   typedef function9<R, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
53134                                   , Allocator> base_type;
53135   typedef function self_type;
53136
53137   struct clear_type {};
53138
53139 public:
53140   typedef typename base_type::allocator_type allocator_type;
53141
53142   function() : base_type() {}
53143
53144   template<typename Functor>
53145   function(Functor f
53146
53147            ,typename enable_if_c<
53148                             (::boost::type_traits::ice_not<
53149                           (is_integral<Functor>::value)>::value),
53150                        int>::type = 0
53151
53152            ) :
53153     base_type(f)
53154   {
53155   }
53156
53157
53158   function(clear_type*) : base_type() {}
53159
53160
53161   function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
53162
53163   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
53164
53165   self_type& operator=(const self_type& f)
53166   {
53167     self_type(f).swap(*this);
53168     return *this;
53169   }
53170
53171   template<typename Functor>
53172
53173   typename enable_if_c<
53174                             (::boost::type_traits::ice_not<
53175                          (is_integral<Functor>::value)>::value),
53176                       self_type&>::type
53177
53178
53179
53180   operator=(Functor f)
53181   {
53182     self_type(f).swap(*this);
53183     return *this;
53184   }
53185
53186
53187   self_type& operator=(clear_type*)
53188   {
53189     this->clear();
53190     return *this;
53191   }
53192
53193
53194   self_type& operator=(const base_type& f)
53195   {
53196     self_type(f).swap(*this);
53197     return *this;
53198   }
53199 };
53200
53201 #undef BOOST_FUNCTION_PARTIAL_SPEC
53202
53203
53204 }
53205
53206
53207 #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
53208 #undef BOOST_FUNCTION_COMMA
53209 #undef BOOST_FUNCTION_FUNCTION
53210 #undef BOOST_FUNCTION_FUNCTION_INVOKER
53211 #undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
53212 #undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
53213 #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
53214 #undef BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER
53215 #undef BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER
53216 #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
53217 #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
53218 #undef BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER
53219 #undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
53220 #undef BOOST_FUNCTION_TEMPLATE_PARMS
53221 #undef BOOST_FUNCTION_TEMPLATE_ARGS
53222 #undef BOOST_FUNCTION_PARMS
53223 #undef BOOST_FUNCTION_PARM
53224 #undef BOOST_FUNCTION_ARGS
53225 #undef BOOST_FUNCTION_ARG_TYPE
53226 #undef BOOST_FUNCTION_ARG_TYPES
53227 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
53228 #undef BOOST_FUNCTION_RETURN
53229 # 59 "/usr/include/boost/function/detail/maybe_include.hpp" 2 3 4
53230 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
53231 #undef BOOST_FUNCTION_NUM_ARGS
53232 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
53233 #undef BOOST_PP_ITERATION_1
53234
53235
53236 #define BOOST_PP_ITERATION_1 10
53237 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
53238 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
53239 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
53240 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
53241 # 62 "/usr/include/boost/function/detail/maybe_include.hpp" 3 4
53242 #define BOOST_FUNCTION_10 
53243 # 1 "/usr/include/boost/function/function_template.hpp" 1 3 4
53244 # 14 "/usr/include/boost/function/function_template.hpp" 3 4
53245 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
53246
53247 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
53248
53249 #define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
53250
53251 #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
53252
53253 #define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
53254
53255 #define BOOST_FUNCTION_ARG_TYPE(J,I,D) typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(arg, BOOST_PP_CAT(BOOST_PP_INC(I),_type));
53256
53257
53258 #define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
53259
53260
53261
53262 #define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
53263 # 40 "/usr/include/boost/function/function_template.hpp" 3 4
53264 #define BOOST_FUNCTION_COMMA ,
53265
53266
53267
53268 #define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
53269 #define BOOST_FUNCTION_FUNCTION_INVOKER BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
53270
53271 #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
53272
53273 #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
53274
53275 #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
53276
53277 #define BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
53278
53279 #define BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER BOOST_JOIN(stateless_void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
53280
53281 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
53282
53283 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
53284
53285 #define BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER BOOST_JOIN(get_stateless_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
53286
53287
53288
53289 #define BOOST_FUNCTION_VOID_RETURN_TYPE void
53290 #define BOOST_FUNCTION_RETURN(X) X
53291
53292
53293
53294
53295
53296 namespace boost {
53297   namespace detail {
53298     namespace function {
53299       template<
53300         typename FunctionPtr,
53301         typename R ,
53302         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
53303         >
53304       struct function_invoker10
53305       {
53306         static R invoke(any_pointer function_ptr ,
53307                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8 , T9 a9)
53308         {
53309           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
53310           return f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
53311         }
53312       };
53313
53314       template<
53315         typename FunctionPtr,
53316         typename R ,
53317         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
53318         >
53319       struct void_function_invoker10
53320       {
53321         static void
53322         invoke(any_pointer function_ptr ,
53323                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8 , T9 a9)
53324
53325         {
53326           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
53327           f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
53328         }
53329       };
53330
53331       template<
53332         typename FunctionObj,
53333         typename R ,
53334         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
53335       >
53336       struct function_obj_invoker10
53337       {
53338         static R invoke(any_pointer function_obj_ptr ,
53339                         T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8 , T9 a9)
53340
53341         {
53342           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
53343           return (*f)( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
53344         }
53345       };
53346
53347       template<
53348         typename FunctionObj,
53349         typename R ,
53350         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
53351       >
53352       struct void_function_obj_invoker10
53353       {
53354         static void
53355         invoke(any_pointer function_obj_ptr ,
53356                T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8 , T9 a9)
53357
53358         {
53359           FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr);
53360           (*f)( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
53361         }
53362       };
53363
53364       template<
53365         typename FunctionObj,
53366         typename R ,
53367         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
53368       >
53369       struct stateless_function_obj_invoker10
53370       {
53371         static R invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8 , T9 a9)
53372         {
53373           FunctionObj f = FunctionObj();
53374           return f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
53375         }
53376       };
53377
53378       template<
53379         typename FunctionObj,
53380         typename R ,
53381         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
53382       >
53383       struct stateless_void_function_obj_invoker10
53384       {
53385         static void
53386         invoke(any_pointer , T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8 , T9 a9)
53387
53388         {
53389           FunctionObj f = FunctionObj();
53390           f( a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
53391         }
53392       };
53393
53394       template<
53395         typename FunctionPtr,
53396         typename R ,
53397         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
53398       >
53399       struct get_function_invoker10
53400       {
53401         typedef typename ct_if<(is_void<R>::value),
53402                             void_function_invoker10<
53403                             FunctionPtr,
53404                             R ,
53405                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53406                           >,
53407                           function_invoker10<
53408                             FunctionPtr,
53409                             R ,
53410                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53411                           >
53412                        >::type type;
53413       };
53414
53415       template<
53416         typename FunctionObj,
53417         typename R ,
53418         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
53419        >
53420       struct get_function_obj_invoker10
53421       {
53422         typedef typename ct_if<(is_void<R>::value),
53423                             void_function_obj_invoker10<
53424                             FunctionObj,
53425                             R ,
53426                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53427                           >,
53428                           function_obj_invoker10<
53429                             FunctionObj,
53430                             R ,
53431                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53432                           >
53433                        >::type type;
53434       };
53435
53436       template<
53437         typename FunctionObj,
53438         typename R ,
53439         typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9
53440        >
53441       struct get_stateless_function_obj_invoker10
53442       {
53443         typedef typename ct_if<(is_void<R>::value),
53444                             stateless_void_function_obj_invoker10<
53445                             FunctionObj,
53446                             R ,
53447                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53448                           >,
53449                           stateless_function_obj_invoker10<
53450                             FunctionObj,
53451                             R ,
53452                             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53453                           >
53454                        >::type type;
53455       };
53456
53457     }
53458   }
53459
53460   template<
53461     typename R ,
53462     typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9,
53463     typename Allocator = std::allocator<function_base>
53464   >
53465   class function10 : public function_base
53466   {
53467   public:
53468
53469     typedef R result_type;
53470
53471
53472
53473
53474
53475   private:
53476     struct clear_type {};
53477
53478   public:
53479     static const int args = 10;
53480
53481
53482     template<typename Args>
53483     struct sig
53484     {
53485       typedef result_type type;
53486     };
53487 # 271 "/usr/include/boost/function/function_template.hpp" 3 4
53488     static const int arity = 10;
53489     typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type; typedef T5 arg6_type; typedef T6 arg7_type; typedef T7 arg8_type; typedef T8 arg9_type; typedef T9 arg10_type;
53490
53491     typedef Allocator allocator_type;
53492     typedef function10 self_type;
53493
53494     function10() : function_base()
53495                               , invoker(0) {}
53496
53497
53498
53499     template<typename Functor>
53500     function10(Functor f
53501
53502                             ,typename enable_if_c<
53503                             (::boost::type_traits::ice_not<
53504                              (is_integral<Functor>::value)>::value),
53505                                         int>::type = 0
53506
53507                             ) :
53508       function_base(),
53509       invoker(0)
53510     {
53511       this->assign_to(f);
53512     }
53513
53514
53515     function10(clear_type*) : function_base(), invoker(0) {}
53516
53517
53518
53519
53520
53521
53522
53523     function10(const function10& f) :
53524       function_base(),
53525       invoker(0)
53526     {
53527       this->assign_to_own(f);
53528     }
53529
53530     ~function10() { clear(); }
53531 # 326 "/usr/include/boost/function/function_template.hpp" 3 4
53532     result_type operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8 , T9 a9) const;
53533
53534
53535
53536
53537
53538
53539
53540     template<typename Functor>
53541
53542     typename enable_if_c<
53543                (::boost::type_traits::ice_not<
53544                  (is_integral<Functor>::value)>::value),
53545                function10&>::type
53546
53547
53548
53549     operator=(Functor f)
53550     {
53551       self_type(f).swap(*this);
53552       return *this;
53553     }
53554
53555
53556     function10& operator=(clear_type*)
53557     {
53558       this->clear();
53559       return *this;
53560     }
53561 # 365 "/usr/include/boost/function/function_template.hpp" 3 4
53562     function10& operator=(const function10& f)
53563     {
53564       if (&f == this)
53565         return *this;
53566
53567       self_type(f).swap(*this);
53568       return *this;
53569     }
53570
53571     void swap(function10& other)
53572     {
53573       if (&other == this)
53574         return;
53575
53576       std::swap(this->manager, other.manager);
53577       std::swap(this->functor, other.functor);
53578       std::swap(invoker, other.invoker);
53579     }
53580
53581
53582     void clear()
53583     {
53584       if (this->manager) {
53585         function_base::functor =
53586           this->manager(this->functor, detail::function::destroy_functor_tag);
53587       }
53588
53589       this->manager = 0;
53590       invoker = 0;
53591     }
53592
53593
53594
53595
53596
53597   private:
53598     struct dummy {
53599       void nonnull() {};
53600     };
53601
53602     typedef void (dummy::*safe_bool)();
53603
53604   public:
53605     operator safe_bool () const
53606       { return (this->empty())? 0 : &dummy::nonnull; }
53607
53608     bool operator!() const
53609       { return this->empty(); }
53610
53611
53612   private:
53613     void assign_to_own(const function10& f)
53614     {
53615       if (!f.empty()) {
53616         invoker = f.invoker;
53617         this->manager = f.manager;
53618         this->functor =
53619           f.manager(f.functor, detail::function::clone_functor_tag);
53620       }
53621     }
53622
53623     template<typename Functor>
53624     void assign_to(Functor f)
53625     {
53626       typedef typename detail::function::get_function_tag<Functor>::type tag;
53627       this->assign_to(f, tag());
53628     }
53629
53630     template<typename FunctionPtr>
53631     void assign_to(FunctionPtr f, detail::function::function_ptr_tag)
53632     {
53633       clear();
53634
53635       if (f) {
53636         typedef typename detail::function::get_function_invoker10<
53637                            FunctionPtr,
53638                            R ,
53639                            T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53640                          >::type
53641           actual_invoker_type;
53642
53643         invoker = &actual_invoker_type::invoke;
53644         this->manager =
53645           &detail::function::functor_manager<FunctionPtr, Allocator>::manage;
53646         this->functor =
53647           this->manager(detail::function::make_any_pointer(
53648
53649
53650                             (void (*)())(f)
53651                           ),
53652                           detail::function::clone_functor_tag);
53653       }
53654     }
53655
53656
53657     template<typename MemberPtr>
53658     void assign_to(MemberPtr f, detail::function::member_ptr_tag)
53659     {
53660       this->assign_to(mem_fn(f));
53661     }
53662
53663
53664     template<typename FunctionObj>
53665     void assign_to(FunctionObj f, detail::function::function_obj_tag)
53666     {
53667       if (!detail::function::has_empty_target(boost::addressof(f))) {
53668         typedef
53669           typename detail::function::get_function_obj_invoker10<
53670                                        FunctionObj,
53671                                        R ,
53672                                        T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53673                                      >::type
53674           actual_invoker_type;
53675
53676         invoker = &actual_invoker_type::invoke;
53677         this->manager = &detail::function::functor_manager<
53678                                     FunctionObj, Allocator>::manage;
53679
53680         typedef typename Allocator::template rebind<FunctionObj>::other
53681           rebound_allocator_type;
53682         typedef typename rebound_allocator_type::pointer pointer_type;
53683         rebound_allocator_type allocator;
53684         pointer_type copy = allocator.allocate(1);
53685         allocator.construct(copy, f);
53686
53687
53688         FunctionObj* new_f = static_cast<FunctionObj*>(copy);
53689
53690
53691
53692         this->functor =
53693           detail::function::make_any_pointer(static_cast<void*>(new_f));
53694       }
53695     }
53696
53697     template<typename FunctionObj>
53698     void assign_to(const reference_wrapper<FunctionObj>& f,
53699                    detail::function::function_obj_ref_tag)
53700     {
53701       if (!detail::function::has_empty_target(f.get_pointer())) {
53702         typedef
53703           typename detail::function::get_function_obj_invoker10<
53704                                        FunctionObj,
53705                                        R ,
53706                                        T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53707                                      >::type
53708           actual_invoker_type;
53709
53710         invoker = &actual_invoker_type::invoke;
53711         this->manager = &detail::function::trivial_manager<FunctionObj>::get;
53712         this->functor =
53713           this->manager(
53714             detail::function::make_any_pointer(
53715               const_cast<FunctionObj*>(f.get_pointer())),
53716             detail::function::clone_functor_tag);
53717       }
53718     }
53719
53720     template<typename FunctionObj>
53721     void assign_to(FunctionObj, detail::function::stateless_function_obj_tag)
53722     {
53723       typedef
53724           typename detail::function::
53725                      get_stateless_function_obj_invoker10<
53726                        FunctionObj,
53727                        R ,
53728                        T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53729                      >::type
53730           actual_invoker_type;
53731       invoker = &actual_invoker_type::invoke;
53732       this->manager = &detail::function::trivial_manager<FunctionObj>::get;
53733       this->functor = detail::function::make_any_pointer(this);
53734     }
53735
53736     typedef result_type (*invoker_type)(detail::function::any_pointer
53737                                         ,
53738                                         T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9);
53739
53740     invoker_type invoker;
53741   };
53742
53743   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 ,
53744            typename Allocator>
53745   inline void swap(function10<
53746                      R ,
53747                      T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ,
53748                      Allocator
53749                    >& f1,
53750                    function10<
53751                      R ,
53752                      T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9,
53753                      Allocator
53754                    >& f2)
53755   {
53756     f1.swap(f2);
53757   }
53758
53759
53760   template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9,
53761            typename Allocator>
53762   typename function10<
53763       R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9,
53764       Allocator>::result_type
53765    function10<R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9,
53766
53767                            Allocator>
53768   ::operator()( T0 a0 , T1 a1 , T2 a2 , T3 a3 , T4 a4 , T5 a5 , T6 a6 , T7 a7 , T8 a8 , T9 a9) const
53769   {
53770     if (this->empty())
53771       boost::throw_exception(bad_function_call());
53772
53773     return invoker(this->functor , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
53774   }
53775
53776
53777
53778 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 ,
53779          typename Allocator>
53780   void operator==(const function10<
53781                           R ,
53782                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ,
53783                           Allocator>&,
53784                   const function10<
53785                           R ,
53786                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ,
53787                   Allocator>&);
53788 template<typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 ,
53789          typename Allocator>
53790   void operator!=(const function10<
53791                           R ,
53792                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ,
53793                           Allocator>&,
53794                   const function10<
53795                           R ,
53796                           T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ,
53797                   Allocator>&);
53798
53799
53800
53801
53802
53803
53804 #define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
53805
53806
53807 template<typename R ,
53808          typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9,
53809          typename Allocator>
53810 class function<R ( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9), Allocator>
53811   : public function10<R, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53812                                    , Allocator>
53813 {
53814   typedef function10<R, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
53815                                   , Allocator> base_type;
53816   typedef function self_type;
53817
53818   struct clear_type {};
53819
53820 public:
53821   typedef typename base_type::allocator_type allocator_type;
53822
53823   function() : base_type() {}
53824
53825   template<typename Functor>
53826   function(Functor f
53827
53828            ,typename enable_if_c<
53829                             (::boost::type_traits::ice_not<
53830                           (is_integral<Functor>::value)>::value),
53831                        int>::type = 0
53832
53833            ) :
53834     base_type(f)
53835   {
53836   }
53837
53838
53839   function(clear_type*) : base_type() {}
53840
53841
53842   function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
53843
53844   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
53845
53846   self_type& operator=(const self_type& f)
53847   {
53848     self_type(f).swap(*this);
53849     return *this;
53850   }
53851
53852   template<typename Functor>
53853
53854   typename enable_if_c<
53855                             (::boost::type_traits::ice_not<
53856                          (is_integral<Functor>::value)>::value),
53857                       self_type&>::type
53858
53859
53860
53861   operator=(Functor f)
53862   {
53863     self_type(f).swap(*this);
53864     return *this;
53865   }
53866
53867
53868   self_type& operator=(clear_type*)
53869   {
53870     this->clear();
53871     return *this;
53872   }
53873
53874
53875   self_type& operator=(const base_type& f)
53876   {
53877     self_type(f).swap(*this);
53878     return *this;
53879   }
53880 };
53881
53882 #undef BOOST_FUNCTION_PARTIAL_SPEC
53883
53884
53885 }
53886
53887
53888 #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
53889 #undef BOOST_FUNCTION_COMMA
53890 #undef BOOST_FUNCTION_FUNCTION
53891 #undef BOOST_FUNCTION_FUNCTION_INVOKER
53892 #undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
53893 #undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
53894 #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
53895 #undef BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER
53896 #undef BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER
53897 #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
53898 #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
53899 #undef BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER
53900 #undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
53901 #undef BOOST_FUNCTION_TEMPLATE_PARMS
53902 #undef BOOST_FUNCTION_TEMPLATE_ARGS
53903 #undef BOOST_FUNCTION_PARMS
53904 #undef BOOST_FUNCTION_PARM
53905 #undef BOOST_FUNCTION_ARGS
53906 #undef BOOST_FUNCTION_ARG_TYPE
53907 #undef BOOST_FUNCTION_ARG_TYPES
53908 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
53909 #undef BOOST_FUNCTION_RETURN
53910 # 64 "/usr/include/boost/function/detail/maybe_include.hpp" 2 3 4
53911 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
53912 #undef BOOST_FUNCTION_NUM_ARGS
53913 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
53914 #undef BOOST_PP_ITERATION_1
53915 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
53916 #undef BOOST_PP_IS_ITERATING
53917
53918 #undef BOOST_PP_ITERATION_DEPTH
53919 #define BOOST_PP_ITERATION_DEPTH() 0
53920
53921 #undef BOOST_PP_ITERATION_START_1
53922 #undef BOOST_PP_ITERATION_FINISH_1
53923 #undef BOOST_PP_FILENAME_1
53924
53925 #undef BOOST_PP_ITERATION_FLAGS_1
53926 #undef BOOST_PP_ITERATION_PARAMS_1
53927 # 63 "/usr/include/boost/function.hpp" 2 3 4
53928 #undef BOOST_PP_ITERATION_PARAMS_1
53929 # 82 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
53930
53931 # 1 "/usr/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp" 1 3 4
53932 # 15 "/usr/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp" 3 4
53933 #define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP 
53934
53935
53936 # 1 "/usr/include/boost/preprocessor/facilities/intercept.hpp" 1 3 4
53937 # 13 "/usr/include/boost/preprocessor/facilities/intercept.hpp" 3 4
53938 #define BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP 
53939
53940
53941
53942 #define BOOST_PP_INTERCEPT BOOST_PP_INTERCEPT_
53943
53944 #define BOOST_PP_INTERCEPT_0 
53945 #define BOOST_PP_INTERCEPT_1 
53946 #define BOOST_PP_INTERCEPT_2 
53947 #define BOOST_PP_INTERCEPT_3 
53948 #define BOOST_PP_INTERCEPT_4 
53949 #define BOOST_PP_INTERCEPT_5 
53950 #define BOOST_PP_INTERCEPT_6 
53951 #define BOOST_PP_INTERCEPT_7 
53952 #define BOOST_PP_INTERCEPT_8 
53953 #define BOOST_PP_INTERCEPT_9 
53954 #define BOOST_PP_INTERCEPT_10 
53955 #define BOOST_PP_INTERCEPT_11 
53956 #define BOOST_PP_INTERCEPT_12 
53957 #define BOOST_PP_INTERCEPT_13 
53958 #define BOOST_PP_INTERCEPT_14 
53959 #define BOOST_PP_INTERCEPT_15 
53960 #define BOOST_PP_INTERCEPT_16 
53961 #define BOOST_PP_INTERCEPT_17 
53962 #define BOOST_PP_INTERCEPT_18 
53963 #define BOOST_PP_INTERCEPT_19 
53964 #define BOOST_PP_INTERCEPT_20 
53965 #define BOOST_PP_INTERCEPT_21 
53966 #define BOOST_PP_INTERCEPT_22 
53967 #define BOOST_PP_INTERCEPT_23 
53968 #define BOOST_PP_INTERCEPT_24 
53969 #define BOOST_PP_INTERCEPT_25 
53970 #define BOOST_PP_INTERCEPT_26 
53971 #define BOOST_PP_INTERCEPT_27 
53972 #define BOOST_PP_INTERCEPT_28 
53973 #define BOOST_PP_INTERCEPT_29 
53974 #define BOOST_PP_INTERCEPT_30 
53975 #define BOOST_PP_INTERCEPT_31 
53976 #define BOOST_PP_INTERCEPT_32 
53977 #define BOOST_PP_INTERCEPT_33 
53978 #define BOOST_PP_INTERCEPT_34 
53979 #define BOOST_PP_INTERCEPT_35 
53980 #define BOOST_PP_INTERCEPT_36 
53981 #define BOOST_PP_INTERCEPT_37 
53982 #define BOOST_PP_INTERCEPT_38 
53983 #define BOOST_PP_INTERCEPT_39 
53984 #define BOOST_PP_INTERCEPT_40 
53985 #define BOOST_PP_INTERCEPT_41 
53986 #define BOOST_PP_INTERCEPT_42 
53987 #define BOOST_PP_INTERCEPT_43 
53988 #define BOOST_PP_INTERCEPT_44 
53989 #define BOOST_PP_INTERCEPT_45 
53990 #define BOOST_PP_INTERCEPT_46 
53991 #define BOOST_PP_INTERCEPT_47 
53992 #define BOOST_PP_INTERCEPT_48 
53993 #define BOOST_PP_INTERCEPT_49 
53994 #define BOOST_PP_INTERCEPT_50 
53995 #define BOOST_PP_INTERCEPT_51 
53996 #define BOOST_PP_INTERCEPT_52 
53997 #define BOOST_PP_INTERCEPT_53 
53998 #define BOOST_PP_INTERCEPT_54 
53999 #define BOOST_PP_INTERCEPT_55 
54000 #define BOOST_PP_INTERCEPT_56 
54001 #define BOOST_PP_INTERCEPT_57 
54002 #define BOOST_PP_INTERCEPT_58 
54003 #define BOOST_PP_INTERCEPT_59 
54004 #define BOOST_PP_INTERCEPT_60 
54005 #define BOOST_PP_INTERCEPT_61 
54006 #define BOOST_PP_INTERCEPT_62 
54007 #define BOOST_PP_INTERCEPT_63 
54008 #define BOOST_PP_INTERCEPT_64 
54009 #define BOOST_PP_INTERCEPT_65 
54010 #define BOOST_PP_INTERCEPT_66 
54011 #define BOOST_PP_INTERCEPT_67 
54012 #define BOOST_PP_INTERCEPT_68 
54013 #define BOOST_PP_INTERCEPT_69 
54014 #define BOOST_PP_INTERCEPT_70 
54015 #define BOOST_PP_INTERCEPT_71 
54016 #define BOOST_PP_INTERCEPT_72 
54017 #define BOOST_PP_INTERCEPT_73 
54018 #define BOOST_PP_INTERCEPT_74 
54019 #define BOOST_PP_INTERCEPT_75 
54020 #define BOOST_PP_INTERCEPT_76 
54021 #define BOOST_PP_INTERCEPT_77 
54022 #define BOOST_PP_INTERCEPT_78 
54023 #define BOOST_PP_INTERCEPT_79 
54024 #define BOOST_PP_INTERCEPT_80 
54025 #define BOOST_PP_INTERCEPT_81 
54026 #define BOOST_PP_INTERCEPT_82 
54027 #define BOOST_PP_INTERCEPT_83 
54028 #define BOOST_PP_INTERCEPT_84 
54029 #define BOOST_PP_INTERCEPT_85 
54030 #define BOOST_PP_INTERCEPT_86 
54031 #define BOOST_PP_INTERCEPT_87 
54032 #define BOOST_PP_INTERCEPT_88 
54033 #define BOOST_PP_INTERCEPT_89 
54034 #define BOOST_PP_INTERCEPT_90 
54035 #define BOOST_PP_INTERCEPT_91 
54036 #define BOOST_PP_INTERCEPT_92 
54037 #define BOOST_PP_INTERCEPT_93 
54038 #define BOOST_PP_INTERCEPT_94 
54039 #define BOOST_PP_INTERCEPT_95 
54040 #define BOOST_PP_INTERCEPT_96 
54041 #define BOOST_PP_INTERCEPT_97 
54042 #define BOOST_PP_INTERCEPT_98 
54043 #define BOOST_PP_INTERCEPT_99 
54044 #define BOOST_PP_INTERCEPT_100 
54045 #define BOOST_PP_INTERCEPT_101 
54046 #define BOOST_PP_INTERCEPT_102 
54047 #define BOOST_PP_INTERCEPT_103 
54048 #define BOOST_PP_INTERCEPT_104 
54049 #define BOOST_PP_INTERCEPT_105 
54050 #define BOOST_PP_INTERCEPT_106 
54051 #define BOOST_PP_INTERCEPT_107 
54052 #define BOOST_PP_INTERCEPT_108 
54053 #define BOOST_PP_INTERCEPT_109 
54054 #define BOOST_PP_INTERCEPT_110 
54055 #define BOOST_PP_INTERCEPT_111 
54056 #define BOOST_PP_INTERCEPT_112 
54057 #define BOOST_PP_INTERCEPT_113 
54058 #define BOOST_PP_INTERCEPT_114 
54059 #define BOOST_PP_INTERCEPT_115 
54060 #define BOOST_PP_INTERCEPT_116 
54061 #define BOOST_PP_INTERCEPT_117 
54062 #define BOOST_PP_INTERCEPT_118 
54063 #define BOOST_PP_INTERCEPT_119 
54064 #define BOOST_PP_INTERCEPT_120 
54065 #define BOOST_PP_INTERCEPT_121 
54066 #define BOOST_PP_INTERCEPT_122 
54067 #define BOOST_PP_INTERCEPT_123 
54068 #define BOOST_PP_INTERCEPT_124 
54069 #define BOOST_PP_INTERCEPT_125 
54070 #define BOOST_PP_INTERCEPT_126 
54071 #define BOOST_PP_INTERCEPT_127 
54072 #define BOOST_PP_INTERCEPT_128 
54073 #define BOOST_PP_INTERCEPT_129 
54074 #define BOOST_PP_INTERCEPT_130 
54075 #define BOOST_PP_INTERCEPT_131 
54076 #define BOOST_PP_INTERCEPT_132 
54077 #define BOOST_PP_INTERCEPT_133 
54078 #define BOOST_PP_INTERCEPT_134 
54079 #define BOOST_PP_INTERCEPT_135 
54080 #define BOOST_PP_INTERCEPT_136 
54081 #define BOOST_PP_INTERCEPT_137 
54082 #define BOOST_PP_INTERCEPT_138 
54083 #define BOOST_PP_INTERCEPT_139 
54084 #define BOOST_PP_INTERCEPT_140 
54085 #define BOOST_PP_INTERCEPT_141 
54086 #define BOOST_PP_INTERCEPT_142 
54087 #define BOOST_PP_INTERCEPT_143 
54088 #define BOOST_PP_INTERCEPT_144 
54089 #define BOOST_PP_INTERCEPT_145 
54090 #define BOOST_PP_INTERCEPT_146 
54091 #define BOOST_PP_INTERCEPT_147 
54092 #define BOOST_PP_INTERCEPT_148 
54093 #define BOOST_PP_INTERCEPT_149 
54094 #define BOOST_PP_INTERCEPT_150 
54095 #define BOOST_PP_INTERCEPT_151 
54096 #define BOOST_PP_INTERCEPT_152 
54097 #define BOOST_PP_INTERCEPT_153 
54098 #define BOOST_PP_INTERCEPT_154 
54099 #define BOOST_PP_INTERCEPT_155 
54100 #define BOOST_PP_INTERCEPT_156 
54101 #define BOOST_PP_INTERCEPT_157 
54102 #define BOOST_PP_INTERCEPT_158 
54103 #define BOOST_PP_INTERCEPT_159 
54104 #define BOOST_PP_INTERCEPT_160 
54105 #define BOOST_PP_INTERCEPT_161 
54106 #define BOOST_PP_INTERCEPT_162 
54107 #define BOOST_PP_INTERCEPT_163 
54108 #define BOOST_PP_INTERCEPT_164 
54109 #define BOOST_PP_INTERCEPT_165 
54110 #define BOOST_PP_INTERCEPT_166 
54111 #define BOOST_PP_INTERCEPT_167 
54112 #define BOOST_PP_INTERCEPT_168 
54113 #define BOOST_PP_INTERCEPT_169 
54114 #define BOOST_PP_INTERCEPT_170 
54115 #define BOOST_PP_INTERCEPT_171 
54116 #define BOOST_PP_INTERCEPT_172 
54117 #define BOOST_PP_INTERCEPT_173 
54118 #define BOOST_PP_INTERCEPT_174 
54119 #define BOOST_PP_INTERCEPT_175 
54120 #define BOOST_PP_INTERCEPT_176 
54121 #define BOOST_PP_INTERCEPT_177 
54122 #define BOOST_PP_INTERCEPT_178 
54123 #define BOOST_PP_INTERCEPT_179 
54124 #define BOOST_PP_INTERCEPT_180 
54125 #define BOOST_PP_INTERCEPT_181 
54126 #define BOOST_PP_INTERCEPT_182 
54127 #define BOOST_PP_INTERCEPT_183 
54128 #define BOOST_PP_INTERCEPT_184 
54129 #define BOOST_PP_INTERCEPT_185 
54130 #define BOOST_PP_INTERCEPT_186 
54131 #define BOOST_PP_INTERCEPT_187 
54132 #define BOOST_PP_INTERCEPT_188 
54133 #define BOOST_PP_INTERCEPT_189 
54134 #define BOOST_PP_INTERCEPT_190 
54135 #define BOOST_PP_INTERCEPT_191 
54136 #define BOOST_PP_INTERCEPT_192 
54137 #define BOOST_PP_INTERCEPT_193 
54138 #define BOOST_PP_INTERCEPT_194 
54139 #define BOOST_PP_INTERCEPT_195 
54140 #define BOOST_PP_INTERCEPT_196 
54141 #define BOOST_PP_INTERCEPT_197 
54142 #define BOOST_PP_INTERCEPT_198 
54143 #define BOOST_PP_INTERCEPT_199 
54144 #define BOOST_PP_INTERCEPT_200 
54145 #define BOOST_PP_INTERCEPT_201 
54146 #define BOOST_PP_INTERCEPT_202 
54147 #define BOOST_PP_INTERCEPT_203 
54148 #define BOOST_PP_INTERCEPT_204 
54149 #define BOOST_PP_INTERCEPT_205 
54150 #define BOOST_PP_INTERCEPT_206 
54151 #define BOOST_PP_INTERCEPT_207 
54152 #define BOOST_PP_INTERCEPT_208 
54153 #define BOOST_PP_INTERCEPT_209 
54154 #define BOOST_PP_INTERCEPT_210 
54155 #define BOOST_PP_INTERCEPT_211 
54156 #define BOOST_PP_INTERCEPT_212 
54157 #define BOOST_PP_INTERCEPT_213 
54158 #define BOOST_PP_INTERCEPT_214 
54159 #define BOOST_PP_INTERCEPT_215 
54160 #define BOOST_PP_INTERCEPT_216 
54161 #define BOOST_PP_INTERCEPT_217 
54162 #define BOOST_PP_INTERCEPT_218 
54163 #define BOOST_PP_INTERCEPT_219 
54164 #define BOOST_PP_INTERCEPT_220 
54165 #define BOOST_PP_INTERCEPT_221 
54166 #define BOOST_PP_INTERCEPT_222 
54167 #define BOOST_PP_INTERCEPT_223 
54168 #define BOOST_PP_INTERCEPT_224 
54169 #define BOOST_PP_INTERCEPT_225 
54170 #define BOOST_PP_INTERCEPT_226 
54171 #define BOOST_PP_INTERCEPT_227 
54172 #define BOOST_PP_INTERCEPT_228 
54173 #define BOOST_PP_INTERCEPT_229 
54174 #define BOOST_PP_INTERCEPT_230 
54175 #define BOOST_PP_INTERCEPT_231 
54176 #define BOOST_PP_INTERCEPT_232 
54177 #define BOOST_PP_INTERCEPT_233 
54178 #define BOOST_PP_INTERCEPT_234 
54179 #define BOOST_PP_INTERCEPT_235 
54180 #define BOOST_PP_INTERCEPT_236 
54181 #define BOOST_PP_INTERCEPT_237 
54182 #define BOOST_PP_INTERCEPT_238 
54183 #define BOOST_PP_INTERCEPT_239 
54184 #define BOOST_PP_INTERCEPT_240 
54185 #define BOOST_PP_INTERCEPT_241 
54186 #define BOOST_PP_INTERCEPT_242 
54187 #define BOOST_PP_INTERCEPT_243 
54188 #define BOOST_PP_INTERCEPT_244 
54189 #define BOOST_PP_INTERCEPT_245 
54190 #define BOOST_PP_INTERCEPT_246 
54191 #define BOOST_PP_INTERCEPT_247 
54192 #define BOOST_PP_INTERCEPT_248 
54193 #define BOOST_PP_INTERCEPT_249 
54194 #define BOOST_PP_INTERCEPT_250 
54195 #define BOOST_PP_INTERCEPT_251 
54196 #define BOOST_PP_INTERCEPT_252 
54197 #define BOOST_PP_INTERCEPT_253 
54198 #define BOOST_PP_INTERCEPT_254 
54199 #define BOOST_PP_INTERCEPT_255 
54200 #define BOOST_PP_INTERCEPT_256 
54201 # 19 "/usr/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp" 2 3 4
54202 # 1 "/usr/include/boost/preprocessor/repetition/enum_binary_params.hpp" 1 3 4
54203 # 13 "/usr/include/boost/preprocessor/repetition/enum_binary_params.hpp" 3 4
54204 #define BOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP 
54205 # 25 "/usr/include/boost/preprocessor/repetition/enum_binary_params.hpp" 3 4
54206 #define BOOST_PP_ENUM_BINARY_PARAMS(count,p1,p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
54207
54208
54209
54210
54211
54212
54213 #define BOOST_PP_ENUM_BINARY_PARAMS_M(z,n,pp) BOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, BOOST_PP_TUPLE_REM_2 pp)
54214 #define BOOST_PP_ENUM_BINARY_PARAMS_M_IM(z,n,im) BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, im)
54215
54216
54217
54218
54219
54220 #define BOOST_PP_ENUM_BINARY_PARAMS_M_I(z,n,p1,p2) BOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2)
54221 #define BOOST_PP_ENUM_BINARY_PARAMS_M_II(z,n,p1,p2) BOOST_PP_COMMA_IF(n) p1 ## n p2 ## n
54222
54223
54224
54225
54226
54227
54228
54229 #define BOOST_PP_ENUM_BINARY_PARAMS_Z(z,count,p1,p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
54230 # 20 "/usr/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp" 2 3 4
54231
54232
54233
54234 #define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(count,param,def) BOOST_PP_ENUM_BINARY_PARAMS(count, param, = def BOOST_PP_INTERCEPT)
54235 # 84 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
54236
54237 # 1 "/usr/include/boost/type_traits/is_same.hpp" 1 3 4
54238 # 86 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
54239 # 1 "/usr/include/boost/mpl/list.hpp" 1 3 4
54240
54241
54242 #define BOOST_MPL_LIST_HPP_INCLUDED 
54243 # 18 "/usr/include/boost/mpl/list.hpp" 3 4
54244 # 1 "/usr/include/boost/mpl/limits/list.hpp" 1 3 4
54245
54246
54247 #define BOOST_MPL_LIMITS_LIST_HPP_INCLUDED 
54248 # 18 "/usr/include/boost/mpl/limits/list.hpp" 3 4
54249 #define BOOST_MPL_LIMIT_LIST_SIZE 20
54250 # 19 "/usr/include/boost/mpl/list.hpp" 2 3 4
54251
54252
54253
54254
54255
54256 # 1 "/usr/include/boost/preprocessor/stringize.hpp" 1 3 4
54257 # 15 "/usr/include/boost/preprocessor/stringize.hpp" 3 4
54258 #define BOOST_PREPROCESSOR_STRINGIZE_HPP 
54259 # 29 "/usr/include/boost/preprocessor/stringize.hpp" 3 4
54260 #define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_I(text)
54261
54262
54263 #define BOOST_PP_STRINGIZE_I(text) #text
54264 # 25 "/usr/include/boost/mpl/list.hpp" 2 3 4
54265
54266
54267 #define AUX778076_LIST_HEADER BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE).hpp
54268 # 36 "/usr/include/boost/mpl/list.hpp" 3 4
54269 # 1 "/usr/include/boost/mpl/list/list20.hpp" 1 3 4
54270
54271
54272 #define BOOST_MPL_LIST_LIST20_HPP_INCLUDED 
54273 # 18 "/usr/include/boost/mpl/list/list20.hpp" 3 4
54274 # 1 "/usr/include/boost/mpl/list/list10.hpp" 1 3 4
54275
54276
54277 #define BOOST_MPL_LIST_LIST10_HPP_INCLUDED 
54278 # 18 "/usr/include/boost/mpl/list/list10.hpp" 3 4
54279 # 1 "/usr/include/boost/mpl/list/list0.hpp" 1 3 4
54280
54281
54282 #define BOOST_MPL_LIST_LIST0_HPP_INCLUDED 
54283 # 17 "/usr/include/boost/mpl/list/list0.hpp" 3 4
54284 # 1 "/usr/include/boost/mpl/long.hpp" 1 3 4
54285
54286
54287 #define BOOST_MPL_LONG_HPP_INCLUDED 
54288 # 17 "/usr/include/boost/mpl/long.hpp" 3 4
54289 # 1 "/usr/include/boost/mpl/long_fwd.hpp" 1 3 4
54290
54291
54292 #define BOOST_MPL_LONG_FWD_HPP_INCLUDED 
54293 # 20 "/usr/include/boost/mpl/long_fwd.hpp" 3 4
54294 namespace mpl_ {
54295
54296 template< long N > struct long_;
54297
54298 }
54299 namespace boost { namespace mpl { using ::mpl_::long_; } }
54300 # 18 "/usr/include/boost/mpl/long.hpp" 2 3 4
54301
54302 #define AUX_WRAPPER_VALUE_TYPE long
54303 # 1 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 1 3 4
54304 # 25 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 3 4
54305 #define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_)
54306
54307
54308
54309 #define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N)
54310
54311
54312
54313
54314
54315
54316 #define AUX_WRAPPER_INST(value) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value >
54317
54318
54319
54320 namespace mpl_ {
54321
54322 template< long N >
54323 struct long_
54324 {
54325     static const long value = N;
54326
54327
54328
54329
54330
54331     typedef long_ type;
54332
54333     typedef long value_type;
54334     typedef integral_c_tag tag;
54335 # 72 "/usr/include/boost/mpl/aux_/integral_wrapper.hpp" 3 4
54336     typedef mpl_::long_< static_cast<long>((value + 1)) > next;
54337     typedef mpl_::long_< static_cast<long>((value - 1)) > prior;
54338
54339
54340
54341
54342
54343
54344     operator long() const { return static_cast<long>(this->value); }
54345 };
54346
54347
54348 template< long N >
54349 long const mpl_::long_< N >::value;
54350
54351
54352 }
54353
54354 #undef AUX_WRAPPER_NAME
54355 #undef AUX_WRAPPER_PARAMS
54356 #undef AUX_WRAPPER_INST
54357 #undef AUX_WRAPPER_VALUE_TYPE
54358 # 21 "/usr/include/boost/mpl/long.hpp" 2 3 4
54359 # 18 "/usr/include/boost/mpl/list/list0.hpp" 2 3 4
54360
54361 # 1 "/usr/include/boost/mpl/list/aux_/push_front.hpp" 1 3 4
54362
54363
54364 #define BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED 
54365 # 17 "/usr/include/boost/mpl/list/aux_/push_front.hpp" 3 4
54366 # 1 "/usr/include/boost/mpl/push_front_fwd.hpp" 1 3 4
54367
54368
54369 #define BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED 
54370 # 17 "/usr/include/boost/mpl/push_front_fwd.hpp" 3 4
54371 namespace boost { namespace mpl {
54372
54373 template< typename Tag > struct push_front_impl;
54374 template< typename Sequence, typename T > struct push_front;
54375
54376 }}
54377 # 18 "/usr/include/boost/mpl/list/aux_/push_front.hpp" 2 3 4
54378 # 1 "/usr/include/boost/mpl/next.hpp" 1 3 4
54379
54380
54381 #define BOOST_MPL_NEXT_HPP_INCLUDED 
54382 # 17 "/usr/include/boost/mpl/next.hpp" 3 4
54383 # 1 "/usr/include/boost/mpl/next_prior.hpp" 1 3 4
54384
54385
54386 #define BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED 
54387 # 17 "/usr/include/boost/mpl/next_prior.hpp" 3 4
54388 # 1 "/usr/include/boost/mpl/aux_/common_name_wknd.hpp" 1 3 4
54389
54390
54391 #define BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED 
54392 # 30 "/usr/include/boost/mpl/aux_/common_name_wknd.hpp" 3 4
54393 #define BOOST_MPL_AUX_COMMON_NAME_WKND(name) 
54394 # 18 "/usr/include/boost/mpl/next_prior.hpp" 2 3 4
54395
54396
54397
54398 namespace boost { namespace mpl {
54399
54400
54401
54402
54403 template<
54404       typename T = na
54405     >
54406 struct next
54407 {
54408     typedef typename T::next type;
54409    
54410 };
54411
54412 template<
54413       typename T = na
54414     >
54415 struct prior
54416 {
54417     typedef typename T::prior type;
54418    
54419 };
54420
54421 template<> struct next< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : next< T1 > { }; }; template< typename Tag > struct lambda< next< na > , Tag , int_<-1> > { typedef false_ is_le; typedef next< na > result_; typedef next< na > type; }; namespace aux { template< typename T1 > struct template_arity< next< T1 > > : int_<1> { }; template<> struct template_arity< next< na > > : int_<-1> { }; }
54422 template<> struct prior< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : prior< T1 > { }; }; template< typename Tag > struct lambda< prior< na > , Tag , int_<-1> > { typedef false_ is_le; typedef prior< na > result_; typedef prior< na > type; }; namespace aux { template< typename T1 > struct template_arity< prior< T1 > > : int_<1> { }; template<> struct template_arity< prior< na > > : int_<-1> { }; }
54423
54424 }}
54425 # 18 "/usr/include/boost/mpl/next.hpp" 2 3 4
54426 # 19 "/usr/include/boost/mpl/list/aux_/push_front.hpp" 2 3 4
54427 # 1 "/usr/include/boost/mpl/list/aux_/item.hpp" 1 3 4
54428
54429
54430 #define BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED 
54431 # 18 "/usr/include/boost/mpl/list/aux_/item.hpp" 3 4
54432 # 1 "/usr/include/boost/mpl/list/aux_/tag.hpp" 1 3 4
54433
54434
54435 #define BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED 
54436 # 17 "/usr/include/boost/mpl/list/aux_/tag.hpp" 3 4
54437 namespace boost { namespace mpl { namespace aux {
54438
54439 struct list_tag;
54440 struct l_iter_tag;
54441
54442 }}}
54443 # 19 "/usr/include/boost/mpl/list/aux_/item.hpp" 2 3 4
54444
54445
54446
54447 namespace boost { namespace mpl {
54448
54449 template<
54450       typename Size
54451     , typename T
54452     , typename Next
54453     >
54454 struct l_item
54455 {
54456
54457
54458
54459
54460     typedef aux::list_tag tag;
54461     typedef l_item type;
54462
54463     typedef Size size;
54464     typedef T item;
54465     typedef Next next;
54466 };
54467
54468 struct l_end
54469 {
54470
54471
54472
54473     typedef aux::list_tag tag;
54474     typedef l_end type;
54475     typedef long_<0> size;
54476 };
54477
54478 }}
54479 # 20 "/usr/include/boost/mpl/list/aux_/push_front.hpp" 2 3 4
54480
54481
54482 namespace boost { namespace mpl {
54483
54484 template<>
54485 struct push_front_impl< aux::list_tag >
54486 {
54487     template< typename List, typename T > struct apply
54488     {
54489         typedef l_item<
54490               typename next<typename List::size>::type
54491             , T
54492             , typename List::type
54493             > type;
54494     };
54495 };
54496
54497 }}
54498 # 20 "/usr/include/boost/mpl/list/list0.hpp" 2 3 4
54499 # 1 "/usr/include/boost/mpl/list/aux_/pop_front.hpp" 1 3 4
54500
54501
54502 #define BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED 
54503 # 17 "/usr/include/boost/mpl/list/aux_/pop_front.hpp" 3 4
54504 # 1 "/usr/include/boost/mpl/pop_front_fwd.hpp" 1 3 4
54505
54506
54507 #define BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED 
54508 # 17 "/usr/include/boost/mpl/pop_front_fwd.hpp" 3 4
54509 namespace boost { namespace mpl {
54510
54511 template< typename Tag > struct pop_front_impl;
54512 template< typename Sequence > struct pop_front;
54513
54514 }}
54515 # 18 "/usr/include/boost/mpl/list/aux_/pop_front.hpp" 2 3 4
54516
54517
54518
54519 namespace boost { namespace mpl {
54520
54521 template<>
54522 struct pop_front_impl< aux::list_tag >
54523 {
54524     template< typename List > struct apply
54525     {
54526         typedef typename mpl::next<List>::type type;
54527     };
54528 };
54529
54530 }}
54531 # 21 "/usr/include/boost/mpl/list/list0.hpp" 2 3 4
54532 # 1 "/usr/include/boost/mpl/list/aux_/push_back.hpp" 1 3 4
54533
54534
54535 #define BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED 
54536 # 17 "/usr/include/boost/mpl/list/aux_/push_back.hpp" 3 4
54537 # 1 "/usr/include/boost/mpl/push_back_fwd.hpp" 1 3 4
54538
54539
54540 #define BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED 
54541 # 17 "/usr/include/boost/mpl/push_back_fwd.hpp" 3 4
54542 namespace boost { namespace mpl {
54543
54544 template< typename Tag > struct push_back_impl;
54545 template< typename Sequence, typename T > struct push_back;
54546
54547 }}
54548 # 18 "/usr/include/boost/mpl/list/aux_/push_back.hpp" 2 3 4
54549
54550
54551
54552 namespace boost { namespace mpl {
54553
54554 template< typename Tag > struct has_push_back_impl;
54555
54556 template<>
54557 struct has_push_back_impl< aux::list_tag >
54558 {
54559     template< typename Seq > struct apply
54560         : false_
54561     {
54562     };
54563 };
54564
54565 }}
54566 # 22 "/usr/include/boost/mpl/list/list0.hpp" 2 3 4
54567 # 1 "/usr/include/boost/mpl/list/aux_/front.hpp" 1 3 4
54568
54569
54570 #define BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED 
54571 # 17 "/usr/include/boost/mpl/list/aux_/front.hpp" 3 4
54572 # 1 "/usr/include/boost/mpl/front_fwd.hpp" 1 3 4
54573
54574
54575 #define BOOST_MPL_FRONT_FWD_HPP_INCLUDED 
54576 # 17 "/usr/include/boost/mpl/front_fwd.hpp" 3 4
54577 namespace boost { namespace mpl {
54578
54579 template< typename Tag > struct front_impl;
54580 template< typename Sequence > struct front;
54581
54582 }}
54583 # 18 "/usr/include/boost/mpl/list/aux_/front.hpp" 2 3 4
54584
54585
54586 namespace boost { namespace mpl {
54587
54588 template<>
54589 struct front_impl< aux::list_tag >
54590 {
54591     template< typename List > struct apply
54592     {
54593         typedef typename List::item type;
54594     };
54595 };
54596
54597 }}
54598 # 23 "/usr/include/boost/mpl/list/list0.hpp" 2 3 4
54599 # 1 "/usr/include/boost/mpl/list/aux_/clear.hpp" 1 3 4
54600
54601
54602 #define BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED 
54603 # 17 "/usr/include/boost/mpl/list/aux_/clear.hpp" 3 4
54604 # 1 "/usr/include/boost/mpl/clear_fwd.hpp" 1 3 4
54605
54606
54607 #define BOOST_MPL_CLEAR_FWD_HPP_INCLUDED 
54608 # 17 "/usr/include/boost/mpl/clear_fwd.hpp" 3 4
54609 namespace boost { namespace mpl {
54610
54611 template< typename Tag > struct clear_impl;
54612 template< typename Sequence > struct clear;
54613
54614 }}
54615 # 18 "/usr/include/boost/mpl/list/aux_/clear.hpp" 2 3 4
54616
54617
54618
54619 namespace boost { namespace mpl {
54620
54621 template<>
54622 struct clear_impl< aux::list_tag >
54623 {
54624     template< typename List > struct apply
54625     {
54626         typedef l_end type;
54627     };
54628 };
54629
54630 }}
54631 # 24 "/usr/include/boost/mpl/list/list0.hpp" 2 3 4
54632 # 1 "/usr/include/boost/mpl/list/aux_/O1_size.hpp" 1 3 4
54633
54634
54635 #define BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED 
54636 # 17 "/usr/include/boost/mpl/list/aux_/O1_size.hpp" 3 4
54637 # 1 "/usr/include/boost/mpl/O1_size_fwd.hpp" 1 3 4
54638
54639
54640 #define BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED 
54641 # 17 "/usr/include/boost/mpl/O1_size_fwd.hpp" 3 4
54642 namespace boost { namespace mpl {
54643
54644 template< typename Tag > struct O1_size_impl;
54645 template< typename Sequence > struct O1_size;
54646
54647 }}
54648 # 18 "/usr/include/boost/mpl/list/aux_/O1_size.hpp" 2 3 4
54649
54650
54651 namespace boost { namespace mpl {
54652
54653 template<>
54654 struct O1_size_impl< aux::list_tag >
54655 {
54656     template< typename List > struct apply
54657         : List::size
54658     {
54659     };
54660 };
54661
54662 }}
54663 # 25 "/usr/include/boost/mpl/list/list0.hpp" 2 3 4
54664 # 1 "/usr/include/boost/mpl/list/aux_/size.hpp" 1 3 4
54665
54666
54667 #define BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED 
54668 # 17 "/usr/include/boost/mpl/list/aux_/size.hpp" 3 4
54669 # 1 "/usr/include/boost/mpl/size_fwd.hpp" 1 3 4
54670
54671
54672 #define BOOST_MPL_SIZE_FWD_HPP_INCLUDED 
54673 # 17 "/usr/include/boost/mpl/size_fwd.hpp" 3 4
54674 namespace boost { namespace mpl {
54675
54676 template< typename Tag > struct size_impl;
54677 template< typename Sequence > struct size;
54678
54679 }}
54680 # 18 "/usr/include/boost/mpl/list/aux_/size.hpp" 2 3 4
54681
54682
54683 namespace boost { namespace mpl {
54684
54685 template<>
54686 struct size_impl< aux::list_tag >
54687 {
54688     template< typename List > struct apply
54689         : List::size
54690     {
54691     };
54692 };
54693
54694 }}
54695 # 26 "/usr/include/boost/mpl/list/list0.hpp" 2 3 4
54696 # 1 "/usr/include/boost/mpl/list/aux_/empty.hpp" 1 3 4
54697
54698
54699 #define BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED 
54700 # 17 "/usr/include/boost/mpl/list/aux_/empty.hpp" 3 4
54701 # 1 "/usr/include/boost/mpl/empty_fwd.hpp" 1 3 4
54702
54703
54704 #define BOOST_MPL_EMPTY_FWD_HPP_INCLUDED 
54705 # 17 "/usr/include/boost/mpl/empty_fwd.hpp" 3 4
54706 namespace boost { namespace mpl {
54707
54708 template< typename Tag > struct empty_impl;
54709 template< typename Sequence > struct empty;
54710
54711 }}
54712 # 18 "/usr/include/boost/mpl/list/aux_/empty.hpp" 2 3 4
54713 # 1 "/usr/include/boost/mpl/not.hpp" 1 3 4
54714
54715
54716 #define BOOST_MPL_NOT_HPP_INCLUDED 
54717 # 19 "/usr/include/boost/mpl/not.hpp" 3 4
54718 # 1 "/usr/include/boost/mpl/aux_/nested_type_wknd.hpp" 1 3 4
54719
54720
54721 #define BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED 
54722 # 25 "/usr/include/boost/mpl/aux_/nested_type_wknd.hpp" 3 4
54723 namespace boost { namespace mpl { namespace aux {
54724 template< typename T > struct nested_type_wknd
54725     : T::type
54726 {
54727 };
54728 }}}
54729
54730
54731
54732
54733
54734
54735 #define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) ::boost::mpl::aux::nested_type_wknd<T>
54736 # 20 "/usr/include/boost/mpl/not.hpp" 2 3 4
54737
54738
54739
54740 namespace boost { namespace mpl {
54741
54742 namespace aux {
54743
54744 template< long C_ >
54745 struct not_impl
54746     : bool_<!C_>
54747 {
54748 };
54749
54750 }
54751
54752
54753 template<
54754       typename T = na
54755     >
54756 struct not_
54757     : aux::not_impl<
54758           ::boost::mpl::aux::nested_type_wknd<T>::value
54759         >
54760 {
54761    
54762 };
54763
54764 template<> struct not_< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : not_< T1 > { }; }; template< typename Tag > struct lambda< not_< na > , Tag , int_<-1> > { typedef false_ is_le; typedef not_< na > result_; typedef not_< na > type; }; namespace aux { template< typename T1 > struct template_arity< not_< T1 > > : int_<1> { }; template<> struct template_arity< not_< na > > : int_<-1> { }; }
54765
54766 }}
54767 # 19 "/usr/include/boost/mpl/list/aux_/empty.hpp" 2 3 4
54768
54769
54770 namespace boost { namespace mpl {
54771
54772 template<>
54773 struct empty_impl< aux::list_tag >
54774 {
54775     template< typename List > struct apply
54776         : not_<typename List::size>
54777     {
54778     };
54779 };
54780
54781 }}
54782 # 27 "/usr/include/boost/mpl/list/list0.hpp" 2 3 4
54783 # 1 "/usr/include/boost/mpl/list/aux_/begin_end.hpp" 1 3 4
54784
54785
54786 #define BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED 
54787 # 17 "/usr/include/boost/mpl/list/aux_/begin_end.hpp" 3 4
54788 # 1 "/usr/include/boost/mpl/begin_end_fwd.hpp" 1 3 4
54789
54790
54791 #define BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED 
54792 # 17 "/usr/include/boost/mpl/begin_end_fwd.hpp" 3 4
54793 namespace boost { namespace mpl {
54794
54795 template< typename Tag > struct begin_impl;
54796 template< typename Tag > struct end_impl;
54797
54798 template< typename Sequence > struct begin;
54799 template< typename Sequence > struct end;
54800
54801 }}
54802 # 18 "/usr/include/boost/mpl/list/aux_/begin_end.hpp" 2 3 4
54803 # 1 "/usr/include/boost/mpl/list/aux_/iterator.hpp" 1 3 4
54804
54805
54806 #define BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED 
54807 # 17 "/usr/include/boost/mpl/list/aux_/iterator.hpp" 3 4
54808 # 1 "/usr/include/boost/mpl/iterator_tags.hpp" 1 3 4
54809
54810
54811 #define BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED 
54812 # 19 "/usr/include/boost/mpl/iterator_tags.hpp" 3 4
54813 namespace boost { namespace mpl {
54814
54815 struct forward_iterator_tag : int_<0> { typedef forward_iterator_tag type; };
54816 struct bidirectional_iterator_tag : int_<1> { typedef bidirectional_iterator_tag type; };
54817 struct random_access_iterator_tag : int_<2> { typedef random_access_iterator_tag type; };
54818
54819 }}
54820 # 18 "/usr/include/boost/mpl/list/aux_/iterator.hpp" 2 3 4
54821
54822 # 1 "/usr/include/boost/mpl/deref.hpp" 1 3 4
54823
54824
54825 #define BOOST_MPL_DEREF_HPP_INCLUDED 
54826 # 17 "/usr/include/boost/mpl/deref.hpp" 3 4
54827 # 1 "/usr/include/boost/mpl/aux_/msvc_type.hpp" 1 3 4
54828
54829
54830 #define BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED 
54831 # 18 "/usr/include/boost/mpl/aux_/msvc_type.hpp" 3 4
54832 # 1 "/usr/include/boost/mpl/aux_/is_msvc_eti_arg.hpp" 1 3 4
54833
54834
54835 #define BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED 
54836 # 17 "/usr/include/boost/mpl/aux_/is_msvc_eti_arg.hpp" 3 4
54837 # 1 "/usr/include/boost/mpl/aux_/yes_no.hpp" 1 3 4
54838
54839
54840 #define BOOST_MPL_AUX_YES_NO_HPP_INCLUDED 
54841 # 18 "/usr/include/boost/mpl/aux_/yes_no.hpp" 3 4
54842 # 1 "/usr/include/boost/mpl/aux_/config/arrays.hpp" 1 3 4
54843
54844
54845 #define BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED 
54846 # 19 "/usr/include/boost/mpl/aux_/yes_no.hpp" 2 3 4
54847
54848
54849
54850
54851 namespace boost { namespace mpl { namespace aux {
54852
54853 typedef char (&no_tag)[1];
54854 typedef char (&yes_tag)[2];
54855
54856 template< bool C_ > struct yes_no_tag
54857 {
54858     typedef no_tag type;
54859 };
54860
54861 template<> struct yes_no_tag<true>
54862 {
54863     typedef yes_tag type;
54864 };
54865
54866
54867 template< long n > struct weighted_tag
54868 {
54869
54870     typedef char (&type)[n];
54871
54872
54873
54874
54875 };
54876 # 56 "/usr/include/boost/mpl/aux_/yes_no.hpp" 3 4
54877 }}}
54878 # 18 "/usr/include/boost/mpl/aux_/is_msvc_eti_arg.hpp" 2 3 4
54879
54880
54881
54882 namespace boost { namespace mpl { namespace aux {
54883 # 62 "/usr/include/boost/mpl/aux_/is_msvc_eti_arg.hpp" 3 4
54884 }}}
54885 # 19 "/usr/include/boost/mpl/aux_/msvc_type.hpp" 2 3 4
54886
54887 namespace boost { namespace mpl { namespace aux {
54888 # 48 "/usr/include/boost/mpl/aux_/msvc_type.hpp" 3 4
54889 template< typename T > struct msvc_type
54890 {
54891     typedef typename T::type type;
54892 };
54893
54894 template<> struct msvc_type<int>
54895 {
54896     typedef int type;
54897 };
54898
54899
54900
54901 }}}
54902 # 18 "/usr/include/boost/mpl/deref.hpp" 2 3 4
54903
54904
54905
54906
54907 namespace boost { namespace mpl {
54908
54909 template<
54910       typename Iterator = na
54911     >
54912 struct deref
54913 {
54914
54915     typedef typename Iterator::type type;
54916
54917
54918
54919    
54920 };
54921
54922 template<> struct deref< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : deref< T1 > { }; }; template< typename Tag > struct lambda< deref< na > , Tag , int_<-1> > { typedef false_ is_le; typedef deref< na > result_; typedef deref< na > type; }; namespace aux { template< typename T1 > struct template_arity< deref< T1 > > : int_<1> { }; template<> struct template_arity< deref< na > > : int_<-1> { }; }
54923
54924 }}
54925 # 20 "/usr/include/boost/mpl/list/aux_/iterator.hpp" 2 3 4
54926
54927
54928 # 1 "/usr/include/boost/mpl/aux_/lambda_spec.hpp" 1 3 4
54929
54930
54931 #define BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED 
54932 # 17 "/usr/include/boost/mpl/aux_/lambda_spec.hpp" 3 4
54933 # 1 "/usr/include/boost/mpl/void.hpp" 1 3 4
54934
54935
54936 #define BOOST_MPL_VOID_HPP_INCLUDED 
54937 # 23 "/usr/include/boost/mpl/void.hpp" 3 4
54938 namespace mpl_ {
54939
54940
54941
54942
54943
54944 struct void_ { typedef void_ type; };
54945
54946 }
54947
54948 namespace boost { namespace mpl {
54949
54950 template< typename T >
54951 struct is_void_
54952     : false_
54953 {
54954
54955
54956
54957 };
54958
54959 template<>
54960 struct is_void_<void_>
54961     : true_
54962 {
54963
54964
54965
54966 };
54967
54968 template< typename T >
54969 struct is_not_void_
54970     : true_
54971 {
54972
54973
54974
54975 };
54976
54977 template<>
54978 struct is_not_void_<void_>
54979     : false_
54980 {
54981
54982
54983
54984 };
54985
54986 template<> struct is_void_< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : is_void_< T1 > { }; }; template< typename Tag > struct lambda< is_void_< na > , Tag , int_<-1> > { typedef false_ is_le; typedef is_void_< na > result_; typedef is_void_< na > type; }; namespace aux { template< typename T1 > struct template_arity< is_void_< T1 > > : int_<1> { }; template<> struct template_arity< is_void_< na > > : int_<-1> { }; }
54987 template<> struct is_not_void_< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : is_not_void_< T1 > { }; }; template< typename Tag > struct lambda< is_not_void_< na > , Tag , int_<-1> > { typedef false_ is_le; typedef is_not_void_< na > result_; typedef is_not_void_< na > type; }; namespace aux { template< typename T1 > struct template_arity< is_not_void_< T1 > > : int_<1> { }; template<> struct template_arity< is_not_void_< na > > : int_<-1> { }; }
54988
54989 }}
54990 # 18 "/usr/include/boost/mpl/aux_/lambda_spec.hpp" 2 3 4
54991 # 26 "/usr/include/boost/mpl/aux_/lambda_spec.hpp" 3 4
54992 #define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i,name) template< BOOST_MPL_PP_PARAMS(i, typename T) , typename Tag > struct lambda< name< BOOST_MPL_PP_PARAMS(i, T) > , Tag BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<i>) > { typedef false_ is_le; typedef name< BOOST_MPL_PP_PARAMS(i, T) > type; };
54993 # 23 "/usr/include/boost/mpl/list/aux_/iterator.hpp" 2 3 4
54994
54995
54996 namespace boost { namespace mpl {
54997
54998
54999
55000 template< typename Node >
55001 struct l_iter
55002 {
55003     typedef aux::l_iter_tag tag;
55004     typedef forward_iterator_tag category;
55005 };
55006
55007 template< typename Node >
55008 struct deref< l_iter<Node> >
55009 {
55010     typedef typename Node::item type;
55011 };
55012
55013 template< typename Node >
55014 struct next< l_iter<Node> >
55015 {
55016     typedef l_iter< typename Node::next > type;
55017 };
55018 # 62 "/usr/include/boost/mpl/list/aux_/iterator.hpp" 3 4
55019 template<> struct l_iter<l_end>
55020 {
55021     typedef aux::l_iter_tag tag;
55022     typedef forward_iterator_tag category;
55023
55024
55025
55026
55027 };
55028
55029 template< typename T1 , typename Tag > struct lambda< l_iter< T1 > , Tag , int_<1> > { typedef false_ is_le; typedef l_iter< T1 > type; };
55030
55031 }}
55032 # 19 "/usr/include/boost/mpl/list/aux_/begin_end.hpp" 2 3 4
55033
55034
55035
55036 namespace boost { namespace mpl {
55037
55038 template<>
55039 struct begin_impl< aux::list_tag >
55040 {
55041     template< typename List > struct apply
55042     {
55043         typedef l_iter<typename List::type> type;
55044     };
55045 };
55046
55047 template<>
55048 struct end_impl< aux::list_tag >
55049 {
55050     template< typename > struct apply
55051     {
55052         typedef l_iter<l_end> type;
55053     };
55054 };
55055
55056 }}
55057 # 28 "/usr/include/boost/mpl/list/list0.hpp" 2 3 4
55058
55059
55060 namespace boost { namespace mpl {
55061
55062 template< typename Dummy = na > struct list0;
55063
55064 template<> struct list0<na>
55065     : l_end
55066 {
55067     typedef l_end type;
55068 };
55069
55070 }}
55071 # 19 "/usr/include/boost/mpl/list/list10.hpp" 2 3 4
55072
55073
55074 # 1 "/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp" 1 3 4
55075
55076
55077 #define BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED 
55078 # 22 "/usr/include/boost/mpl/list/list10.hpp" 2 3 4
55079
55080
55081
55082
55083 #define BOOST_MPL_PREPROCESSED_HEADER list10.hpp
55084 # 1 "/usr/include/boost/mpl/list/aux_/include_preprocessed.hpp" 1 3 4
55085 # 19 "/usr/include/boost/mpl/list/aux_/include_preprocessed.hpp" 3 4
55086 #define AUX778076_HEADER aux_/preprocessed/plain/BOOST_MPL_PREPROCESSED_HEADER
55087
55088
55089
55090 # 1 "/usr/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp" 1 3 4
55091 # 12 "/usr/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp" 3 4
55092 namespace boost { namespace mpl {
55093
55094 template<
55095       typename T0
55096     >
55097 struct list1
55098     : l_item<
55099           long_<1>
55100         , T0
55101         , l_end
55102         >
55103 {
55104     typedef list1 type;
55105 };
55106
55107 template<
55108       typename T0, typename T1
55109     >
55110 struct list2
55111     : l_item<
55112           long_<2>
55113         , T0
55114         , list1<T1>
55115         >
55116 {
55117     typedef list2 type;
55118 };
55119
55120 template<
55121       typename T0, typename T1, typename T2
55122     >
55123 struct list3
55124     : l_item<
55125           long_<3>
55126         , T0
55127         , list2< T1,T2 >
55128         >
55129 {
55130     typedef list3 type;
55131 };
55132
55133 template<
55134       typename T0, typename T1, typename T2, typename T3
55135     >
55136 struct list4
55137     : l_item<
55138           long_<4>
55139         , T0
55140         , list3< T1,T2,T3 >
55141         >
55142 {
55143     typedef list4 type;
55144 };
55145
55146 template<
55147       typename T0, typename T1, typename T2, typename T3, typename T4
55148     >
55149 struct list5
55150     : l_item<
55151           long_<5>
55152         , T0
55153         , list4< T1,T2,T3,T4 >
55154         >
55155 {
55156     typedef list5 type;
55157 };
55158
55159 template<
55160       typename T0, typename T1, typename T2, typename T3, typename T4
55161     , typename T5
55162     >
55163 struct list6
55164     : l_item<
55165           long_<6>
55166         , T0
55167         , list5< T1,T2,T3,T4,T5 >
55168         >
55169 {
55170     typedef list6 type;
55171 };
55172
55173 template<
55174       typename T0, typename T1, typename T2, typename T3, typename T4
55175     , typename T5, typename T6
55176     >
55177 struct list7
55178     : l_item<
55179           long_<7>
55180         , T0
55181         , list6< T1,T2,T3,T4,T5,T6 >
55182         >
55183 {
55184     typedef list7 type;
55185 };
55186
55187 template<
55188       typename T0, typename T1, typename T2, typename T3, typename T4
55189     , typename T5, typename T6, typename T7
55190     >
55191 struct list8
55192     : l_item<
55193           long_<8>
55194         , T0
55195         , list7< T1,T2,T3,T4,T5,T6,T7 >
55196         >
55197 {
55198     typedef list8 type;
55199 };
55200
55201 template<
55202       typename T0, typename T1, typename T2, typename T3, typename T4
55203     , typename T5, typename T6, typename T7, typename T8
55204     >
55205 struct list9
55206     : l_item<
55207           long_<9>
55208         , T0
55209         , list8< T1,T2,T3,T4,T5,T6,T7,T8 >
55210         >
55211 {
55212     typedef list9 type;
55213 };
55214
55215 template<
55216       typename T0, typename T1, typename T2, typename T3, typename T4
55217     , typename T5, typename T6, typename T7, typename T8, typename T9
55218     >
55219 struct list10
55220     : l_item<
55221           long_<10>
55222         , T0
55223         , list9< T1,T2,T3,T4,T5,T6,T7,T8,T9 >
55224         >
55225 {
55226     typedef list10 type;
55227 };
55228
55229 }}
55230 # 24 "/usr/include/boost/mpl/list/aux_/include_preprocessed.hpp" 2 3 4
55231
55232 #undef AUX778076_HEADER
55233
55234 #undef BOOST_MPL_PREPROCESSED_HEADER
55235 # 28 "/usr/include/boost/mpl/list/list10.hpp" 2 3 4
55236 # 19 "/usr/include/boost/mpl/list/list20.hpp" 2 3 4
55237
55238
55239
55240
55241
55242
55243
55244 #define BOOST_MPL_PREPROCESSED_HEADER list20.hpp
55245 # 1 "/usr/include/boost/mpl/list/aux_/include_preprocessed.hpp" 1 3 4
55246 # 19 "/usr/include/boost/mpl/list/aux_/include_preprocessed.hpp" 3 4
55247 #define AUX778076_HEADER aux_/preprocessed/plain/BOOST_MPL_PREPROCESSED_HEADER
55248
55249
55250
55251 # 1 "/usr/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp" 1 3 4
55252 # 12 "/usr/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp" 3 4
55253 namespace boost { namespace mpl {
55254
55255 template<
55256       typename T0, typename T1, typename T2, typename T3, typename T4
55257     , typename T5, typename T6, typename T7, typename T8, typename T9
55258     , typename T10
55259     >
55260 struct list11
55261     : l_item<
55262           long_<11>
55263         , T0
55264         , list10< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
55265         >
55266 {
55267     typedef list11 type;
55268 };
55269
55270 template<
55271       typename T0, typename T1, typename T2, typename T3, typename T4
55272     , typename T5, typename T6, typename T7, typename T8, typename T9
55273     , typename T10, typename T11
55274     >
55275 struct list12
55276     : l_item<
55277           long_<12>
55278         , T0
55279         , list11< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
55280         >
55281 {
55282     typedef list12 type;
55283 };
55284
55285 template<
55286       typename T0, typename T1, typename T2, typename T3, typename T4
55287     , typename T5, typename T6, typename T7, typename T8, typename T9
55288     , typename T10, typename T11, typename T12
55289     >
55290 struct list13
55291     : l_item<
55292           long_<13>
55293         , T0
55294         , list12< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
55295         >
55296 {
55297     typedef list13 type;
55298 };
55299
55300 template<
55301       typename T0, typename T1, typename T2, typename T3, typename T4
55302     , typename T5, typename T6, typename T7, typename T8, typename T9
55303     , typename T10, typename T11, typename T12, typename T13
55304     >
55305 struct list14
55306     : l_item<
55307           long_<14>
55308         , T0
55309         , list13< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
55310         >
55311 {
55312     typedef list14 type;
55313 };
55314
55315 template<
55316       typename T0, typename T1, typename T2, typename T3, typename T4
55317     , typename T5, typename T6, typename T7, typename T8, typename T9
55318     , typename T10, typename T11, typename T12, typename T13, typename T14
55319     >
55320 struct list15
55321     : l_item<
55322           long_<15>
55323         , T0
55324         , list14< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >
55325         >
55326 {
55327     typedef list15 type;
55328 };
55329
55330 template<
55331       typename T0, typename T1, typename T2, typename T3, typename T4
55332     , typename T5, typename T6, typename T7, typename T8, typename T9
55333     , typename T10, typename T11, typename T12, typename T13, typename T14
55334     , typename T15
55335     >
55336 struct list16
55337     : l_item<
55338           long_<16>
55339         , T0
55340         , list15< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >
55341         >
55342 {
55343     typedef list16 type;
55344 };
55345
55346 template<
55347       typename T0, typename T1, typename T2, typename T3, typename T4
55348     , typename T5, typename T6, typename T7, typename T8, typename T9
55349     , typename T10, typename T11, typename T12, typename T13, typename T14
55350     , typename T15, typename T16
55351     >
55352 struct list17
55353     : l_item<
55354           long_<17>
55355         , T0
55356         , list16< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >
55357         >
55358 {
55359     typedef list17 type;
55360 };
55361
55362 template<
55363       typename T0, typename T1, typename T2, typename T3, typename T4
55364     , typename T5, typename T6, typename T7, typename T8, typename T9
55365     , typename T10, typename T11, typename T12, typename T13, typename T14
55366     , typename T15, typename T16, typename T17
55367     >
55368 struct list18
55369     : l_item<
55370           long_<18>
55371         , T0
55372         , list17< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >
55373         >
55374 {
55375     typedef list18 type;
55376 };
55377
55378 template<
55379       typename T0, typename T1, typename T2, typename T3, typename T4
55380     , typename T5, typename T6, typename T7, typename T8, typename T9
55381     , typename T10, typename T11, typename T12, typename T13, typename T14
55382     , typename T15, typename T16, typename T17, typename T18
55383     >
55384 struct list19
55385     : l_item<
55386           long_<19>
55387         , T0
55388         , list18< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >
55389         >
55390 {
55391     typedef list19 type;
55392 };
55393
55394 template<
55395       typename T0, typename T1, typename T2, typename T3, typename T4
55396     , typename T5, typename T6, typename T7, typename T8, typename T9
55397     , typename T10, typename T11, typename T12, typename T13, typename T14
55398     , typename T15, typename T16, typename T17, typename T18, typename T19
55399     >
55400 struct list20
55401     : l_item<
55402           long_<20>
55403         , T0
55404         , list19< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >
55405         >
55406 {
55407     typedef list20 type;
55408 };
55409
55410 }}
55411 # 24 "/usr/include/boost/mpl/list/aux_/include_preprocessed.hpp" 2 3 4
55412
55413 #undef AUX778076_HEADER
55414
55415 #undef BOOST_MPL_PREPROCESSED_HEADER
55416 # 28 "/usr/include/boost/mpl/list/list20.hpp" 2 3 4
55417 # 37 "/usr/include/boost/mpl/list.hpp" 2 3 4
55418 #undef AUX778076_LIST_HEADER
55419
55420
55421
55422
55423
55424
55425
55426 #define BOOST_MPL_PREPROCESSED_HEADER list.hpp
55427 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
55428 # 16 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
55429 # 1 "/usr/include/boost/mpl/aux_/config/compiler.hpp" 1 3 4
55430
55431
55432 #define BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED 
55433 # 33 "/usr/include/boost/mpl/aux_/config/compiler.hpp" 3 4
55434 #define BOOST_MPL_CFG_COMPILER_DIR gcc
55435 # 17 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
55436
55437
55438
55439
55440
55441 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
55442 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
55443 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/list.hpp" 1 3 4
55444 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/list.hpp" 3 4
55445 namespace boost { namespace mpl {
55446
55447 template<
55448       typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
55449     , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
55450     , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
55451     , typename T12 = na, typename T13 = na, typename T14 = na
55452     , typename T15 = na, typename T16 = na, typename T17 = na
55453     , typename T18 = na, typename T19 = na
55454     >
55455 struct list;
55456
55457 template<
55458
55459     >
55460 struct list<
55461           na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
55462         , na, na, na
55463         >
55464     : list0< >
55465 {
55466     typedef list0< >::type type;
55467 };
55468
55469 template<
55470       typename T0
55471     >
55472 struct list<
55473           T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
55474         , na, na, na
55475         >
55476     : list1<T0>
55477 {
55478     typedef typename list1<T0>::type type;
55479 };
55480
55481 template<
55482       typename T0, typename T1
55483     >
55484 struct list<
55485           T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
55486         , na, na, na
55487         >
55488     : list2< T0,T1 >
55489 {
55490     typedef typename list2< T0,T1 >::type type;
55491 };
55492
55493 template<
55494       typename T0, typename T1, typename T2
55495     >
55496 struct list<
55497           T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
55498         , na, na, na
55499         >
55500     : list3< T0,T1,T2 >
55501 {
55502     typedef typename list3< T0,T1,T2 >::type type;
55503 };
55504
55505 template<
55506       typename T0, typename T1, typename T2, typename T3
55507     >
55508 struct list<
55509           T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
55510         , na, na, na
55511         >
55512     : list4< T0,T1,T2,T3 >
55513 {
55514     typedef typename list4< T0,T1,T2,T3 >::type type;
55515 };
55516
55517 template<
55518       typename T0, typename T1, typename T2, typename T3, typename T4
55519     >
55520 struct list<
55521           T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
55522         , na, na, na
55523         >
55524     : list5< T0,T1,T2,T3,T4 >
55525 {
55526     typedef typename list5< T0,T1,T2,T3,T4 >::type type;
55527 };
55528
55529 template<
55530       typename T0, typename T1, typename T2, typename T3, typename T4
55531     , typename T5
55532     >
55533 struct list<
55534           T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
55535         , na, na, na
55536         >
55537     : list6< T0,T1,T2,T3,T4,T5 >
55538 {
55539     typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
55540 };
55541
55542 template<
55543       typename T0, typename T1, typename T2, typename T3, typename T4
55544     , typename T5, typename T6
55545     >
55546 struct list<
55547           T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
55548         , na, na, na
55549         >
55550     : list7< T0,T1,T2,T3,T4,T5,T6 >
55551 {
55552     typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
55553 };
55554
55555 template<
55556       typename T0, typename T1, typename T2, typename T3, typename T4
55557     , typename T5, typename T6, typename T7
55558     >
55559 struct list<
55560           T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
55561         , na, na, na
55562         >
55563     : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
55564 {
55565     typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
55566 };
55567
55568 template<
55569       typename T0, typename T1, typename T2, typename T3, typename T4
55570     , typename T5, typename T6, typename T7, typename T8
55571     >
55572 struct list<
55573           T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
55574         , na, na, na
55575         >
55576     : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
55577 {
55578     typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
55579 };
55580
55581 template<
55582       typename T0, typename T1, typename T2, typename T3, typename T4
55583     , typename T5, typename T6, typename T7, typename T8, typename T9
55584     >
55585 struct list<
55586           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
55587         , na, na, na
55588         >
55589     : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
55590 {
55591     typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
55592 };
55593
55594 template<
55595       typename T0, typename T1, typename T2, typename T3, typename T4
55596     , typename T5, typename T6, typename T7, typename T8, typename T9
55597     , typename T10
55598     >
55599 struct list<
55600           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
55601         , na, na, na
55602         >
55603     : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
55604 {
55605     typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
55606 };
55607
55608 template<
55609       typename T0, typename T1, typename T2, typename T3, typename T4
55610     , typename T5, typename T6, typename T7, typename T8, typename T9
55611     , typename T10, typename T11
55612     >
55613 struct list<
55614           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
55615         , na, na, na, na
55616         >
55617     : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
55618 {
55619     typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
55620 };
55621
55622 template<
55623       typename T0, typename T1, typename T2, typename T3, typename T4
55624     , typename T5, typename T6, typename T7, typename T8, typename T9
55625     , typename T10, typename T11, typename T12
55626     >
55627 struct list<
55628           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
55629         , na, na, na, na
55630         >
55631     : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
55632 {
55633     typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
55634 };
55635
55636 template<
55637       typename T0, typename T1, typename T2, typename T3, typename T4
55638     , typename T5, typename T6, typename T7, typename T8, typename T9
55639     , typename T10, typename T11, typename T12, typename T13
55640     >
55641 struct list<
55642           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
55643         , na, na, na, na
55644         >
55645     : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
55646 {
55647     typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
55648 };
55649
55650 template<
55651       typename T0, typename T1, typename T2, typename T3, typename T4
55652     , typename T5, typename T6, typename T7, typename T8, typename T9
55653     , typename T10, typename T11, typename T12, typename T13, typename T14
55654     >
55655 struct list<
55656           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
55657         , na, na, na, na
55658         >
55659     : list15<
55660           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
55661         >
55662 {
55663     typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
55664 };
55665
55666 template<
55667       typename T0, typename T1, typename T2, typename T3, typename T4
55668     , typename T5, typename T6, typename T7, typename T8, typename T9
55669     , typename T10, typename T11, typename T12, typename T13, typename T14
55670     , typename T15
55671     >
55672 struct list<
55673           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
55674         , T15, na, na, na, na
55675         >
55676     : list16<
55677           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
55678         , T15
55679         >
55680 {
55681     typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
55682 };
55683
55684 template<
55685       typename T0, typename T1, typename T2, typename T3, typename T4
55686     , typename T5, typename T6, typename T7, typename T8, typename T9
55687     , typename T10, typename T11, typename T12, typename T13, typename T14
55688     , typename T15, typename T16
55689     >
55690 struct list<
55691           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
55692         , T15, T16, na, na, na
55693         >
55694     : list17<
55695           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
55696         , T15, T16
55697         >
55698 {
55699     typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
55700 };
55701
55702 template<
55703       typename T0, typename T1, typename T2, typename T3, typename T4
55704     , typename T5, typename T6, typename T7, typename T8, typename T9
55705     , typename T10, typename T11, typename T12, typename T13, typename T14
55706     , typename T15, typename T16, typename T17
55707     >
55708 struct list<
55709           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
55710         , T15, T16, T17, na, na
55711         >
55712     : list18<
55713           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
55714         , T15, T16, T17
55715         >
55716 {
55717     typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
55718 };
55719
55720 template<
55721       typename T0, typename T1, typename T2, typename T3, typename T4
55722     , typename T5, typename T6, typename T7, typename T8, typename T9
55723     , typename T10, typename T11, typename T12, typename T13, typename T14
55724     , typename T15, typename T16, typename T17, typename T18
55725     >
55726 struct list<
55727           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
55728         , T15, T16, T17, T18, na
55729         >
55730     : list19<
55731           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
55732         , T15, T16, T17, T18
55733         >
55734 {
55735     typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
55736 };
55737
55738
55739
55740 template<
55741       typename T0, typename T1, typename T2, typename T3, typename T4
55742     , typename T5, typename T6, typename T7, typename T8, typename T9
55743     , typename T10, typename T11, typename T12, typename T13, typename T14
55744     , typename T15, typename T16, typename T17, typename T18, typename T19
55745     >
55746 struct list
55747     : list20<
55748           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
55749         , T15, T16, T17, T18, T19
55750         >
55751 {
55752     typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
55753 };
55754
55755 }}
55756 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
55757 #undef AUX_PREPROCESSED_HEADER
55758
55759 #undef BOOST_MPL_PREPROCESSED_HEADER
55760 # 47 "/usr/include/boost/mpl/list.hpp" 2 3 4
55761 # 87 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
55762 # 1 "/usr/include/boost/mpl/apply.hpp" 1 3 4
55763
55764
55765
55766
55767
55768
55769 #define BOOST_MPL_APPLY_HPP_INCLUDED 
55770 # 22 "/usr/include/boost/mpl/apply.hpp" 3 4
55771 # 1 "/usr/include/boost/mpl/apply_fwd.hpp" 1 3 4
55772
55773
55774
55775
55776
55777
55778 #define BOOST_MPL_APPLY_FWD_HPP_INCLUDED 
55779 # 30 "/usr/include/boost/mpl/apply_fwd.hpp" 3 4
55780 #define BOOST_MPL_PREPROCESSED_HEADER apply_fwd.hpp
55781 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
55782 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
55783 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
55784 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
55785 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp" 1 3 4
55786 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp" 3 4
55787 namespace boost { namespace mpl {
55788
55789 template<
55790       typename F, typename T1 = na, typename T2 = na, typename T3 = na
55791     , typename T4 = na, typename T5 = na
55792     >
55793 struct apply;
55794
55795 template<
55796       typename F
55797     >
55798 struct apply0;
55799
55800 template<
55801       typename F, typename T1
55802     >
55803 struct apply1;
55804
55805 template<
55806       typename F, typename T1, typename T2
55807     >
55808 struct apply2;
55809
55810 template<
55811       typename F, typename T1, typename T2, typename T3
55812     >
55813 struct apply3;
55814
55815 template<
55816       typename F, typename T1, typename T2, typename T3, typename T4
55817     >
55818 struct apply4;
55819
55820 template<
55821       typename F, typename T1, typename T2, typename T3, typename T4
55822     , typename T5
55823     >
55824 struct apply5;
55825
55826 }}
55827 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
55828 #undef AUX_PREPROCESSED_HEADER
55829
55830 #undef BOOST_MPL_PREPROCESSED_HEADER
55831 # 32 "/usr/include/boost/mpl/apply_fwd.hpp" 2 3 4
55832 # 23 "/usr/include/boost/mpl/apply.hpp" 2 3 4
55833 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
55834
55835
55836
55837
55838
55839
55840 #define BOOST_MPL_APPLY_WRAP_HPP_INCLUDED 
55841 # 23 "/usr/include/boost/mpl/apply_wrap.hpp" 3 4
55842 # 1 "/usr/include/boost/mpl/aux_/has_apply.hpp" 1 3 4
55843
55844
55845 #define BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED 
55846 # 17 "/usr/include/boost/mpl/aux_/has_apply.hpp" 3 4
55847 # 1 "/usr/include/boost/mpl/has_xxx.hpp" 1 3 4
55848
55849
55850 #define BOOST_MPL_HAS_XXX_HPP_INCLUDED 
55851 # 19 "/usr/include/boost/mpl/has_xxx.hpp" 3 4
55852 # 1 "/usr/include/boost/mpl/aux_/type_wrapper.hpp" 1 3 4
55853
55854
55855 #define BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED 
55856 # 20 "/usr/include/boost/mpl/aux_/type_wrapper.hpp" 3 4
55857 namespace boost { namespace mpl { namespace aux {
55858
55859 template< typename T > struct type_wrapper
55860 {
55861     typedef T type;
55862 };
55863
55864
55865
55866
55867
55868
55869 template< typename T > struct wrapped_type;
55870
55871 template< typename T > struct wrapped_type< type_wrapper<T> >
55872 {
55873     typedef T type;
55874 };
55875
55876
55877
55878
55879
55880
55881
55882 }}}
55883 # 20 "/usr/include/boost/mpl/has_xxx.hpp" 2 3 4
55884
55885 # 1 "/usr/include/boost/mpl/aux_/config/has_xxx.hpp" 1 3 4
55886
55887
55888 #define BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED 
55889 # 22 "/usr/include/boost/mpl/has_xxx.hpp" 2 3 4
55890 # 1 "/usr/include/boost/mpl/aux_/config/msvc_typename.hpp" 1 3 4
55891
55892
55893 #define BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED 
55894 # 23 "/usr/include/boost/mpl/aux_/config/msvc_typename.hpp" 3 4
55895 #define BOOST_MSVC_TYPENAME typename
55896 # 23 "/usr/include/boost/mpl/has_xxx.hpp" 2 3 4
55897 # 186 "/usr/include/boost/mpl/has_xxx.hpp" 3 4
55898 #define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait,name,default_) template< typename T, typename fallback_ = boost::mpl::bool_<default_> > struct trait { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper<U> const volatile* , boost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper<T> t_; BOOST_STATIC_CONSTANT(bool, value = sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) == sizeof(boost::mpl::aux::yes_tag) ); typedef boost::mpl::bool_<value> type; };
55899 # 228 "/usr/include/boost/mpl/has_xxx.hpp" 3 4
55900 #define BOOST_MPL_HAS_XXX_TRAIT_DEF(name) BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(has_,name), name, false)
55901 # 18 "/usr/include/boost/mpl/aux_/has_apply.hpp" 2 3 4
55902 # 1 "/usr/include/boost/mpl/aux_/config/has_apply.hpp" 1 3 4
55903
55904
55905 #define BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED 
55906 # 19 "/usr/include/boost/mpl/aux_/has_apply.hpp" 2 3 4
55907
55908 namespace boost { namespace mpl { namespace aux {
55909
55910 template< typename T, typename fallback_ = boost::mpl::bool_<false> > struct has_apply { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper<U> const volatile* , boost::mpl::aux::type_wrapper<typename U::apply>* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper<T> t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_<value> type; };
55911
55912
55913
55914
55915
55916
55917
55918 }}}
55919 # 24 "/usr/include/boost/mpl/apply_wrap.hpp" 2 3 4
55920
55921 # 1 "/usr/include/boost/mpl/aux_/msvc_never_true.hpp" 1 3 4
55922
55923
55924 #define BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED 
55925 # 26 "/usr/include/boost/mpl/apply_wrap.hpp" 2 3 4
55926
55927
55928
55929
55930
55931
55932
55933 #define BOOST_MPL_PREPROCESSED_HEADER apply_wrap.hpp
55934 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
55935 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
55936 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
55937 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
55938 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp" 1 3 4
55939 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp" 3 4
55940 namespace boost { namespace mpl {
55941
55942 template<
55943       typename F
55944
55945     , typename has_apply_ = typename aux::has_apply<F>::type
55946
55947     >
55948 struct apply_wrap0
55949
55950     : F::template apply< >
55951 {
55952 };
55953
55954 template< typename F >
55955 struct apply_wrap0< F,true_ >
55956     : F::apply
55957 {
55958 };
55959
55960 template<
55961       typename F, typename T1
55962
55963     >
55964 struct apply_wrap1
55965
55966     : F::template apply<T1>
55967 {
55968 };
55969
55970 template<
55971       typename F, typename T1, typename T2
55972
55973     >
55974 struct apply_wrap2
55975
55976     : F::template apply< T1,T2 >
55977 {
55978 };
55979
55980 template<
55981       typename F, typename T1, typename T2, typename T3
55982
55983     >
55984 struct apply_wrap3
55985
55986     : F::template apply< T1,T2,T3 >
55987 {
55988 };
55989
55990 template<
55991       typename F, typename T1, typename T2, typename T3, typename T4
55992
55993     >
55994 struct apply_wrap4
55995
55996     : F::template apply< T1,T2,T3,T4 >
55997 {
55998 };
55999
56000 template<
56001       typename F, typename T1, typename T2, typename T3, typename T4
56002     , typename T5
56003
56004     >
56005 struct apply_wrap5
56006
56007     : F::template apply< T1,T2,T3,T4,T5 >
56008 {
56009 };
56010
56011 }}
56012 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
56013 #undef AUX_PREPROCESSED_HEADER
56014
56015 #undef BOOST_MPL_PREPROCESSED_HEADER
56016 # 35 "/usr/include/boost/mpl/apply_wrap.hpp" 2 3 4
56017 # 24 "/usr/include/boost/mpl/apply.hpp" 2 3 4
56018 # 1 "/usr/include/boost/mpl/placeholders.hpp" 1 3 4
56019
56020
56021
56022
56023
56024
56025 #define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED 
56026 # 24 "/usr/include/boost/mpl/placeholders.hpp" 3 4
56027 # 1 "/usr/include/boost/mpl/arg.hpp" 1 3 4
56028
56029
56030
56031
56032
56033
56034 #define BOOST_MPL_ARG_HPP_INCLUDED 
56035 # 23 "/usr/include/boost/mpl/arg.hpp" 3 4
56036 # 1 "/usr/include/boost/mpl/arg_fwd.hpp" 1 3 4
56037
56038
56039 #define BOOST_MPL_ARG_FWD_HPP_INCLUDED 
56040 # 21 "/usr/include/boost/mpl/arg_fwd.hpp" 3 4
56041 namespace mpl_ {
56042
56043 template< int N > struct arg;
56044
56045 }
56046 namespace boost { namespace mpl { using ::mpl_::arg; } }
56047 # 24 "/usr/include/boost/mpl/arg.hpp" 2 3 4
56048
56049 # 1 "/usr/include/boost/mpl/aux_/na_assert.hpp" 1 3 4
56050
56051
56052 #define BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED 
56053 # 23 "/usr/include/boost/mpl/aux_/na_assert.hpp" 3 4
56054 # 1 "/usr/include/boost/mpl/assert.hpp" 1 3 4
56055
56056
56057 #define BOOST_MPL_ASSERT_HPP_INCLUDED 
56058 # 34 "/usr/include/boost/mpl/assert.hpp" 3 4
56059 #define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES 
56060 # 45 "/usr/include/boost/mpl/assert.hpp" 3 4
56061 namespace mpl_ {
56062
56063 struct failed {};
56064
56065
56066
56067
56068
56069
56070
56071 #define AUX778076_ASSERT_ARG(x) x
56072
56073
56074 template< bool C > struct assert { typedef void* type; };
56075 template<> struct assert<false> { typedef assert type; };
56076
56077 template< bool C >
56078 int assertion_failed( typename assert<C>::type );
56079
56080 template< bool C >
56081 struct assertion
56082 {
56083     static int failed( assert<false> );
56084 };
56085
56086 template<>
56087 struct assertion<true>
56088 {
56089     static int failed( void* );
56090 };
56091
56092 struct assert_
56093 {
56094
56095     template< typename T1, typename T2 = na, typename T3 = na, typename T4 = na > struct types {};
56096
56097     static assert_ const arg;
56098     enum relations { equal = 1, not_equal, greater, greater_equal, less, less_equal };
56099 };
56100 # 106 "/usr/include/boost/mpl/assert.hpp" 3 4
56101 boost::mpl::aux::weighted_tag<1>::type operator==( assert_, assert_ );
56102 boost::mpl::aux::weighted_tag<2>::type operator!=( assert_, assert_ );
56103 boost::mpl::aux::weighted_tag<3>::type operator>( assert_, assert_ );
56104 boost::mpl::aux::weighted_tag<4>::type operator>=( assert_, assert_ );
56105 boost::mpl::aux::weighted_tag<5>::type operator<( assert_, assert_ );
56106 boost::mpl::aux::weighted_tag<6>::type operator<=( assert_, assert_ );
56107
56108 template< assert_::relations r, long x, long y > struct assert_relation {};
56109
56110
56111
56112
56113
56114
56115 template< bool > struct assert_arg_pred_impl { typedef int type; };
56116 template<> struct assert_arg_pred_impl<true> { typedef void* type; };
56117
56118 template< typename P > struct assert_arg_pred
56119 {
56120     typedef typename P::type p_type;
56121     typedef typename assert_arg_pred_impl< p_type::value >::type type;
56122 };
56123
56124 template< typename P > struct assert_arg_pred_not
56125 {
56126     typedef typename P::type p_type;
56127     enum { p = !p_type::value };
56128     typedef typename assert_arg_pred_impl<p>::type type;
56129 };
56130
56131 template< typename Pred >
56132 failed ************ (Pred::************
56133       assert_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type )
56134     );
56135
56136 template< typename Pred >
56137 failed ************ (boost::mpl::not_<Pred>::************
56138       assert_not_arg( void (*)(Pred), typename assert_arg_pred_not<Pred>::type )
56139     );
56140
56141 template< typename Pred >
56142 assert<false>
56143 assert_arg( void (*)(Pred), typename assert_arg_pred_not<Pred>::type );
56144
56145 template< typename Pred >
56146 assert<false>
56147 assert_not_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type );
56148 # 193 "/usr/include/boost/mpl/assert.hpp" 3 4
56149 #undef AUX778076_ASSERT_ARG
56150
56151 }
56152
56153
56154
56155
56156 #define BOOST_MPL_ASSERT(pred) enum { BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_arg( (void (*) pred)0, 1 ) ) ) }
56157 # 223 "/usr/include/boost/mpl/assert.hpp" 3 4
56158 #define BOOST_MPL_ASSERT_NOT(pred) enum { BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) ) ) }
56159 # 239 "/usr/include/boost/mpl/assert.hpp" 3 4
56160 #define BOOST_MPL_ASSERT_RELATION(x,rel,y) enum { BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( boost::mpl::assertion_failed<(x rel y)>( (boost::mpl::failed ************ ( boost::mpl::assert_relation< boost::mpl::assert_::relations( sizeof( boost::mpl::assert_::arg rel boost::mpl::assert_::arg ) ) , x , y >::************)) 0 ) ) }
56161 # 315 "/usr/include/boost/mpl/assert.hpp" 3 4
56162 #define BOOST_MPL_ASSERT_MSG(c,msg,types_) struct msg; typedef struct BOOST_PP_CAT(msg,__LINE__) : boost::mpl::assert_ { static boost::mpl::failed ************ (msg::************ assert_arg()) types_ { return 0; } } BOOST_PP_CAT(mpl_assert_arg,__LINE__); enum { BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,__LINE__)::assert_arg() ) ) }
56163 # 24 "/usr/include/boost/mpl/aux_/na_assert.hpp" 2 3 4
56164 #define BOOST_MPL_AUX_ASSERT_NOT_NA(x) BOOST_MPL_ASSERT_NOT((boost::mpl::is_na<type>))
56165 # 26 "/usr/include/boost/mpl/arg.hpp" 2 3 4
56166 # 1 "/usr/include/boost/mpl/aux_/arity_spec.hpp" 1 3 4
56167
56168
56169 #define BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED 
56170 # 43 "/usr/include/boost/mpl/aux_/arity_spec.hpp" 3 4
56171 #define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) 
56172
56173
56174 #define BOOST_MPL_AUX_ARITY_SPEC(i,name) BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,typename,name)
56175
56176
56177
56178
56179
56180
56181 #define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i,name) namespace aux { template< BOOST_MPL_PP_PARAMS(i,typename T) > struct template_arity< name<BOOST_MPL_PP_PARAMS(i,T)> > : int_<i> { }; }
56182 # 27 "/usr/include/boost/mpl/arg.hpp" 2 3 4
56183 # 1 "/usr/include/boost/mpl/aux_/arg_typedef.hpp" 1 3 4
56184
56185
56186 #define BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED 
56187 # 27 "/usr/include/boost/mpl/aux_/arg_typedef.hpp" 3 4
56188 #define BOOST_MPL_AUX_ARG_TYPEDEF(T,name) 
56189 # 28 "/usr/include/boost/mpl/arg.hpp" 2 3 4
56190 # 36 "/usr/include/boost/mpl/arg.hpp" 3 4
56191 #define BOOST_MPL_PREPROCESSED_HEADER arg.hpp
56192 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
56193 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
56194 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
56195 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
56196 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp" 1 3 4
56197 # 13 "/usr/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp" 3 4
56198 namespace mpl_ {
56199 template<> struct arg< -1 >
56200 {
56201     static const int value = -1;
56202    
56203    
56204
56205     template<
56206           typename U1 = na, typename U2 = na, typename U3 = na
56207         , typename U4 = na, typename U5 = na
56208         >
56209     struct apply
56210     {
56211         typedef U1 type;
56212         enum { mpl_assertion_in_line_27 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) };
56213     };
56214 };
56215
56216 template<> struct arg<1>
56217 {
56218     static const int value = 1;
56219     typedef arg<2> next;
56220    
56221    
56222
56223     template<
56224           typename U1 = na, typename U2 = na, typename U3 = na
56225         , typename U4 = na, typename U5 = na
56226         >
56227     struct apply
56228     {
56229         typedef U1 type;
56230         enum { mpl_assertion_in_line_45 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) };
56231     };
56232 };
56233
56234 template<> struct arg<2>
56235 {
56236     static const int value = 2;
56237     typedef arg<3> next;
56238    
56239    
56240
56241     template<
56242           typename U1 = na, typename U2 = na, typename U3 = na
56243         , typename U4 = na, typename U5 = na
56244         >
56245     struct apply
56246     {
56247         typedef U2 type;
56248         enum { mpl_assertion_in_line_63 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) };
56249     };
56250 };
56251
56252 template<> struct arg<3>
56253 {
56254     static const int value = 3;
56255     typedef arg<4> next;
56256    
56257    
56258
56259     template<
56260           typename U1 = na, typename U2 = na, typename U3 = na
56261         , typename U4 = na, typename U5 = na
56262         >
56263     struct apply
56264     {
56265         typedef U3 type;
56266         enum { mpl_assertion_in_line_81 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) };
56267     };
56268 };
56269
56270 template<> struct arg<4>
56271 {
56272     static const int value = 4;
56273     typedef arg<5> next;
56274    
56275    
56276
56277     template<
56278           typename U1 = na, typename U2 = na, typename U3 = na
56279         , typename U4 = na, typename U5 = na
56280         >
56281     struct apply
56282     {
56283         typedef U4 type;
56284         enum { mpl_assertion_in_line_99 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) };
56285     };
56286 };
56287
56288 template<> struct arg<5>
56289 {
56290     static const int value = 5;
56291     typedef arg<6> next;
56292    
56293    
56294
56295     template<
56296           typename U1 = na, typename U2 = na, typename U3 = na
56297         , typename U4 = na, typename U5 = na
56298         >
56299     struct apply
56300     {
56301         typedef U5 type;
56302         enum { mpl_assertion_in_line_117 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) };
56303     };
56304 };
56305
56306
56307
56308 }
56309 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
56310 #undef AUX_PREPROCESSED_HEADER
56311
56312 #undef BOOST_MPL_PREPROCESSED_HEADER
56313 # 38 "/usr/include/boost/mpl/arg.hpp" 2 3 4
56314 # 25 "/usr/include/boost/mpl/placeholders.hpp" 2 3 4
56315
56316
56317
56318 #define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type;
56319 # 42 "/usr/include/boost/mpl/placeholders.hpp" 3 4
56320 #define BOOST_MPL_PREPROCESSED_HEADER placeholders.hpp
56321 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
56322 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
56323 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
56324 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
56325 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp" 1 3 4
56326 # 13 "/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp" 3 4
56327 namespace mpl_ {
56328 typedef arg< -1 > _;
56329 }
56330 namespace boost { namespace mpl {
56331
56332 using ::mpl_::_;
56333
56334 namespace placeholders {
56335 using mpl_::_;
56336 }
56337
56338 }}
56339
56340
56341
56342 namespace mpl_ {
56343 typedef arg<1> _1;
56344
56345 }
56346 namespace boost { namespace mpl {
56347
56348 using ::mpl_::_1;
56349
56350 namespace placeholders {
56351 using mpl_::_1;
56352 }
56353
56354 }}
56355 namespace mpl_ {
56356 typedef arg<2> _2;
56357
56358 }
56359 namespace boost { namespace mpl {
56360
56361 using ::mpl_::_2;
56362
56363 namespace placeholders {
56364 using mpl_::_2;
56365 }
56366
56367 }}
56368 namespace mpl_ {
56369 typedef arg<3> _3;
56370
56371 }
56372 namespace boost { namespace mpl {
56373
56374 using ::mpl_::_3;
56375
56376 namespace placeholders {
56377 using mpl_::_3;
56378 }
56379
56380 }}
56381 namespace mpl_ {
56382 typedef arg<4> _4;
56383
56384 }
56385 namespace boost { namespace mpl {
56386
56387 using ::mpl_::_4;
56388
56389 namespace placeholders {
56390 using mpl_::_4;
56391 }
56392
56393 }}
56394 namespace mpl_ {
56395 typedef arg<5> _5;
56396
56397 }
56398 namespace boost { namespace mpl {
56399
56400 using ::mpl_::_5;
56401
56402 namespace placeholders {
56403 using mpl_::_5;
56404 }
56405
56406 }}
56407 namespace mpl_ {
56408 typedef arg<6> _6;
56409
56410 }
56411 namespace boost { namespace mpl {
56412
56413 using ::mpl_::_6;
56414
56415 namespace placeholders {
56416 using mpl_::_6;
56417 }
56418
56419 }}
56420 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
56421 #undef AUX_PREPROCESSED_HEADER
56422
56423 #undef BOOST_MPL_PREPROCESSED_HEADER
56424 # 44 "/usr/include/boost/mpl/placeholders.hpp" 2 3 4
56425 # 25 "/usr/include/boost/mpl/apply.hpp" 2 3 4
56426 # 1 "/usr/include/boost/mpl/lambda.hpp" 1 3 4
56427
56428
56429 #define BOOST_MPL_LAMBDA_HPP_INCLUDED 
56430 # 18 "/usr/include/boost/mpl/lambda.hpp" 3 4
56431 # 1 "/usr/include/boost/mpl/bind.hpp" 1 3 4
56432
56433
56434
56435
56436
56437
56438 #define BOOST_MPL_BIND_HPP_INCLUDED 
56439 # 23 "/usr/include/boost/mpl/bind.hpp" 3 4
56440 # 1 "/usr/include/boost/mpl/bind_fwd.hpp" 1 3 4
56441
56442
56443
56444
56445
56446
56447 #define BOOST_MPL_BIND_FWD_HPP_INCLUDED 
56448 # 25 "/usr/include/boost/mpl/bind_fwd.hpp" 3 4
56449 # 1 "/usr/include/boost/mpl/aux_/config/bind.hpp" 1 3 4
56450
56451
56452 #define BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED 
56453 # 26 "/usr/include/boost/mpl/bind_fwd.hpp" 2 3 4
56454
56455
56456
56457
56458
56459 #define BOOST_MPL_PREPROCESSED_HEADER bind_fwd.hpp
56460 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
56461 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
56462 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
56463 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
56464 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp" 1 3 4
56465 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp" 3 4
56466 namespace boost { namespace mpl {
56467
56468 template<
56469       typename F, typename T1 = na, typename T2 = na, typename T3 = na
56470     , typename T4 = na, typename T5 = na
56471     >
56472 struct bind;
56473
56474 template<
56475       typename F
56476     >
56477 struct bind0;
56478
56479 template<
56480       typename F, typename T1
56481     >
56482 struct bind1;
56483
56484 template<
56485       typename F, typename T1, typename T2
56486     >
56487 struct bind2;
56488
56489 template<
56490       typename F, typename T1, typename T2, typename T3
56491     >
56492 struct bind3;
56493
56494 template<
56495       typename F, typename T1, typename T2, typename T3, typename T4
56496     >
56497 struct bind4;
56498
56499 template<
56500       typename F, typename T1, typename T2, typename T3, typename T4
56501     , typename T5
56502     >
56503 struct bind5;
56504
56505 }}
56506 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
56507 #undef AUX_PREPROCESSED_HEADER
56508
56509 #undef BOOST_MPL_PREPROCESSED_HEADER
56510 # 33 "/usr/include/boost/mpl/bind_fwd.hpp" 2 3 4
56511 # 24 "/usr/include/boost/mpl/bind.hpp" 2 3 4
56512 # 1 "/usr/include/boost/mpl/placeholders.hpp" 1 3 4
56513 # 25 "/usr/include/boost/mpl/bind.hpp" 2 3 4
56514
56515 # 1 "/usr/include/boost/mpl/protect.hpp" 1 3 4
56516
56517
56518 #define BOOST_MPL_PROTECT_HPP_INCLUDED 
56519 # 23 "/usr/include/boost/mpl/protect.hpp" 3 4
56520 namespace boost { namespace mpl {
56521
56522 template<
56523       typename T = na
56524     , int not_le_ = 0
56525     >
56526 struct protect : T
56527 {
56528
56529
56530
56531     typedef protect type;
56532
56533 };
56534 # 48 "/usr/include/boost/mpl/protect.hpp" 3 4
56535 template<> struct protect< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : protect< T1 > { }; };
56536
56537 namespace aux { template< typename T1 > struct template_arity< protect< T1 > > : int_<1> { }; template<> struct template_arity< protect< na > > : int_<-1> { }; }
56538
56539
56540 }}
56541 # 27 "/usr/include/boost/mpl/bind.hpp" 2 3 4
56542 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
56543 # 28 "/usr/include/boost/mpl/bind.hpp" 2 3 4
56544 # 48 "/usr/include/boost/mpl/bind.hpp" 3 4
56545 #define BOOST_MPL_PREPROCESSED_HEADER bind.hpp
56546
56547 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
56548 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
56549 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
56550 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
56551 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp" 1 3 4
56552 # 13 "/usr/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp" 3 4
56553 namespace boost { namespace mpl {
56554
56555 namespace aux {
56556
56557 template<
56558       typename T, typename U1, typename U2, typename U3, typename U4
56559     , typename U5
56560     >
56561 struct resolve_bind_arg
56562 {
56563     typedef T type;
56564 };
56565
56566 template<
56567       typename T
56568     , typename Arg
56569     >
56570 struct replace_unnamed_arg
56571 {
56572     typedef Arg next;
56573     typedef T type;
56574 };
56575
56576 template<
56577       typename Arg
56578     >
56579 struct replace_unnamed_arg< arg< -1 >, Arg >
56580 {
56581     typedef typename Arg::next next;
56582     typedef Arg type;
56583 };
56584
56585 template<
56586       int N, typename U1, typename U2, typename U3, typename U4, typename U5
56587     >
56588 struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
56589 {
56590     typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
56591 };
56592
56593 template<
56594       typename F, typename T1, typename T2, typename T3, typename T4
56595     , typename T5, typename U1, typename U2, typename U3, typename U4
56596     , typename U5
56597     >
56598 struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
56599 {
56600     typedef bind< F,T1,T2,T3,T4,T5 > f_;
56601     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
56602 };
56603
56604 }
56605
56606 template<
56607       typename F
56608     >
56609 struct bind0
56610 {
56611     template<
56612           typename U1 = na, typename U2 = na, typename U3 = na
56613         , typename U4 = na, typename U5 = na
56614         >
56615     struct apply
56616     {
56617      private:
56618         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
56619         typedef typename r0::type a0;
56620         typedef typename r0::next n1;
56621         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
56622
56623      public:
56624         typedef typename apply_wrap0<
56625               f_
56626             >::type type;
56627
56628     };
56629 };
56630
56631 namespace aux {
56632
56633 template<
56634       typename F, typename U1, typename U2, typename U3, typename U4
56635     , typename U5
56636     >
56637 struct resolve_bind_arg<
56638       bind0<F>, U1, U2, U3, U4, U5
56639     >
56640 {
56641     typedef bind0<F> f_;
56642     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
56643 };
56644
56645 }
56646
56647
56648 namespace aux { template< typename T1 > struct template_arity< bind0< T1> > : int_<1> { }; }
56649
56650 template<
56651       typename F
56652     >
56653 struct bind< F,na,na,na,na,na >
56654     : bind0<F>
56655 {
56656 };
56657
56658 template<
56659       typename F, typename T1
56660     >
56661 struct bind1
56662 {
56663     template<
56664           typename U1 = na, typename U2 = na, typename U3 = na
56665         , typename U4 = na, typename U5 = na
56666         >
56667     struct apply
56668     {
56669      private:
56670         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
56671         typedef typename r0::type a0;
56672         typedef typename r0::next n1;
56673         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
56674
56675         typedef aux::replace_unnamed_arg< T1,n1 > r1;
56676         typedef typename r1::type a1;
56677         typedef typename r1::next n2;
56678         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
56679
56680      public:
56681         typedef typename apply_wrap1<
56682               f_
56683             , typename t1::type
56684             >::type type;
56685
56686     };
56687 };
56688
56689 namespace aux {
56690
56691 template<
56692       typename F, typename T1, typename U1, typename U2, typename U3
56693     , typename U4, typename U5
56694     >
56695 struct resolve_bind_arg<
56696       bind1< F,T1 >, U1, U2, U3, U4, U5
56697     >
56698 {
56699     typedef bind1< F,T1 > f_;
56700     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
56701 };
56702
56703 }
56704
56705
56706 namespace aux { template< typename T1 , typename T2 > struct template_arity< bind1< T1 , T2> > : int_<2> { }; }
56707
56708 template<
56709       typename F, typename T1
56710     >
56711 struct bind< F,T1,na,na,na,na >
56712     : bind1< F,T1 >
56713 {
56714 };
56715
56716 template<
56717       typename F, typename T1, typename T2
56718     >
56719 struct bind2
56720 {
56721     template<
56722           typename U1 = na, typename U2 = na, typename U3 = na
56723         , typename U4 = na, typename U5 = na
56724         >
56725     struct apply
56726     {
56727      private:
56728         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
56729         typedef typename r0::type a0;
56730         typedef typename r0::next n1;
56731         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
56732
56733         typedef aux::replace_unnamed_arg< T1,n1 > r1;
56734         typedef typename r1::type a1;
56735         typedef typename r1::next n2;
56736         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
56737
56738         typedef aux::replace_unnamed_arg< T2,n2 > r2;
56739         typedef typename r2::type a2;
56740         typedef typename r2::next n3;
56741         typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
56742
56743      public:
56744         typedef typename apply_wrap2<
56745               f_
56746             , typename t1::type, typename t2::type
56747             >::type type;
56748
56749     };
56750 };
56751
56752 namespace aux {
56753
56754 template<
56755       typename F, typename T1, typename T2, typename U1, typename U2
56756     , typename U3, typename U4, typename U5
56757     >
56758 struct resolve_bind_arg<
56759       bind2< F,T1,T2 >, U1, U2, U3, U4, U5
56760     >
56761 {
56762     typedef bind2< F,T1,T2 > f_;
56763     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
56764 };
56765
56766 }
56767
56768
56769 namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< bind2< T1 , T2 , T3> > : int_<3> { }; }
56770
56771 template<
56772       typename F, typename T1, typename T2
56773     >
56774 struct bind< F,T1,T2,na,na,na >
56775     : bind2< F,T1,T2 >
56776 {
56777 };
56778
56779 template<
56780       typename F, typename T1, typename T2, typename T3
56781     >
56782 struct bind3
56783 {
56784     template<
56785           typename U1 = na, typename U2 = na, typename U3 = na
56786         , typename U4 = na, typename U5 = na
56787         >
56788     struct apply
56789     {
56790      private:
56791         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
56792         typedef typename r0::type a0;
56793         typedef typename r0::next n1;
56794         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
56795
56796         typedef aux::replace_unnamed_arg< T1,n1 > r1;
56797         typedef typename r1::type a1;
56798         typedef typename r1::next n2;
56799         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
56800
56801         typedef aux::replace_unnamed_arg< T2,n2 > r2;
56802         typedef typename r2::type a2;
56803         typedef typename r2::next n3;
56804         typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
56805
56806         typedef aux::replace_unnamed_arg< T3,n3 > r3;
56807         typedef typename r3::type a3;
56808         typedef typename r3::next n4;
56809         typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
56810
56811      public:
56812         typedef typename apply_wrap3<
56813               f_
56814             , typename t1::type, typename t2::type, typename t3::type
56815             >::type type;
56816
56817     };
56818 };
56819
56820 namespace aux {
56821
56822 template<
56823       typename F, typename T1, typename T2, typename T3, typename U1
56824     , typename U2, typename U3, typename U4, typename U5
56825     >
56826 struct resolve_bind_arg<
56827       bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
56828     >
56829 {
56830     typedef bind3< F,T1,T2,T3 > f_;
56831     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
56832 };
56833
56834 }
56835
56836
56837 namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 > struct template_arity< bind3< T1 , T2 , T3 , T4> > : int_<4> { }; }
56838
56839 template<
56840       typename F, typename T1, typename T2, typename T3
56841     >
56842 struct bind< F,T1,T2,T3,na,na >
56843     : bind3< F,T1,T2,T3 >
56844 {
56845 };
56846
56847 template<
56848       typename F, typename T1, typename T2, typename T3, typename T4
56849     >
56850 struct bind4
56851 {
56852     template<
56853           typename U1 = na, typename U2 = na, typename U3 = na
56854         , typename U4 = na, typename U5 = na
56855         >
56856     struct apply
56857     {
56858      private:
56859         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
56860         typedef typename r0::type a0;
56861         typedef typename r0::next n1;
56862         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
56863
56864         typedef aux::replace_unnamed_arg< T1,n1 > r1;
56865         typedef typename r1::type a1;
56866         typedef typename r1::next n2;
56867         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
56868
56869         typedef aux::replace_unnamed_arg< T2,n2 > r2;
56870         typedef typename r2::type a2;
56871         typedef typename r2::next n3;
56872         typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
56873
56874         typedef aux::replace_unnamed_arg< T3,n3 > r3;
56875         typedef typename r3::type a3;
56876         typedef typename r3::next n4;
56877         typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
56878
56879         typedef aux::replace_unnamed_arg< T4,n4 > r4;
56880         typedef typename r4::type a4;
56881         typedef typename r4::next n5;
56882         typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
56883
56884      public:
56885         typedef typename apply_wrap4<
56886               f_
56887             , typename t1::type, typename t2::type, typename t3::type
56888             , typename t4::type
56889             >::type type;
56890
56891     };
56892 };
56893
56894 namespace aux {
56895
56896 template<
56897       typename F, typename T1, typename T2, typename T3, typename T4
56898     , typename U1, typename U2, typename U3, typename U4, typename U5
56899     >
56900 struct resolve_bind_arg<
56901       bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
56902     >
56903 {
56904     typedef bind4< F,T1,T2,T3,T4 > f_;
56905     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
56906 };
56907
56908 }
56909
56910
56911 namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< bind4< T1 , T2 , T3 , T4 , T5> > : int_<5> { }; }
56912
56913 template<
56914       typename F, typename T1, typename T2, typename T3, typename T4
56915     >
56916 struct bind< F,T1,T2,T3,T4,na >
56917     : bind4< F,T1,T2,T3,T4 >
56918 {
56919 };
56920
56921 template<
56922       typename F, typename T1, typename T2, typename T3, typename T4
56923     , typename T5
56924     >
56925 struct bind5
56926 {
56927     template<
56928           typename U1 = na, typename U2 = na, typename U3 = na
56929         , typename U4 = na, typename U5 = na
56930         >
56931     struct apply
56932     {
56933      private:
56934         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
56935         typedef typename r0::type a0;
56936         typedef typename r0::next n1;
56937         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
56938
56939         typedef aux::replace_unnamed_arg< T1,n1 > r1;
56940         typedef typename r1::type a1;
56941         typedef typename r1::next n2;
56942         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
56943
56944         typedef aux::replace_unnamed_arg< T2,n2 > r2;
56945         typedef typename r2::type a2;
56946         typedef typename r2::next n3;
56947         typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
56948
56949         typedef aux::replace_unnamed_arg< T3,n3 > r3;
56950         typedef typename r3::type a3;
56951         typedef typename r3::next n4;
56952         typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
56953
56954         typedef aux::replace_unnamed_arg< T4,n4 > r4;
56955         typedef typename r4::type a4;
56956         typedef typename r4::next n5;
56957         typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
56958
56959         typedef aux::replace_unnamed_arg< T5,n5 > r5;
56960         typedef typename r5::type a5;
56961         typedef typename r5::next n6;
56962         typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
56963
56964      public:
56965         typedef typename apply_wrap5<
56966               f_
56967             , typename t1::type, typename t2::type, typename t3::type
56968             , typename t4::type, typename t5::type
56969             >::type type;
56970
56971     };
56972 };
56973
56974 namespace aux {
56975
56976 template<
56977       typename F, typename T1, typename T2, typename T3, typename T4
56978     , typename T5, typename U1, typename U2, typename U3, typename U4
56979     , typename U5
56980     >
56981 struct resolve_bind_arg<
56982       bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
56983     >
56984 {
56985     typedef bind5< F,T1,T2,T3,T4,T5 > f_;
56986     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
56987 };
56988
56989 }
56990
56991
56992 namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > struct template_arity< bind5< T1 , T2 , T3 , T4 , T5 , T6> > : int_<6> { }; }
56993
56994
56995
56996 template<
56997       typename F, typename T1, typename T2, typename T3, typename T4
56998     , typename T5
56999     >
57000 struct bind
57001     : bind5< F,T1,T2,T3,T4,T5 >
57002 {
57003 };
57004
57005
57006 template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
57007 struct quote3;
57008
57009 template< typename T1, typename T2, typename T3 > struct if_;
57010
57011 template<
57012       typename Tag, typename T1, typename T2, typename T3
57013     >
57014 struct bind3<
57015       quote3< if_,Tag >
57016     , T1, T2, T3
57017     >
57018 {
57019     template<
57020           typename U1 = na, typename U2 = na, typename U3 = na
57021         , typename U4 = na, typename U5 = na
57022         >
57023     struct apply
57024     {
57025      private:
57026         typedef mpl::arg<1> n1;
57027         typedef aux::replace_unnamed_arg< T1,n1 > r1;
57028         typedef typename r1::type a1;
57029         typedef typename r1::next n2;
57030         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
57031
57032         typedef aux::replace_unnamed_arg< T2,n2 > r2;
57033         typedef typename r2::type a2;
57034         typedef typename r2::next n3;
57035         typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
57036
57037         typedef aux::replace_unnamed_arg< T3,n3 > r3;
57038         typedef typename r3::type a3;
57039         typedef typename r3::next n4;
57040         typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
57041
57042         typedef typename if_<
57043               typename t1::type
57044             , t2, t3
57045             >::type f_;
57046
57047      public:
57048         typedef typename f_::type type;
57049     };
57050 };
57051
57052 template<
57053       template< typename T1, typename T2, typename T3 > class F, typename Tag
57054     >
57055 struct quote3;
57056
57057 template< typename T1, typename T2, typename T3 > struct eval_if;
57058
57059 template<
57060       typename Tag, typename T1, typename T2, typename T3
57061     >
57062 struct bind3<
57063       quote3< eval_if,Tag >
57064     , T1, T2, T3
57065     >
57066 {
57067     template<
57068           typename U1 = na, typename U2 = na, typename U3 = na
57069         , typename U4 = na, typename U5 = na
57070         >
57071     struct apply
57072     {
57073      private:
57074         typedef mpl::arg<1> n1;
57075         typedef aux::replace_unnamed_arg< T1,n1 > r1;
57076         typedef typename r1::type a1;
57077         typedef typename r1::next n2;
57078         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
57079
57080         typedef aux::replace_unnamed_arg< T2,n2 > r2;
57081         typedef typename r2::type a2;
57082         typedef typename r2::next n3;
57083         typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
57084
57085         typedef aux::replace_unnamed_arg< T3,n3 > r3;
57086         typedef typename r3::type a3;
57087         typedef typename r3::next n4;
57088         typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
57089
57090         typedef typename eval_if<
57091               typename t1::type
57092             , t2, t3
57093             >::type f_;
57094
57095      public:
57096         typedef typename f_::type type;
57097     };
57098 };
57099
57100 }}
57101 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
57102 #undef AUX_PREPROCESSED_HEADER
57103
57104 #undef BOOST_MPL_PREPROCESSED_HEADER
57105 # 51 "/usr/include/boost/mpl/bind.hpp" 2 3 4
57106 # 19 "/usr/include/boost/mpl/lambda.hpp" 2 3 4
57107
57108
57109
57110 # 1 "/usr/include/boost/mpl/aux_/full_lambda.hpp" 1 3 4
57111
57112
57113
57114
57115
57116
57117 #define BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED 
57118 # 23 "/usr/include/boost/mpl/aux_/full_lambda.hpp" 3 4
57119 # 1 "/usr/include/boost/mpl/bind_fwd.hpp" 1 3 4
57120 # 24 "/usr/include/boost/mpl/aux_/full_lambda.hpp" 2 3 4
57121
57122 # 1 "/usr/include/boost/mpl/quote.hpp" 1 3 4
57123
57124
57125
57126
57127
57128
57129 #define BOOST_MPL_QUOTE_HPP_INCLUDED 
57130 # 23 "/usr/include/boost/mpl/quote.hpp" 3 4
57131 # 1 "/usr/include/boost/mpl/aux_/has_type.hpp" 1 3 4
57132
57133
57134 #define BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED 
57135 # 19 "/usr/include/boost/mpl/aux_/has_type.hpp" 3 4
57136 namespace boost { namespace mpl { namespace aux {
57137 template< typename T, typename fallback_ = boost::mpl::bool_<true> > struct has_type { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper<U> const volatile* , boost::mpl::aux::type_wrapper<typename U::type>* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper<T> t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_<value> type; };
57138 }}}
57139 # 24 "/usr/include/boost/mpl/quote.hpp" 2 3 4
57140 # 42 "/usr/include/boost/mpl/quote.hpp" 3 4
57141 #define BOOST_MPL_PREPROCESSED_HEADER quote.hpp
57142 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
57143 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
57144 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
57145 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
57146 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp" 1 3 4
57147 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp" 3 4
57148 namespace boost { namespace mpl {
57149
57150 template< typename T, bool has_type_ >
57151 struct quote_impl
57152     : T
57153 {
57154 };
57155
57156 template< typename T >
57157 struct quote_impl< T,false >
57158 {
57159     typedef T type;
57160 };
57161
57162 template<
57163       template< typename P1 > class F
57164     , typename Tag = void_
57165     >
57166 struct quote1
57167 {
57168     template< typename U1 > struct apply
57169
57170         : quote_impl<
57171               F<U1>
57172             , aux::has_type< F<U1> >::value
57173             >
57174
57175     {
57176     };
57177 };
57178
57179 template<
57180       template< typename P1, typename P2 > class F
57181     , typename Tag = void_
57182     >
57183 struct quote2
57184 {
57185     template< typename U1, typename U2 > struct apply
57186
57187         : quote_impl<
57188               F< U1,U2 >
57189             , aux::has_type< F< U1,U2 > >::value
57190             >
57191
57192     {
57193     };
57194 };
57195
57196 template<
57197       template< typename P1, typename P2, typename P3 > class F
57198     , typename Tag = void_
57199     >
57200 struct quote3
57201 {
57202     template< typename U1, typename U2, typename U3 > struct apply
57203
57204         : quote_impl<
57205               F< U1,U2,U3 >
57206             , aux::has_type< F< U1,U2,U3 > >::value
57207             >
57208
57209     {
57210     };
57211 };
57212
57213 template<
57214       template< typename P1, typename P2, typename P3, typename P4 > class F
57215     , typename Tag = void_
57216     >
57217 struct quote4
57218 {
57219     template<
57220           typename U1, typename U2, typename U3, typename U4
57221         >
57222     struct apply
57223
57224         : quote_impl<
57225               F< U1,U2,U3,U4 >
57226             , aux::has_type< F< U1,U2,U3,U4 > >::value
57227             >
57228
57229     {
57230     };
57231 };
57232
57233 template<
57234       template<
57235           typename P1, typename P2, typename P3, typename P4
57236         , typename P5
57237         >
57238       class F
57239     , typename Tag = void_
57240     >
57241 struct quote5
57242 {
57243     template<
57244           typename U1, typename U2, typename U3, typename U4
57245         , typename U5
57246         >
57247     struct apply
57248
57249         : quote_impl<
57250               F< U1,U2,U3,U4,U5 >
57251             , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
57252             >
57253
57254     {
57255     };
57256 };
57257
57258 }}
57259 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
57260 #undef AUX_PREPROCESSED_HEADER
57261
57262 #undef BOOST_MPL_PREPROCESSED_HEADER
57263 # 44 "/usr/include/boost/mpl/quote.hpp" 2 3 4
57264 # 26 "/usr/include/boost/mpl/aux_/full_lambda.hpp" 2 3 4
57265 # 1 "/usr/include/boost/mpl/arg.hpp" 1 3 4
57266 # 27 "/usr/include/boost/mpl/aux_/full_lambda.hpp" 2 3 4
57267
57268
57269 # 1 "/usr/include/boost/mpl/aux_/template_arity.hpp" 1 3 4
57270
57271
57272
57273
57274
57275
57276 #define BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED 
57277 # 42 "/usr/include/boost/mpl/aux_/template_arity.hpp" 3 4
57278 #define BOOST_MPL_PREPROCESSED_HEADER template_arity.hpp
57279 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
57280 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
57281 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
57282 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
57283 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp" 1 3 4
57284 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp" 3 4
57285 namespace boost { namespace mpl { namespace aux {
57286
57287 template< int N > struct arity_tag
57288 {
57289     typedef char (&type)[N + 1];
57290 };
57291
57292 template<
57293       int C1, int C2, int C3, int C4, int C5, int C6
57294     >
57295 struct max_arity
57296 {
57297     static const int value = ( C6 > 0 ? C6 : ( C5 > 0 ? C5 : ( C4 > 0 ? C4 : ( C3 > 0 ? C3 : ( C2 > 0 ? C2 : ( C1 > 0 ? C1 : -1 ) ) ) ) ) );
57298
57299
57300
57301 };
57302
57303 arity_tag<0>::type arity_helper(...);
57304
57305 template<
57306       template< typename P1 > class F
57307     , typename T1
57308     >
57309 typename arity_tag<1>::type
57310 arity_helper(type_wrapper< F<T1> >, arity_tag<1>);
57311
57312 template<
57313       template< typename P1, typename P2 > class F
57314     , typename T1, typename T2
57315     >
57316 typename arity_tag<2>::type
57317 arity_helper(type_wrapper< F< T1,T2 > >, arity_tag<2>);
57318
57319 template<
57320       template< typename P1, typename P2, typename P3 > class F
57321     , typename T1, typename T2, typename T3
57322     >
57323 typename arity_tag<3>::type
57324 arity_helper(type_wrapper< F< T1,T2,T3 > >, arity_tag<3>);
57325
57326 template<
57327       template< typename P1, typename P2, typename P3, typename P4 > class F
57328     , typename T1, typename T2, typename T3, typename T4
57329     >
57330 typename arity_tag<4>::type
57331 arity_helper(type_wrapper< F< T1,T2,T3,T4 > >, arity_tag<4>);
57332
57333 template<
57334       template<
57335           typename P1, typename P2, typename P3, typename P4
57336         , typename P5
57337         >
57338       class F
57339     , typename T1, typename T2, typename T3, typename T4, typename T5
57340     >
57341 typename arity_tag<5>::type
57342 arity_helper(type_wrapper< F< T1,T2,T3,T4,T5 > >, arity_tag<5>);
57343
57344 template<
57345       template<
57346           typename P1, typename P2, typename P3, typename P4
57347         , typename P5, typename P6
57348         >
57349       class F
57350     , typename T1, typename T2, typename T3, typename T4, typename T5
57351     , typename T6
57352     >
57353 typename arity_tag<6>::type
57354 arity_helper(type_wrapper< F< T1,T2,T3,T4,T5,T6 > >, arity_tag<6>);
57355 template< typename F, int N >
57356 struct template_arity_impl
57357 {
57358     static const int value = sizeof(arity_helper(type_wrapper<F>(), arity_tag<N>())) - 1;
57359
57360
57361 };
57362
57363 template< typename F >
57364 struct template_arity
57365 {
57366     static const int value = ( max_arity< template_arity_impl< F,1 >::value, template_arity_impl< F,2 >::value, template_arity_impl< F,3 >::value, template_arity_impl< F,4 >::value, template_arity_impl< F,5 >::value, template_arity_impl< F,6 >::value >::value );
57367
57368
57369
57370
57371     typedef mpl::int_<value> type;
57372 };
57373
57374 }}}
57375 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
57376 #undef AUX_PREPROCESSED_HEADER
57377
57378 #undef BOOST_MPL_PREPROCESSED_HEADER
57379 # 44 "/usr/include/boost/mpl/aux_/template_arity.hpp" 2 3 4
57380 # 30 "/usr/include/boost/mpl/aux_/full_lambda.hpp" 2 3 4
57381 # 43 "/usr/include/boost/mpl/aux_/full_lambda.hpp" 3 4
57382 #define BOOST_MPL_PREPROCESSED_HEADER full_lambda.hpp
57383 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
57384 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
57385 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
57386 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
57387 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp" 1 3 4
57388 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp" 3 4
57389 namespace boost { namespace mpl {
57390
57391 namespace aux {
57392
57393 template<
57394       bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
57395     , bool C5 = false
57396     >
57397 struct lambda_or
57398     : true_
57399 {
57400 };
57401
57402 template<>
57403 struct lambda_or< false,false,false,false,false >
57404     : false_
57405 {
57406 };
57407
57408 }
57409
57410 template<
57411       typename T
57412     , typename Tag
57413     , typename Arity
57414     >
57415 struct lambda
57416 {
57417     typedef false_ is_le;
57418     typedef T result_;
57419     typedef T type;
57420 };
57421
57422 template<
57423       typename T
57424     >
57425 struct is_lambda_expression
57426     : lambda<T>::is_le
57427 {
57428 };
57429
57430 template< int N, typename Tag >
57431 struct lambda< arg<N>,Tag, int_< -1 > >
57432 {
57433     typedef true_ is_le;
57434     typedef mpl::arg<N> result_;
57435     typedef mpl::protect<result_> type;
57436 };
57437
57438 template<
57439       typename F
57440     , typename Tag
57441     >
57442 struct lambda<
57443           bind0<F>
57444         , Tag
57445         , int_<1>
57446         >
57447 {
57448     typedef false_ is_le;
57449     typedef bind0<
57450           F
57451         > result_;
57452
57453     typedef result_ type;
57454 };
57455
57456 namespace aux {
57457
57458 template<
57459       typename IsLE, typename Tag
57460     , template< typename P1 > class F
57461     , typename L1
57462     >
57463 struct le_result1
57464 {
57465     typedef F<
57466           typename L1::type
57467         > result_;
57468
57469     typedef result_ type;
57470 };
57471
57472 template<
57473       typename Tag
57474     , template< typename P1 > class F
57475     , typename L1
57476     >
57477 struct le_result1< true_,Tag,F,L1 >
57478 {
57479     typedef bind1<
57480           quote1< F,Tag >
57481         , typename L1::result_
57482         > result_;
57483
57484     typedef mpl::protect<result_> type;
57485 };
57486
57487 }
57488
57489 template<
57490       template< typename P1 > class F
57491     , typename T1
57492     , typename Tag
57493     >
57494 struct lambda<
57495           F<T1>
57496         , Tag
57497         , int_<1>
57498         >
57499 {
57500     typedef lambda< T1,Tag > l1;
57501     typedef typename l1::is_le is_le1;
57502     typedef typename aux::lambda_or<
57503           is_le1::value
57504         >::type is_le;
57505
57506     typedef aux::le_result1<
57507           is_le, Tag, F, l1
57508         > le_result_;
57509
57510     typedef typename le_result_::result_ result_;
57511     typedef typename le_result_::type type;
57512 };
57513
57514 template<
57515       typename F, typename T1
57516     , typename Tag
57517     >
57518 struct lambda<
57519           bind1< F,T1 >
57520         , Tag
57521         , int_<2>
57522         >
57523 {
57524     typedef false_ is_le;
57525     typedef bind1<
57526           F
57527         , T1
57528         > result_;
57529
57530     typedef result_ type;
57531 };
57532
57533 namespace aux {
57534
57535 template<
57536       typename IsLE, typename Tag
57537     , template< typename P1, typename P2 > class F
57538     , typename L1, typename L2
57539     >
57540 struct le_result2
57541 {
57542     typedef F<
57543           typename L1::type, typename L2::type
57544         > result_;
57545
57546     typedef result_ type;
57547 };
57548
57549 template<
57550       typename Tag
57551     , template< typename P1, typename P2 > class F
57552     , typename L1, typename L2
57553     >
57554 struct le_result2< true_,Tag,F,L1,L2 >
57555 {
57556     typedef bind2<
57557           quote2< F,Tag >
57558         , typename L1::result_, typename L2::result_
57559         > result_;
57560
57561     typedef mpl::protect<result_> type;
57562 };
57563
57564 }
57565
57566 template<
57567       template< typename P1, typename P2 > class F
57568     , typename T1, typename T2
57569     , typename Tag
57570     >
57571 struct lambda<
57572           F< T1,T2 >
57573         , Tag
57574         , int_<2>
57575         >
57576 {
57577     typedef lambda< T1,Tag > l1;
57578     typedef lambda< T2,Tag > l2;
57579
57580     typedef typename l1::is_le is_le1;
57581     typedef typename l2::is_le is_le2;
57582
57583
57584     typedef typename aux::lambda_or<
57585           is_le1::value, is_le2::value
57586         >::type is_le;
57587
57588     typedef aux::le_result2<
57589           is_le, Tag, F, l1, l2
57590         > le_result_;
57591
57592     typedef typename le_result_::result_ result_;
57593     typedef typename le_result_::type type;
57594 };
57595
57596 template<
57597       typename F, typename T1, typename T2
57598     , typename Tag
57599     >
57600 struct lambda<
57601           bind2< F,T1,T2 >
57602         , Tag
57603         , int_<3>
57604         >
57605 {
57606     typedef false_ is_le;
57607     typedef bind2<
57608           F
57609         , T1, T2
57610         > result_;
57611
57612     typedef result_ type;
57613 };
57614
57615 namespace aux {
57616
57617 template<
57618       typename IsLE, typename Tag
57619     , template< typename P1, typename P2, typename P3 > class F
57620     , typename L1, typename L2, typename L3
57621     >
57622 struct le_result3
57623 {
57624     typedef F<
57625           typename L1::type, typename L2::type, typename L3::type
57626         > result_;
57627
57628     typedef result_ type;
57629 };
57630
57631 template<
57632       typename Tag
57633     , template< typename P1, typename P2, typename P3 > class F
57634     , typename L1, typename L2, typename L3
57635     >
57636 struct le_result3< true_,Tag,F,L1,L2,L3 >
57637 {
57638     typedef bind3<
57639           quote3< F,Tag >
57640         , typename L1::result_, typename L2::result_, typename L3::result_
57641         > result_;
57642
57643     typedef mpl::protect<result_> type;
57644 };
57645
57646 }
57647
57648 template<
57649       template< typename P1, typename P2, typename P3 > class F
57650     , typename T1, typename T2, typename T3
57651     , typename Tag
57652     >
57653 struct lambda<
57654           F< T1,T2,T3 >
57655         , Tag
57656         , int_<3>
57657         >
57658 {
57659     typedef lambda< T1,Tag > l1;
57660     typedef lambda< T2,Tag > l2;
57661     typedef lambda< T3,Tag > l3;
57662
57663     typedef typename l1::is_le is_le1;
57664     typedef typename l2::is_le is_le2;
57665     typedef typename l3::is_le is_le3;
57666
57667
57668     typedef typename aux::lambda_or<
57669           is_le1::value, is_le2::value, is_le3::value
57670         >::type is_le;
57671
57672     typedef aux::le_result3<
57673           is_le, Tag, F, l1, l2, l3
57674         > le_result_;
57675
57676     typedef typename le_result_::result_ result_;
57677     typedef typename le_result_::type type;
57678 };
57679
57680 template<
57681       typename F, typename T1, typename T2, typename T3
57682     , typename Tag
57683     >
57684 struct lambda<
57685           bind3< F,T1,T2,T3 >
57686         , Tag
57687         , int_<4>
57688         >
57689 {
57690     typedef false_ is_le;
57691     typedef bind3<
57692           F
57693         , T1, T2, T3
57694         > result_;
57695
57696     typedef result_ type;
57697 };
57698
57699 namespace aux {
57700
57701 template<
57702       typename IsLE, typename Tag
57703     , template< typename P1, typename P2, typename P3, typename P4 > class F
57704     , typename L1, typename L2, typename L3, typename L4
57705     >
57706 struct le_result4
57707 {
57708     typedef F<
57709           typename L1::type, typename L2::type, typename L3::type
57710         , typename L4::type
57711         > result_;
57712
57713     typedef result_ type;
57714 };
57715
57716 template<
57717       typename Tag
57718     , template< typename P1, typename P2, typename P3, typename P4 > class F
57719     , typename L1, typename L2, typename L3, typename L4
57720     >
57721 struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
57722 {
57723     typedef bind4<
57724           quote4< F,Tag >
57725         , typename L1::result_, typename L2::result_, typename L3::result_
57726         , typename L4::result_
57727         > result_;
57728
57729     typedef mpl::protect<result_> type;
57730 };
57731
57732 }
57733
57734 template<
57735       template< typename P1, typename P2, typename P3, typename P4 > class F
57736     , typename T1, typename T2, typename T3, typename T4
57737     , typename Tag
57738     >
57739 struct lambda<
57740           F< T1,T2,T3,T4 >
57741         , Tag
57742         , int_<4>
57743         >
57744 {
57745     typedef lambda< T1,Tag > l1;
57746     typedef lambda< T2,Tag > l2;
57747     typedef lambda< T3,Tag > l3;
57748     typedef lambda< T4,Tag > l4;
57749
57750     typedef typename l1::is_le is_le1;
57751     typedef typename l2::is_le is_le2;
57752     typedef typename l3::is_le is_le3;
57753     typedef typename l4::is_le is_le4;
57754
57755
57756     typedef typename aux::lambda_or<
57757           is_le1::value, is_le2::value, is_le3::value, is_le4::value
57758         >::type is_le;
57759
57760     typedef aux::le_result4<
57761           is_le, Tag, F, l1, l2, l3, l4
57762         > le_result_;
57763
57764     typedef typename le_result_::result_ result_;
57765     typedef typename le_result_::type type;
57766 };
57767
57768 template<
57769       typename F, typename T1, typename T2, typename T3, typename T4
57770     , typename Tag
57771     >
57772 struct lambda<
57773           bind4< F,T1,T2,T3,T4 >
57774         , Tag
57775         , int_<5>
57776         >
57777 {
57778     typedef false_ is_le;
57779     typedef bind4<
57780           F
57781         , T1, T2, T3, T4
57782         > result_;
57783
57784     typedef result_ type;
57785 };
57786
57787 namespace aux {
57788
57789 template<
57790       typename IsLE, typename Tag
57791     , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
57792     , typename L1, typename L2, typename L3, typename L4, typename L5
57793     >
57794 struct le_result5
57795 {
57796     typedef F<
57797           typename L1::type, typename L2::type, typename L3::type
57798         , typename L4::type, typename L5::type
57799         > result_;
57800
57801     typedef result_ type;
57802 };
57803
57804 template<
57805       typename Tag
57806     , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
57807     , typename L1, typename L2, typename L3, typename L4, typename L5
57808     >
57809 struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
57810 {
57811     typedef bind5<
57812           quote5< F,Tag >
57813         , typename L1::result_, typename L2::result_, typename L3::result_
57814         , typename L4::result_, typename L5::result_
57815         > result_;
57816
57817     typedef mpl::protect<result_> type;
57818 };
57819
57820 }
57821
57822 template<
57823       template<
57824           typename P1, typename P2, typename P3, typename P4
57825         , typename P5
57826         >
57827       class F
57828     , typename T1, typename T2, typename T3, typename T4, typename T5
57829     , typename Tag
57830     >
57831 struct lambda<
57832           F< T1,T2,T3,T4,T5 >
57833         , Tag
57834         , int_<5>
57835         >
57836 {
57837     typedef lambda< T1,Tag > l1;
57838     typedef lambda< T2,Tag > l2;
57839     typedef lambda< T3,Tag > l3;
57840     typedef lambda< T4,Tag > l4;
57841     typedef lambda< T5,Tag > l5;
57842
57843     typedef typename l1::is_le is_le1;
57844     typedef typename l2::is_le is_le2;
57845     typedef typename l3::is_le is_le3;
57846     typedef typename l4::is_le is_le4;
57847     typedef typename l5::is_le is_le5;
57848
57849
57850     typedef typename aux::lambda_or<
57851           is_le1::value, is_le2::value, is_le3::value, is_le4::value
57852         , is_le5::value
57853         >::type is_le;
57854
57855     typedef aux::le_result5<
57856           is_le, Tag, F, l1, l2, l3, l4, l5
57857         > le_result_;
57858
57859     typedef typename le_result_::result_ result_;
57860     typedef typename le_result_::type type;
57861 };
57862
57863 template<
57864       typename F, typename T1, typename T2, typename T3, typename T4
57865     , typename T5
57866     , typename Tag
57867     >
57868 struct lambda<
57869           bind5< F,T1,T2,T3,T4,T5 >
57870         , Tag
57871         , int_<6>
57872         >
57873 {
57874     typedef false_ is_le;
57875     typedef bind5<
57876           F
57877         , T1, T2, T3, T4, T5
57878         > result_;
57879
57880     typedef result_ type;
57881 };
57882
57883
57884 template< typename T, typename Tag >
57885 struct lambda< mpl::protect<T>,Tag, int_<1> >
57886 {
57887     typedef false_ is_le;
57888     typedef mpl::protect<T> result_;
57889     typedef result_ type;
57890 };
57891
57892
57893
57894 template<
57895       typename F, typename T1, typename T2, typename T3, typename T4
57896     , typename T5
57897     , typename Tag
57898     >
57899 struct lambda<
57900           bind< F,T1,T2,T3,T4,T5 >
57901         , Tag
57902         , int_<6>
57903         >
57904 {
57905     typedef false_ is_le;
57906     typedef bind< F,T1,T2,T3,T4,T5 > result_;
57907     typedef result_ type;
57908 };
57909
57910 template<
57911       typename F
57912     , typename Tag1
57913     , typename Tag2
57914     , typename Arity
57915     >
57916 struct lambda<
57917           lambda< F,Tag1,Arity >
57918         , Tag2
57919         , int_<3>
57920         >
57921 {
57922     typedef lambda< F,Tag2 > l1;
57923     typedef lambda< Tag1,Tag2 > l2;
57924     typedef typename l1::is_le is_le;
57925     typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
57926     typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;
57927     typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
57928     typedef typename le_result_::result_ result_;
57929     typedef typename le_result_::type type;
57930 };
57931
57932 template<> struct lambda< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : lambda< T1 , T2 > { }; }; template< typename Tag > struct lambda< lambda< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef lambda< na , na > result_; typedef lambda< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< lambda< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< lambda< na , na > > : int_<-1> { }; }
57933
57934 }}
57935 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
57936 #undef AUX_PREPROCESSED_HEADER
57937
57938 #undef BOOST_MPL_PREPROCESSED_HEADER
57939 # 45 "/usr/include/boost/mpl/aux_/full_lambda.hpp" 2 3 4
57940 # 23 "/usr/include/boost/mpl/lambda.hpp" 2 3 4
57941 # 26 "/usr/include/boost/mpl/apply.hpp" 2 3 4
57942 # 35 "/usr/include/boost/mpl/apply.hpp" 3 4
57943 #define BOOST_MPL_PREPROCESSED_HEADER apply.hpp
57944 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
57945 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
57946 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
57947 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
57948 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp" 1 3 4
57949 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp" 3 4
57950 namespace boost { namespace mpl {
57951
57952 template<
57953       typename F
57954     >
57955 struct apply0
57956
57957     : apply_wrap0<
57958           typename lambda<F>::type
57959
57960         >
57961 {
57962    
57963
57964
57965
57966
57967 };
57968
57969 template<
57970       typename F
57971     >
57972 struct apply< F,na,na,na,na,na >
57973     : apply0<F>
57974 {
57975 };
57976
57977 template<
57978       typename F, typename T1
57979     >
57980 struct apply1
57981
57982     : apply_wrap1<
57983           typename lambda<F>::type
57984         , T1
57985         >
57986 {
57987    
57988
57989
57990
57991
57992 };
57993
57994 template<
57995       typename F, typename T1
57996     >
57997 struct apply< F,T1,na,na,na,na >
57998     : apply1< F,T1 >
57999 {
58000 };
58001
58002 template<
58003       typename F, typename T1, typename T2
58004     >
58005 struct apply2
58006
58007     : apply_wrap2<
58008           typename lambda<F>::type
58009         , T1, T2
58010         >
58011 {
58012    
58013
58014
58015
58016
58017 };
58018
58019 template<
58020       typename F, typename T1, typename T2
58021     >
58022 struct apply< F,T1,T2,na,na,na >
58023     : apply2< F,T1,T2 >
58024 {
58025 };
58026
58027 template<
58028       typename F, typename T1, typename T2, typename T3
58029     >
58030 struct apply3
58031
58032     : apply_wrap3<
58033           typename lambda<F>::type
58034         , T1, T2, T3
58035         >
58036 {
58037    
58038
58039
58040
58041
58042 };
58043
58044 template<
58045       typename F, typename T1, typename T2, typename T3
58046     >
58047 struct apply< F,T1,T2,T3,na,na >
58048     : apply3< F,T1,T2,T3 >
58049 {
58050 };
58051
58052 template<
58053       typename F, typename T1, typename T2, typename T3, typename T4
58054     >
58055 struct apply4
58056
58057     : apply_wrap4<
58058           typename lambda<F>::type
58059         , T1, T2, T3, T4
58060         >
58061 {
58062    
58063
58064
58065
58066
58067 };
58068
58069 template<
58070       typename F, typename T1, typename T2, typename T3, typename T4
58071     >
58072 struct apply< F,T1,T2,T3,T4,na >
58073     : apply4< F,T1,T2,T3,T4 >
58074 {
58075 };
58076
58077 template<
58078       typename F, typename T1, typename T2, typename T3, typename T4
58079     , typename T5
58080     >
58081 struct apply5
58082
58083     : apply_wrap5<
58084           typename lambda<F>::type
58085         , T1, T2, T3, T4, T5
58086         >
58087 {
58088    
58089
58090
58091
58092
58093 };
58094
58095
58096
58097 template<
58098       typename F, typename T1, typename T2, typename T3, typename T4
58099     , typename T5
58100     >
58101 struct apply
58102     : apply5< F,T1,T2,T3,T4,T5 >
58103 {
58104 };
58105
58106 }}
58107 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
58108 #undef AUX_PREPROCESSED_HEADER
58109
58110 #undef BOOST_MPL_PREPROCESSED_HEADER
58111 # 37 "/usr/include/boost/mpl/apply.hpp" 2 3 4
58112 # 88 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
58113
58114 # 1 "/usr/include/boost/mpl/logical.hpp" 1 3 4
58115
58116
58117 #define BOOST_MPL_LOGICAL_HPP_INCLUDED 
58118 # 17 "/usr/include/boost/mpl/logical.hpp" 3 4
58119 # 1 "/usr/include/boost/mpl/or.hpp" 1 3 4
58120
58121
58122 #define BOOST_MPL_OR_HPP_INCLUDED 
58123 # 40 "/usr/include/boost/mpl/or.hpp" 3 4
58124 #define BOOST_MPL_PREPROCESSED_HEADER or.hpp
58125 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
58126 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
58127 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
58128 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
58129 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/or.hpp" 1 3 4
58130 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/or.hpp" 3 4
58131 namespace boost { namespace mpl {
58132
58133 namespace aux {
58134
58135 template< bool C_, typename T1, typename T2, typename T3, typename T4 >
58136 struct or_impl
58137     : true_
58138 {
58139 };
58140
58141 template< typename T1, typename T2, typename T3, typename T4 >
58142 struct or_impl< false,T1,T2,T3,T4 >
58143     : or_impl<
58144           ::boost::mpl::aux::nested_type_wknd<T1>::value
58145         , T2, T3, T4
58146         , false_
58147         >
58148 {
58149 };
58150
58151 template<>
58152 struct or_impl<
58153           false
58154         , false_, false_, false_, false_
58155         >
58156     : false_
58157 {
58158 };
58159
58160 }
58161
58162 template<
58163       typename T1 = na
58164     , typename T2 = na
58165     , typename T3 = false_, typename T4 = false_, typename T5 = false_
58166     >
58167 struct or_
58168
58169     : aux::or_impl<
58170           ::boost::mpl::aux::nested_type_wknd<T1>::value
58171         , T2, T3, T4, T5
58172         >
58173
58174 {
58175    
58176
58177
58178
58179
58180 };
58181
58182 template<> struct or_< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : or_< T1 , T2 > { }; }; template< typename Tag > struct lambda< or_< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef or_< na , na > result_; typedef or_< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< or_< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< or_< na , na > > : int_<-1> { }; }
58183
58184
58185
58186
58187
58188 }}
58189 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
58190 #undef AUX_PREPROCESSED_HEADER
58191
58192 #undef BOOST_MPL_PREPROCESSED_HEADER
58193 # 42 "/usr/include/boost/mpl/or.hpp" 2 3 4
58194 # 18 "/usr/include/boost/mpl/logical.hpp" 2 3 4
58195 # 1 "/usr/include/boost/mpl/and.hpp" 1 3 4
58196
58197
58198 #define BOOST_MPL_AND_HPP_INCLUDED 
58199 # 39 "/usr/include/boost/mpl/and.hpp" 3 4
58200 #define BOOST_MPL_PREPROCESSED_HEADER and.hpp
58201 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
58202 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
58203 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
58204 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
58205 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp" 1 3 4
58206 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp" 3 4
58207 namespace boost { namespace mpl {
58208
58209 namespace aux {
58210
58211 template< bool C_, typename T1, typename T2, typename T3, typename T4 >
58212 struct and_impl
58213     : false_
58214 {
58215 };
58216
58217 template< typename T1, typename T2, typename T3, typename T4 >
58218 struct and_impl< true,T1,T2,T3,T4 >
58219     : and_impl<
58220           ::boost::mpl::aux::nested_type_wknd<T1>::value
58221         , T2, T3, T4
58222         , true_
58223         >
58224 {
58225 };
58226
58227 template<>
58228 struct and_impl<
58229           true
58230         , true_, true_, true_, true_
58231         >
58232     : true_
58233 {
58234 };
58235
58236 }
58237
58238 template<
58239       typename T1 = na
58240     , typename T2 = na
58241     , typename T3 = true_, typename T4 = true_, typename T5 = true_
58242     >
58243 struct and_
58244
58245     : aux::and_impl<
58246           ::boost::mpl::aux::nested_type_wknd<T1>::value
58247         , T2, T3, T4, T5
58248         >
58249
58250 {
58251    
58252
58253
58254
58255
58256 };
58257
58258 template<> struct and_< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : and_< T1 , T2 > { }; }; template< typename Tag > struct lambda< and_< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef and_< na , na > result_; typedef and_< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< and_< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< and_< na , na > > : int_<-1> { }; }
58259
58260
58261
58262
58263
58264 }}
58265 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
58266 #undef AUX_PREPROCESSED_HEADER
58267
58268 #undef BOOST_MPL_PREPROCESSED_HEADER
58269 # 41 "/usr/include/boost/mpl/and.hpp" 2 3 4
58270 # 19 "/usr/include/boost/mpl/logical.hpp" 2 3 4
58271 # 90 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
58272 # 1 "/usr/include/boost/mpl/find_if.hpp" 1 3 4
58273
58274
58275 #define BOOST_MPL_FIND_IF_HPP_INCLUDED 
58276 # 17 "/usr/include/boost/mpl/find_if.hpp" 3 4
58277 # 1 "/usr/include/boost/mpl/aux_/find_if_pred.hpp" 1 3 4
58278
58279
58280 #define BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED 
58281 # 14 "/usr/include/boost/mpl/aux_/find_if_pred.hpp" 3 4
58282 # 1 "/usr/include/boost/mpl/aux_/iter_apply.hpp" 1 3 4
58283
58284
58285 #define BOOST_MPL_ITER_APPLY_HPP_INCLUDED 
58286 # 17 "/usr/include/boost/mpl/aux_/iter_apply.hpp" 3 4
58287 # 1 "/usr/include/boost/mpl/apply.hpp" 1 3 4
58288 # 18 "/usr/include/boost/mpl/aux_/iter_apply.hpp" 2 3 4
58289
58290
58291 namespace boost { namespace mpl { namespace aux {
58292
58293 template<
58294       typename F
58295     , typename Iterator
58296     >
58297 struct iter_apply1
58298     : apply1< F,typename deref<Iterator>::type >
58299 {
58300 };
58301
58302 template<
58303       typename F
58304     , typename Iterator1
58305     , typename Iterator2
58306     >
58307 struct iter_apply2
58308     : apply2<
58309           F
58310         , typename deref<Iterator1>::type
58311         , typename deref<Iterator2>::type
58312         >
58313 {
58314 };
58315
58316 }}}
58317 # 15 "/usr/include/boost/mpl/aux_/find_if_pred.hpp" 2 3 4
58318
58319
58320 namespace boost { namespace mpl { namespace aux {
58321
58322 template< typename Predicate >
58323 struct find_if_pred
58324 {
58325     template< typename Iterator >
58326     struct apply
58327     {
58328         typedef not_< aux::iter_apply1<Predicate,Iterator> > type;
58329     };
58330 };
58331
58332 }}}
58333 # 18 "/usr/include/boost/mpl/find_if.hpp" 2 3 4
58334 # 1 "/usr/include/boost/mpl/arg.hpp" 1 3 4
58335 # 19 "/usr/include/boost/mpl/find_if.hpp" 2 3 4
58336 # 1 "/usr/include/boost/mpl/iter_fold_if.hpp" 1 3 4
58337
58338
58339 #define BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED 
58340 # 18 "/usr/include/boost/mpl/iter_fold_if.hpp" 3 4
58341 # 1 "/usr/include/boost/mpl/begin_end.hpp" 1 3 4
58342
58343
58344 #define BOOST_MPL_BEGIN_END_HPP_INCLUDED 
58345 # 18 "/usr/include/boost/mpl/begin_end.hpp" 3 4
58346 # 1 "/usr/include/boost/mpl/aux_/begin_end_impl.hpp" 1 3 4
58347
58348
58349 #define BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED 
58350 # 18 "/usr/include/boost/mpl/aux_/begin_end_impl.hpp" 3 4
58351 # 1 "/usr/include/boost/mpl/sequence_tag_fwd.hpp" 1 3 4
58352
58353
58354 #define BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED 
58355 # 17 "/usr/include/boost/mpl/sequence_tag_fwd.hpp" 3 4
58356 namespace boost { namespace mpl {
58357
58358 struct nested_begin_end_tag;
58359 struct non_sequence_tag;
58360
58361 template< typename Sequence > struct sequence_tag;
58362
58363 }}
58364 # 19 "/usr/include/boost/mpl/aux_/begin_end_impl.hpp" 2 3 4
58365
58366
58367 # 1 "/usr/include/boost/mpl/aux_/traits_lambda_spec.hpp" 1 3 4
58368
58369
58370 #define BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED 
58371 # 23 "/usr/include/boost/mpl/aux_/traits_lambda_spec.hpp" 3 4
58372 #define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i,trait) 
58373 # 22 "/usr/include/boost/mpl/aux_/begin_end_impl.hpp" 2 3 4
58374
58375
58376 namespace boost { namespace mpl {
58377
58378
58379
58380
58381
58382 template< typename Tag >
58383 struct begin_impl
58384 {
58385     template< typename Sequence > struct apply
58386     {
58387         typedef typename Sequence::begin type;
58388     };
58389 };
58390
58391 template< typename Tag >
58392 struct end_impl
58393 {
58394     template< typename Sequence > struct apply
58395     {
58396         typedef typename Sequence::end type;
58397     };
58398 };
58399
58400
58401
58402 #define AUX778076_IMPL_SPEC(name,tag,result) template<> struct name ##_impl<tag> { template< typename Sequence > struct apply { typedef result type; }; };
58403 # 62 "/usr/include/boost/mpl/aux_/begin_end_impl.hpp" 3 4
58404 template<> struct begin_impl<nested_begin_end_tag> { template< typename Sequence > struct apply { typedef typename Sequence::begin type; }; };
58405 template<> struct end_impl<nested_begin_end_tag> { template< typename Sequence > struct apply { typedef typename Sequence::end type; }; };
58406
58407
58408
58409
58410 template<> struct begin_impl<non_sequence_tag> { template< typename Sequence > struct apply { typedef void_ type; }; };
58411 template<> struct end_impl<non_sequence_tag> { template< typename Sequence > struct apply { typedef void_ type; }; };
58412 template<> struct begin_impl<na> { template< typename Sequence > struct apply { typedef void_ type; }; };
58413 template<> struct end_impl<na> { template< typename Sequence > struct apply { typedef void_ type; }; };
58414
58415 #undef AUX778076_IMPL_SPEC
58416
58417
58418
58419
58420
58421 }}
58422 # 19 "/usr/include/boost/mpl/begin_end.hpp" 2 3 4
58423 # 1 "/usr/include/boost/mpl/sequence_tag.hpp" 1 3 4
58424
58425
58426 #define BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED 
58427 # 18 "/usr/include/boost/mpl/sequence_tag.hpp" 3 4
58428 # 1 "/usr/include/boost/mpl/aux_/has_tag.hpp" 1 3 4
58429
58430
58431 #define BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED 
58432 # 19 "/usr/include/boost/mpl/aux_/has_tag.hpp" 3 4
58433 namespace boost { namespace mpl { namespace aux {
58434 template< typename T, typename fallback_ = boost::mpl::bool_<false> > struct has_tag { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper<U> const volatile* , boost::mpl::aux::type_wrapper<typename U::tag>* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper<T> t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_<value> type; };
58435 }}}
58436 # 19 "/usr/include/boost/mpl/sequence_tag.hpp" 2 3 4
58437 # 1 "/usr/include/boost/mpl/aux_/has_begin.hpp" 1 3 4
58438
58439
58440 #define BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED 
58441 # 19 "/usr/include/boost/mpl/aux_/has_begin.hpp" 3 4
58442 namespace boost { namespace mpl { namespace aux {
58443 template< typename T, typename fallback_ = boost::mpl::bool_<true> > struct has_begin { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper<U> const volatile* , boost::mpl::aux::type_wrapper<typename U::begin>* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper<T> t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_<value> type; };
58444 }}}
58445 # 20 "/usr/include/boost/mpl/sequence_tag.hpp" 2 3 4
58446
58447
58448
58449
58450
58451
58452 namespace boost { namespace mpl {
58453 # 78 "/usr/include/boost/mpl/sequence_tag.hpp" 3 4
58454 namespace aux {
58455
58456 template< bool has_tag_, bool has_begin_ >
58457 struct sequence_tag_impl
58458 {
58459
58460
58461     template< typename Sequence > struct result2_;
58462 };
58463
58464 #define AUX_CLASS_SEQUENCE_TAG_SPEC(has_tag,has_begin,result_type) template<> struct sequence_tag_impl<has_tag,has_begin> { template< typename Sequence > struct result2_ { typedef result_type type; }; };
58465 # 98 "/usr/include/boost/mpl/sequence_tag.hpp" 3 4
58466 template<> struct sequence_tag_impl<true,true> { template< typename Sequence > struct result2_ { typedef typename Sequence::tag type; }; };
58467 template<> struct sequence_tag_impl<true,false> { template< typename Sequence > struct result2_ { typedef typename Sequence::tag type; }; };
58468 template<> struct sequence_tag_impl<false,true> { template< typename Sequence > struct result2_ { typedef nested_begin_end_tag type; }; };
58469 template<> struct sequence_tag_impl<false,false> { template< typename Sequence > struct result2_ { typedef non_sequence_tag type; }; };
58470
58471 #undef AUX_CLASS_SEQUENCE_TAG_SPEC
58472
58473 }
58474
58475 template<
58476       typename Sequence = na
58477     >
58478 struct sequence_tag
58479     : aux::sequence_tag_impl<
58480           ::boost::mpl::aux::has_tag<Sequence>::value
58481         , ::boost::mpl::aux::has_begin<Sequence>::value
58482         >::template result2_<Sequence>
58483 {
58484 };
58485
58486
58487
58488 template<> struct sequence_tag< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : sequence_tag< T1 > { }; }; template< typename Tag > struct lambda< sequence_tag< na > , Tag , int_<-1> > { typedef false_ is_le; typedef sequence_tag< na > result_; typedef sequence_tag< na > type; }; namespace aux { template< typename T1 > struct template_arity< sequence_tag< T1 > > : int_<1> { }; template<> struct template_arity< sequence_tag< na > > : int_<-1> { }; }
58489
58490 }}
58491 # 20 "/usr/include/boost/mpl/begin_end.hpp" 2 3 4
58492
58493
58494
58495 namespace boost { namespace mpl {
58496
58497
58498
58499
58500 template<
58501       typename Sequence = na
58502     >
58503 struct begin
58504 {
58505     typedef typename sequence_tag<Sequence>::type tag_;
58506     typedef typename begin_impl< tag_ >
58507         ::template apply< Sequence >::type type;
58508
58509    
58510 };
58511
58512 template<
58513       typename Sequence = na
58514     >
58515 struct end
58516 {
58517     typedef typename sequence_tag<Sequence>::type tag_;
58518     typedef typename end_impl< tag_ >
58519         ::template apply< Sequence >::type type;
58520
58521    
58522 };
58523
58524 template<> struct begin< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : begin< T1 > { }; }; template< typename Tag > struct lambda< begin< na > , Tag , int_<-1> > { typedef false_ is_le; typedef begin< na > result_; typedef begin< na > type; }; namespace aux { template< typename T1 > struct template_arity< begin< T1 > > : int_<1> { }; template<> struct template_arity< begin< na > > : int_<-1> { }; }
58525 template<> struct end< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : end< T1 > { }; }; template< typename Tag > struct lambda< end< na > , Tag , int_<-1> > { typedef false_ is_le; typedef end< na > result_; typedef end< na > type; }; namespace aux { template< typename T1 > struct template_arity< end< T1 > > : int_<1> { }; template<> struct template_arity< end< na > > : int_<-1> { }; }
58526
58527 }}
58528 # 19 "/usr/include/boost/mpl/iter_fold_if.hpp" 2 3 4
58529
58530 # 1 "/usr/include/boost/mpl/always.hpp" 1 3 4
58531
58532
58533 #define BOOST_MPL_ALWAYS_HPP_INCLUDED 
58534 # 21 "/usr/include/boost/mpl/always.hpp" 3 4
58535 namespace boost { namespace mpl {
58536
58537 template< typename Value > struct always
58538 {
58539     template<
58540           typename T
58541         , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na
58542         >
58543     struct apply
58544     {
58545         typedef Value type;
58546     };
58547 };
58548
58549
58550
58551 }}
58552 # 21 "/usr/include/boost/mpl/iter_fold_if.hpp" 2 3 4
58553 # 1 "/usr/include/boost/mpl/eval_if.hpp" 1 3 4
58554 # 22 "/usr/include/boost/mpl/iter_fold_if.hpp" 2 3 4
58555
58556 # 1 "/usr/include/boost/mpl/pair.hpp" 1 3 4
58557
58558
58559 #define BOOST_MPL_PAIR_HPP_INCLUDED 
58560 # 17 "/usr/include/boost/mpl/pair.hpp" 3 4
58561 # 1 "/usr/include/boost/mpl/aux_/msvc_eti_base.hpp" 1 3 4
58562
58563
58564 #define BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED 
58565 # 22 "/usr/include/boost/mpl/aux_/msvc_eti_base.hpp" 3 4
58566 namespace boost { namespace mpl { namespace aux {
58567 # 55 "/usr/include/boost/mpl/aux_/msvc_eti_base.hpp" 3 4
58568 template< typename T > struct msvc_eti_base
58569     : T
58570 {
58571
58572     msvc_eti_base();
58573
58574     typedef T type;
58575 };
58576
58577
58578
58579 template<> struct msvc_eti_base<int>
58580 {
58581     typedef msvc_eti_base type;
58582     typedef msvc_eti_base first;
58583     typedef msvc_eti_base second;
58584     typedef msvc_eti_base tag;
58585     enum { value = 0 };
58586 };
58587
58588 }}}
58589 # 18 "/usr/include/boost/mpl/pair.hpp" 2 3 4
58590
58591
58592
58593
58594 namespace boost { namespace mpl {
58595
58596 template<
58597       typename T1 = na
58598     , typename T2 = na
58599     >
58600 struct pair
58601 {
58602     typedef pair type;
58603     typedef T1 first;
58604     typedef T2 second;
58605
58606    
58607 };
58608
58609 template<
58610       typename P = na
58611     >
58612 struct first
58613 {
58614
58615     typedef typename P::first type;
58616
58617
58618
58619    
58620 };
58621
58622 template<
58623       typename P = na
58624     >
58625 struct second
58626 {
58627
58628     typedef typename P::second type;
58629
58630
58631
58632    
58633 };
58634
58635
58636 template<> struct pair< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : pair< T1 , T2 > { }; }; template< typename Tag > struct lambda< pair< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef pair< na , na > result_; typedef pair< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< pair< T1 , T2 > > : int_<2> { }; template<> struct template_arity< pair< na , na > > : int_<-1> { }; }
58637 template<> struct first< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : first< T1 > { }; }; template< typename Tag > struct lambda< first< na > , Tag , int_<-1> > { typedef false_ is_le; typedef first< na > result_; typedef first< na > type; }; namespace aux { template< typename T1 > struct template_arity< first< T1 > > : int_<1> { }; template<> struct template_arity< first< na > > : int_<-1> { }; }
58638 template<> struct second< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : second< T1 > { }; }; template< typename Tag > struct lambda< second< na > , Tag , int_<-1> > { typedef false_ is_le; typedef second< na > result_; typedef second< na > type; }; namespace aux { template< typename T1 > struct template_arity< second< T1 > > : int_<1> { }; template<> struct template_arity< second< na > > : int_<-1> { }; }
58639
58640 }}
58641 # 24 "/usr/include/boost/mpl/iter_fold_if.hpp" 2 3 4
58642 # 1 "/usr/include/boost/mpl/apply.hpp" 1 3 4
58643 # 25 "/usr/include/boost/mpl/iter_fold_if.hpp" 2 3 4
58644 # 1 "/usr/include/boost/mpl/aux_/iter_fold_if_impl.hpp" 1 3 4
58645
58646
58647 #define BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED 
58648 # 19 "/usr/include/boost/mpl/aux_/iter_fold_if_impl.hpp" 3 4
58649 # 1 "/usr/include/boost/mpl/identity.hpp" 1 3 4
58650 # 20 "/usr/include/boost/mpl/aux_/iter_fold_if_impl.hpp" 2 3 4
58651
58652
58653 # 1 "/usr/include/boost/mpl/apply.hpp" 1 3 4
58654 # 23 "/usr/include/boost/mpl/aux_/iter_fold_if_impl.hpp" 2 3 4
58655 # 31 "/usr/include/boost/mpl/aux_/iter_fold_if_impl.hpp" 3 4
58656 #define BOOST_MPL_PREPROCESSED_HEADER iter_fold_if_impl.hpp
58657 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
58658 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
58659 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
58660 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
58661 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp" 1 3 4
58662 # 13 "/usr/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp" 3 4
58663 namespace boost { namespace mpl { namespace aux {
58664
58665 template< typename Iterator, typename State >
58666 struct iter_fold_if_null_step
58667 {
58668     typedef State state;
58669     typedef Iterator iterator;
58670 };
58671
58672 template< bool >
58673 struct iter_fold_if_step_impl
58674 {
58675     template<
58676           typename Iterator
58677         , typename State
58678         , typename StateOp
58679         , typename IteratorOp
58680         >
58681     struct result_
58682     {
58683         typedef typename apply2< StateOp,State,Iterator >::type state;
58684         typedef typename IteratorOp::type iterator;
58685     };
58686 };
58687
58688 template<>
58689 struct iter_fold_if_step_impl<false>
58690 {
58691     template<
58692           typename Iterator
58693         , typename State
58694         , typename StateOp
58695         , typename IteratorOp
58696         >
58697     struct result_
58698     {
58699         typedef State state;
58700         typedef Iterator iterator;
58701     };
58702 };
58703
58704 template<
58705       typename Iterator
58706     , typename State
58707     , typename ForwardOp
58708     , typename Predicate
58709     >
58710 struct iter_fold_if_forward_step
58711 {
58712     typedef typename apply2< Predicate,State,Iterator >::type not_last;
58713     typedef typename iter_fold_if_step_impl<
58714           not_last::value
58715         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
58716
58717     typedef typename impl_::state state;
58718     typedef typename impl_::iterator iterator;
58719 };
58720
58721 template<
58722       typename Iterator
58723     , typename State
58724     , typename BackwardOp
58725     , typename Predicate
58726     >
58727 struct iter_fold_if_backward_step
58728 {
58729     typedef typename apply2< Predicate,State,Iterator >::type not_last;
58730     typedef typename iter_fold_if_step_impl<
58731           not_last::value
58732         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
58733
58734     typedef typename impl_::state state;
58735     typedef typename impl_::iterator iterator;
58736 };
58737
58738 template<
58739       typename Iterator
58740     , typename State
58741     , typename ForwardOp
58742     , typename ForwardPredicate
58743     , typename BackwardOp
58744     , typename BackwardPredicate
58745     >
58746 struct iter_fold_if_impl
58747 {
58748  private:
58749     typedef iter_fold_if_null_step< Iterator,State > forward_step0;
58750     typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
58751     typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
58752     typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
58753     typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
58754
58755
58756     typedef typename if_<
58757           typename forward_step4::not_last
58758         , iter_fold_if_impl<
58759               typename forward_step4::iterator
58760             , typename forward_step4::state
58761             , ForwardOp
58762             , ForwardPredicate
58763             , BackwardOp
58764             , BackwardPredicate
58765             >
58766         , iter_fold_if_null_step<
58767               typename forward_step4::iterator
58768             , typename forward_step4::state
58769             >
58770         >::type backward_step4;
58771
58772     typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
58773     typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
58774     typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
58775     typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
58776
58777
58778  public:
58779     typedef typename backward_step0::state state;
58780     typedef typename backward_step4::iterator iterator;
58781 };
58782
58783 }}}
58784 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
58785 #undef AUX_PREPROCESSED_HEADER
58786
58787 #undef BOOST_MPL_PREPROCESSED_HEADER
58788 # 33 "/usr/include/boost/mpl/aux_/iter_fold_if_impl.hpp" 2 3 4
58789 # 26 "/usr/include/boost/mpl/iter_fold_if.hpp" 2 3 4
58790
58791
58792 # 1 "/usr/include/boost/mpl/aux_/config/forwarding.hpp" 1 3 4
58793
58794
58795 #define BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED 
58796 # 29 "/usr/include/boost/mpl/iter_fold_if.hpp" 2 3 4
58797
58798
58799
58800
58801 namespace boost { namespace mpl {
58802
58803 namespace aux {
58804
58805 template< typename Predicate, typename LastIterator >
58806 struct iter_fold_if_pred
58807 {
58808     template< typename State, typename Iterator > struct apply
58809
58810         : and_<
58811               not_< is_same<Iterator,LastIterator> >
58812             , apply1<Predicate,Iterator>
58813             >
58814     {
58815
58816
58817
58818
58819
58820
58821
58822     };
58823 };
58824
58825 }
58826
58827 template<
58828       typename Sequence = na
58829     , typename State = na
58830     , typename ForwardOp = na
58831     , typename ForwardPredicate = na
58832     , typename BackwardOp = na
58833     , typename BackwardPredicate = na
58834     >
58835 struct iter_fold_if
58836 {
58837
58838     typedef typename begin<Sequence>::type first_;
58839     typedef typename end<Sequence>::type last_;
58840
58841     typedef typename eval_if<
58842           is_na<BackwardPredicate>
58843         , if_< is_na<BackwardOp>, always<false_>, always<true_> >
58844         , identity<BackwardPredicate>
58845         >::type backward_pred_;
58846
58847
58848
58849     struct result_ :
58850
58851
58852
58853         aux::iter_fold_if_impl<
58854           first_
58855         , State
58856         , ForwardOp
58857         , protect< aux::iter_fold_if_pred< ForwardPredicate,last_ > >
58858         , BackwardOp
58859         , backward_pred_
58860         >
58861
58862     { };
58863
58864
58865
58866
58867 public:
58868
58869     typedef pair<
58870           typename result_::state
58871         , typename result_::iterator
58872         > type;
58873
58874    
58875
58876
58877
58878
58879 };
58880
58881 template<> struct iter_fold_if< na , na , na , na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > struct apply : iter_fold_if< T1 , T2 , T3 , T4 , T5 , T6 > { }; }; template< typename Tag > struct lambda< iter_fold_if< na , na , na , na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef iter_fold_if< na , na , na , na , na , na > result_; typedef iter_fold_if< na , na , na , na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > struct template_arity< iter_fold_if< T1 , T2 , T3 , T4 , T5 , T6 > > : int_<6> { }; template<> struct template_arity< iter_fold_if< na , na , na , na , na , na > > : int_<-1> { }; }
58882
58883 }}
58884 # 20 "/usr/include/boost/mpl/find_if.hpp" 2 3 4
58885
58886
58887
58888
58889 namespace boost { namespace mpl {
58890
58891
58892
58893 template<
58894       typename Sequence = na
58895     , typename Predicate = na
58896     >
58897 struct find_if
58898 {
58899     typedef typename iter_fold_if<
58900           Sequence
58901         , void
58902         , arg<1>
58903         , protect< aux::find_if_pred<Predicate> >
58904         >::type result_;
58905
58906     typedef typename second<result_>::type type;
58907
58908    
58909 };
58910
58911 template<> struct find_if< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : find_if< T1 , T2 > { }; }; template< typename Tag > struct lambda< find_if< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef find_if< na , na > result_; typedef find_if< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< find_if< T1 , T2 > > : int_<2> { }; template<> struct template_arity< find_if< na , na > > : int_<-1> { }; }
58912
58913 }}
58914 # 91 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
58915
58916
58917
58918
58919 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/scope.hpp" 1
58920 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/scope.hpp"
58921 #define NEW_SCOPE_040211_HPP 
58922
58923
58924
58925 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/lua_include.hpp" 1
58926 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/lua_include.hpp"
58927 #define LUA_INCLUDE_HPP_INCLUDED 
58928
58929 extern "C"
58930 {
58931 # 1 "/usr/include/CEGUI/lua.h" 1
58932 # 11 "/usr/include/CEGUI/lua.h"
58933 #define lua_h 
58934
58935 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stdarg.h" 1 3 4
58936 # 34 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stdarg.h" 3 4
58937 #define _STDARG_H 
58938 #define _ANSI_STDARG_H_ 
58939
58940 #undef __need___va_list
58941 # 50 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stdarg.h" 3 4
58942 #define va_start(v,l) __builtin_va_start(v,l)
58943 #define va_end(v) __builtin_va_end(v)
58944 #define va_arg(v,l) __builtin_va_arg(v,l)
58945
58946 #define va_copy(d,s) __builtin_va_copy(d,s)
58947
58948 #define __va_copy(d,s) __builtin_va_copy(d,s)
58949 # 111 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stdarg.h" 3 4
58950 #define _VA_LIST_ 
58951
58952
58953 #define _VA_LIST 
58954
58955
58956
58957
58958
58959 #define _VA_LIST_T_H 
58960
58961
58962 #define __va_list__ 
58963 # 14 "/usr/include/CEGUI/lua.h" 2
58964 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
58965 # 15 "/usr/include/CEGUI/lua.h" 2
58966
58967
58968 #define LUA_VERSION "Lua 5.0.2"
58969 #define LUA_COPYRIGHT "Copyright (C) 1994-2004 Tecgraf, PUC-Rio"
58970 #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes"
58971
58972
58973
58974
58975 #define LUA_MULTRET (-1)
58976
58977
58978
58979
58980
58981 #define LUA_REGISTRYINDEX (-10000)
58982 #define LUA_GLOBALSINDEX (-10001)
58983 #define lua_upvalueindex(i) (LUA_GLOBALSINDEX-(i))
58984
58985
58986
58987 #define LUA_ERRRUN 1
58988 #define LUA_ERRFILE 2
58989 #define LUA_ERRSYNTAX 3
58990 #define LUA_ERRMEM 4
58991 #define LUA_ERRERR 5
58992
58993
58994 typedef struct lua_State lua_State;
58995
58996 typedef int (*lua_CFunction) (lua_State *L);
58997
58998
58999
59000
59001
59002 typedef const char * (*lua_Chunkreader) (lua_State *L, void *ud, size_t *sz);
59003
59004 typedef int (*lua_Chunkwriter) (lua_State *L, const void* p,
59005                                 size_t sz, void* ud);
59006
59007
59008
59009
59010
59011 #define LUA_TNONE (-1)
59012
59013 #define LUA_TNIL 0
59014 #define LUA_TBOOLEAN 1
59015 #define LUA_TLIGHTUSERDATA 2
59016 #define LUA_TNUMBER 3
59017 #define LUA_TSTRING 4
59018 #define LUA_TTABLE 5
59019 #define LUA_TFUNCTION 6
59020 #define LUA_TUSERDATA 7
59021 #define LUA_TTHREAD 8
59022
59023
59024
59025 #define LUA_MINSTACK 20
59026 # 87 "/usr/include/CEGUI/lua.h"
59027 typedef double lua_Number;
59028
59029
59030
59031
59032
59033
59034
59035 #define LUA_API extern
59036
59037
59038
59039
59040
59041
59042 extern lua_State *lua_open (void);
59043 extern void lua_close (lua_State *L);
59044 extern lua_State *lua_newthread (lua_State *L);
59045
59046 extern lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf);
59047
59048
59049
59050
59051
59052 extern int lua_gettop (lua_State *L);
59053 extern void lua_settop (lua_State *L, int idx);
59054 extern void lua_pushvalue (lua_State *L, int idx);
59055 extern void lua_remove (lua_State *L, int idx);
59056 extern void lua_insert (lua_State *L, int idx);
59057 extern void lua_replace (lua_State *L, int idx);
59058 extern int lua_checkstack (lua_State *L, int sz);
59059
59060 extern void lua_xmove (lua_State *from, lua_State *to, int n);
59061
59062
59063
59064
59065
59066
59067 extern int lua_isnumber (lua_State *L, int idx);
59068 extern int lua_isstring (lua_State *L, int idx);
59069 extern int lua_iscfunction (lua_State *L, int idx);
59070 extern int lua_isuserdata (lua_State *L, int idx);
59071 extern int lua_type (lua_State *L, int idx);
59072 extern const char *lua_typename (lua_State *L, int tp);
59073
59074 extern int lua_equal (lua_State *L, int idx1, int idx2);
59075 extern int lua_rawequal (lua_State *L, int idx1, int idx2);
59076 extern int lua_lessthan (lua_State *L, int idx1, int idx2);
59077
59078 extern lua_Number lua_tonumber (lua_State *L, int idx);
59079 extern int lua_toboolean (lua_State *L, int idx);
59080 extern const char *lua_tostring (lua_State *L, int idx);
59081 extern size_t lua_strlen (lua_State *L, int idx);
59082 extern lua_CFunction lua_tocfunction (lua_State *L, int idx);
59083 extern void *lua_touserdata (lua_State *L, int idx);
59084 extern lua_State *lua_tothread (lua_State *L, int idx);
59085 extern const void *lua_topointer (lua_State *L, int idx);
59086
59087
59088
59089
59090
59091 extern void lua_pushnil (lua_State *L);
59092 extern void lua_pushnumber (lua_State *L, lua_Number n);
59093 extern void lua_pushlstring (lua_State *L, const char *s, size_t l);
59094 extern void lua_pushstring (lua_State *L, const char *s);
59095 extern const char *lua_pushvfstring (lua_State *L, const char *fmt,
59096                                                     va_list argp);
59097 extern const char *lua_pushfstring (lua_State *L, const char *fmt, ...);
59098 extern void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n);
59099 extern void lua_pushboolean (lua_State *L, int b);
59100 extern void lua_pushlightuserdata (lua_State *L, void *p);
59101
59102
59103
59104
59105
59106 extern void lua_gettable (lua_State *L, int idx);
59107 extern void lua_rawget (lua_State *L, int idx);
59108 extern void lua_rawgeti (lua_State *L, int idx, int n);
59109 extern void lua_newtable (lua_State *L);
59110 extern void *lua_newuserdata (lua_State *L, size_t sz);
59111 extern int lua_getmetatable (lua_State *L, int objindex);
59112 extern void lua_getfenv (lua_State *L, int idx);
59113
59114
59115
59116
59117
59118 extern void lua_settable (lua_State *L, int idx);
59119 extern void lua_rawset (lua_State *L, int idx);
59120 extern void lua_rawseti (lua_State *L, int idx, int n);
59121 extern int lua_setmetatable (lua_State *L, int objindex);
59122 extern int lua_setfenv (lua_State *L, int idx);
59123
59124
59125
59126
59127
59128 extern void lua_call (lua_State *L, int nargs, int nresults);
59129 extern int lua_pcall (lua_State *L, int nargs, int nresults, int errfunc);
59130 extern int lua_cpcall (lua_State *L, lua_CFunction func, void *ud);
59131 extern int lua_load (lua_State *L, lua_Chunkreader reader, void *dt,
59132                         const char *chunkname);
59133
59134 extern int lua_dump (lua_State *L, lua_Chunkwriter writer, void *data);
59135
59136
59137
59138
59139
59140 extern int lua_yield (lua_State *L, int nresults);
59141 extern int lua_resume (lua_State *L, int narg);
59142
59143
59144
59145
59146 extern int lua_getgcthreshold (lua_State *L);
59147 extern int lua_getgccount (lua_State *L);
59148 extern void lua_setgcthreshold (lua_State *L, int newthreshold);
59149
59150
59151
59152
59153
59154 extern const char *lua_version (void);
59155
59156 extern int lua_error (lua_State *L);
59157
59158 extern int lua_next (lua_State *L, int idx);
59159
59160 extern void lua_concat (lua_State *L, int n);
59161 # 230 "/usr/include/CEGUI/lua.h"
59162 #define lua_boxpointer(L,u) (*(void **)(lua_newuserdata(L, sizeof(void *))) = (u))
59163
59164
59165 #define lua_unboxpointer(L,i) (*(void **)(lua_touserdata(L, i)))
59166
59167 #define lua_pop(L,n) lua_settop(L, -(n)-1)
59168
59169 #define lua_register(L,n,f) (lua_pushstring(L, n), lua_pushcfunction(L, f), lua_settable(L, LUA_GLOBALSINDEX))
59170
59171
59172
59173
59174 #define lua_pushcfunction(L,f) lua_pushcclosure(L, f, 0)
59175
59176 #define lua_isfunction(L,n) (lua_type(L,n) == LUA_TFUNCTION)
59177 #define lua_istable(L,n) (lua_type(L,n) == LUA_TTABLE)
59178 #define lua_islightuserdata(L,n) (lua_type(L,n) == LUA_TLIGHTUSERDATA)
59179 #define lua_isnil(L,n) (lua_type(L,n) == LUA_TNIL)
59180 #define lua_isboolean(L,n) (lua_type(L,n) == LUA_TBOOLEAN)
59181 #define lua_isnone(L,n) (lua_type(L,n) == LUA_TNONE)
59182 #define lua_isnoneornil(L,n) (lua_type(L,n) <= 0)
59183
59184 #define lua_pushliteral(L,s) lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1)
59185 # 262 "/usr/include/CEGUI/lua.h"
59186 extern int lua_pushupvalues (lua_State *L);
59187
59188 #define lua_getregistry(L) lua_pushvalue(L, LUA_REGISTRYINDEX)
59189 #define lua_setglobal(L,s) (lua_pushstring(L, s), lua_insert(L, -2), lua_settable(L, LUA_GLOBALSINDEX))
59190
59191
59192 #define lua_getglobal(L,s) (lua_pushstring(L, s), lua_gettable(L, LUA_GLOBALSINDEX))
59193
59194
59195
59196
59197
59198
59199 #define LUA_NOREF (-2)
59200 #define LUA_REFNIL (-1)
59201
59202 #define lua_ref(L,lock) ((lock) ? luaL_ref(L, LUA_REGISTRYINDEX) : (lua_pushstring(L, "unlocked references are obsolete"), lua_error(L), 0))
59203
59204
59205 #define lua_unref(L,ref) luaL_unref(L, LUA_REGISTRYINDEX, (ref))
59206
59207 #define lua_getref(L,ref) lua_rawgeti(L, LUA_REGISTRYINDEX, ref)
59208 # 295 "/usr/include/CEGUI/lua.h"
59209 #define LUA_NUMBER_SCAN "%lf"
59210
59211
59212
59213 #define LUA_NUMBER_FMT "%.14g"
59214 # 315 "/usr/include/CEGUI/lua.h"
59215 #define LUA_HOOKCALL 0
59216 #define LUA_HOOKRET 1
59217 #define LUA_HOOKLINE 2
59218 #define LUA_HOOKCOUNT 3
59219 #define LUA_HOOKTAILRET 4
59220
59221
59222
59223
59224
59225 #define LUA_MASKCALL (1 << LUA_HOOKCALL)
59226 #define LUA_MASKRET (1 << LUA_HOOKRET)
59227 #define LUA_MASKLINE (1 << LUA_HOOKLINE)
59228 #define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT)
59229
59230 typedef struct lua_Debug lua_Debug;
59231
59232 typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar);
59233
59234
59235 extern int lua_getstack (lua_State *L, int level, lua_Debug *ar);
59236 extern int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar);
59237 extern const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n);
59238 extern const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n);
59239 extern const char *lua_getupvalue (lua_State *L, int funcindex, int n);
59240 extern const char *lua_setupvalue (lua_State *L, int funcindex, int n);
59241
59242 extern int lua_sethook (lua_State *L, lua_Hook func, int mask, int count);
59243 extern lua_Hook lua_gethook (lua_State *L);
59244 extern int lua_gethookmask (lua_State *L);
59245 extern int lua_gethookcount (lua_State *L);
59246
59247
59248 #define LUA_IDSIZE 60
59249
59250 struct lua_Debug {
59251   int event;
59252   const char *name;
59253   const char *namewhat;
59254   const char *what;
59255   const char *source;
59256   int currentline;
59257   int nups;
59258   int linedefined;
59259   char short_src[60];
59260
59261   int i_ci;
59262 };
59263 # 29 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/lua_include.hpp" 2
59264 }
59265 # 29 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/scope.hpp" 2
59266
59267
59268 namespace luabind {
59269
59270     struct scope;
59271
59272 }
59273
59274 namespace luabind { namespace detail {
59275
59276     struct registration
59277     {
59278         registration();
59279         virtual ~registration();
59280
59281     protected:
59282         virtual void register_(lua_State*) const = 0;
59283
59284     private:
59285         friend struct ::luabind::scope;
59286         registration* m_next;
59287     };
59288
59289 }}
59290
59291 namespace luabind {
59292
59293     struct scope
59294     {
59295         scope();
59296         explicit scope(std::auto_ptr<detail::registration> reg);
59297         scope(scope const& other_);
59298         ~scope();
59299
59300         scope& operator,(scope s);
59301
59302         void register_(lua_State* L) const;
59303
59304     private:
59305         detail::registration* m_chain;
59306     };
59307
59308     class namespace_ : public scope
59309     {
59310     public:
59311         explicit namespace_(char const* name);
59312         namespace_& operator[](scope s);
59313
59314     private:
59315         struct registration_;
59316         registration_* m_registration;
59317     };
59318
59319     class module_
59320     {
59321     public:
59322         module_(lua_State* L_, char const* name);
59323         void operator[](scope s);
59324
59325     private:
59326         lua_State* m_state;
59327         char const* m_name;
59328     };
59329
59330     inline module_ module(lua_State* L, char const* name = 0)
59331     {
59332         return module_(L, name);
59333     }
59334
59335 }
59336 # 96 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
59337 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/raw_policy.hpp" 1
59338 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/raw_policy.hpp"
59339 #define LUABIND_RAW_POLICY_HPP_INCLUDED 
59340
59341
59342 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 1
59343 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp"
59344 #define LUABIND_POLICY_HPP_INCLUDED 
59345
59346
59347
59348
59349
59350
59351 # 1 "/usr/include/boost/type_traits/is_enum.hpp" 1 3 4
59352 # 33 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
59353 # 1 "/usr/include/boost/type_traits/is_array.hpp" 1 3 4
59354 # 34 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
59355
59356
59357 # 1 "/usr/include/boost/mpl/equal_to.hpp" 1 3 4
59358
59359
59360 #define BOOST_MPL_EQUAL_TO_HPP_INCLUDED 
59361 # 17 "/usr/include/boost/mpl/equal_to.hpp" 3 4
59362 #define AUX778076_OP_NAME equal_to
59363 #define AUX778076_OP_TOKEN ==
59364 # 1 "/usr/include/boost/mpl/aux_/comparison_op.hpp" 1 3 4
59365 # 22 "/usr/include/boost/mpl/aux_/comparison_op.hpp" 3 4
59366 #define AUX778076_OP_PREFIX AUX778076_OP_NAME
59367
59368
59369 #define AUX778076_OP_ARITY 2
59370
59371 # 1 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 1 3 4
59372 # 21 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 3 4
59373 # 1 "/usr/include/boost/mpl/numeric_cast.hpp" 1 3 4
59374
59375
59376 #define BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED 
59377 # 27 "/usr/include/boost/mpl/numeric_cast.hpp" 3 4
59378 #define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast
59379
59380
59381 namespace boost { namespace mpl {
59382
59383
59384
59385 template< typename SourceTag, typename TargetTag > struct numeric_cast
59386 {
59387     template< typename N > struct apply;
59388 };
59389
59390 }}
59391 # 22 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 2 3 4
59392 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
59393 # 23 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 2 3 4
59394
59395 # 1 "/usr/include/boost/mpl/tag.hpp" 1 3 4
59396
59397
59398 #define BOOST_MPL_TAG_HPP_INCLUDED 
59399 # 22 "/usr/include/boost/mpl/tag.hpp" 3 4
59400 namespace boost { namespace mpl {
59401
59402 namespace aux {
59403 template< typename T > struct tag_impl
59404 {
59405     typedef typename T::tag type;
59406 };
59407 }
59408
59409 template< typename T, typename Default = void_ > struct tag
59410
59411     : if_<
59412           aux::has_tag<T>
59413         , aux::tag_impl<T>
59414         , Default
59415         >::type
59416 {
59417 # 48 "/usr/include/boost/mpl/tag.hpp" 3 4
59418 };
59419
59420 }}
59421 # 25 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 2 3 4
59422 # 1 "/usr/include/boost/mpl/aux_/numeric_cast_utils.hpp" 1 3 4
59423
59424
59425 #define BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED 
59426 # 18 "/usr/include/boost/mpl/aux_/numeric_cast_utils.hpp" 3 4
59427 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
59428 # 19 "/usr/include/boost/mpl/aux_/numeric_cast_utils.hpp" 2 3 4
59429
59430
59431 namespace boost { namespace mpl { namespace aux {
59432
59433 template<
59434       typename F
59435     , typename Tag1
59436     , typename Tag2
59437     >
59438 struct cast1st_impl
59439 {
59440     template< typename N1, typename N2 > struct apply
59441
59442         : apply_wrap2<
59443               F
59444             , typename apply_wrap1< numeric_cast<Tag1,Tag2>,N1 >::type
59445             , N2
59446             >
59447     {
59448 # 46 "/usr/include/boost/mpl/aux_/numeric_cast_utils.hpp" 3 4
59449     };
59450 };
59451
59452 template<
59453       typename F
59454     , typename Tag1
59455     , typename Tag2
59456     >
59457 struct cast2nd_impl
59458 {
59459     template< typename N1, typename N2 > struct apply
59460
59461         : apply_wrap2<
59462               F
59463             , N1
59464             , typename apply_wrap1< numeric_cast<Tag2,Tag1>,N2 >::type
59465             >
59466     {
59467 # 72 "/usr/include/boost/mpl/aux_/numeric_cast_utils.hpp" 3 4
59468     };
59469 };
59470
59471 }}}
59472 # 26 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 2 3 4
59473 # 28 "/usr/include/boost/mpl/aux_/comparison_op.hpp" 2 3 4
59474
59475
59476
59477
59478
59479
59480 #define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
59481 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
59482 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
59483 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
59484 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
59485 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp" 1 3 4
59486 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp" 3 4
59487 namespace boost { namespace mpl {
59488
59489 template<
59490       typename Tag1
59491     , typename Tag2
59492     >
59493 struct equal_to_impl
59494     : if_c<
59495           ( Tag1::value
59496               > Tag2::value
59497             )
59498
59499         , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
59500         , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
59501         >::type
59502 {
59503 };
59504
59505
59506 template<> struct equal_to_impl< na,na >
59507 {
59508     template< typename U1, typename U2 > struct apply
59509     {
59510         typedef apply type;
59511         static const int value = 0;
59512     };
59513 };
59514
59515 template< typename Tag > struct equal_to_impl< na,Tag >
59516 {
59517     template< typename U1, typename U2 > struct apply
59518     {
59519         typedef apply type;
59520         static const int value = 0;
59521     };
59522 };
59523
59524 template< typename Tag > struct equal_to_impl< Tag,na >
59525 {
59526     template< typename U1, typename U2 > struct apply
59527     {
59528         typedef apply type;
59529         static const int value = 0;
59530     };
59531 };
59532
59533 template< typename T > struct equal_to_tag
59534 {
59535     typedef typename T::tag type;
59536 };
59537
59538 template<
59539       typename N1 = na
59540     , typename N2 = na
59541     >
59542 struct equal_to
59543
59544     : equal_to_impl<
59545           typename equal_to_tag<N1>::type
59546         , typename equal_to_tag<N2>::type
59547         >::template apply< N1,N2 >::type
59548 {
59549    
59550
59551 };
59552
59553 template<> struct equal_to< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : equal_to< T1 , T2 > { }; }; template< typename Tag > struct lambda< equal_to< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef equal_to< na , na > result_; typedef equal_to< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< equal_to< T1 , T2 > > : int_<2> { }; template<> struct template_arity< equal_to< na , na > > : int_<-1> { }; }
59554
59555 }}
59556
59557 namespace boost { namespace mpl {
59558
59559 template<>
59560 struct equal_to_impl< integral_c_tag,integral_c_tag >
59561 {
59562     template< typename N1, typename N2 > struct apply
59563
59564         : bool_< ( N1::value == N2::value ) >
59565     {
59566     };
59567 };
59568
59569 }}
59570 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
59571 #undef AUX_PREPROCESSED_HEADER
59572
59573 #undef BOOST_MPL_PREPROCESSED_HEADER
59574 # 36 "/usr/include/boost/mpl/aux_/comparison_op.hpp" 2 3 4
59575 # 78 "/usr/include/boost/mpl/aux_/comparison_op.hpp" 3 4
59576 #undef AUX778076_OP_TAG_NAME
59577 #undef AUX778076_OP_IMPL_NAME
59578 #undef AUX778076_OP_ARITY
59579 #undef AUX778076_OP_PREFIX
59580 #undef AUX778076_OP_NAME
59581 #undef AUX778076_OP_TOKEN
59582 # 20 "/usr/include/boost/mpl/equal_to.hpp" 2 3 4
59583 # 37 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
59584
59585
59586 # 1 "/usr/include/boost/type_traits/add_reference.hpp" 1 3 4
59587 # 40 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
59588 # 1 "/usr/include/boost/type_traits/is_pointer.hpp" 1 3 4
59589 # 41 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
59590 # 1 "/usr/include/boost/type_traits/is_base_and_derived.hpp" 1 3 4
59591 # 42 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
59592
59593 # 1 "/usr/include/boost/limits.hpp" 1 3 4
59594 # 12 "/usr/include/boost/limits.hpp" 3 4
59595 #define BOOST_LIMITS 
59596 # 44 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
59597 # 1 "/usr/include/boost/tuple/tuple.hpp" 1 3 4
59598 # 14 "/usr/include/boost/tuple/tuple.hpp" 3 4
59599 #define BOOST_TUPLE_HPP 
59600 # 33 "/usr/include/boost/tuple/tuple.hpp" 3 4
59601 # 1 "/usr/include/boost/tuple/detail/tuple_basic.hpp" 1 3 4
59602 # 33 "/usr/include/boost/tuple/detail/tuple_basic.hpp" 3 4
59603 #define BOOST_TUPLE_BASIC_HPP 
59604
59605
59606
59607
59608 # 1 "/usr/include/boost/type_traits/cv_traits.hpp" 1 3 4
59609 # 13 "/usr/include/boost/type_traits/cv_traits.hpp" 3 4
59610 #define BOOST_TT_CV_TRAITS_HPP_INCLUDED 
59611
59612 # 1 "/usr/include/boost/type_traits/add_const.hpp" 1 3 4
59613 # 16 "/usr/include/boost/type_traits/cv_traits.hpp" 2 3 4
59614 # 1 "/usr/include/boost/type_traits/add_volatile.hpp" 1 3 4
59615 # 17 "/usr/include/boost/type_traits/cv_traits.hpp" 2 3 4
59616 # 1 "/usr/include/boost/type_traits/add_cv.hpp" 1 3 4
59617 # 18 "/usr/include/boost/type_traits/cv_traits.hpp" 2 3 4
59618
59619
59620 # 1 "/usr/include/boost/type_traits/remove_const.hpp" 1 3 4
59621 # 21 "/usr/include/boost/type_traits/cv_traits.hpp" 2 3 4
59622 # 1 "/usr/include/boost/type_traits/remove_volatile.hpp" 1 3 4
59623 # 22 "/usr/include/boost/type_traits/cv_traits.hpp" 2 3 4
59624 # 39 "/usr/include/boost/tuple/detail/tuple_basic.hpp" 2 3 4
59625 # 1 "/usr/include/boost/type_traits/function_traits.hpp" 1 3 4
59626 # 40 "/usr/include/boost/tuple/detail/tuple_basic.hpp" 2 3 4
59627
59628
59629
59630 namespace boost {
59631 namespace tuples {
59632
59633
59634 struct null_type {};
59635
59636
59637 namespace detail {
59638   inline const null_type cnull() { return null_type(); }
59639
59640
59641
59642
59643
59644 template <bool If, class Then, class Else> struct IF { typedef Then RET; };
59645
59646 template <class Then, class Else> struct IF<false, Then, Else> {
59647   typedef Else RET;
59648 };
59649
59650 }
59651
59652
59653 template <class HT, class TT> struct cons;
59654
59655
59656
59657 template <
59658   class T0 = null_type, class T1 = null_type, class T2 = null_type,
59659   class T3 = null_type, class T4 = null_type, class T5 = null_type,
59660   class T6 = null_type, class T7 = null_type, class T8 = null_type,
59661   class T9 = null_type>
59662 class tuple;
59663
59664
59665 template<class T> struct length;
59666
59667
59668
59669 namespace detail {
59670
59671
59672
59673 template<class T>
59674 class generate_error;
59675
59676
59677
59678
59679 template< int N >
59680 struct get_class {
59681   template<class RET, class HT, class TT >
59682   inline static RET get(const cons<HT, TT>& t)
59683   {
59684
59685
59686
59687
59688
59689     return get_class<N-1>::template get<RET>(t.tail);
59690
59691   }
59692   template<class RET, class HT, class TT >
59693   inline static RET get(cons<HT, TT>& t)
59694   {
59695
59696
59697
59698     return get_class<N-1>::template get<RET>(t.tail);
59699
59700   }
59701 };
59702
59703 template<>
59704 struct get_class<0> {
59705   template<class RET, class HT, class TT>
59706   inline static RET get(const cons<HT, TT>& t)
59707   {
59708     return t.head;
59709   }
59710   template<class RET, class HT, class TT>
59711   inline static RET get(cons<HT, TT>& t)
59712   {
59713     return t.head;
59714   }
59715 };
59716
59717 }
59718 # 140 "/usr/include/boost/tuple/detail/tuple_basic.hpp" 3 4
59719 template<int N, class T>
59720 struct element
59721 {
59722 private:
59723   typedef typename T::tail_type Next;
59724 public:
59725   typedef typename element<N-1, Next>::type type;
59726 };
59727 template<class T>
59728 struct element<0,T>
59729 {
59730   typedef typename T::head_type type;
59731 };
59732
59733 template<int N, class T>
59734 struct element<N, const T>
59735 {
59736 private:
59737   typedef typename T::tail_type Next;
59738   typedef typename element<N-1, Next>::type unqualified_type;
59739 public:
59740
59741
59742
59743   typedef typename boost::add_const<unqualified_type>::type type;
59744
59745
59746 };
59747 template<class T>
59748 struct element<0,const T>
59749 {
59750
59751
59752
59753   typedef typename boost::add_const<typename T::head_type>::type type;
59754
59755 };
59756 # 233 "/usr/include/boost/tuple/detail/tuple_basic.hpp" 3 4
59757 template <class T> struct access_traits {
59758   typedef const T& const_type;
59759   typedef T& non_const_type;
59760
59761   typedef const typename boost::remove_cv<T>::type& parameter_type;
59762
59763
59764
59765
59766
59767
59768 };
59769
59770 template <class T> struct access_traits<T&> {
59771
59772   typedef T& const_type;
59773   typedef T& non_const_type;
59774
59775   typedef T& parameter_type;
59776 };
59777
59778
59779
59780 template<int N, class HT, class TT>
59781 inline typename access_traits<
59782                   typename element<N, cons<HT, TT> >::type
59783                 >::non_const_type
59784 get(cons<HT, TT>& c ) {
59785
59786
59787
59788   return detail::get_class<N>::template
59789
59790          get<
59791            typename access_traits<
59792              typename element<N, cons<HT, TT> >::type
59793            >::non_const_type,
59794            HT,TT
59795          >(c);
59796 }
59797
59798
59799
59800
59801 template<int N, class HT, class TT>
59802 inline typename access_traits<
59803                   typename element<N, cons<HT, TT> >::type
59804                 >::const_type
59805 get(const cons<HT, TT>& c ) {
59806
59807
59808
59809   return detail::get_class<N>::template
59810
59811          get<
59812            typename access_traits<
59813              typename element<N, cons<HT, TT> >::type
59814            >::const_type,
59815            HT,TT
59816          >(c);
59817 }
59818
59819
59820 namespace detail {
59821
59822
59823
59824
59825
59826
59827
59828 template <class T> class non_storeable_type {
59829   non_storeable_type();
59830 };
59831
59832 template <class T> struct wrap_non_storeable_type {
59833   typedef typename IF<
59834     ::boost::is_function<T>::value, non_storeable_type<T>, T
59835   >::RET type;
59836 };
59837 template <> struct wrap_non_storeable_type<void> {
59838   typedef non_storeable_type<void> type;
59839 };
59840
59841 }
59842
59843 template <class HT, class TT>
59844 struct cons {
59845
59846   typedef HT head_type;
59847   typedef TT tail_type;
59848
59849   typedef typename
59850     detail::wrap_non_storeable_type<head_type>::type stored_head_type;
59851
59852   stored_head_type head;
59853   tail_type tail;
59854
59855   typename access_traits<stored_head_type>::non_const_type
59856   get_head() { return head; }
59857
59858   typename access_traits<tail_type>::non_const_type
59859   get_tail() { return tail; }
59860
59861   typename access_traits<stored_head_type>::const_type
59862   get_head() const { return head; }
59863
59864   typename access_traits<tail_type>::const_type
59865   get_tail() const { return tail; }
59866
59867   cons() : head(), tail() {}
59868
59869
59870
59871
59872
59873
59874
59875   cons(typename access_traits<stored_head_type>::parameter_type h,
59876        const tail_type& t)
59877     : head (h), tail(t) {}
59878
59879   template <class T1, class T2, class T3, class T4, class T5,
59880             class T6, class T7, class T8, class T9, class T10>
59881   cons( T1& t1, T2& t2, T3& t3, T4& t4, T5& t5,
59882         T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 )
59883     : head (t1),
59884       tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull())
59885       {}
59886
59887   template <class T2, class T3, class T4, class T5,
59888             class T6, class T7, class T8, class T9, class T10>
59889   cons( const null_type& t1, T2& t2, T3& t3, T4& t4, T5& t5,
59890         T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 )
59891     : head (),
59892       tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull())
59893       {}
59894
59895
59896   template <class HT2, class TT2>
59897   cons( const cons<HT2, TT2>& u ) : head(u.head), tail(u.tail) {}
59898
59899   template <class HT2, class TT2>
59900   cons& operator=( const cons<HT2, TT2>& u ) {
59901     head=u.head; tail=u.tail; return *this;
59902   }
59903
59904
59905
59906   cons& operator=(const cons& u) {
59907     head = u.head; tail = u.tail; return *this;
59908   }
59909
59910   template <class T1, class T2>
59911   cons& operator=( const std::pair<T1, T2>& u ) {
59912     typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( length<cons>::value == 2 ) >)> boost_static_assert_typedef_388;
59913     head = u.first; tail.head = u.second; return *this;
59914   }
59915
59916
59917   template <int N>
59918   typename access_traits<
59919              typename element<N, cons<HT, TT> >::type
59920            >::non_const_type
59921   get() {
59922     return boost::tuples::get<N>(*this);
59923   }
59924
59925   template <int N>
59926   typename access_traits<
59927              typename element<N, cons<HT, TT> >::type
59928            >::const_type
59929   get() const {
59930     return boost::tuples::get<N>(*this);
59931   }
59932 };
59933
59934 template <class HT>
59935 struct cons<HT, null_type> {
59936
59937   typedef HT head_type;
59938   typedef null_type tail_type;
59939   typedef cons<HT, null_type> self_type;
59940
59941   typedef typename
59942     detail::wrap_non_storeable_type<head_type>::type stored_head_type;
59943   stored_head_type head;
59944
59945   typename access_traits<stored_head_type>::non_const_type
59946   get_head() { return head; }
59947
59948   null_type get_tail() { return null_type(); }
59949
59950   typename access_traits<stored_head_type>::const_type
59951   get_head() const { return head; }
59952
59953   const null_type get_tail() const { return null_type(); }
59954
59955
59956   cons() : head() {}
59957
59958   cons(typename access_traits<stored_head_type>::parameter_type h,
59959        const null_type& = null_type())
59960     : head (h) {}
59961
59962   template<class T1>
59963   cons(T1& t1, const null_type&, const null_type&, const null_type&,
59964        const null_type&, const null_type&, const null_type&,
59965        const null_type&, const null_type&, const null_type&)
59966   : head (t1) {}
59967
59968   cons(const null_type&,
59969        const null_type&, const null_type&, const null_type&,
59970        const null_type&, const null_type&, const null_type&,
59971        const null_type&, const null_type&, const null_type&)
59972   : head () {}
59973
59974   template <class HT2>
59975   cons( const cons<HT2, null_type>& u ) : head(u.head) {}
59976
59977   template <class HT2>
59978   cons& operator=(const cons<HT2, null_type>& u )
59979   { head = u.head; return *this; }
59980
59981
59982
59983   cons& operator=(const cons& u) { head = u.head; return *this; }
59984
59985   template <int N>
59986   typename access_traits<
59987              typename element<N, self_type>::type
59988             >::non_const_type
59989   get() {
59990     return boost::tuples::get<N>(*this);
59991   }
59992
59993   template <int N>
59994   typename access_traits<
59995              typename element<N, self_type>::type
59996            >::const_type
59997   get() const {
59998     return boost::tuples::get<N>(*this);
59999   }
60000
60001 };
60002
60003
60004
60005 template<class T>
60006 struct length {
60007   static const int value = 1 + length<typename T::tail_type>::value;
60008 };
60009
60010 template<>
60011 struct length<tuple<> > {
60012   static const int value = 0;
60013 };
60014
60015 template<>
60016 struct length<null_type> {
60017   static const int value = 0;
60018 };
60019
60020
60021 namespace detail {
60022
60023
60024 template <class T0, class T1, class T2, class T3, class T4,
60025           class T5, class T6, class T7, class T8, class T9>
60026 struct map_tuple_to_cons
60027 {
60028   typedef cons<T0,
60029                typename map_tuple_to_cons<T1, T2, T3, T4, T5,
60030                                           T6, T7, T8, T9, null_type>::type
60031               > type;
60032 };
60033
60034
60035 template <>
60036 struct map_tuple_to_cons<null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type>
60037 {
60038   typedef null_type type;
60039 };
60040
60041 }
60042
60043
60044
60045 template <class T0, class T1, class T2, class T3, class T4,
60046           class T5, class T6, class T7, class T8, class T9>
60047
60048 class tuple :
60049   public detail::map_tuple_to_cons<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type
60050 {
60051 public:
60052   typedef typename
60053     detail::map_tuple_to_cons<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type inherited;
60054   typedef typename inherited::head_type head_type;
60055   typedef typename inherited::tail_type tail_type;
60056
60057
60058
60059   tuple() {}
60060
60061   tuple(typename access_traits<T0>::parameter_type t0)
60062     : inherited(t0, detail::cnull(), detail::cnull(), detail::cnull(),
60063                 detail::cnull(), detail::cnull(), detail::cnull(),
60064                 detail::cnull(), detail::cnull(), detail::cnull()) {}
60065
60066   tuple(typename access_traits<T0>::parameter_type t0,
60067         typename access_traits<T1>::parameter_type t1)
60068     : inherited(t0, t1, detail::cnull(), detail::cnull(),
60069                 detail::cnull(), detail::cnull(), detail::cnull(),
60070                 detail::cnull(), detail::cnull(), detail::cnull()) {}
60071
60072   tuple(typename access_traits<T0>::parameter_type t0,
60073         typename access_traits<T1>::parameter_type t1,
60074         typename access_traits<T2>::parameter_type t2)
60075     : inherited(t0, t1, t2, detail::cnull(), detail::cnull(),
60076                 detail::cnull(), detail::cnull(), detail::cnull(),
60077                 detail::cnull(), detail::cnull()) {}
60078
60079   tuple(typename access_traits<T0>::parameter_type t0,
60080         typename access_traits<T1>::parameter_type t1,
60081         typename access_traits<T2>::parameter_type t2,
60082         typename access_traits<T3>::parameter_type t3)
60083     : inherited(t0, t1, t2, t3, detail::cnull(), detail::cnull(),
60084                 detail::cnull(), detail::cnull(), detail::cnull(),
60085                 detail::cnull()) {}
60086
60087   tuple(typename access_traits<T0>::parameter_type t0,
60088         typename access_traits<T1>::parameter_type t1,
60089         typename access_traits<T2>::parameter_type t2,
60090         typename access_traits<T3>::parameter_type t3,
60091         typename access_traits<T4>::parameter_type t4)
60092     : inherited(t0, t1, t2, t3, t4, detail::cnull(), detail::cnull(),
60093                 detail::cnull(), detail::cnull(), detail::cnull()) {}
60094
60095   tuple(typename access_traits<T0>::parameter_type t0,
60096         typename access_traits<T1>::parameter_type t1,
60097         typename access_traits<T2>::parameter_type t2,
60098         typename access_traits<T3>::parameter_type t3,
60099         typename access_traits<T4>::parameter_type t4,
60100         typename access_traits<T5>::parameter_type t5)
60101     : inherited(t0, t1, t2, t3, t4, t5, detail::cnull(), detail::cnull(),
60102                 detail::cnull(), detail::cnull()) {}
60103
60104   tuple(typename access_traits<T0>::parameter_type t0,
60105         typename access_traits<T1>::parameter_type t1,
60106         typename access_traits<T2>::parameter_type t2,
60107         typename access_traits<T3>::parameter_type t3,
60108         typename access_traits<T4>::parameter_type t4,
60109         typename access_traits<T5>::parameter_type t5,
60110         typename access_traits<T6>::parameter_type t6)
60111     : inherited(t0, t1, t2, t3, t4, t5, t6, detail::cnull(),
60112                 detail::cnull(), detail::cnull()) {}
60113
60114   tuple(typename access_traits<T0>::parameter_type t0,
60115         typename access_traits<T1>::parameter_type t1,
60116         typename access_traits<T2>::parameter_type t2,
60117         typename access_traits<T3>::parameter_type t3,
60118         typename access_traits<T4>::parameter_type t4,
60119         typename access_traits<T5>::parameter_type t5,
60120         typename access_traits<T6>::parameter_type t6,
60121         typename access_traits<T7>::parameter_type t7)
60122     : inherited(t0, t1, t2, t3, t4, t5, t6, t7, detail::cnull(),
60123                 detail::cnull()) {}
60124
60125   tuple(typename access_traits<T0>::parameter_type t0,
60126         typename access_traits<T1>::parameter_type t1,
60127         typename access_traits<T2>::parameter_type t2,
60128         typename access_traits<T3>::parameter_type t3,
60129         typename access_traits<T4>::parameter_type t4,
60130         typename access_traits<T5>::parameter_type t5,
60131         typename access_traits<T6>::parameter_type t6,
60132         typename access_traits<T7>::parameter_type t7,
60133         typename access_traits<T8>::parameter_type t8)
60134     : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, detail::cnull()) {}
60135
60136   tuple(typename access_traits<T0>::parameter_type t0,
60137         typename access_traits<T1>::parameter_type t1,
60138         typename access_traits<T2>::parameter_type t2,
60139         typename access_traits<T3>::parameter_type t3,
60140         typename access_traits<T4>::parameter_type t4,
60141         typename access_traits<T5>::parameter_type t5,
60142         typename access_traits<T6>::parameter_type t6,
60143         typename access_traits<T7>::parameter_type t7,
60144         typename access_traits<T8>::parameter_type t8,
60145         typename access_traits<T9>::parameter_type t9)
60146     : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {}
60147
60148
60149   template<class U1, class U2>
60150   tuple(const cons<U1, U2>& p) : inherited(p) {}
60151
60152   template <class U1, class U2>
60153   tuple& operator=(const cons<U1, U2>& k) {
60154     inherited::operator=(k);
60155     return *this;
60156   }
60157
60158   template <class U1, class U2>
60159   tuple& operator=(const std::pair<U1, U2>& k) {
60160     typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( length<tuple>::value == 2 ) >)> boost_static_assert_typedef_636;
60161     this->head = k.first;
60162     this->tail.head = k.second;
60163     return *this;
60164   }
60165
60166 };
60167
60168
60169 template <>
60170 class tuple<null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type> :
60171   public null_type
60172 {
60173 public:
60174   typedef null_type inherited;
60175 };
60176
60177
60178
60179 namespace detail {
60180
60181 struct swallow_assign {
60182
60183   template<typename T>
60184   swallow_assign const& operator=(const T&) const {
60185     return *this;
60186   }
60187 };
60188
60189 }
60190
60191
60192 detail::swallow_assign const ignore = detail::swallow_assign();
60193 # 687 "/usr/include/boost/tuple/detail/tuple_basic.hpp" 3 4
60194 template<class T>
60195 struct make_tuple_traits {
60196   typedef T type;
60197
60198
60199
60200
60201
60202
60203
60204 };
60205 # 711 "/usr/include/boost/tuple/detail/tuple_basic.hpp" 3 4
60206 template<class T>
60207 struct make_tuple_traits<T&> {
60208   typedef typename
60209      detail::generate_error<T&>::
60210        do_not_use_with_reference_type error;
60211 };
60212
60213
60214
60215
60216
60217 template<class T, int n> struct make_tuple_traits <T[n]> {
60218   typedef const T (&type)[n];
60219 };
60220
60221 template<class T, int n>
60222 struct make_tuple_traits<const T[n]> {
60223   typedef const T (&type)[n];
60224 };
60225
60226 template<class T, int n> struct make_tuple_traits<volatile T[n]> {
60227   typedef const volatile T (&type)[n];
60228 };
60229
60230 template<class T, int n>
60231 struct make_tuple_traits<const volatile T[n]> {
60232   typedef const volatile T (&type)[n];
60233 };
60234
60235 template<class T>
60236 struct make_tuple_traits<reference_wrapper<T> >{
60237   typedef T& type;
60238 };
60239
60240 template<class T>
60241 struct make_tuple_traits<const reference_wrapper<T> >{
60242   typedef T& type;
60243 };
60244
60245
60246
60247
60248 namespace detail {
60249
60250
60251
60252 template <
60253   class T0 = null_type, class T1 = null_type, class T2 = null_type,
60254   class T3 = null_type, class T4 = null_type, class T5 = null_type,
60255   class T6 = null_type, class T7 = null_type, class T8 = null_type,
60256   class T9 = null_type
60257 >
60258 struct make_tuple_mapper {
60259   typedef
60260     tuple<typename make_tuple_traits<T0>::type,
60261           typename make_tuple_traits<T1>::type,
60262           typename make_tuple_traits<T2>::type,
60263           typename make_tuple_traits<T3>::type,
60264           typename make_tuple_traits<T4>::type,
60265           typename make_tuple_traits<T5>::type,
60266           typename make_tuple_traits<T6>::type,
60267           typename make_tuple_traits<T7>::type,
60268           typename make_tuple_traits<T8>::type,
60269           typename make_tuple_traits<T9>::type> type;
60270 };
60271
60272 }
60273
60274
60275 inline tuple<> make_tuple() {
60276   return tuple<>();
60277 }
60278
60279 template<class T0>
60280 inline typename detail::make_tuple_mapper<T0>::type
60281 make_tuple(const T0& t0) {
60282   typedef typename detail::make_tuple_mapper<T0>::type t;
60283   return t(t0);
60284 }
60285
60286 template<class T0, class T1>
60287 inline typename detail::make_tuple_mapper<T0, T1>::type
60288 make_tuple(const T0& t0, const T1& t1) {
60289   typedef typename detail::make_tuple_mapper<T0, T1>::type t;
60290   return t(t0, t1);
60291 }
60292
60293 template<class T0, class T1, class T2>
60294 inline typename detail::make_tuple_mapper<T0, T1, T2>::type
60295 make_tuple(const T0& t0, const T1& t1, const T2& t2) {
60296   typedef typename detail::make_tuple_mapper<T0, T1, T2>::type t;
60297   return t(t0, t1, t2);
60298 }
60299
60300 template<class T0, class T1, class T2, class T3>
60301 inline typename detail::make_tuple_mapper<T0, T1, T2, T3>::type
60302 make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3) {
60303   typedef typename detail::make_tuple_mapper<T0, T1, T2, T3>::type t;
60304   return t(t0, t1, t2, t3);
60305 }
60306
60307 template<class T0, class T1, class T2, class T3, class T4>
60308 inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4>::type
60309 make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
60310                   const T4& t4) {
60311   typedef typename detail::make_tuple_mapper<T0, T1, T2, T3, T4>::type t;
60312   return t(t0, t1, t2, t3, t4);
60313 }
60314
60315 template<class T0, class T1, class T2, class T3, class T4, class T5>
60316 inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5>::type
60317 make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
60318                   const T4& t4, const T5& t5) {
60319   typedef typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5>::type t;
60320   return t(t0, t1, t2, t3, t4, t5);
60321 }
60322
60323 template<class T0, class T1, class T2, class T3, class T4, class T5, class T6>
60324 inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5, T6>::type
60325 make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
60326                   const T4& t4, const T5& t5, const T6& t6) {
60327   typedef typename detail::make_tuple_mapper
60328            <T0, T1, T2, T3, T4, T5, T6>::type t;
60329   return t(t0, t1, t2, t3, t4, t5, t6);
60330 }
60331
60332 template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
60333          class T7>
60334 inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5, T6, T7>::type
60335 make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
60336                   const T4& t4, const T5& t5, const T6& t6, const T7& t7) {
60337   typedef typename detail::make_tuple_mapper
60338            <T0, T1, T2, T3, T4, T5, T6, T7>::type t;
60339   return t(t0, t1, t2, t3, t4, t5, t6, t7);
60340 }
60341
60342 template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
60343          class T7, class T8>
60344 inline typename detail::make_tuple_mapper
60345   <T0, T1, T2, T3, T4, T5, T6, T7, T8>::type
60346 make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
60347                   const T4& t4, const T5& t5, const T6& t6, const T7& t7,
60348                   const T8& t8) {
60349   typedef typename detail::make_tuple_mapper
60350            <T0, T1, T2, T3, T4, T5, T6, T7, T8>::type t;
60351   return t(t0, t1, t2, t3, t4, t5, t6, t7, t8);
60352 }
60353
60354 template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
60355          class T7, class T8, class T9>
60356 inline typename detail::make_tuple_mapper
60357   <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type
60358 make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
60359                   const T4& t4, const T5& t5, const T6& t6, const T7& t7,
60360                   const T8& t8, const T9& t9) {
60361   typedef typename detail::make_tuple_mapper
60362            <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type t;
60363   return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9);
60364 }
60365
60366
60367
60368
60369 template<class T1>
60370 inline tuple<T1&> tie(T1& t1) {
60371   return tuple<T1&> (t1);
60372 }
60373
60374 template<class T1, class T2>
60375 inline tuple<T1&, T2&> tie(T1& t1, T2& t2) {
60376   return tuple<T1&, T2&> (t1, t2);
60377 }
60378
60379 template<class T1, class T2, class T3>
60380 inline tuple<T1&, T2&, T3&> tie(T1& t1, T2& t2, T3& t3) {
60381   return tuple<T1&, T2&, T3&> (t1, t2, t3);
60382 }
60383
60384 template<class T1, class T2, class T3, class T4>
60385 inline tuple<T1&, T2&, T3&, T4&> tie(T1& t1, T2& t2, T3& t3, T4& t4) {
60386   return tuple<T1&, T2&, T3&, T4&> (t1, t2, t3, t4);
60387 }
60388
60389 template<class T1, class T2, class T3, class T4, class T5>
60390 inline tuple<T1&, T2&, T3&, T4&, T5&>
60391 tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5) {
60392   return tuple<T1&, T2&, T3&, T4&, T5&> (t1, t2, t3, t4, t5);
60393 }
60394
60395 template<class T1, class T2, class T3, class T4, class T5, class T6>
60396 inline tuple<T1&, T2&, T3&, T4&, T5&, T6&>
60397 tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6) {
60398   return tuple<T1&, T2&, T3&, T4&, T5&, T6&> (t1, t2, t3, t4, t5, t6);
60399 }
60400
60401 template<class T1, class T2, class T3, class T4, class T5, class T6, class T7>
60402 inline tuple<T1&, T2&, T3&, T4&, T5&, T6&, T7&>
60403 tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7) {
60404   return tuple<T1&, T2&, T3&, T4&, T5&, T6&, T7&> (t1, t2, t3, t4, t5, t6, t7);
60405 }
60406
60407 template<class T1, class T2, class T3, class T4, class T5, class T6, class T7,
60408          class T8>
60409 inline tuple<T1&, T2&, T3&, T4&, T5&, T6&, T7&, T8&>
60410 tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8) {
60411   return tuple<T1&, T2&, T3&, T4&, T5&, T6&, T7&, T8&>
60412            (t1, t2, t3, t4, t5, t6, t7, t8);
60413 }
60414
60415 template<class T1, class T2, class T3, class T4, class T5, class T6, class T7,
60416          class T8, class T9>
60417 inline tuple<T1&, T2&, T3&, T4&, T5&, T6&, T7&, T8&, T9&>
60418 tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8,
60419            T9& t9) {
60420   return tuple<T1&, T2&, T3&, T4&, T5&, T6&, T7&, T8&, T9&>
60421             (t1, t2, t3, t4, t5, t6, t7, t8, t9);
60422 }
60423
60424 template<class T1, class T2, class T3, class T4, class T5, class T6, class T7,
60425          class T8, class T9, class T10>
60426 inline tuple<T1&, T2&, T3&, T4&, T5&, T6&, T7&, T8&, T9&, T10&>
60427 tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8,
60428            T9& t9, T10& t10) {
60429   return tuple<T1&, T2&, T3&, T4&, T5&, T6&, T7&, T8&, T9&, T10&>
60430            (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10);
60431 }
60432
60433 }
60434 }
60435 # 34 "/usr/include/boost/tuple/tuple.hpp" 2 3 4
60436
60437
60438
60439 namespace boost {
60440
60441 using tuples::tuple;
60442 using tuples::make_tuple;
60443 using tuples::tie;
60444
60445 using tuples::get;
60446 # 87 "/usr/include/boost/tuple/tuple.hpp" 3 4
60447 }
60448 # 45 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
60449 # 1 "/usr/include/boost/version.hpp" 1 3 4
60450 # 10 "/usr/include/boost/version.hpp" 3 4
60451 #define BOOST_VERSION_HPP 
60452 # 22 "/usr/include/boost/version.hpp" 3 4
60453 #define BOOST_VERSION 103301
60454
60455
60456
60457
60458
60459
60460
60461 #define BOOST_LIB_VERSION "1_33_1"
60462 # 46 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
60463
60464 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_registry.hpp" 1
60465 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_registry.hpp"
60466 #define LUABIND_CLASS_REGISTRY_HPP_INCLUDED 
60467
60468
60469
60470
60471
60472 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/open.hpp" 1
60473 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/open.hpp"
60474 #define LUABIND_OPEN_HPP_INCLUDED 
60475
60476
60477
60478 namespace luabind {
60479
60480  void open(lua_State* L);
60481
60482 }
60483 # 32 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_registry.hpp" 2
60484
60485 namespace luabind { namespace detail
60486 {
60487  class class_rep;
60488
60489  struct class_registry
60490  {
60491   class_registry(lua_State* L);
60492
60493   static class_registry* get_registry(lua_State* L);
60494
60495   int cpp_instance() const { return m_cpp_instance_metatable; }
60496   int cpp_class() const { return m_cpp_class_metatable; }
60497
60498   int lua_instance() const { return m_lua_instance_metatable; }
60499   int lua_class() const { return m_lua_class_metatable; }
60500   int lua_function() const { return m_lua_function_metatable; }
60501
60502   void add_class(const std::type_info* info, class_rep* crep);
60503
60504   struct cmp
60505   {
60506    bool operator()(const std::type_info* a, const std::type_info* b) const
60507    {
60508     return a->before(*b) != 0;
60509    }
60510
60511    template<class T>
60512    bool operator()(const T& a, const T& b) const
60513    {
60514     return a < b;
60515    }
60516   };
60517
60518   class_rep* find_class(const std::type_info* info) const;
60519
60520  private:
60521
60522   std::map<const std::type_info*, class_rep*, cmp> m_classes;
60523
60524
60525
60526
60527   int m_cpp_instance_metatable;
60528
60529
60530
60531   int m_cpp_class_metatable;
60532
60533
60534
60535
60536   int m_lua_instance_metatable;
60537
60538
60539
60540   int m_lua_class_metatable;
60541
60542
60543
60544   int m_lua_function_metatable;
60545
60546  };
60547
60548 }}
60549 # 48 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
60550 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/primitives.hpp" 1
60551 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/primitives.hpp"
60552 #define LUABIND_PRIMITIVES_HPP_INCLUDED 
60553
60554
60555
60556
60557 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/yes_no.hpp" 1
60558 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/yes_no.hpp"
60559 #define YES_NO_040211_HPP 
60560
60561 namespace luabind { namespace detail {
60562
60563     typedef char(&yes_t)[1];
60564     typedef char(&no_t)[2];
60565
60566 }}
60567 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/primitives.hpp" 2
60568
60569 namespace luabind { namespace detail
60570 {
60571  template<class T>
60572  struct identity
60573  {
60574   typedef T type;
60575  };
60576
60577  template<class T>
60578     struct type_ {};
60579
60580  struct null_type {};
60581
60582
60583
60584
60585  struct lua_to_cpp {};
60586  struct cpp_to_lua {};
60587
60588  template<class T> struct by_value {};
60589  template<class T> struct by_reference {};
60590  template<class T> struct by_const_reference {};
60591  template<class T> struct by_pointer {};
60592  template<class T> struct by_const_pointer {};
60593
60594  struct converter_policy_tag {};
60595
60596  struct ltstr
60597  {
60598   bool operator()(const char* s1, const char* s2) const { return std::strcmp(s1, s2) < 0; }
60599  };
60600
60601  inline char* dup_string(const char* s)
60602  {
60603   std::size_t l = std::strlen(s);
60604   char* c = new char[l+1];
60605   std::copy(s, s+l+1, c);
60606   return c;
60607  }
60608
60609  template<int N>
60610  struct aligned
60611  {
60612   char storage[N];
60613  };
60614
60615
60616
60617  template<class Derived, class Base>
60618  int ptr_offset(type_<Derived>, type_<Base>)
60619  {
60620   aligned<sizeof(Derived)> obj;
60621   Derived* ptr = reinterpret_cast<Derived*>(&obj);
60622
60623   return int(static_cast<char*>(static_cast<void*>(static_cast<Base*>(ptr)))
60624   - static_cast<char*>(static_cast<void*>(ptr)));
60625  }
60626
60627 }}
60628 # 49 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
60629 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_rep.hpp" 1
60630 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_rep.hpp"
60631 #define LUABIND_OBJECT_REP_HPP_INCLUDED 
60632
60633
60634 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/ref.hpp" 1
60635 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/ref.hpp"
60636 #define LUABIND_REF_HPP_INCLUDED 
60637
60638 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 1 3
60639 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
60640        
60641 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
60642 #pragma GCC visibility push(default)
60643
60644 # 1 "/usr/include/assert.h" 1 3 4
60645 # 25 "/usr/include/assert.h" 3 4
60646 #undef _ASSERT_H
60647 #undef assert
60648 #undef __ASSERT_VOID_CAST
60649
60650
60651 #undef assert_perror
60652
60653
60654
60655
60656 #define _ASSERT_H 1
60657
60658
60659
60660 #define __ASSERT_VOID_CAST static_cast<void>
60661 # 65 "/usr/include/assert.h" 3 4
60662 extern "C" {
60663
60664
60665 extern void __assert_fail (__const char *__assertion, __const char *__file,
60666       unsigned int __line, __const char *__function)
60667      throw () __attribute__ ((__noreturn__));
60668
60669
60670 extern void __assert_perror_fail (int __errnum, __const char *__file,
60671       unsigned int __line,
60672       __const char *__function)
60673      throw () __attribute__ ((__noreturn__));
60674
60675
60676
60677
60678 extern void __assert (const char *__assertion, const char *__file, int __line)
60679      throw () __attribute__ ((__noreturn__));
60680
60681
60682 }
60683
60684 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
60685
60686
60687
60688
60689
60690 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
60691 # 105 "/usr/include/assert.h" 3 4
60692 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
60693 # 51 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 2 3
60694
60695 #pragma GCC visibility pop
60696 # 28 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/ref.hpp" 2
60697
60698
60699
60700
60701
60702 struct lua_State;
60703
60704 namespace luabind { namespace detail
60705 {
60706
60707  int ref(lua_State *L);
60708  void unref(lua_State *L, int ref);
60709
60710  inline void getref(lua_State* L, int r)
60711  {
60712   lua_rawgeti(L, (-10000), r);
60713  }
60714
60715  struct lua_reference
60716  {
60717   lua_reference(lua_State* L_ = 0)
60718    : L(L_)
60719    , m_ref((-2))
60720   {}
60721   lua_reference(lua_reference const& r)
60722    : L(r.L)
60723    , m_ref((-2))
60724   {
60725    if (!r.is_valid()) return;
60726    r.get(L);
60727    set(L);
60728   }
60729   ~lua_reference() { reset(); }
60730
60731   lua_State* state() const { return L; }
60732
60733   void operator=(lua_reference const& r)
60734   {
60735
60736    reset();
60737    if (!r.is_valid()) return;
60738    r.get(r.state());
60739    set(r.state());
60740   }
60741
60742   bool is_valid() const
60743   { return m_ref != (-2); }
60744
60745   void set(lua_State* L_)
60746   {
60747    reset();
60748    L = L_;
60749    m_ref = ref(L);
60750   }
60751
60752   void replace(lua_State* L_)
60753   {
60754    lua_rawseti(L_, (-10000), m_ref);
60755   }
60756
60757
60758
60759
60760
60761   void get(lua_State* L_) const
60762   {
60763    (static_cast<void> ((m_ref != (-2)) ? 0 : (__assert_fail ("m_ref != (-2)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/ref.hpp", 94, __PRETTY_FUNCTION__), 0)));
60764    (static_cast<void> ((L_) ? 0 : (__assert_fail ("L_", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/ref.hpp", 95, __PRETTY_FUNCTION__), 0)));
60765    getref(L_, m_ref);
60766   }
60767
60768   void reset()
60769   {
60770    if (L && m_ref != (-2)) unref(L, m_ref);
60771    m_ref = (-2);
60772   }
60773
60774   void swap(lua_reference& r)
60775   {
60776    (static_cast<void> ((r.L == L) ? 0 : (__assert_fail ("r.L == L", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/ref.hpp", 107, __PRETTY_FUNCTION__), 0)));
60777    std::swap(r.m_ref, m_ref);
60778   }
60779
60780  private:
60781   lua_State* L;
60782   int m_ref;
60783  };
60784
60785 }}
60786 # 29 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_rep.hpp" 2
60787
60788 namespace luabind { namespace detail
60789 {
60790  class class_rep;
60791
60792  void finalize(lua_State* L, class_rep* crep);
60793
60794
60795
60796
60797  class object_rep
60798  {
60799  public:
60800   enum { constant = 1, owner = 2, lua_class = 4, call_super = 8 };
60801
60802
60803   object_rep(void* obj, class_rep* crep, int flags, void(*dest)(void*));
60804   object_rep(class_rep* crep, int flags, detail::lua_reference const& table_ref);
60805   ~object_rep();
60806
60807   void* ptr() const { return m_object; }
60808
60809   void* ptr(int pointer_offset) const
60810   {
60811    return reinterpret_cast<char*>(m_object) + pointer_offset;
60812   }
60813
60814   const class_rep* crep() const { return m_classrep; }
60815   class_rep* crep() { return m_classrep; }
60816   int flags() const { return m_flags; }
60817   void set_flags(int flags) { m_flags = flags; }
60818
60819   detail::lua_reference& get_lua_table() { return m_lua_table_ref; }
60820   detail::lua_reference const& get_lua_table() const { return m_lua_table_ref; }
60821
60822   void remove_ownership();
60823   void set_destructor(void(*ptr)(void*));
60824
60825   void set_object(void* p) { m_object = p; }
60826
60827   void add_dependency(lua_State* L, int index);
60828
60829   static int garbage_collector(lua_State* L);
60830
60831  private:
60832
60833   void* m_object;
60834
60835   class_rep* m_classrep;
60836   int m_flags;
60837   detail::lua_reference m_lua_table_ref;
60838   void(*m_destructor)(void*);
60839   int m_dependency_cnt;
60840   detail::lua_reference m_dependency_ref;
60841
60842
60843
60844  };
60845
60846  template<class T>
60847  struct delete_s
60848  {
60849   static void apply(void* ptr)
60850   {
60851    delete static_cast<T*>(ptr);
60852   }
60853  };
60854
60855  template<class T>
60856  struct destruct_only_s
60857  {
60858   static void apply(void* ptr)
60859   {
60860
60861    (void)ptr;
60862
60863    int completeness_check[sizeof(T)];
60864    (void)completeness_check;
60865
60866    static_cast<T*>(ptr)->~T();
60867   }
60868  };
60869
60870
60871  inline object_rep* is_class_object(lua_State* L, int index)
60872  {
60873   object_rep* obj = static_cast<detail::object_rep*>(lua_touserdata(L, index));
60874   if (!obj) return 0;
60875   if (lua_getmetatable(L, index) == 0) return 0;
60876
60877   lua_pushstring(L, "__luabind_class");
60878   lua_gettable(L, -2);
60879   bool confirmation = lua_toboolean(L, -1) != 0;
60880   lua_settop(L, -(2)-1);
60881   if (!confirmation) return 0;
60882   return obj;
60883
60884  }
60885
60886 }}
60887 # 50 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
60888 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/typetraits.hpp" 1
60889 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/typetraits.hpp"
60890 #define LUABIND_TYPETRAITS_HPP_INCLUDED 
60891
60892
60893
60894
60895 # 1 "/usr/include/boost/type_traits/is_const.hpp" 1 3 4
60896 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/typetraits.hpp" 2
60897
60898
60899 namespace luabind { namespace detail
60900 {
60901 # 88 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/typetraits.hpp"
60902  template<class T>
60903  struct is_const_reference
60904  {
60905   enum { value = false };
60906   typedef boost::mpl::bool_<value> type;
60907  };
60908
60909  template<class T>
60910  struct is_const_reference<const T&>
60911  {
60912   enum { value = true };
60913   typedef boost::mpl::bool_<value> type;
60914  };
60915
60916
60917
60918
60919  template<class T>
60920  struct is_nonconst_reference
60921  {
60922   enum
60923   {
60924    value = boost::is_reference<T>::value && !is_const_reference<T>::value
60925   };
60926   typedef boost::mpl::bool_<value> type;
60927  };
60928
60929  template<class A>
60930  yes_t is_const_pointer_helper(void(*)(const A*));
60931  no_t is_const_pointer_helper(...);
60932
60933  template<class T>
60934  struct is_const_pointer
60935  {
60936   enum { value = sizeof(is_const_pointer_helper((void(*)(T))0)) == sizeof(yes_t) };
60937   typedef boost::mpl::bool_<value> type;
60938  };
60939
60940  template<class A>
60941  yes_t is_nonconst_pointer_helper(void(*)(A*));
60942  no_t is_nonconst_pointer_helper(...);
60943
60944  template<class T>
60945  struct is_nonconst_pointer
60946  {
60947   enum { value = sizeof(is_nonconst_pointer_helper((void(*)(T))0)) == sizeof(yes_t) && !is_const_pointer<T>::value };
60948   typedef boost::mpl::bool_<value> type;
60949  };
60950 # 181 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/typetraits.hpp"
60951  template<int v1, int v2>
60952  struct max_c
60953  {
60954   enum { value = (v1>v2)?v1:v2 };
60955  };
60956
60957 }}
60958 # 51 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
60959 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_cache.hpp" 1
60960 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_cache.hpp"
60961 #define CLASS_CACHE_040218_HPP 
60962
60963
60964
60965 # 1 "/usr/include/boost/type_traits/add_const.hpp" 1 3 4
60966 # 29 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_cache.hpp" 2
60967
60968 namespace luabind { namespace detail {
60969 # 77 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_cache.hpp"
60970     template<class T>
60971     class_rep* get_class_rep(lua_State* L, void(*)(T) = 0)
60972     {
60973         class_registry* registry = class_registry::get_registry(L);
60974         return registry->find_class(&typeid(T));
60975     }
60976
60977
60978
60979 }}
60980 # 52 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
60981 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/debug.hpp" 1
60982 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/debug.hpp"
60983 #define LUABIND_DEBUG_HPP_INCLUDED 
60984
60985
60986
60987
60988 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 1 3
60989 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
60990        
60991 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
60992 #pragma GCC visibility push(default)
60993
60994 # 1 "/usr/include/assert.h" 1 3 4
60995 # 25 "/usr/include/assert.h" 3 4
60996 #undef _ASSERT_H
60997 #undef assert
60998 #undef __ASSERT_VOID_CAST
60999
61000
61001 #undef assert_perror
61002
61003
61004
61005
61006 #define _ASSERT_H 1
61007
61008
61009
61010 #define __ASSERT_VOID_CAST static_cast<void>
61011 # 65 "/usr/include/assert.h" 3 4
61012 extern "C" {
61013
61014
61015 extern void __assert_fail (__const char *__assertion, __const char *__file,
61016       unsigned int __line, __const char *__function)
61017      throw () __attribute__ ((__noreturn__));
61018
61019
61020 extern void __assert_perror_fail (int __errnum, __const char *__file,
61021       unsigned int __line,
61022       __const char *__function)
61023      throw () __attribute__ ((__noreturn__));
61024
61025
61026
61027
61028 extern void __assert (const char *__assertion, const char *__file, int __line)
61029      throw () __attribute__ ((__noreturn__));
61030
61031
61032 }
61033
61034 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
61035
61036
61037
61038
61039
61040 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
61041 # 105 "/usr/include/assert.h" 3 4
61042 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
61043 # 51 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 2 3
61044
61045 #pragma GCC visibility pop
61046 # 30 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/debug.hpp" 2
61047
61048 namespace luabind { namespace detail
61049 {
61050  struct stack_checker_type
61051  {
61052   stack_checker_type(lua_State* L)
61053    : m_L(L)
61054    , m_stack(lua_gettop(m_L))
61055   {}
61056
61057   ~stack_checker_type()
61058   {
61059    (static_cast<void> ((m_stack == lua_gettop(m_L)) ? 0 : (__assert_fail ("m_stack == lua_gettop(m_L)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/debug.hpp", 42, __PRETTY_FUNCTION__), 0)));
61060   }
61061
61062   lua_State* m_L;
61063   int m_stack;
61064  };
61065
61066 }}
61067 #define LUABIND_CHECK_STACK(L) luabind::detail::stack_checker_type stack_checker_object(L)
61068 # 53 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
61069 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp" 1
61070 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp"
61071 #define LUABIND_CLASS_REP_HPP_INCLUDED 
61072
61073
61074
61075
61076
61077 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/list" 1 3
61078 # 61 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/list" 3
61079 #define _GLIBCXX_LIST 1
61080
61081        
61082 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/list" 3
61083 #pragma GCC visibility push(default)
61084
61085
61086
61087
61088
61089
61090 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 1 3
61091 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61092 #define _LIST_H 1
61093
61094
61095
61096 namespace std
61097 {
61098
61099
61100
61101
61102
61103
61104   struct _List_node_base
61105   {
61106     _List_node_base* _M_next;
61107     _List_node_base* _M_prev;
61108
61109     static void
61110     swap(_List_node_base& __x, _List_node_base& __y);
61111
61112     void
61113     transfer(_List_node_base * const __first,
61114       _List_node_base * const __last);
61115
61116     void
61117     reverse();
61118
61119     void
61120     hook(_List_node_base * const __position);
61121
61122     void
61123     unhook();
61124   };
61125
61126
61127   template<typename _Tp>
61128     struct _List_node : public _List_node_base
61129     {
61130       _Tp _M_data;
61131     };
61132 # 110 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61133   template<typename _Tp>
61134     struct _List_iterator
61135     {
61136       typedef _List_iterator<_Tp> _Self;
61137       typedef _List_node<_Tp> _Node;
61138
61139       typedef ptrdiff_t difference_type;
61140       typedef std::bidirectional_iterator_tag iterator_category;
61141       typedef _Tp value_type;
61142       typedef _Tp* pointer;
61143       typedef _Tp& reference;
61144
61145       _List_iterator()
61146       : _M_node() { }
61147
61148       explicit
61149       _List_iterator(_List_node_base* __x)
61150       : _M_node(__x) { }
61151
61152
61153       reference
61154       operator*() const
61155       { return static_cast<_Node*>(_M_node)->_M_data; }
61156
61157       pointer
61158       operator->() const
61159       { return &static_cast<_Node*>(_M_node)->_M_data; }
61160
61161       _Self&
61162       operator++()
61163       {
61164  _M_node = _M_node->_M_next;
61165  return *this;
61166       }
61167
61168       _Self
61169       operator++(int)
61170       {
61171  _Self __tmp = *this;
61172  _M_node = _M_node->_M_next;
61173  return __tmp;
61174       }
61175
61176       _Self&
61177       operator--()
61178       {
61179  _M_node = _M_node->_M_prev;
61180  return *this;
61181       }
61182
61183       _Self
61184       operator--(int)
61185       {
61186  _Self __tmp = *this;
61187  _M_node = _M_node->_M_prev;
61188  return __tmp;
61189       }
61190
61191       bool
61192       operator==(const _Self& __x) const
61193       { return _M_node == __x._M_node; }
61194
61195       bool
61196       operator!=(const _Self& __x) const
61197       { return _M_node != __x._M_node; }
61198
61199
61200       _List_node_base* _M_node;
61201     };
61202 # 187 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61203   template<typename _Tp>
61204     struct _List_const_iterator
61205     {
61206       typedef _List_const_iterator<_Tp> _Self;
61207       typedef const _List_node<_Tp> _Node;
61208       typedef _List_iterator<_Tp> iterator;
61209
61210       typedef ptrdiff_t difference_type;
61211       typedef std::bidirectional_iterator_tag iterator_category;
61212       typedef _Tp value_type;
61213       typedef const _Tp* pointer;
61214       typedef const _Tp& reference;
61215
61216       _List_const_iterator()
61217       : _M_node() { }
61218
61219       explicit
61220       _List_const_iterator(const _List_node_base* __x)
61221       : _M_node(__x) { }
61222
61223       _List_const_iterator(const iterator& __x)
61224       : _M_node(__x._M_node) { }
61225
61226
61227
61228       reference
61229       operator*() const
61230       { return static_cast<_Node*>(_M_node)->_M_data; }
61231
61232       pointer
61233       operator->() const
61234       { return &static_cast<_Node*>(_M_node)->_M_data; }
61235
61236       _Self&
61237       operator++()
61238       {
61239  _M_node = _M_node->_M_next;
61240  return *this;
61241       }
61242
61243       _Self
61244       operator++(int)
61245       {
61246  _Self __tmp = *this;
61247  _M_node = _M_node->_M_next;
61248  return __tmp;
61249       }
61250
61251       _Self&
61252       operator--()
61253       {
61254  _M_node = _M_node->_M_prev;
61255  return *this;
61256       }
61257
61258       _Self
61259       operator--(int)
61260       {
61261  _Self __tmp = *this;
61262  _M_node = _M_node->_M_prev;
61263  return __tmp;
61264       }
61265
61266       bool
61267       operator==(const _Self& __x) const
61268       { return _M_node == __x._M_node; }
61269
61270       bool
61271       operator!=(const _Self& __x) const
61272       { return _M_node != __x._M_node; }
61273
61274
61275       const _List_node_base* _M_node;
61276     };
61277
61278   template<typename _Val>
61279     inline bool
61280     operator==(const _List_iterator<_Val>& __x,
61281         const _List_const_iterator<_Val>& __y)
61282     { return __x._M_node == __y._M_node; }
61283
61284   template<typename _Val>
61285     inline bool
61286     operator!=(const _List_iterator<_Val>& __x,
61287                const _List_const_iterator<_Val>& __y)
61288     { return __x._M_node != __y._M_node; }
61289
61290
61291
61292
61293
61294
61295
61296   template<typename _Tp, typename _Alloc>
61297     class _List_base
61298     {
61299     protected:
61300 # 297 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61301       typedef typename _Alloc::template rebind<_List_node<_Tp> >::other
61302         _Node_alloc_type;
61303
61304       typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
61305
61306       struct _List_impl
61307       : public _Node_alloc_type
61308       {
61309  _List_node_base _M_node;
61310
61311  _List_impl(const _Node_alloc_type& __a)
61312  : _Node_alloc_type(__a), _M_node()
61313  { }
61314       };
61315
61316       _List_impl _M_impl;
61317
61318       _List_node<_Tp>*
61319       _M_get_node()
61320       { return _M_impl._Node_alloc_type::allocate(1); }
61321
61322       void
61323       _M_put_node(_List_node<_Tp>* __p)
61324       { _M_impl._Node_alloc_type::deallocate(__p, 1); }
61325
61326   public:
61327       typedef _Alloc allocator_type;
61328
61329       _Tp_alloc_type
61330       _M_get_Tp_allocator() const
61331       { return *static_cast<const _Node_alloc_type*>(&this->_M_impl); }
61332
61333       allocator_type
61334       get_allocator() const
61335       { return _M_get_Tp_allocator(); }
61336
61337       _List_base(const allocator_type& __a)
61338       : _M_impl(__a)
61339       { _M_init(); }
61340
61341
61342       ~_List_base()
61343       { _M_clear(); }
61344
61345       void
61346       _M_clear();
61347
61348       void
61349       _M_init()
61350       {
61351         this->_M_impl._M_node._M_next = &this->_M_impl._M_node;
61352         this->_M_impl._M_node._M_prev = &this->_M_impl._M_node;
61353       }
61354     };
61355 # 397 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61356   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
61357     class list : protected _List_base<_Tp, _Alloc>
61358     {
61359
61360       typedef typename _Alloc::value_type _Alloc_value_type;
61361      
61362      
61363
61364       typedef _List_base<_Tp, _Alloc> _Base;
61365       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
61366
61367     public:
61368       typedef _Tp value_type;
61369       typedef typename _Tp_alloc_type::pointer pointer;
61370       typedef typename _Tp_alloc_type::const_pointer const_pointer;
61371       typedef typename _Tp_alloc_type::reference reference;
61372       typedef typename _Tp_alloc_type::const_reference const_reference;
61373       typedef _List_iterator<_Tp> iterator;
61374       typedef _List_const_iterator<_Tp> const_iterator;
61375       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
61376       typedef std::reverse_iterator<iterator> reverse_iterator;
61377       typedef size_t size_type;
61378       typedef ptrdiff_t difference_type;
61379       typedef _Alloc allocator_type;
61380
61381     protected:
61382
61383
61384       typedef _List_node<_Tp> _Node;
61385
61386
61387
61388
61389
61390
61391
61392       using _Base::_M_impl;
61393       using _Base::_M_put_node;
61394       using _Base::_M_get_node;
61395       using _Base::_M_get_Tp_allocator;
61396 # 445 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61397       _Node*
61398       _M_create_node(const value_type& __x)
61399       {
61400  _Node* __p = this->_M_get_node();
61401  try
61402    {
61403      _M_get_Tp_allocator().construct(&__p->_M_data, __x);
61404    }
61405  catch(...)
61406    {
61407      _M_put_node(__p);
61408      throw;
61409    }
61410  return __p;
61411       }
61412
61413     public:
61414
61415
61416
61417
61418
61419       explicit
61420       list(const allocator_type& __a = allocator_type())
61421       : _Base(__a) { }
61422 # 478 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61423       explicit
61424       list(size_type __n, const value_type& __value = value_type(),
61425     const allocator_type& __a = allocator_type())
61426       : _Base(__a)
61427       { this->insert(begin(), __n, __value); }
61428 # 491 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61429       list(const list& __x)
61430       : _Base(__x.get_allocator())
61431       { this->insert(begin(), __x.begin(), __x.end()); }
61432 # 509 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61433       template<typename _InputIterator>
61434         list(_InputIterator __first, _InputIterator __last,
61435       const allocator_type& __a = allocator_type())
61436         : _Base(__a)
61437         { this->insert(begin(), __first, __last); }
61438 # 530 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61439       list&
61440       operator=(const list& __x);
61441 # 543 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61442       void
61443       assign(size_type __n, const value_type& __val)
61444       { _M_fill_assign(__n, __val); }
61445 # 559 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61446       template<typename _InputIterator>
61447         void
61448         assign(_InputIterator __first, _InputIterator __last)
61449         {
61450
61451    typedef typename std::__is_integer<_InputIterator>::__type _Integral;
61452    _M_assign_dispatch(__first, __last, _Integral());
61453  }
61454
61455
61456       allocator_type
61457       get_allocator() const
61458       { return _Base::get_allocator(); }
61459
61460
61461
61462
61463
61464
61465       iterator
61466       begin()
61467       { return iterator(this->_M_impl._M_node._M_next); }
61468
61469
61470
61471
61472
61473
61474       const_iterator
61475       begin() const
61476       { return const_iterator(this->_M_impl._M_node._M_next); }
61477
61478
61479
61480
61481
61482
61483       iterator
61484       end()
61485       { return iterator(&this->_M_impl._M_node); }
61486
61487
61488
61489
61490
61491
61492       const_iterator
61493       end() const
61494       { return const_iterator(&this->_M_impl._M_node); }
61495
61496
61497
61498
61499
61500
61501       reverse_iterator
61502       rbegin()
61503       { return reverse_iterator(end()); }
61504
61505
61506
61507
61508
61509
61510       const_reverse_iterator
61511       rbegin() const
61512       { return const_reverse_iterator(end()); }
61513
61514
61515
61516
61517
61518
61519       reverse_iterator
61520       rend()
61521       { return reverse_iterator(begin()); }
61522
61523
61524
61525
61526
61527
61528       const_reverse_iterator
61529       rend() const
61530       { return const_reverse_iterator(begin()); }
61531
61532
61533
61534
61535
61536
61537       bool
61538       empty() const
61539       { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; }
61540
61541
61542       size_type
61543       size() const
61544       { return std::distance(begin(), end()); }
61545
61546
61547       size_type
61548       max_size() const
61549       { return size_type(-1); }
61550 # 674 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61551       void
61552       resize(size_type __new_size, value_type __x = value_type());
61553
61554
61555
61556
61557
61558
61559       reference
61560       front()
61561       { return *begin(); }
61562
61563
61564
61565
61566
61567       const_reference
61568       front() const
61569       { return *begin(); }
61570
61571
61572
61573
61574
61575       reference
61576       back()
61577       {
61578  iterator __tmp = end();
61579  --__tmp;
61580  return *__tmp;
61581       }
61582
61583
61584
61585
61586
61587       const_reference
61588       back() const
61589       {
61590  const_iterator __tmp = end();
61591  --__tmp;
61592  return *__tmp;
61593       }
61594 # 729 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61595       void
61596       push_front(const value_type& __x)
61597       { this->_M_insert(begin(), __x); }
61598 # 745 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61599       void
61600       pop_front()
61601       { this->_M_erase(begin()); }
61602 # 759 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61603       void
61604       push_back(const value_type& __x)
61605       { this->_M_insert(end(), __x); }
61606 # 774 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61607       void
61608       pop_back()
61609       { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); }
61610 # 789 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61611       iterator
61612       insert(iterator __position, const value_type& __x);
61613 # 805 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61614       void
61615       insert(iterator __position, size_type __n, const value_type& __x)
61616       { _M_fill_insert(__position, __n, __x); }
61617 # 823 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61618       template<typename _InputIterator>
61619         void
61620         insert(iterator __position, _InputIterator __first,
61621         _InputIterator __last)
61622         {
61623
61624    typedef typename std::__is_integer<_InputIterator>::__type _Integral;
61625    _M_insert_dispatch(__position, __first, __last, _Integral());
61626  }
61627 # 848 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61628       iterator
61629       erase(iterator __position);
61630 # 870 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61631       iterator
61632       erase(iterator __first, iterator __last)
61633       {
61634  while (__first != __last)
61635    __first = erase(__first);
61636  return __last;
61637       }
61638 # 887 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61639       void
61640       swap(list& __x)
61641       { _List_node_base::swap(this->_M_impl._M_node, __x._M_impl._M_node); }
61642
61643
61644
61645
61646
61647
61648
61649       void
61650       clear()
61651       {
61652         _Base::_M_clear();
61653         _Base::_M_init();
61654       }
61655 # 914 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61656       void
61657       splice(iterator __position, list& __x)
61658       {
61659  if (!__x.empty())
61660    this->_M_transfer(__position, __x.begin(), __x.end());
61661       }
61662 # 930 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61663       void
61664       splice(iterator __position, list&, iterator __i)
61665       {
61666  iterator __j = __i;
61667  ++__j;
61668  if (__position == __i || __position == __j)
61669    return;
61670  this->_M_transfer(__position, __i, __j);
61671       }
61672 # 952 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61673       void
61674       splice(iterator __position, list&, iterator __first, iterator __last)
61675       {
61676  if (__first != __last)
61677    this->_M_transfer(__position, __first, __last);
61678       }
61679 # 970 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61680       void
61681       remove(const _Tp& __value);
61682 # 984 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61683       template<typename _Predicate>
61684       void
61685       remove_if(_Predicate);
61686 # 998 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61687       void
61688       unique();
61689 # 1013 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61690       template<typename _BinaryPredicate>
61691         void
61692         unique(_BinaryPredicate);
61693 # 1026 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61694       void
61695       merge(list& __x);
61696 # 1041 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61697       template<typename _StrictWeakOrdering>
61698         void
61699         merge(list&, _StrictWeakOrdering);
61700
61701
61702
61703
61704
61705
61706       void
61707       reverse()
61708       { this->_M_impl._M_node.reverse(); }
61709
61710
61711
61712
61713
61714
61715
61716       void
61717       sort();
61718
61719
61720
61721
61722
61723
61724
61725       template<typename _StrictWeakOrdering>
61726         void
61727         sort(_StrictWeakOrdering);
61728
61729     protected:
61730
61731
61732
61733       template<typename _Integer>
61734         void
61735         _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
61736         {
61737    _M_fill_assign(static_cast<size_type>(__n),
61738     static_cast<value_type>(__val));
61739  }
61740
61741
61742       template<typename _InputIterator>
61743         void
61744         _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
61745       __false_type);
61746
61747
61748
61749       void
61750       _M_fill_assign(size_type __n, const value_type& __val);
61751
61752
61753
61754
61755
61756       template<typename _Integer>
61757         void
61758         _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x,
61759       __true_type)
61760         {
61761    _M_fill_insert(__pos, static_cast<size_type>(__n),
61762     static_cast<value_type>(__x));
61763  }
61764
61765
61766       template<typename _InputIterator>
61767         void
61768         _M_insert_dispatch(iterator __pos,
61769       _InputIterator __first, _InputIterator __last,
61770       __false_type)
61771         {
61772    for (; __first != __last; ++__first)
61773      _M_insert(__pos, *__first);
61774  }
61775
61776
61777
61778       void
61779       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x)
61780       {
61781  for (; __n > 0; --__n)
61782    _M_insert(__pos, __x);
61783       }
61784
61785
61786
61787       void
61788       _M_transfer(iterator __position, iterator __first, iterator __last)
61789       { __position._M_node->transfer(__first._M_node, __last._M_node); }
61790
61791
61792       void
61793       _M_insert(iterator __position, const value_type& __x)
61794       {
61795         _Node* __tmp = _M_create_node(__x);
61796         __tmp->hook(__position._M_node);
61797       }
61798
61799
61800       void
61801       _M_erase(iterator __position)
61802       {
61803         __position._M_node->unhook();
61804         _Node* __n = static_cast<_Node*>(__position._M_node);
61805         _M_get_Tp_allocator().destroy(&__n->_M_data);
61806         _M_put_node(__n);
61807       }
61808     };
61809 # 1164 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61810   template<typename _Tp, typename _Alloc>
61811     inline bool
61812     operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
61813     {
61814       typedef typename list<_Tp, _Alloc>::const_iterator const_iterator;
61815       const_iterator __end1 = __x.end();
61816       const_iterator __end2 = __y.end();
61817
61818       const_iterator __i1 = __x.begin();
61819       const_iterator __i2 = __y.begin();
61820       while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2)
61821  {
61822    ++__i1;
61823    ++__i2;
61824  }
61825       return __i1 == __end1 && __i2 == __end2;
61826     }
61827 # 1193 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h" 3
61828   template<typename _Tp, typename _Alloc>
61829     inline bool
61830     operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
61831     { return std::lexicographical_compare(__x.begin(), __x.end(),
61832        __y.begin(), __y.end()); }
61833
61834
61835   template<typename _Tp, typename _Alloc>
61836     inline bool
61837     operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
61838     { return !(__x == __y); }
61839
61840
61841   template<typename _Tp, typename _Alloc>
61842     inline bool
61843     operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
61844     { return __y < __x; }
61845
61846
61847   template<typename _Tp, typename _Alloc>
61848     inline bool
61849     operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
61850     { return !(__y < __x); }
61851
61852
61853   template<typename _Tp, typename _Alloc>
61854     inline bool
61855     operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
61856     { return !(__x < __y); }
61857
61858
61859   template<typename _Tp, typename _Alloc>
61860     inline void
61861     swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
61862     { __x.swap(__y); }
61863 }
61864 # 72 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/list" 2 3
61865
61866
61867 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/list.tcc" 1 3
61868 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/list.tcc" 3
61869 #define _LIST_TCC 1
61870
61871 namespace std
61872 {
61873   template<typename _Tp, typename _Alloc>
61874     void
61875     _List_base<_Tp, _Alloc>::
61876     _M_clear()
61877     {
61878       typedef _List_node<_Tp> _Node;
61879       _Node* __cur = static_cast<_Node*>(this->_M_impl._M_node._M_next);
61880       while (__cur != &this->_M_impl._M_node)
61881  {
61882    _Node* __tmp = __cur;
61883    __cur = static_cast<_Node*>(__cur->_M_next);
61884    _M_get_Tp_allocator().destroy(&__tmp->_M_data);
61885    _M_put_node(__tmp);
61886  }
61887     }
61888
61889   template<typename _Tp, typename _Alloc>
61890     typename list<_Tp, _Alloc>::iterator
61891     list<_Tp, _Alloc>::
61892     insert(iterator __position, const value_type& __x)
61893     {
61894       _Node* __tmp = _M_create_node(__x);
61895       __tmp->hook(__position._M_node);
61896       return iterator(__tmp);
61897     }
61898
61899   template<typename _Tp, typename _Alloc>
61900     typename list<_Tp, _Alloc>::iterator
61901     list<_Tp, _Alloc>::
61902     erase(iterator __position)
61903     {
61904       iterator __ret = iterator(__position._M_node->_M_next);
61905       _M_erase(__position);
61906       return __ret;
61907     }
61908
61909   template<typename _Tp, typename _Alloc>
61910     void
61911     list<_Tp, _Alloc>::
61912     resize(size_type __new_size, value_type __x)
61913     {
61914       iterator __i = begin();
61915       size_type __len = 0;
61916       for (; __i != end() && __len < __new_size; ++__i, ++__len)
61917         ;
61918       if (__len == __new_size)
61919         erase(__i, end());
61920       else
61921         insert(end(), __new_size - __len, __x);
61922     }
61923
61924   template<typename _Tp, typename _Alloc>
61925     list<_Tp, _Alloc>&
61926     list<_Tp, _Alloc>::
61927     operator=(const list& __x)
61928     {
61929       if (this != &__x)
61930  {
61931    iterator __first1 = begin();
61932    iterator __last1 = end();
61933    const_iterator __first2 = __x.begin();
61934    const_iterator __last2 = __x.end();
61935    for (; __first1 != __last1 && __first2 != __last2;
61936         ++__first1, ++__first2)
61937      *__first1 = *__first2;
61938    if (__first2 == __last2)
61939      erase(__first1, __last1);
61940    else
61941      insert(__last1, __first2, __last2);
61942  }
61943       return *this;
61944     }
61945
61946   template<typename _Tp, typename _Alloc>
61947     void
61948     list<_Tp, _Alloc>::
61949     _M_fill_assign(size_type __n, const value_type& __val)
61950     {
61951       iterator __i = begin();
61952       for (; __i != end() && __n > 0; ++__i, --__n)
61953         *__i = __val;
61954       if (__n > 0)
61955         insert(end(), __n, __val);
61956       else
61957         erase(__i, end());
61958     }
61959
61960   template<typename _Tp, typename _Alloc>
61961     template <typename _InputIterator>
61962       void
61963       list<_Tp, _Alloc>::
61964       _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2,
61965     __false_type)
61966       {
61967         iterator __first1 = begin();
61968         iterator __last1 = end();
61969         for (; __first1 != __last1 && __first2 != __last2;
61970       ++__first1, ++__first2)
61971           *__first1 = *__first2;
61972         if (__first2 == __last2)
61973           erase(__first1, __last1);
61974         else
61975           insert(__last1, __first2, __last2);
61976       }
61977
61978   template<typename _Tp, typename _Alloc>
61979     void
61980     list<_Tp, _Alloc>::
61981     remove(const value_type& __value)
61982     {
61983       iterator __first = begin();
61984       iterator __last = end();
61985       while (__first != __last)
61986  {
61987    iterator __next = __first;
61988    ++__next;
61989    if (*__first == __value)
61990      _M_erase(__first);
61991    __first = __next;
61992  }
61993     }
61994
61995   template<typename _Tp, typename _Alloc>
61996     void
61997     list<_Tp, _Alloc>::
61998     unique()
61999     {
62000       iterator __first = begin();
62001       iterator __last = end();
62002       if (__first == __last)
62003  return;
62004       iterator __next = __first;
62005       while (++__next != __last)
62006  {
62007    if (*__first == *__next)
62008      _M_erase(__next);
62009    else
62010      __first = __next;
62011    __next = __first;
62012  }
62013     }
62014
62015   template<typename _Tp, typename _Alloc>
62016     void
62017     list<_Tp, _Alloc>::
62018     merge(list& __x)
62019     {
62020
62021
62022       if (this != &__x)
62023  {
62024    iterator __first1 = begin();
62025    iterator __last1 = end();
62026    iterator __first2 = __x.begin();
62027    iterator __last2 = __x.end();
62028    while (__first1 != __last1 && __first2 != __last2)
62029      if (*__first2 < *__first1)
62030        {
62031   iterator __next = __first2;
62032   _M_transfer(__first1, __first2, ++__next);
62033   __first2 = __next;
62034        }
62035      else
62036        ++__first1;
62037    if (__first2 != __last2)
62038      _M_transfer(__last1, __first2, __last2);
62039  }
62040     }
62041
62042   template<typename _Tp, typename _Alloc>
62043     void
62044     list<_Tp, _Alloc>::
62045     sort()
62046     {
62047
62048       if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
62049    && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
62050       {
62051         list __carry;
62052         list __tmp[64];
62053         list * __fill = &__tmp[0];
62054         list * __counter;
62055
62056         do
62057    {
62058      __carry.splice(__carry.begin(), *this, begin());
62059
62060      for(__counter = &__tmp[0];
62061   __counter != __fill && !__counter->empty();
62062   ++__counter)
62063        {
62064   __counter->merge(__carry);
62065   __carry.swap(*__counter);
62066        }
62067      __carry.swap(*__counter);
62068      if (__counter == __fill)
62069        ++__fill;
62070    }
62071  while ( !empty() );
62072
62073         for (__counter = &__tmp[1]; __counter != __fill; ++__counter)
62074           __counter->merge(*(__counter - 1));
62075         swap( *(__fill - 1) );
62076       }
62077     }
62078
62079   template<typename _Tp, typename _Alloc>
62080     template <typename _Predicate>
62081       void
62082       list<_Tp, _Alloc>::
62083       remove_if(_Predicate __pred)
62084       {
62085         iterator __first = begin();
62086         iterator __last = end();
62087         while (__first != __last)
62088    {
62089      iterator __next = __first;
62090      ++__next;
62091      if (__pred(*__first))
62092        _M_erase(__first);
62093      __first = __next;
62094    }
62095       }
62096
62097   template<typename _Tp, typename _Alloc>
62098     template <typename _BinaryPredicate>
62099       void
62100       list<_Tp, _Alloc>::
62101       unique(_BinaryPredicate __binary_pred)
62102       {
62103         iterator __first = begin();
62104         iterator __last = end();
62105         if (__first == __last)
62106    return;
62107         iterator __next = __first;
62108         while (++__next != __last)
62109    {
62110      if (__binary_pred(*__first, *__next))
62111        _M_erase(__next);
62112      else
62113        __first = __next;
62114      __next = __first;
62115    }
62116       }
62117
62118   template<typename _Tp, typename _Alloc>
62119     template <typename _StrictWeakOrdering>
62120       void
62121       list<_Tp, _Alloc>::
62122       merge(list& __x, _StrictWeakOrdering __comp)
62123       {
62124
62125
62126  if (this != &__x)
62127    {
62128      iterator __first1 = begin();
62129      iterator __last1 = end();
62130      iterator __first2 = __x.begin();
62131      iterator __last2 = __x.end();
62132      while (__first1 != __last1 && __first2 != __last2)
62133        if (__comp(*__first2, *__first1))
62134   {
62135     iterator __next = __first2;
62136     _M_transfer(__first1, __first2, ++__next);
62137     __first2 = __next;
62138   }
62139        else
62140   ++__first1;
62141      if (__first2 != __last2)
62142        _M_transfer(__last1, __first2, __last2);
62143    }
62144       }
62145
62146   template<typename _Tp, typename _Alloc>
62147     template <typename _StrictWeakOrdering>
62148       void
62149       list<_Tp, _Alloc>::
62150       sort(_StrictWeakOrdering __comp)
62151       {
62152
62153  if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
62154      && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
62155    {
62156      list __carry;
62157      list __tmp[64];
62158      list * __fill = &__tmp[0];
62159      list * __counter;
62160
62161      do
62162        {
62163   __carry.splice(__carry.begin(), *this, begin());
62164
62165   for(__counter = &__tmp[0];
62166       __counter != __fill && !__counter->empty();
62167       ++__counter)
62168     {
62169       __counter->merge(__carry, __comp);
62170       __carry.swap(*__counter);
62171     }
62172   __carry.swap(*__counter);
62173   if (__counter == __fill)
62174     ++__fill;
62175        }
62176      while ( !empty() );
62177
62178      for (__counter = &__tmp[1]; __counter != __fill; ++__counter)
62179        __counter->merge(*(__counter - 1), __comp);
62180      swap(*(__fill - 1));
62181    }
62182       }
62183 }
62184 # 75 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/list" 2 3
62185
62186
62187
62188
62189
62190
62191 #pragma GCC visibility pop
62192 # 32 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp" 2
62193
62194
62195
62196 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/construct_rep.hpp" 1
62197 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/construct_rep.hpp"
62198 #define LUABIND_CONSTRUCT_REP_HPP_INCLUDED 
62199
62200
62201
62202
62203
62204
62205
62206 # 1 "/usr/include/boost/function/function1.hpp" 1 3 4
62207 # 10 "/usr/include/boost/function/function1.hpp" 3 4
62208 #define BOOST_FUNCTION_NUM_ARGS 1
62209 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
62210 # 12 "/usr/include/boost/function/function1.hpp" 2 3 4
62211 #undef BOOST_FUNCTION_NUM_ARGS
62212 # 34 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/construct_rep.hpp" 2
62213 # 1 "/usr/include/boost/function/function2.hpp" 1 3 4
62214 # 10 "/usr/include/boost/function/function2.hpp" 3 4
62215 #define BOOST_FUNCTION_NUM_ARGS 2
62216 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
62217 # 12 "/usr/include/boost/function/function2.hpp" 2 3 4
62218 #undef BOOST_FUNCTION_NUM_ARGS
62219 # 35 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/construct_rep.hpp" 2
62220
62221
62222 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep_base.hpp" 1
62223 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep_base.hpp"
62224 #define LUABIND_OVERLOAD_REP_BASE_HPP_INCLUDED 
62225
62226
62227 # 1 "/usr/include/boost/function/function1.hpp" 1 3 4
62228 # 10 "/usr/include/boost/function/function1.hpp" 3 4
62229 #define BOOST_FUNCTION_NUM_ARGS 1
62230 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
62231 # 12 "/usr/include/boost/function/function1.hpp" 2 3 4
62232 #undef BOOST_FUNCTION_NUM_ARGS
62233 # 28 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep_base.hpp" 2
62234
62235 struct lua_State;
62236
62237 namespace luabind { namespace detail
62238 {
62239
62240  struct overload_rep_base
62241  {
62242
62243   overload_rep_base(): m_get_signature_fun(0), m_match_fun(0), m_arity(-1) {}
62244
62245
62246
62247
62248   typedef boost::function1<int, lua_State*> match_fun_t;
62249   typedef void(*get_sig_ptr)(lua_State*, std::string&);
62250
62251   inline int match(lua_State* L, int num_params) const
62252   {
62253    if (num_params != m_arity) return -1;
62254    return m_match_fun(L);
62255   }
62256
62257   inline void set_match_fun(match_fun_t const& fn)
62258   {
62259    m_match_fun = fn;
62260   }
62261
62262
62263   inline void get_signature(lua_State* L, std::string& s) const
62264   {
62265    m_get_signature_fun(L, s);
62266   }
62267
62268   inline void set_sig_fun(get_sig_ptr f)
62269   {
62270    m_get_signature_fun = f;
62271   }
62272
62273
62274  protected:
62275
62276
62277   get_sig_ptr m_get_signature_fun;
62278
62279
62280
62281   match_fun_t m_match_fun;
62282   int m_arity;
62283  };
62284
62285 }}
62286 # 38 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/construct_rep.hpp" 2
62287 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/weak_ref.hpp" 1
62288 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/weak_ref.hpp"
62289 #define WEAK_REF_040402_HPP 
62290
62291
62292
62293 struct lua_State;
62294
62295 namespace luabind {
62296
62297     class weak_ref
62298     {
62299     public:
62300         weak_ref();
62301         weak_ref(lua_State*, int);
62302         weak_ref(weak_ref const&);
62303         ~weak_ref();
62304
62305         weak_ref& operator=(weak_ref const&);
62306
62307         void swap(weak_ref&);
62308
62309
62310
62311   int id() const;
62312
62313         lua_State* state() const;
62314         void get(lua_State* L) const;
62315
62316     private:
62317         struct impl;
62318         impl* m_impl;
62319     };
62320
62321 }
62322 # 39 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/construct_rep.hpp" 2
62323
62324 namespace luabind { namespace detail
62325 {
62326
62327
62328  struct construct_rep
62329  {
62330   struct overload_t: public overload_rep_base
62331   {
62332    overload_t(): wrapped_construct_fun(0)
62333    {
62334    }
62335
62336    typedef void*(*construct_ptr)(lua_State*, weak_ref const&);
62337    typedef void*(*wrapped_construct_ptr)(lua_State*, weak_ref const&);
62338    typedef void(*get_signature_ptr)(lua_State*, std::string&);
62339
62340    inline void set_constructor(construct_ptr f) { construct_fun = f; }
62341    inline void set_wrapped_constructor(wrapped_construct_ptr f) { wrapped_construct_fun = f; }
62342
62343    inline void* construct(lua_State* L, weak_ref const& backref)
62344    {
62345     return construct_fun(L, backref);
62346    }
62347
62348    inline void* construct_wrapped(lua_State* L, weak_ref const& ref) { return wrapped_construct_fun(L, ref); }
62349    inline bool has_wrapped_construct() { return wrapped_construct_fun != 0; }
62350
62351    inline void set_arity(int arity) { m_arity = arity; }
62352
62353   private:
62354
62355    construct_ptr construct_fun;
62356    wrapped_construct_ptr wrapped_construct_fun;
62357
62358   };
62359
62360   void swap(construct_rep& x)
62361   {
62362    std::swap(x.overloads, overloads);
62363   }
62364
62365   std::vector<overload_t> overloads;
62366  };
62367
62368 }}
62369 # 36 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp" 2
62370 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/garbage_collector.hpp" 1
62371 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/garbage_collector.hpp"
62372 #define LUABIND_GARBAGE_COLLECTOR_HPP_INCLUDED 
62373
62374
62375
62376 namespace luabind { namespace detail
62377 {
62378
62379  template<class T>
62380  inline int garbage_collector(lua_State* L)
62381  {
62382   T* obj = static_cast<T*>(lua_touserdata(L, -1));
62383   obj->~T();
62384   return 0;
62385  }
62386
62387  template<class T>
62388  struct garbage_collector_s
62389  {
62390   static int apply(lua_State* L)
62391   {
62392    T* obj = static_cast<T*>(lua_touserdata(L, -1));
62393    obj->~T();
62394    return 0;
62395   }
62396  };
62397
62398 }}
62399 # 37 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp" 2
62400 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/operator_id.hpp" 1
62401 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/operator_id.hpp"
62402 #define LUABIND_OPERATOR_ID_HPP_INCLUDED 
62403
62404
62405
62406 namespace luabind { namespace detail {
62407
62408  enum operator_id
62409  {
62410   op_add = 0,
62411   op_sub,
62412   op_mul,
62413   op_div,
62414   op_pow,
62415   op_lt,
62416   op_le,
62417   op_eq,
62418   op_call,
62419   op_unm,
62420   op_tostring,
62421         op_concat,
62422
62423   number_of_operators
62424  };
62425
62426  struct op_add_tag {};
62427  struct op_sub_tag {};
62428  struct op_mul_tag {};
62429  struct op_div_tag {};
62430  struct op_pow_tag {};
62431  struct op_lt_tag {};
62432  struct op_le_tag {};
62433  struct op_eq_tag {};
62434  struct op_call_tag {};
62435  struct op_unm_tag {};
62436  struct op_tostring_tag {};
62437     struct op_concat_tag {};
62438
62439  inline const char* get_operator_name(int i)
62440  {
62441   static const char* a[number_of_operators] = {
62442             "__add", "__sub", "__mul", "__div", "__pow",
62443             "__lt", "__le", "__eq", "__call", "__unm",
62444             "__tostring", "__concat" };
62445   return a[i];
62446  }
62447
62448  inline const char* get_operator_symbol(int i)
62449  {
62450   static const char* a[number_of_operators] = {
62451             "+", "-", "*", "/", "^", "<",
62452             "<=", "==", "()", "- (unary)",
62453             "tostring", ".." };
62454   return a[i];
62455  }
62456
62457  inline bool is_unary(int i)
62458  {
62459
62460
62461
62462   return i == op_tostring;
62463  }
62464
62465
62466 }}
62467 # 38 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp" 2
62468
62469 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/find_best_match.hpp" 1
62470 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/find_best_match.hpp"
62471 #define LUABIND_FIND_BEST_MATCH_HPP_INCLUDED 
62472
62473
62474
62475
62476
62477 namespace luabind { namespace detail
62478 {
62479 # 46 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/find_best_match.hpp"
62480  bool find_best_match(lua_State* L
62481   , detail::overload_rep_base const* start, int num_overloads
62482   , size_t orep_size, bool& ambiguous, int& min_match, int& match_index
62483   , int num_params);
62484
62485  void find_exact_match(lua_State* L
62486   , detail::overload_rep_base const* start, int num_overloads
62487   , size_t orep_size, int cmp_match, int num_params
62488   , std::vector<overload_rep_base const*>& dest);
62489
62490 }}
62491 # 40 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp" 2
62492 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_overload_signature.hpp" 1
62493 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_overload_signature.hpp"
62494 #define LUABIND_GET_OVERLOAD_SIGNATURE_HPP_INCLUDED 
62495
62496
62497
62498 namespace luabind { namespace detail
62499 {
62500
62501  template<class It>
62502  std::string get_overload_signatures(lua_State* L, It start, It end, std::string name)
62503  {
62504   std::string s;
62505   for (; start != end; ++start)
62506   {
62507    s += name;
62508    start->get_signature(L, s);
62509    s += "\n";
62510   }
62511   return s;
62512  }
62513
62514
62515
62516
62517  std::string get_overload_signatures_candidates(lua_State* L, std::vector<const overload_rep_base*>::iterator start, std::vector<const overload_rep_base*>::iterator end, std::string name);
62518
62519
62520
62521 }}
62522 # 41 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp" 2
62523 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/error.hpp" 1
62524 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/error.hpp"
62525 #define LUABIND_ERROR_HPP_INCLUDED 
62526
62527
62528
62529
62530
62531 struct lua_State;
62532
62533 namespace luabind
62534 {
62535 # 45 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/error.hpp"
62536  class error : public std::exception
62537  {
62538  public:
62539   error(lua_State* L): m_L(L) {}
62540   lua_State* state() const throw() { return m_L; }
62541   virtual const char* what() const throw()
62542   {
62543    return "lua runtime error";
62544   }
62545  private:
62546   lua_State* m_L;
62547  };
62548
62549
62550
62551
62552  class cast_failed : public std::exception
62553  {
62554  public:
62555   cast_failed(lua_State* L, const std::type_info* i): m_L(L), m_info(i) {}
62556   lua_State* state() const throw() { return m_L; }
62557   const std::type_info* info() const throw() { return m_info; }
62558   virtual const char* what() const throw() { return "unable to make cast"; }
62559  private:
62560   lua_State* m_L;
62561   const std::type_info* m_info;
62562  };
62563 # 85 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/error.hpp"
62564  typedef int(*pcall_callback_fun)(lua_State*);
62565  void set_pcall_callback(pcall_callback_fun e);
62566  pcall_callback_fun get_pcall_callback();
62567
62568 }
62569 # 42 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp" 2
62570 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/handle.hpp" 1
62571 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/handle.hpp"
62572 #define LUABIND_HANDLE_050420_HPP 
62573
62574
62575 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/value_wrapper.hpp" 1
62576 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/value_wrapper.hpp"
62577 #define LUABIND_VALUE_WRAPPER_050419_HPP 
62578 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/value_wrapper.hpp"
62579 namespace luabind {
62580 # 76 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/value_wrapper.hpp"
62581 template<class T>
62582 struct value_wrapper_traits
62583 # 95 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/value_wrapper.hpp"
62584 {
62585     typedef boost::mpl::false_ is_specialized;
62586 };
62587
62588
62589 template<class T>
62590 struct is_value_wrapper
62591   : boost::mpl::aux::msvc_eti_base<
62592         typename value_wrapper_traits<T>::is_specialized
62593     >::type
62594 {};
62595
62596 }
62597
62598
62599
62600 # 1 "/usr/include/boost/type_traits/remove_const.hpp" 1 3 4
62601 # 112 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/value_wrapper.hpp" 2
62602 # 1 "/usr/include/boost/type_traits/remove_reference.hpp" 1 3 4
62603 # 113 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/value_wrapper.hpp" 2
62604
62605 namespace luabind {
62606
62607 template<class T>
62608 struct is_value_wrapper_arg
62609   : is_value_wrapper<
62610       typename boost::remove_const<
62611           typename boost::remove_reference<T>::type
62612       >::type
62613     >
62614 {};
62615
62616 }
62617 # 28 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/handle.hpp" 2
62618
62619
62620 namespace luabind {
62621
62622
62623
62624 class handle
62625 {
62626 public:
62627     handle();
62628     handle(lua_State* interpreter, int stack_index);
62629     handle(handle const& other);
62630     ~handle();
62631
62632     handle& operator=(handle const& other);
62633     void swap(handle& other);
62634
62635     void push(lua_State* interpreter) const;
62636
62637     lua_State* interpreter() const;
62638
62639     void replace(lua_State* interpreter, int stack_index);
62640
62641 private:
62642     lua_State* m_interpreter;
62643     int m_index;
62644 };
62645
62646 inline handle::handle()
62647   : m_interpreter(0)
62648   , m_index((-2))
62649 {}
62650
62651 inline handle::handle(handle const& other)
62652   : m_interpreter(other.m_interpreter)
62653   , m_index((-2))
62654 {
62655     if (m_interpreter == 0) return;
62656     detail::getref(m_interpreter, other.m_index);
62657     m_index = detail::ref(m_interpreter);
62658 }
62659
62660 inline handle::handle(lua_State* interpreter, int stack_index)
62661   : m_interpreter(interpreter)
62662   , m_index((-2))
62663 {
62664     lua_pushvalue(interpreter, stack_index);
62665     m_index = detail::ref(interpreter);
62666 }
62667
62668 inline handle::~handle()
62669 {
62670     if (m_interpreter && m_index != (-2))
62671         detail::unref(m_interpreter, m_index);
62672 }
62673
62674 inline handle& handle::operator=(handle const& other)
62675 {
62676     handle(other).swap(*this);
62677     return *this;
62678 }
62679
62680 inline void handle::swap(handle& other)
62681 {
62682     std::swap(m_interpreter, other.m_interpreter);
62683     std::swap(m_index, other.m_index);
62684 }
62685
62686 inline void handle::push(lua_State* interpreter) const
62687 {
62688     detail::getref(interpreter, m_index);
62689 }
62690
62691 inline lua_State* handle::interpreter() const
62692 {
62693     return m_interpreter;
62694 }
62695
62696 inline void handle::replace(lua_State* interpreter, int stack_index)
62697 {
62698     lua_pushvalue(interpreter, stack_index);
62699     lua_rawseti(interpreter, (-10000), m_index);
62700 }
62701
62702 template<>
62703 struct value_wrapper_traits<handle>
62704 {
62705     typedef boost::mpl::true_ is_specialized;
62706
62707     static lua_State* interpreter(handle const& value)
62708     {
62709         return value.interpreter();
62710     }
62711
62712     static void unwrap(lua_State* interpreter, handle const& value)
62713     {
62714         value.push(interpreter);
62715     }
62716
62717     static bool check(...)
62718     {
62719         return true;
62720     }
62721 };
62722
62723 }
62724 # 43 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp" 2
62725 # 54 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp"
62726 namespace luabind
62727 {
62728
62729  template< class A0 = detail::null_type , class A1 = detail::null_type , class A2 = detail::null_type , class A3 = detail::null_type >
62730  struct bases {};
62731  typedef bases<detail::null_type> no_bases;
62732 }
62733
62734 namespace luabind { namespace detail
62735 {
62736
62737  struct method_rep;
62738  std::string stack_content_by_name(lua_State* L, int start_index);
62739  int construct_lua_class_callback(lua_State* L);
62740
62741  struct class_registration;
62742 # 80 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp"
62743  class class_rep
62744  {
62745  friend struct class_registration;
62746  friend int super_callback(lua_State*);
62747
62748  friend int lua_class_gettable(lua_State*);
62749  friend int lua_class_settable(lua_State*);
62750  friend int static_class_gettable(lua_State*);
62751  public:
62752
62753   enum class_type
62754   {
62755    cpp_class = 0,
62756    lua_class = 1
62757   };
62758
62759
62760   std::string class_info_string(lua_State*) const;
62761 # 108 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/class_rep.hpp"
62762   class_rep(const std::type_info* type
62763    , const char* name
62764    , lua_State* L
62765    , void(*destructor)(void*)
62766    , void(*const_holder_destructor)(void*)
62767    , const std::type_info* holder_type
62768    , const std::type_info* const_holder_type
62769    , void*(*extractor)(void*)
62770    , const void*(*const_extractor)(void*)
62771    , void(*const_converter)(void*,void*)
62772    , void(*construct_holder)(void*,void*)
62773    , void(*construct_const_holder)(void*,void*)
62774    , void(*default_construct_holder)(void*)
62775    , void(*default_construct_const_holder)(void*)
62776    , void(*adopt_fun)(void*)
62777    , int holder_size
62778    , int holder_alignment);
62779
62780
62781
62782
62783
62784   class_rep(lua_State* L, const char* name);
62785
62786   ~class_rep();
62787
62788   std::pair<void*,void*> allocate(lua_State* L) const;
62789
62790
62791
62792   int gettable(lua_State* L);
62793
62794
62795
62796   bool settable(lua_State* L);
62797
62798
62799   static int gettable_dispatcher(lua_State* L);
62800
62801
62802   static int settable_dispatcher(lua_State* L);
62803   static int operator_dispatcher(lua_State* L);
62804
62805
62806   static int constructor_dispatcher(lua_State* L);
62807
62808   static int function_dispatcher(lua_State* L);
62809
62810   struct base_info
62811   {
62812    int pointer_offset;
62813    class_rep* base;
62814   };
62815
62816   void add_base_class(const base_info& binfo);
62817
62818   const std::vector<base_info>& bases() const throw() { return m_bases; }
62819
62820   void set_type(const std::type_info* t) { m_type = t; }
62821   const std::type_info* type() const throw() { return m_type; }
62822   const std::type_info* holder_type() const throw() { return m_holder_type; }
62823   const std::type_info* const_holder_type() const throw() { return m_const_holder_type; }
62824   bool has_holder() const throw() { return m_construct_holder != 0; }
62825
62826   const char* name() const throw() { return m_name; }
62827
62828
62829
62830
62831
62832   int metatable_ref() const throw() { return m_instance_metatable; }
62833
62834   void get_table(lua_State* L) const { m_table.push(L); }
62835   void get_default_table(lua_State* L) const { m_default_table.push(L); }
62836
62837   void(*destructor() const)(void*) { return m_destructor; }
62838   void(*const_holder_destructor() const)(void*) { return m_const_holder_destructor; }
62839   typedef const void*(*t_const_extractor)(void*);
62840   t_const_extractor const_extractor() const { return m_const_extractor; }
62841   typedef void*(*t_extractor)(void*);
62842   t_extractor extractor() const { return m_extractor; }
62843
62844   void(*const_converter() const)(void*,void*) { return m_const_converter; }
62845
62846   class_type get_class_type() const { return m_class_type; }
62847
62848   void add_static_constant(const char* name, int val);
62849   void add_method(detail::method_rep const& m);
62850   void register_methods(lua_State* L);
62851
62852
62853
62854
62855   void adopt(bool const_obj, void* obj);
62856
62857   static int super_callback(lua_State* L);
62858
62859   static int lua_settable_dispatcher(lua_State* L);
62860   static int construct_lua_class_callback(lua_State* L);
62861
62862
62863
62864   static int lua_class_gettable(lua_State* L);
62865
62866
62867
62868   static int lua_class_settable(lua_State* L);
62869
62870
62871
62872   static int static_class_gettable(lua_State* L);
62873
62874   void* convert_to(const std::type_info* target_type, const object_rep* obj, void*) const;
62875
62876   bool has_operator_in_lua(lua_State*, int id);
62877
62878
62879   struct callback
62880   {
62881    boost::function2<int, lua_State*, int> func;
62882
62883    int (*match)(lua_State*, int);
62884
62885    typedef void(*get_sig_ptr)(lua_State*, std::string&);
62886    get_sig_ptr sig;
62887
62888    int pointer_offset;
62889   };
62890
62891   const std::map<const char*, callback, ltstr>& properties() const;
62892   typedef std::map<const char*, callback, ltstr> property_map;
62893
62894   int holder_alignment() const
62895   {
62896    return m_holder_alignment;
62897   }
62898
62899   int holder_size() const
62900   {
62901    return m_holder_size;
62902   }
62903
62904
62905   void set_holder_alignment(int n)
62906   {
62907    m_holder_alignment = n;
62908   }
62909
62910   void set_holder_size(int n)
62911   {
62912    m_holder_size = n;
62913   }
62914
62915   void derived_from(const class_rep* base)
62916   {
62917    m_holder_alignment = base->m_holder_alignment;
62918    m_holder_size = base->m_holder_size;
62919    m_holder_type = base->m_holder_type;
62920    m_const_holder_type = base->m_const_holder_type;
62921    m_extractor = base->m_extractor;
62922    m_const_extractor = base->m_const_extractor;
62923    m_const_converter = base->m_const_converter;
62924    m_construct_holder = base->m_construct_holder;
62925    m_construct_const_holder = base->m_construct_const_holder;
62926    m_default_construct_holder = base->m_default_construct_holder;
62927    m_default_construct_const_holder = base->m_default_construct_const_holder;
62928   }
62929
62930   struct operator_callback: public overload_rep_base
62931   {
62932    inline void set_fun(int (*f)(lua_State*)) { func = f; }
62933    inline int call(lua_State* L) { return func(L); }
62934    inline void set_arity(int arity) { m_arity = arity; }
62935
62936   private:
62937    int(*func)(lua_State*);
62938   };
62939
62940  private:
62941
62942   void cache_operators(lua_State*);
62943
62944
62945
62946
62947
62948
62949   const std::type_info* m_type;
62950   const std::type_info* m_holder_type;
62951   const std::type_info* m_const_holder_type;
62952
62953
62954
62955
62956
62957   void*(*m_extractor)(void*);
62958   const void*(*m_const_extractor)(void*);
62959
62960   void(*m_const_converter)(void*, void*);
62961
62962
62963
62964
62965
62966
62967   typedef void(*construct_held_type_t)(void*,void*);
62968   construct_held_type_t m_construct_holder;
62969   construct_held_type_t m_construct_const_holder;
62970
62971   typedef void(*default_construct_held_type_t)(void*);
62972   default_construct_held_type_t m_default_construct_holder;
62973   default_construct_held_type_t m_default_construct_const_holder;
62974
62975   typedef void(*adopt_t)(void*);
62976   adopt_t m_adopt_fun;
62977
62978
62979
62980
62981
62982   int m_holder_size;
62983   int m_holder_alignment;
62984
62985
62986
62987
62988   std::vector<base_info> m_bases;
62989
62990
62991   const char* m_name;
62992
62993
62994
62995   construct_rep m_constructor;
62996
62997
62998
62999
63000
63001   detail::lua_reference m_self_ref;
63002
63003
63004
63005
63006
63007
63008   handle m_table;
63009
63010
63011
63012   handle m_default_table;
63013
63014
63015   class_type m_class_type;
63016
63017
63018
63019
63020   int m_instance_metatable;
63021
63022
63023
63024
63025
63026
63027   std::list<method_rep> m_methods;
63028
63029
63030
63031   std::map<const char*, callback, ltstr> m_getters;
63032   std::map<const char*, callback, ltstr> m_setters;
63033
63034   std::vector<operator_callback> m_operators[number_of_operators];
63035
63036   void(*m_destructor)(void*);
63037   void(*m_const_holder_destructor)(void*);
63038
63039   std::map<const char*, int, ltstr> m_static_constants;
63040
63041
63042
63043
63044   int m_operator_cache;
63045  };
63046
63047  bool is_class_rep(lua_State* L, int index);
63048
63049 }}
63050 # 54 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
63051
63052
63053
63054 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/decorate_type.hpp" 1
63055 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/decorate_type.hpp"
63056 #define LUABIND_DECORATE_TYPE_HPP_INCLUDED 
63057
63058
63059
63060
63061 namespace luabind { namespace detail
63062 {
63063
63064
63065
63066  template<class T>
63067  struct decorated_type
63068  {
63069   static by_value<T> t;
63070   static inline by_value<T>& get() { return t; }
63071  };
63072
63073  template<class T>
63074  by_value<T> decorated_type<T>::t;
63075
63076  template<class T>
63077  struct decorated_type<T*>
63078  {
63079   static by_pointer<T> t;
63080   static inline by_pointer<T>& get() { return t; }
63081  };
63082
63083  template<class T>
63084  by_pointer<T> decorated_type<T*>::t;
63085
63086  template<class T>
63087  struct decorated_type<const T*>
63088  {
63089   static by_const_pointer<T> t;
63090   static inline by_const_pointer<T> get() { return t; }
63091  };
63092
63093  template<class T>
63094  by_const_pointer<T> decorated_type<const T*>::t;
63095
63096  template<class T>
63097  struct decorated_type<const T* const>
63098  {
63099   static by_const_pointer<T> t;
63100   static inline by_const_pointer<T>& get() { return t; }
63101  };
63102
63103  template<class T>
63104  by_const_pointer<T> decorated_type<const T* const>::t;
63105
63106  template<class T>
63107  struct decorated_type<T&>
63108  {
63109   static by_reference<T> t;
63110   static inline by_reference<T>& get() { return t; }
63111  };
63112
63113  template<class T>
63114  by_reference<T> decorated_type<T&>::t;
63115
63116  template<class T>
63117  struct decorated_type<const T&>
63118  {
63119   static by_const_reference<T> t;
63120   static inline by_const_reference<T>& get() { return t; }
63121  };
63122
63123  template<class T>
63124  by_const_reference<T> decorated_type<const T&>::t;
63125
63126 #define LUABIND_DECORATE_TYPE(t) luabind::detail::decorated_type<t>::get()
63127 # 264 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/decorate_type.hpp"
63128 }}
63129 # 58 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
63130
63131 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/back_reference_fwd.hpp" 1
63132 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/back_reference_fwd.hpp"
63133 #define LUABIND_BACK_REFERENCE_FWD_040510_HPP 
63134
63135 namespace luabind {
63136
63137 template<class T>
63138 bool get_back_reference(lua_State* L, T const& x);
63139
63140 template<class T>
63141 bool move_back_reference(lua_State* L, T const& x);
63142
63143 }
63144 # 60 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
63145
63146
63147 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/from_stack.hpp" 1
63148 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/from_stack.hpp"
63149 #define LUABIND_FROM_STACK_050715_HPP 
63150
63151 namespace luabind {
63152
63153 struct from_stack
63154 {
63155     from_stack(lua_State* interpreter, int index)
63156       : interpreter(interpreter)
63157       , index(index)
63158     {}
63159
63160     lua_State* interpreter;
63161     int index;
63162 };
63163
63164 }
63165 # 63 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp" 2
63166
63167 namespace luabind
63168 {
63169  namespace detail
63170  {
63171   struct conversion_policy_base {};
63172  }
63173
63174  template<int N, bool HasArg = true>
63175  struct conversion_policy : detail::conversion_policy_base
63176  {
63177   static const int index = N;
63178   static const bool has_arg = HasArg;
63179  };
63180
63181  class index_map
63182  {
63183  public:
63184   index_map(const int* m): m_map(m) {}
63185
63186   int operator[](int index) const
63187   {
63188    return m_map[index];
63189   }
63190
63191  private:
63192   const int* m_map;
63193  };
63194
63195  namespace converters
63196  {
63197   using luabind::detail::yes_t;
63198   using luabind::detail::no_t;
63199   using luabind::detail::by_value;
63200   using luabind::detail::by_reference;
63201   using luabind::detail::by_const_reference;
63202   using luabind::detail::by_pointer;
63203   using luabind::detail::by_const_pointer;
63204
63205   no_t is_user_defined(...);
63206  }
63207
63208  namespace detail
63209  {
63210   template<class T>
63211   struct is_user_defined
63212   {
63213    static const bool value = sizeof(luabind::converters::is_user_defined(luabind::detail::decorated_type<T>::get())) == sizeof(yes_t);
63214
63215   };
63216
63217   int implicit_cast(const class_rep* crep, const std::type_info* const&, int& pointer_offset);
63218  }
63219
63220
63221   class weak_ref;
63222 }
63223
63224 namespace luabind { namespace detail
63225 {
63226  template<class>
63227  struct is_primitive;
63228 # 144 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp"
63229  template<class H, class T>
63230  struct policy_cons
63231  {
63232   typedef H head;
63233   typedef T tail;
63234
63235   template<class U>
63236   policy_cons<U, policy_cons<H,T> > operator,(policy_cons<U,detail::null_type>)
63237   {
63238    return policy_cons<U, policy_cons<H,T> >();
63239   }
63240
63241   template<class U>
63242   policy_cons<U, policy_cons<H,T> > operator+(policy_cons<U,detail::null_type>)
63243   {
63244    return policy_cons<U, policy_cons<H,T> >();
63245   }
63246
63247   template<class U>
63248   policy_cons<U, policy_cons<H,T> > operator|(policy_cons<U,detail::null_type>)
63249   {
63250    return policy_cons<U, policy_cons<H,T> >();
63251   }
63252  };
63253
63254  struct indirection_layer
63255  {
63256   template<class T>
63257   indirection_layer(const T&);
63258  };
63259
63260  yes_t is_policy_cons_test(const null_type&);
63261  template<class H, class T>
63262  yes_t is_policy_cons_test(const policy_cons<H,T>&);
63263  no_t is_policy_cons_test(...);
63264
63265  template<class T>
63266  struct is_policy_cons
63267  {
63268   static const T& t;
63269
63270   static const bool value = sizeof(is_policy_cons_test(t)) == sizeof(yes_t);
63271
63272
63273   typedef boost::mpl::bool_<value> type;
63274  };
63275
63276  template<bool>
63277  struct is_string_literal
63278  {
63279   static no_t helper(indirection_layer);
63280   static yes_t helper(const char*);
63281  };
63282
63283  template<>
63284  struct is_string_literal<false>
63285  {
63286   static no_t helper(indirection_layer);
63287  };
63288
63289
63290  template<class T>
63291  struct is_primitive
63292  {
63293   static T t;
63294
63295   static const bool value = sizeof(is_string_literal<boost::is_array<T>::value>::helper(t)) == sizeof(yes_t);
63296
63297  };
63298
63299 #define LUABIND_INTEGER_TYPE(type) template<> struct is_primitive<type> : boost::mpl::true_ {}; template<> struct is_primitive<type const> : boost::mpl::true_ {}; template<> struct is_primitive<type const&> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned type> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned type const> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned type const&> : boost::mpl::true_ {};
63300
63301
63302
63303
63304
63305
63306
63307  template<> struct is_primitive<char> : boost::mpl::true_ {}; template<> struct is_primitive<char const> : boost::mpl::true_ {}; template<> struct is_primitive<char const&> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned char> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned char const> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned char const&> : boost::mpl::true_ {};
63308  template<> struct is_primitive<short> : boost::mpl::true_ {}; template<> struct is_primitive<short const> : boost::mpl::true_ {}; template<> struct is_primitive<short const&> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned short> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned short const> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned short const&> : boost::mpl::true_ {};
63309  template<> struct is_primitive<int> : boost::mpl::true_ {}; template<> struct is_primitive<int const> : boost::mpl::true_ {}; template<> struct is_primitive<int const&> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned int> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned int const> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned int const&> : boost::mpl::true_ {};
63310  template<> struct is_primitive<long> : boost::mpl::true_ {}; template<> struct is_primitive<long const> : boost::mpl::true_ {}; template<> struct is_primitive<long const&> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned long> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned long const> : boost::mpl::true_ {}; template<> struct is_primitive<unsigned long const&> : boost::mpl::true_ {};
63311
63312  template<> struct is_primitive<signed char> : boost::mpl::true_ {}; template<> struct is_primitive<signed char const> : boost::mpl::true_ {}; template<> struct is_primitive<signed char const&> : boost::mpl::true_ {};
63313
63314
63315
63316 #undef LUABIND_INTEGER_TYPE
63317
63318  template<> struct is_primitive<luabind::weak_ref>: boost::mpl::bool_<true> {};
63319  template<> struct is_primitive<const luabind::weak_ref>: boost::mpl::bool_<true> {};
63320  template<> struct is_primitive<const luabind::weak_ref&>: boost::mpl::bool_<true> {};
63321
63322  template<> struct is_primitive<float>: boost::mpl::bool_<true> {};
63323  template<> struct is_primitive<double>: boost::mpl::bool_<true> {};
63324  template<> struct is_primitive<long double>: boost::mpl::bool_<true> {};
63325  template<> struct is_primitive<char*>: boost::mpl::bool_<true> {};
63326  template<> struct is_primitive<bool>: boost::mpl::bool_<true> {};
63327
63328  template<> struct is_primitive<const float>: boost::mpl::bool_<true> {};
63329  template<> struct is_primitive<const double>: boost::mpl::bool_<true> {};
63330  template<> struct is_primitive<const long double>: boost::mpl::bool_<true> {};
63331  template<> struct is_primitive<const char*>: boost::mpl::bool_<true> {};
63332  template<> struct is_primitive<const char* const>: boost::mpl::bool_<true> {};
63333  template<> struct is_primitive<const bool>: boost::mpl::bool_<true> {};
63334
63335
63336  template<> struct is_primitive<const float&>: boost::mpl::bool_<true> {};
63337  template<> struct is_primitive<const double&>: boost::mpl::bool_<true> {};
63338  template<> struct is_primitive<const long double&>: boost::mpl::bool_<true> {};
63339  template<> struct is_primitive<const bool&>: boost::mpl::bool_<true> {};
63340
63341  template<> struct is_primitive<const std::string&>: boost::mpl::bool_<true> {};
63342  template<> struct is_primitive<std::string>: boost::mpl::bool_<true> {};
63343  template<> struct is_primitive<const std::string>: boost::mpl::bool_<true> {};
63344
63345
63346  template<class Direction> struct primitive_converter;
63347
63348  template<>
63349  struct primitive_converter<cpp_to_lua>
63350  {
63351   typedef boost::mpl::bool_<false> is_value_converter;
63352   typedef primitive_converter type;
63353
63354   void apply(lua_State* L, int v) { lua_pushnumber(L, (lua_Number)v); }
63355   void apply(lua_State* L, short v) { lua_pushnumber(L, (lua_Number)v); }
63356   void apply(lua_State* L, char v) { lua_pushnumber(L, (lua_Number)v); }
63357   void apply(lua_State* L, long v) { lua_pushnumber(L, (lua_Number)v); }
63358   void apply(lua_State* L, unsigned int v) { lua_pushnumber(L, (lua_Number)v); }
63359   void apply(lua_State* L, unsigned short v) { lua_pushnumber(L, (lua_Number)v); }
63360   void apply(lua_State* L, unsigned char v) { lua_pushnumber(L, (lua_Number)v); }
63361   void apply(lua_State* L, unsigned long v) { lua_pushnumber(L, (lua_Number)v); }
63362   void apply(lua_State* L, float v) { lua_pushnumber(L, (lua_Number)v); }
63363   void apply(lua_State* L, double v) { lua_pushnumber(L, (lua_Number)v); }
63364   void apply(lua_State* L, long double v) { lua_pushnumber(L, (lua_Number)v); }
63365   void apply(lua_State* L, const char* v)
63366   {
63367    if (v)
63368    {
63369     lua_pushstring(L, v);
63370    }
63371    else
63372    {
63373     lua_pushnil(L);
63374    }
63375   }
63376   void apply(lua_State* L, const std::string& v)
63377   { lua_pushlstring(L, v.data(), v.size()); }
63378   void apply(lua_State* L, bool b) { lua_pushboolean(L, b); }
63379  };
63380
63381  template<>
63382  struct primitive_converter<lua_to_cpp>
63383  {
63384   typedef boost::mpl::bool_<false> is_value_converter;
63385   typedef primitive_converter type;
63386
63387 #define PRIMITIVE_CONVERTER(prim) prim apply(lua_State* L, luabind::detail::by_const_reference<prim>, int index) { return apply(L, detail::by_value<prim>(), index); } prim apply(lua_State* L, luabind::detail::by_value<const prim>, int index) { return apply(L, detail::by_value<prim>(), index); } prim apply(lua_State* L, luabind::detail::by_value<prim>, int index)
63388
63389
63390
63391
63392 #define PRIMITIVE_MATCHER(prim) static int match(lua_State* L, luabind::detail::by_const_reference<prim>, int index) { return match(L, detail::by_value<prim>(), index); } static int match(lua_State* L, luabind::detail::by_value<const prim>, int index) { return match(L, detail::by_value<prim>(), index); } static int match(lua_State* L, luabind::detail::by_value<prim>, int index)
63393
63394
63395
63396
63397   bool apply(lua_State* L, luabind::detail::by_const_reference<bool>, int index) { return apply(L, detail::by_value<bool>(), index); } bool apply(lua_State* L, luabind::detail::by_value<const bool>, int index) { return apply(L, detail::by_value<bool>(), index); } bool apply(lua_State* L, luabind::detail::by_value<bool>, int index) { return lua_toboolean(L, index) == 1; }
63398   static int match(lua_State* L, luabind::detail::by_const_reference<bool>, int index) { return match(L, detail::by_value<bool>(), index); } static int match(lua_State* L, luabind::detail::by_value<const bool>, int index) { return match(L, detail::by_value<bool>(), index); } static int match(lua_State* L, luabind::detail::by_value<bool>, int index) { if (lua_type(L, index) == 1) return 0; else return -1; }
63399
63400   int apply(lua_State* L, luabind::detail::by_const_reference<int>, int index) { return apply(L, detail::by_value<int>(), index); } int apply(lua_State* L, luabind::detail::by_value<const int>, int index) { return apply(L, detail::by_value<int>(), index); } int apply(lua_State* L, luabind::detail::by_value<int>, int index) { return static_cast<int>(lua_tonumber(L, index)); }
63401   static int match(lua_State* L, luabind::detail::by_const_reference<int>, int index) { return match(L, detail::by_value<int>(), index); } static int match(lua_State* L, luabind::detail::by_value<const int>, int index) { return match(L, detail::by_value<int>(), index); } static int match(lua_State* L, luabind::detail::by_value<int>, int index) { if (lua_type(L, index) == 3) return 0; else return -1; }
63402
63403   unsigned int apply(lua_State* L, luabind::detail::by_const_reference<unsigned int>, int index) { return apply(L, detail::by_value<unsigned int>(), index); } unsigned int apply(lua_State* L, luabind::detail::by_value<const unsigned int>, int index) { return apply(L, detail::by_value<unsigned int>(), index); } unsigned int apply(lua_State* L, luabind::detail::by_value<unsigned int>, int index) { return static_cast<unsigned int>(lua_tonumber(L, index)); }
63404   static int match(lua_State* L, luabind::detail::by_const_reference<unsigned int>, int index) { return match(L, detail::by_value<unsigned int>(), index); } static int match(lua_State* L, luabind::detail::by_value<const unsigned int>, int index) { return match(L, detail::by_value<unsigned int>(), index); } static int match(lua_State* L, luabind::detail::by_value<unsigned int>, int index) { if (lua_type(L, index) == 3) return 0; else return -1; }
63405
63406   char apply(lua_State* L, luabind::detail::by_const_reference<char>, int index) { return apply(L, detail::by_value<char>(), index); } char apply(lua_State* L, luabind::detail::by_value<const char>, int index) { return apply(L, detail::by_value<char>(), index); } char apply(lua_State* L, luabind::detail::by_value<char>, int index) { return static_cast<char>(lua_tonumber(L, index)); }
63407   static int match(lua_State* L, luabind::detail::by_const_reference<char>, int index) { return match(L, detail::by_value<char>(), index); } static int match(lua_State* L, luabind::detail::by_value<const char>, int index) { return match(L, detail::by_value<char>(), index); } static int match(lua_State* L, luabind::detail::by_value<char>, int index) { if (lua_type(L, index) == 3) return 0; else return -1; }
63408
63409   signed char apply(lua_State* L, luabind::detail::by_const_reference<signed char>, int index) { return apply(L, detail::by_value<signed char>(), index); } signed char apply(lua_State* L, luabind::detail::by_value<const signed char>, int index) { return apply(L, detail::by_value<signed char>(), index); } signed char apply(lua_State* L, luabind::detail::by_value<signed char>, int index) { return static_cast<char>(lua_tonumber(L, index)); }
63410   static int match(lua_State* L, luabind::detail::by_const_reference<signed char>, int index) { return match(L, detail::by_value<signed char>(), index); } static int match(lua_State* L, luabind::detail::by_value<const signed char>, int index) { return match(L, detail::by_value<signed char>(), index); } static int match(lua_State* L, luabind::detail::by_value<signed char>, int index) { if (lua_type(L, index) == 3) return 0; else return -1; }
63411
63412   unsigned char apply(lua_State* L, luabind::detail::by_const_reference<unsigned char>, int index) { return apply(L, detail::by_value<unsigned char>(), index); } unsigned char apply(lua_State* L, luabind::detail::by_value<const unsigned char>, int index) { return apply(L, detail::by_value<unsigned char>(), index); } unsigned char apply(lua_State* L, luabind::detail::by_value<unsigned char>, int index) { return static_cast<unsigned char>(lua_tonumber(L, index)); }
63413   static int match(lua_State* L, luabind::detail::by_const_reference<unsigned char>, int index) { return match(L, detail::by_value<unsigned char>(), index); } static int match(lua_State* L, luabind::detail::by_value<const unsigned char>, int index) { return match(L, detail::by_value<unsigned char>(), index); } static int match(lua_State* L, luabind::detail::by_value<unsigned char>, int index) { if (lua_type(L, index) == 3) return 0; else return -1; }
63414
63415   short apply(lua_State* L, luabind::detail::by_const_reference<short>, int index) { return apply(L, detail::by_value<short>(), index); } short apply(lua_State* L, luabind::detail::by_value<const short>, int index) { return apply(L, detail::by_value<short>(), index); } short apply(lua_State* L, luabind::detail::by_value<short>, int index) { return static_cast<short>(lua_tonumber(L, index)); }
63416   static int match(lua_State* L, luabind::detail::by_const_reference<short>, int index) { return match(L, detail::by_value<short>(), index); } static int match(lua_State* L, luabind::detail::by_value<const short>, int index) { return match(L, detail::by_value<short>(), index); } static int match(lua_State* L, luabind::detail::by_value<short>, int index) { if (lua_type(L, index) == 3) return 0; else return -1; }
63417
63418   unsigned short apply(lua_State* L, luabind::detail::by_const_reference<unsigned short>, int index) { return apply(L, detail::by_value<unsigned short>(), index); } unsigned short apply(lua_State* L, luabind::detail::by_value<const unsigned short>, int index) { return apply(L, detail::by_value<unsigned short>(), index); } unsigned short apply(lua_State* L, luabind::detail::by_value<unsigned short>, int index) { return static_cast<unsigned short>(lua_tonumber(L, index)); }
63419   static int match(lua_State* L, luabind::detail::by_const_reference<unsigned short>, int index) { return match(L, detail::by_value<unsigned short>(), index); } static int match(lua_State* L, luabind::detail::by_value<const unsigned short>, int index) { return match(L, detail::by_value<unsigned short>(), index); } static int match(lua_State* L, luabind::detail::by_value<unsigned short>, int index) { if (lua_type(L, index) == 3) return 0; else return -1; }
63420
63421   long apply(lua_State* L, luabind::detail::by_const_reference<long>, int index) { return apply(L, detail::by_value<long>(), index); } long apply(lua_State* L, luabind::detail::by_value<const long>, int index) { return apply(L, detail::by_value<long>(), index); } long apply(lua_State* L, luabind::detail::by_value<long>, int index) { return static_cast<long>(lua_tonumber(L, index)); }
63422   static int match(lua_State* L, luabind::detail::by_const_reference<long>, int index) { return match(L, detail::by_value<long>(), index); } static int match(lua_State* L, luabind::detail::by_value<const long>, int index) { return match(L, detail::by_value<long>(), index); } static int match(lua_State* L, luabind::detail::by_value<long>, int index) { if (lua_type(L, index) == 3) return 0; else return -1; }
63423
63424   unsigned long apply(lua_State* L, luabind::detail::by_const_reference<unsigned long>, int index) { return apply(L, detail::by_value<unsigned long>(), index); } unsigned long apply(lua_State* L, luabind::detail::by_value<const unsigned long>, int index) { return apply(L, detail::by_value<unsigned long>(), index); } unsigned long apply(lua_State* L, luabind::detail::by_value<unsigned long>, int index) { return static_cast<unsigned long>(lua_tonumber(L, index)); }
63425   static int match(lua_State* L, luabind::detail::by_const_reference<unsigned long>, int index) { return match(L, detail::by_value<unsigned long>(), index); } static int match(lua_State* L, luabind::detail::by_value<const unsigned long>, int index) { return match(L, detail::by_value<unsigned long>(), index); } static int match(lua_State* L, luabind::detail::by_value<unsigned long>, int index) { if (lua_type(L, index) == 3) return 0; else return -1; }
63426
63427   float apply(lua_State* L, luabind::detail::by_const_reference<float>, int index) { return apply(L, detail::by_value<float>(), index); } float apply(lua_State* L, luabind::detail::by_value<const float>, int index) { return apply(L, detail::by_value<float>(), index); } float apply(lua_State* L, luabind::detail::by_value<float>, int index) { return static_cast<float>(lua_tonumber(L, index)); }
63428   static int match(lua_State* L, luabind::detail::by_const_reference<float>, int index) { return match(L, detail::by_value<float>(), index); } static int match(lua_State* L, luabind::detail::by_value<const float>, int index) { return match(L, detail::by_value<float>(), index); } static int match(lua_State* L, luabind::detail::by_value<float>, int index) { if (lua_type(L, index) == 3) return 0; else return -1; }
63429
63430   double apply(lua_State* L, luabind::detail::by_const_reference<double>, int index) { return apply(L, detail::by_value<double>(), index); } double apply(lua_State* L, luabind::detail::by_value<const double>, int index) { return apply(L, detail::by_value<double>(), index); } double apply(lua_State* L, luabind::detail::by_value<double>, int index) { return static_cast<double>(lua_tonumber(L, index)); }
63431   static int match(lua_State* L, luabind::detail::by_const_reference<double>, int index) { return match(L, detail::by_value<double>(), index); } static int match(lua_State* L, luabind::detail::by_value<const double>, int index) { return match(L, detail::by_value<double>(), index); } static int match(lua_State* L, luabind::detail::by_value<double>, int index) { if (lua_type(L, index) == 3) return 0; else return -1; }
63432
63433   std::string apply(lua_State* L, luabind::detail::by_const_reference<std::string>, int index) { return apply(L, detail::by_value<std::string>(), index); } std::string apply(lua_State* L, luabind::detail::by_value<const std::string>, int index) { return apply(L, detail::by_value<std::string>(), index); } std::string apply(lua_State* L, luabind::detail::by_value<std::string>, int index)
63434   { return std::string(lua_tostring(L, index), lua_strlen(L, index)); }
63435   static int match(lua_State* L, luabind::detail::by_const_reference<std::string>, int index) { return match(L, detail::by_value<std::string>(), index); } static int match(lua_State* L, luabind::detail::by_value<const std::string>, int index) { return match(L, detail::by_value<std::string>(), index); } static int match(lua_State* L, luabind::detail::by_value<std::string>, int index) { if (lua_type(L, index) == 4) return 0; else return -1; }
63436
63437   luabind::weak_ref apply(lua_State* L, luabind::detail::by_const_reference<luabind::weak_ref>, int index) { return apply(L, detail::by_value<luabind::weak_ref>(), index); } luabind::weak_ref apply(lua_State* L, luabind::detail::by_value<const luabind::weak_ref>, int index) { return apply(L, detail::by_value<luabind::weak_ref>(), index); } luabind::weak_ref apply(lua_State* L, luabind::detail::by_value<luabind::weak_ref>, int index)
63438   {
63439    luabind::detail::stack_checker_type stack_checker_object(L);
63440    return luabind::weak_ref(L, index);
63441   }
63442
63443   static int match(lua_State* L, luabind::detail::by_const_reference<luabind::weak_ref>, int index) { return match(L, detail::by_value<luabind::weak_ref>(), index); } static int match(lua_State* L, luabind::detail::by_value<const luabind::weak_ref>, int index) { return match(L, detail::by_value<luabind::weak_ref>(), index); } static int match(lua_State* L, luabind::detail::by_value<luabind::weak_ref>, int index) { (void)index; (void)L; return (std::numeric_limits<int>::max)() - 1; }
63444
63445   const char* apply(lua_State* L, detail::by_const_pointer<char>, int index)
63446   {
63447    return static_cast<const char*>(lua_tostring(L, index));
63448   }
63449
63450   const char* apply(lua_State* L, detail::by_const_pointer<const char>, int index)
63451   {
63452    return static_cast<const char*>(lua_tostring(L, index));
63453   }
63454
63455   static int match(lua_State* L, by_const_pointer<char>, int index)
63456   {
63457    return lua_type(L, index) == 4
63458     || (lua_type(L,index) == 0) ? 0 : -1;
63459   }
63460   static int match(lua_State* L, by_const_pointer<const char>, int index)
63461   {
63462    return lua_type(L, index) == 4
63463     || (lua_type(L,index) == 0) ? 0 : -1;
63464   }
63465
63466   template<class T>
63467   void converter_postcall(lua_State*, T, int) {}
63468
63469 #undef PRIMITIVE_MATCHER
63470 #undef PRIMITIVE_CONVERTER
63471  };
63472
63473
63474
63475
63476
63477  template<class Direction> struct user_defined_converter;
63478
63479  template<>
63480  struct user_defined_converter<lua_to_cpp>
63481  {
63482   typedef boost::mpl::bool_<false> is_value_converter;
63483   typedef user_defined_converter type;
63484
63485   template<class T>
63486   T apply(lua_State* L, detail::by_value<T>, int index)
63487   {
63488    using namespace converters;
63489    return convert_lua_to_cpp(L, detail::by_value<T>(), index);
63490   }
63491
63492   template<class T>
63493   T apply(lua_State* L, detail::by_reference<T>, int index)
63494   {
63495    using namespace converters;
63496    return convert_lua_to_cpp(L, detail::by_reference<T>(), index);
63497   }
63498
63499   template<class T>
63500   T apply(lua_State* L, detail::by_const_reference<T>, int index)
63501   {
63502    using namespace converters;
63503    return convert_lua_to_cpp(L, detail::by_const_reference<T>(), index);
63504   }
63505
63506   template<class T>
63507   T* apply(lua_State* L, detail::by_pointer<T>, int index)
63508   {
63509    using namespace converters;
63510    return convert_lua_to_cpp(L, detail::by_pointer<T>(), index);
63511   }
63512
63513   template<class T>
63514   const T* apply(lua_State* L, detail::by_const_pointer<T>, int index)
63515   {
63516    using namespace converters;
63517    return convert_lua_to_cpp(L, detail::by_pointer<T>(), index);
63518   }
63519
63520   template<class T>
63521   static int match(lua_State* L, T, int index)
63522   {
63523    using namespace converters;
63524    return match_lua_to_cpp(L, T(), index);
63525   }
63526
63527   template<class T>
63528   void converter_postcall(lua_State*, T, int) {}
63529  };
63530
63531  template<>
63532  struct user_defined_converter<cpp_to_lua>
63533  {
63534   typedef boost::mpl::bool_<false> is_value_converter;
63535   typedef user_defined_converter type;
63536
63537   template<class T>
63538   void apply(lua_State* L, const T& v)
63539   {
63540    using namespace converters;
63541    convert_cpp_to_lua(L, v);
63542   }
63543  };
63544
63545
63546
63547
63548  template<class Direction> struct pointer_converter;
63549
63550  template<>
63551  struct pointer_converter<cpp_to_lua>
63552  {
63553   typedef boost::mpl::bool_<false> is_value_converter;
63554   typedef pointer_converter type;
63555
63556   template<class T>
63557   void apply(lua_State* L, T* ptr)
63558   {
63559    if (ptr == 0)
63560    {
63561     lua_pushnil(L);
63562     return;
63563    }
63564
63565    if (luabind::get_back_reference(L, ptr))
63566     return;
63567
63568    class_rep* crep = get_class_rep<T>(L);
63569
63570
63571
63572    (static_cast<void> ((crep && "you are trying to use an unregistered type") ? 0 : (__assert_fail ("crep && \"you are trying to use an unregistered type\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 487, __PRETTY_FUNCTION__), 0)));
63573
63574
63575    void* obj = lua_newuserdata(L, sizeof(object_rep));
63576
63577    new(obj) object_rep(ptr, crep, 0, 0);
63578
63579
63580    detail::getref(L, crep->metatable_ref());
63581    lua_setmetatable(L, -2);
63582   }
63583  };
63584
63585  template<class T> struct make_pointer { typedef T* type; };
63586  template<>
63587  struct pointer_converter<lua_to_cpp>
63588  {
63589   typedef boost::mpl::bool_<false> is_value_converter;
63590   typedef pointer_converter type;
63591
63592
63593   char target[32];
63594   void (*destructor)(void *);
63595
63596   pointer_converter(): destructor(0) {}
63597
63598   template<class T>
63599   typename make_pointer<T>::type apply(lua_State* L, by_pointer<T>, int index)
63600   {
63601
63602
63603
63604
63605
63606    if ((lua_type(L,index) == 0)) return 0;
63607
63608    object_rep* obj = static_cast<object_rep*>(lua_touserdata(L, index));
63609    (static_cast<void> (((obj != 0) && "internal error, please report") ? 0 : (__assert_fail ("(obj != 0) && \"internal error, please report\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 524, __PRETTY_FUNCTION__), 0)));
63610    const class_rep* crep = obj->crep();
63611
63612    T* ptr = reinterpret_cast<T*>(crep->convert_to(&typeid(T), obj, target));
63613
63614    if ((void*)ptr == (char*)target) destructor = detail::destruct_only_s<T>::apply;
63615    (static_cast<void> ((!destructor || sizeof(T) <= 32) ? 0 : (__assert_fail ("!destructor || sizeof(T) <= 32", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 530, __PRETTY_FUNCTION__), 0)));
63616
63617    return ptr;
63618   }
63619
63620   template<class T>
63621   static int match(lua_State* L, by_pointer<T>, int index)
63622   {
63623    if ((lua_type(L,index) == 0)) return 0;
63624    object_rep* obj = is_class_object(L, index);
63625    if (obj == 0) return -1;
63626
63627    if (obj->flags() & object_rep::constant) return -1;
63628
63629    if ((*obj->crep()->holder_type() == *&typeid(T)))
63630     return (obj->flags() & object_rep::constant)?-1:0;
63631    if ((*obj->crep()->const_holder_type() == *&typeid(T)))
63632     return (obj->flags() & object_rep::constant)?0:-1;
63633
63634    int d;
63635    return implicit_cast(obj->crep(), &typeid(T), d);
63636   }
63637
63638   ~pointer_converter()
63639   {
63640    if (destructor) destructor(target);
63641   }
63642
63643   template<class T>
63644   void converter_postcall(lua_State*, by_pointer<T>, int)
63645   {}
63646  };
63647
63648
63649
63650  template<class Direction> struct value_converter;
63651
63652  template<>
63653  struct value_converter<cpp_to_lua>
63654  {
63655   typedef boost::mpl::bool_<true> is_value_converter;
63656   typedef value_converter type;
63657
63658   template<class T>
63659   void apply(lua_State* L, const T& ref)
63660   {
63661    if (luabind::get_back_reference(L, ref))
63662     return;
63663
63664    class_rep* crep = get_class_rep<T>(L);
63665
63666
63667
63668    (static_cast<void> ((crep && "you are trying to use an unregistered type") ? 0 : (__assert_fail ("crep && \"you are trying to use an unregistered type\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 583, __PRETTY_FUNCTION__), 0)));
63669
63670    void* obj_rep;
63671    void* held;
63672
63673    boost::tie(obj_rep,held) = crep->allocate(L);
63674
63675    void* object_ptr;
63676    void(*destructor)(void*);
63677    destructor = crep->destructor();
63678    int flags = object_rep::owner;
63679    if (crep->has_holder())
63680    {
63681     new(held) T(ref);
63682     object_ptr = held;
63683     if (*&typeid(T) == *crep->const_holder_type())
63684     {
63685      flags |= object_rep::constant;
63686      destructor = crep->const_holder_destructor();
63687     }
63688    }
63689    else
63690    {
63691     object_ptr = new T(ref);
63692    }
63693    new(obj_rep) object_rep(object_ptr, crep, flags, destructor);
63694
63695
63696    detail::getref(L, crep->metatable_ref());
63697    lua_setmetatable(L, -2);
63698   }
63699  };
63700
63701
63702  template<class T> struct make_const_reference { typedef const T& type; };
63703
63704  template<class T>
63705  struct destruct_guard
63706  {
63707   T* ptr;
63708   bool dismiss;
63709   destruct_guard(T* p): ptr(p), dismiss(false) {}
63710
63711   ~destruct_guard()
63712   {
63713    if (!dismiss)
63714     ptr->~T();
63715   }
63716  };
63717
63718  template<>
63719  struct value_converter<lua_to_cpp>
63720  {
63721   typedef boost::mpl::bool_<true> is_value_converter;
63722   typedef value_converter type;
63723
63724   template<class T>
63725   T apply(lua_State* L, by_value<T>, int index)
63726   {
63727
63728
63729
63730
63731
63732    object_rep* obj = 0;
63733    const class_rep* crep = 0;
63734
63735
63736    if ((lua_type(L,index) == 0))
63737    {
63738     crep = get_class_rep<T>(L);
63739     (static_cast<void> ((crep) ? 0 : (__assert_fail ("crep", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 654, __PRETTY_FUNCTION__), 0)));
63740    }
63741    else
63742    {
63743     obj = static_cast<object_rep*>(lua_touserdata(L, index));
63744     (static_cast<void> (((obj != 0) && "internal error, please report") ? 0 : (__assert_fail ("(obj != 0) && \"internal error, please report\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 659, __PRETTY_FUNCTION__), 0)));
63745     crep = obj->crep();
63746    }
63747    (static_cast<void> ((crep) ? 0 : (__assert_fail ("crep", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 662, __PRETTY_FUNCTION__), 0)));
63748
63749
63750    char target[sizeof(T)];
63751    T* ptr = reinterpret_cast<T*>(crep->convert_to(&typeid(T), obj, target));
63752
63753    destruct_guard<T> guard(ptr);
63754    if ((void*)ptr != (void*)target) guard.dismiss = true;
63755
63756    return *ptr;
63757   }
63758
63759   template<class T>
63760   static int match(lua_State* L, by_value<T>, int index)
63761   {
63762
63763    if ((lua_type(L,index) == 0))
63764    {
63765     class_rep* crep = get_class_rep<T>(L);
63766     if (crep == 0) return -1;
63767     if ((*crep->holder_type() == *&typeid(T)))
63768      return 0;
63769     if ((*crep->const_holder_type() == *&typeid(T)))
63770      return 0;
63771     return -1;
63772    }
63773
63774    object_rep* obj = is_class_object(L, index);
63775    if (obj == 0) return -1;
63776    int d;
63777
63778    if ((*obj->crep()->holder_type() == *&typeid(T)))
63779     return (obj->flags() & object_rep::constant)?-1:0;
63780    if ((*obj->crep()->const_holder_type() == *&typeid(T)))
63781     return (obj->flags() & object_rep::constant)?0:1;
63782
63783    return implicit_cast(obj->crep(), &typeid(T), d);
63784   }
63785
63786   template<class T>
63787   void converter_postcall(lua_State*, T, int) {}
63788  };
63789
63790
63791
63792  template<class Direction> struct const_pointer_converter;
63793
63794  template<>
63795  struct const_pointer_converter<cpp_to_lua>
63796  {
63797   typedef boost::mpl::bool_<false> is_value_converter;
63798   typedef const_pointer_converter type;
63799
63800   template<class T>
63801   void apply(lua_State* L, const T* ptr)
63802   {
63803    if (ptr == 0)
63804    {
63805     lua_pushnil(L);
63806     return;
63807    }
63808
63809    if (luabind::get_back_reference(L, ptr))
63810     return;
63811
63812    class_rep* crep = get_class_rep<T>(L);
63813
63814
63815
63816    (static_cast<void> ((crep && "you are trying to use an unregistered type") ? 0 : (__assert_fail ("crep && \"you are trying to use an unregistered type\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 731, __PRETTY_FUNCTION__), 0)));
63817
63818
63819    void* obj = lua_newuserdata(L, sizeof(object_rep));
63820    (static_cast<void> ((obj && "internal error, please report") ? 0 : (__assert_fail ("obj && \"internal error, please report\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 735, __PRETTY_FUNCTION__), 0)));
63821
63822    new(obj) object_rep(const_cast<T*>(ptr), crep, object_rep::constant, 0);
63823
63824
63825    detail::getref(L, crep->metatable_ref());
63826    lua_setmetatable(L, -2);
63827   }
63828  };
63829
63830
63831  template<class T> struct make_const_pointer { typedef const T* type; };
63832  template<>
63833  struct const_pointer_converter<lua_to_cpp>
63834   : private pointer_converter<lua_to_cpp>
63835  {
63836   typedef boost::mpl::bool_<false> is_value_converter;
63837   typedef const_pointer_converter type;
63838
63839   template<class T>
63840   typename make_const_pointer<T>::type apply(lua_State* L, by_const_pointer<T>, int index)
63841   {
63842    return pointer_converter<lua_to_cpp>::apply(L, by_pointer<T>(), index);
63843   }
63844
63845   template<class T>
63846   static int match(lua_State* L, by_const_pointer<T>, int index)
63847   {
63848    if ((lua_type(L,index) == 0)) return 0;
63849    object_rep* obj = is_class_object(L, index);
63850    if (obj == 0) return -1;
63851
63852    if ((*obj->crep()->holder_type() == *&typeid(T)))
63853     return (obj->flags() & object_rep::constant)?-1:0;
63854    if ((*obj->crep()->const_holder_type() == *&typeid(T)))
63855     return (obj->flags() & object_rep::constant)?0:1;
63856
63857             bool const_ = obj->flags() & object_rep::constant;
63858    int d;
63859    int points = implicit_cast(obj->crep(), &typeid(T), d);
63860    return points == -1 ? -1 : points + !const_;
63861   }
63862
63863   template<class T>
63864   void converter_postcall(lua_State* L, by_const_pointer<T>, int index)
63865   {
63866    pointer_converter<lua_to_cpp>::converter_postcall(L, by_pointer<T>(), index);
63867   }
63868  };
63869
63870
63871
63872  template<class Direction> struct ref_converter;
63873
63874  template<>
63875  struct ref_converter<cpp_to_lua>
63876  {
63877   typedef boost::mpl::bool_<false> is_value_converter;
63878   typedef ref_converter type;
63879
63880   template<class T>
63881   void apply(lua_State* L, T& ref)
63882   {
63883    if (luabind::get_back_reference(L, ref))
63884     return;
63885
63886    class_rep* crep = get_class_rep<T>(L);
63887
63888
63889
63890    (static_cast<void> ((crep && "you are trying to use an unregistered type") ? 0 : (__assert_fail ("crep && \"you are trying to use an unregistered type\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 805, __PRETTY_FUNCTION__), 0)));
63891
63892    T* ptr = &ref;
63893
63894
63895    void* obj = lua_newuserdata(L, sizeof(object_rep));
63896    (static_cast<void> ((obj && "internal error, please report") ? 0 : (__assert_fail ("obj && \"internal error, please report\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 811, __PRETTY_FUNCTION__), 0)));
63897    new(obj) object_rep(ptr, crep, 0, 0);
63898
63899
63900    detail::getref(L, crep->metatable_ref());
63901    lua_setmetatable(L, -2);
63902   }
63903  };
63904
63905  template<class T> struct make_reference { typedef T& type; };
63906  template<>
63907  struct ref_converter<lua_to_cpp>
63908  {
63909   typedef boost::mpl::bool_<false> is_value_converter;
63910   typedef ref_converter type;
63911
63912   template<class T>
63913   typename make_reference<T>::type apply(lua_State* L, by_reference<T>, int index)
63914   {
63915    (static_cast<void> ((!(lua_type(L,index) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,index) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 830, __PRETTY_FUNCTION__), 0)));
63916    return *pointer_converter<lua_to_cpp>().apply(L, by_pointer<T>(), index);
63917   }
63918
63919   template<class T>
63920   static int match(lua_State* L, by_reference<T>, int index)
63921   {
63922    if ((lua_type(L,index) == 0)) return -1;
63923    return pointer_converter<lua_to_cpp>::match(L, by_pointer<T>(), index);
63924   }
63925
63926   template<class T>
63927   void converter_postcall(lua_State*, T, int) {}
63928  };
63929
63930
63931
63932  template<class Direction> struct const_ref_converter;
63933
63934  template<>
63935  struct const_ref_converter<cpp_to_lua>
63936  {
63937   typedef boost::mpl::bool_<false> is_value_converter;
63938   typedef const_ref_converter type;
63939
63940   template<class T>
63941   void apply(lua_State* L, T const& ref)
63942   {
63943    if (luabind::get_back_reference(L, ref))
63944     return;
63945
63946    class_rep* crep = get_class_rep<T>(L);
63947
63948
63949
63950    (static_cast<void> ((crep && "you are trying to use an unregistered type") ? 0 : (__assert_fail ("crep && \"you are trying to use an unregistered type\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 865, __PRETTY_FUNCTION__), 0)));
63951
63952    T const* ptr = &ref;
63953
63954
63955    void* obj = lua_newuserdata(L, sizeof(object_rep));
63956    (static_cast<void> ((obj && "internal error, please report") ? 0 : (__assert_fail ("obj && \"internal error, please report\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 871, __PRETTY_FUNCTION__), 0)));
63957    new(obj) object_rep(const_cast<T*>(ptr), crep, object_rep::constant, 0);
63958
63959
63960    detail::getref(L, crep->metatable_ref());
63961    lua_setmetatable(L, -2);
63962   }
63963  };
63964
63965  template<>
63966  struct const_ref_converter<lua_to_cpp>
63967  {
63968   typedef boost::mpl::bool_<false> is_value_converter;
63969   typedef const_ref_converter type;
63970
63971
63972   char target[32];
63973   void (*destructor)(void*);
63974
63975   const_ref_converter(): destructor(0) {}
63976
63977   template<class T>
63978   typename make_const_reference<T>::type apply(lua_State* L, by_const_reference<T>, int index)
63979   {
63980    object_rep* obj = 0;
63981    class_rep const * crep = 0;
63982
63983
63984    if ((lua_type(L,index) == 0))
63985    {
63986     crep = get_class_rep<T>(L);
63987     (static_cast<void> ((crep) ? 0 : (__assert_fail ("crep", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 902, __PRETTY_FUNCTION__), 0)));
63988    }
63989    else
63990    {
63991     obj = static_cast<object_rep*>(lua_touserdata(L, index));
63992     (static_cast<void> (((obj != 0) && "internal error, please report") ? 0 : (__assert_fail ("(obj != 0) && \"internal error, please report\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 907, __PRETTY_FUNCTION__), 0)));
63993     crep = obj->crep();
63994    }
63995    (static_cast<void> ((crep) ? 0 : (__assert_fail ("crep", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 910, __PRETTY_FUNCTION__), 0)));
63996
63997    T* ptr = reinterpret_cast<T*>(crep->convert_to(&typeid(T), obj, target));
63998
63999
64000    if ((void*)ptr == (void*)target) destructor = detail::destruct_only_s<T>::apply;
64001    (static_cast<void> ((!destructor || sizeof(T) <= 32) ? 0 : (__assert_fail ("!destructor || sizeof(T) <= 32", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp", 916, __PRETTY_FUNCTION__), 0)));
64002
64003    return *ptr;
64004   }
64005
64006   template<class T>
64007   static int match(lua_State* L, by_const_reference<T>, int index)
64008   {
64009
64010    if ((lua_type(L,index) == 0))
64011    {
64012     class_rep* crep = get_class_rep<T>(L);
64013     if (crep == 0) return -1;
64014     if ((*crep->holder_type() == *&typeid(T)))
64015      return 0;
64016     if ((*crep->const_holder_type() == *&typeid(T)))
64017      return 0;
64018     return -1;
64019    }
64020
64021    object_rep* obj = is_class_object(L, index);
64022    if (obj == 0) return -1;
64023
64024    if ((*obj->crep()->holder_type() == *&typeid(T)))
64025     return (obj->flags() & object_rep::constant)?-1:0;
64026    if ((*obj->crep()->const_holder_type() == *&typeid(T)))
64027     return (obj->flags() & object_rep::constant)?0:1;
64028
64029             bool const_ = obj->flags() & object_rep::constant;
64030    int d;
64031    int points = implicit_cast(obj->crep(), &typeid(T), d);
64032    return points == -1 ? -1 : points + !const_;
64033   }
64034
64035   ~const_ref_converter()
64036   {
64037    if (destructor) destructor(target);
64038   }
64039
64040   template<class T>
64041   void converter_postcall(lua_State* L, by_const_reference<T>, int index)
64042   {
64043   }
64044  };
64045
64046
64047
64048  template<class Direction = cpp_to_lua>
64049  struct enum_converter
64050  {
64051   typedef boost::mpl::bool_<false> is_value_converter;
64052   typedef enum_converter type;
64053
64054   void apply(lua_State* L, int val)
64055   {
64056    lua_pushnumber(L, val);
64057   }
64058  };
64059
64060  template<>
64061  struct enum_converter<lua_to_cpp>
64062  {
64063   typedef boost::mpl::bool_<false> is_value_converter;
64064   typedef enum_converter type;
64065
64066   template<class T>
64067   T apply(lua_State* L, by_value<T>, int index)
64068   {
64069    return static_cast<T>(static_cast<int>(lua_tonumber(L, index)));
64070   }
64071
64072   template<class T>
64073   static int match(lua_State* L, by_value<T>, int index)
64074   {
64075    if (lua_isnumber(L, index)) return 0; else return -1;
64076   }
64077
64078   template<class T>
64079   void converter_postcall(lua_State*, T, int) {}
64080  };
64081 # 1047 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp"
64082  template<class Direction>
64083  struct value_wrapper_converter;
64084
64085  template<>
64086  struct value_wrapper_converter<lua_to_cpp>
64087  {
64088   typedef boost::mpl::bool_<false> is_value_converter;
64089   typedef value_wrapper_converter type;
64090
64091   template<class T>
64092   T apply(lua_State* L, by_const_reference<T>, int index)
64093   {
64094    return T(from_stack(L, index));
64095   }
64096
64097   template<class T>
64098   T apply(lua_State* L, by_value<T>, int index)
64099   {
64100    return apply(L, by_const_reference<T>(), index);
64101   }
64102
64103   template<class T>
64104   static int match(lua_State* L, by_const_reference<T>, int index)
64105   {
64106    return value_wrapper_traits<T>::check(L, index)
64107                 ? (std::numeric_limits<int>::max)() / 10
64108                 : -1;
64109   }
64110
64111   template<class T>
64112   static int match(lua_State* L, by_value<T>, int index)
64113   {
64114    return match(L, by_const_reference<T>(), index);
64115   }
64116
64117   void converter_postcall(...) {}
64118  };
64119
64120  template<>
64121  struct value_wrapper_converter<cpp_to_lua>
64122  {
64123   typedef boost::mpl::bool_<false> is_value_converter;
64124   typedef value_wrapper_converter type;
64125
64126      template<class T>
64127         void apply(lua_State* interpreter, T const& value_wrapper)
64128   {
64129    value_wrapper_traits<T>::unwrap(interpreter, value_wrapper);
64130         }
64131     };
64132
64133
64134
64135  using boost::mpl::eval_if;
64136
64137  struct default_policy : converter_policy_tag
64138  {
64139   static const bool has_arg = true;
64140
64141   template<class T>
64142   static void precall(lua_State*, T, int) {}
64143
64144   template<class T, class Direction>
64145   struct apply
64146     : eval_if<
64147     is_user_defined<T>
64148      , user_defined_converter<Direction>
64149      , eval_if<
64150         is_value_wrapper_arg<T>
64151       , value_wrapper_converter<Direction>
64152       , eval_if<
64153       is_primitive<T>
64154        , primitive_converter<Direction>
64155        , eval_if<
64156
64157
64158
64159         boost::is_enum<T>
64160          , enum_converter<Direction>
64161          , eval_if<
64162          is_nonconst_pointer<T>
64163           , pointer_converter<Direction>
64164           , eval_if<
64165           is_const_pointer<T>
64166            , const_pointer_converter<Direction>
64167            , eval_if<
64168            is_nonconst_reference<T>
64169             , ref_converter<Direction>
64170             , eval_if<
64171             is_const_reference<T>
64172              , const_ref_converter<Direction>
64173              , value_converter<Direction>
64174            >
64175           >
64176          >
64177         >
64178        >
64179
64180      >
64181     >
64182       >
64183   {
64184   };
64185  };
64186
64187
64188
64189  template<int, class> struct find_conversion_policy;
64190
64191  template<bool IsConverter = false>
64192  struct find_conversion_impl
64193  {
64194   template<int N, class Policies>
64195   struct apply
64196   {
64197    typedef typename find_conversion_policy<N, typename Policies::tail>::type type;
64198   };
64199  };
64200
64201  template<>
64202  struct find_conversion_impl<true>
64203  {
64204   template<int N, class Policies>
64205   struct apply
64206   {
64207    typedef typename Policies::head head;
64208    typedef typename Policies::tail tail;
64209
64210    static const bool found = (N == head::index);
64211
64212    typedef typename
64213     boost::mpl::if_c<found
64214      , head
64215      , typename find_conversion_policy<N, tail>::type
64216     >::type type;
64217   };
64218  };
64219
64220  template<class Policies>
64221  struct find_conversion_impl2
64222  {
64223   template<int N>
64224   struct apply
64225    : find_conversion_impl<
64226     boost::is_base_and_derived<conversion_policy_base, typename Policies::head>::value
64227    >::template apply<N, Policies>
64228   {
64229   };
64230  };
64231
64232  template<>
64233  struct find_conversion_impl2<detail::null_type>
64234  {
64235   template<int N>
64236   struct apply
64237   {
64238    typedef default_policy type;
64239   };
64240  };
64241
64242  template<int N, class Policies>
64243  struct find_conversion_policy : find_conversion_impl2<Policies>::template apply<N>
64244  {
64245  };
64246
64247  template<class List>
64248  struct policy_list_postcall
64249  {
64250   typedef typename List::head head;
64251   typedef typename List::tail tail;
64252
64253   static void apply(lua_State* L, const index_map& i)
64254   {
64255    head::postcall(L, i);
64256    policy_list_postcall<tail>::apply(L, i);
64257   }
64258  };
64259
64260  template<>
64261  struct policy_list_postcall<detail::null_type>
64262  {
64263   static void apply(lua_State*, const index_map&) {}
64264  };
64265
64266
64267
64268
64269
64270
64271  template<class List>
64272  struct policy_precall
64273  {
64274   typedef typename List::head head;
64275   typedef typename List::tail tail;
64276
64277   static void apply(lua_State* L, int index)
64278   {
64279    head::precall(L, index);
64280    policy_precall<tail>::apply(L, index);
64281   }
64282  };
64283
64284  template<>
64285  struct policy_precall<detail::null_type>
64286  {
64287   static void apply(lua_State*, int) {}
64288  };
64289
64290  template<class List>
64291  struct policy_postcall
64292  {
64293   typedef typename List::head head;
64294   typedef typename List::tail tail;
64295
64296   static void apply(lua_State* L, int index)
64297   {
64298    head::postcall(L, index);
64299    policy_postcall<tail>::apply(L, index);
64300   }
64301  };
64302
64303  template<>
64304  struct policy_postcall<detail::null_type>
64305  {
64306   static void apply(lua_State*, int) {}
64307  };
64308
64309 }}
64310
64311
64312 namespace luabind { namespace
64313 {
64314 # 1295 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/policy.hpp"
64315   boost::arg<0> return_value;
64316   boost::arg<0> result;
64317 #define LUABIND_PLACEHOLDER_ARG(N) boost::arg<N>
64318
64319 }}
64320 # 29 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/raw_policy.hpp" 2
64321
64322 namespace luabind { namespace detail {
64323
64324  struct raw_converter
64325  {
64326   lua_State* apply(lua_State* L, by_pointer<lua_State>, int)
64327   {
64328    return L;
64329   }
64330
64331   static int match(...)
64332   {
64333    return 0;
64334   }
64335
64336   void converter_postcall(lua_State*, by_pointer<lua_State>, int) {}
64337  };
64338
64339  template<int N>
64340  struct raw_policy : conversion_policy<N, false>
64341  {
64342   static void precall(lua_State*, const index_map&) {}
64343   static void postcall(lua_State*, const index_map&) {}
64344
64345   template<class T, class Direction>
64346   struct apply
64347   {
64348    typedef raw_converter type;
64349   };
64350  };
64351
64352 }}
64353
64354 namespace luabind {
64355
64356  template<int N>
64357  detail::policy_cons<
64358   detail::raw_policy<N>
64359    , detail::null_type
64360  >
64361  inline raw(boost::arg<N>)
64362  {
64363   return detail::policy_cons<
64364    detail::raw_policy<N>
64365     , detail::null_type
64366   >();
64367  }
64368
64369 }
64370 # 97 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
64371 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/back_reference.hpp" 1
64372 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/back_reference.hpp"
64373 #define LUABIND_BACK_REFERENCE_040510_HPP 
64374
64375
64376 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1
64377 # 26 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp"
64378 #define LUABIND_WRAPPER_BASE_HPP_INCLUDED 
64379
64380
64381
64382
64383 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1
64384 # 27 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp"
64385 #define LUABIND_CALL_MEMBER_HPP_INCLUDED 
64386
64387
64388 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/convert_to_lua.hpp" 1
64389 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/convert_to_lua.hpp"
64390 #define LUABIND_CONVERT_TO_LUA_HPP_INCLUDED 
64391
64392
64393
64394
64395
64396 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
64397 # 32 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/convert_to_lua.hpp" 2
64398
64399 namespace luabind { namespace detail
64400 {
64401  template<bool IsReferenceWrapper = false>
64402  struct unwrap_ref
64403  {
64404   template<class T>
64405   static const T& get(const T& r) { return r; }
64406
64407   template<class T>
64408   struct apply
64409   {
64410    typedef T type;
64411   };
64412  };
64413
64414  template<>
64415  struct unwrap_ref<true>
64416  {
64417   template<class T>
64418   static T& get(const boost::reference_wrapper<T>& r) { return r.get(); }
64419
64420   template<class T>
64421   struct apply
64422   {
64423    typedef typename T::type& type;
64424   };
64425  };
64426
64427  namespace mpl = boost::mpl;
64428
64429  template<class T>
64430  void convert_to_lua(lua_State* L, const T& v)
64431  {
64432   typedef typename mpl::apply_wrap1<
64433    unwrap_ref<boost::is_reference_wrapper<T>::value>
64434     , T
64435   >::type value_type;
64436
64437   typename mpl::apply_wrap2<default_policy,value_type,cpp_to_lua>::type converter;
64438
64439   converter.apply(L, unwrap_ref<boost::is_reference_wrapper<T>::value>::get(v));
64440  }
64441
64442  template<int Index, class T, class Policies>
64443  void convert_to_lua_p(lua_State* L, const T& v, const Policies&)
64444  {
64445   typedef typename mpl::apply_wrap1<
64446    unwrap_ref<boost::is_reference_wrapper<T>::value>
64447     , T
64448   >::type value_type;
64449
64450   typedef typename find_conversion_policy<Index, Policies>::type converter_policy;
64451   typename mpl::apply_wrap2<converter_policy,value_type,cpp_to_lua>::type converter;
64452
64453   converter.apply(L, unwrap_ref<boost::is_reference_wrapper<T>::value>::get(v));
64454  }
64455 }}
64456 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 2
64457 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/pcall.hpp" 1
64458 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/pcall.hpp"
64459 #define LUABIND_PCALL_HPP_INCLUDED 
64460
64461
64462
64463 struct lua_State;
64464
64465 namespace luabind { namespace detail
64466 {
64467  int pcall(lua_State *L, int nargs, int nresults);
64468  int resume_impl(lua_State *L, int nargs, int nresults);
64469 }}
64470 # 32 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 2
64471
64472 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/stack_utils.hpp" 1
64473 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/stack_utils.hpp"
64474 #define LUABIND_STACK_UTILS_HPP_INCLUDED 
64475
64476 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 1 3
64477 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
64478        
64479 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
64480 #pragma GCC visibility push(default)
64481
64482 # 1 "/usr/include/assert.h" 1 3 4
64483 # 25 "/usr/include/assert.h" 3 4
64484 #undef _ASSERT_H
64485 #undef assert
64486 #undef __ASSERT_VOID_CAST
64487
64488
64489 #undef assert_perror
64490
64491
64492
64493
64494 #define _ASSERT_H 1
64495
64496
64497
64498 #define __ASSERT_VOID_CAST static_cast<void>
64499 # 65 "/usr/include/assert.h" 3 4
64500 extern "C" {
64501
64502
64503 extern void __assert_fail (__const char *__assertion, __const char *__file,
64504       unsigned int __line, __const char *__function)
64505      throw () __attribute__ ((__noreturn__));
64506
64507
64508 extern void __assert_perror_fail (int __errnum, __const char *__file,
64509       unsigned int __line,
64510       __const char *__function)
64511      throw () __attribute__ ((__noreturn__));
64512
64513
64514
64515
64516 extern void __assert (const char *__assertion, const char *__file, int __line)
64517      throw () __attribute__ ((__noreturn__));
64518
64519
64520 }
64521
64522 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
64523
64524
64525
64526
64527
64528 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
64529 # 105 "/usr/include/assert.h" 3 4
64530 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
64531 # 51 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 2 3
64532
64533 #pragma GCC visibility pop
64534 # 27 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/stack_utils.hpp" 2
64535
64536 namespace luabind { namespace detail
64537 {
64538
64539  struct stack_pop
64540  {
64541   stack_pop(lua_State* L, int n)
64542    : m_state(L)
64543    , m_n(n)
64544    {
64545    }
64546
64547   ~stack_pop()
64548   {
64549    lua_settop(m_state, -(m_n)-1);
64550   }
64551
64552  private:
64553
64554   lua_State* m_state;
64555   int m_n;
64556  };
64557 }}
64558 # 34 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 2
64559 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp" 1
64560 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp"
64561 #define LUABIND_OBJECT_050419_HPP 
64562
64563 # 1 "/usr/include/boost/implicit_cast.hpp" 1 3 4
64564
64565
64566
64567
64568
64569 #define IMPLICIT_CAST_DWA200356_HPP 
64570
64571
64572
64573 namespace boost {
64574
64575
64576
64577
64578
64579
64580 template <typename T>
64581 inline T implicit_cast (typename mpl::identity<T>::type x) {
64582     return x;
64583 }
64584
64585
64586
64587
64588
64589
64590 #define BOOST_IMPLICIT_CAST(dst_type,expr) ( sizeof( implicit_cast<dst_type>(expr) ) , static_cast<dst_type>(expr) )
64591
64592
64593
64594
64595
64596 }
64597 # 27 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp" 2
64598
64599
64600 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
64601 # 30 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp" 2
64602
64603 # 1 "/usr/include/boost/optional.hpp" 1 3 4
64604 # 13 "/usr/include/boost/optional.hpp" 3 4
64605 #define BOOST_OPTIONAL_FLC_19NOV2002_HPP 
64606
64607 # 1 "/usr/include/boost/optional/optional.hpp" 1 3 4
64608 # 13 "/usr/include/boost/optional/optional.hpp" 3 4
64609 #define BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP 
64610
64611
64612
64613
64614
64615 # 1 "/usr/include/boost/assert.hpp" 1 3 4
64616 # 15 "/usr/include/boost/assert.hpp" 3 4
64617 #undef BOOST_ASSERT
64618 # 35 "/usr/include/boost/assert.hpp" 3 4
64619 # 1 "/usr/include/assert.h" 1 3 4
64620 # 25 "/usr/include/assert.h" 3 4
64621 #undef _ASSERT_H
64622 #undef assert
64623 #undef __ASSERT_VOID_CAST
64624
64625
64626 #undef assert_perror
64627
64628
64629
64630
64631 #define _ASSERT_H 1
64632
64633
64634
64635 #define __ASSERT_VOID_CAST static_cast<void>
64636 # 65 "/usr/include/assert.h" 3 4
64637 extern "C" {
64638
64639
64640 extern void __assert_fail (__const char *__assertion, __const char *__file,
64641       unsigned int __line, __const char *__function)
64642      throw () __attribute__ ((__noreturn__));
64643
64644
64645 extern void __assert_perror_fail (int __errnum, __const char *__file,
64646       unsigned int __line,
64647       __const char *__function)
64648      throw () __attribute__ ((__noreturn__));
64649
64650
64651
64652
64653 extern void __assert (const char *__assertion, const char *__file, int __line)
64654      throw () __attribute__ ((__noreturn__));
64655
64656
64657 }
64658
64659 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
64660
64661
64662
64663
64664
64665 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
64666 # 105 "/usr/include/assert.h" 3 4
64667 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
64668 # 36 "/usr/include/boost/assert.hpp" 2 3 4
64669 #define BOOST_ASSERT(expr) assert(expr)
64670 # 20 "/usr/include/boost/optional/optional.hpp" 2 3 4
64671
64672 # 1 "/usr/include/boost/type_traits/alignment_of.hpp" 1 3 4
64673 # 22 "/usr/include/boost/optional/optional.hpp" 2 3 4
64674 # 1 "/usr/include/boost/type_traits/type_with_alignment.hpp" 1 3 4
64675 # 23 "/usr/include/boost/optional/optional.hpp" 2 3 4
64676
64677
64678
64679
64680
64681 # 1 "/usr/include/boost/detail/reference_content.hpp" 1 3 4
64682 # 14 "/usr/include/boost/detail/reference_content.hpp" 3 4
64683 #define BOOST_DETAIL_REFERENCE_CONTENT_HPP 
64684
64685
64686
64687
64688
64689 # 1 "/usr/include/boost/type_traits/has_nothrow_copy.hpp" 1 3 4
64690 # 21 "/usr/include/boost/detail/reference_content.hpp" 2 3 4
64691
64692
64693
64694
64695
64696
64697
64698 namespace boost {
64699
64700 namespace detail {
64701
64702
64703
64704
64705
64706
64707 template <typename RefT>
64708 class reference_content
64709 {
64710 private:
64711
64712     RefT content_;
64713
64714 public:
64715
64716     ~reference_content()
64717     {
64718     }
64719
64720     reference_content(RefT r)
64721         : content_( r )
64722     {
64723     }
64724
64725     reference_content(const reference_content& operand)
64726         : content_( operand.content_ )
64727     {
64728     }
64729
64730 private:
64731
64732     reference_content& operator=(const reference_content&);
64733
64734 public:
64735
64736     RefT get() const
64737     {
64738         return content_;
64739     }
64740
64741 };
64742
64743
64744
64745
64746
64747
64748
64749 template <typename T = mpl::void_> struct make_reference_content;
64750
64751
64752
64753 template <typename T>
64754 struct make_reference_content
64755 {
64756     typedef T type;
64757 };
64758
64759 template <typename T>
64760 struct make_reference_content< T& >
64761 {
64762     typedef reference_content<T&> type;
64763 };
64764 # 109 "/usr/include/boost/detail/reference_content.hpp" 3 4
64765 template <>
64766 struct make_reference_content< mpl::void_ >
64767 {
64768     template <typename T>
64769     struct apply
64770         : make_reference_content<T>
64771     {
64772     };
64773
64774     typedef mpl::void_ type;
64775 };
64776
64777 }
64778
64779
64780
64781
64782
64783
64784
64785 template <typename T>
64786 struct has_nothrow_copy<
64787       ::boost::detail::reference_content< T& >
64788     >
64789     : mpl::true_
64790 {
64791 };
64792
64793
64794
64795 }
64796 # 29 "/usr/include/boost/optional/optional.hpp" 2 3 4
64797 # 1 "/usr/include/boost/none_t.hpp" 1 3 4
64798 # 13 "/usr/include/boost/none_t.hpp" 3 4
64799 #define BOOST_NONE_T_17SEP2003_HPP 
64800
64801 namespace boost {
64802
64803 namespace detail { struct none_helper{}; }
64804
64805 typedef int detail::none_helper::*none_t ;
64806
64807 }
64808 # 30 "/usr/include/boost/optional/optional.hpp" 2 3 4
64809 # 1 "/usr/include/boost/utility/compare_pointees.hpp" 1 3 4
64810 # 13 "/usr/include/boost/utility/compare_pointees.hpp" 3 4
64811 #define BOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP 
64812
64813 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/functional" 1 3 4
64814 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/functional" 3 4
64815 #define _GLIBCXX_FUNCTIONAL 1
64816
64817        
64818 # 52 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/functional" 3
64819 #pragma GCC visibility push(default)
64820
64821
64822
64823
64824
64825 #pragma GCC visibility pop
64826 # 16 "/usr/include/boost/utility/compare_pointees.hpp" 2 3 4
64827
64828 namespace boost {
64829 # 28 "/usr/include/boost/utility/compare_pointees.hpp" 3 4
64830 template<class OptionalPointee>
64831 inline
64832 bool equal_pointees ( OptionalPointee const& x, OptionalPointee const& y )
64833 {
64834   return (!x) != (!y) ? false : ( !x ? true : (*x) == (*y) ) ;
64835 }
64836
64837 template<class OptionalPointee>
64838 struct equal_pointees_t : std::binary_function<OptionalPointee,OptionalPointee,bool>
64839 {
64840   bool operator() ( OptionalPointee const& x, OptionalPointee const& y ) const
64841     { return equal_pointees(x,y) ; }
64842 } ;
64843 # 51 "/usr/include/boost/utility/compare_pointees.hpp" 3 4
64844 template<class OptionalPointee>
64845 inline
64846 bool less_pointees ( OptionalPointee const& x, OptionalPointee const& y )
64847 {
64848   return !y ? false : ( !x ? true : (*x) < (*y) ) ;
64849 }
64850
64851 template<class OptionalPointee>
64852 struct less_pointees_t : std::binary_function<OptionalPointee,OptionalPointee,bool>
64853 {
64854   bool operator() ( OptionalPointee const& x, OptionalPointee const& y ) const
64855     { return less_pointees(x,y) ; }
64856 } ;
64857
64858 }
64859 # 31 "/usr/include/boost/optional/optional.hpp" 2 3 4
64860 # 78 "/usr/include/boost/optional/optional.hpp" 3 4
64861 namespace boost {
64862
64863 class in_place_factory_base ;
64864 class typed_in_place_factory_base ;
64865
64866 namespace optional_detail {
64867
64868
64869
64870
64871
64872 template <class T>
64873 class aligned_storage
64874 {
64875
64876     union dummy_u
64877     {
64878         char data[ sizeof(T) ];
64879         typename type_with_alignment<
64880           ::boost::alignment_of<T>::value >::type aligner_;
64881     } dummy_ ;
64882
64883   public:
64884
64885     void const* address() const { return &dummy_.data[0]; }
64886     void * address() { return &dummy_.data[0]; }
64887 } ;
64888
64889 template<class T>
64890 struct types_when_isnt_ref
64891 {
64892   typedef T const& reference_const_type ;
64893   typedef T & reference_type ;
64894   typedef T const* pointer_const_type ;
64895   typedef T * pointer_type ;
64896   typedef T const& argument_type ;
64897 } ;
64898 template<class T>
64899 struct types_when_is_ref
64900 {
64901   typedef typename remove_reference<T>::type raw_type ;
64902
64903   typedef raw_type& reference_const_type ;
64904   typedef raw_type& reference_type ;
64905   typedef raw_type* pointer_const_type ;
64906   typedef raw_type* pointer_type ;
64907   typedef raw_type& argument_type ;
64908 } ;
64909
64910 struct optional_tag {} ;
64911
64912 template<class T>
64913 class optional_base : public optional_tag
64914 {
64915   private :
64916
64917     typedef typename detail::make_reference_content<T>::type internal_type ;
64918
64919     typedef aligned_storage<internal_type> storage_type ;
64920
64921     typedef types_when_isnt_ref<T> types_when_not_ref ;
64922     typedef types_when_is_ref<T> types_when_ref ;
64923
64924     typedef optional_base<T> this_type ;
64925
64926   protected :
64927
64928     typedef T value_type ;
64929
64930     typedef mpl::true_ is_reference_tag ;
64931     typedef mpl::false_ is_not_reference_tag ;
64932
64933     typedef typename is_reference<T>::type is_reference_predicate ;
64934
64935     typedef typename mpl::if_<is_reference_predicate,types_when_ref,types_when_not_ref>::type types ;
64936
64937     typedef bool (this_type::*unspecified_bool_type)() const;
64938
64939     typedef typename types::reference_type reference_type ;
64940     typedef typename types::reference_const_type reference_const_type ;
64941     typedef typename types::pointer_type pointer_type ;
64942     typedef typename types::pointer_const_type pointer_const_type ;
64943     typedef typename types::argument_type argument_type ;
64944
64945
64946
64947     optional_base()
64948       :
64949       m_initialized(false) {}
64950
64951
64952
64953     optional_base ( none_t const& )
64954       :
64955       m_initialized(false) {}
64956
64957
64958
64959     optional_base ( argument_type val )
64960       :
64961       m_initialized(false)
64962     {
64963       construct(val);
64964     }
64965
64966
64967
64968     optional_base ( optional_base const& rhs )
64969       :
64970       m_initialized(false)
64971     {
64972       if ( rhs.is_initialized() )
64973         construct(rhs.get_impl());
64974     }
64975
64976
64977
64978
64979
64980     template<class Expr>
64981     explicit optional_base ( Expr const& expr, Expr const* tag )
64982       :
64983       m_initialized(false)
64984     {
64985       construct(expr,tag);
64986     }
64987
64988
64989
64990
64991     ~optional_base() { destroy() ; }
64992
64993
64994     void assign ( optional_base const& rhs )
64995     {
64996       if (is_initialized())
64997       {
64998         if ( rhs.is_initialized() )
64999              assign_value(rhs.get_impl(), is_reference_predicate() );
65000         else destroy();
65001       }
65002       else
65003       {
65004         if ( rhs.is_initialized() )
65005           construct(rhs.get_impl());
65006       }
65007     }
65008
65009
65010     void assign ( argument_type val )
65011     {
65012       if (is_initialized())
65013            assign_value(val, is_reference_predicate() );
65014       else construct(val);
65015     }
65016
65017
65018
65019     void assign ( none_t const& ) { destroy(); }
65020
65021
65022     template<class Expr>
65023     void assign_expr ( Expr const& expr, Expr const* tag )
65024       {
65025         if (is_initialized())
65026              assign_expr_to_initialized(expr,tag);
65027         else construct(expr,tag);
65028       }
65029
65030
65031   public :
65032
65033
65034
65035     void reset() { destroy(); }
65036
65037
65038     void reset ( argument_type val ) { assign(val); }
65039
65040
65041
65042
65043     pointer_const_type get_ptr() const { return m_initialized ? get_ptr_impl() : 0 ; }
65044     pointer_type get_ptr() { return m_initialized ? get_ptr_impl() : 0 ; }
65045
65046     bool is_initialized() const { return m_initialized ; }
65047
65048   protected :
65049
65050     void construct ( argument_type val )
65051      {
65052        new (m_storage.address()) internal_type(val) ;
65053        m_initialized = true ;
65054      }
65055
65056
65057
65058     template<class Expr>
65059     void construct ( Expr const& factory, in_place_factory_base const* )
65060      {
65061        typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( ::boost::mpl::not_<is_reference_predicate>::value ) >)> boost_static_assert_typedef_278 ;
65062        factory.template apply<value_type>(m_storage.address()) ;
65063        m_initialized = true ;
65064      }
65065
65066
65067     template<class Expr>
65068     void construct ( Expr const& factory, typed_in_place_factory_base const* )
65069      {
65070        typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( ::boost::mpl::not_<is_reference_predicate>::value ) >)> boost_static_assert_typedef_287 ;
65071        factory.apply(m_storage.address()) ;
65072        m_initialized = true ;
65073      }
65074
65075     template<class Expr>
65076     void assign_expr_to_initialized ( Expr const& factory, in_place_factory_base const* tag )
65077      {
65078        destroy();
65079        construct(factory,tag);
65080      }
65081
65082
65083     template<class Expr>
65084     void assign_expr_to_initialized ( Expr const& factory, typed_in_place_factory_base const* tag )
65085      {
65086        destroy();
65087        construct(factory,tag);
65088      }
65089
65090
65091
65092
65093
65094
65095     template<class Expr>
65096     void construct ( Expr const& expr, void const* )
65097      {
65098        new (m_storage.address()) internal_type(expr) ;
65099        m_initialized = true ;
65100      }
65101
65102
65103
65104
65105
65106     template<class Expr>
65107     void assign_expr_to_initialized ( Expr const& expr, void const* )
65108      {
65109        assign_value(expr, is_reference_predicate());
65110      }
65111 # 356 "/usr/include/boost/optional/optional.hpp" 3 4
65112     void assign_value ( argument_type val, is_not_reference_tag ) { get_impl() = val; }
65113     void assign_value ( argument_type val, is_reference_tag ) { construct(val); }
65114
65115     void destroy()
65116     {
65117       if ( m_initialized )
65118         destroy_impl(is_reference_predicate()) ;
65119     }
65120
65121     unspecified_bool_type safe_bool() const { return m_initialized ? &this_type::is_initialized : 0 ; }
65122
65123     reference_const_type get_impl() const { return dereference(get_object(), is_reference_predicate() ) ; }
65124     reference_type get_impl() { return dereference(get_object(), is_reference_predicate() ) ; }
65125
65126     pointer_const_type get_ptr_impl() const { return cast_ptr(get_object(), is_reference_predicate() ) ; }
65127     pointer_type get_ptr_impl() { return cast_ptr(get_object(), is_reference_predicate() ) ; }
65128
65129   private :
65130
65131
65132     internal_type const* get_object() const { return static_cast<internal_type const*>(m_storage.address()); }
65133     internal_type * get_object() { return static_cast<internal_type *> (m_storage.address()); }
65134
65135
65136     reference_const_type dereference( internal_type const* p, is_not_reference_tag ) const { return *p ; }
65137     reference_type dereference( internal_type* p, is_not_reference_tag ) { return *p ; }
65138     reference_const_type dereference( internal_type const* p, is_reference_tag ) const { return p->get() ; }
65139     reference_type dereference( internal_type* p, is_reference_tag ) { return p->get() ; }
65140
65141
65142
65143
65144     void destroy_impl ( is_not_reference_tag ) { get_ptr_impl()->T::~T() ; m_initialized = false ; }
65145
65146
65147     void destroy_impl ( is_reference_tag ) { m_initialized = false ; }
65148
65149
65150
65151
65152     pointer_const_type cast_ptr( internal_type const* p, is_not_reference_tag ) const { return p ; }
65153     pointer_type cast_ptr( internal_type * p, is_not_reference_tag ) { return p ; }
65154
65155     bool m_initialized ;
65156     storage_type m_storage ;
65157 } ;
65158
65159 }
65160
65161 template<class T>
65162 class optional : public optional_detail::optional_base<T>
65163 {
65164     typedef optional_detail::optional_base<T> base ;
65165
65166     typedef typename base::unspecified_bool_type unspecified_bool_type ;
65167
65168   public :
65169
65170     typedef optional<T> this_type ;
65171
65172     typedef typename base::value_type value_type ;
65173     typedef typename base::reference_type reference_type ;
65174     typedef typename base::reference_const_type reference_const_type ;
65175     typedef typename base::pointer_type pointer_type ;
65176     typedef typename base::pointer_const_type pointer_const_type ;
65177     typedef typename base::argument_type argument_type ;
65178
65179
65180
65181     optional() : base() {}
65182
65183
65184
65185     optional( none_t const& none_ ) : base(none_) {}
65186
65187
65188
65189     optional ( argument_type val ) : base(val) {}
65190 # 442 "/usr/include/boost/optional/optional.hpp" 3 4
65191     template<class U>
65192     explicit optional ( optional<U> const& rhs )
65193       :
65194       base()
65195     {
65196       if ( rhs.is_initialized() )
65197         this->construct(rhs.get());
65198     }
65199 # 462 "/usr/include/boost/optional/optional.hpp" 3 4
65200     template<class Expr>
65201     explicit optional ( Expr const& expr ) : base(expr,&expr) {}
65202
65203
65204
65205
65206     optional ( optional const& rhs ) : base(rhs) {}
65207
65208
65209     ~optional() {}
65210
65211
65212
65213
65214     template<class Expr>
65215     optional& operator= ( Expr expr )
65216       {
65217         this->assign_expr(expr,&expr);
65218         return *this ;
65219       }
65220
65221
65222
65223
65224
65225
65226     template<class U>
65227     optional& operator= ( optional<U> const& rhs )
65228       {
65229         this->assign(rhs.get());
65230         return *this ;
65231       }
65232
65233
65234
65235
65236
65237     optional& operator= ( optional const& rhs )
65238       {
65239         this->assign( rhs ) ;
65240         return *this ;
65241       }
65242
65243
65244
65245     optional& operator= ( argument_type val )
65246       {
65247         this->assign( val ) ;
65248         return *this ;
65249       }
65250
65251
65252
65253
65254     optional& operator= ( none_t const& none_ )
65255       {
65256         this->assign( none_ ) ;
65257         return *this ;
65258       }
65259
65260
65261
65262
65263     reference_const_type get() const { (static_cast<void> ((this->is_initialized()) ? 0 : (__assert_fail ("this->is_initialized()", "/usr/include/boost/optional/optional.hpp", 525, __PRETTY_FUNCTION__), 0))) ; return this->get_impl(); }
65264     reference_type get() { (static_cast<void> ((this->is_initialized()) ? 0 : (__assert_fail ("this->is_initialized()", "/usr/include/boost/optional/optional.hpp", 526, __PRETTY_FUNCTION__), 0))) ; return this->get_impl(); }
65265
65266
65267
65268
65269     pointer_const_type operator->() const { (static_cast<void> ((this->is_initialized()) ? 0 : (__assert_fail ("this->is_initialized()", "/usr/include/boost/optional/optional.hpp", 531, __PRETTY_FUNCTION__), 0))) ; return this->get_ptr_impl() ; }
65270     pointer_type operator->() { (static_cast<void> ((this->is_initialized()) ? 0 : (__assert_fail ("this->is_initialized()", "/usr/include/boost/optional/optional.hpp", 532, __PRETTY_FUNCTION__), 0))) ; return this->get_ptr_impl() ; }
65271
65272
65273
65274
65275     reference_const_type operator *() const { return this->get() ; }
65276     reference_type operator *() { return this->get() ; }
65277
65278
65279
65280     operator unspecified_bool_type() const { return this->safe_bool() ; }
65281
65282
65283
65284        bool operator!() const { return !this->is_initialized() ; }
65285 } ;
65286
65287
65288
65289 template<class T>
65290 inline
65291 typename optional<T>::reference_const_type
65292 get ( optional<T> const& opt )
65293 {
65294   return opt.get() ;
65295 }
65296
65297 template<class T>
65298 inline
65299 typename optional<T>::reference_type
65300 get ( optional<T>& opt )
65301 {
65302   return opt.get() ;
65303 }
65304
65305
65306
65307 template<class T>
65308 inline
65309 typename optional<T>::pointer_const_type
65310 get ( optional<T> const* opt )
65311 {
65312   return opt->get_ptr() ;
65313 }
65314
65315 template<class T>
65316 inline
65317 typename optional<T>::pointer_type
65318 get ( optional<T>* opt )
65319 {
65320   return opt->get_ptr() ;
65321 }
65322
65323
65324
65325 template<class T>
65326 inline
65327 typename optional<T>::pointer_const_type
65328 get_pointer ( optional<T> const& opt )
65329 {
65330   return opt.get_ptr() ;
65331 }
65332
65333 template<class T>
65334 inline
65335 typename optional<T>::pointer_type
65336 get_pointer ( optional<T>& opt )
65337 {
65338   return opt.get_ptr() ;
65339 }
65340
65341
65342
65343
65344 template<class T>
65345 inline
65346 bool operator == ( optional<T> const& x, optional<T> const& y )
65347 { return equal_pointees(x,y); }
65348
65349 template<class T>
65350 inline
65351 bool operator < ( optional<T> const& x, optional<T> const& y )
65352 { return less_pointees(x,y); }
65353
65354 template<class T>
65355 inline
65356 bool operator != ( optional<T> const& x, optional<T> const& y )
65357 { return !( x == y ) ; }
65358
65359 template<class T>
65360 inline
65361 bool operator > ( optional<T> const& x, optional<T> const& y )
65362 { return y < x ; }
65363
65364 template<class T>
65365 inline
65366 bool operator <= ( optional<T> const& x, optional<T> const& y )
65367 { return !( y < x ) ; }
65368
65369 template<class T>
65370 inline
65371 bool operator >= ( optional<T> const& x, optional<T> const& y )
65372 { return !( x < y ) ; }
65373
65374 template<class T>
65375 inline
65376 bool operator == ( optional<T> const& x, none_t const& )
65377 { return equal_pointees(x, optional<T>() ); }
65378
65379 template<class T>
65380 inline
65381 bool operator < ( optional<T> const& x, none_t const& )
65382 { return less_pointees(x,optional<T>() ); }
65383
65384 template<class T>
65385 inline
65386 bool operator != ( optional<T> const& x, none_t const& y )
65387 { return !( x == y ) ; }
65388
65389 template<class T>
65390 inline
65391 bool operator > ( optional<T> const& x, none_t const& y )
65392 { return y < x ; }
65393
65394 template<class T>
65395 inline
65396 bool operator <= ( optional<T> const& x, none_t const& y )
65397 { return !( y < x ) ; }
65398
65399 template<class T>
65400 inline
65401 bool operator >= ( optional<T> const& x, none_t const& y )
65402 { return !( x < y ) ; }
65403
65404 template<class T>
65405 inline
65406 bool operator == ( none_t const& x, optional<T> const& y )
65407 { return equal_pointees(optional<T>() ,y); }
65408
65409 template<class T>
65410 inline
65411 bool operator < ( none_t const& x, optional<T> const& y )
65412 { return less_pointees(optional<T>() ,y); }
65413
65414 template<class T>
65415 inline
65416 bool operator != ( none_t const& x, optional<T> const& y )
65417 { return !( x == y ) ; }
65418
65419 template<class T>
65420 inline
65421 bool operator > ( none_t const& x, optional<T> const& y )
65422 { return y < x ; }
65423
65424 template<class T>
65425 inline
65426 bool operator <= ( none_t const& x, optional<T> const& y )
65427 { return !( y < x ) ; }
65428
65429 template<class T>
65430 inline
65431 bool operator >= ( none_t const& x, optional<T> const& y )
65432 { return !( x < y ) ; }
65433
65434
65435
65436
65437
65438 namespace optional_detail {
65439 # 714 "/usr/include/boost/optional/optional.hpp" 3 4
65440 template<class T>
65441 inline
65442 void optional_swap ( optional<T>& x, optional<T>& y )
65443 {
65444   if ( !x && !!y )
65445   {
65446     x.reset(*y);
65447     y.reset();
65448   }
65449   else if ( !!x && !y )
65450   {
65451     y.reset(*x);
65452     x.reset();
65453   }
65454   else if ( !!x && !!y )
65455   {
65456
65457
65458
65459     using std::swap ;
65460
65461     swap(*x,*y);
65462   }
65463 }
65464
65465 }
65466
65467 template<class T> inline void swap ( optional<T>& x, optional<T>& y )
65468 {
65469   optional_detail::optional_swap(x,y);
65470 }
65471
65472 }
65473 # 16 "/usr/include/boost/optional.hpp" 2 3 4
65474 # 32 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp" 2
65475 # 41 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp"
65476 # 1 "/usr/include/boost/iterator/iterator_facade.hpp" 1 3 4
65477
65478
65479
65480
65481
65482
65483
65484 #define BOOST_ITERATOR_FACADE_23022003THW_HPP 
65485
65486 # 1 "/usr/include/boost/iterator.hpp" 1 3 4
65487 # 15 "/usr/include/boost/iterator.hpp" 3 4
65488 #define BOOST_ITERATOR_HPP 
65489
65490 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iterator" 1 3 4
65491 # 61 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iterator" 3 4
65492 #define _GLIBCXX_ITERATOR 1
65493
65494        
65495 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iterator" 3
65496 #pragma GCC visibility push(default)
65497
65498
65499
65500
65501
65502
65503 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 1 3
65504 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
65505 #define _GLIBCXX_OSTREAM 1
65506
65507        
65508 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
65509 #pragma GCC visibility push(default)
65510
65511 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ios" 1 3
65512 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ios" 3
65513 #define _GLIBCXX_IOS 1
65514
65515        
65516 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ios" 3
65517 #pragma GCC visibility push(default)
65518
65519
65520
65521
65522
65523 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/localefwd.h" 1 3
65524 # 41 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/localefwd.h" 3
65525 #define _LOCALE_FWD_H 1
65526
65527        
65528 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/localefwd.h" 3
65529
65530
65531
65532
65533
65534
65535 namespace std
65536 {
65537
65538   class locale;
65539
65540
65541   template<typename _CharT>
65542     inline bool
65543     isspace(_CharT, const locale&);
65544
65545   template<typename _CharT>
65546     inline bool
65547     isprint(_CharT, const locale&);
65548
65549   template<typename _CharT>
65550     inline bool
65551     iscntrl(_CharT, const locale&);
65552
65553   template<typename _CharT>
65554     inline bool
65555     isupper(_CharT, const locale&);
65556
65557   template<typename _CharT>
65558     inline bool
65559     islower(_CharT, const locale&);
65560
65561   template<typename _CharT>
65562     inline bool
65563     isalpha(_CharT, const locale&);
65564
65565   template<typename _CharT>
65566     inline bool
65567     isdigit(_CharT, const locale&);
65568
65569   template<typename _CharT>
65570     inline bool
65571     ispunct(_CharT, const locale&);
65572
65573   template<typename _CharT>
65574     inline bool
65575     isxdigit(_CharT, const locale&);
65576
65577   template<typename _CharT>
65578     inline bool
65579     isalnum(_CharT, const locale&);
65580
65581   template<typename _CharT>
65582     inline bool
65583     isgraph(_CharT, const locale&);
65584
65585   template<typename _CharT>
65586     inline _CharT
65587     toupper(_CharT, const locale&);
65588
65589   template<typename _CharT>
65590     inline _CharT
65591     tolower(_CharT, const locale&);
65592
65593
65594   class ctype_base;
65595   template<typename _CharT>
65596     class ctype;
65597   template<> class ctype<char>;
65598
65599   template<> class ctype<wchar_t>;
65600
65601   template<typename _CharT>
65602     class ctype_byname;
65603
65604
65605   class codecvt_base;
65606   class __enc_traits;
65607   template<typename _InternT, typename _ExternT, typename _StateT>
65608     class codecvt;
65609   template<> class codecvt<char, char, mbstate_t>;
65610
65611   template<> class codecvt<wchar_t, char, mbstate_t>;
65612
65613   template<typename _InternT, typename _ExternT, typename _StateT>
65614     class codecvt_byname;
65615
65616
65617   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
65618     class num_get;
65619   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
65620     class num_put;
65621   template<typename _CharT> class numpunct;
65622   template<typename _CharT> class numpunct_byname;
65623
65624
65625   template<typename _CharT>
65626     class collate;
65627   template<typename _CharT> class
65628     collate_byname;
65629
65630
65631   class time_base;
65632   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
65633     class time_get;
65634   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
65635     class time_get_byname;
65636   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
65637     class time_put;
65638   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
65639     class time_put_byname;
65640
65641
65642   class money_base;
65643   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
65644     class money_get;
65645   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
65646     class money_put;
65647   template<typename _CharT, bool _Intl = false>
65648     class moneypunct;
65649   template<typename _CharT, bool _Intl = false>
65650     class moneypunct_byname;
65651
65652
65653   class messages_base;
65654   template<typename _CharT>
65655     class messages;
65656   template<typename _CharT>
65657     class messages_byname;
65658
65659   template<typename _Facet>
65660     bool
65661     has_facet(const locale& __loc) throw();
65662
65663   template<typename _Facet>
65664     const _Facet&
65665     use_facet(const locale& __loc);
65666
65667   template<typename _Facet>
65668     inline const _Facet&
65669     __check_facet(const _Facet* __f)
65670     {
65671       if (!__f)
65672  __throw_bad_cast();
65673       return *__f;
65674     }
65675 }
65676 # 50 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ios" 2 3
65677 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 1 3
65678 # 41 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
65679 #define _IOS_BASE_H 1
65680
65681        
65682 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
65683
65684
65685
65686 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 1 3
65687 # 41 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65688 #define _LOCALE_CLASSES_H 1
65689
65690        
65691 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65692
65693
65694
65695
65696
65697
65698
65699 namespace std
65700 {
65701 # 67 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65702   class locale
65703   {
65704   public:
65705
65706
65707     typedef int category;
65708
65709
65710     class facet;
65711     class id;
65712     class _Impl;
65713
65714     friend class facet;
65715     friend class _Impl;
65716
65717     template<typename _Facet>
65718       friend bool
65719       has_facet(const locale&) throw();
65720
65721     template<typename _Facet>
65722       friend const _Facet&
65723       use_facet(const locale&);
65724
65725     template<typename _Cache>
65726       friend struct __use_cache;
65727 # 105 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65728     static const category none = 0;
65729     static const category ctype = 1L << 0;
65730     static const category numeric = 1L << 1;
65731     static const category collate = 1L << 2;
65732     static const category time = 1L << 3;
65733     static const category monetary = 1L << 4;
65734     static const category messages = 1L << 5;
65735     static const category all = (ctype | numeric | collate |
65736         time | monetary | messages);
65737 # 124 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65738     locale() throw();
65739 # 133 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65740     locale(const locale& __other) throw();
65741 # 143 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65742     explicit
65743     locale(const char* __s);
65744 # 158 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65745     locale(const locale& __base, const char* __s, category __cat);
65746 # 171 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65747     locale(const locale& __base, const locale& __add, category __cat);
65748 # 183 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65749     template<typename _Facet>
65750       locale(const locale& __other, _Facet* __f);
65751
65752
65753     ~locale() throw();
65754 # 197 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65755     const locale&
65756     operator=(const locale& __other) throw();
65757 # 212 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65758     template<typename _Facet>
65759       locale
65760       combine(const locale& __other) const;
65761
65762
65763
65764
65765
65766
65767     string
65768     name() const;
65769 # 231 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65770     bool
65771     operator==(const locale& __other) const throw ();
65772
65773
65774
65775
65776
65777
65778
65779     inline bool
65780     operator!=(const locale& __other) const throw ()
65781     { return !(this->operator==(__other)); }
65782 # 259 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65783     template<typename _Char, typename _Traits, typename _Alloc>
65784       bool
65785       operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
65786    const basic_string<_Char, _Traits, _Alloc>& __s2) const;
65787 # 275 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65788     static locale
65789     global(const locale&);
65790
65791
65792
65793
65794     static const locale&
65795     classic();
65796
65797   private:
65798
65799     _Impl* _M_impl;
65800
65801
65802     static _Impl* _S_classic;
65803
65804
65805     static _Impl* _S_global;
65806
65807
65808
65809
65810
65811     static const char* const* const _S_categories;
65812 # 310 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65813     enum { _S_categories_size = 6 + 6 };
65814
65815
65816     static __gthread_once_t _S_once;
65817
65818
65819     explicit
65820     locale(_Impl*) throw();
65821
65822     static void
65823     _S_initialize();
65824
65825     static void
65826     _S_initialize_once();
65827
65828     static category
65829     _S_normalize_category(category);
65830
65831     void
65832     _M_coalesce(const locale& __base, const locale& __add, category __cat);
65833   };
65834 # 343 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65835   class locale::facet
65836   {
65837   private:
65838     friend class locale;
65839     friend class locale::_Impl;
65840
65841     mutable _Atomic_word _M_refcount;
65842
65843
65844     static __c_locale _S_c_locale;
65845
65846
65847     static const char _S_c_name[2];
65848
65849
65850     static __gthread_once_t _S_once;
65851
65852
65853     static void
65854     _S_initialize_once();
65855
65856   protected:
65857 # 374 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65858     explicit
65859     facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0)
65860     { }
65861
65862
65863     virtual
65864     ~facet();
65865
65866     static void
65867     _S_create_c_locale(__c_locale& __cloc, const char* __s,
65868          __c_locale __old = 0);
65869
65870     static __c_locale
65871     _S_clone_c_locale(__c_locale& __cloc);
65872
65873     static void
65874     _S_destroy_c_locale(__c_locale& __cloc);
65875
65876
65877
65878     static __c_locale
65879     _S_get_c_locale();
65880
65881     static const char*
65882     _S_get_c_name();
65883
65884   private:
65885     inline void
65886     _M_add_reference() const throw()
65887     { __gnu_cxx::__atomic_add(&_M_refcount, 1); }
65888
65889     inline void
65890     _M_remove_reference() const throw()
65891     {
65892       if (__gnu_cxx::__exchange_and_add(&_M_refcount, -1) == 1)
65893  {
65894    try
65895      { delete this; }
65896    catch (...)
65897      { }
65898  }
65899     }
65900
65901     facet(const facet&);
65902
65903     facet&
65904     operator=(const facet&);
65905   };
65906 # 434 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
65907   class locale::id
65908   {
65909   private:
65910     friend class locale;
65911     friend class locale::_Impl;
65912
65913     template<typename _Facet>
65914       friend const _Facet&
65915       use_facet(const locale&);
65916
65917     template<typename _Facet>
65918       friend bool
65919       has_facet(const locale&) throw ();
65920
65921
65922
65923
65924     mutable size_t _M_index;
65925
65926
65927     static _Atomic_word _S_refcount;
65928
65929     void
65930     operator=(const id&);
65931
65932     id(const id&);
65933
65934   public:
65935
65936
65937
65938     id() { }
65939
65940     size_t
65941     _M_id() const;
65942   };
65943
65944
65945
65946   class locale::_Impl
65947   {
65948   public:
65949
65950     friend class locale;
65951     friend class locale::facet;
65952
65953     template<typename _Facet>
65954       friend bool
65955       has_facet(const locale&) throw();
65956
65957     template<typename _Facet>
65958       friend const _Facet&
65959       use_facet(const locale&);
65960
65961     template<typename _Cache>
65962       friend struct __use_cache;
65963
65964   private:
65965
65966     _Atomic_word _M_refcount;
65967     const facet** _M_facets;
65968     size_t _M_facets_size;
65969     const facet** _M_caches;
65970     char** _M_names;
65971     static const locale::id* const _S_id_ctype[];
65972     static const locale::id* const _S_id_numeric[];
65973     static const locale::id* const _S_id_collate[];
65974     static const locale::id* const _S_id_time[];
65975     static const locale::id* const _S_id_monetary[];
65976     static const locale::id* const _S_id_messages[];
65977     static const locale::id* const* const _S_facet_categories[];
65978
65979     inline void
65980     _M_add_reference() throw()
65981     { __gnu_cxx::__atomic_add(&_M_refcount, 1); }
65982
65983     inline void
65984     _M_remove_reference() throw()
65985     {
65986       if (__gnu_cxx::__exchange_and_add(&_M_refcount, -1) == 1)
65987  {
65988    try
65989      { delete this; }
65990    catch(...)
65991      { }
65992  }
65993     }
65994
65995     _Impl(const _Impl&, size_t);
65996     _Impl(const char*, size_t);
65997     _Impl(size_t) throw();
65998
65999    ~_Impl() throw();
66000
66001     _Impl(const _Impl&);
66002
66003     void
66004     operator=(const _Impl&);
66005
66006     inline bool
66007     _M_check_same_name()
66008     {
66009       bool __ret = true;
66010       if (_M_names[1])
66011
66012  for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
66013    __ret = std::strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
66014       return __ret;
66015     }
66016
66017     void
66018     _M_replace_categories(const _Impl*, category);
66019
66020     void
66021     _M_replace_category(const _Impl*, const locale::id* const*);
66022
66023     void
66024     _M_replace_facet(const _Impl*, const locale::id*);
66025
66026     void
66027     _M_install_facet(const locale::id*, const facet*);
66028
66029     template<typename _Facet>
66030       inline void
66031       _M_init_facet(_Facet* __facet)
66032       { _M_install_facet(&_Facet::id, __facet); }
66033
66034     void
66035     _M_install_cache(const facet*, size_t);
66036   };
66037
66038   template<typename _Facet>
66039     locale::locale(const locale& __other, _Facet* __f)
66040     {
66041       _M_impl = new _Impl(*__other._M_impl, 1);
66042
66043       try
66044  { _M_impl->_M_install_facet(&_Facet::id, __f); }
66045       catch(...)
66046  {
66047    _M_impl->_M_remove_reference();
66048    throw;
66049  }
66050       delete [] _M_impl->_M_names[0];
66051       _M_impl->_M_names[0] = 0;
66052     }
66053 }
66054 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 2 3
66055
66056 namespace std
66057 {
66058
66059
66060
66061
66062   enum _Ios_Fmtflags
66063     {
66064       _S_boolalpha = 1L << 0,
66065       _S_dec = 1L << 1,
66066       _S_fixed = 1L << 2,
66067       _S_hex = 1L << 3,
66068       _S_internal = 1L << 4,
66069       _S_left = 1L << 5,
66070       _S_oct = 1L << 6,
66071       _S_right = 1L << 7,
66072       _S_scientific = 1L << 8,
66073       _S_showbase = 1L << 9,
66074       _S_showpoint = 1L << 10,
66075       _S_showpos = 1L << 11,
66076       _S_skipws = 1L << 12,
66077       _S_unitbuf = 1L << 13,
66078       _S_uppercase = 1L << 14,
66079       _S_adjustfield = _S_left | _S_right | _S_internal,
66080       _S_basefield = _S_dec | _S_oct | _S_hex,
66081       _S_floatfield = _S_scientific | _S_fixed,
66082       _S_ios_fmtflags_end = 1L << 16
66083     };
66084
66085   inline _Ios_Fmtflags
66086   operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
66087   { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
66088
66089   inline _Ios_Fmtflags
66090   operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
66091   { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
66092
66093   inline _Ios_Fmtflags
66094   operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
66095   { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
66096
66097   inline _Ios_Fmtflags&
66098   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
66099   { return __a = __a | __b; }
66100
66101   inline _Ios_Fmtflags&
66102   operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
66103   { return __a = __a & __b; }
66104
66105   inline _Ios_Fmtflags&
66106   operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
66107   { return __a = __a ^ __b; }
66108
66109   inline _Ios_Fmtflags
66110   operator~(_Ios_Fmtflags __a)
66111   { return _Ios_Fmtflags(~static_cast<int>(__a)); }
66112
66113
66114   enum _Ios_Openmode
66115     {
66116       _S_app = 1L << 0,
66117       _S_ate = 1L << 1,
66118       _S_bin = 1L << 2,
66119       _S_in = 1L << 3,
66120       _S_out = 1L << 4,
66121       _S_trunc = 1L << 5,
66122       _S_ios_openmode_end = 1L << 16
66123     };
66124
66125   inline _Ios_Openmode
66126   operator&(_Ios_Openmode __a, _Ios_Openmode __b)
66127   { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
66128
66129   inline _Ios_Openmode
66130   operator|(_Ios_Openmode __a, _Ios_Openmode __b)
66131   { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
66132
66133   inline _Ios_Openmode
66134   operator^(_Ios_Openmode __a, _Ios_Openmode __b)
66135   { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
66136
66137   inline _Ios_Openmode&
66138   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
66139   { return __a = __a | __b; }
66140
66141   inline _Ios_Openmode&
66142   operator&=(_Ios_Openmode& __a, _Ios_Openmode __b)
66143   { return __a = __a & __b; }
66144
66145   inline _Ios_Openmode&
66146   operator^=(_Ios_Openmode& __a, _Ios_Openmode __b)
66147   { return __a = __a ^ __b; }
66148
66149   inline _Ios_Openmode
66150   operator~(_Ios_Openmode __a)
66151   { return _Ios_Openmode(~static_cast<int>(__a)); }
66152
66153
66154   enum _Ios_Iostate
66155     {
66156       _S_goodbit = 0,
66157       _S_badbit = 1L << 0,
66158       _S_eofbit = 1L << 1,
66159       _S_failbit = 1L << 2,
66160       _S_ios_iostate_end = 1L << 16
66161     };
66162
66163   inline _Ios_Iostate
66164   operator&(_Ios_Iostate __a, _Ios_Iostate __b)
66165   { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
66166
66167   inline _Ios_Iostate
66168   operator|(_Ios_Iostate __a, _Ios_Iostate __b)
66169   { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
66170
66171   inline _Ios_Iostate
66172   operator^(_Ios_Iostate __a, _Ios_Iostate __b)
66173   { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
66174
66175   inline _Ios_Iostate&
66176   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
66177   { return __a = __a | __b; }
66178
66179   inline _Ios_Iostate&
66180   operator&=(_Ios_Iostate& __a, _Ios_Iostate __b)
66181   { return __a = __a & __b; }
66182
66183   inline _Ios_Iostate&
66184   operator^=(_Ios_Iostate& __a, _Ios_Iostate __b)
66185   { return __a = __a ^ __b; }
66186
66187   inline _Ios_Iostate
66188   operator~(_Ios_Iostate __a)
66189   { return _Ios_Iostate(~static_cast<int>(__a)); }
66190
66191   enum _Ios_Seekdir
66192     {
66193       _S_beg = 0,
66194       _S_cur = 1,
66195       _S_end = 2,
66196       _S_ios_seekdir_end = 1L << 16
66197     };
66198 # 201 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66199   class ios_base
66200   {
66201   public:
66202
66203
66204
66205     class failure : public exception
66206     {
66207     public:
66208
66209
66210       explicit
66211       failure(const string& __str) throw();
66212
66213
66214
66215       virtual
66216       ~failure() throw();
66217
66218       virtual const char*
66219       what() const throw();
66220
66221     private:
66222       string _M_msg;
66223     };
66224 # 253 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66225     typedef _Ios_Fmtflags fmtflags;
66226
66227
66228     static const fmtflags boolalpha = _S_boolalpha;
66229
66230
66231     static const fmtflags dec = _S_dec;
66232
66233
66234     static const fmtflags fixed = _S_fixed;
66235
66236
66237     static const fmtflags hex = _S_hex;
66238
66239
66240
66241
66242     static const fmtflags internal = _S_internal;
66243
66244
66245
66246     static const fmtflags left = _S_left;
66247
66248
66249     static const fmtflags oct = _S_oct;
66250
66251
66252
66253     static const fmtflags right = _S_right;
66254
66255
66256     static const fmtflags scientific = _S_scientific;
66257
66258
66259
66260     static const fmtflags showbase = _S_showbase;
66261
66262
66263
66264     static const fmtflags showpoint = _S_showpoint;
66265
66266
66267     static const fmtflags showpos = _S_showpos;
66268
66269
66270     static const fmtflags skipws = _S_skipws;
66271
66272
66273     static const fmtflags unitbuf = _S_unitbuf;
66274
66275
66276
66277     static const fmtflags uppercase = _S_uppercase;
66278
66279
66280     static const fmtflags adjustfield = _S_adjustfield;
66281
66282
66283     static const fmtflags basefield = _S_basefield;
66284
66285
66286     static const fmtflags floatfield = _S_floatfield;
66287 # 328 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66288     typedef _Ios_Iostate iostate;
66289
66290
66291
66292     static const iostate badbit = _S_badbit;
66293
66294
66295     static const iostate eofbit = _S_eofbit;
66296
66297
66298
66299
66300     static const iostate failbit = _S_failbit;
66301
66302
66303     static const iostate goodbit = _S_goodbit;
66304 # 359 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66305     typedef _Ios_Openmode openmode;
66306
66307
66308     static const openmode app = _S_app;
66309
66310
66311     static const openmode ate = _S_ate;
66312
66313
66314
66315
66316
66317     static const openmode binary = _S_bin;
66318
66319
66320     static const openmode in = _S_in;
66321
66322
66323     static const openmode out = _S_out;
66324
66325
66326     static const openmode trunc = _S_trunc;
66327 # 392 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66328     typedef _Ios_Seekdir seekdir;
66329
66330
66331     static const seekdir beg = _S_beg;
66332
66333
66334     static const seekdir cur = _S_cur;
66335
66336
66337     static const seekdir end = _S_end;
66338
66339
66340     typedef int io_state;
66341     typedef int open_mode;
66342     typedef int seek_dir;
66343
66344     typedef std::streampos streampos;
66345     typedef std::streamoff streamoff;
66346 # 418 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66347     enum event
66348     {
66349       erase_event,
66350       imbue_event,
66351       copyfmt_event
66352     };
66353 # 435 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66354     typedef void (*event_callback) (event, ios_base&, int);
66355 # 447 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66356     void
66357     register_callback(event_callback __fn, int __index);
66358
66359   protected:
66360
66361
66362
66363
66364
66365
66366     streamsize _M_precision;
66367     streamsize _M_width;
66368     fmtflags _M_flags;
66369     iostate _M_exception;
66370     iostate _M_streambuf_state;
66371
66372
66373
66374
66375     struct _Callback_list
66376     {
66377
66378       _Callback_list* _M_next;
66379       ios_base::event_callback _M_fn;
66380       int _M_index;
66381       _Atomic_word _M_refcount;
66382
66383       _Callback_list(ios_base::event_callback __fn, int __index,
66384        _Callback_list* __cb)
66385       : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
66386
66387       void
66388       _M_add_reference() { __gnu_cxx::__atomic_add(&_M_refcount, 1); }
66389
66390
66391       int
66392       _M_remove_reference()
66393       { return __gnu_cxx::__exchange_and_add(&_M_refcount, -1); }
66394     };
66395
66396      _Callback_list* _M_callbacks;
66397
66398     void
66399     _M_call_callbacks(event __ev) throw();
66400
66401     void
66402     _M_dispose_callbacks(void);
66403
66404
66405     struct _Words
66406     {
66407       void* _M_pword;
66408       long _M_iword;
66409       _Words() : _M_pword(0), _M_iword(0) { }
66410     };
66411
66412
66413     _Words _M_word_zero;
66414
66415
66416
66417     enum { _S_local_word_size = 8 };
66418     _Words _M_local_word[_S_local_word_size];
66419
66420
66421     int _M_word_size;
66422     _Words* _M_word;
66423
66424     _Words&
66425     _M_grow_words(int __index, bool __iword);
66426
66427
66428     locale _M_ios_locale;
66429
66430     void
66431     _M_init();
66432
66433   public:
66434
66435
66436
66437
66438
66439     class Init
66440     {
66441       friend class ios_base;
66442     public:
66443       Init();
66444       ~Init();
66445
66446     private:
66447       static _Atomic_word _S_refcount;
66448       static bool _S_synced_with_stdio;
66449     };
66450
66451
66452
66453
66454
66455
66456     inline fmtflags
66457     flags() const { return _M_flags; }
66458 # 557 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66459     inline fmtflags
66460     flags(fmtflags __fmtfl)
66461     {
66462       fmtflags __old = _M_flags;
66463       _M_flags = __fmtfl;
66464       return __old;
66465     }
66466 # 573 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66467     inline fmtflags
66468     setf(fmtflags __fmtfl)
66469     {
66470       fmtflags __old = _M_flags;
66471       _M_flags |= __fmtfl;
66472       return __old;
66473     }
66474 # 590 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66475     inline fmtflags
66476     setf(fmtflags __fmtfl, fmtflags __mask)
66477     {
66478       fmtflags __old = _M_flags;
66479       _M_flags &= ~__mask;
66480       _M_flags |= (__fmtfl & __mask);
66481       return __old;
66482     }
66483
66484
66485
66486
66487
66488
66489
66490     inline void
66491     unsetf(fmtflags __mask) { _M_flags &= ~__mask; }
66492 # 617 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66493     inline streamsize
66494     precision() const { return _M_precision; }
66495
66496
66497
66498
66499
66500
66501     inline streamsize
66502     precision(streamsize __prec)
66503     {
66504       streamsize __old = _M_precision;
66505       _M_precision = __prec;
66506       return __old;
66507     }
66508
66509
66510
66511
66512
66513
66514
66515     inline streamsize
66516     width() const { return _M_width; }
66517
66518
66519
66520
66521
66522
66523     inline streamsize
66524     width(streamsize __wide)
66525     {
66526       streamsize __old = _M_width;
66527       _M_width = __wide;
66528       return __old;
66529     }
66530 # 666 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66531     static bool
66532     sync_with_stdio(bool __sync = true);
66533 # 678 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66534     locale
66535     imbue(const locale& __loc);
66536 # 689 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66537     inline locale
66538     getloc() const { return _M_ios_locale; }
66539 # 699 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66540     inline const locale&
66541     _M_getloc() const { return _M_ios_locale; }
66542 # 717 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66543     static int
66544     xalloc() throw();
66545 # 733 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66546     inline long&
66547     iword(int __ix)
66548     {
66549       _Words& __word = (__ix < _M_word_size)
66550    ? _M_word[__ix] : _M_grow_words(__ix, true);
66551       return __word._M_iword;
66552     }
66553 # 754 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66554     inline void*&
66555     pword(int __ix)
66556     {
66557       _Words& __word = (__ix < _M_word_size)
66558    ? _M_word[__ix] : _M_grow_words(__ix, false);
66559       return __word._M_pword;
66560     }
66561 # 771 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
66562     virtual ~ios_base();
66563
66564   protected:
66565     ios_base();
66566
66567
66568
66569   private:
66570     ios_base(const ios_base&);
66571
66572     ios_base&
66573     operator=(const ios_base&);
66574   };
66575
66576
66577
66578   inline ios_base&
66579   boolalpha(ios_base& __base)
66580   {
66581     __base.setf(ios_base::boolalpha);
66582     return __base;
66583   }
66584
66585
66586   inline ios_base&
66587   noboolalpha(ios_base& __base)
66588   {
66589     __base.unsetf(ios_base::boolalpha);
66590     return __base;
66591   }
66592
66593
66594   inline ios_base&
66595   showbase(ios_base& __base)
66596   {
66597     __base.setf(ios_base::showbase);
66598     return __base;
66599   }
66600
66601
66602   inline ios_base&
66603   noshowbase(ios_base& __base)
66604   {
66605     __base.unsetf(ios_base::showbase);
66606     return __base;
66607   }
66608
66609
66610   inline ios_base&
66611   showpoint(ios_base& __base)
66612   {
66613     __base.setf(ios_base::showpoint);
66614     return __base;
66615   }
66616
66617
66618   inline ios_base&
66619   noshowpoint(ios_base& __base)
66620   {
66621     __base.unsetf(ios_base::showpoint);
66622     return __base;
66623   }
66624
66625
66626   inline ios_base&
66627   showpos(ios_base& __base)
66628   {
66629     __base.setf(ios_base::showpos);
66630     return __base;
66631   }
66632
66633
66634   inline ios_base&
66635   noshowpos(ios_base& __base)
66636   {
66637     __base.unsetf(ios_base::showpos);
66638     return __base;
66639   }
66640
66641
66642   inline ios_base&
66643   skipws(ios_base& __base)
66644   {
66645     __base.setf(ios_base::skipws);
66646     return __base;
66647   }
66648
66649
66650   inline ios_base&
66651   noskipws(ios_base& __base)
66652   {
66653     __base.unsetf(ios_base::skipws);
66654     return __base;
66655   }
66656
66657
66658   inline ios_base&
66659   uppercase(ios_base& __base)
66660   {
66661     __base.setf(ios_base::uppercase);
66662     return __base;
66663   }
66664
66665
66666   inline ios_base&
66667   nouppercase(ios_base& __base)
66668   {
66669     __base.unsetf(ios_base::uppercase);
66670     return __base;
66671   }
66672
66673
66674   inline ios_base&
66675   unitbuf(ios_base& __base)
66676   {
66677      __base.setf(ios_base::unitbuf);
66678      return __base;
66679   }
66680
66681
66682   inline ios_base&
66683   nounitbuf(ios_base& __base)
66684   {
66685      __base.unsetf(ios_base::unitbuf);
66686      return __base;
66687   }
66688
66689
66690
66691   inline ios_base&
66692   internal(ios_base& __base)
66693   {
66694      __base.setf(ios_base::internal, ios_base::adjustfield);
66695      return __base;
66696   }
66697
66698
66699   inline ios_base&
66700   left(ios_base& __base)
66701   {
66702     __base.setf(ios_base::left, ios_base::adjustfield);
66703     return __base;
66704   }
66705
66706
66707   inline ios_base&
66708   right(ios_base& __base)
66709   {
66710     __base.setf(ios_base::right, ios_base::adjustfield);
66711     return __base;
66712   }
66713
66714
66715
66716   inline ios_base&
66717   dec(ios_base& __base)
66718   {
66719     __base.setf(ios_base::dec, ios_base::basefield);
66720     return __base;
66721   }
66722
66723
66724   inline ios_base&
66725   hex(ios_base& __base)
66726   {
66727     __base.setf(ios_base::hex, ios_base::basefield);
66728     return __base;
66729   }
66730
66731
66732   inline ios_base&
66733   oct(ios_base& __base)
66734   {
66735     __base.setf(ios_base::oct, ios_base::basefield);
66736     return __base;
66737   }
66738
66739
66740
66741   inline ios_base&
66742   fixed(ios_base& __base)
66743   {
66744     __base.setf(ios_base::fixed, ios_base::floatfield);
66745     return __base;
66746   }
66747
66748
66749   inline ios_base&
66750   scientific(ios_base& __base)
66751   {
66752     __base.setf(ios_base::scientific, ios_base::floatfield);
66753     return __base;
66754   }
66755 }
66756 # 51 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ios" 2 3
66757 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 1 3
66758 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66759 #define _GLIBXX_STREAMBUF 1
66760
66761        
66762 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66763 #pragma GCC visibility push(default)
66764
66765
66766
66767
66768
66769
66770 namespace std
66771 {
66772
66773
66774
66775
66776
66777   template<typename _CharT, typename _Traits>
66778     streamsize
66779     __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
66780         basic_streambuf<_CharT, _Traits>* __sbout);
66781 # 122 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66782   template<typename _CharT, typename _Traits>
66783     class basic_streambuf
66784     {
66785     public:
66786
66787
66788
66789
66790
66791
66792       typedef _CharT char_type;
66793       typedef _Traits traits_type;
66794       typedef typename traits_type::int_type int_type;
66795       typedef typename traits_type::pos_type pos_type;
66796       typedef typename traits_type::off_type off_type;
66797 # 145 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66798       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
66799
66800
66801       friend class basic_ios<char_type, traits_type>;
66802       friend class basic_istream<char_type, traits_type>;
66803       friend class basic_ostream<char_type, traits_type>;
66804       friend class istreambuf_iterator<char_type, traits_type>;
66805       friend class ostreambuf_iterator<char_type, traits_type>;
66806
66807       friend streamsize
66808       __copy_streambufs<>(__streambuf_type* __sbin,
66809      __streambuf_type* __sbout);
66810
66811       template<typename _CharT2, typename _Traits2>
66812         friend basic_istream<_CharT2, _Traits2>&
66813         operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*);
66814
66815       template<typename _CharT2, typename _Traits2, typename _Alloc>
66816         friend basic_istream<_CharT2, _Traits2>&
66817         operator>>(basic_istream<_CharT2, _Traits2>&,
66818      basic_string<_CharT2, _Traits2, _Alloc>&);
66819
66820       template<typename _CharT2, typename _Traits2, typename _Alloc>
66821         friend basic_istream<_CharT2, _Traits2>&
66822         getline(basic_istream<_CharT2, _Traits2>&,
66823   basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);
66824
66825     protected:
66826 # 183 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66827       char_type* _M_in_beg;
66828       char_type* _M_in_cur;
66829       char_type* _M_in_end;
66830       char_type* _M_out_beg;
66831       char_type* _M_out_cur;
66832       char_type* _M_out_end;
66833
66834
66835
66836
66837
66838
66839       locale _M_buf_locale;
66840
66841   public:
66842
66843       virtual
66844       ~basic_streambuf()
66845       { }
66846 # 211 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66847       locale
66848       pubimbue(const locale &__loc)
66849       {
66850  locale __tmp(this->getloc());
66851  this->imbue(__loc);
66852  _M_buf_locale = __loc;
66853  return __tmp;
66854       }
66855 # 228 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66856       locale
66857       getloc() const
66858       { return _M_buf_locale; }
66859 # 241 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66860       __streambuf_type*
66861       pubsetbuf(char_type* __s, streamsize __n)
66862       { return this->setbuf(__s, __n); }
66863
66864       pos_type
66865       pubseekoff(off_type __off, ios_base::seekdir __way,
66866    ios_base::openmode __mode = ios_base::in | ios_base::out)
66867       { return this->seekoff(__off, __way, __mode); }
66868
66869       pos_type
66870       pubseekpos(pos_type __sp,
66871    ios_base::openmode __mode = ios_base::in | ios_base::out)
66872       { return this->seekpos(__sp, __mode); }
66873
66874       int
66875       pubsync() { return this->sync(); }
66876 # 268 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66877       streamsize
66878       in_avail()
66879       {
66880  const streamsize __ret = this->egptr() - this->gptr();
66881  return __ret ? __ret : this->showmanyc();
66882       }
66883 # 282 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66884       int_type
66885       snextc()
66886       {
66887  int_type __ret = traits_type::eof();
66888  if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(),
66889              __ret), true))
66890    __ret = this->sgetc();
66891  return __ret;
66892       }
66893 # 300 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66894       int_type
66895       sbumpc()
66896       {
66897  int_type __ret;
66898  if (__builtin_expect(this->gptr() < this->egptr(), true))
66899    {
66900      __ret = traits_type::to_int_type(*this->gptr());
66901      this->gbump(1);
66902    }
66903  else
66904    __ret = this->uflow();
66905  return __ret;
66906       }
66907 # 322 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66908       int_type
66909       sgetc()
66910       {
66911  int_type __ret;
66912  if (__builtin_expect(this->gptr() < this->egptr(), true))
66913    __ret = traits_type::to_int_type(*this->gptr());
66914  else
66915    __ret = this->underflow();
66916  return __ret;
66917       }
66918 # 341 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66919       streamsize
66920       sgetn(char_type* __s, streamsize __n)
66921       { return this->xsgetn(__s, __n); }
66922 # 355 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66923       int_type
66924       sputbackc(char_type __c)
66925       {
66926  int_type __ret;
66927  const bool __testpos = this->eback() < this->gptr();
66928  if (__builtin_expect(!__testpos ||
66929         !traits_type::eq(__c, this->gptr()[-1]), false))
66930    __ret = this->pbackfail(traits_type::to_int_type(__c));
66931  else
66932    {
66933      this->gbump(-1);
66934      __ret = traits_type::to_int_type(*this->gptr());
66935    }
66936  return __ret;
66937       }
66938 # 380 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66939       int_type
66940       sungetc()
66941       {
66942  int_type __ret;
66943  if (__builtin_expect(this->eback() < this->gptr(), true))
66944    {
66945      this->gbump(-1);
66946      __ret = traits_type::to_int_type(*this->gptr());
66947    }
66948  else
66949    __ret = this->pbackfail();
66950  return __ret;
66951       }
66952 # 407 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66953       int_type
66954       sputc(char_type __c)
66955       {
66956  int_type __ret;
66957  if (__builtin_expect(this->pptr() < this->epptr(), true))
66958    {
66959      *this->pptr() = __c;
66960      this->pbump(1);
66961      __ret = traits_type::to_int_type(__c);
66962    }
66963  else
66964    __ret = this->overflow(traits_type::to_int_type(__c));
66965  return __ret;
66966       }
66967 # 433 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66968       streamsize
66969       sputn(const char_type* __s, streamsize __n)
66970       { return this->xsputn(__s, __n); }
66971
66972     protected:
66973 # 447 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66974       basic_streambuf()
66975       : _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
66976       _M_out_beg(0), _M_out_cur(0), _M_out_end(0),
66977       _M_buf_locale(locale())
66978       { }
66979 # 465 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66980       char_type*
66981       eback() const { return _M_in_beg; }
66982
66983       char_type*
66984       gptr() const { return _M_in_cur; }
66985
66986       char_type*
66987       egptr() const { return _M_in_end; }
66988 # 481 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66989       void
66990       gbump(int __n) { _M_in_cur += __n; }
66991 # 492 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
66992       void
66993       setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
66994       {
66995  _M_in_beg = __gbeg;
66996  _M_in_cur = __gnext;
66997  _M_in_end = __gend;
66998       }
66999 # 512 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67000       char_type*
67001       pbase() const { return _M_out_beg; }
67002
67003       char_type*
67004       pptr() const { return _M_out_cur; }
67005
67006       char_type*
67007       epptr() const { return _M_out_end; }
67008 # 528 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67009       void
67010       pbump(int __n) { _M_out_cur += __n; }
67011 # 538 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67012       void
67013       setp(char_type* __pbeg, char_type* __pend)
67014       {
67015  _M_out_beg = _M_out_cur = __pbeg;
67016  _M_out_end = __pend;
67017       }
67018 # 559 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67019       virtual void
67020       imbue(const locale&)
67021       { }
67022 # 574 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67023       virtual basic_streambuf<char_type,_Traits>*
67024       setbuf(char_type*, streamsize)
67025       { return this; }
67026 # 585 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67027       virtual pos_type
67028       seekoff(off_type, ios_base::seekdir,
67029        ios_base::openmode = ios_base::in | ios_base::out)
67030       { return pos_type(off_type(-1)); }
67031 # 597 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67032       virtual pos_type
67033       seekpos(pos_type,
67034        ios_base::openmode = ios_base::in | ios_base::out)
67035       { return pos_type(off_type(-1)); }
67036 # 610 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67037       virtual int
67038       sync() { return 0; }
67039 # 632 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67040       virtual streamsize
67041       showmanyc() { return 0; }
67042 # 648 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67043       virtual streamsize
67044       xsgetn(char_type* __s, streamsize __n);
67045 # 670 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67046       virtual int_type
67047       underflow()
67048       { return traits_type::eof(); }
67049 # 683 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67050       virtual int_type
67051       uflow()
67052       {
67053  int_type __ret = traits_type::eof();
67054  const bool __testeof = traits_type::eq_int_type(this->underflow(),
67055        __ret);
67056  if (!__testeof)
67057    {
67058      __ret = traits_type::to_int_type(*this->gptr());
67059      this->gbump(1);
67060    }
67061  return __ret;
67062       }
67063 # 707 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67064       virtual int_type
67065       pbackfail(int_type = traits_type::eof())
67066       { return traits_type::eof(); }
67067 # 725 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67068       virtual streamsize
67069       xsputn(const char_type* __s, streamsize __n);
67070 # 750 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67071       virtual int_type
67072       overflow(int_type = traits_type::eof())
67073       { return traits_type::eof(); }
67074 # 779 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
67075     private:
67076
67077
67078       basic_streambuf(const __streambuf_type& __sb)
67079       : _M_in_beg(__sb._M_in_beg), _M_in_cur(__sb._M_in_cur),
67080       _M_in_end(__sb._M_in_end), _M_out_beg(__sb._M_out_beg),
67081       _M_out_cur(__sb._M_out_cur), _M_out_end(__sb._M_out_cur),
67082       _M_buf_locale(__sb._M_buf_locale)
67083       { }
67084
67085       __streambuf_type&
67086       operator=(const __streambuf_type&) { return *this; };
67087     };
67088
67089
67090   template<>
67091     streamsize
67092     __copy_streambufs(basic_streambuf<char>* __sbin,
67093         basic_streambuf<char>* __sbout);
67094
67095   template<>
67096     streamsize
67097     __copy_streambufs(basic_streambuf<wchar_t>* __sbin,
67098         basic_streambuf<wchar_t>* __sbout);
67099
67100 }
67101
67102
67103 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf.tcc" 1 3
67104 # 41 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf.tcc" 3
67105 #define _STREAMBUF_TCC 1
67106
67107        
67108 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf.tcc" 3
67109
67110 namespace std
67111 {
67112   template<typename _CharT, typename _Traits>
67113     streamsize
67114     basic_streambuf<_CharT, _Traits>::
67115     xsgetn(char_type* __s, streamsize __n)
67116     {
67117       streamsize __ret = 0;
67118       while (__ret < __n)
67119  {
67120    const streamsize __buf_len = this->egptr() - this->gptr();
67121    if (__buf_len)
67122      {
67123        const streamsize __remaining = __n - __ret;
67124        const streamsize __len = std::min(__buf_len, __remaining);
67125        traits_type::copy(__s, this->gptr(), __len);
67126        __ret += __len;
67127        __s += __len;
67128        this->gbump(__len);
67129      }
67130
67131    if (__ret < __n)
67132      {
67133        const int_type __c = this->uflow();
67134        if (!traits_type::eq_int_type(__c, traits_type::eof()))
67135   {
67136     traits_type::assign(*__s++, traits_type::to_char_type(__c));
67137     ++__ret;
67138   }
67139        else
67140   break;
67141      }
67142  }
67143       return __ret;
67144     }
67145
67146   template<typename _CharT, typename _Traits>
67147     streamsize
67148     basic_streambuf<_CharT, _Traits>::
67149     xsputn(const char_type* __s, streamsize __n)
67150     {
67151       streamsize __ret = 0;
67152       while (__ret < __n)
67153  {
67154    const streamsize __buf_len = this->epptr() - this->pptr();
67155    if (__buf_len)
67156      {
67157        const streamsize __remaining = __n - __ret;
67158        const streamsize __len = std::min(__buf_len, __remaining);
67159        traits_type::copy(this->pptr(), __s, __len);
67160        __ret += __len;
67161        __s += __len;
67162        this->pbump(__len);
67163      }
67164
67165    if (__ret < __n)
67166      {
67167        int_type __c = this->overflow(traits_type::to_int_type(*__s));
67168        if (!traits_type::eq_int_type(__c, traits_type::eof()))
67169   {
67170     ++__ret;
67171     ++__s;
67172   }
67173        else
67174   break;
67175      }
67176  }
67177       return __ret;
67178     }
67179
67180
67181
67182
67183   template<typename _CharT, typename _Traits>
67184     streamsize
67185     __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
67186         basic_streambuf<_CharT, _Traits>* __sbout)
67187     {
67188       streamsize __ret = 0;
67189       typename _Traits::int_type __c = __sbin->sgetc();
67190       while (!_Traits::eq_int_type(__c, _Traits::eof()))
67191  {
67192    __c = __sbout->sputc(_Traits::to_char_type(__c));
67193    if (_Traits::eq_int_type(__c, _Traits::eof()))
67194      break;
67195    ++__ret;
67196    __c = __sbin->snextc();
67197  }
67198       return __ret;
67199     }
67200
67201
67202
67203
67204
67205   extern template class basic_streambuf<char>;
67206   extern template
67207     streamsize
67208     __copy_streambufs(basic_streambuf<char>*, basic_streambuf<char>*);
67209
67210
67211   extern template class basic_streambuf<wchar_t>;
67212   extern template
67213     streamsize
67214     __copy_streambufs(basic_streambuf<wchar_t>*, basic_streambuf<wchar_t>*);
67215
67216
67217 }
67218 # 808 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 2 3
67219
67220
67221 #pragma GCC visibility pop
67222 # 52 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ios" 2 3
67223 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 1 3
67224 # 37 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
67225 #define _BASIC_IOS_H 1
67226
67227        
67228 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
67229
67230 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf_iterator.h" 1 3
67231 # 37 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf_iterator.h" 3
67232 #define _STREAMBUF_ITERATOR_H 1
67233
67234        
67235 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf_iterator.h" 3
67236
67237
67238
67239
67240
67241
67242 namespace std
67243 {
67244
67245
67246   template<typename _CharT, typename _Traits>
67247     class istreambuf_iterator
67248     : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
67249         _CharT*, _CharT&>
67250     {
67251     public:
67252
67253
67254
67255       typedef _CharT char_type;
67256       typedef _Traits traits_type;
67257       typedef typename _Traits::int_type int_type;
67258       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
67259       typedef basic_istream<_CharT, _Traits> istream_type;
67260
67261
67262     private:
67263
67264
67265
67266
67267
67268
67269
67270       mutable streambuf_type* _M_sbuf;
67271       mutable int_type _M_c;
67272
67273     public:
67274
67275       istreambuf_iterator() throw()
67276       : _M_sbuf(0), _M_c(traits_type::eof()) { }
67277
67278
67279       istreambuf_iterator(istream_type& __s) throw()
67280       : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
67281
67282
67283       istreambuf_iterator(streambuf_type* __s) throw()
67284       : _M_sbuf(__s), _M_c(traits_type::eof()) { }
67285
67286
67287
67288
67289       char_type
67290       operator*() const
67291       {
67292
67293
67294
67295
67296
67297
67298
67299  return traits_type::to_char_type(_M_get());
67300       }
67301
67302
67303       istreambuf_iterator&
67304       operator++()
67305       {
67306  ;
67307
67308
67309  if (_M_sbuf)
67310    {
67311      _M_sbuf->sbumpc();
67312      _M_c = traits_type::eof();
67313    }
67314  return *this;
67315       }
67316
67317
67318       istreambuf_iterator
67319       operator++(int)
67320       {
67321  ;
67322
67323
67324
67325  istreambuf_iterator __old = *this;
67326  if (_M_sbuf)
67327    {
67328      __old._M_c = _M_sbuf->sbumpc();
67329      _M_c = traits_type::eof();
67330    }
67331  return __old;
67332       }
67333
67334
67335
67336
67337
67338       bool
67339       equal(const istreambuf_iterator& __b) const
67340       {
67341  const bool __thiseof = _M_at_eof();
67342  const bool __beof = __b._M_at_eof();
67343  return (__thiseof && __beof || (!__thiseof && !__beof));
67344       }
67345
67346     private:
67347       int_type
67348       _M_get() const
67349       {
67350  const int_type __eof = traits_type::eof();
67351  int_type __ret = __eof;
67352  if (_M_sbuf)
67353    {
67354      if (!traits_type::eq_int_type(_M_c, __eof))
67355        __ret = _M_c;
67356      else if (!traits_type::eq_int_type((__ret = _M_sbuf->sgetc()),
67357             __eof))
67358        _M_c = __ret;
67359      else
67360        _M_sbuf = 0;
67361    }
67362  return __ret;
67363       }
67364
67365       bool
67366       _M_at_eof() const
67367       {
67368  const int_type __eof = traits_type::eof();
67369  return traits_type::eq_int_type(_M_get(), __eof);
67370       }
67371     };
67372
67373   template<typename _CharT, typename _Traits>
67374     inline bool
67375     operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
67376         const istreambuf_iterator<_CharT, _Traits>& __b)
67377     { return __a.equal(__b); }
67378
67379   template<typename _CharT, typename _Traits>
67380     inline bool
67381     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
67382         const istreambuf_iterator<_CharT, _Traits>& __b)
67383     { return !__a.equal(__b); }
67384
67385
67386   template<typename _CharT, typename _Traits>
67387     class ostreambuf_iterator
67388     : public iterator<output_iterator_tag, void, void, void, void>
67389     {
67390     public:
67391
67392
67393
67394       typedef _CharT char_type;
67395       typedef _Traits traits_type;
67396       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
67397       typedef basic_ostream<_CharT, _Traits> ostream_type;
67398
67399
67400     private:
67401       streambuf_type* _M_sbuf;
67402       bool _M_failed;
67403
67404     public:
67405
67406       ostreambuf_iterator(ostream_type& __s) throw ()
67407       : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
67408
67409
67410       ostreambuf_iterator(streambuf_type* __s) throw ()
67411       : _M_sbuf(__s), _M_failed(!_M_sbuf) { }
67412
67413
67414       ostreambuf_iterator&
67415       operator=(_CharT __c)
67416       {
67417  if (!_M_failed &&
67418      _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
67419    _M_failed = true;
67420  return *this;
67421       }
67422
67423
67424       ostreambuf_iterator&
67425       operator*()
67426       { return *this; }
67427
67428
67429       ostreambuf_iterator&
67430       operator++(int)
67431       { return *this; }
67432
67433
67434       ostreambuf_iterator&
67435       operator++()
67436       { return *this; }
67437
67438
67439       bool
67440       failed() const throw()
67441       { return _M_failed; }
67442
67443       ostreambuf_iterator&
67444       _M_put(const _CharT* __ws, streamsize __len)
67445       {
67446  if (__builtin_expect(!_M_failed, true)
67447      && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len,
67448     false))
67449    _M_failed = true;
67450  return *this;
67451       }
67452     };
67453 }
67454 # 42 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 2 3
67455
67456
67457 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 1 3
67458 # 41 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67459 #define _LOCALE_FACETS_H 1
67460
67461        
67462 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67463
67464
67465 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cwctype" 1 3
67466 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cwctype" 3
67467 #define _GLIBCXX_CWCTYPE 1
67468
67469        
67470 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cwctype" 3
67471 #pragma GCC visibility push(default)
67472
67473
67474
67475
67476 # 1 "/usr/include/wctype.h" 1 3 4
67477 # 30 "/usr/include/wctype.h" 3 4
67478 #define _WCTYPE_H 1
67479
67480
67481
67482 #define __need_wint_t 
67483 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
67484 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
67485 #undef __need_ptrdiff_t
67486 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
67487 #undef __need_size_t
67488 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
67489 #undef __need_wchar_t
67490 # 357 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
67491 #undef __need_wint_t
67492 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
67493 #undef NULL
67494
67495 #define NULL __null
67496 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
67497 #undef __need_NULL
67498
67499
67500
67501
67502 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
67503 # 36 "/usr/include/wctype.h" 2 3 4
67504 # 45 "/usr/include/wctype.h" 3 4
67505
67506 # 55 "/usr/include/wctype.h" 3 4
67507 #undef __need_iswxxx
67508
67509
67510
67511
67512
67513 #define __iswxxx_defined 1
67514
67515
67516
67517
67518 typedef unsigned long int wctype_t;
67519
67520 # 78 "/usr/include/wctype.h" 3 4
67521 #define _ISwbit(bit) ((bit) < 8 ? (int) ((1UL << (bit)) << 24) : ((bit) < 16 ? (int) ((1UL << (bit)) << 8) : ((bit) < 24 ? (int) ((1UL << (bit)) >> 8) : (int) ((1UL << (bit)) >> 24))))
67522
67523
67524
67525
67526
67527
67528 enum
67529 {
67530   __ISwupper = 0,
67531   __ISwlower = 1,
67532   __ISwalpha = 2,
67533   __ISwdigit = 3,
67534   __ISwxdigit = 4,
67535   __ISwspace = 5,
67536   __ISwprint = 6,
67537   __ISwgraph = 7,
67538   __ISwblank = 8,
67539   __ISwcntrl = 9,
67540   __ISwpunct = 10,
67541   __ISwalnum = 11,
67542
67543   _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))),
67544   _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))),
67545   _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))),
67546   _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))),
67547   _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))),
67548   _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))),
67549   _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))),
67550   _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))),
67551   _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))),
67552   _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))),
67553   _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))),
67554   _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24))))
67555 };
67556
67557
67558
67559 extern "C" {
67560
67561
67562
67563
67564
67565
67566
67567
67568 extern int iswalnum (wint_t __wc) throw ();
67569
67570
67571
67572
67573
67574 extern int iswalpha (wint_t __wc) throw ();
67575
67576
67577 extern int iswcntrl (wint_t __wc) throw ();
67578
67579
67580
67581 extern int iswdigit (wint_t __wc) throw ();
67582
67583
67584
67585 extern int iswgraph (wint_t __wc) throw ();
67586
67587
67588
67589
67590 extern int iswlower (wint_t __wc) throw ();
67591
67592
67593 extern int iswprint (wint_t __wc) throw ();
67594
67595
67596
67597
67598 extern int iswpunct (wint_t __wc) throw ();
67599
67600
67601
67602
67603 extern int iswspace (wint_t __wc) throw ();
67604
67605
67606
67607
67608 extern int iswupper (wint_t __wc) throw ();
67609
67610
67611
67612
67613 extern int iswxdigit (wint_t __wc) throw ();
67614
67615
67616
67617
67618
67619 extern int iswblank (wint_t __wc) throw ();
67620 # 185 "/usr/include/wctype.h" 3 4
67621 extern wctype_t wctype (__const char *__property) throw ();
67622
67623
67624
67625 extern int iswctype (wint_t __wc, wctype_t __desc) throw ();
67626
67627
67628
67629
67630
67631
67632
67633
67634
67635
67636 typedef __const __int32_t *wctrans_t;
67637
67638
67639
67640
67641
67642
67643
67644 extern wint_t towlower (wint_t __wc) throw ();
67645
67646
67647 extern wint_t towupper (wint_t __wc) throw ();
67648
67649
67650 }
67651 # 227 "/usr/include/wctype.h" 3 4
67652 extern "C" {
67653
67654
67655
67656
67657 extern wctrans_t wctrans (__const char *__property) throw ();
67658
67659
67660 extern wint_t towctrans (wint_t __wc, wctrans_t __desc) throw ();
67661
67662
67663
67664
67665
67666
67667
67668
67669 extern int iswalnum_l (wint_t __wc, __locale_t __locale) throw ();
67670
67671
67672
67673
67674
67675 extern int iswalpha_l (wint_t __wc, __locale_t __locale) throw ();
67676
67677
67678 extern int iswcntrl_l (wint_t __wc, __locale_t __locale) throw ();
67679
67680
67681
67682 extern int iswdigit_l (wint_t __wc, __locale_t __locale) throw ();
67683
67684
67685
67686 extern int iswgraph_l (wint_t __wc, __locale_t __locale) throw ();
67687
67688
67689
67690
67691 extern int iswlower_l (wint_t __wc, __locale_t __locale) throw ();
67692
67693
67694 extern int iswprint_l (wint_t __wc, __locale_t __locale) throw ();
67695
67696
67697
67698
67699 extern int iswpunct_l (wint_t __wc, __locale_t __locale) throw ();
67700
67701
67702
67703
67704 extern int iswspace_l (wint_t __wc, __locale_t __locale) throw ();
67705
67706
67707
67708
67709 extern int iswupper_l (wint_t __wc, __locale_t __locale) throw ();
67710
67711
67712
67713
67714 extern int iswxdigit_l (wint_t __wc, __locale_t __locale) throw ();
67715
67716
67717
67718
67719 extern int iswblank_l (wint_t __wc, __locale_t __locale) throw ();
67720
67721
67722
67723 extern wctype_t wctype_l (__const char *__property, __locale_t __locale)
67724      throw ();
67725
67726
67727
67728 extern int iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
67729      throw ();
67730
67731
67732
67733
67734
67735
67736
67737 extern wint_t towlower_l (wint_t __wc, __locale_t __locale) throw ();
67738
67739
67740 extern wint_t towupper_l (wint_t __wc, __locale_t __locale) throw ();
67741
67742
67743
67744 extern wctrans_t wctrans_l (__const char *__property, __locale_t __locale)
67745      throw ();
67746
67747
67748 extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
67749       __locale_t __locale) throw ();
67750
67751
67752
67753 }
67754 # 55 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cwctype" 2 3
67755
67756
67757
67758 #undef iswalnum
67759 #undef iswalpha
67760
67761 #undef iswblank
67762
67763 #undef iswcntrl
67764 #undef iswctype
67765 #undef iswdigit
67766 #undef iswgraph
67767 #undef iswlower
67768 #undef iswprint
67769 #undef iswpunct
67770 #undef iswspace
67771 #undef iswupper
67772 #undef iswxdigit
67773 #undef towctrans
67774 #undef towlower
67775 #undef towupper
67776 #undef wctrans
67777 #undef wctype
67778
67779
67780 namespace std
67781 {
67782   using ::wint_t;
67783
67784   using ::wctype_t;
67785   using ::wctrans_t;
67786
67787   using ::iswalnum;
67788   using ::iswalpha;
67789
67790   using ::iswblank;
67791
67792   using ::iswcntrl;
67793   using ::iswctype;
67794   using ::iswdigit;
67795   using ::iswgraph;
67796   using ::iswlower;
67797   using ::iswprint;
67798   using ::iswpunct;
67799   using ::iswspace;
67800   using ::iswupper;
67801   using ::iswxdigit;
67802   using ::towctrans;
67803   using ::towlower;
67804   using ::towupper;
67805   using ::wctrans;
67806   using ::wctype;
67807 }
67808
67809
67810 #pragma GCC visibility pop
67811 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
67812
67813
67814
67815
67816 namespace std
67817 {
67818
67819
67820 #define _GLIBCXX_NUM_FACETS 28
67821
67822
67823
67824
67825
67826
67827
67828   template<typename _Tv>
67829     void
67830     __convert_to_v(const char* __in, _Tv& __out, ios_base::iostate& __err,
67831      const __c_locale& __cloc);
67832
67833
67834   template<>
67835     void
67836     __convert_to_v(const char*, float&, ios_base::iostate&,
67837      const __c_locale&);
67838
67839   template<>
67840     void
67841     __convert_to_v(const char*, double&, ios_base::iostate&,
67842      const __c_locale&);
67843
67844   template<>
67845     void
67846     __convert_to_v(const char*, long double&, ios_base::iostate&,
67847      const __c_locale&);
67848
67849
67850
67851   template<typename _CharT, typename _Traits>
67852     struct __pad
67853     {
67854       static void
67855       _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
67856       const _CharT* __olds, const streamsize __newlen,
67857       const streamsize __oldlen, const bool __num);
67858     };
67859
67860
67861
67862
67863
67864
67865   template<typename _CharT>
67866     _CharT*
67867     __add_grouping(_CharT* __s, _CharT __sep,
67868      const char* __gbeg, size_t __gsize,
67869      const _CharT* __first, const _CharT* __last);
67870
67871
67872
67873
67874   template<typename _CharT>
67875     inline
67876     ostreambuf_iterator<_CharT>
67877     __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len)
67878     {
67879       __s._M_put(__ws, __len);
67880       return __s;
67881     }
67882
67883
67884   template<typename _CharT, typename _OutIter>
67885     inline
67886     _OutIter
67887     __write(_OutIter __s, const _CharT* __ws, int __len)
67888     {
67889       for (int __j = 0; __j < __len; __j++, ++__s)
67890  *__s = __ws[__j];
67891       return __s;
67892     }
67893
67894
67895
67896
67897 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/ctype_base.h" 1 3
67898 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/ctype_base.h" 3
67899   struct ctype_base
67900   {
67901
67902     typedef const int* __to_type;
67903
67904
67905
67906     typedef unsigned short mask;
67907     static const mask upper = _ISupper;
67908     static const mask lower = _ISlower;
67909     static const mask alpha = _ISalpha;
67910     static const mask digit = _ISdigit;
67911     static const mask xdigit = _ISxdigit;
67912     static const mask space = _ISspace;
67913     static const mask print = _ISprint;
67914     static const mask graph = _ISalpha | _ISdigit | _ISpunct;
67915     static const mask cntrl = _IScntrl;
67916     static const mask punct = _ISpunct;
67917     static const mask alnum = _ISalpha | _ISdigit;
67918   };
67919 # 133 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
67920 # 144 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67921   template<typename _CharT>
67922     class __ctype_abstract_base : public locale::facet, public ctype_base
67923     {
67924     public:
67925
67926
67927       typedef _CharT char_type;
67928 # 162 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67929       bool
67930       is(mask __m, char_type __c) const
67931       { return this->do_is(__m, __c); }
67932 # 179 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67933       const char_type*
67934       is(const char_type *__lo, const char_type *__hi, mask *__vec) const
67935       { return this->do_is(__lo, __hi, __vec); }
67936 # 195 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67937       const char_type*
67938       scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
67939       { return this->do_scan_is(__m, __lo, __hi); }
67940 # 211 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67941       const char_type*
67942       scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
67943       { return this->do_scan_not(__m, __lo, __hi); }
67944 # 225 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67945       char_type
67946       toupper(char_type __c) const
67947       { return this->do_toupper(__c); }
67948 # 240 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67949       const char_type*
67950       toupper(char_type *__lo, const char_type* __hi) const
67951       { return this->do_toupper(__lo, __hi); }
67952 # 254 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67953       char_type
67954       tolower(char_type __c) const
67955       { return this->do_tolower(__c); }
67956 # 269 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67957       const char_type*
67958       tolower(char_type* __lo, const char_type* __hi) const
67959       { return this->do_tolower(__lo, __hi); }
67960 # 286 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67961       char_type
67962       widen(char __c) const
67963       { return this->do_widen(__c); }
67964 # 305 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67965       const char*
67966       widen(const char* __lo, const char* __hi, char_type* __to) const
67967       { return this->do_widen(__lo, __hi, __to); }
67968 # 324 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67969       char
67970       narrow(char_type __c, char __dfault) const
67971       { return this->do_narrow(__c, __dfault); }
67972 # 346 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67973       const char_type*
67974       narrow(const char_type* __lo, const char_type* __hi,
67975        char __dfault, char *__to) const
67976       { return this->do_narrow(__lo, __hi, __dfault, __to); }
67977
67978     protected:
67979       explicit
67980       __ctype_abstract_base(size_t __refs = 0): facet(__refs) { }
67981
67982       virtual
67983       ~__ctype_abstract_base() { }
67984 # 371 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67985       virtual bool
67986       do_is(mask __m, char_type __c) const = 0;
67987 # 390 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67988       virtual const char_type*
67989       do_is(const char_type* __lo, const char_type* __hi,
67990      mask* __vec) const = 0;
67991 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67992       virtual const char_type*
67993       do_scan_is(mask __m, const char_type* __lo,
67994    const char_type* __hi) const = 0;
67995 # 428 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
67996       virtual const char_type*
67997       do_scan_not(mask __m, const char_type* __lo,
67998     const char_type* __hi) const = 0;
67999 # 446 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68000       virtual char_type
68001       do_toupper(char_type) const = 0;
68002 # 463 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68003       virtual const char_type*
68004       do_toupper(char_type* __lo, const char_type* __hi) const = 0;
68005 # 479 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68006       virtual char_type
68007       do_tolower(char_type) const = 0;
68008 # 496 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68009       virtual const char_type*
68010       do_tolower(char_type* __lo, const char_type* __hi) const = 0;
68011 # 515 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68012       virtual char_type
68013       do_widen(char) const = 0;
68014 # 536 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68015       virtual const char*
68016       do_widen(const char* __lo, const char* __hi,
68017         char_type* __dest) const = 0;
68018 # 558 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68019       virtual char
68020       do_narrow(char_type, char __dfault) const = 0;
68021 # 582 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68022       virtual const char_type*
68023       do_narrow(const char_type* __lo, const char_type* __hi,
68024   char __dfault, char* __dest) const = 0;
68025     };
68026 # 605 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68027   template<typename _CharT>
68028     class ctype : public __ctype_abstract_base<_CharT>
68029     {
68030     public:
68031
68032       typedef _CharT char_type;
68033       typedef typename __ctype_abstract_base<_CharT>::mask mask;
68034
68035
68036       static locale::id id;
68037
68038       explicit
68039       ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { }
68040
68041    protected:
68042       virtual
68043       ~ctype();
68044
68045       virtual bool
68046       do_is(mask __m, char_type __c) const;
68047
68048       virtual const char_type*
68049       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
68050
68051       virtual const char_type*
68052       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
68053
68054       virtual const char_type*
68055       do_scan_not(mask __m, const char_type* __lo,
68056     const char_type* __hi) const;
68057
68058       virtual char_type
68059       do_toupper(char_type __c) const;
68060
68061       virtual const char_type*
68062       do_toupper(char_type* __lo, const char_type* __hi) const;
68063
68064       virtual char_type
68065       do_tolower(char_type __c) const;
68066
68067       virtual const char_type*
68068       do_tolower(char_type* __lo, const char_type* __hi) const;
68069
68070       virtual char_type
68071       do_widen(char __c) const;
68072
68073       virtual const char*
68074       do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
68075
68076       virtual char
68077       do_narrow(char_type, char __dfault) const;
68078
68079       virtual const char_type*
68080       do_narrow(const char_type* __lo, const char_type* __hi,
68081   char __dfault, char* __dest) const;
68082     };
68083
68084   template<typename _CharT>
68085     locale::id ctype<_CharT>::id;
68086 # 674 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68087   template<>
68088     class ctype<char> : public locale::facet, public ctype_base
68089     {
68090     public:
68091
68092
68093       typedef char char_type;
68094
68095     protected:
68096
68097       __c_locale _M_c_locale_ctype;
68098       bool _M_del;
68099       __to_type _M_toupper;
68100       __to_type _M_tolower;
68101       const mask* _M_table;
68102       mutable char _M_widen_ok;
68103       mutable char _M_widen[1 + static_cast<unsigned char>(-1)];
68104       mutable char _M_narrow[1 + static_cast<unsigned char>(-1)];
68105       mutable char _M_narrow_ok;
68106
68107
68108     public:
68109
68110       static locale::id id;
68111
68112       static const size_t table_size = 1 + static_cast<unsigned char>(-1);
68113 # 711 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68114       explicit
68115       ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0);
68116 # 724 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68117       explicit
68118       ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false,
68119      size_t __refs = 0);
68120 # 737 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68121       inline bool
68122       is(mask __m, char __c) const;
68123 # 752 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68124       inline const char*
68125       is(const char* __lo, const char* __hi, mask* __vec) const;
68126 # 766 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68127       inline const char*
68128       scan_is(mask __m, const char* __lo, const char* __hi) const;
68129 # 780 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68130       inline const char*
68131       scan_not(mask __m, const char* __lo, const char* __hi) const;
68132 # 795 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68133       char_type
68134       toupper(char_type __c) const
68135       { return this->do_toupper(__c); }
68136 # 812 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68137       const char_type*
68138       toupper(char_type *__lo, const char_type* __hi) const
68139       { return this->do_toupper(__lo, __hi); }
68140 # 828 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68141       char_type
68142       tolower(char_type __c) const
68143       { return this->do_tolower(__c); }
68144 # 845 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68145       const char_type*
68146       tolower(char_type* __lo, const char_type* __hi) const
68147       { return this->do_tolower(__lo, __hi); }
68148 # 865 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68149       char_type
68150       widen(char __c) const
68151       {
68152  if (_M_widen_ok)
68153    return _M_widen[static_cast<unsigned char>(__c)];
68154  this->_M_widen_init();
68155  return this->do_widen(__c);
68156       }
68157 # 892 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68158       const char*
68159       widen(const char* __lo, const char* __hi, char_type* __to) const
68160       {
68161  if (_M_widen_ok == 1)
68162    {
68163      memcpy(__to, __lo, __hi - __lo);
68164      return __hi;
68165    }
68166  if (!_M_widen_ok)
68167    _M_widen_init();
68168  return this->do_widen(__lo, __hi, __to);
68169       }
68170 # 923 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68171       char
68172       narrow(char_type __c, char __dfault) const
68173       {
68174  if (_M_narrow[static_cast<unsigned char>(__c)])
68175    return _M_narrow[static_cast<unsigned char>(__c)];
68176  const char __t = do_narrow(__c, __dfault);
68177  if (__t != __dfault)
68178    _M_narrow[static_cast<unsigned char>(__c)] = __t;
68179  return __t;
68180       }
68181 # 956 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68182       const char_type*
68183       narrow(const char_type* __lo, const char_type* __hi,
68184       char __dfault, char *__to) const
68185       {
68186  if (__builtin_expect(_M_narrow_ok == 1, true))
68187    {
68188      memcpy(__to, __lo, __hi - __lo);
68189      return __hi;
68190    }
68191  if (!_M_narrow_ok)
68192    _M_narrow_init();
68193  return this->do_narrow(__lo, __hi, __dfault, __to);
68194       }
68195
68196     protected:
68197
68198
68199       const mask*
68200       table() const throw()
68201       { return _M_table; }
68202
68203
68204       static const mask*
68205       classic_table() throw();
68206
68207
68208
68209
68210
68211
68212
68213       virtual
68214       ~ctype();
68215 # 1003 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68216       virtual char_type
68217       do_toupper(char_type) const;
68218 # 1020 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68219       virtual const char_type*
68220       do_toupper(char_type* __lo, const char_type* __hi) const;
68221 # 1036 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68222       virtual char_type
68223       do_tolower(char_type) const;
68224 # 1053 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68225       virtual const char_type*
68226       do_tolower(char_type* __lo, const char_type* __hi) const;
68227 # 1073 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68228       virtual char_type
68229       do_widen(char __c) const
68230       { return __c; }
68231 # 1096 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68232       virtual const char*
68233       do_widen(const char* __lo, const char* __hi, char_type* __dest) const
68234       {
68235  memcpy(__dest, __lo, __hi - __lo);
68236  return __hi;
68237       }
68238 # 1122 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68239       virtual char
68240       do_narrow(char_type __c, char) const
68241       { return __c; }
68242 # 1148 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68243       virtual const char_type*
68244       do_narrow(const char_type* __lo, const char_type* __hi,
68245   char, char* __dest) const
68246       {
68247  memcpy(__dest, __lo, __hi - __lo);
68248  return __hi;
68249       }
68250
68251     private:
68252
68253       void _M_widen_init() const
68254       {
68255  char __tmp[sizeof(_M_widen)];
68256  for (size_t __i = 0; __i < sizeof(_M_widen); ++__i)
68257    __tmp[__i] = __i;
68258  do_widen(__tmp, __tmp + sizeof(__tmp), _M_widen);
68259
68260  _M_widen_ok = 1;
68261
68262  if (memcmp(__tmp, _M_widen, sizeof(_M_widen)))
68263    _M_widen_ok = 2;
68264       }
68265
68266
68267
68268
68269       void _M_narrow_init() const
68270       {
68271  char __tmp[sizeof(_M_narrow)];
68272  for (size_t __i = 0; __i < sizeof(_M_narrow); ++__i)
68273    __tmp[__i] = __i;
68274  do_narrow(__tmp, __tmp + sizeof(__tmp), 0, _M_narrow);
68275
68276  _M_narrow_ok = 1;
68277  if (memcmp(__tmp, _M_narrow, sizeof(_M_narrow)))
68278    _M_narrow_ok = 2;
68279  else
68280    {
68281
68282
68283      char __c;
68284      do_narrow(__tmp, __tmp + 1, 1, &__c);
68285      if (__c == 1)
68286        _M_narrow_ok = 2;
68287    }
68288       }
68289     };
68290
68291   template<>
68292     const ctype<char>&
68293     use_facet<ctype<char> >(const locale& __loc);
68294 # 1212 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68295   template<>
68296     class ctype<wchar_t> : public __ctype_abstract_base<wchar_t>
68297     {
68298     public:
68299
68300
68301       typedef wchar_t char_type;
68302       typedef wctype_t __wmask_type;
68303
68304     protected:
68305       __c_locale _M_c_locale_ctype;
68306
68307
68308       bool _M_narrow_ok;
68309       char _M_narrow[128];
68310       wint_t _M_widen[1 + static_cast<unsigned char>(-1)];
68311
68312
68313       mask _M_bit[16];
68314       __wmask_type _M_wmask[16];
68315
68316     public:
68317
68318
68319       static locale::id id;
68320 # 1245 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68321       explicit
68322       ctype(size_t __refs = 0);
68323 # 1256 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68324       explicit
68325       ctype(__c_locale __cloc, size_t __refs = 0);
68326
68327     protected:
68328       __wmask_type
68329       _M_convert_to_wmask(const mask __m) const;
68330
68331
68332       virtual
68333       ~ctype();
68334 # 1280 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68335       virtual bool
68336       do_is(mask __m, char_type __c) const;
68337 # 1299 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68338       virtual const char_type*
68339       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
68340 # 1317 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68341       virtual const char_type*
68342       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
68343 # 1335 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68344       virtual const char_type*
68345       do_scan_not(mask __m, const char_type* __lo,
68346     const char_type* __hi) const;
68347 # 1352 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68348       virtual char_type
68349       do_toupper(char_type) const;
68350 # 1369 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68351       virtual const char_type*
68352       do_toupper(char_type* __lo, const char_type* __hi) const;
68353 # 1385 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68354       virtual char_type
68355       do_tolower(char_type) const;
68356 # 1402 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68357       virtual const char_type*
68358       do_tolower(char_type* __lo, const char_type* __hi) const;
68359 # 1422 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68360       virtual char_type
68361       do_widen(char) const;
68362 # 1444 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68363       virtual const char*
68364       do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
68365 # 1467 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68366       virtual char
68367       do_narrow(char_type, char __dfault) const;
68368 # 1493 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68369       virtual const char_type*
68370       do_narrow(const char_type* __lo, const char_type* __hi,
68371   char __dfault, char* __dest) const;
68372
68373
68374       void
68375       _M_initialize_ctype();
68376     };
68377
68378   template<>
68379     const ctype<wchar_t>&
68380     use_facet<ctype<wchar_t> >(const locale& __loc);
68381
68382
68383
68384 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/ctype_inline.h" 1 3
68385 # 37 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/ctype_inline.h" 3
68386   bool
68387   ctype<char>::
68388   is(mask __m, char __c) const
68389   { return _M_table[static_cast<unsigned char>(__c)] & __m; }
68390
68391   const char*
68392   ctype<char>::
68393   is(const char* __low, const char* __high, mask* __vec) const
68394   {
68395     while (__low < __high)
68396       *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
68397     return __high;
68398   }
68399
68400   const char*
68401   ctype<char>::
68402   scan_is(mask __m, const char* __low, const char* __high) const
68403   {
68404     while (__low < __high
68405     && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
68406       ++__low;
68407     return __low;
68408   }
68409
68410   const char*
68411   ctype<char>::
68412   scan_not(mask __m, const char* __low, const char* __high) const
68413   {
68414     while (__low < __high
68415     && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
68416       ++__low;
68417     return __low;
68418   }
68419 # 1509 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
68420
68421
68422   template<typename _CharT>
68423     class ctype_byname : public ctype<_CharT>
68424     {
68425     public:
68426       typedef _CharT char_type;
68427
68428       explicit
68429       ctype_byname(const char* __s, size_t __refs = 0);
68430
68431     protected:
68432       virtual
68433       ~ctype_byname() { };
68434     };
68435
68436
68437   template<>
68438     ctype_byname<char>::ctype_byname(const char*, size_t refs);
68439
68440   template<>
68441     ctype_byname<wchar_t>::ctype_byname(const char*, size_t refs);
68442
68443
68444 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 1 3
68445 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
68446 #define _CODECVT_H 1
68447
68448        
68449 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
68450
68451
68452   class codecvt_base
68453   {
68454   public:
68455     enum result
68456     {
68457       ok,
68458       partial,
68459       error,
68460       noconv
68461     };
68462   };
68463 # 69 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
68464   template<typename _InternT, typename _ExternT, typename _StateT>
68465     class __codecvt_abstract_base
68466     : public locale::facet, public codecvt_base
68467     {
68468     public:
68469
68470       typedef codecvt_base::result result;
68471       typedef _InternT intern_type;
68472       typedef _ExternT extern_type;
68473       typedef _StateT state_type;
68474 # 117 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
68475       result
68476       out(state_type& __state, const intern_type* __from,
68477    const intern_type* __from_end, const intern_type*& __from_next,
68478    extern_type* __to, extern_type* __to_end,
68479    extern_type*& __to_next) const
68480       {
68481  return this->do_out(__state, __from, __from_end, __from_next,
68482        __to, __to_end, __to_next);
68483       }
68484 # 156 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
68485       result
68486       unshift(state_type& __state, extern_type* __to, extern_type* __to_end,
68487        extern_type*& __to_next) const
68488       { return this->do_unshift(__state, __to,__to_end,__to_next); }
68489 # 197 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
68490       result
68491       in(state_type& __state, const extern_type* __from,
68492   const extern_type* __from_end, const extern_type*& __from_next,
68493   intern_type* __to, intern_type* __to_end,
68494   intern_type*& __to_next) const
68495       {
68496  return this->do_in(__state, __from, __from_end, __from_next,
68497       __to, __to_end, __to_next);
68498       }
68499
68500       int
68501       encoding() const throw()
68502       { return this->do_encoding(); }
68503
68504       bool
68505       always_noconv() const throw()
68506       { return this->do_always_noconv(); }
68507
68508       int
68509       length(state_type& __state, const extern_type* __from,
68510       const extern_type* __end, size_t __max) const
68511       { return this->do_length(__state, __from, __end, __max); }
68512
68513       int
68514       max_length() const throw()
68515       { return this->do_max_length(); }
68516
68517     protected:
68518       explicit
68519       __codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { }
68520
68521       virtual
68522       ~__codecvt_abstract_base() { }
68523 # 238 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
68524       virtual result
68525       do_out(state_type& __state, const intern_type* __from,
68526       const intern_type* __from_end, const intern_type*& __from_next,
68527       extern_type* __to, extern_type* __to_end,
68528       extern_type*& __to_next) const = 0;
68529
68530       virtual result
68531       do_unshift(state_type& __state, extern_type* __to,
68532    extern_type* __to_end, extern_type*& __to_next) const = 0;
68533
68534       virtual result
68535       do_in(state_type& __state, const extern_type* __from,
68536      const extern_type* __from_end, const extern_type*& __from_next,
68537      intern_type* __to, intern_type* __to_end,
68538      intern_type*& __to_next) const = 0;
68539
68540       virtual int
68541       do_encoding() const throw() = 0;
68542
68543       virtual bool
68544       do_always_noconv() const throw() = 0;
68545
68546       virtual int
68547       do_length(state_type&, const extern_type* __from,
68548   const extern_type* __end, size_t __max) const = 0;
68549
68550       virtual int
68551       do_max_length() const throw() = 0;
68552     };
68553
68554
68555
68556   template<typename _InternT, typename _ExternT, typename _StateT>
68557     class codecvt
68558     : public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
68559     {
68560     public:
68561
68562       typedef codecvt_base::result result;
68563       typedef _InternT intern_type;
68564       typedef _ExternT extern_type;
68565       typedef _StateT state_type;
68566
68567     protected:
68568       __c_locale _M_c_locale_codecvt;
68569
68570     public:
68571       static locale::id id;
68572
68573       explicit
68574       codecvt(size_t __refs = 0)
68575       : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs) { }
68576
68577       explicit
68578       codecvt(__c_locale __cloc, size_t __refs = 0);
68579
68580     protected:
68581       virtual
68582       ~codecvt() { }
68583
68584       virtual result
68585       do_out(state_type& __state, const intern_type* __from,
68586       const intern_type* __from_end, const intern_type*& __from_next,
68587       extern_type* __to, extern_type* __to_end,
68588       extern_type*& __to_next) const;
68589
68590       virtual result
68591       do_unshift(state_type& __state, extern_type* __to,
68592    extern_type* __to_end, extern_type*& __to_next) const;
68593
68594       virtual result
68595       do_in(state_type& __state, const extern_type* __from,
68596      const extern_type* __from_end, const extern_type*& __from_next,
68597      intern_type* __to, intern_type* __to_end,
68598      intern_type*& __to_next) const;
68599
68600       virtual int
68601       do_encoding() const throw();
68602
68603       virtual bool
68604       do_always_noconv() const throw();
68605
68606       virtual int
68607       do_length(state_type&, const extern_type* __from,
68608   const extern_type* __end, size_t __max) const;
68609
68610       virtual int
68611       do_max_length() const throw();
68612     };
68613
68614   template<typename _InternT, typename _ExternT, typename _StateT>
68615     locale::id codecvt<_InternT, _ExternT, _StateT>::id;
68616
68617
68618   template<>
68619     class codecvt<char, char, mbstate_t>
68620     : public __codecvt_abstract_base<char, char, mbstate_t>
68621     {
68622     public:
68623
68624       typedef char intern_type;
68625       typedef char extern_type;
68626       typedef mbstate_t state_type;
68627
68628     protected:
68629       __c_locale _M_c_locale_codecvt;
68630
68631     public:
68632       static locale::id id;
68633
68634       explicit
68635       codecvt(size_t __refs = 0);
68636
68637       explicit
68638       codecvt(__c_locale __cloc, size_t __refs = 0);
68639
68640     protected:
68641       virtual
68642       ~codecvt();
68643
68644       virtual result
68645       do_out(state_type& __state, const intern_type* __from,
68646       const intern_type* __from_end, const intern_type*& __from_next,
68647       extern_type* __to, extern_type* __to_end,
68648       extern_type*& __to_next) const;
68649
68650       virtual result
68651       do_unshift(state_type& __state, extern_type* __to,
68652    extern_type* __to_end, extern_type*& __to_next) const;
68653
68654       virtual result
68655       do_in(state_type& __state, const extern_type* __from,
68656      const extern_type* __from_end, const extern_type*& __from_next,
68657      intern_type* __to, intern_type* __to_end,
68658      intern_type*& __to_next) const;
68659
68660       virtual int
68661       do_encoding() const throw();
68662
68663       virtual bool
68664       do_always_noconv() const throw();
68665
68666       virtual int
68667       do_length(state_type&, const extern_type* __from,
68668   const extern_type* __end, size_t __max) const;
68669
68670       virtual int
68671       do_max_length() const throw();
68672   };
68673
68674
68675
68676   template<>
68677     class codecvt<wchar_t, char, mbstate_t>
68678     : public __codecvt_abstract_base<wchar_t, char, mbstate_t>
68679     {
68680     public:
68681
68682       typedef wchar_t intern_type;
68683       typedef char extern_type;
68684       typedef mbstate_t state_type;
68685
68686     protected:
68687       __c_locale _M_c_locale_codecvt;
68688
68689     public:
68690       static locale::id id;
68691
68692       explicit
68693       codecvt(size_t __refs = 0);
68694
68695       explicit
68696       codecvt(__c_locale __cloc, size_t __refs = 0);
68697
68698     protected:
68699       virtual
68700       ~codecvt();
68701
68702       virtual result
68703       do_out(state_type& __state, const intern_type* __from,
68704       const intern_type* __from_end, const intern_type*& __from_next,
68705       extern_type* __to, extern_type* __to_end,
68706       extern_type*& __to_next) const;
68707
68708       virtual result
68709       do_unshift(state_type& __state,
68710    extern_type* __to, extern_type* __to_end,
68711    extern_type*& __to_next) const;
68712
68713       virtual result
68714       do_in(state_type& __state,
68715       const extern_type* __from, const extern_type* __from_end,
68716       const extern_type*& __from_next,
68717       intern_type* __to, intern_type* __to_end,
68718       intern_type*& __to_next) const;
68719
68720       virtual
68721       int do_encoding() const throw();
68722
68723       virtual
68724       bool do_always_noconv() const throw();
68725
68726       virtual
68727       int do_length(state_type&, const extern_type* __from,
68728       const extern_type* __end, size_t __max) const;
68729
68730       virtual int
68731       do_max_length() const throw();
68732     };
68733
68734
68735
68736   template<typename _InternT, typename _ExternT, typename _StateT>
68737     class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
68738     {
68739     public:
68740       explicit
68741       codecvt_byname(const char* __s, size_t __refs = 0)
68742       : codecvt<_InternT, _ExternT, _StateT>(__refs)
68743       {
68744  if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
68745    {
68746      this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
68747      this->_S_create_c_locale(this->_M_c_locale_codecvt, __s);
68748    }
68749       }
68750
68751     protected:
68752       virtual
68753       ~codecvt_byname() { }
68754     };
68755 # 1534 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
68756
68757
68758   class __num_base
68759   {
68760   public:
68761
68762
68763     enum
68764       {
68765         _S_ominus,
68766         _S_oplus,
68767         _S_ox,
68768         _S_oX,
68769         _S_odigits,
68770         _S_odigits_end = _S_odigits + 16,
68771         _S_oudigits = _S_odigits_end,
68772         _S_oudigits_end = _S_oudigits + 16,
68773         _S_oe = _S_odigits + 14,
68774         _S_oE = _S_oudigits + 14,
68775  _S_oend = _S_oudigits_end
68776       };
68777
68778
68779
68780
68781
68782
68783     static const char* _S_atoms_out;
68784
68785
68786
68787     static const char* _S_atoms_in;
68788
68789     enum
68790     {
68791       _S_iminus,
68792       _S_iplus,
68793       _S_ix,
68794       _S_iX,
68795       _S_izero,
68796       _S_ie = _S_izero + 14,
68797       _S_iE = _S_izero + 20,
68798       _S_iend = 26
68799     };
68800
68801
68802
68803     static void
68804     _S_format_float(const ios_base& __io, char* __fptr, char __mod);
68805   };
68806
68807   template<typename _CharT>
68808     struct __numpunct_cache : public locale::facet
68809     {
68810       const char* _M_grouping;
68811       size_t _M_grouping_size;
68812       bool _M_use_grouping;
68813       const _CharT* _M_truename;
68814       size_t _M_truename_size;
68815       const _CharT* _M_falsename;
68816       size_t _M_falsename_size;
68817       _CharT _M_decimal_point;
68818       _CharT _M_thousands_sep;
68819
68820
68821
68822
68823
68824       _CharT _M_atoms_out[__num_base::_S_oend];
68825
68826
68827
68828
68829
68830       _CharT _M_atoms_in[__num_base::_S_iend];
68831
68832       bool _M_allocated;
68833
68834       __numpunct_cache(size_t __refs = 0) : facet(__refs),
68835       _M_grouping(__null), _M_grouping_size(0), _M_use_grouping(false),
68836       _M_truename(__null), _M_truename_size(0), _M_falsename(__null),
68837       _M_falsename_size(0), _M_decimal_point(_CharT()),
68838       _M_thousands_sep(_CharT()), _M_allocated(false)
68839       { }
68840
68841       ~__numpunct_cache();
68842
68843       void
68844       _M_cache(const locale& __loc);
68845
68846     private:
68847       __numpunct_cache&
68848       operator=(const __numpunct_cache&);
68849
68850       explicit
68851       __numpunct_cache(const __numpunct_cache&);
68852     };
68853
68854   template<typename _CharT>
68855     __numpunct_cache<_CharT>::~__numpunct_cache()
68856     {
68857       if (_M_allocated)
68858  {
68859    delete [] _M_grouping;
68860    delete [] _M_truename;
68861    delete [] _M_falsename;
68862  }
68863     }
68864 # 1656 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68865   template<typename _CharT>
68866     class numpunct : public locale::facet
68867     {
68868     public:
68869
68870
68871
68872       typedef _CharT char_type;
68873       typedef basic_string<_CharT> string_type;
68874
68875       typedef __numpunct_cache<_CharT> __cache_type;
68876
68877     protected:
68878       __cache_type* _M_data;
68879
68880     public:
68881
68882       static locale::id id;
68883
68884
68885
68886
68887
68888
68889       explicit
68890       numpunct(size_t __refs = 0) : facet(__refs), _M_data(__null)
68891       { _M_initialize_numpunct(); }
68892 # 1693 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68893       explicit
68894       numpunct(__cache_type* __cache, size_t __refs = 0)
68895       : facet(__refs), _M_data(__cache)
68896       { _M_initialize_numpunct(); }
68897 # 1707 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68898       explicit
68899       numpunct(__c_locale __cloc, size_t __refs = 0)
68900       : facet(__refs), _M_data(__null)
68901       { _M_initialize_numpunct(__cloc); }
68902 # 1721 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68903       char_type
68904       decimal_point() const
68905       { return this->do_decimal_point(); }
68906 # 1734 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68907       char_type
68908       thousands_sep() const
68909       { return this->do_thousands_sep(); }
68910 # 1765 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68911       string
68912       grouping() const
68913       { return this->do_grouping(); }
68914 # 1778 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68915       string_type
68916       truename() const
68917       { return this->do_truename(); }
68918 # 1791 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68919       string_type
68920       falsename() const
68921       { return this->do_falsename(); }
68922
68923     protected:
68924
68925       virtual
68926       ~numpunct();
68927 # 1808 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68928       virtual char_type
68929       do_decimal_point() const
68930       { return _M_data->_M_decimal_point; }
68931 # 1820 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68932       virtual char_type
68933       do_thousands_sep() const
68934       { return _M_data->_M_thousands_sep; }
68935 # 1833 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68936       virtual string
68937       do_grouping() const
68938       { return _M_data->_M_grouping; }
68939 # 1846 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68940       virtual string_type
68941       do_truename() const
68942       { return _M_data->_M_truename; }
68943 # 1859 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68944       virtual string_type
68945       do_falsename() const
68946       { return _M_data->_M_falsename; }
68947
68948
68949       void
68950       _M_initialize_numpunct(__c_locale __cloc = __null);
68951     };
68952
68953   template<typename _CharT>
68954     locale::id numpunct<_CharT>::id;
68955
68956   template<>
68957     numpunct<char>::~numpunct();
68958
68959   template<>
68960     void
68961     numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
68962
68963
68964   template<>
68965     numpunct<wchar_t>::~numpunct();
68966
68967   template<>
68968     void
68969     numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
68970
68971
68972
68973   template<typename _CharT>
68974     class numpunct_byname : public numpunct<_CharT>
68975     {
68976     public:
68977       typedef _CharT char_type;
68978       typedef basic_string<_CharT> string_type;
68979
68980       explicit
68981       numpunct_byname(const char* __s, size_t __refs = 0)
68982       : numpunct<_CharT>(__refs)
68983       {
68984  if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
68985    {
68986      __c_locale __tmp;
68987      this->_S_create_c_locale(__tmp, __s);
68988      this->_M_initialize_numpunct(__tmp);
68989      this->_S_destroy_c_locale(__tmp);
68990    }
68991       }
68992
68993     protected:
68994       virtual
68995       ~numpunct_byname() { }
68996     };
68997 # 1925 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
68998   template<typename _CharT, typename _InIter>
68999     class num_get : public locale::facet
69000     {
69001     public:
69002
69003
69004
69005       typedef _CharT char_type;
69006       typedef _InIter iter_type;
69007
69008
69009
69010       static locale::id id;
69011 # 1946 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69012       explicit
69013       num_get(size_t __refs = 0) : facet(__refs) { }
69014 # 1972 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69015       iter_type
69016       get(iter_type __in, iter_type __end, ios_base& __io,
69017    ios_base::iostate& __err, bool& __v) const
69018       { return this->do_get(__in, __end, __io, __err, __v); }
69019 # 2008 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69020       iter_type
69021       get(iter_type __in, iter_type __end, ios_base& __io,
69022    ios_base::iostate& __err, long& __v) const
69023       { return this->do_get(__in, __end, __io, __err, __v); }
69024
69025       iter_type
69026       get(iter_type __in, iter_type __end, ios_base& __io,
69027    ios_base::iostate& __err, unsigned short& __v) const
69028       { return this->do_get(__in, __end, __io, __err, __v); }
69029
69030       iter_type
69031       get(iter_type __in, iter_type __end, ios_base& __io,
69032    ios_base::iostate& __err, unsigned int& __v) const
69033       { return this->do_get(__in, __end, __io, __err, __v); }
69034
69035       iter_type
69036       get(iter_type __in, iter_type __end, ios_base& __io,
69037    ios_base::iostate& __err, unsigned long& __v) const
69038       { return this->do_get(__in, __end, __io, __err, __v); }
69039
69040
69041       iter_type
69042       get(iter_type __in, iter_type __end, ios_base& __io,
69043    ios_base::iostate& __err, long long& __v) const
69044       { return this->do_get(__in, __end, __io, __err, __v); }
69045
69046       iter_type
69047       get(iter_type __in, iter_type __end, ios_base& __io,
69048    ios_base::iostate& __err, unsigned long long& __v) const
69049       { return this->do_get(__in, __end, __io, __err, __v); }
69050 # 2067 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69051       iter_type
69052       get(iter_type __in, iter_type __end, ios_base& __io,
69053    ios_base::iostate& __err, float& __v) const
69054       { return this->do_get(__in, __end, __io, __err, __v); }
69055
69056       iter_type
69057       get(iter_type __in, iter_type __end, ios_base& __io,
69058    ios_base::iostate& __err, double& __v) const
69059       { return this->do_get(__in, __end, __io, __err, __v); }
69060
69061       iter_type
69062       get(iter_type __in, iter_type __end, ios_base& __io,
69063    ios_base::iostate& __err, long double& __v) const
69064       { return this->do_get(__in, __end, __io, __err, __v); }
69065 # 2109 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69066       iter_type
69067       get(iter_type __in, iter_type __end, ios_base& __io,
69068    ios_base::iostate& __err, void*& __v) const
69069       { return this->do_get(__in, __end, __io, __err, __v); }
69070
69071     protected:
69072
69073       virtual ~num_get() { }
69074
69075       iter_type
69076       _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&,
69077          string& __xtrc) const;
69078
69079       template<typename _ValueT>
69080         iter_type
69081         _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&,
69082          _ValueT& __v) const;
69083 # 2142 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69084       virtual iter_type
69085       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
69086
69087
69088       virtual iter_type
69089       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, long&) const;
69090
69091       virtual iter_type
69092       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
69093        unsigned short&) const;
69094
69095       virtual iter_type
69096       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
69097       unsigned int&) const;
69098
69099       virtual iter_type
69100       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
69101       unsigned long&) const;
69102
69103
69104       virtual iter_type
69105       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
69106       long long&) const;
69107
69108       virtual iter_type
69109       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
69110       unsigned long long&) const;
69111
69112
69113       virtual iter_type
69114       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
69115       float&) const;
69116
69117       virtual iter_type
69118       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
69119       double&) const;
69120
69121       virtual iter_type
69122       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
69123       long double&) const;
69124
69125       virtual iter_type
69126       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
69127       void*&) const;
69128
69129     };
69130
69131   template<typename _CharT, typename _InIter>
69132     locale::id num_get<_CharT, _InIter>::id;
69133 # 2204 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69134   template<typename _CharT, typename _OutIter>
69135     class num_put : public locale::facet
69136     {
69137     public:
69138
69139
69140
69141       typedef _CharT char_type;
69142       typedef _OutIter iter_type;
69143
69144
69145
69146       static locale::id id;
69147 # 2225 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69148       explicit
69149       num_put(size_t __refs = 0) : facet(__refs) { }
69150 # 2243 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69151       iter_type
69152       put(iter_type __s, ios_base& __f, char_type __fill, bool __v) const
69153       { return this->do_put(__s, __f, __fill, __v); }
69154 # 2285 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69155       iter_type
69156       put(iter_type __s, ios_base& __f, char_type __fill, long __v) const
69157       { return this->do_put(__s, __f, __fill, __v); }
69158
69159       iter_type
69160       put(iter_type __s, ios_base& __f, char_type __fill,
69161    unsigned long __v) const
69162       { return this->do_put(__s, __f, __fill, __v); }
69163
69164
69165       iter_type
69166       put(iter_type __s, ios_base& __f, char_type __fill, long long __v) const
69167       { return this->do_put(__s, __f, __fill, __v); }
69168
69169       iter_type
69170       put(iter_type __s, ios_base& __f, char_type __fill,
69171    unsigned long long __v) const
69172       { return this->do_put(__s, __f, __fill, __v); }
69173 # 2348 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69174       iter_type
69175       put(iter_type __s, ios_base& __f, char_type __fill, double __v) const
69176       { return this->do_put(__s, __f, __fill, __v); }
69177
69178       iter_type
69179       put(iter_type __s, ios_base& __f, char_type __fill,
69180    long double __v) const
69181       { return this->do_put(__s, __f, __fill, __v); }
69182 # 2373 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69183       iter_type
69184       put(iter_type __s, ios_base& __f, char_type __fill,
69185    const void* __v) const
69186       { return this->do_put(__s, __f, __fill, __v); }
69187
69188     protected:
69189       template<typename _ValueT>
69190         iter_type
69191         _M_insert_float(iter_type, ios_base& __io, char_type __fill,
69192    char __mod, _ValueT __v) const;
69193
69194       void
69195       _M_group_float(const char* __grouping, size_t __grouping_size,
69196        char_type __sep, const char_type* __p, char_type* __new,
69197        char_type* __cs, int& __len) const;
69198
69199       template<typename _ValueT>
69200         iter_type
69201         _M_insert_int(iter_type, ios_base& __io, char_type __fill,
69202         _ValueT __v) const;
69203
69204       void
69205       _M_group_int(const char* __grouping, size_t __grouping_size,
69206      char_type __sep, ios_base& __io, char_type* __new,
69207      char_type* __cs, int& __len) const;
69208
69209       void
69210       _M_pad(char_type __fill, streamsize __w, ios_base& __io,
69211       char_type* __new, const char_type* __cs, int& __len) const;
69212
69213
69214       virtual
69215       ~num_put() { };
69216 # 2421 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69217       virtual iter_type
69218       do_put(iter_type, ios_base&, char_type __fill, bool __v) const;
69219
69220       virtual iter_type
69221       do_put(iter_type, ios_base&, char_type __fill, long __v) const;
69222
69223       virtual iter_type
69224       do_put(iter_type, ios_base&, char_type __fill, unsigned long) const;
69225
69226
69227       virtual iter_type
69228       do_put(iter_type, ios_base&, char_type __fill, long long __v) const;
69229
69230       virtual iter_type
69231       do_put(iter_type, ios_base&, char_type __fill, unsigned long long) const;
69232
69233
69234       virtual iter_type
69235       do_put(iter_type, ios_base&, char_type __fill, double __v) const;
69236
69237       virtual iter_type
69238       do_put(iter_type, ios_base&, char_type __fill, long double __v) const;
69239
69240       virtual iter_type
69241       do_put(iter_type, ios_base&, char_type __fill, const void* __v) const;
69242
69243     };
69244
69245   template <typename _CharT, typename _OutIter>
69246     locale::id num_put<_CharT, _OutIter>::id;
69247 # 2465 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69248   template<typename _CharT>
69249     class collate : public locale::facet
69250     {
69251     public:
69252
69253
69254
69255       typedef _CharT char_type;
69256       typedef basic_string<_CharT> string_type;
69257
69258
69259     protected:
69260
69261
69262       __c_locale _M_c_locale_collate;
69263
69264     public:
69265
69266       static locale::id id;
69267 # 2492 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69268       explicit
69269       collate(size_t __refs = 0)
69270       : facet(__refs), _M_c_locale_collate(_S_get_c_locale())
69271       { }
69272 # 2506 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69273       explicit
69274       collate(__c_locale __cloc, size_t __refs = 0)
69275       : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc))
69276       { }
69277 # 2523 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69278       int
69279       compare(const _CharT* __lo1, const _CharT* __hi1,
69280        const _CharT* __lo2, const _CharT* __hi2) const
69281       { return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
69282 # 2542 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69283       string_type
69284       transform(const _CharT* __lo, const _CharT* __hi) const
69285       { return this->do_transform(__lo, __hi); }
69286 # 2556 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69287       long
69288       hash(const _CharT* __lo, const _CharT* __hi) const
69289       { return this->do_hash(__lo, __hi); }
69290
69291
69292       int
69293       _M_compare(const _CharT*, const _CharT*) const;
69294
69295       size_t
69296       _M_transform(_CharT*, const _CharT*, size_t) const;
69297
69298   protected:
69299
69300       virtual
69301       ~collate()
69302       { _S_destroy_c_locale(_M_c_locale_collate); }
69303 # 2585 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69304       virtual int
69305       do_compare(const _CharT* __lo1, const _CharT* __hi1,
69306    const _CharT* __lo2, const _CharT* __hi2) const;
69307 # 2601 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69308       virtual string_type
69309       do_transform(const _CharT* __lo, const _CharT* __hi) const;
69310 # 2614 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69311       virtual long
69312       do_hash(const _CharT* __lo, const _CharT* __hi) const;
69313     };
69314
69315   template<typename _CharT>
69316     locale::id collate<_CharT>::id;
69317
69318
69319   template<>
69320     int
69321     collate<char>::_M_compare(const char*, const char*) const;
69322
69323   template<>
69324     size_t
69325     collate<char>::_M_transform(char*, const char*, size_t) const;
69326
69327
69328   template<>
69329     int
69330     collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const;
69331
69332   template<>
69333     size_t
69334     collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const;
69335
69336
69337
69338   template<typename _CharT>
69339     class collate_byname : public collate<_CharT>
69340     {
69341     public:
69342
69343
69344       typedef _CharT char_type;
69345       typedef basic_string<_CharT> string_type;
69346
69347
69348       explicit
69349       collate_byname(const char* __s, size_t __refs = 0)
69350       : collate<_CharT>(__refs)
69351       {
69352  if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
69353    {
69354      this->_S_destroy_c_locale(this->_M_c_locale_collate);
69355      this->_S_create_c_locale(this->_M_c_locale_collate, __s);
69356    }
69357       }
69358
69359     protected:
69360       virtual
69361       ~collate_byname() { }
69362     };
69363 # 2674 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69364   class time_base
69365   {
69366   public:
69367     enum dateorder { no_order, dmy, mdy, ymd, ydm };
69368   };
69369
69370   template<typename _CharT>
69371     struct __timepunct_cache : public locale::facet
69372     {
69373
69374       static const _CharT* _S_timezones[14];
69375
69376       const _CharT* _M_date_format;
69377       const _CharT* _M_date_era_format;
69378       const _CharT* _M_time_format;
69379       const _CharT* _M_time_era_format;
69380       const _CharT* _M_date_time_format;
69381       const _CharT* _M_date_time_era_format;
69382       const _CharT* _M_am;
69383       const _CharT* _M_pm;
69384       const _CharT* _M_am_pm_format;
69385
69386
69387       const _CharT* _M_day1;
69388       const _CharT* _M_day2;
69389       const _CharT* _M_day3;
69390       const _CharT* _M_day4;
69391       const _CharT* _M_day5;
69392       const _CharT* _M_day6;
69393       const _CharT* _M_day7;
69394
69395
69396       const _CharT* _M_aday1;
69397       const _CharT* _M_aday2;
69398       const _CharT* _M_aday3;
69399       const _CharT* _M_aday4;
69400       const _CharT* _M_aday5;
69401       const _CharT* _M_aday6;
69402       const _CharT* _M_aday7;
69403
69404
69405       const _CharT* _M_month01;
69406       const _CharT* _M_month02;
69407       const _CharT* _M_month03;
69408       const _CharT* _M_month04;
69409       const _CharT* _M_month05;
69410       const _CharT* _M_month06;
69411       const _CharT* _M_month07;
69412       const _CharT* _M_month08;
69413       const _CharT* _M_month09;
69414       const _CharT* _M_month10;
69415       const _CharT* _M_month11;
69416       const _CharT* _M_month12;
69417
69418
69419       const _CharT* _M_amonth01;
69420       const _CharT* _M_amonth02;
69421       const _CharT* _M_amonth03;
69422       const _CharT* _M_amonth04;
69423       const _CharT* _M_amonth05;
69424       const _CharT* _M_amonth06;
69425       const _CharT* _M_amonth07;
69426       const _CharT* _M_amonth08;
69427       const _CharT* _M_amonth09;
69428       const _CharT* _M_amonth10;
69429       const _CharT* _M_amonth11;
69430       const _CharT* _M_amonth12;
69431
69432       bool _M_allocated;
69433
69434       __timepunct_cache(size_t __refs = 0) : facet(__refs),
69435       _M_date_format(__null), _M_date_era_format(__null), _M_time_format(__null),
69436       _M_time_era_format(__null), _M_date_time_format(__null),
69437       _M_date_time_era_format(__null), _M_am(__null), _M_pm(__null),
69438       _M_am_pm_format(__null), _M_day1(__null), _M_day2(__null), _M_day3(__null),
69439       _M_day4(__null), _M_day5(__null), _M_day6(__null), _M_day7(__null),
69440       _M_aday1(__null), _M_aday2(__null), _M_aday3(__null), _M_aday4(__null),
69441       _M_aday5(__null), _M_aday6(__null), _M_aday7(__null), _M_month01(__null),
69442       _M_month02(__null), _M_month03(__null), _M_month04(__null), _M_month05(__null),
69443       _M_month06(__null), _M_month07(__null), _M_month08(__null), _M_month09(__null),
69444       _M_month10(__null), _M_month11(__null), _M_month12(__null), _M_amonth01(__null),
69445       _M_amonth02(__null), _M_amonth03(__null), _M_amonth04(__null),
69446       _M_amonth05(__null), _M_amonth06(__null), _M_amonth07(__null),
69447       _M_amonth08(__null), _M_amonth09(__null), _M_amonth10(__null),
69448       _M_amonth11(__null), _M_amonth12(__null), _M_allocated(false)
69449       { }
69450
69451       ~__timepunct_cache();
69452
69453       void
69454       _M_cache(const locale& __loc);
69455
69456     private:
69457       __timepunct_cache&
69458       operator=(const __timepunct_cache&);
69459
69460       explicit
69461       __timepunct_cache(const __timepunct_cache&);
69462     };
69463
69464   template<typename _CharT>
69465     __timepunct_cache<_CharT>::~__timepunct_cache()
69466     {
69467       if (_M_allocated)
69468  {
69469
69470  }
69471     }
69472
69473
69474   template<>
69475     const char*
69476     __timepunct_cache<char>::_S_timezones[14];
69477
69478
69479   template<>
69480     const wchar_t*
69481     __timepunct_cache<wchar_t>::_S_timezones[14];
69482
69483
69484
69485   template<typename _CharT>
69486     const _CharT* __timepunct_cache<_CharT>::_S_timezones[14];
69487
69488   template<typename _CharT>
69489     class __timepunct : public locale::facet
69490     {
69491     public:
69492
69493       typedef _CharT __char_type;
69494       typedef basic_string<_CharT> __string_type;
69495       typedef __timepunct_cache<_CharT> __cache_type;
69496
69497     protected:
69498       __cache_type* _M_data;
69499       __c_locale _M_c_locale_timepunct;
69500       const char* _M_name_timepunct;
69501
69502     public:
69503
69504       static locale::id id;
69505
69506       explicit
69507       __timepunct(size_t __refs = 0);
69508
69509       explicit
69510       __timepunct(__cache_type* __cache, size_t __refs = 0);
69511 # 2832 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69512       explicit
69513       __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0);
69514
69515
69516
69517       void
69518       _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format,
69519       const tm* __tm) const;
69520
69521       void
69522       _M_date_formats(const _CharT** __date) const
69523       {
69524
69525  __date[0] = _M_data->_M_date_format;
69526  __date[1] = _M_data->_M_date_era_format;
69527       }
69528
69529       void
69530       _M_time_formats(const _CharT** __time) const
69531       {
69532
69533  __time[0] = _M_data->_M_time_format;
69534  __time[1] = _M_data->_M_time_era_format;
69535       }
69536
69537       void
69538       _M_date_time_formats(const _CharT** __dt) const
69539       {
69540
69541  __dt[0] = _M_data->_M_date_time_format;
69542  __dt[1] = _M_data->_M_date_time_era_format;
69543       }
69544
69545       void
69546       _M_am_pm_format(const _CharT* __ampm) const
69547       { __ampm = _M_data->_M_am_pm_format; }
69548
69549       void
69550       _M_am_pm(const _CharT** __ampm) const
69551       {
69552  __ampm[0] = _M_data->_M_am;
69553  __ampm[1] = _M_data->_M_pm;
69554       }
69555
69556       void
69557       _M_days(const _CharT** __days) const
69558       {
69559  __days[0] = _M_data->_M_day1;
69560  __days[1] = _M_data->_M_day2;
69561  __days[2] = _M_data->_M_day3;
69562  __days[3] = _M_data->_M_day4;
69563  __days[4] = _M_data->_M_day5;
69564  __days[5] = _M_data->_M_day6;
69565  __days[6] = _M_data->_M_day7;
69566       }
69567
69568       void
69569       _M_days_abbreviated(const _CharT** __days) const
69570       {
69571  __days[0] = _M_data->_M_aday1;
69572  __days[1] = _M_data->_M_aday2;
69573  __days[2] = _M_data->_M_aday3;
69574  __days[3] = _M_data->_M_aday4;
69575  __days[4] = _M_data->_M_aday5;
69576  __days[5] = _M_data->_M_aday6;
69577  __days[6] = _M_data->_M_aday7;
69578       }
69579
69580       void
69581       _M_months(const _CharT** __months) const
69582       {
69583  __months[0] = _M_data->_M_month01;
69584  __months[1] = _M_data->_M_month02;
69585  __months[2] = _M_data->_M_month03;
69586  __months[3] = _M_data->_M_month04;
69587  __months[4] = _M_data->_M_month05;
69588  __months[5] = _M_data->_M_month06;
69589  __months[6] = _M_data->_M_month07;
69590  __months[7] = _M_data->_M_month08;
69591  __months[8] = _M_data->_M_month09;
69592  __months[9] = _M_data->_M_month10;
69593  __months[10] = _M_data->_M_month11;
69594  __months[11] = _M_data->_M_month12;
69595       }
69596
69597       void
69598       _M_months_abbreviated(const _CharT** __months) const
69599       {
69600  __months[0] = _M_data->_M_amonth01;
69601  __months[1] = _M_data->_M_amonth02;
69602  __months[2] = _M_data->_M_amonth03;
69603  __months[3] = _M_data->_M_amonth04;
69604  __months[4] = _M_data->_M_amonth05;
69605  __months[5] = _M_data->_M_amonth06;
69606  __months[6] = _M_data->_M_amonth07;
69607  __months[7] = _M_data->_M_amonth08;
69608  __months[8] = _M_data->_M_amonth09;
69609  __months[9] = _M_data->_M_amonth10;
69610  __months[10] = _M_data->_M_amonth11;
69611  __months[11] = _M_data->_M_amonth12;
69612       }
69613
69614     protected:
69615       virtual
69616       ~__timepunct();
69617
69618
69619       void
69620       _M_initialize_timepunct(__c_locale __cloc = __null);
69621     };
69622
69623   template<typename _CharT>
69624     locale::id __timepunct<_CharT>::id;
69625
69626
69627   template<>
69628     void
69629     __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
69630
69631   template<>
69632     void
69633     __timepunct<char>::_M_put(char*, size_t, const char*, const tm*) const;
69634
69635
69636   template<>
69637     void
69638     __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
69639
69640   template<>
69641     void
69642     __timepunct<wchar_t>::_M_put(wchar_t*, size_t, const wchar_t*,
69643      const tm*) const;
69644
69645
69646
69647 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/time_members.h" 1 3
69648 # 37 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/time_members.h" 3
69649   template<typename _CharT>
69650     __timepunct<_CharT>::__timepunct(size_t __refs)
69651     : facet(__refs), _M_data(__null), _M_c_locale_timepunct(__null),
69652       _M_name_timepunct(_S_get_c_name())
69653     { _M_initialize_timepunct(); }
69654
69655   template<typename _CharT>
69656     __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
69657     : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(__null),
69658       _M_name_timepunct(_S_get_c_name())
69659     { _M_initialize_timepunct(); }
69660
69661   template<typename _CharT>
69662     __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
69663          size_t __refs)
69664     : facet(__refs), _M_data(__null), _M_c_locale_timepunct(__null),
69665       _M_name_timepunct(__null)
69666     {
69667       const size_t __len = std::strlen(__s) + 1;
69668       char* __tmp = new char[__len];
69669       std::memcpy(__tmp, __s, __len);
69670       _M_name_timepunct = __tmp;
69671
69672       try
69673  { _M_initialize_timepunct(__cloc); }
69674       catch(...)
69675  {
69676    delete [] _M_name_timepunct;
69677    throw;
69678  }
69679     }
69680
69681   template<typename _CharT>
69682     __timepunct<_CharT>::~__timepunct()
69683     {
69684       if (_M_name_timepunct != _S_get_c_name())
69685  delete [] _M_name_timepunct;
69686       delete _M_data;
69687       _S_destroy_c_locale(_M_c_locale_timepunct);
69688     }
69689 # 2968 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
69690 # 2981 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69691   template<typename _CharT, typename _InIter>
69692     class time_get : public locale::facet, public time_base
69693     {
69694     public:
69695
69696
69697
69698       typedef _CharT char_type;
69699       typedef _InIter iter_type;
69700
69701       typedef basic_string<_CharT> __string_type;
69702
69703
69704       static locale::id id;
69705 # 3003 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69706       explicit
69707       time_get(size_t __refs = 0)
69708       : facet (__refs) { }
69709 # 3020 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69710       dateorder
69711       date_order() const
69712       { return this->do_date_order(); }
69713 # 3044 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69714       iter_type
69715       get_time(iter_type __beg, iter_type __end, ios_base& __io,
69716         ios_base::iostate& __err, tm* __tm) const
69717       { return this->do_get_time(__beg, __end, __io, __err, __tm); }
69718 # 3069 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69719       iter_type
69720       get_date(iter_type __beg, iter_type __end, ios_base& __io,
69721         ios_base::iostate& __err, tm* __tm) const
69722       { return this->do_get_date(__beg, __end, __io, __err, __tm); }
69723 # 3097 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69724       iter_type
69725       get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
69726     ios_base::iostate& __err, tm* __tm) const
69727       { return this->do_get_weekday(__beg, __end, __io, __err, __tm); }
69728 # 3126 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69729       iter_type
69730       get_monthname(iter_type __beg, iter_type __end, ios_base& __io,
69731       ios_base::iostate& __err, tm* __tm) const
69732       { return this->do_get_monthname(__beg, __end, __io, __err, __tm); }
69733 # 3152 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69734       iter_type
69735       get_year(iter_type __beg, iter_type __end, ios_base& __io,
69736         ios_base::iostate& __err, tm* __tm) const
69737       { return this->do_get_year(__beg, __end, __io, __err, __tm); }
69738
69739     protected:
69740
69741       virtual
69742       ~time_get() { }
69743 # 3172 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69744       virtual dateorder
69745       do_date_order() const;
69746 # 3190 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69747       virtual iter_type
69748       do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
69749     ios_base::iostate& __err, tm* __tm) const;
69750 # 3209 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69751       virtual iter_type
69752       do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
69753     ios_base::iostate& __err, tm* __tm) const;
69754 # 3228 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69755       virtual iter_type
69756       do_get_weekday(iter_type __beg, iter_type __end, ios_base&,
69757        ios_base::iostate& __err, tm* __tm) const;
69758 # 3247 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69759       virtual iter_type
69760       do_get_monthname(iter_type __beg, iter_type __end, ios_base&,
69761          ios_base::iostate& __err, tm* __tm) const;
69762 # 3266 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69763       virtual iter_type
69764       do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
69765     ios_base::iostate& __err, tm* __tm) const;
69766
69767
69768       iter_type
69769       _M_extract_num(iter_type __beg, iter_type __end, int& __member,
69770        int __min, int __max, size_t __len,
69771        ios_base& __io, ios_base::iostate& __err) const;
69772
69773
69774
69775       iter_type
69776       _M_extract_name(iter_type __beg, iter_type __end, int& __member,
69777         const _CharT** __names, size_t __indexlen,
69778         ios_base& __io, ios_base::iostate& __err) const;
69779
69780
69781       iter_type
69782       _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
69783        ios_base::iostate& __err, tm* __tm,
69784        const _CharT* __format) const;
69785     };
69786
69787   template<typename _CharT, typename _InIter>
69788     locale::id time_get<_CharT, _InIter>::id;
69789
69790
69791   template<typename _CharT, typename _InIter>
69792     class time_get_byname : public time_get<_CharT, _InIter>
69793     {
69794     public:
69795
69796       typedef _CharT char_type;
69797       typedef _InIter iter_type;
69798
69799       explicit
69800       time_get_byname(const char*, size_t __refs = 0)
69801       : time_get<_CharT, _InIter>(__refs) { }
69802
69803     protected:
69804       virtual
69805       ~time_get_byname() { }
69806     };
69807 # 3322 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69808   template<typename _CharT, typename _OutIter>
69809     class time_put : public locale::facet
69810     {
69811     public:
69812
69813
69814
69815       typedef _CharT char_type;
69816       typedef _OutIter iter_type;
69817
69818
69819
69820       static locale::id id;
69821 # 3343 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69822       explicit
69823       time_put(size_t __refs = 0)
69824       : facet(__refs) { }
69825 # 3362 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69826       iter_type
69827       put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
69828    const _CharT* __beg, const _CharT* __end) const;
69829 # 3382 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69830       iter_type
69831       put(iter_type __s, ios_base& __io, char_type __fill,
69832    const tm* __tm, char __format, char __mod = 0) const
69833       { return this->do_put(__s, __io, __fill, __tm, __format, __mod); }
69834
69835     protected:
69836
69837       virtual
69838       ~time_put()
69839       { }
69840 # 3409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69841       virtual iter_type
69842       do_put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
69843       char __format, char __mod) const;
69844     };
69845
69846   template<typename _CharT, typename _OutIter>
69847     locale::id time_put<_CharT, _OutIter>::id;
69848
69849
69850   template<typename _CharT, typename _OutIter>
69851     class time_put_byname : public time_put<_CharT, _OutIter>
69852     {
69853     public:
69854
69855       typedef _CharT char_type;
69856       typedef _OutIter iter_type;
69857
69858       explicit
69859       time_put_byname(const char*, size_t __refs = 0)
69860       : time_put<_CharT, _OutIter>(__refs)
69861       { };
69862
69863     protected:
69864       virtual
69865       ~time_put_byname() { }
69866     };
69867 # 3447 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69868   class money_base
69869   {
69870   public:
69871     enum part { none, space, symbol, sign, value };
69872     struct pattern { char field[4]; };
69873
69874     static const pattern _S_default_pattern;
69875
69876     enum
69877     {
69878       _S_minus,
69879       _S_zero,
69880       _S_end = 11
69881     };
69882
69883
69884
69885     static const char* _S_atoms;
69886
69887
69888
69889     static pattern
69890     _S_construct_pattern(char __precedes, char __space, char __posn);
69891   };
69892
69893   template<typename _CharT, bool _Intl>
69894     struct __moneypunct_cache : public locale::facet
69895     {
69896       const char* _M_grouping;
69897       size_t _M_grouping_size;
69898       bool _M_use_grouping;
69899       _CharT _M_decimal_point;
69900       _CharT _M_thousands_sep;
69901       const _CharT* _M_curr_symbol;
69902       size_t _M_curr_symbol_size;
69903       const _CharT* _M_positive_sign;
69904       size_t _M_positive_sign_size;
69905       const _CharT* _M_negative_sign;
69906       size_t _M_negative_sign_size;
69907       int _M_frac_digits;
69908       money_base::pattern _M_pos_format;
69909       money_base::pattern _M_neg_format;
69910
69911
69912
69913
69914       _CharT _M_atoms[money_base::_S_end];
69915
69916       bool _M_allocated;
69917
69918       __moneypunct_cache(size_t __refs = 0) : facet(__refs),
69919       _M_grouping(__null), _M_grouping_size(0), _M_use_grouping(false),
69920       _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()),
69921       _M_curr_symbol(__null), _M_curr_symbol_size(0),
69922       _M_positive_sign(__null), _M_positive_sign_size(0),
69923       _M_negative_sign(__null), _M_negative_sign_size(0),
69924       _M_frac_digits(0),
69925       _M_pos_format(money_base::pattern()),
69926       _M_neg_format(money_base::pattern()), _M_allocated(false)
69927       { }
69928
69929       ~__moneypunct_cache();
69930
69931       void
69932       _M_cache(const locale& __loc);
69933
69934     private:
69935       __moneypunct_cache&
69936       operator=(const __moneypunct_cache&);
69937
69938       explicit
69939       __moneypunct_cache(const __moneypunct_cache&);
69940     };
69941
69942   template<typename _CharT, bool _Intl>
69943     __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache()
69944     {
69945       if (_M_allocated)
69946  {
69947    delete [] _M_grouping;
69948    delete [] _M_curr_symbol;
69949    delete [] _M_positive_sign;
69950    delete [] _M_negative_sign;
69951  }
69952     }
69953
69954
69955
69956
69957
69958
69959
69960   template<typename _CharT, bool _Intl>
69961     class moneypunct : public locale::facet, public money_base
69962     {
69963     public:
69964
69965
69966
69967       typedef _CharT char_type;
69968       typedef basic_string<_CharT> string_type;
69969
69970       typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
69971
69972     private:
69973       __cache_type* _M_data;
69974
69975     public:
69976
69977
69978       static const bool intl = _Intl;
69979
69980       static locale::id id;
69981 # 3568 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69982       explicit
69983       moneypunct(size_t __refs = 0) : facet(__refs), _M_data(__null)
69984       { _M_initialize_moneypunct(); }
69985 # 3580 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69986       explicit
69987       moneypunct(__cache_type* __cache, size_t __refs = 0)
69988       : facet(__refs), _M_data(__cache)
69989       { _M_initialize_moneypunct(); }
69990 # 3595 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69991       explicit
69992       moneypunct(__c_locale __cloc, const char* __s, size_t __refs = 0)
69993       : facet(__refs), _M_data(__null)
69994       { _M_initialize_moneypunct(__cloc, __s); }
69995 # 3609 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
69996       char_type
69997       decimal_point() const
69998       { return this->do_decimal_point(); }
69999 # 3622 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70000       char_type
70001       thousands_sep() const
70002       { return this->do_thousands_sep(); }
70003 # 3651 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70004       string
70005       grouping() const
70006       { return this->do_grouping(); }
70007 # 3664 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70008       string_type
70009       curr_symbol() const
70010       { return this->do_curr_symbol(); }
70011 # 3681 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70012       string_type
70013       positive_sign() const
70014       { return this->do_positive_sign(); }
70015 # 3698 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70016       string_type
70017       negative_sign() const
70018       { return this->do_negative_sign(); }
70019 # 3714 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70020       int
70021       frac_digits() const
70022       { return this->do_frac_digits(); }
70023 # 3749 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70024       pattern
70025       pos_format() const
70026       { return this->do_pos_format(); }
70027
70028       pattern
70029       neg_format() const
70030       { return this->do_neg_format(); }
70031
70032
70033     protected:
70034
70035       virtual
70036       ~moneypunct();
70037 # 3771 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70038       virtual char_type
70039       do_decimal_point() const
70040       { return _M_data->_M_decimal_point; }
70041 # 3783 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70042       virtual char_type
70043       do_thousands_sep() const
70044       { return _M_data->_M_thousands_sep; }
70045 # 3796 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70046       virtual string
70047       do_grouping() const
70048       { return _M_data->_M_grouping; }
70049 # 3809 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70050       virtual string_type
70051       do_curr_symbol() const
70052       { return _M_data->_M_curr_symbol; }
70053 # 3822 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70054       virtual string_type
70055       do_positive_sign() const
70056       { return _M_data->_M_positive_sign; }
70057 # 3835 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70058       virtual string_type
70059       do_negative_sign() const
70060       { return _M_data->_M_negative_sign; }
70061 # 3849 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70062       virtual int
70063       do_frac_digits() const
70064       { return _M_data->_M_frac_digits; }
70065 # 3863 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70066       virtual pattern
70067       do_pos_format() const
70068       { return _M_data->_M_pos_format; }
70069 # 3877 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70070       virtual pattern
70071       do_neg_format() const
70072       { return _M_data->_M_neg_format; }
70073
70074
70075        void
70076        _M_initialize_moneypunct(__c_locale __cloc = __null,
70077     const char* __name = __null);
70078     };
70079
70080   template<typename _CharT, bool _Intl>
70081     locale::id moneypunct<_CharT, _Intl>::id;
70082
70083   template<typename _CharT, bool _Intl>
70084     const bool moneypunct<_CharT, _Intl>::intl;
70085
70086   template<>
70087     moneypunct<char, true>::~moneypunct();
70088
70089   template<>
70090     moneypunct<char, false>::~moneypunct();
70091
70092   template<>
70093     void
70094     moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*);
70095
70096   template<>
70097     void
70098     moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*);
70099
70100
70101   template<>
70102     moneypunct<wchar_t, true>::~moneypunct();
70103
70104   template<>
70105     moneypunct<wchar_t, false>::~moneypunct();
70106
70107   template<>
70108     void
70109     moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
70110        const char*);
70111
70112   template<>
70113     void
70114     moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
70115         const char*);
70116
70117
70118
70119   template<typename _CharT, bool _Intl>
70120     class moneypunct_byname : public moneypunct<_CharT, _Intl>
70121     {
70122     public:
70123       typedef _CharT char_type;
70124       typedef basic_string<_CharT> string_type;
70125
70126       static const bool intl = _Intl;
70127
70128       explicit
70129       moneypunct_byname(const char* __s, size_t __refs = 0)
70130       : moneypunct<_CharT, _Intl>(__refs)
70131       {
70132  if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
70133    {
70134      __c_locale __tmp;
70135      this->_S_create_c_locale(__tmp, __s);
70136      this->_M_initialize_moneypunct(__tmp);
70137      this->_S_destroy_c_locale(__tmp);
70138    }
70139       }
70140
70141     protected:
70142       virtual
70143       ~moneypunct_byname() { }
70144     };
70145
70146   template<typename _CharT, bool _Intl>
70147     const bool moneypunct_byname<_CharT, _Intl>::intl;
70148 # 3968 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70149   template<typename _CharT, typename _InIter>
70150     class money_get : public locale::facet
70151     {
70152     public:
70153
70154
70155
70156       typedef _CharT char_type;
70157       typedef _InIter iter_type;
70158       typedef basic_string<_CharT> string_type;
70159
70160
70161
70162       static locale::id id;
70163 # 3990 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70164       explicit
70165       money_get(size_t __refs = 0) : facet(__refs) { }
70166 # 4020 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70167       iter_type
70168       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
70169    ios_base::iostate& __err, long double& __units) const
70170       { return this->do_get(__s, __end, __intl, __io, __err, __units); }
70171 # 4050 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70172       iter_type
70173       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
70174    ios_base::iostate& __err, string_type& __digits) const
70175       { return this->do_get(__s, __end, __intl, __io, __err, __digits); }
70176
70177     protected:
70178
70179       virtual
70180       ~money_get() { }
70181 # 4067 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70182       virtual iter_type
70183       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
70184       ios_base::iostate& __err, long double& __units) const;
70185 # 4078 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70186       virtual iter_type
70187       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
70188       ios_base::iostate& __err, string_type& __digits) const;
70189
70190       template<bool _Intl>
70191         iter_type
70192         _M_extract(iter_type __s, iter_type __end, ios_base& __io,
70193      ios_base::iostate& __err, string& __digits) const;
70194     };
70195
70196   template<typename _CharT, typename _InIter>
70197     locale::id money_get<_CharT, _InIter>::id;
70198 # 4103 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70199   template<typename _CharT, typename _OutIter>
70200     class money_put : public locale::facet
70201     {
70202     public:
70203
70204
70205       typedef _CharT char_type;
70206       typedef _OutIter iter_type;
70207       typedef basic_string<_CharT> string_type;
70208
70209
70210
70211       static locale::id id;
70212 # 4124 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70213       explicit
70214       money_put(size_t __refs = 0) : facet(__refs) { }
70215 # 4144 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70216       iter_type
70217       put(iter_type __s, bool __intl, ios_base& __io,
70218    char_type __fill, long double __units) const
70219       { return this->do_put(__s, __intl, __io, __fill, __units); }
70220 # 4166 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70221       iter_type
70222       put(iter_type __s, bool __intl, ios_base& __io,
70223    char_type __fill, const string_type& __digits) const
70224       { return this->do_put(__s, __intl, __io, __fill, __digits); }
70225
70226     protected:
70227
70228       virtual
70229       ~money_put() { }
70230 # 4194 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70231       virtual iter_type
70232       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
70233       long double __units) const;
70234 # 4216 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70235       virtual iter_type
70236       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
70237       const string_type& __digits) const;
70238
70239       template<bool _Intl>
70240         iter_type
70241         _M_insert(iter_type __s, ios_base& __io, char_type __fill,
70242     const string_type& __digits) const;
70243     };
70244
70245   template<typename _CharT, typename _OutIter>
70246     locale::id money_put<_CharT, _OutIter>::id;
70247
70248
70249
70250
70251   struct messages_base
70252   {
70253     typedef int catalog;
70254   };
70255 # 4257 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70256   template<typename _CharT>
70257     class messages : public locale::facet, public messages_base
70258     {
70259     public:
70260
70261
70262
70263       typedef _CharT char_type;
70264       typedef basic_string<_CharT> string_type;
70265
70266
70267     protected:
70268
70269
70270       __c_locale _M_c_locale_messages;
70271       const char* _M_name_messages;
70272
70273     public:
70274
70275       static locale::id id;
70276 # 4285 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70277       explicit
70278       messages(size_t __refs = 0);
70279 # 4299 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70280       explicit
70281       messages(__c_locale __cloc, const char* __s, size_t __refs = 0);
70282 # 4312 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70283       catalog
70284       open(const basic_string<char>& __s, const locale& __loc) const
70285       { return this->do_open(__s, __loc); }
70286 # 4330 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70287       catalog
70288       open(const basic_string<char>&, const locale&, const char*) const;
70289 # 4348 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70290       string_type
70291       get(catalog __c, int __set, int __msgid, const string_type& __s) const
70292       { return this->do_get(__c, __set, __msgid, __s); }
70293 # 4359 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70294       void
70295       close(catalog __c) const
70296       { return this->do_close(__c); }
70297
70298     protected:
70299
70300       virtual
70301       ~messages();
70302 # 4379 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70303       virtual catalog
70304       do_open(const basic_string<char>&, const locale&) const;
70305 # 4398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70306       virtual string_type
70307       do_get(catalog, int, int, const string_type& __dfault) const;
70308
70309
70310
70311
70312
70313
70314       virtual void
70315       do_close(catalog) const;
70316
70317
70318       char*
70319       _M_convert_to_char(const string_type& __msg) const
70320       {
70321
70322  return reinterpret_cast<char*>(const_cast<_CharT*>(__msg.c_str()));
70323       }
70324
70325
70326       string_type
70327       _M_convert_from_char(char*) const
70328       {
70329 # 4455 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70330  return string_type();
70331       }
70332      };
70333
70334   template<typename _CharT>
70335     locale::id messages<_CharT>::id;
70336
70337
70338   template<>
70339     string
70340     messages<char>::do_get(catalog, int, int, const string&) const;
70341
70342
70343   template<>
70344     wstring
70345     messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
70346
70347
70348
70349    template<typename _CharT>
70350     class messages_byname : public messages<_CharT>
70351     {
70352     public:
70353       typedef _CharT char_type;
70354       typedef basic_string<_CharT> string_type;
70355
70356       explicit
70357       messages_byname(const char* __s, size_t __refs = 0);
70358
70359     protected:
70360       virtual
70361       ~messages_byname()
70362       { }
70363     };
70364
70365
70366 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/messages_members.h" 1 3
70367 # 37 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/i686-pc-linux-gnu/bits/messages_members.h" 3
70368   template<typename _CharT>
70369      messages<_CharT>::messages(size_t __refs)
70370      : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
70371        _M_name_messages(_S_get_c_name())
70372      { }
70373
70374   template<typename _CharT>
70375      messages<_CharT>::messages(__c_locale __cloc, const char* __s,
70376     size_t __refs)
70377      : facet(__refs), _M_c_locale_messages(__null), _M_name_messages(__null)
70378      {
70379        const size_t __len = std::strlen(__s) + 1;
70380        char* __tmp = new char[__len];
70381        std::memcpy(__tmp, __s, __len);
70382        _M_name_messages = __tmp;
70383
70384
70385        _M_c_locale_messages = _S_clone_c_locale(__cloc);
70386      }
70387
70388   template<typename _CharT>
70389     typename messages<_CharT>::catalog
70390     messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
70391       const char* __dir) const
70392     {
70393       bindtextdomain(__s.c_str(), __dir);
70394       return this->do_open(__s, __loc);
70395     }
70396
70397
70398   template<typename _CharT>
70399     messages<_CharT>::~messages()
70400     {
70401       if (_M_name_messages != _S_get_c_name())
70402  delete [] _M_name_messages;
70403       _S_destroy_c_locale(_M_c_locale_messages);
70404     }
70405
70406   template<typename _CharT>
70407     typename messages<_CharT>::catalog
70408     messages<_CharT>::do_open(const basic_string<char>& __s,
70409          const locale&) const
70410     {
70411
70412
70413       textdomain(__s.c_str());
70414       return 0;
70415     }
70416
70417   template<typename _CharT>
70418     void
70419     messages<_CharT>::do_close(catalog) const
70420     { }
70421
70422
70423    template<typename _CharT>
70424      messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
70425      : messages<_CharT>(__refs)
70426      {
70427        if (this->_M_name_messages != locale::facet::_S_get_c_name())
70428   delete [] this->_M_name_messages;
70429        char* __tmp = new char[std::strlen(__s) + 1];
70430        std::strcpy(__tmp, __s);
70431        this->_M_name_messages = __tmp;
70432
70433        if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
70434   {
70435     this->_S_destroy_c_locale(this->_M_c_locale_messages);
70436     this->_S_create_c_locale(this->_M_c_locale_messages, __s);
70437   }
70438      }
70439 # 4492 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
70440 # 4500 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
70441   template<typename _CharT>
70442     inline bool
70443     isspace(_CharT __c, const locale& __loc)
70444     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
70445
70446
70447   template<typename _CharT>
70448     inline bool
70449     isprint(_CharT __c, const locale& __loc)
70450     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
70451
70452
70453   template<typename _CharT>
70454     inline bool
70455     iscntrl(_CharT __c, const locale& __loc)
70456     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
70457
70458
70459   template<typename _CharT>
70460     inline bool
70461     isupper(_CharT __c, const locale& __loc)
70462     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
70463
70464
70465   template<typename _CharT>
70466     inline bool
70467     islower(_CharT __c, const locale& __loc)
70468     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
70469
70470
70471   template<typename _CharT>
70472     inline bool
70473     isalpha(_CharT __c, const locale& __loc)
70474     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
70475
70476
70477   template<typename _CharT>
70478     inline bool
70479     isdigit(_CharT __c, const locale& __loc)
70480     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
70481
70482
70483   template<typename _CharT>
70484     inline bool
70485     ispunct(_CharT __c, const locale& __loc)
70486     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
70487
70488
70489   template<typename _CharT>
70490     inline bool
70491     isxdigit(_CharT __c, const locale& __loc)
70492     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
70493
70494
70495   template<typename _CharT>
70496     inline bool
70497     isalnum(_CharT __c, const locale& __loc)
70498     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
70499
70500
70501   template<typename _CharT>
70502     inline bool
70503     isgraph(_CharT __c, const locale& __loc)
70504     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
70505
70506
70507   template<typename _CharT>
70508     inline _CharT
70509     toupper(_CharT __c, const locale& __loc)
70510     { return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
70511
70512
70513   template<typename _CharT>
70514     inline _CharT
70515     tolower(_CharT __c, const locale& __loc)
70516     { return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
70517 }
70518 # 45 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 2 3
70519
70520 namespace std
70521 {
70522
70523
70524
70525
70526
70527
70528
70529   template<typename _CharT, typename _Traits>
70530     class basic_ios : public ios_base
70531     {
70532     public:
70533
70534
70535
70536
70537
70538
70539       typedef _CharT char_type;
70540       typedef typename _Traits::int_type int_type;
70541       typedef typename _Traits::pos_type pos_type;
70542       typedef typename _Traits::off_type off_type;
70543       typedef _Traits traits_type;
70544 # 78 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70545       typedef ctype<_CharT> __ctype_type;
70546       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
70547            __num_put_type;
70548       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
70549            __num_get_type;
70550
70551
70552
70553     protected:
70554       basic_ostream<_CharT, _Traits>* _M_tie;
70555       mutable char_type _M_fill;
70556       mutable bool _M_fill_init;
70557       basic_streambuf<_CharT, _Traits>* _M_streambuf;
70558
70559
70560       const __ctype_type* _M_ctype;
70561
70562       const __num_put_type* _M_num_put;
70563
70564       const __num_get_type* _M_num_get;
70565
70566     public:
70567
70568
70569
70570
70571
70572
70573
70574       operator void*() const
70575       { return this->fail() ? 0 : const_cast<basic_ios*>(this); }
70576
70577       bool
70578       operator!() const
70579       { return this->fail(); }
70580 # 122 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70581       iostate
70582       rdstate() const
70583       { return _M_streambuf_state; }
70584 # 133 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70585       void
70586       clear(iostate __state = goodbit);
70587
70588
70589
70590
70591
70592
70593
70594       void
70595       setstate(iostate __state)
70596       { this->clear(this->rdstate() | __state); }
70597
70598
70599
70600
70601       void
70602       _M_setstate(iostate __state)
70603       {
70604
70605
70606  _M_streambuf_state |= __state;
70607  if (this->exceptions() & __state)
70608    throw;
70609       }
70610
70611
70612
70613
70614
70615
70616
70617       bool
70618       good() const
70619       { return this->rdstate() == 0; }
70620
70621
70622
70623
70624
70625
70626
70627       bool
70628       eof() const
70629       { return (this->rdstate() & eofbit) != 0; }
70630 # 186 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70631       bool
70632       fail() const
70633       { return (this->rdstate() & (badbit | failbit)) != 0; }
70634
70635
70636
70637
70638
70639
70640
70641       bool
70642       bad() const
70643       { return (this->rdstate() & badbit) != 0; }
70644 # 207 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70645       iostate
70646       exceptions() const
70647       { return _M_exception; }
70648 # 242 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70649       void
70650       exceptions(iostate __except)
70651       {
70652         _M_exception = __except;
70653         this->clear(_M_streambuf_state);
70654       }
70655
70656
70657
70658
70659
70660
70661
70662       explicit
70663       basic_ios(basic_streambuf<_CharT, _Traits>* __sb)
70664       : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
70665       _M_ctype(0), _M_num_put(0), _M_num_get(0)
70666       { this->init(__sb); }
70667
70668
70669
70670
70671
70672
70673
70674       virtual
70675       ~basic_ios() { }
70676 # 280 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70677       basic_ostream<_CharT, _Traits>*
70678       tie() const
70679       { return _M_tie; }
70680 # 292 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70681       basic_ostream<_CharT, _Traits>*
70682       tie(basic_ostream<_CharT, _Traits>* __tiestr)
70683       {
70684         basic_ostream<_CharT, _Traits>* __old = _M_tie;
70685         _M_tie = __tiestr;
70686         return __old;
70687       }
70688
70689
70690
70691
70692
70693
70694
70695       basic_streambuf<_CharT, _Traits>*
70696       rdbuf() const
70697       { return _M_streambuf; }
70698 # 332 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70699       basic_streambuf<_CharT, _Traits>*
70700       rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
70701 # 346 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70702       basic_ios&
70703       copyfmt(const basic_ios& __rhs);
70704
70705
70706
70707
70708
70709
70710
70711       char_type
70712       fill() const
70713       {
70714  if (!_M_fill_init)
70715    {
70716      _M_fill = this->widen(' ');
70717      _M_fill_init = true;
70718    }
70719  return _M_fill;
70720       }
70721 # 375 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70722       char_type
70723       fill(char_type __ch)
70724       {
70725  char_type __old = this->fill();
70726  _M_fill = __ch;
70727  return __old;
70728       }
70729 # 395 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70730       locale
70731       imbue(const locale& __loc);
70732 # 415 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70733       char
70734       narrow(char_type __c, char __dfault) const;
70735 # 433 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
70736       char_type
70737       widen(char __c) const;
70738
70739     protected:
70740
70741
70742
70743
70744
70745
70746
70747       basic_ios()
70748       : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false),
70749       _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
70750       { }
70751
70752
70753
70754
70755
70756
70757
70758       void
70759       init(basic_streambuf<_CharT, _Traits>* __sb);
70760
70761       void
70762       _M_cache_locale(const locale& __loc);
70763     };
70764 }
70765
70766
70767 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc" 1 3
70768 # 36 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc" 3
70769 #define _BASIC_IOS_TCC 1
70770
70771        
70772 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc" 3
70773
70774 namespace std
70775 {
70776   template<typename _CharT, typename _Traits>
70777     void
70778     basic_ios<_CharT, _Traits>::clear(iostate __state)
70779     {
70780       if (this->rdbuf())
70781  _M_streambuf_state = __state;
70782       else
70783    _M_streambuf_state = __state | badbit;
70784       if (this->exceptions() & this->rdstate())
70785  __throw_ios_failure(("basic_ios::clear"));
70786     }
70787
70788   template<typename _CharT, typename _Traits>
70789     basic_streambuf<_CharT, _Traits>*
70790     basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
70791     {
70792       basic_streambuf<_CharT, _Traits>* __old = _M_streambuf;
70793       _M_streambuf = __sb;
70794       this->clear();
70795       return __old;
70796     }
70797
70798   template<typename _CharT, typename _Traits>
70799     basic_ios<_CharT, _Traits>&
70800     basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
70801     {
70802
70803
70804       if (this != &__rhs)
70805  {
70806
70807
70808
70809
70810    _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ?
70811                       _M_local_word : new _Words[__rhs._M_word_size];
70812
70813
70814    _Callback_list* __cb = __rhs._M_callbacks;
70815    if (__cb)
70816      __cb->_M_add_reference();
70817    _M_call_callbacks(erase_event);
70818    if (_M_word != _M_local_word)
70819      {
70820        delete [] _M_word;
70821        _M_word = 0;
70822      }
70823    _M_dispose_callbacks();
70824
70825
70826    _M_callbacks = __cb;
70827    for (int __i = 0; __i < __rhs._M_word_size; ++__i)
70828      __words[__i] = __rhs._M_word[__i];
70829    _M_word = __words;
70830    _M_word_size = __rhs._M_word_size;
70831
70832    this->flags(__rhs.flags());
70833    this->width(__rhs.width());
70834    this->precision(__rhs.precision());
70835    this->tie(__rhs.tie());
70836    this->fill(__rhs.fill());
70837    _M_ios_locale = __rhs.getloc();
70838    _M_cache_locale(_M_ios_locale);
70839
70840    _M_call_callbacks(copyfmt_event);
70841
70842
70843    this->exceptions(__rhs.exceptions());
70844  }
70845       return *this;
70846     }
70847
70848   template<typename _CharT, typename _Traits>
70849     char
70850     basic_ios<_CharT, _Traits>::narrow(char_type __c, char __dfault) const
70851     { return __check_facet(_M_ctype).narrow(__c, __dfault); }
70852
70853   template<typename _CharT, typename _Traits>
70854     _CharT
70855     basic_ios<_CharT, _Traits>::widen(char __c) const
70856     { return __check_facet(_M_ctype).widen(__c); }
70857
70858
70859   template<typename _CharT, typename _Traits>
70860     locale
70861     basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
70862     {
70863       locale __old(this->getloc());
70864       ios_base::imbue(__loc);
70865       _M_cache_locale(__loc);
70866       if (this->rdbuf() != 0)
70867  this->rdbuf()->pubimbue(__loc);
70868       return __old;
70869     }
70870
70871   template<typename _CharT, typename _Traits>
70872     void
70873     basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb)
70874     {
70875
70876       ios_base::_M_init();
70877
70878
70879       _M_cache_locale(_M_ios_locale);
70880 # 159 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc" 3
70881       _M_fill = _CharT();
70882       _M_fill_init = false;
70883
70884       _M_tie = 0;
70885       _M_exception = goodbit;
70886       _M_streambuf = __sb;
70887       _M_streambuf_state = __sb ? goodbit : badbit;
70888     }
70889
70890   template<typename _CharT, typename _Traits>
70891     void
70892     basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc)
70893     {
70894       if (__builtin_expect(has_facet<__ctype_type>(__loc), true))
70895  _M_ctype = &use_facet<__ctype_type>(__loc);
70896       else
70897  _M_ctype = 0;
70898
70899       if (__builtin_expect(has_facet<__num_put_type>(__loc), true))
70900  _M_num_put = &use_facet<__num_put_type>(__loc);
70901       else
70902  _M_num_put = 0;
70903
70904       if (__builtin_expect(has_facet<__num_get_type>(__loc), true))
70905  _M_num_get = &use_facet<__num_get_type>(__loc);
70906       else
70907  _M_num_get = 0;
70908     }
70909
70910
70911
70912
70913
70914   extern template class basic_ios<char>;
70915
70916
70917   extern template class basic_ios<wchar_t>;
70918
70919
70920 }
70921 # 465 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 2 3
70922 # 53 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ios" 2 3
70923
70924 #pragma GCC visibility pop
70925 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 2 3
70926
70927 namespace std
70928 {
70929 # 57 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
70930   template<typename _CharT, typename _Traits>
70931     class basic_ostream : virtual public basic_ios<_CharT, _Traits>
70932     {
70933     public:
70934
70935       typedef _CharT char_type;
70936       typedef typename _Traits::int_type int_type;
70937       typedef typename _Traits::pos_type pos_type;
70938       typedef typename _Traits::off_type off_type;
70939       typedef _Traits traits_type;
70940
70941
70942       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
70943       typedef basic_ios<_CharT, _Traits> __ios_type;
70944       typedef basic_ostream<_CharT, _Traits> __ostream_type;
70945       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
70946              __num_put_type;
70947       typedef ctype<_CharT> __ctype_type;
70948
70949       template<typename _CharT2, typename _Traits2>
70950         friend basic_ostream<_CharT2, _Traits2>&
70951         operator<<(basic_ostream<_CharT2, _Traits2>&, _CharT2);
70952
70953       template<typename _Traits2>
70954         friend basic_ostream<char, _Traits2>&
70955         operator<<(basic_ostream<char, _Traits2>&, char);
70956
70957       template<typename _CharT2, typename _Traits2>
70958         friend basic_ostream<_CharT2, _Traits2>&
70959         operator<<(basic_ostream<_CharT2, _Traits2>&, const _CharT2*);
70960
70961       template<typename _Traits2>
70962         friend basic_ostream<char, _Traits2>&
70963         operator<<(basic_ostream<char, _Traits2>&, const char*);
70964
70965       template<typename _CharT2, typename _Traits2>
70966         friend basic_ostream<_CharT2, _Traits2>&
70967         operator<<(basic_ostream<_CharT2, _Traits2>&, const char*);
70968 # 104 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
70969       explicit
70970       basic_ostream(__streambuf_type* __sb)
70971       { this->init(__sb); }
70972
70973
70974
70975
70976
70977
70978       virtual
70979       ~basic_ostream() { }
70980
70981
70982       class sentry;
70983       friend class sentry;
70984 # 130 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
70985       inline __ostream_type&
70986       operator<<(__ostream_type& (*__pf)(__ostream_type&));
70987
70988       inline __ostream_type&
70989       operator<<(__ios_type& (*__pf)(__ios_type&));
70990
70991       inline __ostream_type&
70992       operator<<(ios_base& (*__pf) (ios_base&));
70993 # 167 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
70994       __ostream_type&
70995       operator<<(long __n);
70996
70997       __ostream_type&
70998       operator<<(unsigned long __n);
70999
71000       __ostream_type&
71001       operator<<(bool __n);
71002
71003       __ostream_type&
71004       operator<<(short __n);
71005
71006       __ostream_type&
71007       operator<<(unsigned short __n);
71008
71009       __ostream_type&
71010       operator<<(int __n);
71011
71012       __ostream_type&
71013       operator<<(unsigned int __n);
71014
71015
71016       __ostream_type&
71017       operator<<(long long __n);
71018
71019       __ostream_type&
71020       operator<<(unsigned long long __n);
71021
71022
71023       __ostream_type&
71024       operator<<(double __f);
71025
71026       __ostream_type&
71027       operator<<(float __f);
71028
71029       __ostream_type&
71030       operator<<(long double __f);
71031
71032       __ostream_type&
71033       operator<<(const void* __p);
71034 # 229 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71035       __ostream_type&
71036       operator<<(__streambuf_type* __sb);
71037 # 262 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71038       __ostream_type&
71039       put(char_type __c);
71040
71041
71042       void
71043       _M_write(const char_type* __s, streamsize __n)
71044       {
71045  streamsize __put = this->rdbuf()->sputn(__s, __n);
71046  if (__put != __n)
71047    this->setstate(ios_base::badbit);
71048       }
71049 # 290 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71050       __ostream_type&
71051       write(const char_type* __s, streamsize __n);
71052 # 303 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71053       __ostream_type&
71054       flush();
71055 # 314 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71056       pos_type
71057       tellp();
71058 # 325 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71059       __ostream_type&
71060       seekp(pos_type);
71061 # 337 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71062        __ostream_type&
71063       seekp(off_type, ios_base::seekdir);
71064
71065     protected:
71066       explicit
71067       basic_ostream() { }
71068     };
71069 # 355 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71070   template <typename _CharT, typename _Traits>
71071     class basic_ostream<_CharT, _Traits>::sentry
71072     {
71073
71074       bool _M_ok;
71075       basic_ostream<_CharT,_Traits>& _M_os;
71076
71077     public:
71078 # 374 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71079       explicit
71080       sentry(basic_ostream<_CharT,_Traits>& __os);
71081 # 384 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71082       ~sentry()
71083       {
71084
71085  if (_M_os.flags() & ios_base::unitbuf && !uncaught_exception())
71086    {
71087
71088      if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1)
71089        _M_os.setstate(ios_base::badbit);
71090    }
71091       }
71092 # 402 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71093       operator bool() const
71094       { return _M_ok; }
71095     };
71096 # 423 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71097   template<typename _CharT, typename _Traits>
71098     basic_ostream<_CharT, _Traits>&
71099     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c);
71100
71101   template<typename _CharT, typename _Traits>
71102     basic_ostream<_CharT, _Traits>&
71103     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
71104     { return (__out << __out.widen(__c)); }
71105
71106
71107   template <class _Traits>
71108     basic_ostream<char, _Traits>&
71109     operator<<(basic_ostream<char, _Traits>& __out, char __c);
71110
71111
71112   template<class _Traits>
71113     basic_ostream<char, _Traits>&
71114     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
71115     { return (__out << static_cast<char>(__c)); }
71116
71117   template<class _Traits>
71118     basic_ostream<char, _Traits>&
71119     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
71120     { return (__out << static_cast<char>(__c)); }
71121 # 463 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71122   template<typename _CharT, typename _Traits>
71123     basic_ostream<_CharT, _Traits>&
71124     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s);
71125
71126   template<typename _CharT, typename _Traits>
71127     basic_ostream<_CharT, _Traits> &
71128     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s);
71129
71130
71131   template<class _Traits>
71132     basic_ostream<char, _Traits>&
71133     operator<<(basic_ostream<char, _Traits>& __out, const char* __s);
71134
71135
71136   template<class _Traits>
71137     basic_ostream<char, _Traits>&
71138     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
71139     { return (__out << reinterpret_cast<const char*>(__s)); }
71140
71141   template<class _Traits>
71142     basic_ostream<char, _Traits> &
71143     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
71144     { return (__out << reinterpret_cast<const char*>(__s)); }
71145 # 497 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
71146   template<typename _CharT, typename _Traits>
71147     basic_ostream<_CharT, _Traits>&
71148     endl(basic_ostream<_CharT, _Traits>& __os)
71149     { return flush(__os.put(__os.widen('\n'))); }
71150
71151
71152
71153
71154
71155
71156
71157   template<typename _CharT, typename _Traits>
71158     basic_ostream<_CharT, _Traits>&
71159     ends(basic_ostream<_CharT, _Traits>& __os)
71160     { return __os.put(_CharT()); }
71161
71162
71163
71164
71165
71166
71167   template<typename _CharT, typename _Traits>
71168     basic_ostream<_CharT, _Traits>&
71169     flush(basic_ostream<_CharT, _Traits>& __os)
71170     { return __os.flush(); }
71171
71172 }
71173
71174
71175 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc" 1 3
71176 # 41 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc" 3
71177 #define _OSTREAM_TCC 1
71178
71179        
71180 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc" 3
71181
71182 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/locale" 1 3
71183 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/locale" 3
71184 #define _GLIBCXX_LOCALE 1
71185
71186        
71187 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/locale" 3
71188 #pragma GCC visibility push(default)
71189
71190
71191
71192
71193 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 1 3
71194 # 37 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
71195 #define _LOCALE_FACETS_TCC 1
71196
71197        
71198 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
71199
71200
71201
71202
71203
71204 namespace std
71205 {
71206   template<typename _Facet>
71207     locale
71208     locale::combine(const locale& __other) const
71209     {
71210       _Impl* __tmp = new _Impl(*_M_impl, 1);
71211       try
71212  {
71213    __tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
71214  }
71215       catch(...)
71216  {
71217    __tmp->_M_remove_reference();
71218    throw;
71219  }
71220       return locale(__tmp);
71221     }
71222
71223   template<typename _CharT, typename _Traits, typename _Alloc>
71224     bool
71225     locale::operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
71226                        const basic_string<_CharT, _Traits, _Alloc>& __s2) const
71227     {
71228       typedef std::collate<_CharT> __collate_type;
71229       const __collate_type& __collate = use_facet<__collate_type>(*this);
71230       return (__collate.compare(__s1.data(), __s1.data() + __s1.length(),
71231     __s2.data(), __s2.data() + __s2.length()) < 0);
71232     }
71233 # 86 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
71234   template<typename _Facet>
71235     inline bool
71236     has_facet(const locale& __loc) throw()
71237     {
71238       const size_t __i = _Facet::id._M_id();
71239       const locale::facet** __facets = __loc._M_impl->_M_facets;
71240       return (__i < __loc._M_impl->_M_facets_size && __facets[__i]);
71241     }
71242 # 108 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
71243   template<typename _Facet>
71244     inline const _Facet&
71245     use_facet(const locale& __loc)
71246     {
71247       const size_t __i = _Facet::id._M_id();
71248       const locale::facet** __facets = __loc._M_impl->_M_facets;
71249       if (!(__i < __loc._M_impl->_M_facets_size && __facets[__i]))
71250         __throw_bad_cast();
71251       return static_cast<const _Facet&>(*__facets[__i]);
71252     }
71253
71254
71255
71256   template<typename _Facet>
71257     struct __use_cache
71258     {
71259       const _Facet*
71260       operator() (const locale& __loc) const;
71261     };
71262
71263
71264   template<typename _CharT>
71265     struct __use_cache<__numpunct_cache<_CharT> >
71266     {
71267       const __numpunct_cache<_CharT>*
71268       operator() (const locale& __loc) const
71269       {
71270  const size_t __i = numpunct<_CharT>::id._M_id();
71271  const locale::facet** __caches = __loc._M_impl->_M_caches;
71272  if (!__caches[__i])
71273    {
71274      __numpunct_cache<_CharT>* __tmp = __null;
71275      try
71276        {
71277   __tmp = new __numpunct_cache<_CharT>;
71278   __tmp->_M_cache(__loc);
71279        }
71280      catch(...)
71281        {
71282   delete __tmp;
71283   throw;
71284        }
71285      __loc._M_impl->_M_install_cache(__tmp, __i);
71286    }
71287  return static_cast<const __numpunct_cache<_CharT>*>(__caches[__i]);
71288       }
71289     };
71290
71291   template<typename _CharT, bool _Intl>
71292     struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
71293     {
71294       const __moneypunct_cache<_CharT, _Intl>*
71295       operator() (const locale& __loc) const
71296       {
71297  const size_t __i = moneypunct<_CharT, _Intl>::id._M_id();
71298  const locale::facet** __caches = __loc._M_impl->_M_caches;
71299  if (!__caches[__i])
71300    {
71301      __moneypunct_cache<_CharT, _Intl>* __tmp = __null;
71302      try
71303        {
71304   __tmp = new __moneypunct_cache<_CharT, _Intl>;
71305   __tmp->_M_cache(__loc);
71306        }
71307      catch(...)
71308        {
71309   delete __tmp;
71310   throw;
71311        }
71312      __loc._M_impl->_M_install_cache(__tmp, __i);
71313    }
71314  return static_cast<
71315    const __moneypunct_cache<_CharT, _Intl>*>(__caches[__i]);
71316       }
71317     };
71318
71319   template<typename _CharT>
71320     void
71321     __numpunct_cache<_CharT>::_M_cache(const locale& __loc)
71322     {
71323       _M_allocated = true;
71324
71325       const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
71326
71327       _M_grouping_size = __np.grouping().size();
71328       char* __grouping = new char[_M_grouping_size];
71329       __np.grouping().copy(__grouping, _M_grouping_size);
71330       _M_grouping = __grouping;
71331       _M_use_grouping = (_M_grouping_size
71332     && static_cast<signed char>(__np.grouping()[0]) > 0);
71333
71334       _M_truename_size = __np.truename().size();
71335       _CharT* __truename = new _CharT[_M_truename_size];
71336       __np.truename().copy(__truename, _M_truename_size);
71337       _M_truename = __truename;
71338
71339       _M_falsename_size = __np.falsename().size();
71340       _CharT* __falsename = new _CharT[_M_falsename_size];
71341       __np.falsename().copy(__falsename, _M_falsename_size);
71342       _M_falsename = __falsename;
71343
71344       _M_decimal_point = __np.decimal_point();
71345       _M_thousands_sep = __np.thousands_sep();
71346
71347       const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
71348       __ct.widen(__num_base::_S_atoms_out,
71349    __num_base::_S_atoms_out + __num_base::_S_oend, _M_atoms_out);
71350       __ct.widen(__num_base::_S_atoms_in,
71351    __num_base::_S_atoms_in + __num_base::_S_iend, _M_atoms_in);
71352     }
71353
71354   template<typename _CharT, bool _Intl>
71355     void
71356     __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc)
71357     {
71358       _M_allocated = true;
71359
71360       const moneypunct<_CharT, _Intl>& __mp =
71361  use_facet<moneypunct<_CharT, _Intl> >(__loc);
71362
71363       _M_grouping_size = __mp.grouping().size();
71364       char* __grouping = new char[_M_grouping_size];
71365       __mp.grouping().copy(__grouping, _M_grouping_size);
71366       _M_grouping = __grouping;
71367       _M_use_grouping = (_M_grouping_size
71368     && static_cast<signed char>(__mp.grouping()[0]) > 0);
71369
71370       _M_decimal_point = __mp.decimal_point();
71371       _M_thousands_sep = __mp.thousands_sep();
71372       _M_frac_digits = __mp.frac_digits();
71373
71374       _M_curr_symbol_size = __mp.curr_symbol().size();
71375       _CharT* __curr_symbol = new _CharT[_M_curr_symbol_size];
71376       __mp.curr_symbol().copy(__curr_symbol, _M_curr_symbol_size);
71377       _M_curr_symbol = __curr_symbol;
71378
71379       _M_positive_sign_size = __mp.positive_sign().size();
71380       _CharT* __positive_sign = new _CharT[_M_positive_sign_size];
71381       __mp.positive_sign().copy(__positive_sign, _M_positive_sign_size);
71382       _M_positive_sign = __positive_sign;
71383
71384       _M_negative_sign_size = __mp.negative_sign().size();
71385       _CharT* __negative_sign = new _CharT[_M_negative_sign_size];
71386       __mp.negative_sign().copy(__negative_sign, _M_negative_sign_size);
71387       _M_negative_sign = __negative_sign;
71388
71389       _M_pos_format = __mp.pos_format();
71390       _M_neg_format = __mp.neg_format();
71391
71392       const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
71393       __ct.widen(money_base::_S_atoms,
71394    money_base::_S_atoms + money_base::_S_end, _M_atoms);
71395     }
71396 # 271 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
71397   static bool
71398   __verify_grouping(const char* __grouping, size_t __grouping_size,
71399       const string& __grouping_tmp);
71400
71401   template<typename _CharT, typename _InIter>
71402     _InIter
71403     num_get<_CharT, _InIter>::
71404     _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io,
71405        ios_base::iostate& __err, string& __xtrc) const
71406     {
71407       typedef char_traits<_CharT> __traits_type;
71408       typedef __numpunct_cache<_CharT> __cache_type;
71409       __use_cache<__cache_type> __uc;
71410       const locale& __loc = __io._M_getloc();
71411       const __cache_type* __lc = __uc(__loc);
71412       const _CharT* __lit = __lc->_M_atoms_in;
71413       char_type __c = char_type();
71414
71415
71416       bool __testeof = __beg == __end;
71417
71418
71419       if (!__testeof)
71420  {
71421    __c = *__beg;
71422    const bool __plus = __c == __lit[__num_base::_S_iplus];
71423    if ((__plus || __c == __lit[__num_base::_S_iminus])
71424        && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
71425        && !(__c == __lc->_M_decimal_point))
71426      {
71427        __xtrc += __plus ? '+' : '-';
71428        if (++__beg != __end)
71429   __c = *__beg;
71430        else
71431   __testeof = true;
71432      }
71433  }
71434
71435
71436       bool __found_mantissa = false;
71437       int __sep_pos = 0;
71438       while (!__testeof)
71439  {
71440    if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep
71441        || __c == __lc->_M_decimal_point)
71442      break;
71443    else if (__c == __lit[__num_base::_S_izero])
71444      {
71445        if (!__found_mantissa)
71446   {
71447     __xtrc += '0';
71448     __found_mantissa = true;
71449   }
71450        ++__sep_pos;
71451
71452        if (++__beg != __end)
71453   __c = *__beg;
71454        else
71455   __testeof = true;
71456      }
71457    else
71458      break;
71459  }
71460
71461
71462       bool __found_dec = false;
71463       bool __found_sci = false;
71464       string __found_grouping;
71465       if (__lc->_M_use_grouping)
71466  __found_grouping.reserve(32);
71467       const char_type* __q;
71468       const char_type* __lit_zero = __lit + __num_base::_S_izero;
71469       while (!__testeof)
71470         {
71471
71472
71473           if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
71474      {
71475        if (!__found_dec && !__found_sci)
71476   {
71477
71478
71479     if (__sep_pos)
71480       {
71481         __found_grouping += static_cast<char>(__sep_pos);
71482         __sep_pos = 0;
71483       }
71484     else
71485       {
71486
71487
71488         __xtrc.clear();
71489         break;
71490       }
71491   }
71492        else
71493   break;
71494             }
71495    else if (__c == __lc->_M_decimal_point)
71496      {
71497        if (!__found_dec && !__found_sci)
71498   {
71499
71500
71501
71502     if (__found_grouping.size())
71503       __found_grouping += static_cast<char>(__sep_pos);
71504     __xtrc += '.';
71505     __found_dec = true;
71506   }
71507        else
71508   break;
71509      }
71510           else if ((__q = __traits_type::find(__lit_zero, 10, __c)))
71511      {
71512        __xtrc += __num_base::_S_atoms_in[__q - __lit];
71513        __found_mantissa = true;
71514        ++__sep_pos;
71515      }
71516    else if ((__c == __lit[__num_base::_S_ie]
71517       || __c == __lit[__num_base::_S_iE])
71518      && !__found_sci && __found_mantissa)
71519      {
71520
71521        if (__found_grouping.size() && !__found_dec)
71522   __found_grouping += static_cast<char>(__sep_pos);
71523        __xtrc += 'e';
71524        __found_sci = true;
71525
71526
71527        if (++__beg != __end)
71528   {
71529     __c = *__beg;
71530     const bool __plus = __c == __lit[__num_base::_S_iplus];
71531     if ((__plus || __c == __lit[__num_base::_S_iminus])
71532         && !(__lc->_M_use_grouping
71533       && __c == __lc->_M_thousands_sep)
71534         && !(__c == __lc->_M_decimal_point))
71535       __xtrc += __plus ? '+' : '-';
71536     else
71537       continue;
71538   }
71539        else
71540   {
71541     __testeof = true;
71542     break;
71543   }
71544      }
71545    else
71546
71547      break;
71548
71549    if (++__beg != __end)
71550      __c = *__beg;
71551    else
71552      __testeof = true;
71553         }
71554
71555
71556
71557       if (__found_grouping.size())
71558         {
71559
71560    if (!__found_dec && !__found_sci)
71561      __found_grouping += static_cast<char>(__sep_pos);
71562
71563           if (!std::__verify_grouping(__lc->_M_grouping,
71564           __lc->_M_grouping_size,
71565           __found_grouping))
71566      __err |= ios_base::failbit;
71567         }
71568
71569
71570       if (__testeof)
71571         __err |= ios_base::eofbit;
71572       return __beg;
71573     }
71574
71575   template<typename _ValueT>
71576     struct __to_unsigned_type
71577     { typedef _ValueT __type; };
71578
71579   template<>
71580     struct __to_unsigned_type<long>
71581     { typedef unsigned long __type; };
71582
71583
71584   template<>
71585     struct __to_unsigned_type<long long>
71586     { typedef unsigned long long __type; };
71587
71588
71589   template<typename _CharT, typename _InIter>
71590     template<typename _ValueT>
71591       _InIter
71592       num_get<_CharT, _InIter>::
71593       _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io,
71594        ios_base::iostate& __err, _ValueT& __v) const
71595       {
71596         typedef char_traits<_CharT> __traits_type;
71597  typedef typename __to_unsigned_type<_ValueT>::__type __unsigned_type;
71598  typedef __numpunct_cache<_CharT> __cache_type;
71599  __use_cache<__cache_type> __uc;
71600  const locale& __loc = __io._M_getloc();
71601  const __cache_type* __lc = __uc(__loc);
71602  const _CharT* __lit = __lc->_M_atoms_in;
71603  char_type __c = char_type();
71604
71605
71606  const ios_base::fmtflags __basefield = __io.flags()
71607                                         & ios_base::basefield;
71608  const bool __oct = __basefield == ios_base::oct;
71609  int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10);
71610
71611
71612  bool __testeof = __beg == __end;
71613
71614
71615  bool __negative = false;
71616  if (!__testeof)
71617    {
71618      __c = *__beg;
71619      if (numeric_limits<_ValueT>::is_signed)
71620        __negative = __c == __lit[__num_base::_S_iminus];
71621      if ((__negative || __c == __lit[__num_base::_S_iplus])
71622   && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
71623   && !(__c == __lc->_M_decimal_point))
71624        {
71625   if (++__beg != __end)
71626     __c = *__beg;
71627   else
71628     __testeof = true;
71629        }
71630    }
71631
71632
71633
71634  bool __found_zero = false;
71635  int __sep_pos = 0;
71636  while (!__testeof)
71637    {
71638      if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep
71639   || __c == __lc->_M_decimal_point)
71640        break;
71641      else if (__c == __lit[__num_base::_S_izero]
71642        && (!__found_zero || __base == 10))
71643        {
71644   __found_zero = true;
71645   ++__sep_pos;
71646   if (__basefield == 0)
71647     __base = 8;
71648   if (__base == 8)
71649     __sep_pos = 0;
71650        }
71651      else if (__found_zero
71652        && (__c == __lit[__num_base::_S_ix]
71653     || __c == __lit[__num_base::_S_iX]))
71654        {
71655   if (__basefield == 0)
71656     __base = 16;
71657   if (__base == 16)
71658     {
71659       __found_zero = false;
71660       __sep_pos = 0;
71661     }
71662   else
71663     break;
71664        }
71665      else
71666        break;
71667
71668      if (++__beg != __end)
71669        {
71670   __c = *__beg;
71671   if (!__found_zero)
71672     break;
71673        }
71674      else
71675        __testeof = true;
71676    }
71677
71678
71679
71680  const size_t __len = (__base == 16 ? __num_base::_S_iend
71681          - __num_base::_S_izero : __base);
71682
71683
71684  string __found_grouping;
71685  if (__lc->_M_use_grouping)
71686    __found_grouping.reserve(32);
71687  bool __testfail = false;
71688  const __unsigned_type __max = __negative ?
71689    -numeric_limits<_ValueT>::min() : numeric_limits<_ValueT>::max();
71690  const __unsigned_type __smax = __max / __base;
71691  __unsigned_type __result = 0;
71692  const char_type* __q;
71693  const char_type* __lit_zero = __lit + __num_base::_S_izero;
71694  while (!__testeof)
71695    {
71696
71697
71698      if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
71699        {
71700
71701
71702   if (__sep_pos)
71703     {
71704       __found_grouping += static_cast<char>(__sep_pos);
71705       __sep_pos = 0;
71706     }
71707   else
71708     {
71709       __testfail = true;
71710       break;
71711     }
71712        }
71713      else if (__c == __lc->_M_decimal_point)
71714        break;
71715      else if ((__q = __traits_type::find(__lit_zero, __len, __c)))
71716        {
71717   int __digit = __q - __lit_zero;
71718   if (__digit > 15)
71719     __digit -= 6;
71720   if (__result > __smax)
71721     __testfail = true;
71722   else
71723     {
71724       __result *= __base;
71725       __testfail |= __result > __max - __digit;
71726       __result += __digit;
71727       ++__sep_pos;
71728     }
71729        }
71730      else
71731
71732        break;
71733
71734      if (++__beg != __end)
71735        __c = *__beg;
71736      else
71737        __testeof = true;
71738    }
71739
71740
71741
71742  if (__found_grouping.size())
71743    {
71744
71745      __found_grouping += static_cast<char>(__sep_pos);
71746
71747      if (!std::__verify_grouping(__lc->_M_grouping,
71748      __lc->_M_grouping_size,
71749      __found_grouping))
71750        __err |= ios_base::failbit;
71751    }
71752
71753  if (!__testfail && (__sep_pos || __found_zero
71754        || __found_grouping.size()))
71755    __v = __negative ? -__result : __result;
71756  else
71757    __err |= ios_base::failbit;
71758
71759  if (__testeof)
71760    __err |= ios_base::eofbit;
71761  return __beg;
71762       }
71763
71764
71765
71766   template<typename _CharT, typename _InIter>
71767     _InIter
71768     num_get<_CharT, _InIter>::
71769     do_get(iter_type __beg, iter_type __end, ios_base& __io,
71770            ios_base::iostate& __err, bool& __v) const
71771     {
71772       if (!(__io.flags() & ios_base::boolalpha))
71773         {
71774
71775
71776
71777    long __l = -1;
71778           __beg = _M_extract_int(__beg, __end, __io, __err, __l);
71779    if (__l == 0 || __l == 1)
71780      __v = __l;
71781    else
71782             __err |= ios_base::failbit;
71783         }
71784       else
71785         {
71786
71787    typedef __numpunct_cache<_CharT> __cache_type;
71788    __use_cache<__cache_type> __uc;
71789    const locale& __loc = __io._M_getloc();
71790    const __cache_type* __lc = __uc(__loc);
71791
71792    bool __testf = true;
71793    bool __testt = true;
71794    size_t __n;
71795    bool __testeof = __beg == __end;
71796           for (__n = 0; !__testeof; ++__n)
71797             {
71798        const char_type __c = *__beg;
71799
71800        if (__testf)
71801   if (__n < __lc->_M_falsename_size)
71802     __testf = __c == __lc->_M_falsename[__n];
71803   else
71804     break;
71805
71806        if (__testt)
71807   if (__n < __lc->_M_truename_size)
71808     __testt = __c == __lc->_M_truename[__n];
71809   else
71810     break;
71811
71812        if (!__testf && !__testt)
71813   break;
71814
71815        if (++__beg == __end)
71816   __testeof = true;
71817             }
71818    if (__testf && __n == __lc->_M_falsename_size)
71819      __v = 0;
71820    else if (__testt && __n == __lc->_M_truename_size)
71821      __v = 1;
71822    else
71823      __err |= ios_base::failbit;
71824
71825           if (__testeof)
71826             __err |= ios_base::eofbit;
71827         }
71828       return __beg;
71829     }
71830
71831   template<typename _CharT, typename _InIter>
71832     _InIter
71833     num_get<_CharT, _InIter>::
71834     do_get(iter_type __beg, iter_type __end, ios_base& __io,
71835            ios_base::iostate& __err, long& __v) const
71836     { return _M_extract_int(__beg, __end, __io, __err, __v); }
71837
71838   template<typename _CharT, typename _InIter>
71839     _InIter
71840     num_get<_CharT, _InIter>::
71841     do_get(iter_type __beg, iter_type __end, ios_base& __io,
71842            ios_base::iostate& __err, unsigned short& __v) const
71843     { return _M_extract_int(__beg, __end, __io, __err, __v); }
71844
71845   template<typename _CharT, typename _InIter>
71846     _InIter
71847     num_get<_CharT, _InIter>::
71848     do_get(iter_type __beg, iter_type __end, ios_base& __io,
71849            ios_base::iostate& __err, unsigned int& __v) const
71850     { return _M_extract_int(__beg, __end, __io, __err, __v); }
71851
71852   template<typename _CharT, typename _InIter>
71853     _InIter
71854     num_get<_CharT, _InIter>::
71855     do_get(iter_type __beg, iter_type __end, ios_base& __io,
71856            ios_base::iostate& __err, unsigned long& __v) const
71857     { return _M_extract_int(__beg, __end, __io, __err, __v); }
71858
71859
71860   template<typename _CharT, typename _InIter>
71861     _InIter
71862     num_get<_CharT, _InIter>::
71863     do_get(iter_type __beg, iter_type __end, ios_base& __io,
71864            ios_base::iostate& __err, long long& __v) const
71865     { return _M_extract_int(__beg, __end, __io, __err, __v); }
71866
71867   template<typename _CharT, typename _InIter>
71868     _InIter
71869     num_get<_CharT, _InIter>::
71870     do_get(iter_type __beg, iter_type __end, ios_base& __io,
71871            ios_base::iostate& __err, unsigned long long& __v) const
71872     { return _M_extract_int(__beg, __end, __io, __err, __v); }
71873
71874
71875   template<typename _CharT, typename _InIter>
71876     _InIter
71877     num_get<_CharT, _InIter>::
71878     do_get(iter_type __beg, iter_type __end, ios_base& __io,
71879     ios_base::iostate& __err, float& __v) const
71880     {
71881       string __xtrc;
71882       __xtrc.reserve(32);
71883       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
71884       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
71885       return __beg;
71886     }
71887
71888   template<typename _CharT, typename _InIter>
71889     _InIter
71890     num_get<_CharT, _InIter>::
71891     do_get(iter_type __beg, iter_type __end, ios_base& __io,
71892            ios_base::iostate& __err, double& __v) const
71893     {
71894       string __xtrc;
71895       __xtrc.reserve(32);
71896       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
71897       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
71898       return __beg;
71899     }
71900
71901   template<typename _CharT, typename _InIter>
71902     _InIter
71903     num_get<_CharT, _InIter>::
71904     do_get(iter_type __beg, iter_type __end, ios_base& __io,
71905            ios_base::iostate& __err, long double& __v) const
71906     {
71907       string __xtrc;
71908       __xtrc.reserve(32);
71909       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
71910       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
71911       return __beg;
71912     }
71913
71914   template<typename _CharT, typename _InIter>
71915     _InIter
71916     num_get<_CharT, _InIter>::
71917     do_get(iter_type __beg, iter_type __end, ios_base& __io,
71918            ios_base::iostate& __err, void*& __v) const
71919     {
71920
71921       typedef ios_base::fmtflags fmtflags;
71922       const fmtflags __fmt = __io.flags();
71923       __io.flags(__fmt & ~ios_base::basefield | ios_base::hex);
71924
71925       unsigned long __ul;
71926       __beg = _M_extract_int(__beg, __end, __io, __err, __ul);
71927
71928
71929       __io.flags(__fmt);
71930
71931       if (!(__err & ios_base::failbit))
71932  __v = reinterpret_cast<void*>(__ul);
71933       return __beg;
71934     }
71935
71936
71937
71938   template<typename _CharT, typename _OutIter>
71939     void
71940     num_put<_CharT, _OutIter>::
71941     _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
71942     _CharT* __new, const _CharT* __cs, int& __len) const
71943     {
71944
71945
71946       __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, __cs,
71947         __w, __len, true);
71948       __len = static_cast<int>(__w);
71949     }
71950
71951
71952
71953
71954   template<typename _CharT>
71955     inline int
71956     __int_to_char(_CharT* __bufend, long __v, const _CharT* __lit,
71957     ios_base::fmtflags __flags)
71958     {
71959       unsigned long __ul = __v;
71960       const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
71961       if (__builtin_expect(__basefield != ios_base::oct
71962       && __basefield != ios_base::hex, true))
71963  __ul = __v < 0 ? -__v : __ul;
71964       return __int_to_char(__bufend, __ul, __lit, __flags, false);
71965     }
71966
71967   template<typename _CharT>
71968     inline int
71969     __int_to_char(_CharT* __bufend, unsigned long __v, const _CharT* __lit,
71970     ios_base::fmtflags __flags)
71971     { return __int_to_char(__bufend, __v, __lit, __flags, false); }
71972
71973
71974   template<typename _CharT>
71975     inline int
71976     __int_to_char(_CharT* __bufend, long long __v, const _CharT* __lit,
71977     ios_base::fmtflags __flags)
71978     {
71979       unsigned long long __ull = __v;
71980       const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
71981       if (__builtin_expect(__basefield != ios_base::oct
71982       && __basefield != ios_base::hex, true))
71983  __ull = __v < 0 ? -__v : __ull;
71984       return __int_to_char(__bufend, __ull, __lit, __flags, false);
71985     }
71986
71987   template<typename _CharT>
71988     inline int
71989     __int_to_char(_CharT* __bufend, unsigned long long __v,
71990     const _CharT* __lit, ios_base::fmtflags __flags)
71991     { return __int_to_char(__bufend, __v, __lit, __flags, false); }
71992
71993
71994
71995   template<typename _CharT, typename _ValueT>
71996     int
71997     __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit,
71998     ios_base::fmtflags __flags, bool)
71999     {
72000       const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
72001       _CharT* __buf = __bufend;
72002
72003       if (__builtin_expect(__basefield != ios_base::oct
72004       && __basefield != ios_base::hex, true))
72005  {
72006
72007    do
72008      {
72009        *--__buf = __lit[(__v % 10) + __num_base::_S_odigits];
72010        __v /= 10;
72011      }
72012    while (__v != 0);
72013  }
72014       else if (__basefield == ios_base::oct)
72015  {
72016
72017    do
72018      {
72019        *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits];
72020        __v >>= 3;
72021      }
72022    while (__v != 0);
72023  }
72024       else
72025  {
72026
72027    const bool __uppercase = __flags & ios_base::uppercase;
72028    const int __case_offset = __uppercase ? __num_base::_S_oudigits
72029                                          : __num_base::_S_odigits;
72030    do
72031      {
72032        *--__buf = __lit[(__v & 0xf) + __case_offset];
72033        __v >>= 4;
72034      }
72035    while (__v != 0);
72036  }
72037       return __bufend - __buf;
72038     }
72039
72040   template<typename _CharT, typename _OutIter>
72041     void
72042     num_put<_CharT, _OutIter>::
72043     _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep,
72044    ios_base&, _CharT* __new, _CharT* __cs, int& __len) const
72045     {
72046       _CharT* __p = std::__add_grouping(__new, __sep, __grouping,
72047      __grouping_size, __cs, __cs + __len);
72048       __len = __p - __new;
72049     }
72050
72051   template<typename _CharT, typename _OutIter>
72052     template<typename _ValueT>
72053       _OutIter
72054       num_put<_CharT, _OutIter>::
72055       _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill,
72056       _ValueT __v) const
72057       {
72058  typedef __numpunct_cache<_CharT> __cache_type;
72059  __use_cache<__cache_type> __uc;
72060  const locale& __loc = __io._M_getloc();
72061  const __cache_type* __lc = __uc(__loc);
72062  const _CharT* __lit = __lc->_M_atoms_out;
72063  const ios_base::fmtflags __flags = __io.flags();
72064
72065
72066  const int __ilen = 5 * sizeof(_ValueT);
72067  _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
72068             * __ilen));
72069
72070
72071
72072  int __len = __int_to_char(__cs + __ilen, __v, __lit, __flags);
72073  __cs += __ilen - __len;
72074
72075
72076  if (__lc->_M_use_grouping)
72077    {
72078
72079
72080      _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
72081           * (__len + 1)
72082           * 2));
72083      _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size,
72084     __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len);
72085      __cs = __cs2 + 2;
72086    }
72087
72088
72089  const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
72090  if (__builtin_expect(__basefield != ios_base::oct
72091         && __basefield != ios_base::hex, true))
72092    {
72093
72094      if (__v > 0)
72095        {
72096   if (__flags & ios_base::showpos
72097       && numeric_limits<_ValueT>::is_signed)
72098     *--__cs = __lit[__num_base::_S_oplus], ++__len;
72099        }
72100      else if (__v)
72101        *--__cs = __lit[__num_base::_S_ominus], ++__len;
72102    }
72103  else if (__flags & ios_base::showbase && __v)
72104    {
72105      if (__basefield == ios_base::oct)
72106        *--__cs = __lit[__num_base::_S_odigits], ++__len;
72107      else
72108        {
72109
72110   const bool __uppercase = __flags & ios_base::uppercase;
72111   *--__cs = __lit[__num_base::_S_ox + __uppercase];
72112
72113   *--__cs = __lit[__num_base::_S_odigits];
72114   __len += 2;
72115        }
72116    }
72117
72118
72119  const streamsize __w = __io.width();
72120  if (__w > static_cast<streamsize>(__len))
72121    {
72122      _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
72123           * __w));
72124      _M_pad(__fill, __w, __io, __cs3, __cs, __len);
72125      __cs = __cs3;
72126    }
72127  __io.width(0);
72128
72129
72130
72131  return std::__write(__s, __cs, __len);
72132       }
72133
72134   template<typename _CharT, typename _OutIter>
72135     void
72136     num_put<_CharT, _OutIter>::
72137     _M_group_float(const char* __grouping, size_t __grouping_size,
72138      _CharT __sep, const _CharT* __p, _CharT* __new,
72139      _CharT* __cs, int& __len) const
72140     {
72141
72142
72143
72144       const int __declen = __p ? __p - __cs : __len;
72145       _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping,
72146       __grouping_size,
72147       __cs, __cs + __declen);
72148
72149
72150       int __newlen = __p2 - __new;
72151       if (__p)
72152  {
72153    char_traits<_CharT>::copy(__p2, __p, __len - __declen);
72154    __newlen += __len - __declen;
72155  }
72156       __len = __newlen;
72157     }
72158 # 1043 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
72159   template<typename _CharT, typename _OutIter>
72160     template<typename _ValueT>
72161       _OutIter
72162       num_put<_CharT, _OutIter>::
72163       _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
72164          _ValueT __v) const
72165       {
72166  typedef __numpunct_cache<_CharT> __cache_type;
72167  __use_cache<__cache_type> __uc;
72168  const locale& __loc = __io._M_getloc();
72169  const __cache_type* __lc = __uc(__loc);
72170
72171
72172  streamsize __prec = __io.precision();
72173  if (__prec < static_cast<streamsize>(0))
72174    __prec = static_cast<streamsize>(6);
72175
72176  const int __max_digits = numeric_limits<_ValueT>::digits10;
72177
72178
72179  int __len;
72180
72181  char __fbuf[16];
72182
72183
72184
72185
72186  int __cs_size = __max_digits * 3;
72187  char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
72188
72189  __num_base::_S_format_float(__io, __fbuf, __mod);
72190  __len = std::__convert_from_v(__cs, __cs_size, __fbuf, __v,
72191           _S_get_c_locale(), __prec);
72192
72193
72194  if (__len >= __cs_size)
72195    {
72196      __cs_size = __len + 1;
72197      __cs = static_cast<char*>(__builtin_alloca(__cs_size));
72198      __len = std::__convert_from_v(__cs, __cs_size, __fbuf, __v,
72199        _S_get_c_locale(), __prec);
72200    }
72201 # 1107 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
72202  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
72203
72204  _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
72205             * __len));
72206  __ctype.widen(__cs, __cs + __len, __ws);
72207
72208
72209  const _CharT __cdec = __ctype.widen('.');
72210  const _CharT __dec = __lc->_M_decimal_point;
72211  const _CharT* __p = char_traits<_CharT>::find(__ws, __len, __cdec);
72212  if (__p)
72213    __ws[__p - __ws] = __dec;
72214
72215
72216
72217
72218  if (__lc->_M_use_grouping
72219      && (__p || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9'
72220          && __cs[1] >= '0' && __cs[2] >= '0')))
72221    {
72222
72223
72224      _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
72225           * __len * 2));
72226
72227      streamsize __off = 0;
72228      if (__cs[0] == '-' || __cs[0] == '+')
72229        {
72230   __off = 1;
72231   __ws2[0] = __ws[0];
72232   __len -= 1;
72233        }
72234
72235      _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size,
72236       __lc->_M_thousands_sep, __p, __ws2 + __off,
72237       __ws + __off, __len);
72238      __len += __off;
72239
72240      __ws = __ws2;
72241    }
72242
72243
72244  const streamsize __w = __io.width();
72245  if (__w > static_cast<streamsize>(__len))
72246    {
72247      _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
72248           * __w));
72249      _M_pad(__fill, __w, __io, __ws3, __ws, __len);
72250      __ws = __ws3;
72251    }
72252  __io.width(0);
72253
72254
72255
72256  return std::__write(__s, __ws, __len);
72257       }
72258
72259   template<typename _CharT, typename _OutIter>
72260     _OutIter
72261     num_put<_CharT, _OutIter>::
72262     do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
72263     {
72264       const ios_base::fmtflags __flags = __io.flags();
72265       if ((__flags & ios_base::boolalpha) == 0)
72266         {
72267           const long __l = __v;
72268           __s = _M_insert_int(__s, __io, __fill, __l);
72269         }
72270       else
72271         {
72272    typedef __numpunct_cache<_CharT> __cache_type;
72273    __use_cache<__cache_type> __uc;
72274    const locale& __loc = __io._M_getloc();
72275    const __cache_type* __lc = __uc(__loc);
72276
72277    const _CharT* __name = __v ? __lc->_M_truename
72278                               : __lc->_M_falsename;
72279    int __len = __v ? __lc->_M_truename_size
72280                    : __lc->_M_falsename_size;
72281
72282    const streamsize __w = __io.width();
72283    if (__w > static_cast<streamsize>(__len))
72284      {
72285        _CharT* __cs
72286   = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
72287        * __w));
72288        _M_pad(__fill, __w, __io, __cs, __name, __len);
72289        __name = __cs;
72290      }
72291    __io.width(0);
72292    __s = std::__write(__s, __name, __len);
72293  }
72294       return __s;
72295     }
72296
72297   template<typename _CharT, typename _OutIter>
72298     _OutIter
72299     num_put<_CharT, _OutIter>::
72300     do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
72301     { return _M_insert_int(__s, __io, __fill, __v); }
72302
72303   template<typename _CharT, typename _OutIter>
72304     _OutIter
72305     num_put<_CharT, _OutIter>::
72306     do_put(iter_type __s, ios_base& __io, char_type __fill,
72307            unsigned long __v) const
72308     { return _M_insert_int(__s, __io, __fill, __v); }
72309
72310
72311   template<typename _CharT, typename _OutIter>
72312     _OutIter
72313     num_put<_CharT, _OutIter>::
72314     do_put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const
72315     { return _M_insert_int(__s, __io, __fill, __v); }
72316
72317   template<typename _CharT, typename _OutIter>
72318     _OutIter
72319     num_put<_CharT, _OutIter>::
72320     do_put(iter_type __s, ios_base& __io, char_type __fill,
72321            unsigned long long __v) const
72322     { return _M_insert_int(__s, __io, __fill, __v); }
72323
72324
72325   template<typename _CharT, typename _OutIter>
72326     _OutIter
72327     num_put<_CharT, _OutIter>::
72328     do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
72329     { return _M_insert_float(__s, __io, __fill, char(), __v); }
72330
72331   template<typename _CharT, typename _OutIter>
72332     _OutIter
72333     num_put<_CharT, _OutIter>::
72334     do_put(iter_type __s, ios_base& __io, char_type __fill,
72335     long double __v) const
72336     { return _M_insert_float(__s, __io, __fill, 'L', __v); }
72337
72338   template<typename _CharT, typename _OutIter>
72339     _OutIter
72340     num_put<_CharT, _OutIter>::
72341     do_put(iter_type __s, ios_base& __io, char_type __fill,
72342            const void* __v) const
72343     {
72344       const ios_base::fmtflags __flags = __io.flags();
72345       const ios_base::fmtflags __fmt = ~(ios_base::basefield
72346       | ios_base::uppercase
72347       | ios_base::internal);
72348       __io.flags(__flags & __fmt | (ios_base::hex | ios_base::showbase));
72349
72350       __s = _M_insert_int(__s, __io, __fill,
72351      reinterpret_cast<unsigned long>(__v));
72352       __io.flags(__flags);
72353       return __s;
72354     }
72355
72356   template<typename _CharT, typename _InIter>
72357     template<bool _Intl>
72358       _InIter
72359       money_get<_CharT, _InIter>::
72360       _M_extract(iter_type __beg, iter_type __end, ios_base& __io,
72361    ios_base::iostate& __err, string& __units) const
72362       {
72363  typedef char_traits<_CharT> __traits_type;
72364  typedef typename string_type::size_type size_type;
72365  typedef money_base::part part;
72366  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
72367
72368  const locale& __loc = __io._M_getloc();
72369  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
72370
72371  __use_cache<__cache_type> __uc;
72372  const __cache_type* __lc = __uc(__loc);
72373  const char_type* __lit = __lc->_M_atoms;
72374
72375
72376  bool __negative = false;
72377
72378  size_type __sign_size = 0;
72379
72380  const bool __mandatory_sign = (__lc->_M_positive_sign_size
72381            && __lc->_M_negative_sign_size);
72382
72383  string __grouping_tmp;
72384  if (__lc->_M_use_grouping)
72385    __grouping_tmp.reserve(32);
72386
72387  int __last_pos = 0;
72388
72389  int __n = 0;
72390
72391  bool __testvalid = true;
72392
72393  bool __testdecfound = false;
72394
72395
72396  string __res;
72397  __res.reserve(32);
72398
72399  const char_type* __lit_zero = __lit + money_base::_S_zero;
72400  const money_base::pattern __p = __lc->_M_neg_format;
72401  for (int __i = 0; __i < 4 && __testvalid; ++__i)
72402    {
72403      const part __which = static_cast<part>(__p.field[__i]);
72404      switch (__which)
72405        {
72406        case money_base::symbol:
72407
72408
72409
72410
72411   if (__io.flags() & ios_base::showbase || __sign_size > 1
72412       || __i == 0
72413       || (__i == 1 && (__mandatory_sign
72414          || (static_cast<part>(__p.field[0])
72415       == money_base::sign)
72416          || (static_cast<part>(__p.field[2])
72417       == money_base::space)))
72418       || (__i == 2 && ((static_cast<part>(__p.field[3])
72419           == money_base::value)
72420          || __mandatory_sign
72421          && (static_cast<part>(__p.field[3])
72422       == money_base::sign))))
72423     {
72424       const size_type __len = __lc->_M_curr_symbol_size;
72425       size_type __j = 0;
72426       for (; __beg != __end && __j < __len
72427       && *__beg == __lc->_M_curr_symbol[__j];
72428     ++__beg, ++__j);
72429       if (__j != __len
72430    && (__j || __io.flags() & ios_base::showbase))
72431         __testvalid = false;
72432     }
72433   break;
72434        case money_base::sign:
72435
72436   if (__lc->_M_positive_sign_size && __beg != __end
72437       && *__beg == __lc->_M_positive_sign[0])
72438     {
72439       __sign_size = __lc->_M_positive_sign_size;
72440       ++__beg;
72441     }
72442   else if (__lc->_M_negative_sign_size && __beg != __end
72443     && *__beg == __lc->_M_negative_sign[0])
72444     {
72445       __negative = true;
72446       __sign_size = __lc->_M_negative_sign_size;
72447       ++__beg;
72448     }
72449   else if (__lc->_M_positive_sign_size
72450     && !__lc->_M_negative_sign_size)
72451
72452
72453     __negative = true;
72454   else if (__mandatory_sign)
72455     __testvalid = false;
72456   break;
72457        case money_base::value:
72458
72459
72460   for (; __beg != __end; ++__beg)
72461     {
72462       const char_type __c = *__beg;
72463       const char_type* __q = __traits_type::find(__lit_zero,
72464               10, __c);
72465       if (__q != 0)
72466         {
72467    __res += money_base::_S_atoms[__q - __lit];
72468    ++__n;
72469         }
72470       else if (__c == __lc->_M_decimal_point
72471         && !__testdecfound)
72472         {
72473    __last_pos = __n;
72474    __n = 0;
72475    __testdecfound = true;
72476         }
72477       else if (__lc->_M_use_grouping
72478         && __c == __lc->_M_thousands_sep
72479         && !__testdecfound)
72480         {
72481    if (__n)
72482      {
72483
72484        __grouping_tmp += static_cast<char>(__n);
72485        __n = 0;
72486      }
72487    else
72488      {
72489        __testvalid = false;
72490        break;
72491      }
72492         }
72493       else
72494         break;
72495     }
72496   if (__res.empty())
72497     __testvalid = false;
72498   break;
72499        case money_base::space:
72500
72501   if (__beg != __end && __ctype.is(ctype_base::space, *__beg))
72502     ++__beg;
72503   else
72504     __testvalid = false;
72505        case money_base::none:
72506
72507   if (__i != 3)
72508     for (; __beg != __end
72509     && __ctype.is(ctype_base::space, *__beg); ++__beg);
72510   break;
72511        }
72512    }
72513
72514
72515  if (__sign_size > 1 && __testvalid)
72516    {
72517      const char_type* __sign = __negative ? __lc->_M_negative_sign
72518                                           : __lc->_M_positive_sign;
72519      size_type __i = 1;
72520      for (; __beg != __end && __i < __sign_size
72521      && *__beg == __sign[__i]; ++__beg, ++__i);
72522
72523      if (__i != __sign_size)
72524        __testvalid = false;
72525    }
72526
72527  if (__testvalid)
72528    {
72529
72530      if (__res.size() > 1)
72531        {
72532   const size_type __first = __res.find_first_not_of('0');
72533   const bool __only_zeros = __first == string::npos;
72534   if (__first)
72535     __res.erase(0, __only_zeros ? __res.size() - 1 : __first);
72536        }
72537
72538
72539      if (__negative && __res[0] != '0')
72540        __res.insert(__res.begin(), '-');
72541
72542
72543      if (__grouping_tmp.size())
72544        {
72545
72546   __grouping_tmp += static_cast<char>(__testdecfound ? __last_pos
72547                          : __n);
72548   if (!std::__verify_grouping(__lc->_M_grouping,
72549          __lc->_M_grouping_size,
72550          __grouping_tmp))
72551     __err |= ios_base::failbit;
72552        }
72553
72554
72555      if (__testdecfound && __lc->_M_frac_digits > 0
72556   && __n != __lc->_M_frac_digits)
72557        __testvalid = false;
72558    }
72559
72560
72561  if (!__testvalid)
72562    __err |= ios_base::failbit;
72563  else
72564    __units.swap(__res);
72565
72566
72567  if (__beg == __end)
72568    __err |= ios_base::eofbit;
72569  return __beg;
72570       }
72571
72572   template<typename _CharT, typename _InIter>
72573     _InIter
72574     money_get<_CharT, _InIter>::
72575     do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
72576     ios_base::iostate& __err, long double& __units) const
72577     {
72578       string __str;
72579       if (__intl)
72580  __beg = _M_extract<true>(__beg, __end, __io, __err, __str);
72581       else
72582  __beg = _M_extract<false>(__beg, __end, __io, __err, __str);
72583       std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale());
72584       return __beg;
72585     }
72586
72587   template<typename _CharT, typename _InIter>
72588     _InIter
72589     money_get<_CharT, _InIter>::
72590     do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
72591     ios_base::iostate& __err, string_type& __units) const
72592     {
72593       typedef typename string::size_type size_type;
72594
72595       const locale& __loc = __io._M_getloc();
72596       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
72597
72598       string __str;
72599       const iter_type __ret = __intl ? _M_extract<true>(__beg, __end, __io,
72600        __err, __str)
72601                               : _M_extract<false>(__beg, __end, __io,
72602         __err, __str);
72603       const size_type __len = __str.size();
72604       if (__len)
72605  {
72606    _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
72607               * __len));
72608    __ctype.widen(__str.data(), __str.data() + __len, __ws);
72609    __units.assign(__ws, __len);
72610  }
72611
72612       return __ret;
72613     }
72614
72615   template<typename _CharT, typename _OutIter>
72616     template<bool _Intl>
72617       _OutIter
72618       money_put<_CharT, _OutIter>::
72619       _M_insert(iter_type __s, ios_base& __io, char_type __fill,
72620   const string_type& __digits) const
72621       {
72622  typedef typename string_type::size_type size_type;
72623  typedef money_base::part part;
72624  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
72625
72626  const locale& __loc = __io._M_getloc();
72627  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
72628
72629  __use_cache<__cache_type> __uc;
72630  const __cache_type* __lc = __uc(__loc);
72631  const char_type* __lit = __lc->_M_atoms;
72632
72633
72634
72635  const char_type* __beg = __digits.data();
72636
72637  money_base::pattern __p;
72638  const char_type* __sign;
72639  size_type __sign_size;
72640  if (!(*__beg == __lit[money_base::_S_minus]))
72641    {
72642      __p = __lc->_M_pos_format;
72643      __sign = __lc->_M_positive_sign;
72644      __sign_size = __lc->_M_positive_sign_size;
72645    }
72646  else
72647    {
72648      __p = __lc->_M_neg_format;
72649      __sign = __lc->_M_negative_sign;
72650      __sign_size = __lc->_M_negative_sign_size;
72651      if (__digits.size())
72652        ++__beg;
72653    }
72654
72655
72656  size_type __len = __ctype.scan_not(ctype_base::digit, __beg,
72657         __beg + __digits.size()) - __beg;
72658  if (__len)
72659    {
72660
72661
72662
72663      string_type __value;
72664      __value.reserve(2 * __len);
72665
72666
72667
72668      int __paddec = __len - __lc->_M_frac_digits;
72669      if (__paddec > 0)
72670          {
72671   if (__lc->_M_frac_digits < 0)
72672     __paddec = __len;
72673     if (__lc->_M_grouping_size)
72674       {
72675       _CharT* __ws =
72676           static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
72677              * 2 * __len));
72678         _CharT* __ws_end =
72679         std::__add_grouping(__ws, __lc->_M_thousands_sep,
72680        __lc->_M_grouping,
72681        __lc->_M_grouping_size,
72682        __beg, __beg + __paddec);
72683       __value.assign(__ws, __ws_end - __ws);
72684       }
72685     else
72686     __value.assign(__beg, __paddec);
72687        }
72688
72689
72690      if (__lc->_M_frac_digits > 0)
72691        {
72692   __value += __lc->_M_decimal_point;
72693   if (__paddec >= 0)
72694     __value.append(__beg + __paddec, __lc->_M_frac_digits);
72695   else
72696     {
72697
72698       __value.append(-__paddec, __lit[money_base::_S_zero]);
72699       __value.append(__beg, __len);
72700     }
72701          }
72702
72703
72704      const ios_base::fmtflags __f = __io.flags()
72705                                     & ios_base::adjustfield;
72706      __len = __value.size() + __sign_size;
72707      __len += ((__io.flags() & ios_base::showbase)
72708         ? __lc->_M_curr_symbol_size : 0);
72709
72710      string_type __res;
72711      __res.reserve(2 * __len);
72712
72713      const size_type __width = static_cast<size_type>(__io.width());
72714      const bool __testipad = (__f == ios_base::internal
72715          && __len < __width);
72716
72717      for (int __i = 0; __i < 4; ++__i)
72718        {
72719   const part __which = static_cast<part>(__p.field[__i]);
72720   switch (__which)
72721     {
72722     case money_base::symbol:
72723       if (__io.flags() & ios_base::showbase)
72724         __res.append(__lc->_M_curr_symbol,
72725        __lc->_M_curr_symbol_size);
72726       break;
72727     case money_base::sign:
72728
72729
72730
72731       if (__sign_size)
72732         __res += __sign[0];
72733       break;
72734     case money_base::value:
72735       __res += __value;
72736       break;
72737     case money_base::space:
72738
72739
72740
72741       if (__testipad)
72742         __res.append(__width - __len, __fill);
72743       else
72744         __res += __fill;
72745       break;
72746     case money_base::none:
72747       if (__testipad)
72748         __res.append(__width - __len, __fill);
72749       break;
72750     }
72751        }
72752
72753
72754      if (__sign_size > 1)
72755        __res.append(__sign + 1, __sign_size - 1);
72756
72757
72758      __len = __res.size();
72759      if (__width > __len)
72760        {
72761   if (__f == ios_base::left)
72762
72763     __res.append(__width - __len, __fill);
72764   else
72765
72766     __res.insert(0, __width - __len, __fill);
72767   __len = __width;
72768        }
72769
72770
72771      __s = std::__write(__s, __res.data(), __len);
72772    }
72773  __io.width(0);
72774  return __s;
72775       }
72776
72777   template<typename _CharT, typename _OutIter>
72778     _OutIter
72779     money_put<_CharT, _OutIter>::
72780     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
72781     long double __units) const
72782     {
72783       const locale __loc = __io.getloc();
72784       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
72785
72786
72787       int __cs_size = 64;
72788       char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
72789
72790
72791       int __len = std::__convert_from_v(__cs, __cs_size, "%.*Lf", __units,
72792      _S_get_c_locale(), 0);
72793
72794       if (__len >= __cs_size)
72795  {
72796    __cs_size = __len + 1;
72797    __cs = static_cast<char*>(__builtin_alloca(__cs_size));
72798    __len = std::__convert_from_v(__cs, __cs_size, "%.*Lf", __units,
72799      _S_get_c_locale(), 0);
72800  }
72801
72802
72803
72804
72805
72806
72807
72808       _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
72809           * __cs_size));
72810       __ctype.widen(__cs, __cs + __len, __ws);
72811       const string_type __digits(__ws, __len);
72812       return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
72813              : _M_insert<false>(__s, __io, __fill, __digits);
72814     }
72815
72816   template<typename _CharT, typename _OutIter>
72817     _OutIter
72818     money_put<_CharT, _OutIter>::
72819     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
72820     const string_type& __digits) const
72821     { return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
72822              : _M_insert<false>(__s, __io, __fill, __digits); }
72823
72824
72825
72826
72827
72828   template<typename _CharT, typename _InIter>
72829     time_base::dateorder
72830     time_get<_CharT, _InIter>::do_date_order() const
72831     { return time_base::no_order; }
72832
72833
72834
72835   template<typename _CharT, typename _InIter>
72836     _InIter
72837     time_get<_CharT, _InIter>::
72838     _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
72839      ios_base::iostate& __err, tm* __tm,
72840      const _CharT* __format) const
72841     {
72842       const locale& __loc = __io._M_getloc();
72843       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
72844       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
72845       const size_t __len = char_traits<_CharT>::length(__format);
72846
72847       for (size_t __i = 0; __beg != __end && __i < __len && !__err; ++__i)
72848  {
72849    if (__ctype.narrow(__format[__i], 0) == '%')
72850      {
72851
72852        char __c = __ctype.narrow(__format[++__i], 0);
72853        int __mem = 0;
72854        if (__c == 'E' || __c == 'O')
72855   __c = __ctype.narrow(__format[++__i], 0);
72856        switch (__c)
72857   {
72858     const char* __cs;
72859     _CharT __wcs[10];
72860   case 'a':
72861
72862     const char_type* __days1[7];
72863     __tp._M_days_abbreviated(__days1);
72864     __beg = _M_extract_name(__beg, __end, __tm->tm_wday, __days1,
72865        7, __io, __err);
72866     break;
72867   case 'A':
72868
72869     const char_type* __days2[7];
72870     __tp._M_days(__days2);
72871     __beg = _M_extract_name(__beg, __end, __tm->tm_wday, __days2,
72872        7, __io, __err);
72873     break;
72874   case 'h':
72875   case 'b':
72876
72877     const char_type* __months1[12];
72878     __tp._M_months_abbreviated(__months1);
72879     __beg = _M_extract_name(__beg, __end, __tm->tm_mon,
72880        __months1, 12, __io, __err);
72881     break;
72882   case 'B':
72883
72884     const char_type* __months2[12];
72885     __tp._M_months(__months2);
72886     __beg = _M_extract_name(__beg, __end, __tm->tm_mon,
72887        __months2, 12, __io, __err);
72888     break;
72889   case 'c':
72890
72891     const char_type* __dt[2];
72892     __tp._M_date_time_formats(__dt);
72893     __beg = _M_extract_via_format(__beg, __end, __io, __err,
72894       __tm, __dt[0]);
72895     break;
72896   case 'd':
72897
72898     __beg = _M_extract_num(__beg, __end, __tm->tm_mday, 1, 31, 2,
72899       __io, __err);
72900     break;
72901   case 'e':
72902
72903
72904     if (__ctype.is(ctype_base::space, *__beg))
72905       __beg = _M_extract_num(++__beg, __end, __tm->tm_mday, 1, 9,
72906         1, __io, __err);
72907     else
72908       __beg = _M_extract_num(__beg, __end, __tm->tm_mday, 10, 31,
72909         2, __io, __err);
72910     break;
72911   case 'D':
72912
72913     __cs = "%m/%d/%y";
72914     __ctype.widen(__cs, __cs + 9, __wcs);
72915     __beg = _M_extract_via_format(__beg, __end, __io, __err,
72916       __tm, __wcs);
72917     break;
72918   case 'H':
72919
72920     __beg = _M_extract_num(__beg, __end, __tm->tm_hour, 0, 23, 2,
72921       __io, __err);
72922     break;
72923   case 'I':
72924
72925     __beg = _M_extract_num(__beg, __end, __tm->tm_hour, 1, 12, 2,
72926       __io, __err);
72927     break;
72928   case 'm':
72929
72930     __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2,
72931       __io, __err);
72932     if (!__err)
72933       __tm->tm_mon = __mem - 1;
72934     break;
72935   case 'M':
72936
72937     __beg = _M_extract_num(__beg, __end, __tm->tm_min, 0, 59, 2,
72938       __io, __err);
72939     break;
72940   case 'n':
72941     if (__ctype.narrow(*__beg, 0) == '\n')
72942       ++__beg;
72943     else
72944       __err |= ios_base::failbit;
72945     break;
72946   case 'R':
72947
72948     __cs = "%H:%M";
72949     __ctype.widen(__cs, __cs + 6, __wcs);
72950     __beg = _M_extract_via_format(__beg, __end, __io, __err,
72951       __tm, __wcs);
72952     break;
72953   case 'S':
72954
72955
72956
72957     __beg = _M_extract_num(__beg, __end, __tm->tm_sec, 0, 60, 2,
72958
72959
72960
72961       __io, __err);
72962     break;
72963   case 't':
72964     if (__ctype.narrow(*__beg, 0) == '\t')
72965       ++__beg;
72966     else
72967       __err |= ios_base::failbit;
72968     break;
72969   case 'T':
72970
72971     __cs = "%H:%M:%S";
72972     __ctype.widen(__cs, __cs + 9, __wcs);
72973     __beg = _M_extract_via_format(__beg, __end, __io, __err,
72974       __tm, __wcs);
72975     break;
72976   case 'x':
72977
72978     const char_type* __dates[2];
72979     __tp._M_date_formats(__dates);
72980     __beg = _M_extract_via_format(__beg, __end, __io, __err,
72981       __tm, __dates[0]);
72982     break;
72983   case 'X':
72984
72985     const char_type* __times[2];
72986     __tp._M_time_formats(__times);
72987     __beg = _M_extract_via_format(__beg, __end, __io, __err,
72988       __tm, __times[0]);
72989     break;
72990   case 'y':
72991   case 'C':
72992
72993     __beg = _M_extract_num(__beg, __end, __tm->tm_year, 0, 99, 2,
72994       __io, __err);
72995     break;
72996   case 'Y':
72997
72998     __beg = _M_extract_num(__beg, __end, __mem, 0, 9999, 4,
72999       __io, __err);
73000     if (!__err)
73001       __tm->tm_year = __mem - 1900;
73002     break;
73003   case 'Z':
73004
73005     if (__ctype.is(ctype_base::upper, *__beg))
73006       {
73007         int __tmp;
73008         __beg = _M_extract_name(__beg, __end, __tmp,
73009            __timepunct_cache<_CharT>::_S_timezones,
73010            14, __io, __err);
73011
73012
73013         if (__beg != __end && !__err && __tmp == 0
73014      && (*__beg == __ctype.widen('-')
73015          || *__beg == __ctype.widen('+')))
73016    {
73017      __beg = _M_extract_num(__beg, __end, __tmp, 0, 23, 2,
73018        __io, __err);
73019      __beg = _M_extract_num(__beg, __end, __tmp, 0, 59, 2,
73020        __io, __err);
73021    }
73022       }
73023     else
73024       __err |= ios_base::failbit;
73025     break;
73026   default:
73027
73028     __err |= ios_base::failbit;
73029   }
73030      }
73031    else
73032      {
73033
73034        if (__format[__i] == *__beg)
73035   ++__beg;
73036        else
73037   __err |= ios_base::failbit;
73038      }
73039  }
73040       return __beg;
73041     }
73042
73043   template<typename _CharT, typename _InIter>
73044     _InIter
73045     time_get<_CharT, _InIter>::
73046     _M_extract_num(iter_type __beg, iter_type __end, int& __member,
73047      int __min, int __max, size_t __len,
73048      ios_base& __io, ios_base::iostate& __err) const
73049     {
73050       const locale& __loc = __io._M_getloc();
73051       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
73052
73053
73054       int __mult = __len == 2 ? 10 : (__len == 4 ? 1000 : 1);
73055
73056       ++__min;
73057       size_t __i = 0;
73058       int __value = 0;
73059       for (; __beg != __end && __i < __len; ++__beg, ++__i)
73060  {
73061    const char __c = __ctype.narrow(*__beg, '*');
73062    if (__c >= '0' && __c <= '9')
73063      {
73064        __value = __value * 10 + (__c - '0');
73065        const int __valuec = __value * __mult;
73066        if (__valuec > __max || __valuec + __mult < __min)
73067   break;
73068        __mult /= 10;
73069      }
73070    else
73071      break;
73072  }
73073       if (__i == __len)
73074  __member = __value;
73075       else
73076  __err |= ios_base::failbit;
73077       return __beg;
73078     }
73079
73080
73081
73082   template<typename _CharT, typename _InIter>
73083     _InIter
73084     time_get<_CharT, _InIter>::
73085     _M_extract_name(iter_type __beg, iter_type __end, int& __member,
73086       const _CharT** __names, size_t __indexlen,
73087       ios_base& __io, ios_base::iostate& __err) const
73088     {
73089       typedef char_traits<_CharT> __traits_type;
73090       const locale& __loc = __io._M_getloc();
73091       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
73092
73093       int* __matches = static_cast<int*>(__builtin_alloca(sizeof(int)
73094          * __indexlen));
73095       size_t __nmatches = 0;
73096       size_t __pos = 0;
73097       bool __testvalid = true;
73098       const char_type* __name;
73099
73100
73101
73102
73103
73104       if (__beg != __end)
73105  {
73106    const char_type __c = *__beg;
73107    for (size_t __i1 = 0; __i1 < __indexlen; ++__i1)
73108      if (__c == __names[__i1][0]
73109   || __c == __ctype.toupper(__names[__i1][0]))
73110        __matches[__nmatches++] = __i1;
73111  }
73112
73113       while (__nmatches > 1)
73114  {
73115
73116    size_t __minlen = __traits_type::length(__names[__matches[0]]);
73117    for (size_t __i2 = 1; __i2 < __nmatches; ++__i2)
73118      __minlen = std::min(__minlen,
73119          __traits_type::length(__names[__matches[__i2]]));
73120    ++__beg, ++__pos;
73121    if (__pos < __minlen && __beg != __end)
73122      for (size_t __i3 = 0; __i3 < __nmatches;)
73123        {
73124   __name = __names[__matches[__i3]];
73125   if (!(__name[__pos] == *__beg))
73126     __matches[__i3] = __matches[--__nmatches];
73127   else
73128     ++__i3;
73129        }
73130    else
73131      break;
73132  }
73133
73134       if (__nmatches == 1)
73135  {
73136
73137    ++__beg, ++__pos;
73138    __name = __names[__matches[0]];
73139    const size_t __len = __traits_type::length(__name);
73140    while (__pos < __len && __beg != __end && __name[__pos] == *__beg)
73141      ++__beg, ++__pos;
73142
73143    if (__len == __pos)
73144      __member = __matches[0];
73145    else
73146      __testvalid = false;
73147  }
73148       else
73149  __testvalid = false;
73150       if (!__testvalid)
73151  __err |= ios_base::failbit;
73152       return __beg;
73153     }
73154
73155   template<typename _CharT, typename _InIter>
73156     _InIter
73157     time_get<_CharT, _InIter>::
73158     do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
73159   ios_base::iostate& __err, tm* __tm) const
73160     {
73161       const locale& __loc = __io._M_getloc();
73162       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
73163       const char_type* __times[2];
73164       __tp._M_time_formats(__times);
73165       __beg = _M_extract_via_format(__beg, __end, __io, __err,
73166         __tm, __times[0]);
73167       if (__beg == __end)
73168  __err |= ios_base::eofbit;
73169       return __beg;
73170     }
73171
73172   template<typename _CharT, typename _InIter>
73173     _InIter
73174     time_get<_CharT, _InIter>::
73175     do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
73176   ios_base::iostate& __err, tm* __tm) const
73177     {
73178       const locale& __loc = __io._M_getloc();
73179       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
73180       const char_type* __dates[2];
73181       __tp._M_date_formats(__dates);
73182       __beg = _M_extract_via_format(__beg, __end, __io, __err,
73183         __tm, __dates[0]);
73184       if (__beg == __end)
73185  __err |= ios_base::eofbit;
73186       return __beg;
73187     }
73188
73189   template<typename _CharT, typename _InIter>
73190     _InIter
73191     time_get<_CharT, _InIter>::
73192     do_get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
73193      ios_base::iostate& __err, tm* __tm) const
73194     {
73195       typedef char_traits<_CharT> __traits_type;
73196       const locale& __loc = __io._M_getloc();
73197       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
73198       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
73199       const char_type* __days[7];
73200       __tp._M_days_abbreviated(__days);
73201       int __tmpwday;
73202       __beg = _M_extract_name(__beg, __end, __tmpwday, __days, 7, __io, __err);
73203
73204
73205
73206
73207
73208
73209
73210       if (!__err && __beg != __end)
73211  {
73212    size_t __pos = __traits_type::length(__days[__tmpwday]);
73213    __tp._M_days(__days);
73214    const char_type* __name = __days[__tmpwday];
73215    if (__name[__pos] == *__beg)
73216      {
73217
73218        const size_t __len = __traits_type::length(__name);
73219        while (__pos < __len && __beg != __end
73220        && __name[__pos] == *__beg)
73221   ++__beg, ++__pos;
73222        if (__len != __pos)
73223   __err |= ios_base::failbit;
73224      }
73225  }
73226       if (!__err)
73227  __tm->tm_wday = __tmpwday;
73228
73229       if (__beg == __end)
73230  __err |= ios_base::eofbit;
73231       return __beg;
73232      }
73233
73234   template<typename _CharT, typename _InIter>
73235     _InIter
73236     time_get<_CharT, _InIter>::
73237     do_get_monthname(iter_type __beg, iter_type __end,
73238                      ios_base& __io, ios_base::iostate& __err, tm* __tm) const
73239     {
73240       typedef char_traits<_CharT> __traits_type;
73241       const locale& __loc = __io._M_getloc();
73242       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
73243       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
73244       const char_type* __months[12];
73245       __tp._M_months_abbreviated(__months);
73246       int __tmpmon;
73247       __beg = _M_extract_name(__beg, __end, __tmpmon, __months, 12,
73248          __io, __err);
73249
73250
73251
73252
73253
73254
73255
73256       if (!__err && __beg != __end)
73257  {
73258    size_t __pos = __traits_type::length(__months[__tmpmon]);
73259    __tp._M_months(__months);
73260    const char_type* __name = __months[__tmpmon];
73261    if (__name[__pos] == *__beg)
73262      {
73263
73264        const size_t __len = __traits_type::length(__name);
73265        while (__pos < __len && __beg != __end
73266        && __name[__pos] == *__beg)
73267   ++__beg, ++__pos;
73268        if (__len != __pos)
73269   __err |= ios_base::failbit;
73270      }
73271  }
73272       if (!__err)
73273  __tm->tm_mon = __tmpmon;
73274
73275       if (__beg == __end)
73276  __err |= ios_base::eofbit;
73277       return __beg;
73278     }
73279
73280   template<typename _CharT, typename _InIter>
73281     _InIter
73282     time_get<_CharT, _InIter>::
73283     do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
73284   ios_base::iostate& __err, tm* __tm) const
73285     {
73286       const locale& __loc = __io._M_getloc();
73287       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
73288
73289       size_t __i = 0;
73290       int __value = 0;
73291       for (; __beg != __end && __i < 4; ++__beg, ++__i)
73292  {
73293    const char __c = __ctype.narrow(*__beg, '*');
73294    if (__c >= '0' && __c <= '9')
73295      __value = __value * 10 + (__c - '0');
73296    else
73297      break;
73298  }
73299       if (__i == 2 || __i == 4)
73300  __tm->tm_year = __i == 2 ? __value : __value - 1900;
73301       else
73302  __err |= ios_base::failbit;
73303       if (__beg == __end)
73304  __err |= ios_base::eofbit;
73305       return __beg;
73306     }
73307
73308   template<typename _CharT, typename _OutIter>
73309     _OutIter
73310     time_put<_CharT, _OutIter>::
73311     put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
73312  const _CharT* __beg, const _CharT* __end) const
73313     {
73314       const locale& __loc = __io._M_getloc();
73315       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
73316       for (; __beg != __end; ++__beg)
73317  if (__ctype.narrow(*__beg, 0) != '%')
73318    {
73319      *__s = *__beg;
73320      ++__s;
73321    }
73322  else if (++__beg != __end)
73323    {
73324      char __format;
73325      char __mod = 0;
73326      const char __c = __ctype.narrow(*__beg, 0);
73327      if (__c != 'E' && __c != 'O')
73328        __format = __c;
73329      else if (++__beg != __end)
73330        {
73331   __mod = __c;
73332   __format = __ctype.narrow(*__beg, 0);
73333        }
73334      else
73335        break;
73336      __s = this->do_put(__s, __io, __fill, __tm, __format, __mod);
73337    }
73338  else
73339    break;
73340       return __s;
73341     }
73342
73343   template<typename _CharT, typename _OutIter>
73344     _OutIter
73345     time_put<_CharT, _OutIter>::
73346     do_put(iter_type __s, ios_base& __io, char_type, const tm* __tm,
73347     char __format, char __mod) const
73348     {
73349       const locale& __loc = __io._M_getloc();
73350       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
73351       __timepunct<_CharT> const& __tp = use_facet<__timepunct<_CharT> >(__loc);
73352
73353
73354
73355       const size_t __maxlen = 128;
73356       char_type* __res =
73357        static_cast<char_type*>(__builtin_alloca(sizeof(char_type) * __maxlen));
73358
73359
73360
73361
73362
73363
73364       char_type __fmt[4];
73365       __fmt[0] = __ctype.widen('%');
73366       if (!__mod)
73367  {
73368    __fmt[1] = __format;
73369    __fmt[2] = char_type();
73370  }
73371       else
73372  {
73373    __fmt[1] = __mod;
73374    __fmt[2] = __format;
73375    __fmt[3] = char_type();
73376  }
73377
73378       __tp._M_put(__res, __maxlen, __fmt, __tm);
73379
73380
73381       return std::__write(__s, __res, char_traits<char_type>::length(__res));
73382     }
73383
73384
73385   template<typename _CharT>
73386     int
73387     collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const
73388     { return 0; }
73389
73390
73391   template<typename _CharT>
73392     size_t
73393     collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const
73394     { return 0; }
73395
73396   template<typename _CharT>
73397     int
73398     collate<_CharT>::
73399     do_compare(const _CharT* __lo1, const _CharT* __hi1,
73400         const _CharT* __lo2, const _CharT* __hi2) const
73401     {
73402
73403
73404       const string_type __one(__lo1, __hi1);
73405       const string_type __two(__lo2, __hi2);
73406
73407       const _CharT* __p = __one.c_str();
73408       const _CharT* __pend = __one.data() + __one.length();
73409       const _CharT* __q = __two.c_str();
73410       const _CharT* __qend = __two.data() + __two.length();
73411
73412
73413
73414
73415       for (;;)
73416  {
73417    const int __res = _M_compare(__p, __q);
73418    if (__res)
73419      return __res;
73420
73421    __p += char_traits<_CharT>::length(__p);
73422    __q += char_traits<_CharT>::length(__q);
73423    if (__p == __pend && __q == __qend)
73424      return 0;
73425    else if (__p == __pend)
73426      return -1;
73427    else if (__q == __qend)
73428      return 1;
73429
73430    __p++;
73431    __q++;
73432  }
73433     }
73434
73435   template<typename _CharT>
73436     typename collate<_CharT>::string_type
73437     collate<_CharT>::
73438     do_transform(const _CharT* __lo, const _CharT* __hi) const
73439     {
73440
73441       string_type __str(__lo, __hi);
73442
73443       const _CharT* __p = __str.c_str();
73444       const _CharT* __pend = __str.data() + __str.length();
73445
73446       size_t __len = (__hi - __lo) * 2;
73447
73448       string_type __ret;
73449
73450
73451
73452
73453       for (;;)
73454  {
73455
73456    _CharT* __c =
73457      static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len));
73458    size_t __res = _M_transform(__c, __p, __len);
73459
73460
73461    if (__res >= __len)
73462      {
73463        __len = __res + 1;
73464        __c = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
73465          * __len));
73466        __res = _M_transform(__c, __p, __len);
73467      }
73468
73469    __ret.append(__c, __res);
73470    __p += char_traits<_CharT>::length(__p);
73471    if (__p == __pend)
73472      return __ret;
73473
73474    __p++;
73475    __ret.push_back(_CharT());
73476  }
73477     }
73478
73479   template<typename _CharT>
73480     long
73481     collate<_CharT>::
73482     do_hash(const _CharT* __lo, const _CharT* __hi) const
73483     {
73484       unsigned long __val = 0;
73485       for (; __lo < __hi; ++__lo)
73486  __val = *__lo + ((__val << 7) |
73487          (__val >> (numeric_limits<unsigned long>::digits - 7)));
73488       return static_cast<long>(__val);
73489     }
73490 # 2407 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
73491   template<typename _CharT, typename _Traits>
73492     void
73493     __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill,
73494        _CharT* __news, const _CharT* __olds,
73495        const streamsize __newlen,
73496        const streamsize __oldlen, const bool __num)
73497     {
73498       const size_t __plen = static_cast<size_t>(__newlen - __oldlen);
73499       const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield;
73500
73501
73502       if (__adjust == ios_base::left)
73503  {
73504    _Traits::copy(__news, const_cast<_CharT*>(__olds), __oldlen);
73505    _Traits::assign(__news + __oldlen, __plen, __fill);
73506    return;
73507  }
73508
73509       size_t __mod = 0;
73510       if (__adjust == ios_base::internal && __num)
73511  {
73512
73513
73514
73515           const locale& __loc = __io._M_getloc();
73516    const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
73517
73518    const bool __testsign = (__ctype.widen('-') == __olds[0]
73519        || __ctype.widen('+') == __olds[0]);
73520    const bool __testhex = (__ctype.widen('0') == __olds[0]
73521       && __oldlen > 1
73522       && (__ctype.widen('x') == __olds[1]
73523           || __ctype.widen('X') == __olds[1]));
73524    if (__testhex)
73525      {
73526        __news[0] = __olds[0];
73527        __news[1] = __olds[1];
73528        __mod = 2;
73529        __news += 2;
73530      }
73531    else if (__testsign)
73532      {
73533        __news[0] = __olds[0];
73534        __mod = 1;
73535        ++__news;
73536      }
73537
73538  }
73539       _Traits::assign(__news, __plen, __fill);
73540       _Traits::copy(__news + __plen, const_cast<_CharT*>(__olds + __mod),
73541       __oldlen - __mod);
73542     }
73543
73544   bool
73545   __verify_grouping(const char* __grouping, size_t __grouping_size,
73546       const string& __grouping_tmp)
73547   {
73548     const size_t __n = __grouping_tmp.size() - 1;
73549     const size_t __min = std::min(__n, size_t(__grouping_size - 1));
73550     size_t __i = __n;
73551     bool __test = true;
73552
73553
73554
73555
73556     for (size_t __j = 0; __j < __min && __test; --__i, ++__j)
73557       __test = __grouping_tmp[__i] == __grouping[__j];
73558     for (; __i && __test; --__i)
73559       __test = __grouping_tmp[__i] == __grouping[__min];
73560
73561
73562
73563     if (static_cast<signed char>(__grouping[__min]) > 0)
73564       __test &= __grouping_tmp[0] <= __grouping[__min];
73565     return __test;
73566   }
73567
73568   template<typename _CharT>
73569     _CharT*
73570     __add_grouping(_CharT* __s, _CharT __sep,
73571      const char* __gbeg, size_t __gsize,
73572      const _CharT* __first, const _CharT* __last)
73573     {
73574       if (__last - __first > *__gbeg
73575    && static_cast<signed char>(*__gbeg) > 0)
73576  {
73577    const bool __bump = __gsize != 1;
73578    __s = std::__add_grouping(__s, __sep, __gbeg + __bump,
73579         __gsize - __bump, __first,
73580         __last - *__gbeg);
73581    __first = __last - *__gbeg;
73582    *__s++ = __sep;
73583  }
73584       do
73585  *__s++ = *__first++;
73586       while (__first != __last);
73587       return __s;
73588     }
73589
73590
73591
73592
73593
73594   extern template class moneypunct<char, false>;
73595   extern template class moneypunct<char, true>;
73596   extern template class moneypunct_byname<char, false>;
73597   extern template class moneypunct_byname<char, true>;
73598   extern template class money_get<char>;
73599   extern template class money_put<char>;
73600   extern template class numpunct<char>;
73601   extern template class numpunct_byname<char>;
73602   extern template class num_get<char>;
73603   extern template class num_put<char>;
73604   extern template class __timepunct<char>;
73605   extern template class time_put<char>;
73606   extern template class time_put_byname<char>;
73607   extern template class time_get<char>;
73608   extern template class time_get_byname<char>;
73609   extern template class messages<char>;
73610   extern template class messages_byname<char>;
73611   extern template class ctype_byname<char>;
73612   extern template class codecvt_byname<char, char, mbstate_t>;
73613   extern template class collate<char>;
73614   extern template class collate_byname<char>;
73615
73616   extern template
73617     const codecvt<char, char, mbstate_t>&
73618     use_facet<codecvt<char, char, mbstate_t> >(const locale&);
73619
73620   extern template
73621     const collate<char>&
73622     use_facet<collate<char> >(const locale&);
73623
73624   extern template
73625     const numpunct<char>&
73626     use_facet<numpunct<char> >(const locale&);
73627
73628   extern template
73629     const num_put<char>&
73630     use_facet<num_put<char> >(const locale&);
73631
73632   extern template
73633     const num_get<char>&
73634     use_facet<num_get<char> >(const locale&);
73635
73636   extern template
73637     const moneypunct<char, true>&
73638     use_facet<moneypunct<char, true> >(const locale&);
73639
73640   extern template
73641     const moneypunct<char, false>&
73642     use_facet<moneypunct<char, false> >(const locale&);
73643
73644   extern template
73645     const money_put<char>&
73646     use_facet<money_put<char> >(const locale&);
73647
73648   extern template
73649     const money_get<char>&
73650     use_facet<money_get<char> >(const locale&);
73651
73652   extern template
73653     const __timepunct<char>&
73654     use_facet<__timepunct<char> >(const locale&);
73655
73656   extern template
73657     const time_put<char>&
73658     use_facet<time_put<char> >(const locale&);
73659
73660   extern template
73661     const time_get<char>&
73662     use_facet<time_get<char> >(const locale&);
73663
73664   extern template
73665     const messages<char>&
73666     use_facet<messages<char> >(const locale&);
73667
73668   extern template
73669     bool
73670     has_facet<ctype<char> >(const locale&);
73671
73672   extern template
73673     bool
73674     has_facet<codecvt<char, char, mbstate_t> >(const locale&);
73675
73676   extern template
73677     bool
73678     has_facet<collate<char> >(const locale&);
73679
73680   extern template
73681     bool
73682     has_facet<numpunct<char> >(const locale&);
73683
73684   extern template
73685     bool
73686     has_facet<num_put<char> >(const locale&);
73687
73688   extern template
73689     bool
73690     has_facet<num_get<char> >(const locale&);
73691
73692   extern template
73693     bool
73694     has_facet<moneypunct<char> >(const locale&);
73695
73696   extern template
73697     bool
73698     has_facet<money_put<char> >(const locale&);
73699
73700   extern template
73701     bool
73702     has_facet<money_get<char> >(const locale&);
73703
73704   extern template
73705     bool
73706     has_facet<__timepunct<char> >(const locale&);
73707
73708   extern template
73709     bool
73710     has_facet<time_put<char> >(const locale&);
73711
73712   extern template
73713     bool
73714     has_facet<time_get<char> >(const locale&);
73715
73716   extern template
73717     bool
73718     has_facet<messages<char> >(const locale&);
73719
73720
73721   extern template class moneypunct<wchar_t, false>;
73722   extern template class moneypunct<wchar_t, true>;
73723   extern template class moneypunct_byname<wchar_t, false>;
73724   extern template class moneypunct_byname<wchar_t, true>;
73725   extern template class money_get<wchar_t>;
73726   extern template class money_put<wchar_t>;
73727   extern template class numpunct<wchar_t>;
73728   extern template class numpunct_byname<wchar_t>;
73729   extern template class num_get<wchar_t>;
73730   extern template class num_put<wchar_t>;
73731   extern template class __timepunct<wchar_t>;
73732   extern template class time_put<wchar_t>;
73733   extern template class time_put_byname<wchar_t>;
73734   extern template class time_get<wchar_t>;
73735   extern template class time_get_byname<wchar_t>;
73736   extern template class messages<wchar_t>;
73737   extern template class messages_byname<wchar_t>;
73738   extern template class ctype_byname<wchar_t>;
73739   extern template class codecvt_byname<wchar_t, char, mbstate_t>;
73740   extern template class collate<wchar_t>;
73741   extern template class collate_byname<wchar_t>;
73742
73743   extern template
73744     const codecvt<wchar_t, char, mbstate_t>&
73745     use_facet<codecvt<wchar_t, char, mbstate_t> >(locale const&);
73746
73747   extern template
73748     const collate<wchar_t>&
73749     use_facet<collate<wchar_t> >(const locale&);
73750
73751   extern template
73752     const numpunct<wchar_t>&
73753     use_facet<numpunct<wchar_t> >(const locale&);
73754
73755   extern template
73756     const num_put<wchar_t>&
73757     use_facet<num_put<wchar_t> >(const locale&);
73758
73759   extern template
73760     const num_get<wchar_t>&
73761     use_facet<num_get<wchar_t> >(const locale&);
73762
73763   extern template
73764     const moneypunct<wchar_t, true>&
73765     use_facet<moneypunct<wchar_t, true> >(const locale&);
73766
73767   extern template
73768     const moneypunct<wchar_t, false>&
73769     use_facet<moneypunct<wchar_t, false> >(const locale&);
73770
73771   extern template
73772     const money_put<wchar_t>&
73773     use_facet<money_put<wchar_t> >(const locale&);
73774
73775   extern template
73776     const money_get<wchar_t>&
73777     use_facet<money_get<wchar_t> >(const locale&);
73778
73779   extern template
73780     const __timepunct<wchar_t>&
73781     use_facet<__timepunct<wchar_t> >(const locale&);
73782
73783   extern template
73784     const time_put<wchar_t>&
73785     use_facet<time_put<wchar_t> >(const locale&);
73786
73787   extern template
73788     const time_get<wchar_t>&
73789     use_facet<time_get<wchar_t> >(const locale&);
73790
73791   extern template
73792     const messages<wchar_t>&
73793     use_facet<messages<wchar_t> >(const locale&);
73794
73795  extern template
73796     bool
73797     has_facet<ctype<wchar_t> >(const locale&);
73798
73799   extern template
73800     bool
73801     has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
73802
73803   extern template
73804     bool
73805     has_facet<collate<wchar_t> >(const locale&);
73806
73807   extern template
73808     bool
73809     has_facet<numpunct<wchar_t> >(const locale&);
73810
73811   extern template
73812     bool
73813     has_facet<num_put<wchar_t> >(const locale&);
73814
73815   extern template
73816     bool
73817     has_facet<num_get<wchar_t> >(const locale&);
73818
73819   extern template
73820     bool
73821     has_facet<moneypunct<wchar_t> >(const locale&);
73822
73823   extern template
73824     bool
73825     has_facet<money_put<wchar_t> >(const locale&);
73826
73827   extern template
73828     bool
73829     has_facet<money_get<wchar_t> >(const locale&);
73830
73831   extern template
73832     bool
73833     has_facet<__timepunct<wchar_t> >(const locale&);
73834
73835   extern template
73836     bool
73837     has_facet<time_put<wchar_t> >(const locale&);
73838
73839   extern template
73840     bool
73841     has_facet<time_get<wchar_t> >(const locale&);
73842
73843   extern template
73844     bool
73845     has_facet<messages<wchar_t> >(const locale&);
73846
73847
73848 }
73849 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/locale" 2 3
73850
73851 #pragma GCC visibility pop
73852 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc" 2 3
73853
73854 namespace std
73855 {
73856   template<typename _CharT, typename _Traits>
73857     basic_ostream<_CharT, _Traits>::sentry::
73858     sentry(basic_ostream<_CharT, _Traits>& __os)
73859     : _M_ok(false), _M_os(__os)
73860     {
73861
73862       if (__os.tie() && __os.good())
73863  __os.tie()->flush();
73864
73865       if (__os.good())
73866  _M_ok = true;
73867       else
73868  __os.setstate(ios_base::failbit);
73869     }
73870
73871   template<typename _CharT, typename _Traits>
73872     basic_ostream<_CharT, _Traits>&
73873     basic_ostream<_CharT, _Traits>::
73874     operator<<(__ostream_type& (*__pf)(__ostream_type&))
73875     {
73876
73877
73878
73879       return __pf(*this);
73880     }
73881
73882   template<typename _CharT, typename _Traits>
73883     basic_ostream<_CharT, _Traits>&
73884     basic_ostream<_CharT, _Traits>::
73885     operator<<(__ios_type& (*__pf)(__ios_type&))
73886     {
73887
73888
73889
73890       __pf(*this);
73891       return *this;
73892     }
73893
73894   template<typename _CharT, typename _Traits>
73895     basic_ostream<_CharT, _Traits>&
73896     basic_ostream<_CharT, _Traits>::
73897     operator<<(ios_base& (*__pf)(ios_base&))
73898     {
73899
73900
73901
73902       __pf(*this);
73903       return *this;
73904     }
73905
73906   template<typename _CharT, typename _Traits>
73907     basic_ostream<_CharT, _Traits>&
73908     basic_ostream<_CharT, _Traits>::
73909     operator<<(bool __n)
73910     {
73911       sentry __cerb(*this);
73912       if (__cerb)
73913  {
73914    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
73915    try
73916      {
73917        const __num_put_type& __np = __check_facet(this->_M_num_put);
73918        if (__np.put(*this, *this, this->fill(), __n).failed())
73919   __err |= ios_base::badbit;
73920      }
73921    catch(...)
73922      { this->_M_setstate(ios_base::badbit); }
73923    if (__err)
73924      this->setstate(__err);
73925  }
73926       return *this;
73927     }
73928
73929   template<typename _CharT, typename _Traits>
73930     basic_ostream<_CharT, _Traits>&
73931     basic_ostream<_CharT, _Traits>::
73932     operator<<(short __n)
73933     {
73934       sentry __cerb(*this);
73935       if (__cerb)
73936  {
73937    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
73938    try
73939      {
73940
73941
73942        long __l;
73943        const ios_base::fmtflags __fmt = (this->flags()
73944       & ios_base::basefield);
73945        if (__fmt == ios_base::oct || __fmt == ios_base::hex)
73946   __l = static_cast<long>(static_cast<unsigned short>(__n));
73947        else
73948   __l = static_cast<long>(__n);
73949        const __num_put_type& __np = __check_facet(this->_M_num_put);
73950        if (__np.put(*this, *this, this->fill(), __l).failed())
73951   __err |= ios_base::badbit;
73952      }
73953    catch(...)
73954      { this->_M_setstate(ios_base::badbit); }
73955    if (__err)
73956      this->setstate(__err);
73957  }
73958       return *this;
73959     }
73960
73961   template<typename _CharT, typename _Traits>
73962     basic_ostream<_CharT, _Traits>&
73963     basic_ostream<_CharT, _Traits>::
73964     operator<<(unsigned short __n)
73965     {
73966       sentry __cerb(*this);
73967       if (__cerb)
73968  {
73969    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
73970    try
73971      {
73972
73973
73974        const __num_put_type& __np = __check_facet(this->_M_num_put);
73975        if (__np.put(*this, *this, this->fill(),
73976       static_cast<unsigned long>(__n)).failed())
73977   __err |= ios_base::badbit;
73978      }
73979    catch(...)
73980      { this->_M_setstate(ios_base::badbit); }
73981    if (__err)
73982      this->setstate(__err);
73983  }
73984       return *this;
73985     }
73986
73987   template<typename _CharT, typename _Traits>
73988     basic_ostream<_CharT, _Traits>&
73989     basic_ostream<_CharT, _Traits>::
73990     operator<<(int __n)
73991     {
73992       sentry __cerb(*this);
73993       if (__cerb)
73994  {
73995    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
73996    try
73997      {
73998
73999
74000        long __l;
74001        const ios_base::fmtflags __fmt = (this->flags()
74002       & ios_base::basefield);
74003        if (__fmt == ios_base::oct || __fmt == ios_base::hex)
74004   __l = static_cast<long>(static_cast<unsigned int>(__n));
74005        else
74006   __l = static_cast<long>(__n);
74007        const __num_put_type& __np = __check_facet(this->_M_num_put);
74008        if (__np.put(*this, *this, this->fill(), __l).failed())
74009   __err |= ios_base::badbit;
74010      }
74011    catch(...)
74012      { this->_M_setstate(ios_base::badbit); }
74013    if (__err)
74014      this->setstate(__err);
74015  }
74016       return *this;
74017     }
74018
74019   template<typename _CharT, typename _Traits>
74020     basic_ostream<_CharT, _Traits>&
74021     basic_ostream<_CharT, _Traits>::
74022     operator<<(unsigned int __n)
74023     {
74024       sentry __cerb(*this);
74025       if (__cerb)
74026  {
74027    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74028    try
74029      {
74030
74031
74032        const __num_put_type& __np = __check_facet(this->_M_num_put);
74033        if (__np.put(*this, *this, this->fill(),
74034       static_cast<unsigned long>(__n)).failed())
74035   __err |= ios_base::badbit;
74036      }
74037    catch(...)
74038      { this->_M_setstate(ios_base::badbit); }
74039    if (__err)
74040      this->setstate(__err);
74041  }
74042       return *this;
74043     }
74044
74045   template<typename _CharT, typename _Traits>
74046     basic_ostream<_CharT, _Traits>&
74047     basic_ostream<_CharT, _Traits>::
74048     operator<<(long __n)
74049     {
74050       sentry __cerb(*this);
74051       if (__cerb)
74052  {
74053    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74054    try
74055      {
74056        const __num_put_type& __np = __check_facet(this->_M_num_put);
74057        if (__np.put(*this, *this, this->fill(), __n).failed())
74058   __err |= ios_base::badbit;
74059      }
74060    catch(...)
74061      { this->_M_setstate(ios_base::badbit); }
74062    if (__err)
74063      this->setstate(__err);
74064  }
74065       return *this;
74066     }
74067
74068   template<typename _CharT, typename _Traits>
74069     basic_ostream<_CharT, _Traits>&
74070     basic_ostream<_CharT, _Traits>::
74071     operator<<(unsigned long __n)
74072     {
74073       sentry __cerb(*this);
74074       if (__cerb)
74075  {
74076    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74077    try
74078      {
74079        const __num_put_type& __np = __check_facet(this->_M_num_put);
74080        if (__np.put(*this, *this, this->fill(), __n).failed())
74081   __err |= ios_base::badbit;
74082      }
74083    catch(...)
74084      { this->_M_setstate(ios_base::badbit); }
74085    if (__err)
74086      this->setstate(__err);
74087  }
74088       return *this;
74089     }
74090
74091
74092   template<typename _CharT, typename _Traits>
74093     basic_ostream<_CharT, _Traits>&
74094     basic_ostream<_CharT, _Traits>::
74095     operator<<(long long __n)
74096     {
74097       sentry __cerb(*this);
74098       if (__cerb)
74099  {
74100    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74101    try
74102      {
74103        const __num_put_type& __np = __check_facet(this->_M_num_put);
74104        if (__np.put(*this, *this, this->fill(), __n).failed())
74105   __err |= ios_base::badbit;
74106      }
74107    catch(...)
74108      { this->_M_setstate(ios_base::badbit); }
74109    if (__err)
74110      this->setstate(__err);
74111  }
74112       return *this;
74113     }
74114
74115   template<typename _CharT, typename _Traits>
74116     basic_ostream<_CharT, _Traits>&
74117     basic_ostream<_CharT, _Traits>::
74118     operator<<(unsigned long long __n)
74119     {
74120       sentry __cerb(*this);
74121       if (__cerb)
74122  {
74123    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74124    try
74125      {
74126        const __num_put_type& __np = __check_facet(this->_M_num_put);
74127        if (__np.put(*this, *this, this->fill(), __n).failed())
74128   __err |= ios_base::badbit;
74129      }
74130    catch(...)
74131      { this->_M_setstate(ios_base::badbit); }
74132    if (__err)
74133      this->setstate(__err);
74134  }
74135       return *this;
74136     }
74137
74138
74139   template<typename _CharT, typename _Traits>
74140     basic_ostream<_CharT, _Traits>&
74141     basic_ostream<_CharT, _Traits>::
74142     operator<<(float __n)
74143     {
74144       sentry __cerb(*this);
74145       if (__cerb)
74146  {
74147    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74148    try
74149      {
74150
74151
74152        const __num_put_type& __np = __check_facet(this->_M_num_put);
74153        if (__np.put(*this, *this, this->fill(),
74154       static_cast<double>(__n)).failed())
74155   __err |= ios_base::badbit;
74156      }
74157    catch(...)
74158      { this->_M_setstate(ios_base::badbit); }
74159    if (__err)
74160      this->setstate(__err);
74161  }
74162       return *this;
74163     }
74164
74165   template<typename _CharT, typename _Traits>
74166     basic_ostream<_CharT, _Traits>&
74167     basic_ostream<_CharT, _Traits>::
74168     operator<<(double __n)
74169     {
74170       sentry __cerb(*this);
74171       if (__cerb)
74172  {
74173    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74174    try
74175      {
74176        const __num_put_type& __np = __check_facet(this->_M_num_put);
74177        if (__np.put(*this, *this, this->fill(), __n).failed())
74178   __err |= ios_base::badbit;
74179      }
74180    catch(...)
74181      { this->_M_setstate(ios_base::badbit); }
74182    if (__err)
74183      this->setstate(__err);
74184  }
74185       return *this;
74186     }
74187
74188   template<typename _CharT, typename _Traits>
74189     basic_ostream<_CharT, _Traits>&
74190     basic_ostream<_CharT, _Traits>::
74191     operator<<(long double __n)
74192     {
74193       sentry __cerb(*this);
74194       if (__cerb)
74195  {
74196    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74197    try
74198      {
74199        const __num_put_type& __np = __check_facet(this->_M_num_put);
74200        if (__np.put(*this, *this, this->fill(), __n).failed())
74201   __err |= ios_base::badbit;
74202      }
74203    catch(...)
74204      { this->_M_setstate(ios_base::badbit); }
74205    if (__err)
74206      this->setstate(__err);
74207  }
74208       return *this;
74209     }
74210
74211   template<typename _CharT, typename _Traits>
74212     basic_ostream<_CharT, _Traits>&
74213     basic_ostream<_CharT, _Traits>::
74214     operator<<(const void* __n)
74215     {
74216       sentry __cerb(*this);
74217       if (__cerb)
74218  {
74219    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74220    try
74221      {
74222        const __num_put_type& __np = __check_facet(this->_M_num_put);
74223        if (__np.put(*this, *this, this->fill(), __n).failed())
74224   __err |= ios_base::badbit;
74225      }
74226    catch(...)
74227      { this->_M_setstate(ios_base::badbit); }
74228    if (__err)
74229      this->setstate(__err);
74230  }
74231       return *this;
74232     }
74233
74234   template<typename _CharT, typename _Traits>
74235     basic_ostream<_CharT, _Traits>&
74236     basic_ostream<_CharT, _Traits>::
74237     operator<<(__streambuf_type* __sbin)
74238     {
74239       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74240       sentry __cerb(*this);
74241       if (__cerb && __sbin)
74242  {
74243    try
74244      {
74245        if (!__copy_streambufs(__sbin, this->rdbuf()))
74246   __err |= ios_base::failbit;
74247      }
74248    catch(...)
74249      { this->_M_setstate(ios_base::failbit); }
74250  }
74251       else if (!__sbin)
74252  __err |= ios_base::badbit;
74253       if (__err)
74254  this->setstate(__err);
74255       return *this;
74256     }
74257
74258   template<typename _CharT, typename _Traits>
74259     basic_ostream<_CharT, _Traits>&
74260     basic_ostream<_CharT, _Traits>::
74261     put(char_type __c)
74262     {
74263
74264
74265
74266
74267
74268
74269       sentry __cerb(*this);
74270       if (__cerb)
74271  {
74272    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74273    try
74274      {
74275        const int_type __put = this->rdbuf()->sputc(__c);
74276        if (traits_type::eq_int_type(__put, traits_type::eof()))
74277   __err |= ios_base::badbit;
74278      }
74279    catch (...)
74280      { this->_M_setstate(ios_base::badbit); }
74281    if (__err)
74282      this->setstate(__err);
74283  }
74284       return *this;
74285     }
74286
74287   template<typename _CharT, typename _Traits>
74288     basic_ostream<_CharT, _Traits>&
74289     basic_ostream<_CharT, _Traits>::
74290     write(const _CharT* __s, streamsize __n)
74291     {
74292
74293
74294
74295
74296
74297
74298
74299       sentry __cerb(*this);
74300       if (__cerb)
74301  {
74302    try
74303      { _M_write(__s, __n); }
74304    catch (...)
74305      { this->_M_setstate(ios_base::badbit); }
74306  }
74307       return *this;
74308     }
74309
74310   template<typename _CharT, typename _Traits>
74311     basic_ostream<_CharT, _Traits>&
74312     basic_ostream<_CharT, _Traits>::
74313     flush()
74314     {
74315
74316
74317
74318       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74319       try
74320  {
74321    if (this->rdbuf() && this->rdbuf()->pubsync() == -1)
74322      __err |= ios_base::badbit;
74323  }
74324       catch(...)
74325  { this->_M_setstate(ios_base::badbit); }
74326       if (__err)
74327  this->setstate(__err);
74328       return *this;
74329     }
74330
74331   template<typename _CharT, typename _Traits>
74332     typename basic_ostream<_CharT, _Traits>::pos_type
74333     basic_ostream<_CharT, _Traits>::
74334     tellp()
74335     {
74336       pos_type __ret = pos_type(-1);
74337       try
74338  {
74339    if (!this->fail())
74340      __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
74341  }
74342       catch(...)
74343  { this->_M_setstate(ios_base::badbit); }
74344       return __ret;
74345     }
74346
74347   template<typename _CharT, typename _Traits>
74348     basic_ostream<_CharT, _Traits>&
74349     basic_ostream<_CharT, _Traits>::
74350     seekp(pos_type __pos)
74351     {
74352       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74353       try
74354  {
74355    if (!this->fail())
74356      {
74357
74358
74359        const pos_type __p = this->rdbuf()->pubseekpos(__pos,
74360             ios_base::out);
74361
74362
74363        if (__p == pos_type(off_type(-1)))
74364   __err |= ios_base::failbit;
74365      }
74366  }
74367       catch(...)
74368  { this->_M_setstate(ios_base::badbit); }
74369       if (__err)
74370  this->setstate(__err);
74371       return *this;
74372     }
74373
74374   template<typename _CharT, typename _Traits>
74375     basic_ostream<_CharT, _Traits>&
74376     basic_ostream<_CharT, _Traits>::
74377     seekp(off_type __off, ios_base::seekdir __dir)
74378     {
74379       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74380       try
74381  {
74382    if (!this->fail())
74383      {
74384
74385
74386        const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
74387             ios_base::out);
74388
74389
74390        if (__p == pos_type(off_type(-1)))
74391   __err |= ios_base::failbit;
74392      }
74393  }
74394       catch(...)
74395  { this->_M_setstate(ios_base::badbit); }
74396       if (__err)
74397  this->setstate(__err);
74398       return *this;
74399     }
74400
74401
74402   template<typename _CharT, typename _Traits>
74403     basic_ostream<_CharT, _Traits>&
74404     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
74405     {
74406       typedef basic_ostream<_CharT, _Traits> __ostream_type;
74407       typename __ostream_type::sentry __cerb(__out);
74408       if (__cerb)
74409  {
74410    try
74411      {
74412        const streamsize __w = __out.width();
74413        streamsize __len = 1;
74414        _CharT* __cs = &__c;
74415        if (__w > __len)
74416   {
74417     __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
74418               * __w));
74419     __pad<_CharT, _Traits>::_S_pad(__out, __out.fill(), __cs,
74420        &__c, __w, __len, false);
74421     __len = __w;
74422   }
74423        __out._M_write(__cs, __len);
74424        __out.width(0);
74425      }
74426    catch(...)
74427      { __out._M_setstate(ios_base::badbit); }
74428  }
74429       return __out;
74430     }
74431
74432
74433   template <class _Traits>
74434     basic_ostream<char, _Traits>&
74435     operator<<(basic_ostream<char, _Traits>& __out, char __c)
74436     {
74437       typedef basic_ostream<char, _Traits> __ostream_type;
74438       typename __ostream_type::sentry __cerb(__out);
74439       if (__cerb)
74440  {
74441    try
74442      {
74443        const streamsize __w = __out.width();
74444        streamsize __len = 1;
74445        char* __cs = &__c;
74446        if (__w > __len)
74447   {
74448     __cs = static_cast<char*>(__builtin_alloca(__w));
74449     __pad<char, _Traits>::_S_pad(__out, __out.fill(), __cs,
74450             &__c, __w, __len, false);
74451     __len = __w;
74452   }
74453        __out._M_write(__cs, __len);
74454        __out.width(0);
74455      }
74456    catch(...)
74457      { __out._M_setstate(ios_base::badbit); }
74458  }
74459       return __out;
74460      }
74461
74462   template<typename _CharT, typename _Traits>
74463     basic_ostream<_CharT, _Traits>&
74464     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
74465     {
74466       typedef basic_ostream<_CharT, _Traits> __ostream_type;
74467       typename __ostream_type::sentry __cerb(__out);
74468       if (__cerb && __s)
74469  {
74470    try
74471      {
74472        const streamsize __w = __out.width();
74473        streamsize __len = static_cast<streamsize>(_Traits::length(__s));
74474        if (__w > __len)
74475   {
74476     _CharT* __cs = (static_cast<
74477       _CharT*>(__builtin_alloca(sizeof(_CharT)
74478            * __w)));
74479     __pad<_CharT, _Traits>::_S_pad(__out, __out.fill(), __cs,
74480        __s, __w, __len, false);
74481     __s = __cs;
74482     __len = __w;
74483   }
74484        __out._M_write(__s, __len);
74485        __out.width(0);
74486      }
74487    catch(...)
74488      { __out._M_setstate(ios_base::badbit); }
74489  }
74490       else if (!__s)
74491  __out.setstate(ios_base::badbit);
74492       return __out;
74493     }
74494
74495   template<typename _CharT, typename _Traits>
74496     basic_ostream<_CharT, _Traits>&
74497     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
74498     {
74499       typedef basic_ostream<_CharT, _Traits> __ostream_type;
74500
74501
74502
74503       typedef char_traits<char> __traits_type;
74504       typename __ostream_type::sentry __cerb(__out);
74505       if (__cerb && __s)
74506  {
74507    size_t __clen = __traits_type::length(__s);
74508    _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
74509               * __clen));
74510    for (size_t __i = 0; __i < __clen; ++__i)
74511      __ws[__i] = __out.widen(__s[__i]);
74512    _CharT* __str = __ws;
74513
74514    try
74515      {
74516        const streamsize __w = __out.width();
74517        streamsize __len = static_cast<streamsize>(__clen);
74518        if (__w > __len)
74519   {
74520     _CharT* __cs = (static_cast<
74521       _CharT*>(__builtin_alloca(sizeof(_CharT)
74522            * __w)));
74523     __pad<_CharT, _Traits>::_S_pad(__out, __out.fill(), __cs,
74524        __ws, __w, __len, false);
74525     __str = __cs;
74526     __len = __w;
74527   }
74528        __out._M_write(__str, __len);
74529        __out.width(0);
74530      }
74531    catch(...)
74532      { __out._M_setstate(ios_base::badbit); }
74533  }
74534       else if (!__s)
74535  __out.setstate(ios_base::badbit);
74536       return __out;
74537     }
74538
74539
74540   template<class _Traits>
74541     basic_ostream<char, _Traits>&
74542     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
74543     {
74544       typedef basic_ostream<char, _Traits> __ostream_type;
74545       typename __ostream_type::sentry __cerb(__out);
74546       if (__cerb && __s)
74547  {
74548    try
74549      {
74550        const streamsize __w = __out.width();
74551        streamsize __len = static_cast<streamsize>(_Traits::length(__s));
74552        if (__w > __len)
74553   {
74554     char* __cs = static_cast<char*>(__builtin_alloca(__w));
74555     __pad<char, _Traits>::_S_pad(__out, __out.fill(), __cs,
74556        __s, __w, __len, false);
74557     __s = __cs;
74558     __len = __w;
74559   }
74560        __out._M_write(__s, __len);
74561        __out.width(0);
74562      }
74563    catch(...)
74564      { __out._M_setstate(ios_base::badbit); }
74565  }
74566       else if (!__s)
74567  __out.setstate(ios_base::badbit);
74568       return __out;
74569     }
74570
74571
74572   template<typename _CharT, typename _Traits, typename _Alloc>
74573     basic_ostream<_CharT, _Traits>&
74574     operator<<(basic_ostream<_CharT, _Traits>& __out,
74575         const basic_string<_CharT, _Traits, _Alloc>& __str)
74576     {
74577       typedef basic_ostream<_CharT, _Traits> __ostream_type;
74578       typename __ostream_type::sentry __cerb(__out);
74579       if (__cerb)
74580  {
74581    const streamsize __w = __out.width();
74582    streamsize __len = static_cast<streamsize>(__str.size());
74583    const _CharT* __s = __str.data();
74584
74585
74586
74587    if (__w > __len)
74588      {
74589        _CharT* __cs = (static_cast<
74590          _CharT*>(__builtin_alloca(sizeof(_CharT) * __w)));
74591        __pad<_CharT, _Traits>::_S_pad(__out, __out.fill(), __cs, __s,
74592           __w, __len, false);
74593        __s = __cs;
74594        __len = __w;
74595      }
74596    __out._M_write(__s, __len);
74597    __out.width(0);
74598  }
74599       return __out;
74600     }
74601
74602
74603
74604
74605
74606   extern template class basic_ostream<char>;
74607   extern template ostream& endl(ostream&);
74608   extern template ostream& ends(ostream&);
74609   extern template ostream& flush(ostream&);
74610   extern template ostream& operator<<(ostream&, char);
74611   extern template ostream& operator<<(ostream&, unsigned char);
74612   extern template ostream& operator<<(ostream&, signed char);
74613   extern template ostream& operator<<(ostream&, const char*);
74614   extern template ostream& operator<<(ostream&, const unsigned char*);
74615   extern template ostream& operator<<(ostream&, const signed char*);
74616
74617
74618   extern template class basic_ostream<wchar_t>;
74619   extern template wostream& endl(wostream&);
74620   extern template wostream& ends(wostream&);
74621   extern template wostream& flush(wostream&);
74622   extern template wostream& operator<<(wostream&, wchar_t);
74623   extern template wostream& operator<<(wostream&, char);
74624   extern template wostream& operator<<(wostream&, const wchar_t*);
74625   extern template wostream& operator<<(wostream&, const char*);
74626
74627
74628 }
74629 # 527 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 2 3
74630
74631
74632 #pragma GCC visibility pop
74633 # 72 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iterator" 2 3
74634 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 1 3
74635 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74636 #define _GLIBCXX_ISTREAM 1
74637
74638        
74639 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74640 #pragma GCC visibility push(default)
74641
74642
74643
74644
74645 namespace std
74646 {
74647 # 58 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74648   template<typename _CharT, typename _Traits>
74649     class basic_istream : virtual public basic_ios<_CharT, _Traits>
74650     {
74651     public:
74652
74653       typedef _CharT char_type;
74654       typedef typename _Traits::int_type int_type;
74655       typedef typename _Traits::pos_type pos_type;
74656       typedef typename _Traits::off_type off_type;
74657       typedef _Traits traits_type;
74658
74659
74660       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
74661       typedef basic_ios<_CharT, _Traits> __ios_type;
74662       typedef basic_istream<_CharT, _Traits> __istream_type;
74663       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
74664         __num_get_type;
74665       typedef ctype<_CharT> __ctype_type;
74666
74667       template<typename _CharT2, typename _Traits2>
74668         friend basic_istream<_CharT2, _Traits2>&
74669         operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2&);
74670
74671       template<typename _CharT2, typename _Traits2>
74672         friend basic_istream<_CharT2, _Traits2>&
74673         operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*);
74674
74675     protected:
74676
74677
74678
74679
74680
74681
74682
74683       streamsize _M_gcount;
74684
74685     public:
74686 # 104 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74687       explicit
74688       basic_istream(__streambuf_type* __sb): _M_gcount(streamsize(0))
74689       { this->init(__sb); }
74690
74691
74692
74693
74694
74695
74696       virtual
74697       ~basic_istream()
74698       { _M_gcount = streamsize(0); }
74699
74700
74701       class sentry;
74702       friend class sentry;
74703 # 131 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74704       inline __istream_type&
74705       operator>>(__istream_type& (*__pf)(__istream_type&));
74706
74707       inline __istream_type&
74708       operator>>(__ios_type& (*__pf)(__ios_type&));
74709
74710       inline __istream_type&
74711       operator>>(ios_base& (*__pf)(ios_base&));
74712 # 169 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74713       __istream_type&
74714       operator>>(bool& __n);
74715
74716       __istream_type&
74717       operator>>(short& __n);
74718
74719       __istream_type&
74720       operator>>(unsigned short& __n);
74721
74722       __istream_type&
74723       operator>>(int& __n);
74724
74725       __istream_type&
74726       operator>>(unsigned int& __n);
74727
74728       __istream_type&
74729       operator>>(long& __n);
74730
74731       __istream_type&
74732       operator>>(unsigned long& __n);
74733
74734
74735       __istream_type&
74736       operator>>(long long& __n);
74737
74738       __istream_type&
74739       operator>>(unsigned long long& __n);
74740
74741
74742       __istream_type&
74743       operator>>(float& __f);
74744
74745       __istream_type&
74746       operator>>(double& __f);
74747
74748       __istream_type&
74749       operator>>(long double& __f);
74750
74751       __istream_type&
74752       operator>>(void*& __p);
74753 # 230 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74754       __istream_type&
74755       operator>>(__streambuf_type* __sb);
74756 # 240 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74757       inline streamsize
74758       gcount() const
74759       { return _M_gcount; }
74760 # 272 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74761       int_type
74762       get();
74763 # 286 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74764       __istream_type&
74765       get(char_type& __c);
74766 # 313 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74767       __istream_type&
74768       get(char_type* __s, streamsize __n, char_type __delim);
74769 # 324 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74770       inline __istream_type&
74771       get(char_type* __s, streamsize __n)
74772       { return this->get(__s, __n, this->widen('\n')); }
74773 # 347 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74774       __istream_type&
74775       get(__streambuf_type& __sb, char_type __delim);
74776 # 357 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74777       inline __istream_type&
74778       get(__streambuf_type& __sb)
74779       { return this->get(__sb, this->widen('\n')); }
74780 # 386 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74781       __istream_type&
74782       getline(char_type* __s, streamsize __n, char_type __delim);
74783 # 397 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74784       inline __istream_type&
74785       getline(char_type* __s, streamsize __n)
74786       { return this->getline(__s, __n, this->widen('\n')); }
74787 # 421 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74788       __istream_type&
74789       ignore();
74790
74791       __istream_type&
74792       ignore(streamsize __n);
74793
74794       __istream_type&
74795       ignore(streamsize __n, int_type __delim);
74796 # 438 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74797       int_type
74798       peek();
74799 # 456 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74800       __istream_type&
74801       read(char_type* __s, streamsize __n);
74802 # 475 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74803       streamsize
74804       readsome(char_type* __s, streamsize __n);
74805 # 491 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74806       __istream_type&
74807       putback(char_type __c);
74808 # 506 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74809       __istream_type&
74810       unget();
74811 # 524 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74812       int
74813       sync();
74814 # 538 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74815       pos_type
74816       tellg();
74817 # 553 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74818       __istream_type&
74819       seekg(pos_type);
74820 # 569 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74821       __istream_type&
74822       seekg(off_type, ios_base::seekdir);
74823
74824
74825     protected:
74826       explicit
74827       basic_istream(): _M_gcount(streamsize(0)) { }
74828     };
74829
74830
74831   template<>
74832     basic_istream<char>&
74833     basic_istream<char>::
74834     getline(char_type* __s, streamsize __n, char_type __delim);
74835
74836   template<>
74837     basic_istream<char>&
74838     basic_istream<char>::
74839     ignore(streamsize __n);
74840
74841   template<>
74842     basic_istream<char>&
74843     basic_istream<char>::
74844     ignore(streamsize __n, int_type __delim);
74845
74846
74847   template<>
74848     basic_istream<wchar_t>&
74849     basic_istream<wchar_t>::
74850     getline(char_type* __s, streamsize __n, char_type __delim);
74851
74852   template<>
74853     basic_istream<wchar_t>&
74854     basic_istream<wchar_t>::
74855     ignore(streamsize __n);
74856
74857   template<>
74858     basic_istream<wchar_t>&
74859     basic_istream<wchar_t>::
74860     ignore(streamsize __n, int_type __delim);
74861 # 622 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74862   template<typename _CharT, typename _Traits>
74863     class basic_istream<_CharT, _Traits>::sentry
74864     {
74865     public:
74866
74867       typedef _Traits traits_type;
74868       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
74869       typedef basic_istream<_CharT, _Traits> __istream_type;
74870       typedef typename __istream_type::__ctype_type __ctype_type;
74871       typedef typename _Traits::int_type __int_type;
74872 # 654 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74873       explicit
74874       sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
74875 # 664 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74876       operator bool() const { return _M_ok; }
74877
74878     private:
74879       bool _M_ok;
74880     };
74881 # 683 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74882   template<typename _CharT, typename _Traits>
74883     basic_istream<_CharT, _Traits>&
74884     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c);
74885
74886   template<class _Traits>
74887     basic_istream<char, _Traits>&
74888     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
74889     { return (__in >> reinterpret_cast<char&>(__c)); }
74890
74891   template<class _Traits>
74892     basic_istream<char, _Traits>&
74893     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
74894     { return (__in >> reinterpret_cast<char&>(__c)); }
74895 # 724 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74896   template<typename _CharT, typename _Traits>
74897     basic_istream<_CharT, _Traits>&
74898     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s);
74899
74900
74901   template<>
74902     basic_istream<char>&
74903     operator>>(basic_istream<char>& __in, char* __s);
74904
74905   template<class _Traits>
74906     basic_istream<char, _Traits>&
74907     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
74908     { return (__in >> reinterpret_cast<char*>(__s)); }
74909
74910   template<class _Traits>
74911     basic_istream<char, _Traits>&
74912     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
74913     { return (__in >> reinterpret_cast<char*>(__s)); }
74914 # 751 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74915   template<typename _CharT, typename _Traits>
74916     class basic_iostream
74917     : public basic_istream<_CharT, _Traits>,
74918       public basic_ostream<_CharT, _Traits>
74919     {
74920     public:
74921
74922
74923
74924       typedef _CharT char_type;
74925       typedef typename _Traits::int_type int_type;
74926       typedef typename _Traits::pos_type pos_type;
74927       typedef typename _Traits::off_type off_type;
74928       typedef _Traits traits_type;
74929
74930
74931       typedef basic_istream<_CharT, _Traits> __istream_type;
74932       typedef basic_ostream<_CharT, _Traits> __ostream_type;
74933
74934
74935
74936
74937
74938
74939
74940       explicit
74941       basic_iostream(basic_streambuf<_CharT, _Traits>* __sb)
74942       : __istream_type(), __ostream_type()
74943       { this->init(__sb); }
74944
74945
74946
74947
74948       virtual
74949       ~basic_iostream() { }
74950
74951     protected:
74952       explicit
74953       basic_iostream() : __istream_type(), __ostream_type()
74954       { }
74955     };
74956 # 814 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
74957   template<typename _CharT, typename _Traits>
74958     basic_istream<_CharT, _Traits>&
74959     ws(basic_istream<_CharT, _Traits>& __is);
74960 }
74961
74962
74963 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc" 1 3
74964 # 41 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc" 3
74965 #define _ISTREAM_TCC 1
74966
74967        
74968 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc" 3
74969
74970
74971
74972
74973 namespace std
74974 {
74975   template<typename _CharT, typename _Traits>
74976     basic_istream<_CharT, _Traits>::sentry::
74977     sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false)
74978     {
74979       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
74980       if (__in.good())
74981  {
74982    if (__in.tie())
74983      __in.tie()->flush();
74984    if (!__noskip && (__in.flags() & ios_base::skipws))
74985      {
74986        const __int_type __eof = traits_type::eof();
74987        __streambuf_type* __sb = __in.rdbuf();
74988        __int_type __c = __sb->sgetc();
74989
74990        const __ctype_type& __ct = __check_facet(__in._M_ctype);
74991        while (!traits_type::eq_int_type(__c, __eof)
74992        && __ct.is(ctype_base::space,
74993     traits_type::to_char_type(__c)))
74994   __c = __sb->snextc();
74995
74996
74997
74998
74999        if (traits_type::eq_int_type(__c, __eof))
75000   __err |= ios_base::eofbit;
75001      }
75002  }
75003
75004       if (__in.good() && __err == ios_base::goodbit)
75005  _M_ok = true;
75006       else
75007  {
75008    __err |= ios_base::failbit;
75009    __in.setstate(__err);
75010  }
75011     }
75012
75013   template<typename _CharT, typename _Traits>
75014     basic_istream<_CharT, _Traits>&
75015     basic_istream<_CharT, _Traits>::
75016     operator>>(__istream_type& (*__pf)(__istream_type&))
75017     { return __pf(*this); }
75018
75019   template<typename _CharT, typename _Traits>
75020     basic_istream<_CharT, _Traits>&
75021     basic_istream<_CharT, _Traits>::
75022     operator>>(__ios_type& (*__pf)(__ios_type&))
75023     {
75024       __pf(*this);
75025       return *this;
75026     }
75027
75028   template<typename _CharT, typename _Traits>
75029     basic_istream<_CharT, _Traits>&
75030     basic_istream<_CharT, _Traits>::
75031     operator>>(ios_base& (*__pf)(ios_base&))
75032     {
75033       __pf(*this);
75034       return *this;
75035     }
75036
75037   template<typename _CharT, typename _Traits>
75038     basic_istream<_CharT, _Traits>&
75039     basic_istream<_CharT, _Traits>::
75040     operator>>(bool& __n)
75041     {
75042       sentry __cerb(*this, false);
75043       if (__cerb)
75044  {
75045    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75046    try
75047      {
75048        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75049        __ng.get(*this, 0, *this, __err, __n);
75050      }
75051    catch(...)
75052      { this->_M_setstate(ios_base::badbit); }
75053    if (__err)
75054      this->setstate(__err);
75055  }
75056       return *this;
75057     }
75058
75059   template<typename _CharT, typename _Traits>
75060     basic_istream<_CharT, _Traits>&
75061     basic_istream<_CharT, _Traits>::
75062     operator>>(short& __n)
75063     {
75064       sentry __cerb(*this, false);
75065       if (__cerb)
75066  {
75067    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75068    try
75069      {
75070        long __l;
75071        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75072        __ng.get(*this, 0, *this, __err, __l);
75073
75074
75075        if (!(__err & ios_base::failbit)
75076     && (numeric_limits<short>::min() <= __l
75077         && __l <= numeric_limits<short>::max()))
75078   __n = __l;
75079        else
75080                 __err |= ios_base::failbit;
75081      }
75082    catch(...)
75083      { this->_M_setstate(ios_base::badbit); }
75084    if (__err)
75085      this->setstate(__err);
75086  }
75087       return *this;
75088     }
75089
75090   template<typename _CharT, typename _Traits>
75091     basic_istream<_CharT, _Traits>&
75092     basic_istream<_CharT, _Traits>::
75093     operator>>(unsigned short& __n)
75094     {
75095       sentry __cerb(*this, false);
75096       if (__cerb)
75097  {
75098    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75099    try
75100      {
75101        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75102        __ng.get(*this, 0, *this, __err, __n);
75103      }
75104    catch(...)
75105      { this->_M_setstate(ios_base::badbit); }
75106    if (__err)
75107      this->setstate(__err);
75108  }
75109       return *this;
75110     }
75111
75112   template<typename _CharT, typename _Traits>
75113     basic_istream<_CharT, _Traits>&
75114     basic_istream<_CharT, _Traits>::
75115     operator>>(int& __n)
75116     {
75117       sentry __cerb(*this, false);
75118       if (__cerb)
75119  {
75120    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75121    try
75122      {
75123        long __l;
75124        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75125        __ng.get(*this, 0, *this, __err, __l);
75126
75127
75128        if (!(__err & ios_base::failbit)
75129     && (numeric_limits<int>::min() <= __l
75130         && __l <= numeric_limits<int>::max()))
75131   __n = __l;
75132        else
75133                 __err |= ios_base::failbit;
75134      }
75135    catch(...)
75136      { this->_M_setstate(ios_base::badbit); }
75137    if (__err)
75138      this->setstate(__err);
75139  }
75140       return *this;
75141     }
75142
75143   template<typename _CharT, typename _Traits>
75144     basic_istream<_CharT, _Traits>&
75145     basic_istream<_CharT, _Traits>::
75146     operator>>(unsigned int& __n)
75147     {
75148       sentry __cerb(*this, false);
75149       if (__cerb)
75150  {
75151    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75152    try
75153      {
75154        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75155        __ng.get(*this, 0, *this, __err, __n);
75156      }
75157    catch(...)
75158      { this->_M_setstate(ios_base::badbit); }
75159    if (__err)
75160      this->setstate(__err);
75161  }
75162       return *this;
75163     }
75164
75165   template<typename _CharT, typename _Traits>
75166     basic_istream<_CharT, _Traits>&
75167     basic_istream<_CharT, _Traits>::
75168     operator>>(long& __n)
75169     {
75170       sentry __cerb(*this, false);
75171       if (__cerb)
75172  {
75173    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75174    try
75175      {
75176        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75177        __ng.get(*this, 0, *this, __err, __n);
75178      }
75179    catch(...)
75180      { this->_M_setstate(ios_base::badbit); }
75181    if (__err)
75182      this->setstate(__err);
75183  }
75184       return *this;
75185     }
75186
75187   template<typename _CharT, typename _Traits>
75188     basic_istream<_CharT, _Traits>&
75189     basic_istream<_CharT, _Traits>::
75190     operator>>(unsigned long& __n)
75191     {
75192       sentry __cerb(*this, false);
75193       if (__cerb)
75194  {
75195    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75196    try
75197      {
75198        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75199        __ng.get(*this, 0, *this, __err, __n);
75200      }
75201    catch(...)
75202      { this->_M_setstate(ios_base::badbit); }
75203    if (__err)
75204      this->setstate(__err);
75205  }
75206       return *this;
75207     }
75208
75209
75210   template<typename _CharT, typename _Traits>
75211     basic_istream<_CharT, _Traits>&
75212     basic_istream<_CharT, _Traits>::
75213     operator>>(long long& __n)
75214     {
75215       sentry __cerb(*this, false);
75216       if (__cerb)
75217  {
75218    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75219    try
75220      {
75221        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75222        __ng.get(*this, 0, *this, __err, __n);
75223      }
75224    catch(...)
75225      { this->_M_setstate(ios_base::badbit); }
75226    if (__err)
75227      this->setstate(__err);
75228  }
75229       return *this;
75230     }
75231
75232   template<typename _CharT, typename _Traits>
75233     basic_istream<_CharT, _Traits>&
75234     basic_istream<_CharT, _Traits>::
75235     operator>>(unsigned long long& __n)
75236     {
75237       sentry __cerb(*this, false);
75238       if (__cerb)
75239  {
75240    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75241    try
75242      {
75243        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75244        __ng.get(*this, 0, *this, __err, __n);
75245      }
75246    catch(...)
75247      { this->_M_setstate(ios_base::badbit); }
75248    if (__err)
75249      this->setstate(__err);
75250  }
75251       return *this;
75252     }
75253
75254
75255   template<typename _CharT, typename _Traits>
75256     basic_istream<_CharT, _Traits>&
75257     basic_istream<_CharT, _Traits>::
75258     operator>>(float& __n)
75259     {
75260       sentry __cerb(*this, false);
75261       if (__cerb)
75262  {
75263    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75264    try
75265      {
75266        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75267        __ng.get(*this, 0, *this, __err, __n);
75268      }
75269    catch(...)
75270      { this->_M_setstate(ios_base::badbit); }
75271    if (__err)
75272      this->setstate(__err);
75273  }
75274       return *this;
75275     }
75276
75277   template<typename _CharT, typename _Traits>
75278     basic_istream<_CharT, _Traits>&
75279     basic_istream<_CharT, _Traits>::
75280     operator>>(double& __n)
75281     {
75282       sentry __cerb(*this, false);
75283       if (__cerb)
75284  {
75285    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75286    try
75287      {
75288        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75289        __ng.get(*this, 0, *this, __err, __n);
75290      }
75291    catch(...)
75292      { this->_M_setstate(ios_base::badbit); }
75293    if (__err)
75294      this->setstate(__err);
75295  }
75296       return *this;
75297     }
75298
75299   template<typename _CharT, typename _Traits>
75300     basic_istream<_CharT, _Traits>&
75301     basic_istream<_CharT, _Traits>::
75302     operator>>(long double& __n)
75303     {
75304       sentry __cerb(*this, false);
75305       if (__cerb)
75306  {
75307    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75308    try
75309      {
75310        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75311        __ng.get(*this, 0, *this, __err, __n);
75312      }
75313    catch(...)
75314      { this->_M_setstate(ios_base::badbit); }
75315    if (__err)
75316      this->setstate(__err);
75317  }
75318       return *this;
75319     }
75320
75321   template<typename _CharT, typename _Traits>
75322     basic_istream<_CharT, _Traits>&
75323     basic_istream<_CharT, _Traits>::
75324     operator>>(void*& __n)
75325     {
75326       sentry __cerb(*this, false);
75327       if (__cerb)
75328  {
75329    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75330    try
75331      {
75332        const __num_get_type& __ng = __check_facet(this->_M_num_get);
75333        __ng.get(*this, 0, *this, __err, __n);
75334      }
75335    catch(...)
75336      { this->_M_setstate(ios_base::badbit); }
75337    if (__err)
75338      this->setstate(__err);
75339  }
75340       return *this;
75341     }
75342
75343   template<typename _CharT, typename _Traits>
75344     basic_istream<_CharT, _Traits>&
75345     basic_istream<_CharT, _Traits>::
75346     operator>>(__streambuf_type* __sbout)
75347     {
75348       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75349       sentry __cerb(*this, false);
75350       if (__cerb && __sbout)
75351  {
75352    try
75353      {
75354        if (!__copy_streambufs(this->rdbuf(), __sbout))
75355   __err |= ios_base::failbit;
75356      }
75357    catch(...)
75358      { this->_M_setstate(ios_base::failbit); }
75359  }
75360       else if (!__sbout)
75361  __err |= ios_base::failbit;
75362       if (__err)
75363  this->setstate(__err);
75364       return *this;
75365     }
75366
75367   template<typename _CharT, typename _Traits>
75368     typename basic_istream<_CharT, _Traits>::int_type
75369     basic_istream<_CharT, _Traits>::
75370     get(void)
75371     {
75372       const int_type __eof = traits_type::eof();
75373       int_type __c = __eof;
75374       _M_gcount = 0;
75375       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75376       sentry __cerb(*this, true);
75377       if (__cerb)
75378  {
75379    try
75380      {
75381        __c = this->rdbuf()->sbumpc();
75382
75383        if (!traits_type::eq_int_type(__c, __eof))
75384   _M_gcount = 1;
75385        else
75386   __err |= ios_base::eofbit;
75387      }
75388    catch(...)
75389      { this->_M_setstate(ios_base::badbit); }
75390  }
75391       if (!_M_gcount)
75392  __err |= ios_base::failbit;
75393       if (__err)
75394  this->setstate(__err);
75395       return __c;
75396     }
75397
75398   template<typename _CharT, typename _Traits>
75399     basic_istream<_CharT, _Traits>&
75400     basic_istream<_CharT, _Traits>::
75401     get(char_type& __c)
75402     {
75403       _M_gcount = 0;
75404       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75405       sentry __cerb(*this, true);
75406       if (__cerb)
75407  {
75408    try
75409      {
75410        const int_type __cb = this->rdbuf()->sbumpc();
75411
75412        if (!traits_type::eq_int_type(__cb, traits_type::eof()))
75413   {
75414     _M_gcount = 1;
75415     __c = traits_type::to_char_type(__cb);
75416   }
75417        else
75418   __err |= ios_base::eofbit;
75419      }
75420    catch(...)
75421      { this->_M_setstate(ios_base::badbit); }
75422  }
75423       if (!_M_gcount)
75424  __err |= ios_base::failbit;
75425       if (__err)
75426  this->setstate(__err);
75427       return *this;
75428     }
75429
75430   template<typename _CharT, typename _Traits>
75431     basic_istream<_CharT, _Traits>&
75432     basic_istream<_CharT, _Traits>::
75433     get(char_type* __s, streamsize __n, char_type __delim)
75434     {
75435       _M_gcount = 0;
75436       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75437       sentry __cerb(*this, true);
75438       if (__cerb)
75439  {
75440    try
75441      {
75442        const int_type __idelim = traits_type::to_int_type(__delim);
75443        const int_type __eof = traits_type::eof();
75444        __streambuf_type* __sb = this->rdbuf();
75445        int_type __c = __sb->sgetc();
75446
75447        while (_M_gcount + 1 < __n
75448        && !traits_type::eq_int_type(__c, __eof)
75449        && !traits_type::eq_int_type(__c, __idelim))
75450   {
75451     *__s++ = traits_type::to_char_type(__c);
75452     ++_M_gcount;
75453     __c = __sb->snextc();
75454   }
75455        if (traits_type::eq_int_type(__c, __eof))
75456   __err |= ios_base::eofbit;
75457      }
75458    catch(...)
75459      { this->_M_setstate(ios_base::badbit); }
75460  }
75461
75462
75463       if (__n > 0)
75464  *__s = char_type();
75465       if (!_M_gcount)
75466  __err |= ios_base::failbit;
75467       if (__err)
75468  this->setstate(__err);
75469       return *this;
75470     }
75471
75472   template<typename _CharT, typename _Traits>
75473     basic_istream<_CharT, _Traits>&
75474     basic_istream<_CharT, _Traits>::
75475     get(__streambuf_type& __sb, char_type __delim)
75476     {
75477       _M_gcount = 0;
75478       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75479       sentry __cerb(*this, true);
75480       if (__cerb)
75481  {
75482    try
75483      {
75484        const int_type __idelim = traits_type::to_int_type(__delim);
75485        const int_type __eof = traits_type::eof();
75486        __streambuf_type* __this_sb = this->rdbuf();
75487        int_type __c = __this_sb->sgetc();
75488        char_type __c2 = traits_type::to_char_type(__c);
75489
75490        while (!traits_type::eq_int_type(__c, __eof)
75491        && !traits_type::eq_int_type(__c, __idelim)
75492        && !traits_type::eq_int_type(__sb.sputc(__c2), __eof))
75493   {
75494     ++_M_gcount;
75495     __c = __this_sb->snextc();
75496     __c2 = traits_type::to_char_type(__c);
75497   }
75498        if (traits_type::eq_int_type(__c, __eof))
75499   __err |= ios_base::eofbit;
75500      }
75501    catch(...)
75502      { this->_M_setstate(ios_base::badbit); }
75503  }
75504       if (!_M_gcount)
75505  __err |= ios_base::failbit;
75506       if (__err)
75507  this->setstate(__err);
75508       return *this;
75509     }
75510
75511   template<typename _CharT, typename _Traits>
75512     basic_istream<_CharT, _Traits>&
75513     basic_istream<_CharT, _Traits>::
75514     getline(char_type* __s, streamsize __n, char_type __delim)
75515     {
75516       _M_gcount = 0;
75517       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75518       sentry __cerb(*this, true);
75519       if (__cerb)
75520         {
75521           try
75522             {
75523               const int_type __idelim = traits_type::to_int_type(__delim);
75524               const int_type __eof = traits_type::eof();
75525               __streambuf_type* __sb = this->rdbuf();
75526               int_type __c = __sb->sgetc();
75527
75528               while (_M_gcount + 1 < __n
75529                      && !traits_type::eq_int_type(__c, __eof)
75530                      && !traits_type::eq_int_type(__c, __idelim))
75531                 {
75532                   *__s++ = traits_type::to_char_type(__c);
75533                   __c = __sb->snextc();
75534                   ++_M_gcount;
75535                 }
75536               if (traits_type::eq_int_type(__c, __eof))
75537                 __err |= ios_base::eofbit;
75538               else
75539                 {
75540                   if (traits_type::eq_int_type(__c, __idelim))
75541                     {
75542                       __sb->sbumpc();
75543                       ++_M_gcount;
75544                     }
75545                   else
75546                     __err |= ios_base::failbit;
75547                 }
75548             }
75549           catch(...)
75550             { this->_M_setstate(ios_base::badbit); }
75551         }
75552
75553
75554       if (__n > 0)
75555  *__s = char_type();
75556       if (!_M_gcount)
75557         __err |= ios_base::failbit;
75558       if (__err)
75559         this->setstate(__err);
75560       return *this;
75561     }
75562
75563
75564
75565
75566   template<typename _CharT, typename _Traits>
75567     basic_istream<_CharT, _Traits>&
75568     basic_istream<_CharT, _Traits>::
75569     ignore(void)
75570     {
75571       _M_gcount = 0;
75572       sentry __cerb(*this, true);
75573       if (__cerb)
75574  {
75575    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75576    try
75577      {
75578        const int_type __eof = traits_type::eof();
75579        __streambuf_type* __sb = this->rdbuf();
75580
75581        if (traits_type::eq_int_type(__sb->sbumpc(), __eof))
75582   __err |= ios_base::eofbit;
75583        else
75584   _M_gcount = 1;
75585      }
75586    catch(...)
75587      { this->_M_setstate(ios_base::badbit); }
75588    if (__err)
75589      this->setstate(__err);
75590  }
75591       return *this;
75592     }
75593
75594   template<typename _CharT, typename _Traits>
75595     basic_istream<_CharT, _Traits>&
75596     basic_istream<_CharT, _Traits>::
75597     ignore(streamsize __n)
75598     {
75599       _M_gcount = 0;
75600       sentry __cerb(*this, true);
75601       if (__cerb && __n > 0)
75602         {
75603           ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75604           try
75605             {
75606               const int_type __eof = traits_type::eof();
75607               __streambuf_type* __sb = this->rdbuf();
75608               int_type __c = __sb->sgetc();
75609 # 692 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc" 3
75610        bool __large_ignore = false;
75611        while (true)
75612   {
75613     while (_M_gcount < __n
75614     && !traits_type::eq_int_type(__c, __eof))
75615       {
75616         ++_M_gcount;
75617         __c = __sb->snextc();
75618       }
75619     if (__n == numeric_limits<streamsize>::max()
75620         && !traits_type::eq_int_type(__c, __eof))
75621       {
75622         _M_gcount = numeric_limits<streamsize>::min();
75623         __large_ignore = true;
75624       }
75625     else
75626       break;
75627   }
75628
75629        if (__large_ignore)
75630   _M_gcount = numeric_limits<streamsize>::max();
75631
75632        if (traits_type::eq_int_type(__c, __eof))
75633                 __err |= ios_base::eofbit;
75634             }
75635           catch(...)
75636             { this->_M_setstate(ios_base::badbit); }
75637           if (__err)
75638             this->setstate(__err);
75639         }
75640       return *this;
75641     }
75642
75643   template<typename _CharT, typename _Traits>
75644     basic_istream<_CharT, _Traits>&
75645     basic_istream<_CharT, _Traits>::
75646     ignore(streamsize __n, int_type __delim)
75647     {
75648       _M_gcount = 0;
75649       sentry __cerb(*this, true);
75650       if (__cerb && __n > 0)
75651         {
75652           ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75653           try
75654             {
75655               const int_type __eof = traits_type::eof();
75656               __streambuf_type* __sb = this->rdbuf();
75657               int_type __c = __sb->sgetc();
75658
75659
75660        bool __large_ignore = false;
75661        while (true)
75662   {
75663     while (_M_gcount < __n
75664     && !traits_type::eq_int_type(__c, __eof)
75665     && !traits_type::eq_int_type(__c, __delim))
75666       {
75667         ++_M_gcount;
75668         __c = __sb->snextc();
75669       }
75670     if (__n == numeric_limits<streamsize>::max()
75671         && !traits_type::eq_int_type(__c, __eof)
75672         && !traits_type::eq_int_type(__c, __delim))
75673       {
75674         _M_gcount = numeric_limits<streamsize>::min();
75675         __large_ignore = true;
75676       }
75677     else
75678       break;
75679   }
75680
75681        if (__large_ignore)
75682   _M_gcount = numeric_limits<streamsize>::max();
75683
75684               if (traits_type::eq_int_type(__c, __eof))
75685                 __err |= ios_base::eofbit;
75686        else if (traits_type::eq_int_type(__c, __delim))
75687   {
75688     if (_M_gcount < numeric_limits<streamsize>::max())
75689       ++_M_gcount;
75690     __sb->sbumpc();
75691   }
75692             }
75693           catch(...)
75694             { this->_M_setstate(ios_base::badbit); }
75695           if (__err)
75696             this->setstate(__err);
75697         }
75698       return *this;
75699     }
75700
75701   template<typename _CharT, typename _Traits>
75702     typename basic_istream<_CharT, _Traits>::int_type
75703     basic_istream<_CharT, _Traits>::
75704     peek(void)
75705     {
75706       int_type __c = traits_type::eof();
75707       _M_gcount = 0;
75708       sentry __cerb(*this, true);
75709       if (__cerb)
75710  {
75711    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75712    try
75713      {
75714        __c = this->rdbuf()->sgetc();
75715        if (traits_type::eq_int_type(__c, traits_type::eof()))
75716   __err |= ios_base::eofbit;
75717      }
75718    catch(...)
75719      { this->_M_setstate(ios_base::badbit); }
75720    if (__err)
75721      this->setstate(__err);
75722  }
75723       return __c;
75724     }
75725
75726   template<typename _CharT, typename _Traits>
75727     basic_istream<_CharT, _Traits>&
75728     basic_istream<_CharT, _Traits>::
75729     read(char_type* __s, streamsize __n)
75730     {
75731       _M_gcount = 0;
75732       sentry __cerb(*this, true);
75733       if (__cerb)
75734  {
75735    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75736    try
75737      {
75738        _M_gcount = this->rdbuf()->sgetn(__s, __n);
75739        if (_M_gcount != __n)
75740   __err |= (ios_base::eofbit | ios_base::failbit);
75741      }
75742    catch(...)
75743      { this->_M_setstate(ios_base::badbit); }
75744    if (__err)
75745      this->setstate(__err);
75746  }
75747       return *this;
75748     }
75749
75750   template<typename _CharT, typename _Traits>
75751     streamsize
75752     basic_istream<_CharT, _Traits>::
75753     readsome(char_type* __s, streamsize __n)
75754     {
75755       _M_gcount = 0;
75756       sentry __cerb(*this, true);
75757       if (__cerb)
75758  {
75759    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75760    try
75761      {
75762
75763        const streamsize __num = this->rdbuf()->in_avail();
75764        if (__num > 0)
75765   _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n));
75766        else if (__num == -1)
75767   __err |= ios_base::eofbit;
75768      }
75769    catch(...)
75770      { this->_M_setstate(ios_base::badbit); }
75771    if (__err)
75772      this->setstate(__err);
75773  }
75774       return _M_gcount;
75775     }
75776
75777   template<typename _CharT, typename _Traits>
75778     basic_istream<_CharT, _Traits>&
75779     basic_istream<_CharT, _Traits>::
75780     putback(char_type __c)
75781     {
75782
75783
75784       _M_gcount = 0;
75785       sentry __cerb(*this, true);
75786       if (__cerb)
75787  {
75788    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75789    try
75790      {
75791        const int_type __eof = traits_type::eof();
75792        __streambuf_type* __sb = this->rdbuf();
75793        if (!__sb
75794     || traits_type::eq_int_type(__sb->sputbackc(__c), __eof))
75795   __err |= ios_base::badbit;
75796      }
75797    catch(...)
75798      { this->_M_setstate(ios_base::badbit); }
75799    if (__err)
75800      this->setstate(__err);
75801  }
75802       return *this;
75803     }
75804
75805   template<typename _CharT, typename _Traits>
75806     basic_istream<_CharT, _Traits>&
75807     basic_istream<_CharT, _Traits>::
75808     unget(void)
75809     {
75810
75811
75812       _M_gcount = 0;
75813       sentry __cerb(*this, true);
75814       if (__cerb)
75815  {
75816    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75817    try
75818      {
75819        const int_type __eof = traits_type::eof();
75820        __streambuf_type* __sb = this->rdbuf();
75821        if (!__sb
75822     || traits_type::eq_int_type(__sb->sungetc(), __eof))
75823   __err |= ios_base::badbit;
75824      }
75825    catch(...)
75826      { this->_M_setstate(ios_base::badbit); }
75827    if (__err)
75828      this->setstate(__err);
75829  }
75830       return *this;
75831     }
75832
75833   template<typename _CharT, typename _Traits>
75834     int
75835     basic_istream<_CharT, _Traits>::
75836     sync(void)
75837     {
75838
75839
75840       int __ret = -1;
75841       sentry __cerb(*this, true);
75842       if (__cerb)
75843  {
75844    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75845    try
75846      {
75847        __streambuf_type* __sb = this->rdbuf();
75848        if (__sb)
75849   {
75850     if (__sb->pubsync() == -1)
75851       __err |= ios_base::badbit;
75852     else
75853       __ret = 0;
75854   }
75855      }
75856    catch(...)
75857      { this->_M_setstate(ios_base::badbit); }
75858    if (__err)
75859      this->setstate(__err);
75860  }
75861       return __ret;
75862     }
75863
75864   template<typename _CharT, typename _Traits>
75865     typename basic_istream<_CharT, _Traits>::pos_type
75866     basic_istream<_CharT, _Traits>::
75867     tellg(void)
75868     {
75869
75870
75871       pos_type __ret = pos_type(-1);
75872       try
75873  {
75874    if (!this->fail())
75875      __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in);
75876  }
75877       catch(...)
75878  { this->_M_setstate(ios_base::badbit); }
75879       return __ret;
75880     }
75881
75882   template<typename _CharT, typename _Traits>
75883     basic_istream<_CharT, _Traits>&
75884     basic_istream<_CharT, _Traits>::
75885     seekg(pos_type __pos)
75886     {
75887
75888
75889       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75890       try
75891  {
75892    if (!this->fail())
75893      {
75894
75895        const pos_type __p = this->rdbuf()->pubseekpos(__pos,
75896             ios_base::in);
75897
75898
75899        if (__p == pos_type(off_type(-1)))
75900   __err |= ios_base::failbit;
75901      }
75902  }
75903       catch(...)
75904  { this->_M_setstate(ios_base::badbit); }
75905       if (__err)
75906  this->setstate(__err);
75907       return *this;
75908     }
75909
75910   template<typename _CharT, typename _Traits>
75911     basic_istream<_CharT, _Traits>&
75912     basic_istream<_CharT, _Traits>::
75913     seekg(off_type __off, ios_base::seekdir __dir)
75914     {
75915
75916
75917       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75918       try
75919  {
75920    if (!this->fail())
75921      {
75922
75923        const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
75924             ios_base::in);
75925
75926
75927        if (__p == pos_type(off_type(-1)))
75928   __err |= ios_base::failbit;
75929      }
75930  }
75931       catch(...)
75932  { this->_M_setstate(ios_base::badbit); }
75933       if (__err)
75934  this->setstate(__err);
75935       return *this;
75936     }
75937
75938
75939   template<typename _CharT, typename _Traits>
75940     basic_istream<_CharT, _Traits>&
75941     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
75942     {
75943       typedef basic_istream<_CharT, _Traits> __istream_type;
75944       typedef typename __istream_type::int_type __int_type;
75945
75946       typename __istream_type::sentry __cerb(__in, false);
75947       if (__cerb)
75948  {
75949    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75950    try
75951      {
75952        const __int_type __cb = __in.rdbuf()->sbumpc();
75953        if (!_Traits::eq_int_type(__cb, _Traits::eof()))
75954   __c = _Traits::to_char_type(__cb);
75955        else
75956   __err |= (ios_base::eofbit | ios_base::failbit);
75957      }
75958    catch(...)
75959      { __in._M_setstate(ios_base::badbit); }
75960    if (__err)
75961      __in.setstate(__err);
75962  }
75963       return __in;
75964     }
75965
75966   template<typename _CharT, typename _Traits>
75967     basic_istream<_CharT, _Traits>&
75968     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
75969     {
75970       typedef basic_istream<_CharT, _Traits> __istream_type;
75971       typedef typename __istream_type::__streambuf_type __streambuf_type;
75972       typedef typename _Traits::int_type int_type;
75973       typedef _CharT char_type;
75974       typedef ctype<_CharT> __ctype_type;
75975
75976       streamsize __extracted = 0;
75977       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
75978       typename __istream_type::sentry __cerb(__in, false);
75979       if (__cerb)
75980  {
75981    try
75982      {
75983
75984        streamsize __num = __in.width();
75985        if (__num <= 0)
75986   __num = numeric_limits<streamsize>::max();
75987
75988        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
75989
75990        const int_type __eof = _Traits::eof();
75991        __streambuf_type* __sb = __in.rdbuf();
75992        int_type __c = __sb->sgetc();
75993
75994        while (__extracted < __num - 1
75995        && !_Traits::eq_int_type(__c, __eof)
75996        && !__ct.is(ctype_base::space,
75997      _Traits::to_char_type(__c)))
75998   {
75999     *__s++ = _Traits::to_char_type(__c);
76000     ++__extracted;
76001     __c = __sb->snextc();
76002   }
76003        if (_Traits::eq_int_type(__c, __eof))
76004   __err |= ios_base::eofbit;
76005
76006
76007
76008        *__s = char_type();
76009        __in.width(0);
76010      }
76011    catch(...)
76012      { __in._M_setstate(ios_base::badbit); }
76013  }
76014       if (!__extracted)
76015  __err |= ios_base::failbit;
76016       if (__err)
76017  __in.setstate(__err);
76018       return __in;
76019     }
76020
76021
76022   template<typename _CharT, typename _Traits>
76023     basic_istream<_CharT,_Traits>&
76024     ws(basic_istream<_CharT,_Traits>& __in)
76025     {
76026       typedef basic_istream<_CharT, _Traits> __istream_type;
76027       typedef typename __istream_type::__streambuf_type __streambuf_type;
76028       typedef typename __istream_type::__ctype_type __ctype_type;
76029       typedef typename __istream_type::int_type __int_type;
76030
76031       const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
76032       const __int_type __eof = _Traits::eof();
76033       __streambuf_type* __sb = __in.rdbuf();
76034       __int_type __c = __sb->sgetc();
76035
76036       while (!_Traits::eq_int_type(__c, __eof)
76037       && __ct.is(ctype_base::space, _Traits::to_char_type(__c)))
76038  __c = __sb->snextc();
76039
76040        if (_Traits::eq_int_type(__c, __eof))
76041   __in.setstate(ios_base::eofbit);
76042       return __in;
76043     }
76044
76045
76046   template<typename _CharT, typename _Traits, typename _Alloc>
76047     basic_istream<_CharT, _Traits>&
76048     operator>>(basic_istream<_CharT, _Traits>& __in,
76049         basic_string<_CharT, _Traits, _Alloc>& __str)
76050     {
76051       typedef basic_istream<_CharT, _Traits> __istream_type;
76052       typedef typename __istream_type::int_type __int_type;
76053       typedef typename __istream_type::__streambuf_type __streambuf_type;
76054       typedef typename __istream_type::__ctype_type __ctype_type;
76055       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
76056       typedef typename __string_type::size_type __size_type;
76057
76058       __size_type __extracted = 0;
76059       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
76060       typename __istream_type::sentry __cerb(__in, false);
76061       if (__cerb)
76062  {
76063    try
76064      {
76065
76066        __str.erase();
76067        _CharT __buf[128];
76068        __size_type __len = 0;
76069        const streamsize __w = __in.width();
76070        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
76071                                 : __str.max_size();
76072        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
76073        const __int_type __eof = _Traits::eof();
76074        __streambuf_type* __sb = __in.rdbuf();
76075        __int_type __c = __sb->sgetc();
76076
76077        while (__extracted < __n
76078        && !_Traits::eq_int_type(__c, __eof)
76079        && !__ct.is(ctype_base::space, _Traits::to_char_type(__c)))
76080   {
76081     if (__len == sizeof(__buf) / sizeof(_CharT))
76082       {
76083         __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
76084         __len = 0;
76085       }
76086     __buf[__len++] = _Traits::to_char_type(__c);
76087     ++__extracted;
76088     __c = __sb->snextc();
76089   }
76090        __str.append(__buf, __len);
76091
76092        if (_Traits::eq_int_type(__c, __eof))
76093   __err |= ios_base::eofbit;
76094        __in.width(0);
76095      }
76096    catch(...)
76097      {
76098
76099
76100
76101        __in._M_setstate(ios_base::badbit);
76102      }
76103  }
76104
76105       if (!__extracted)
76106  __err |= ios_base::failbit;
76107       if (__err)
76108  __in.setstate(__err);
76109       return __in;
76110     }
76111
76112   template<typename _CharT, typename _Traits, typename _Alloc>
76113     basic_istream<_CharT, _Traits>&
76114     getline(basic_istream<_CharT, _Traits>& __in,
76115      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
76116     {
76117       typedef basic_istream<_CharT, _Traits> __istream_type;
76118       typedef typename __istream_type::int_type __int_type;
76119       typedef typename __istream_type::__streambuf_type __streambuf_type;
76120       typedef typename __istream_type::__ctype_type __ctype_type;
76121       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
76122       typedef typename __string_type::size_type __size_type;
76123
76124       __size_type __extracted = 0;
76125       const __size_type __n = __str.max_size();
76126       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
76127       typename __istream_type::sentry __cerb(__in, true);
76128       if (__cerb)
76129  {
76130    try
76131      {
76132        __str.erase();
76133        const __int_type __idelim = _Traits::to_int_type(__delim);
76134        const __int_type __eof = _Traits::eof();
76135        __streambuf_type* __sb = __in.rdbuf();
76136        __int_type __c = __sb->sgetc();
76137
76138        while (__extracted < __n
76139        && !_Traits::eq_int_type(__c, __eof)
76140        && !_Traits::eq_int_type(__c, __idelim))
76141   {
76142     __str += _Traits::to_char_type(__c);
76143     ++__extracted;
76144     __c = __sb->snextc();
76145   }
76146
76147        if (_Traits::eq_int_type(__c, __eof))
76148   __err |= ios_base::eofbit;
76149        else if (_Traits::eq_int_type(__c, __idelim))
76150   {
76151     ++__extracted;
76152     __sb->sbumpc();
76153   }
76154        else
76155   __err |= ios_base::failbit;
76156      }
76157    catch(...)
76158      {
76159
76160
76161
76162        __in._M_setstate(ios_base::badbit);
76163      }
76164  }
76165       if (!__extracted)
76166  __err |= ios_base::failbit;
76167       if (__err)
76168  __in.setstate(__err);
76169       return __in;
76170     }
76171
76172   template<class _CharT, class _Traits, class _Alloc>
76173     inline basic_istream<_CharT,_Traits>&
76174     getline(basic_istream<_CharT, _Traits>& __in,
76175      basic_string<_CharT,_Traits,_Alloc>& __str)
76176     { return getline(__in, __str, __in.widen('\n')); }
76177
76178
76179
76180
76181
76182   extern template class basic_istream<char>;
76183   extern template istream& ws(istream&);
76184   extern template istream& operator>>(istream&, char&);
76185   extern template istream& operator>>(istream&, char*);
76186   extern template istream& operator>>(istream&, unsigned char&);
76187   extern template istream& operator>>(istream&, signed char&);
76188   extern template istream& operator>>(istream&, unsigned char*);
76189   extern template istream& operator>>(istream&, signed char*);
76190
76191   extern template class basic_iostream<char>;
76192
76193
76194   extern template class basic_istream<wchar_t>;
76195   extern template wistream& ws(wistream&);
76196   extern template wistream& operator>>(wistream&, wchar_t&);
76197   extern template wistream& operator>>(wistream&, wchar_t*);
76198
76199   extern template class basic_iostream<wchar_t>;
76200
76201
76202 }
76203 # 821 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/istream" 2 3
76204
76205
76206 #pragma GCC visibility pop
76207 # 73 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iterator" 2 3
76208 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stream_iterator.h" 1 3
76209 # 36 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stream_iterator.h" 3
76210 #define _STREAM_ITERATOR_H 1
76211
76212        
76213 # 39 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stream_iterator.h" 3
76214
76215
76216
76217 namespace std
76218 {
76219
76220   template<typename _Tp, typename _CharT = char,
76221            typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
76222     class istream_iterator
76223     : public iterator<input_iterator_tag, _Tp, _Dist, const _Tp*, const _Tp&>
76224     {
76225     public:
76226       typedef _CharT char_type;
76227       typedef _Traits traits_type;
76228       typedef basic_istream<_CharT, _Traits> istream_type;
76229
76230     private:
76231       istream_type* _M_stream;
76232       _Tp _M_value;
76233       bool _M_ok;
76234
76235     public:
76236
76237       istream_iterator()
76238       : _M_stream(0), _M_value(), _M_ok(false) {}
76239
76240
76241       istream_iterator(istream_type& __s)
76242       : _M_stream(&__s)
76243       { _M_read(); }
76244
76245       istream_iterator(const istream_iterator& __obj)
76246       : _M_stream(__obj._M_stream), _M_value(__obj._M_value),
76247         _M_ok(__obj._M_ok)
76248       { }
76249
76250       const _Tp&
76251       operator*() const
76252       {
76253  ;
76254
76255
76256  return _M_value;
76257       }
76258
76259       const _Tp*
76260       operator->() const { return &(operator*()); }
76261
76262       istream_iterator&
76263       operator++()
76264       {
76265  ;
76266
76267
76268  _M_read();
76269  return *this;
76270       }
76271
76272       istream_iterator
76273       operator++(int)
76274       {
76275  ;
76276
76277
76278  istream_iterator __tmp = *this;
76279  _M_read();
76280  return __tmp;
76281       }
76282
76283       bool
76284       _M_equal(const istream_iterator& __x) const
76285       { return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream); }
76286
76287     private:
76288       void
76289       _M_read()
76290       {
76291  _M_ok = (_M_stream && *_M_stream) ? true : false;
76292  if (_M_ok)
76293    {
76294      *_M_stream >> _M_value;
76295      _M_ok = *_M_stream ? true : false;
76296    }
76297       }
76298     };
76299
76300
76301   template<typename _Tp, typename _CharT, typename _Traits, typename _Dist>
76302     inline bool
76303     operator==(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x,
76304         const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y)
76305     { return __x._M_equal(__y); }
76306
76307
76308   template <class _Tp, class _CharT, class _Traits, class _Dist>
76309     inline bool
76310     operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x,
76311         const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y)
76312     { return !__x._M_equal(__y); }
76313 # 150 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stream_iterator.h" 3
76314   template<typename _Tp, typename _CharT = char,
76315            typename _Traits = char_traits<_CharT> >
76316     class ostream_iterator
76317     : public iterator<output_iterator_tag, void, void, void, void>
76318     {
76319     public:
76320
76321
76322       typedef _CharT char_type;
76323       typedef _Traits traits_type;
76324       typedef basic_ostream<_CharT, _Traits> ostream_type;
76325
76326
76327     private:
76328       ostream_type* _M_stream;
76329       const _CharT* _M_string;
76330
76331     public:
76332
76333       ostream_iterator(ostream_type& __s) : _M_stream(&__s), _M_string(0) {}
76334 # 181 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stream_iterator.h" 3
76335       ostream_iterator(ostream_type& __s, const _CharT* __c)
76336       : _M_stream(&__s), _M_string(__c) { }
76337
76338
76339       ostream_iterator(const ostream_iterator& __obj)
76340       : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { }
76341
76342
76343
76344       ostream_iterator&
76345       operator=(const _Tp& __value)
76346       {
76347  ;
76348
76349
76350  *_M_stream << __value;
76351  if (_M_string) *_M_stream << _M_string;
76352  return *this;
76353       }
76354
76355       ostream_iterator&
76356       operator*()
76357       { return *this; }
76358
76359       ostream_iterator&
76360       operator++()
76361       { return *this; }
76362
76363       ostream_iterator&
76364       operator++(int)
76365       { return *this; }
76366     };
76367 }
76368 # 74 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iterator" 2 3
76369
76370
76371 #pragma GCC visibility pop
76372 # 18 "/usr/include/boost/iterator.hpp" 2 3 4
76373
76374
76375
76376 namespace boost
76377 {
76378 # 39 "/usr/include/boost/iterator.hpp" 3 4
76379   namespace detail {
76380    template <class Category, class T, class Distance, class Pointer, class Reference>
76381
76382    struct iterator_base : std::iterator<Category, T, Distance, Pointer, Reference> {};
76383 # 51 "/usr/include/boost/iterator.hpp" 3 4
76384   }
76385
76386   template <class Category, class T, class Distance = std::ptrdiff_t,
76387             class Pointer = T*, class Reference = T&>
76388    struct iterator : detail::iterator_base<Category, T, Distance, Pointer, Reference> {};
76389
76390 }
76391 # 11 "/usr/include/boost/iterator/iterator_facade.hpp" 2 3 4
76392 # 1 "/usr/include/boost/iterator/interoperable.hpp" 1 3 4
76393
76394
76395
76396
76397
76398
76399
76400 #define BOOST_INTEROPERABLE_23022003THW_HPP 
76401
76402
76403
76404
76405 # 1 "/usr/include/boost/type_traits/is_convertible.hpp" 1 3 4
76406 # 14 "/usr/include/boost/iterator/interoperable.hpp" 2 3 4
76407
76408 # 1 "/usr/include/boost/iterator/detail/config_def.hpp" 1 3 4
76409 # 22 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
76410 #define BOOST_ITERATOR_CONFIG_DEF 
76411 # 45 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
76412 #define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1
76413 # 123 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
76414 #define BOOST_ARG_DEPENDENT_TYPENAME typename
76415 # 16 "/usr/include/boost/iterator/interoperable.hpp" 2 3 4
76416
76417 namespace boost
76418 {
76419 # 34 "/usr/include/boost/iterator/interoperable.hpp" 3 4
76420   template <typename A, typename B>
76421   struct is_interoperable
76422
76423
76424
76425     : mpl::or_<
76426           is_convertible< A, B >
76427         , is_convertible< B, A > >
76428
76429   {
76430   };
76431
76432 }
76433
76434 # 1 "/usr/include/boost/iterator/detail/config_undef.hpp" 1 3 4
76435 # 14 "/usr/include/boost/iterator/detail/config_undef.hpp" 3 4
76436 #undef BOOST_NO_IS_CONVERTIBLE
76437 #undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE
76438 #undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
76439 #undef BOOST_ARG_DEPENDENT_TYPENAME
76440 #undef BOOST_NO_LVALUE_RETURN_DETECTION
76441 #undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
76442
76443
76444 #undef BOOST_ITERATOR_CONFIG_DEF
76445 # 49 "/usr/include/boost/iterator/interoperable.hpp" 2 3 4
76446 # 12 "/usr/include/boost/iterator/iterator_facade.hpp" 2 3 4
76447 # 1 "/usr/include/boost/iterator/iterator_traits.hpp" 1 3 4
76448
76449
76450
76451
76452
76453 #define ITERATOR_TRAITS_DWA200347_HPP 
76454
76455 # 1 "/usr/include/boost/detail/iterator.hpp" 1 3 4
76456 # 51 "/usr/include/boost/detail/iterator.hpp" 3 4
76457 #define ITERATOR_DWA122600_HPP_ 
76458 # 77 "/usr/include/boost/detail/iterator.hpp" 3 4
76459 namespace boost { namespace detail {
76460
76461
76462 template <class Iterator>
76463 struct iterator_traits
76464     : std::iterator_traits<Iterator>
76465 {};
76466 using std::distance;
76467
76468 }}
76469 # 491 "/usr/include/boost/detail/iterator.hpp" 3 4
76470 #undef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
76471 #undef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
76472 # 9 "/usr/include/boost/iterator/iterator_traits.hpp" 2 3 4
76473
76474
76475 namespace boost {
76476 # 23 "/usr/include/boost/iterator/iterator_traits.hpp" 3 4
76477 #define BOOST_ITERATOR_CATEGORY iterator_category
76478
76479
76480
76481 template <class Iterator>
76482 struct iterator_value
76483 {
76484     typedef typename detail::iterator_traits<Iterator>::value_type type;
76485 };
76486
76487 template <class Iterator>
76488 struct iterator_reference
76489 {
76490     typedef typename detail::iterator_traits<Iterator>::reference type;
76491 };
76492
76493
76494 template <class Iterator>
76495 struct iterator_pointer
76496 {
76497     typedef typename detail::iterator_traits<Iterator>::pointer type;
76498 };
76499
76500 template <class Iterator>
76501 struct iterator_difference
76502 {
76503     typedef typename detail::iterator_traits<Iterator>::difference_type type;
76504 };
76505
76506 template <class Iterator>
76507 struct iterator_category
76508 {
76509     typedef typename detail::iterator_traits<Iterator>::iterator_category type;
76510 };
76511 # 90 "/usr/include/boost/iterator/iterator_traits.hpp" 3 4
76512 }
76513 # 13 "/usr/include/boost/iterator/iterator_facade.hpp" 2 3 4
76514
76515 # 1 "/usr/include/boost/iterator/detail/facade_iterator_category.hpp" 1 3 4
76516
76517
76518
76519
76520 #define FACADE_ITERATOR_CATEGORY_DWA20031118_HPP 
76521
76522 # 1 "/usr/include/boost/iterator/iterator_categories.hpp" 1 3 4
76523
76524
76525
76526
76527
76528
76529 #define BOOST_ITERATOR_CATEGORIES_HPP 
76530
76531
76532
76533 # 1 "/usr/include/boost/iterator/detail/config_def.hpp" 1 3 4
76534 # 22 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
76535 #define BOOST_ITERATOR_CONFIG_DEF 
76536 # 45 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
76537 #define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1
76538 # 123 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
76539 #define BOOST_ARG_DEPENDENT_TYPENAME typename
76540 # 12 "/usr/include/boost/iterator/iterator_categories.hpp" 2 3 4
76541
76542
76543
76544
76545
76546 # 1 "/usr/include/boost/mpl/placeholders.hpp" 1 3 4
76547 # 18 "/usr/include/boost/iterator/iterator_categories.hpp" 2 3 4
76548
76549
76550
76551
76552
76553
76554 namespace boost {
76555
76556
76557
76558
76559
76560 struct no_traversal_tag {};
76561
76562 struct incrementable_traversal_tag
76563   : no_traversal_tag
76564 {
76565
76566
76567 };
76568
76569 struct single_pass_traversal_tag
76570   : incrementable_traversal_tag
76571 {
76572
76573
76574 };
76575
76576 struct forward_traversal_tag
76577   : single_pass_traversal_tag
76578 {
76579
76580
76581 };
76582
76583 struct bidirectional_traversal_tag
76584   : forward_traversal_tag
76585 {
76586
76587
76588 };
76589
76590 struct random_access_traversal_tag
76591   : bidirectional_traversal_tag
76592 {
76593
76594
76595 };
76596
76597 namespace detail
76598 {
76599
76600
76601
76602
76603
76604
76605   template <class Cat>
76606   struct old_category_to_traversal
76607     : mpl::eval_if<
76608           is_convertible<Cat,std::random_access_iterator_tag>
76609         , mpl::identity<random_access_traversal_tag>
76610         , mpl::eval_if<
76611               is_convertible<Cat,std::bidirectional_iterator_tag>
76612             , mpl::identity<bidirectional_traversal_tag>
76613             , mpl::eval_if<
76614                   is_convertible<Cat,std::forward_iterator_tag>
76615                 , mpl::identity<forward_traversal_tag>
76616                 , mpl::eval_if<
76617                       is_convertible<Cat,std::input_iterator_tag>
76618                     , mpl::identity<single_pass_traversal_tag>
76619                     , mpl::eval_if<
76620                           is_convertible<Cat,std::output_iterator_tag>
76621                         , mpl::identity<incrementable_traversal_tag>
76622                         , void
76623                       >
76624                   >
76625               >
76626           >
76627       >
76628   {};
76629 # 108 "/usr/include/boost/iterator/iterator_categories.hpp" 3 4
76630   template <class Traversal>
76631   struct pure_traversal_tag
76632     : mpl::eval_if<
76633           is_convertible<Traversal,random_access_traversal_tag>
76634         , mpl::identity<random_access_traversal_tag>
76635         , mpl::eval_if<
76636               is_convertible<Traversal,bidirectional_traversal_tag>
76637             , mpl::identity<bidirectional_traversal_tag>
76638             , mpl::eval_if<
76639                   is_convertible<Traversal,forward_traversal_tag>
76640                 , mpl::identity<forward_traversal_tag>
76641                 , mpl::eval_if<
76642                       is_convertible<Traversal,single_pass_traversal_tag>
76643                     , mpl::identity<single_pass_traversal_tag>
76644                     , mpl::eval_if<
76645                           is_convertible<Traversal,incrementable_traversal_tag>
76646                         , mpl::identity<incrementable_traversal_tag>
76647                         , void
76648                       >
76649                   >
76650               >
76651           >
76652       >
76653   {
76654   };
76655 # 142 "/usr/include/boost/iterator/iterator_categories.hpp" 3 4
76656 }
76657
76658
76659
76660
76661
76662 template <class Cat>
76663 struct iterator_category_to_traversal
76664   : mpl::eval_if<
76665         is_convertible<Cat,incrementable_traversal_tag>
76666       , mpl::identity<Cat>
76667       , detail::old_category_to_traversal<Cat>
76668     >
76669 {};
76670
76671
76672 template <class Iterator = mpl::_1>
76673 struct iterator_traversal
76674   : iterator_category_to_traversal<
76675         typename boost::detail::iterator_traits<Iterator>::iterator_category
76676     >
76677 {};
76678 # 184 "/usr/include/boost/iterator/iterator_categories.hpp" 3 4
76679 }
76680
76681 # 1 "/usr/include/boost/iterator/detail/config_undef.hpp" 1 3 4
76682 # 14 "/usr/include/boost/iterator/detail/config_undef.hpp" 3 4
76683 #undef BOOST_NO_IS_CONVERTIBLE
76684 #undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE
76685 #undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
76686 #undef BOOST_ARG_DEPENDENT_TYPENAME
76687 #undef BOOST_NO_LVALUE_RETURN_DETECTION
76688 #undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
76689
76690
76691 #undef BOOST_ITERATOR_CONFIG_DEF
76692 # 187 "/usr/include/boost/iterator/iterator_categories.hpp" 2 3 4
76693 # 8 "/usr/include/boost/iterator/detail/facade_iterator_category.hpp" 2 3 4
76694 # 24 "/usr/include/boost/iterator/detail/facade_iterator_category.hpp" 3 4
76695 # 1 "/usr/include/boost/iterator/detail/config_def.hpp" 1 3 4
76696 # 22 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
76697 #define BOOST_ITERATOR_CONFIG_DEF 
76698 # 45 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
76699 #define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1
76700 # 123 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
76701 #define BOOST_ARG_DEPENDENT_TYPENAME typename
76702 # 25 "/usr/include/boost/iterator/detail/facade_iterator_category.hpp" 2 3 4
76703
76704
76705 # 1 "/usr/include/boost/detail/indirect_traits.hpp" 1 3 4
76706
76707
76708
76709
76710
76711 #define INDIRECT_TRAITS_DWA2002131_HPP 
76712
76713
76714
76715
76716
76717 # 1 "/usr/include/boost/type_traits/is_volatile.hpp" 1 3 4
76718 # 13 "/usr/include/boost/detail/indirect_traits.hpp" 2 3 4
76719 # 1 "/usr/include/boost/type_traits/is_member_function_pointer.hpp" 1 3 4
76720 # 14 "/usr/include/boost/detail/indirect_traits.hpp" 2 3 4
76721 # 1 "/usr/include/boost/type_traits/is_member_pointer.hpp" 1 3 4
76722 # 15 "/usr/include/boost/detail/indirect_traits.hpp" 2 3 4
76723
76724
76725 # 1 "/usr/include/boost/type_traits/remove_pointer.hpp" 1 3 4
76726 # 18 "/usr/include/boost/detail/indirect_traits.hpp" 2 3 4
76727
76728 # 1 "/usr/include/boost/type_traits/detail/ice_and.hpp" 1 3 4
76729 # 20 "/usr/include/boost/detail/indirect_traits.hpp" 2 3 4
76730 # 33 "/usr/include/boost/detail/indirect_traits.hpp" 3 4
76731 namespace boost { namespace detail {
76732
76733 namespace indirect_traits {
76734
76735
76736 template <class T>
76737 struct is_reference_to_const : mpl::false_
76738 {
76739 };
76740
76741 template <class T>
76742 struct is_reference_to_const<T const&> : mpl::true_
76743 {
76744 };
76745 # 55 "/usr/include/boost/detail/indirect_traits.hpp" 3 4
76746 template <class T>
76747 struct is_reference_to_function : mpl::false_
76748 {
76749 };
76750
76751 template <class T>
76752 struct is_reference_to_function<T&> : is_function<T>
76753 {
76754 };
76755
76756 template <class T>
76757 struct is_pointer_to_function : mpl::false_
76758 {
76759 };
76760
76761
76762
76763 template <class T>
76764 struct is_pointer_to_function<T*> : is_function<T>
76765 {
76766 };
76767
76768 template <class T>
76769 struct is_reference_to_member_function_pointer_impl : mpl::false_
76770 {
76771 };
76772
76773 template <class T>
76774 struct is_reference_to_member_function_pointer_impl<T&>
76775     : is_member_function_pointer<typename remove_cv<T>::type>
76776 {
76777 };
76778
76779
76780 template <class T>
76781 struct is_reference_to_member_function_pointer
76782     : is_reference_to_member_function_pointer_impl<T>
76783 {
76784    
76785 };
76786
76787 template <class T>
76788 struct is_reference_to_function_pointer_aux
76789     : mpl::and_<
76790           is_reference<T>
76791         , is_pointer_to_function<
76792               typename remove_cv<
76793                   typename remove_reference<T>::type
76794               >::type
76795           >
76796       >
76797 {
76798
76799 };
76800
76801 template <class T>
76802 struct is_reference_to_function_pointer
76803     : mpl::if_<
76804           is_reference_to_function<T>
76805         , mpl::false_
76806         , is_reference_to_function_pointer_aux<T>
76807      >::type
76808 {
76809 };
76810
76811 template <class T>
76812 struct is_reference_to_non_const
76813     : mpl::and_<
76814           is_reference<T>
76815         , mpl::not_<
76816              is_reference_to_const<T>
76817           >
76818       >
76819 {
76820 };
76821
76822 template <class T>
76823 struct is_reference_to_volatile : mpl::false_
76824 {
76825 };
76826
76827 template <class T>
76828 struct is_reference_to_volatile<T volatile&> : mpl::true_
76829 {
76830 };
76831 # 149 "/usr/include/boost/detail/indirect_traits.hpp" 3 4
76832 template <class T>
76833 struct is_reference_to_pointer : mpl::false_
76834 {
76835 };
76836
76837 template <class T>
76838 struct is_reference_to_pointer<T*&> : mpl::true_
76839 {
76840 };
76841
76842 template <class T>
76843 struct is_reference_to_pointer<T* const&> : mpl::true_
76844 {
76845 };
76846
76847 template <class T>
76848 struct is_reference_to_pointer<T* volatile&> : mpl::true_
76849 {
76850 };
76851
76852 template <class T>
76853 struct is_reference_to_pointer<T* const volatile&> : mpl::true_
76854 {
76855 };
76856
76857 template <class T>
76858 struct is_reference_to_class
76859     : mpl::and_<
76860           is_reference<T>
76861         , is_class<
76862               typename remove_cv<
76863                   typename remove_reference<T>::type
76864               >::type
76865           >
76866       >
76867 {
76868    
76869 };
76870
76871 template <class T>
76872 struct is_pointer_to_class
76873     : mpl::and_<
76874           is_pointer<T>
76875         , is_class<
76876               typename remove_cv<
76877                   typename remove_pointer<T>::type
76878               >::type
76879           >
76880       >
76881 {
76882    
76883 };
76884 # 481 "/usr/include/boost/detail/indirect_traits.hpp" 3 4
76885 }
76886
76887 using namespace indirect_traits;
76888
76889 }}
76890 # 28 "/usr/include/boost/iterator/detail/facade_iterator_category.hpp" 2 3 4
76891
76892
76893
76894
76895
76896
76897
76898 namespace boost { struct use_default; }
76899
76900 namespace boost { namespace detail {
76901
76902 struct input_output_iterator_tag
76903   : std::input_iterator_tag
76904 {
76905
76906
76907
76908
76909
76910
76911     operator std::output_iterator_tag() const
76912     {
76913         return std::output_iterator_tag();
76914     }
76915 };
76916
76917
76918
76919
76920
76921
76922 template <class ValueParam, class Reference>
76923 struct iterator_writability_disabled
76924
76925   : mpl::or_<
76926         is_const<Reference>
76927       , boost::detail::indirect_traits::is_reference_to_const<Reference>
76928       , is_const<ValueParam>
76929     >
76930
76931
76932
76933 {};
76934 # 87 "/usr/include/boost/iterator/detail/facade_iterator_category.hpp" 3 4
76935 template <class Traversal, class ValueParam, class Reference>
76936 struct iterator_facade_default_category
76937   : mpl::eval_if<
76938         mpl::and_<
76939             is_reference<Reference>
76940           , is_convertible<Traversal,forward_traversal_tag>
76941         >
76942       , mpl::eval_if<
76943             is_convertible<Traversal,random_access_traversal_tag>
76944           , mpl::identity<std::random_access_iterator_tag>
76945           , mpl::if_<
76946                 is_convertible<Traversal,bidirectional_traversal_tag>
76947               , std::bidirectional_iterator_tag
76948               , std::forward_iterator_tag
76949             >
76950         >
76951       , typename mpl::eval_if<
76952             mpl::and_<
76953                 is_convertible<Traversal, single_pass_traversal_tag>
76954
76955
76956               , is_convertible<Reference, ValueParam>
76957             >
76958           , mpl::identity<std::input_iterator_tag>
76959           , mpl::identity<Traversal>
76960         >
76961     >
76962 {
76963 };
76964
76965
76966 template <class T>
76967 struct is_iterator_category
76968   : mpl::or_<
76969         is_convertible<T,std::input_iterator_tag>
76970       , is_convertible<T,std::output_iterator_tag>
76971     >
76972 {
76973 };
76974
76975 template <class T>
76976 struct is_iterator_traversal
76977   : is_convertible<T,incrementable_traversal_tag>
76978 {};
76979
76980
76981
76982
76983
76984
76985
76986 template <class Category, class Traversal>
76987 struct iterator_category_with_traversal
76988   : Category, Traversal
76989 {
76990 # 154 "/usr/include/boost/iterator/detail/facade_iterator_category.hpp" 3 4
76991     typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( !(is_convertible< typename iterator_category_to_traversal<Category>::type , Traversal >::value) ) >)> boost_static_assert_typedef_158;
76992
76993
76994
76995
76996
76997     typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( is_iterator_category<Category>::value ) >)> boost_static_assert_typedef_160;
76998     typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( !is_iterator_category<Traversal>::value ) >)> boost_static_assert_typedef_161;
76999     typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( !is_iterator_traversal<Category>::value ) >)> boost_static_assert_typedef_162;
77000
77001     typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( is_iterator_traversal<Traversal>::value ) >)> boost_static_assert_typedef_164;
77002
77003
77004 };
77005
77006
77007
77008 template <class Traversal, class ValueParam, class Reference>
77009 struct facade_iterator_category_impl
77010 {
77011
77012     typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( !is_iterator_category<Traversal>::value ) >)> boost_static_assert_typedef_175;
77013
77014
77015     typedef typename iterator_facade_default_category<
77016         Traversal,ValueParam,Reference
77017     >::type category;
77018
77019     typedef typename mpl::if_<
77020         is_same<
77021             Traversal
77022           , typename iterator_category_to_traversal<category>::type
77023         >
77024       , category
77025       , iterator_category_with_traversal<category,Traversal>
77026     >::type type;
77027 };
77028
77029
77030
77031
77032 template <class CategoryOrTraversal, class ValueParam, class Reference>
77033 struct facade_iterator_category
77034   : mpl::eval_if<
77035         is_iterator_category<CategoryOrTraversal>
77036       , mpl::identity<CategoryOrTraversal>
77037       , facade_iterator_category_impl<CategoryOrTraversal,ValueParam,Reference>
77038     >
77039 {
77040 };
77041
77042 }}
77043
77044 # 1 "/usr/include/boost/iterator/detail/config_undef.hpp" 1 3 4
77045 # 14 "/usr/include/boost/iterator/detail/config_undef.hpp" 3 4
77046 #undef BOOST_NO_IS_CONVERTIBLE
77047 #undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE
77048 #undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
77049 #undef BOOST_ARG_DEPENDENT_TYPENAME
77050 #undef BOOST_NO_LVALUE_RETURN_DETECTION
77051 #undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
77052
77053
77054 #undef BOOST_ITERATOR_CONFIG_DEF
77055 # 208 "/usr/include/boost/iterator/detail/facade_iterator_category.hpp" 2 3 4
77056 # 15 "/usr/include/boost/iterator/iterator_facade.hpp" 2 3 4
77057 # 1 "/usr/include/boost/iterator/detail/enable_if.hpp" 1 3 4
77058
77059
77060
77061
77062
77063
77064
77065 #define BOOST_ENABLE_IF_23022003THW_HPP 
77066
77067
77068
77069
77070 # 1 "/usr/include/boost/iterator/detail/config_def.hpp" 1 3 4
77071 # 22 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
77072 #define BOOST_ITERATOR_CONFIG_DEF 
77073 # 45 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
77074 #define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1
77075 # 123 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
77076 #define BOOST_ARG_DEPENDENT_TYPENAME typename
77077 # 14 "/usr/include/boost/iterator/detail/enable_if.hpp" 2 3 4
77078
77079
77080
77081
77082
77083
77084
77085 namespace boost
77086 {
77087
77088   namespace iterators
77089   {
77090
77091
77092
77093     template<bool>
77094     struct enabled
77095     {
77096       template<typename T>
77097       struct base
77098       {
77099         typedef T type;
77100       };
77101     };
77102
77103
77104
77105
77106
77107
77108     template<>
77109     struct enabled<false>
77110     {
77111       template<typename T>
77112       struct base
77113       {
77114 # 62 "/usr/include/boost/iterator/detail/enable_if.hpp" 3 4
77115       };
77116     };
77117
77118
77119     template <class Cond,
77120               class Return>
77121     struct enable_if
77122
77123       : enabled<(Cond::value)>::template base<Return>
77124
77125
77126
77127     {
77128
77129
77130
77131     };
77132
77133   }
77134
77135 }
77136
77137 # 1 "/usr/include/boost/iterator/detail/config_undef.hpp" 1 3 4
77138 # 14 "/usr/include/boost/iterator/detail/config_undef.hpp" 3 4
77139 #undef BOOST_NO_IS_CONVERTIBLE
77140 #undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE
77141 #undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
77142 #undef BOOST_ARG_DEPENDENT_TYPENAME
77143 #undef BOOST_NO_LVALUE_RETURN_DETECTION
77144 #undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
77145
77146
77147 #undef BOOST_ITERATOR_CONFIG_DEF
77148 # 85 "/usr/include/boost/iterator/detail/enable_if.hpp" 2 3 4
77149 # 16 "/usr/include/boost/iterator/iterator_facade.hpp" 2 3 4
77150 # 26 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77151 # 1 "/usr/include/boost/type_traits/is_pod.hpp" 1 3 4
77152 # 27 "/usr/include/boost/iterator/iterator_facade.hpp" 2 3 4
77153
77154
77155
77156
77157
77158
77159
77160 # 1 "/usr/include/boost/mpl/apply.hpp" 1 3 4
77161 # 35 "/usr/include/boost/iterator/iterator_facade.hpp" 2 3 4
77162
77163
77164 # 1 "/usr/include/boost/iterator/detail/config_def.hpp" 1 3 4
77165 # 22 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
77166 #define BOOST_ITERATOR_CONFIG_DEF 
77167 # 45 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
77168 #define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1
77169 # 123 "/usr/include/boost/iterator/detail/config_def.hpp" 3 4
77170 #define BOOST_ARG_DEPENDENT_TYPENAME typename
77171 # 38 "/usr/include/boost/iterator/iterator_facade.hpp" 2 3 4
77172
77173 namespace boost
77174 {
77175
77176
77177   template <class I, class V, class TC, class R, class D> class iterator_facade;
77178
77179   namespace detail
77180   {
77181
77182
77183
77184     struct always_bool2
77185     {
77186         template <class T, class U>
77187         struct apply
77188         {
77189             typedef bool type;
77190         };
77191     };
77192
77193
77194
77195
77196     template <
77197         class Facade1
77198       , class Facade2
77199       , class Return
77200     >
77201     struct enable_if_interoperable
77202 # 80 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77203       : ::boost::iterators::enable_if<
77204            mpl::or_<
77205                is_convertible<Facade1, Facade2>
77206              , is_convertible<Facade2, Facade1>
77207            >
77208          , Return
77209         >
77210     {};
77211
77212
77213
77214
77215
77216
77217     template <
77218         class ValueParam
77219       , class CategoryOrTraversal
77220       , class Reference
77221       , class Difference
77222     >
77223     struct iterator_facade_types
77224     {
77225         typedef typename facade_iterator_category<
77226             CategoryOrTraversal, ValueParam, Reference
77227         >::type iterator_category;
77228
77229         typedef typename remove_const<ValueParam>::type value_type;
77230
77231         typedef typename mpl::eval_if<
77232             detail::iterator_writability_disabled<ValueParam,Reference>
77233           , add_pointer<const value_type>
77234           , add_pointer<value_type>
77235         >::type pointer;
77236 # 130 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77237     };
77238
77239
77240
77241
77242
77243
77244
77245     template <class Iterator>
77246     class postfix_increment_proxy
77247     {
77248         typedef typename iterator_value<Iterator>::type value_type;
77249      public:
77250         explicit postfix_increment_proxy(Iterator const& x)
77251           : stored_value(*x)
77252         {}
77253
77254
77255
77256
77257
77258         value_type&
77259         operator*() const
77260         {
77261             return this->stored_value;
77262         }
77263      private:
77264         mutable value_type stored_value;
77265     };
77266
77267
77268
77269
77270
77271     template <class Iterator>
77272     class writable_postfix_increment_proxy
77273     {
77274         typedef typename iterator_value<Iterator>::type value_type;
77275      public:
77276         explicit writable_postfix_increment_proxy(Iterator const& x)
77277           : stored_value(*x)
77278           , stored_iterator(x)
77279         {}
77280
77281
77282
77283
77284
77285         writable_postfix_increment_proxy const&
77286         operator*() const
77287         {
77288             return *this;
77289         }
77290
77291
77292         operator value_type&() const
77293         {
77294             return stored_value;
77295         }
77296
77297
77298         template <class T>
77299         T const& operator=(T const& x) const
77300         {
77301             *this->stored_iterator = x;
77302             return x;
77303         }
77304
77305
77306         template <class T>
77307         T& operator=(T& x) const
77308         {
77309             *this->stored_iterator = x;
77310             return x;
77311         }
77312
77313
77314         operator Iterator const&() const
77315         {
77316             return stored_iterator;
77317         }
77318
77319      private:
77320         mutable value_type stored_value;
77321         Iterator stored_iterator;
77322     };
77323 # 244 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77324     template <class Reference, class Value>
77325     struct is_non_proxy_reference
77326       : is_convertible<
77327             typename remove_reference<Reference>::type
77328             const volatile*
77329           , Value const volatile*
77330         >
77331     {};
77332 # 269 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77333     template <class Iterator, class Value, class Reference, class CategoryOrTraversal>
77334     struct postfix_increment_result
77335       : mpl::eval_if<
77336             mpl::and_<
77337
77338                 is_convertible<Reference,Value const&>
77339
77340
77341
77342               , mpl::not_<
77343                     is_convertible<
77344                         typename iterator_category_to_traversal<CategoryOrTraversal>::type
77345                       , forward_traversal_tag
77346                     >
77347                 >
77348             >
77349           , mpl::if_<
77350                 is_non_proxy_reference<Reference,Value>
77351               , postfix_increment_proxy<Iterator>
77352               , writable_postfix_increment_proxy<Iterator>
77353             >
77354           , mpl::identity<Iterator>
77355         >
77356     {};
77357
77358
77359
77360
77361
77362     template <class T>
77363     struct operator_arrow_proxy
77364     {
77365         operator_arrow_proxy(T const* px) : m_value(*px) {}
77366         const T* operator->() const { return &m_value; }
77367
77368
77369         operator const T*() const { return &m_value; }
77370         T m_value;
77371     };
77372
77373
77374
77375
77376     template <class ValueType, class Reference, class Pointer>
77377     struct operator_arrow_result
77378     {
77379
77380
77381
77382         typedef typename mpl::if_<
77383             is_reference<Reference>
77384           , Pointer
77385           , operator_arrow_proxy<ValueType>
77386         >::type type;
77387
77388         static type make(Reference x)
77389         {
77390             return implicit_cast<type>(&x);
77391         }
77392     };
77393 # 342 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77394     template <class Iterator>
77395     class operator_brackets_proxy
77396     {
77397
77398
77399         typedef typename Iterator::reference reference;
77400         typedef typename Iterator::value_type value_type;
77401
77402      public:
77403         operator_brackets_proxy(Iterator const& iter)
77404           : m_iter(iter)
77405         {}
77406
77407         operator reference() const
77408         {
77409             return *m_iter;
77410         }
77411
77412         operator_brackets_proxy& operator=(value_type const& val)
77413         {
77414             *m_iter = val;
77415             return *this;
77416         }
77417
77418      private:
77419         Iterator m_iter;
77420     };
77421
77422
77423
77424     template <class ValueType, class Reference>
77425     struct use_operator_brackets_proxy
77426       : mpl::not_<
77427             mpl::and_<
77428
77429
77430                 boost::is_POD<ValueType>
77431               , iterator_writability_disabled<ValueType,Reference>
77432             >
77433         >
77434     {};
77435
77436     template <class Iterator, class Value, class Reference>
77437     struct operator_brackets_result
77438     {
77439         typedef typename mpl::if_<
77440             use_operator_brackets_proxy<Value,Reference>
77441           , operator_brackets_proxy<Iterator>
77442           , Value
77443         >::type type;
77444     };
77445
77446     template <class Iterator>
77447     operator_brackets_proxy<Iterator> make_operator_brackets_result(Iterator const& iter, mpl::true_)
77448     {
77449         return operator_brackets_proxy<Iterator>(iter);
77450     }
77451
77452     template <class Iterator>
77453     typename Iterator::value_type make_operator_brackets_result(Iterator const& iter, mpl::false_)
77454     {
77455       return *iter;
77456     }
77457
77458     struct choose_difference_type
77459     {
77460         template <class I1, class I2>
77461         struct apply
77462           :
77463 # 420 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77464           mpl::eval_if<
77465               is_convertible<I2,I1>
77466             , iterator_difference<I1>
77467             , iterator_difference<I2>
77468           >
77469
77470         {};
77471
77472     };
77473   }
77474 # 444 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77475 #define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix,op,result_type) template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > prefix typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<result_type,Derived1,Derived2>::type >::type operator op( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs)
77476 # 458 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77477 #define BOOST_ITERATOR_FACADE_PLUS_HEAD(prefix,args) template <class Derived, class V, class TC, class R, class D> prefix Derived operator+ args
77478 # 471 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77479   class iterator_core_access
77480   {
77481
77482
77483
77484
77485
77486
77487
77488       template <class I, class V, class TC, class R, class D> friend class iterator_facade;
77489
77490 #define BOOST_ITERATOR_FACADE_RELATION(op) BOOST_ITERATOR_FACADE_INTEROP_HEAD(friend,op, detail::always_bool2);
77491
77492
77493       template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > friend typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator ==( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs);
77494       template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > friend typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator !=( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs);
77495
77496       template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > friend typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator <( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs);
77497       template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > friend typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator >( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs);
77498       template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > friend typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator <=( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs);
77499       template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > friend typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator >=( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs);
77500 #undef BOOST_ITERATOR_FACADE_RELATION
77501
77502       template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > friend typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::choose_difference_type,Derived1,Derived2>::type >::type operator -( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs)
77503
77504       ;
77505
77506       template <class Derived, class V, class TC, class R, class D> friend Derived operator+ (iterator_facade<Derived, V, TC, R, D> const& , typename Derived::difference_type)
77507
77508
77509
77510
77511       ;
77512
77513       template <class Derived, class V, class TC, class R, class D> friend Derived operator+ (typename Derived::difference_type , iterator_facade<Derived, V, TC, R, D> const&)
77514
77515
77516
77517
77518       ;
77519
77520
77521
77522       template <class Facade>
77523       static typename Facade::reference dereference(Facade const& f)
77524       {
77525           return f.dereference();
77526       }
77527
77528       template <class Facade>
77529       static void increment(Facade& f)
77530       {
77531           f.increment();
77532       }
77533
77534       template <class Facade>
77535       static void decrement(Facade& f)
77536       {
77537           f.decrement();
77538       }
77539
77540       template <class Facade1, class Facade2>
77541       static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::true_)
77542       {
77543           return f1.equal(f2);
77544       }
77545
77546       template <class Facade1, class Facade2>
77547       static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::false_)
77548       {
77549           return f2.equal(f1);
77550       }
77551
77552       template <class Facade>
77553       static void advance(Facade& f, typename Facade::difference_type n)
77554       {
77555           f.advance(n);
77556       }
77557
77558       template <class Facade1, class Facade2>
77559       static typename Facade1::difference_type distance_from(
77560           Facade1 const& f1, Facade2 const& f2, mpl::true_)
77561       {
77562           return -f1.distance_to(f2);
77563       }
77564
77565       template <class Facade1, class Facade2>
77566       static typename Facade2::difference_type distance_from(
77567           Facade1 const& f1, Facade2 const& f2, mpl::false_)
77568       {
77569           return f2.distance_to(f1);
77570       }
77571
77572
77573
77574
77575       template <class I, class V, class TC, class R, class D>
77576       static I& derived(iterator_facade<I,V,TC,R,D>& facade)
77577       {
77578           return *static_cast<I*>(&facade);
77579       }
77580
77581       template <class I, class V, class TC, class R, class D>
77582       static I const& derived(iterator_facade<I,V,TC,R,D> const& facade)
77583       {
77584           return *static_cast<I const*>(&facade);
77585       }
77586
77587    private:
77588
77589       iterator_core_access();
77590   };
77591
77592
77593
77594
77595
77596   template <
77597       class Derived
77598     , class Value
77599     , class CategoryOrTraversal
77600     , class Reference = Value&
77601     , class Difference = std::ptrdiff_t
77602   >
77603   class iterator_facade
77604
77605
77606
77607
77608
77609
77610   {
77611    private:
77612
77613
77614
77615       Derived& derived()
77616       {
77617           return *static_cast<Derived*>(this);
77618       }
77619
77620       Derived const& derived() const
77621       {
77622           return *static_cast<Derived const*>(this);
77623       }
77624
77625       typedef detail::iterator_facade_types<
77626          Value, CategoryOrTraversal, Reference, Difference
77627       > associated_types;
77628
77629    protected:
77630
77631       typedef iterator_facade<Derived,Value,Reference,Difference> iterator_facade_;
77632
77633    public:
77634
77635       typedef typename associated_types::value_type value_type;
77636       typedef Reference reference;
77637       typedef Difference difference_type;
77638       typedef typename associated_types::pointer pointer;
77639       typedef typename associated_types::iterator_category iterator_category;
77640
77641       reference operator*() const
77642       {
77643           return iterator_core_access::dereference(this->derived());
77644       }
77645
77646       typename detail::operator_arrow_result<
77647           value_type
77648         , reference
77649         , pointer
77650       >::type
77651       operator->() const
77652       {
77653           return detail::operator_arrow_result<
77654               value_type
77655             , reference
77656             , pointer
77657           >::make(*this->derived());
77658       }
77659
77660       typename detail::operator_brackets_result<Derived,Value,reference>::type
77661       operator[](difference_type n) const
77662       {
77663           typedef detail::use_operator_brackets_proxy<Value,Reference> use_proxy;
77664
77665           return detail::make_operator_brackets_result<Derived>(
77666               this->derived() + n
77667             , use_proxy()
77668           );
77669       }
77670
77671       Derived& operator++()
77672       {
77673           iterator_core_access::increment(this->derived());
77674           return this->derived();
77675       }
77676 # 680 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77677       Derived& operator--()
77678       {
77679           iterator_core_access::decrement(this->derived());
77680           return this->derived();
77681       }
77682
77683       Derived operator--(int)
77684       {
77685           Derived tmp(this->derived());
77686           --*this;
77687           return tmp;
77688       }
77689
77690       Derived& operator+=(difference_type n)
77691       {
77692           iterator_core_access::advance(this->derived(), n);
77693           return this->derived();
77694       }
77695
77696       Derived& operator-=(difference_type n)
77697       {
77698           iterator_core_access::advance(this->derived(), -n);
77699           return this->derived();
77700       }
77701
77702       Derived operator-(difference_type x) const
77703       {
77704           Derived result(this->derived());
77705           return result -= x;
77706       }
77707 # 722 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77708   };
77709
77710
77711   template <class I, class V, class TC, class R, class D>
77712   typename detail::postfix_increment_result<I,V,R,TC>::type
77713   operator++(
77714       iterator_facade<I,V,TC,R,D>& i
77715     , int
77716   )
77717   {
77718       typename detail::postfix_increment_result<I,V,R,TC>::type
77719           tmp(*static_cast<I*>(&i));
77720
77721       ++i;
77722
77723       return tmp;
77724   }
77725 # 812 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77726 #define BOOST_ITERATOR_CONVERTIBLE(a,b) is_convertible<a,b>()
77727
77728
77729 #define BOOST_ITERATOR_FACADE_INTEROP(op,result_type,return_prefix,base_op) BOOST_ITERATOR_FACADE_INTEROP_HEAD(inline, op, result_type) { BOOST_STATIC_ASSERT(( is_interoperable< Derived1, Derived2 >::value )); return_prefix iterator_core_access::base_op( *static_cast<Derived1 const*>(&lhs) , *static_cast<Derived2 const*>(&rhs) , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1) ); }
77730 # 829 "/usr/include/boost/iterator/iterator_facade.hpp" 3 4
77731 #define BOOST_ITERATOR_FACADE_RELATION(op,return_prefix,base_op) BOOST_ITERATOR_FACADE_INTEROP( op , detail::always_bool2 , return_prefix , base_op )
77732
77733
77734
77735
77736
77737
77738
77739   template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > inline typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator ==( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( ( is_interoperable< Derived1, Derived2 >::value ) ) >)> boost_static_assert_typedef_837; return iterator_core_access::equal( *static_cast<Derived1 const*>(&lhs) , *static_cast<Derived2 const*>(&rhs) , is_convertible<Derived2,Derived1>() ); }
77740   template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > inline typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator !=( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( ( is_interoperable< Derived1, Derived2 >::value ) ) >)> boost_static_assert_typedef_838; return ! iterator_core_access::equal( *static_cast<Derived1 const*>(&lhs) , *static_cast<Derived2 const*>(&rhs) , is_convertible<Derived2,Derived1>() ); }
77741
77742   template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > inline typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator <( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( ( is_interoperable< Derived1, Derived2 >::value ) ) >)> boost_static_assert_typedef_840; return 0 > iterator_core_access::distance_from( *static_cast<Derived1 const*>(&lhs) , *static_cast<Derived2 const*>(&rhs) , is_convertible<Derived2,Derived1>() ); }
77743   template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > inline typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator >( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( ( is_interoperable< Derived1, Derived2 >::value ) ) >)> boost_static_assert_typedef_841; return 0 < iterator_core_access::distance_from( *static_cast<Derived1 const*>(&lhs) , *static_cast<Derived2 const*>(&rhs) , is_convertible<Derived2,Derived1>() ); }
77744   template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > inline typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator <=( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( ( is_interoperable< Derived1, Derived2 >::value ) ) >)> boost_static_assert_typedef_842; return 0 >= iterator_core_access::distance_from( *static_cast<Derived1 const*>(&lhs) , *static_cast<Derived2 const*>(&rhs) , is_convertible<Derived2,Derived1>() ); }
77745   template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > inline typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::always_bool2,Derived1,Derived2>::type >::type operator >=( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( ( is_interoperable< Derived1, Derived2 >::value ) ) >)> boost_static_assert_typedef_843; return 0 <= iterator_core_access::distance_from( *static_cast<Derived1 const*>(&lhs) , *static_cast<Derived2 const*>(&rhs) , is_convertible<Derived2,Derived1>() ); }
77746 #undef BOOST_ITERATOR_FACADE_RELATION
77747
77748
77749   template < class Derived1, class V1, class TC1, class R1, class D1 , class Derived2, class V2, class TC2, class R2, class D2 > inline typename detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2<detail::choose_difference_type,Derived1,Derived2>::type >::type operator -( iterator_facade<Derived1, V1, TC1, R1, D1> const& lhs , iterator_facade<Derived2, V2, TC2, R2, D2> const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( ( is_interoperable< Derived1, Derived2 >::value ) ) >)> boost_static_assert_typedef_852; return iterator_core_access::distance_from( *static_cast<Derived1 const*>(&lhs) , *static_cast<Derived2 const*>(&rhs) , is_convertible<Derived2,Derived1>() ); }
77750
77751
77752
77753
77754
77755 #undef BOOST_ITERATOR_FACADE_INTEROP
77756 #undef BOOST_ITERATOR_FACADE_INTEROP_HEAD
77757
77758 #define BOOST_ITERATOR_FACADE_PLUS(args) BOOST_ITERATOR_FACADE_PLUS_HEAD(inline, args) { Derived tmp(static_cast<Derived const&>(i)); return tmp += n; }
77759
77760
77761
77762
77763
77764
77765 template <class Derived, class V, class TC, class R, class D> inline Derived operator+ ( iterator_facade<Derived, V, TC, R, D> const& i , typename Derived::difference_type n ) { Derived tmp(static_cast<Derived const&>(i)); return tmp += n; }
77766
77767
77768
77769
77770 template <class Derived, class V, class TC, class R, class D> inline Derived operator+ ( typename Derived::difference_type n , iterator_facade<Derived, V, TC, R, D> const& i ) { Derived tmp(static_cast<Derived const&>(i)); return tmp += n; }
77771
77772
77773
77774 #undef BOOST_ITERATOR_FACADE_PLUS
77775 #undef BOOST_ITERATOR_FACADE_PLUS_HEAD
77776
77777 }
77778
77779 # 1 "/usr/include/boost/iterator/detail/config_undef.hpp" 1 3 4
77780 # 14 "/usr/include/boost/iterator/detail/config_undef.hpp" 3 4
77781 #undef BOOST_NO_IS_CONVERTIBLE
77782 #undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE
77783 #undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
77784 #undef BOOST_ARG_DEPENDENT_TYPENAME
77785 #undef BOOST_NO_LVALUE_RETURN_DETECTION
77786 #undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
77787
77788
77789 #undef BOOST_ITERATOR_CONFIG_DEF
77790 # 878 "/usr/include/boost/iterator/iterator_facade.hpp" 2 3 4
77791 # 42 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp" 2
77792 # 1 "/usr/include/boost/python/detail/is_xxx.hpp" 1 3 4
77793
77794
77795
77796
77797
77798 #define IS_XXX_DWA2003224_HPP 
77799
77800 # 1 "/usr/include/boost/detail/is_xxx.hpp" 1 3 4
77801
77802
77803
77804
77805 #define BOOST_DETAIL_IS_XXX_DWA20051011_HPP 
77806 # 45 "/usr/include/boost/detail/is_xxx.hpp" 3 4
77807 #define BOOST_DETAIL_IS_XXX_DEF(name,qualified_name,nargs) template <class T> struct is_ ##name : mpl::false_ { }; template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class T) > struct is_ ##name< qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, T) > > : mpl::true_ { };
77808 # 9 "/usr/include/boost/python/detail/is_xxx.hpp" 2 3 4
77809
77810 #define BOOST_PYTHON_IS_XXX_DEF(name,qualified_name,nargs) BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs)
77811 # 43 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp" 2
77812
77813
77814 # 1 "/usr/include/boost/utility/enable_if.hpp" 1 3 4
77815 # 46 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp" 2
77816
77817
77818
77819 namespace luabind {
77820
77821 namespace detail
77822 {
77823   namespace mpl = boost::mpl;
77824
77825   template<class T, class ConverterGenerator>
77826   void push_aux(lua_State* interpreter, T& value, ConverterGenerator*)
77827   {
77828       typedef typename boost::mpl::if_<
77829           boost::is_reference_wrapper<T>
77830         , typename boost::unwrap_reference<T>::type&
77831         , T
77832       >::type unwrapped_type;
77833
77834       typename mpl::apply_wrap2<
77835           ConverterGenerator,unwrapped_type,cpp_to_lua
77836       >::type cv;
77837
77838       cv.apply(
77839           interpreter
77840         , boost::implicit_cast<
77841               typename boost::unwrap_reference<T>::type&
77842           >(value)
77843       );
77844   }
77845
77846   template<class T, class Policies>
77847   void push(lua_State* interpreter, T& value, Policies const&)
77848   {
77849       typedef typename find_conversion_policy<
77850           0
77851         , Policies
77852       >::type converter_policy;
77853
77854       push_aux(interpreter, value, (converter_policy*)0);
77855   }
77856
77857   template<class T>
77858   void push(lua_State* interpreter, T& value)
77859   {
77860       push(interpreter, value, null_type());
77861   }
77862
77863 }
77864
77865 namespace adl
77866 {
77867   namespace mpl = boost::mpl;
77868
77869   template <class T>
77870   class object_interface;
77871
77872   namespace is_object_interface_aux
77873   {
77874     typedef char (&yes)[1];
77875     typedef char (&no)[2];
77876
77877     template <class T>
77878     yes check(object_interface<T>*);
77879     no check(void*);
77880
77881     template <class T>
77882     struct impl
77883     {
77884         static const bool value = sizeof(is_object_interface_aux::check((T*)0)) == sizeof(yes);
77885
77886
77887
77888         typedef mpl::bool_<value> type;
77889     };
77890
77891   }
77892
77893   template <class T>
77894   struct is_object_interface
77895     : is_object_interface_aux::impl<T>::type
77896   {};
77897
77898   template <class R, class T, class U>
77899   struct enable_binary
77900
77901     : boost::enable_if<
77902           mpl::or_<
77903               is_object_interface<T>
77904             , is_object_interface<U>
77905           >
77906         , R
77907       >
77908   {};
77909
77910
77911
77912
77913
77914
77915   template<class T, class U>
77916   int binary_interpreter(lua_State*& L, T const& lhs, U const& rhs
77917     , boost::mpl::true_, boost::mpl::true_)
77918   {
77919        L = value_wrapper_traits<T>::interpreter(lhs);
77920    lua_State* L2 = value_wrapper_traits<U>::interpreter(rhs);
77921
77922
77923
77924    (static_cast<void> ((L == L2 || L == 0 || L2 == 0) ? 0 : (__assert_fail ("L == L2 || L == 0 || L2 == 0", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp", 154, __PRETTY_FUNCTION__), 0)));
77925
77926
77927
77928
77929        if (L != L2) return -1;
77930        if (L == 0) return 1;
77931        return 0;
77932   }
77933
77934   template<class T, class U>
77935   int binary_interpreter(lua_State*& L, T const& x, U const&
77936     , boost::mpl::true_, boost::mpl::false_)
77937   {
77938        L = value_wrapper_traits<T>::interpreter(x);
77939        return 0;
77940   }
77941
77942   template<class T, class U>
77943   int binary_interpreter(lua_State*& L, T const&, U const& x, boost::mpl::false_, boost::mpl::true_)
77944   {
77945       L = value_wrapper_traits<U>::interpreter(x);
77946       return 0;
77947   }
77948
77949   template<class T, class U>
77950   int binary_interpreter(lua_State*& L, T const& x, U const& y)
77951   {
77952       return binary_interpreter(
77953           L
77954         , x
77955         , y
77956         , is_value_wrapper<T>()
77957         , is_value_wrapper<U>()
77958       );
77959   }
77960
77961 #define LUABIND_BINARY_OP_DEF(op,fn) template<class LHS, class RHS> typename enable_binary<bool,LHS,RHS>::type operator op(LHS const& lhs, RHS const& rhs) { lua_State* L = 0; switch (binary_interpreter(L, lhs, rhs)) { case 1: return true; case -1: return false; } assert(L); detail::stack_pop pop1(L, 1); detail::push(L, lhs); detail::stack_pop pop2(L, 1); detail::push(L, rhs); return fn(L, -1, -2) != 0; }
77962 # 215 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp"
77963 template<class LHS, class RHS> typename enable_binary<bool,LHS,RHS>::type operator ==(LHS const& lhs, RHS const& rhs) { lua_State* L = 0; switch (binary_interpreter(L, lhs, rhs)) { case 1: return true; case -1: return false; } (static_cast<void> ((L) ? 0 : (__assert_fail ("L", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp", 215, __PRETTY_FUNCTION__), 0))); detail::stack_pop pop1(L, 1); detail::push(L, lhs); detail::stack_pop pop2(L, 1); detail::push(L, rhs); return lua_equal(L, -1, -2) != 0; }
77964 template<class LHS, class RHS> typename enable_binary<bool,LHS,RHS>::type operator <(LHS const& lhs, RHS const& rhs) { lua_State* L = 0; switch (binary_interpreter(L, lhs, rhs)) { case 1: return true; case -1: return false; } (static_cast<void> ((L) ? 0 : (__assert_fail ("L", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp", 216, __PRETTY_FUNCTION__), 0))); detail::stack_pop pop1(L, 1); detail::push(L, lhs); detail::stack_pop pop2(L, 1); detail::push(L, rhs); return lua_lessthan(L, -1, -2) != 0; }
77965
77966   template<class ValueWrapper>
77967   std::ostream& operator<<(std::ostream& os
77968     , object_interface<ValueWrapper> const& v)
77969   {
77970       using namespace luabind;
77971       lua_State* interpreter = value_wrapper_traits<ValueWrapper>::interpreter(
77972           static_cast<ValueWrapper const&>(v));
77973       detail::stack_pop pop(interpreter, 1);
77974       value_wrapper_traits<ValueWrapper>::unwrap(interpreter
77975         , static_cast<ValueWrapper const&>(v));
77976   char const* p = lua_tostring(interpreter, -1);
77977   int len = lua_strlen(interpreter, -1);
77978   std::copy(p, p + len, std::ostream_iterator<char>(os));
77979   return os;
77980  }
77981
77982 #undef LUABIND_BINARY_OP_DEF
77983
77984   template<class LHS, class RHS>
77985   typename enable_binary<bool,LHS,RHS>::type
77986   operator>(LHS const& lhs, RHS const& rhs)
77987   {
77988       return !(lhs < rhs || lhs == rhs);
77989   }
77990
77991   template<class LHS, class RHS>
77992   typename enable_binary<bool,LHS,RHS>::type
77993   operator<=(LHS const& lhs, RHS const& rhs)
77994   {
77995       return lhs < rhs || lhs == rhs;
77996   }
77997
77998   template<class LHS, class RHS>
77999   typename enable_binary<bool,LHS,RHS>::type
78000   operator>=(LHS const& lhs, RHS const& rhs)
78001   {
78002       return !(lhs < rhs);
78003   }
78004
78005   template<class LHS, class RHS>
78006   typename enable_binary<bool,LHS,RHS>::type
78007   operator!=(LHS const& lhs, RHS const& rhs)
78008   {
78009       return !(lhs < rhs);
78010   }
78011
78012   template<class ValueWrapper, class Arguments>
78013   struct call_proxy;
78014
78015   template<class Next>
78016   class index_proxy;
78017
78018   class object;
78019
78020   template<class Derived>
78021   class object_interface
78022   {
78023   public:
78024       ~object_interface() {}
78025
78026       call_proxy<Derived, boost::tuples::tuple<> > operator()();
78027
78028       template<class A0>
78029       call_proxy<
78030           Derived
78031         , boost::tuples::tuple<A0 const*>
78032       > operator()(A0 const& a0)
78033       {
78034           typedef boost::tuples::tuple<A0 const*> arguments;
78035
78036           return call_proxy<Derived, arguments>(
78037               derived()
78038             , arguments(&a0)
78039           );
78040       }
78041
78042       template<class A0, class A1>
78043       call_proxy<
78044           Derived
78045         , boost::tuples::tuple<A0 const*, A1 const*>
78046       > operator()(A0 const& a0, A1 const& a1)
78047       {
78048           typedef boost::tuples::tuple<A0 const*, A1 const*> arguments;
78049
78050           return call_proxy<object, arguments>(
78051               derived()
78052             , arguments(&a0, &a1)
78053           );
78054       }
78055
78056
78057 #define BOOST_PP_ITERATION_PARAMS_1 (3, (3, LUABIND_MAX_ARITY, <luabind/detail/object_call.hpp>))
78058
78059 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
78060 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
78061 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
78062 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
78063 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
78064 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
78065 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78066 #undef BOOST_PP_SLOT_TEMP_1
78067 #undef BOOST_PP_SLOT_TEMP_2
78068 #undef BOOST_PP_SLOT_TEMP_3
78069 #undef BOOST_PP_SLOT_TEMP_4
78070 #undef BOOST_PP_SLOT_TEMP_5
78071 #undef BOOST_PP_SLOT_TEMP_6
78072 #undef BOOST_PP_SLOT_TEMP_7
78073 #undef BOOST_PP_SLOT_TEMP_8
78074 #undef BOOST_PP_SLOT_TEMP_9
78075 #undef BOOST_PP_SLOT_TEMP_10
78076
78077
78078 #define BOOST_PP_SLOT_TEMP_10 0
78079 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78080 #define BOOST_PP_SLOT_TEMP_9 0
78081 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78082 #define BOOST_PP_SLOT_TEMP_8 0
78083 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78084 #define BOOST_PP_SLOT_TEMP_7 0
78085 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78086 #define BOOST_PP_SLOT_TEMP_6 0
78087 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78088 #define BOOST_PP_SLOT_TEMP_5 0
78089 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78090 #define BOOST_PP_SLOT_TEMP_4 0
78091 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78092 #define BOOST_PP_SLOT_TEMP_3 0
78093 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78094 #define BOOST_PP_SLOT_TEMP_2 0
78095 # 232 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78096 #define BOOST_PP_SLOT_TEMP_1 3
78097 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78098 #undef BOOST_PP_VALUE
78099 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
78100
78101 #undef BOOST_PP_ITERATION_START_1
78102
78103 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
78104 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
78105 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
78106 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
78107 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
78108 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
78109 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
78110 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
78111 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
78112 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
78113
78114
78115 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
78116 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
78117 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
78118 # 78 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
78119 #define BOOST_PP_ITERATION_START_1_DIGIT_1 3
78120 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
78121 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
78122 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
78123 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
78124 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
78125 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
78126 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
78127 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78128 #undef BOOST_PP_SLOT_TEMP_1
78129 #undef BOOST_PP_SLOT_TEMP_2
78130 #undef BOOST_PP_SLOT_TEMP_3
78131 #undef BOOST_PP_SLOT_TEMP_4
78132 #undef BOOST_PP_SLOT_TEMP_5
78133 #undef BOOST_PP_SLOT_TEMP_6
78134 #undef BOOST_PP_SLOT_TEMP_7
78135 #undef BOOST_PP_SLOT_TEMP_8
78136 #undef BOOST_PP_SLOT_TEMP_9
78137 #undef BOOST_PP_SLOT_TEMP_10
78138
78139
78140 #define BOOST_PP_SLOT_TEMP_10 0
78141 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78142 #define BOOST_PP_SLOT_TEMP_9 0
78143 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78144 #define BOOST_PP_SLOT_TEMP_8 0
78145 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78146 #define BOOST_PP_SLOT_TEMP_7 0
78147 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78148 #define BOOST_PP_SLOT_TEMP_6 0
78149 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78150 #define BOOST_PP_SLOT_TEMP_5 0
78151 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78152 #define BOOST_PP_SLOT_TEMP_4 0
78153 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78154 #define BOOST_PP_SLOT_TEMP_3 0
78155 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78156 #define BOOST_PP_SLOT_TEMP_2 1
78157 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78158 #define BOOST_PP_SLOT_TEMP_1 0
78159 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
78160 #undef BOOST_PP_VALUE
78161 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
78162
78163 #undef BOOST_PP_ITERATION_FINISH_1
78164
78165 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
78166 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
78167 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
78168 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
78169 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
78170 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
78171 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
78172 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
78173 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
78174 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
78175
78176
78177 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
78178 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
78179 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
78180 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
78181 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
78182 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
78183 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
78184 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
78185 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
78186
78187
78188
78189 #define BOOST_PP_ITERATION_FLAGS_1 0
78190
78191
78192
78193
78194
78195 #undef BOOST_PP_ITERATION_DEPTH
78196 #define BOOST_PP_ITERATION_DEPTH() 1
78197
78198 #define BOOST_PP_IS_ITERATING 1
78199 # 61 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
78200 #define BOOST_PP_ITERATION_1 3
78201 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 1 3 4
78202 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 3 4
78203 #define N BOOST_PP_ITERATION()
78204
78205 template< class A0 , class A1 , class A2>
78206 call_proxy<
78207     Derived
78208   , boost::tuples::tuple<
78209         A0 const* , A1 const* , A2 const*
78210     >
78211 > operator()( A0 const& a0 , A1 const& a1 , A2 const& a2)
78212 {
78213     typedef boost::tuples::tuple<
78214         A0 const* , A1 const* , A2 const*
78215     > arguments;
78216
78217     return call_proxy<Derived, arguments>(
78218         derived()
78219       , arguments( &a0 , &a1 , &a2)
78220     );
78221 }
78222
78223 #undef N
78224 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
78225 #undef BOOST_PP_ITERATION_1
78226
78227
78228 #define BOOST_PP_ITERATION_1 4
78229 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 1 3 4
78230 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 3 4
78231 #define N BOOST_PP_ITERATION()
78232
78233 template< class A0 , class A1 , class A2 , class A3>
78234 call_proxy<
78235     Derived
78236   , boost::tuples::tuple<
78237         A0 const* , A1 const* , A2 const* , A3 const*
78238     >
78239 > operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
78240 {
78241     typedef boost::tuples::tuple<
78242         A0 const* , A1 const* , A2 const* , A3 const*
78243     > arguments;
78244
78245     return call_proxy<Derived, arguments>(
78246         derived()
78247       , arguments( &a0 , &a1 , &a2 , &a3)
78248     );
78249 }
78250
78251 #undef N
78252 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
78253 #undef BOOST_PP_ITERATION_1
78254
78255
78256 #define BOOST_PP_ITERATION_1 5
78257 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 1 3 4
78258 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 3 4
78259 #define N BOOST_PP_ITERATION()
78260
78261 template< class A0 , class A1 , class A2 , class A3 , class A4>
78262 call_proxy<
78263     Derived
78264   , boost::tuples::tuple<
78265         A0 const* , A1 const* , A2 const* , A3 const* , A4 const*
78266     >
78267 > operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
78268 {
78269     typedef boost::tuples::tuple<
78270         A0 const* , A1 const* , A2 const* , A3 const* , A4 const*
78271     > arguments;
78272
78273     return call_proxy<Derived, arguments>(
78274         derived()
78275       , arguments( &a0 , &a1 , &a2 , &a3 , &a4)
78276     );
78277 }
78278
78279 #undef N
78280 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
78281 #undef BOOST_PP_ITERATION_1
78282
78283
78284 #define BOOST_PP_ITERATION_1 6
78285 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 1 3 4
78286 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 3 4
78287 #define N BOOST_PP_ITERATION()
78288
78289 template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
78290 call_proxy<
78291     Derived
78292   , boost::tuples::tuple<
78293         A0 const* , A1 const* , A2 const* , A3 const* , A4 const* , A5 const*
78294     >
78295 > operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
78296 {
78297     typedef boost::tuples::tuple<
78298         A0 const* , A1 const* , A2 const* , A3 const* , A4 const* , A5 const*
78299     > arguments;
78300
78301     return call_proxy<Derived, arguments>(
78302         derived()
78303       , arguments( &a0 , &a1 , &a2 , &a3 , &a4 , &a5)
78304     );
78305 }
78306
78307 #undef N
78308 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
78309 #undef BOOST_PP_ITERATION_1
78310
78311
78312 #define BOOST_PP_ITERATION_1 7
78313 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 1 3 4
78314 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 3 4
78315 #define N BOOST_PP_ITERATION()
78316
78317 template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
78318 call_proxy<
78319     Derived
78320   , boost::tuples::tuple<
78321         A0 const* , A1 const* , A2 const* , A3 const* , A4 const* , A5 const* , A6 const*
78322     >
78323 > operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
78324 {
78325     typedef boost::tuples::tuple<
78326         A0 const* , A1 const* , A2 const* , A3 const* , A4 const* , A5 const* , A6 const*
78327     > arguments;
78328
78329     return call_proxy<Derived, arguments>(
78330         derived()
78331       , arguments( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6)
78332     );
78333 }
78334
78335 #undef N
78336 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
78337 #undef BOOST_PP_ITERATION_1
78338
78339
78340 #define BOOST_PP_ITERATION_1 8
78341 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 1 3 4
78342 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 3 4
78343 #define N BOOST_PP_ITERATION()
78344
78345 template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
78346 call_proxy<
78347     Derived
78348   , boost::tuples::tuple<
78349         A0 const* , A1 const* , A2 const* , A3 const* , A4 const* , A5 const* , A6 const* , A7 const*
78350     >
78351 > operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
78352 {
78353     typedef boost::tuples::tuple<
78354         A0 const* , A1 const* , A2 const* , A3 const* , A4 const* , A5 const* , A6 const* , A7 const*
78355     > arguments;
78356
78357     return call_proxy<Derived, arguments>(
78358         derived()
78359       , arguments( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7)
78360     );
78361 }
78362
78363 #undef N
78364 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
78365 #undef BOOST_PP_ITERATION_1
78366
78367
78368 #define BOOST_PP_ITERATION_1 9
78369 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 1 3 4
78370 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 3 4
78371 #define N BOOST_PP_ITERATION()
78372
78373 template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
78374 call_proxy<
78375     Derived
78376   , boost::tuples::tuple<
78377         A0 const* , A1 const* , A2 const* , A3 const* , A4 const* , A5 const* , A6 const* , A7 const* , A8 const*
78378     >
78379 > operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
78380 {
78381     typedef boost::tuples::tuple<
78382         A0 const* , A1 const* , A2 const* , A3 const* , A4 const* , A5 const* , A6 const* , A7 const* , A8 const*
78383     > arguments;
78384
78385     return call_proxy<Derived, arguments>(
78386         derived()
78387       , arguments( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8)
78388     );
78389 }
78390
78391 #undef N
78392 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
78393 #undef BOOST_PP_ITERATION_1
78394
78395
78396 #define BOOST_PP_ITERATION_1 10
78397 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 1 3 4
78398 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/object_call.hpp" 3 4
78399 #define N BOOST_PP_ITERATION()
78400
78401 template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
78402 call_proxy<
78403     Derived
78404   , boost::tuples::tuple<
78405         A0 const* , A1 const* , A2 const* , A3 const* , A4 const* , A5 const* , A6 const* , A7 const* , A8 const* , A9 const*
78406     >
78407 > operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9)
78408 {
78409     typedef boost::tuples::tuple<
78410         A0 const* , A1 const* , A2 const* , A3 const* , A4 const* , A5 const* , A6 const* , A7 const* , A8 const* , A9 const*
78411     > arguments;
78412
78413     return call_proxy<Derived, arguments>(
78414         derived()
78415       , arguments( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8 , &a9)
78416     );
78417 }
78418
78419 #undef N
78420 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
78421 #undef BOOST_PP_ITERATION_1
78422 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
78423 #undef BOOST_PP_IS_ITERATING
78424
78425 #undef BOOST_PP_ITERATION_DEPTH
78426 #define BOOST_PP_ITERATION_DEPTH() 0
78427
78428 #undef BOOST_PP_ITERATION_START_1
78429 #undef BOOST_PP_ITERATION_FINISH_1
78430 #undef BOOST_PP_FILENAME_1
78431
78432 #undef BOOST_PP_ITERATION_FLAGS_1
78433 #undef BOOST_PP_ITERATION_PARAMS_1
78434 # 312 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp" 2
78435
78436   private:
78437       Derived& derived()
78438       {
78439           return *static_cast<Derived*>(this);
78440       }
78441
78442       Derived const& derived() const
78443       {
78444           return *static_cast<Derived const*>(this);
78445       }
78446   };
78447
78448
78449
78450
78451
78452   template<class AccessPolicy>
78453   class iterator_proxy
78454     : public object_interface<iterator_proxy<AccessPolicy> >
78455   {
78456   public:
78457
78458
78459
78460
78461       iterator_proxy(lua_State* interpreter, handle const& table, handle const& key)
78462         : m_interpreter(interpreter)
78463         , m_table_index(lua_gettop(interpreter) + 1)
78464         , m_key_index(m_table_index + 1)
78465       {
78466           table.push(m_interpreter);
78467           key.push(m_interpreter);
78468       }
78469
78470       iterator_proxy(iterator_proxy const& other)
78471         : m_interpreter(other.m_interpreter)
78472         , m_table_index(other.m_table_index)
78473         , m_key_index(other.m_key_index)
78474       {
78475           other.m_interpreter = 0;
78476       }
78477
78478       ~iterator_proxy()
78479       {
78480           if (m_interpreter)
78481               lua_settop(m_interpreter, -(2)-1);
78482       }
78483
78484       template<class T>
78485       iterator_proxy& operator=(T const& value)
78486       {
78487           lua_pushvalue(m_interpreter, m_key_index);
78488           detail::push(m_interpreter, value);
78489           AccessPolicy::set(m_interpreter, m_table_index);
78490           return *this;
78491       }
78492
78493       template<class Key>
78494       index_proxy<iterator_proxy<AccessPolicy> > operator[](Key const& key)
78495       {
78496           return index_proxy<iterator_proxy<AccessPolicy> >(
78497               *this, m_interpreter, key
78498           );
78499       }
78500
78501
78502       operator object();
78503
78504       lua_State* interpreter() const
78505       {
78506           return m_interpreter;
78507       }
78508
78509
78510       void push(lua_State* interpreter)
78511       {
78512           (static_cast<void> ((interpreter == m_interpreter) ? 0 : (__assert_fail ("interpreter == m_interpreter", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp", 389, __PRETTY_FUNCTION__), 0)));
78513           lua_pushvalue(m_interpreter, m_key_index);
78514           AccessPolicy::get(m_interpreter, m_table_index);
78515       }
78516
78517   private:
78518       mutable lua_State* m_interpreter;
78519       int m_table_index;
78520       int m_key_index;
78521   };
78522
78523 }
78524
78525 namespace detail
78526 {
78527   struct basic_access
78528   {
78529       static void set(lua_State* interpreter, int table)
78530       {
78531           lua_settable(interpreter, table);
78532       }
78533
78534       static void get(lua_State* interpreter, int table)
78535       {
78536           lua_gettable(interpreter, table);
78537       }
78538   };
78539
78540   struct raw_access
78541   {
78542       static void set(lua_State* interpreter, int table)
78543       {
78544           lua_rawset(interpreter, table);
78545       }
78546
78547       static void get(lua_State* interpreter, int table)
78548       {
78549           lua_rawget(interpreter, table);
78550       }
78551   };
78552
78553   template<class AccessPolicy>
78554   class basic_iterator
78555     : public boost::iterator_facade<
78556         basic_iterator<AccessPolicy>
78557       , adl::iterator_proxy<AccessPolicy>
78558       , boost::single_pass_traversal_tag
78559       , adl::iterator_proxy<AccessPolicy>
78560     >
78561   {
78562   public:
78563       basic_iterator()
78564         : m_interpreter(0)
78565       {}
78566
78567       template<class ValueWrapper>
78568       explicit basic_iterator(ValueWrapper const& value_wrapper)
78569         : m_interpreter(
78570               value_wrapper_traits<ValueWrapper>::interpreter(value_wrapper)
78571           )
78572       {
78573           detail::stack_pop pop(m_interpreter, 1);
78574           value_wrapper_traits<ValueWrapper>::unwrap(m_interpreter, value_wrapper);
78575
78576           lua_pushnil(m_interpreter);
78577           if (lua_next(m_interpreter, -2) != 0)
78578           {
78579               detail::stack_pop pop(m_interpreter, 2);
78580               handle(m_interpreter, -2).swap(m_key);
78581           }
78582           else
78583           {
78584               m_interpreter = 0;
78585               return;
78586           }
78587
78588           handle(m_interpreter, -1).swap(m_table);
78589       }
78590
78591       adl::object key() const;
78592
78593   private:
78594       friend class boost::iterator_core_access;
78595
78596       void increment()
78597       {
78598           m_table.push(m_interpreter);
78599           m_key.push(m_interpreter);
78600
78601           detail::stack_pop pop(m_interpreter, 1);
78602
78603           if (lua_next(m_interpreter, -2) != 0)
78604           {
78605               m_key.replace(m_interpreter, -2);
78606               lua_settop(m_interpreter, -(2)-1);
78607           }
78608           else
78609           {
78610               m_interpreter = 0;
78611               handle().swap(m_table);
78612               handle().swap(m_key);
78613           }
78614       }
78615
78616       bool equal(basic_iterator const& other) const
78617       {
78618           if (m_interpreter == 0 && other.m_interpreter == 0)
78619               return true;
78620
78621           if (m_interpreter != other.m_interpreter)
78622               return false;
78623
78624           detail::stack_pop pop(m_interpreter, 2);
78625           m_key.push(m_interpreter);
78626           other.m_key.push(m_interpreter);
78627           return lua_equal(m_interpreter, -2, -1) != 0;
78628       }
78629
78630       adl::iterator_proxy<AccessPolicy> dereference() const
78631       {
78632           return adl::iterator_proxy<AccessPolicy>(m_interpreter, m_table, m_key);
78633       }
78634
78635       lua_State* m_interpreter;
78636       handle m_table;
78637       handle m_key;
78638   };
78639
78640
78641
78642 #define LUABIND_OPERATOR_ADL_WKND(op) inline bool operator op( basic_iterator<basic_access> const& x , basic_iterator<basic_access> const& y) { return boost::operator op(x, y); } inline bool operator op( basic_iterator<raw_access> const& x , basic_iterator<raw_access> const& y) { return boost::operator op(x, y); }
78643 # 534 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp"
78644   inline bool operator ==( basic_iterator<basic_access> const& x , basic_iterator<basic_access> const& y) { return boost::operator ==(x, y); } inline bool operator ==( basic_iterator<raw_access> const& x , basic_iterator<raw_access> const& y) { return boost::operator ==(x, y); }
78645   inline bool operator !=( basic_iterator<basic_access> const& x , basic_iterator<basic_access> const& y) { return boost::operator !=(x, y); } inline bool operator !=( basic_iterator<raw_access> const& x , basic_iterator<raw_access> const& y) { return boost::operator !=(x, y); }
78646
78647 #undef LUABIND_OPERATOR_ADL_WKND
78648
78649 }
78650
78651 namespace adl
78652 {
78653
78654
78655
78656
78657
78658   template<class Next>
78659   class index_proxy
78660     : public object_interface<index_proxy<Next> >
78661   {
78662   public:
78663
78664
78665
78666
78667       typedef index_proxy<Next> this_type;
78668
78669       template<class Key>
78670       index_proxy(Next const& next, lua_State* interpreter, Key const& key)
78671         : m_interpreter(interpreter)
78672         , m_key_index(lua_gettop(interpreter) + 1)
78673         , m_next(next)
78674       {
78675           detail::push(m_interpreter, key);
78676       }
78677
78678       index_proxy(index_proxy const& other)
78679         : m_interpreter(other.m_interpreter)
78680         , m_key_index(other.m_key_index)
78681         , m_next(other.m_next)
78682       {
78683           other.m_interpreter = 0;
78684       }
78685
78686       ~index_proxy()
78687       {
78688           if (m_interpreter)
78689               lua_settop(m_interpreter, -(1)-1);
78690       }
78691
78692
78693       operator object();
78694
78695       template<class T>
78696       this_type& operator=(T const& value)
78697       {
78698           value_wrapper_traits<Next>::unwrap(m_interpreter, m_next);
78699           detail::stack_pop pop(m_interpreter, 1);
78700
78701           lua_pushvalue(m_interpreter, m_key_index);
78702           detail::push(m_interpreter, value);
78703           lua_settable(m_interpreter, -3);
78704           return *this;
78705       }
78706
78707       template<class T>
78708       index_proxy<this_type> operator[](T const& key)
78709       {
78710           return index_proxy<this_type>(*this, m_interpreter, key);
78711       }
78712
78713       void push(lua_State* interpreter);
78714
78715       lua_State* interpreter() const
78716       {
78717           return m_interpreter;
78718       }
78719
78720   private:
78721       this_type& operator=(index_proxy<Next> const&);
78722
78723       mutable lua_State* m_interpreter;
78724       int m_key_index;
78725
78726       Next const& m_next;
78727   };
78728
78729 }
78730
78731 typedef detail::basic_iterator<detail::basic_access> iterator;
78732 typedef detail::basic_iterator<detail::raw_access> raw_iterator;
78733
78734
78735 template<class T>
78736 struct value_wrapper_traits<adl::index_proxy<T> >
78737
78738
78739
78740
78741 {
78742     typedef boost::mpl::true_ is_specialized;
78743
78744     template<class Next>
78745     static lua_State* interpreter(adl::index_proxy<Next> const& proxy)
78746     {
78747         return proxy.interpreter();
78748     }
78749
78750     template<class Next>
78751     static void unwrap(lua_State* interpreter, adl::index_proxy<Next> const& proxy)
78752     {
78753         const_cast<adl::index_proxy<Next>&>(proxy).push(interpreter);
78754     }
78755 };
78756
78757
78758 template<class AccessPolicy>
78759 struct value_wrapper_traits<adl::iterator_proxy<AccessPolicy> >
78760
78761
78762
78763
78764 {
78765     typedef boost::mpl::true_ is_specialized;
78766
78767     template<class Proxy>
78768     static lua_State* interpreter(Proxy const& p)
78769     {
78770         return p.interpreter();
78771     }
78772
78773     template<class Proxy>
78774     static void unwrap(lua_State* interpreter, Proxy const& p)
78775     {
78776
78777         const_cast<Proxy&>(p).push(interpreter);
78778     }
78779 };
78780
78781 namespace adl
78782 {
78783   class object_init
78784   {
78785   protected:
78786       object_init()
78787       {}
78788
78789       explicit object_init(from_stack const& stack_reference, boost::mpl::true_)
78790         : m_handle(stack_reference.interpreter, stack_reference.index)
78791       {
78792       }
78793
78794       template<class ValueWrapper>
78795       explicit object_init(ValueWrapper const& value_wrapper, boost::mpl::false_)
78796       {
78797           lua_State* interpreter = value_wrapper_traits<ValueWrapper>::interpreter(
78798               value_wrapper
78799           );
78800
78801           value_wrapper_traits<ValueWrapper>::unwrap(interpreter, value_wrapper);
78802           detail::stack_pop pop(interpreter, 1);
78803
78804           handle(interpreter, -1).swap(m_handle);
78805       }
78806
78807       handle m_handle;
78808   };
78809
78810
78811
78812   class object : public object_interface<object>
78813   {
78814       struct safe_bool_type {};
78815   public:
78816       object()
78817       {}
78818
78819       explicit object(handle const& other)
78820         : m_handle(other)
78821       {}
78822
78823       explicit object(from_stack const& stack_reference)
78824         : m_handle(stack_reference.interpreter, stack_reference.index)
78825       {
78826       }
78827
78828       template<class T>
78829       object(lua_State* interpreter, T const& value)
78830       {
78831           detail::push(interpreter, value);
78832           detail::stack_pop pop(interpreter, 1);
78833           handle(interpreter, -1).swap(m_handle);
78834       }
78835
78836       template<class T, class Policies>
78837       object(lua_State* interpreter, T const& value, Policies const&)
78838       {
78839           detail::push(interpreter, value, Policies());
78840           detail::stack_pop pop(interpreter, 1);
78841           handle(interpreter, -1).swap(m_handle);
78842       }
78843
78844       void push(lua_State* interpreter) const;
78845       lua_State* interpreter() const;
78846       bool is_valid() const;
78847       operator safe_bool_type*() const;
78848
78849       template<class T>
78850       index_proxy<object> operator[](T const& key) const
78851       {
78852           return index_proxy<object>(
78853               *this, m_handle.interpreter(), key
78854           );
78855       }
78856
78857       void swap(object& other)
78858       {
78859           m_handle.swap(other.m_handle);
78860       }
78861
78862   private:
78863       handle m_handle;
78864   };
78865
78866   inline void object::push(lua_State* interpreter) const
78867   {
78868       m_handle.push(interpreter);
78869   }
78870
78871   inline lua_State* object::interpreter() const
78872   {
78873       return m_handle.interpreter();
78874   }
78875
78876   inline bool object::is_valid() const
78877   {
78878       return m_handle.interpreter() != 0;
78879   }
78880
78881   inline object::operator object::safe_bool_type*() const
78882   {
78883       return is_valid()?(safe_bool_type*)1:0;
78884   }
78885
78886 }
78887
78888 using adl::object;
78889
78890 template<>
78891 struct value_wrapper_traits<object>
78892 {
78893     typedef boost::mpl::true_ is_specialized;
78894
78895     static lua_State* interpreter(object const& value)
78896     {
78897         return value.interpreter();
78898     }
78899
78900     static void unwrap(lua_State* interpreter, object const& value)
78901     {
78902         value.push(interpreter);
78903     }
78904
78905     static bool check(...)
78906     {
78907         return true;
78908     }
78909 };
78910
78911 template<class Next>
78912 inline void adl::index_proxy<Next>::push(lua_State* interpreter)
78913 {
78914     (static_cast<void> ((interpreter == m_interpreter) ? 0 : (__assert_fail ("interpreter == m_interpreter", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp", 804, __PRETTY_FUNCTION__), 0)));
78915
78916     value_wrapper_traits<Next>::unwrap(m_interpreter, m_next);
78917
78918     lua_pushvalue(m_interpreter, m_key_index);
78919     lua_gettable(m_interpreter, -2);
78920     lua_remove(m_interpreter, -2);
78921 }
78922
78923 template<class Next>
78924 inline adl::index_proxy<Next>::operator object()
78925 {
78926     detail::stack_pop pop(m_interpreter, 1);
78927     push(m_interpreter);
78928     return object(from_stack(m_interpreter, -1));
78929 }
78930
78931 template<class AccessPolicy>
78932 adl::iterator_proxy<AccessPolicy>::operator object()
78933 {
78934     lua_pushvalue(m_interpreter, m_key_index);
78935     AccessPolicy::get(m_interpreter, m_table_index);
78936     detail::stack_pop pop(m_interpreter, 1);
78937     return object(from_stack(m_interpreter, -1));
78938 }
78939
78940 template<class AccessPolicy>
78941 object detail::basic_iterator<AccessPolicy>::key() const
78942 {
78943     return object(m_key);
78944 }
78945
78946 namespace detail
78947 {
78948
78949   template<
78950       class T
78951     , class ValueWrapper
78952     , class Policies
78953     , class ErrorPolicy
78954     , class ReturnType
78955   >
78956   ReturnType object_cast_aux(
78957       ValueWrapper const& value_wrapper
78958     , T*
78959     , Policies*
78960     , ErrorPolicy*
78961     , ReturnType*
78962   )
78963   {
78964       lua_State* interpreter = value_wrapper_traits<ValueWrapper>::interpreter(
78965           value_wrapper
78966       );
78967
78968
78969       if (!interpreter)
78970           return ErrorPolicy::handle_error(interpreter, &typeid(void));
78971
78972
78973       value_wrapper_traits<ValueWrapper>::unwrap(interpreter, value_wrapper);
78974
78975       detail::stack_pop pop(interpreter, 1);
78976
78977       typedef typename detail::find_conversion_policy<
78978           0
78979         , Policies
78980       >::type converter_generator;
78981
78982       typename mpl::apply_wrap2<converter_generator, T, lua_to_cpp>::type cv;
78983
78984
78985       if (cv.match(interpreter, luabind::detail::decorated_type<T>::get(), -1) < 0)
78986       {
78987           return ErrorPolicy::handle_error(interpreter, &typeid(T));
78988       }
78989
78990
78991       return cv.apply(interpreter, luabind::detail::decorated_type<T>::get(), -1);
78992   }
78993
78994   template<class T>
78995   struct throw_error_policy
78996   {
78997       static T handle_error(lua_State* interpreter, const std::type_info* type_info)
78998       {
78999
79000           throw cast_failed(interpreter, type_info);
79001 # 899 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp"
79002       }
79003   };
79004
79005   template<class T>
79006   struct nothrow_error_policy
79007   {
79008       static boost::optional<T> handle_error(lua_State*, const std::type_info*)
79009       {
79010           return boost::optional<T>();
79011       }
79012   };
79013
79014 }
79015
79016 template<class T, class ValueWrapper>
79017 T object_cast(ValueWrapper const& value_wrapper)
79018 {
79019     return detail::object_cast_aux(
79020         value_wrapper
79021       , (T*)0
79022       , (detail::null_type*)0
79023       , (detail::throw_error_policy<T>*)0
79024       , (T*)0
79025     );
79026 }
79027
79028 template<class T, class ValueWrapper, class Policies>
79029 T object_cast(ValueWrapper const& value_wrapper, Policies const&)
79030 {
79031     return detail::object_cast_aux(
79032         value_wrapper
79033       , (T*)0
79034       , (Policies*)0
79035       , (detail::throw_error_policy<T>*)0
79036       , (T*)0
79037     );
79038 }
79039
79040 template<class T, class ValueWrapper>
79041 boost::optional<T> object_cast_nothrow(ValueWrapper const& value_wrapper)
79042 {
79043     return detail::object_cast_aux(
79044         value_wrapper
79045       , (T*)0
79046       , (detail::null_type*)0
79047       , (detail::nothrow_error_policy<T>*)0
79048       , (boost::optional<T>*)0
79049     );
79050 }
79051
79052 template<class T, class ValueWrapper, class Policies>
79053 boost::optional<T> object_cast_nothrow(ValueWrapper const& value_wrapper, Policies const&)
79054 {
79055     return detail::object_cast_aux(
79056         value_wrapper
79057       , (T*)0
79058       , (Policies*)0
79059       , (detail::nothrow_error_policy<T>*)0
79060       , (boost::optional<T>*)0
79061     );
79062 }
79063
79064 namespace detail
79065 {
79066
79067   template<int Index>
79068   struct push_args_from_tuple
79069   {
79070       template<class H, class T, class Policies>
79071       inline static void apply(lua_State* L, const boost::tuples::cons<H, T>& x, const Policies& p)
79072       {
79073           convert_to_lua_p<Index>(L, *x.get_head(), p);
79074           push_args_from_tuple<Index+1>::apply(L, x.get_tail(), p);
79075       }
79076
79077       template<class H, class T>
79078       inline static void apply(lua_State* L, const boost::tuples::cons<H, T>& x)
79079       {
79080           convert_to_lua(L, *x.get_head());
79081           push_args_from_tuple<Index+1>::apply(L, x.get_tail());
79082       }
79083
79084       template<class Policies>
79085       inline static void apply(lua_State*, const boost::tuples::null_type&, const Policies&) {};
79086
79087       inline static void apply(lua_State*, const boost::tuples::null_type&) {};
79088   };
79089
79090 }
79091
79092 namespace adl
79093 {
79094
79095   template<class ValueWrapper, class Arguments>
79096   struct call_proxy
79097   {
79098       call_proxy(ValueWrapper& value_wrapper, Arguments arguments)
79099         : value_wrapper(&value_wrapper)
79100         , arguments(arguments)
79101       {}
79102
79103       call_proxy(call_proxy const& other)
79104         : value_wrapper(other.value_wrapper)
79105         , arguments(other.arguments)
79106       {
79107           other.value_wrapper = 0;
79108       }
79109
79110       ~call_proxy()
79111       {
79112           if (value_wrapper)
79113               call((detail::null_type*)0);
79114       }
79115
79116       operator object()
79117       {
79118           return call((detail::null_type*)0);
79119       }
79120
79121       template<class Policies>
79122       object operator[](Policies const&)
79123       {
79124           return call((Policies*)0);
79125       }
79126
79127       template<class Policies>
79128       object call(Policies*)
79129       {
79130           lua_State* interpreter = value_wrapper_traits<ValueWrapper>::interpreter(
79131               *value_wrapper
79132           );
79133
79134           value_wrapper_traits<ValueWrapper>::unwrap(
79135               interpreter
79136             , *value_wrapper
79137           );
79138
79139           value_wrapper = 0;
79140
79141           detail::push_args_from_tuple<1>::apply(interpreter, arguments, Policies());
79142
79143           if (detail::pcall(interpreter, boost::tuples::length<Arguments>::value, 1))
79144           {
79145
79146               throw luabind::error(interpreter);
79147 # 1052 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/object.hpp"
79148           }
79149
79150           detail::stack_pop pop(interpreter, 1);
79151           return object(from_stack(interpreter, -1));
79152       }
79153
79154       mutable ValueWrapper* value_wrapper;
79155       Arguments arguments;
79156   };
79157
79158   template<class Derived>
79159   call_proxy<Derived, boost::tuples::tuple<> >
79160   object_interface<Derived>::operator()()
79161   {
79162       return call_proxy<Derived, boost::tuples::tuple<> >(
79163           derived()
79164         , boost::tuples::tuple<>()
79165       );
79166   }
79167
79168 }
79169
79170 inline object newtable(lua_State* interpreter)
79171 {
79172     lua_newtable(interpreter);
79173     detail::stack_pop pop(interpreter, 1);
79174     return object(from_stack(interpreter, -1));
79175 }
79176
79177 inline object globals(lua_State* interpreter)
79178 {
79179     lua_pushvalue(interpreter, (-10001));
79180     detail::stack_pop pop(interpreter, 1);
79181     return object(from_stack(interpreter, -1));
79182 }
79183
79184 template<class ValueWrapper, class K>
79185 inline object gettable(ValueWrapper const& table, K const& key)
79186 {
79187     lua_State* interpreter = value_wrapper_traits<ValueWrapper>::interpreter(
79188         table
79189     );
79190
79191     value_wrapper_traits<ValueWrapper>::unwrap(interpreter, table);
79192     detail::stack_pop pop(interpreter, 2);
79193     detail::push(interpreter, key);
79194     lua_gettable(interpreter, -2);
79195     return object(from_stack(interpreter, -1));
79196 }
79197
79198 template<class ValueWrapper, class K, class T>
79199 inline void settable(ValueWrapper const& table, K const& key, T const& value)
79200 {
79201     lua_State* interpreter = value_wrapper_traits<ValueWrapper>::interpreter(
79202         table
79203     );
79204
79205
79206
79207     value_wrapper_traits<ValueWrapper>::unwrap(interpreter, table);
79208     detail::stack_pop pop(interpreter, 1);
79209     detail::push(interpreter, key);
79210     detail::push(interpreter, value);
79211     lua_settable(interpreter, -3);
79212 }
79213
79214 template<class ValueWrapper, class K>
79215 inline object rawget(ValueWrapper const& table, K const& key)
79216 {
79217     lua_State* interpreter = value_wrapper_traits<ValueWrapper>::interpreter(
79218         table
79219     );
79220
79221     value_wrapper_traits<ValueWrapper>::unwrap(interpreter, table);
79222     detail::stack_pop pop(interpreter, 2);
79223     detail::push(interpreter, key);
79224     lua_rawget(interpreter, -2);
79225     return object(from_stack(interpreter, -1));
79226 }
79227
79228 template<class ValueWrapper, class K, class T>
79229 inline void rawset(ValueWrapper const& table, K const& key, T const& value)
79230 {
79231     lua_State* interpreter = value_wrapper_traits<ValueWrapper>::interpreter(
79232         table
79233     );
79234
79235
79236
79237     value_wrapper_traits<ValueWrapper>::unwrap(interpreter, table);
79238     detail::stack_pop pop(interpreter, 1);
79239     detail::push(interpreter, key);
79240     detail::push(interpreter, value);
79241     lua_rawset(interpreter, -3);
79242 }
79243
79244 template<class ValueWrapper>
79245 inline int type(ValueWrapper const& value)
79246 {
79247     lua_State* interpreter = value_wrapper_traits<ValueWrapper>::interpreter(
79248         value
79249     );
79250
79251     value_wrapper_traits<ValueWrapper>::unwrap(interpreter, value);
79252     detail::stack_pop pop(interpreter, 1);
79253     return lua_type(interpreter, -1);
79254 }
79255
79256 }
79257 # 35 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 2
79258
79259
79260
79261
79262 # 1 "/usr/include/boost/preprocessor/facilities/expand.hpp" 1 3 4
79263 # 15 "/usr/include/boost/preprocessor/facilities/expand.hpp" 3 4
79264 #define BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP 
79265
79266
79267
79268
79269 #define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_I(x)
79270
79271
79272
79273
79274
79275 #define BOOST_PP_EXPAND_I(x) x
79276 # 40 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 2
79277
79278 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
79279 # 42 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 2
79280
79281 namespace luabind
79282 {
79283  namespace detail
79284  {
79285
79286   namespace mpl = boost::mpl;
79287
79288
79289    template<class Ret, class Tuple>
79290    class proxy_member_caller
79291    {
79292
79293    public:
79294
79295     proxy_member_caller(lua_State* L_, const Tuple args)
79296      : L(L_)
79297      , m_args(args)
79298      , m_called(false)
79299     {
79300     }
79301
79302     proxy_member_caller(const proxy_member_caller& rhs)
79303      : L(rhs.L)
79304      , m_args(rhs.m_args)
79305      , m_called(rhs.m_called)
79306     {
79307      rhs.m_called = true;
79308     }
79309
79310     ~proxy_member_caller()
79311     {
79312      if (m_called) return;
79313
79314      m_called = true;
79315
79316
79317
79318      int top = lua_gettop(L) - 2;
79319
79320
79321
79322
79323      push_args_from_tuple<1>::apply(L, m_args);
79324      if (pcall(L, boost::tuples::length<Tuple>::value + 1, 0))
79325      {
79326       (static_cast<void> ((lua_gettop(L) == top + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp", 88, __PRETTY_FUNCTION__), 0)));
79327
79328       throw luabind::error(L);
79329 # 99 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp"
79330      }
79331
79332      stack_pop pop(L, lua_gettop(L) - top);
79333     }
79334
79335     operator Ret()
79336     {
79337      typename mpl::apply_wrap2<default_policy,Ret,lua_to_cpp>::type converter;
79338
79339      m_called = true;
79340
79341
79342
79343      int top = lua_gettop(L) - 2;
79344
79345
79346
79347      push_args_from_tuple<1>::apply(L, m_args);
79348      if (pcall(L, boost::tuples::length<Tuple>::value + 1, 1))
79349      {
79350       (static_cast<void> ((lua_gettop(L) == top + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp", 119, __PRETTY_FUNCTION__), 0)));
79351
79352       throw luabind::error(L);
79353 # 130 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp"
79354      }
79355
79356
79357      stack_pop pop(L, lua_gettop(L) - top);
79358
79359
79360
79361      if (converter.match(L, luabind::detail::decorated_type<Ret>::get(), -1) < 0)
79362      {
79363       (static_cast<void> ((lua_gettop(L) == top + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp", 139, __PRETTY_FUNCTION__), 0)));
79364
79365       throw cast_failed(L, &typeid(Ret));
79366 # 150 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp"
79367      }
79368
79369      return converter.apply(L, luabind::detail::decorated_type<Ret>::get(), -1);
79370     }
79371
79372     template<class Policies>
79373     Ret operator[](const Policies& p)
79374     {
79375      typedef typename find_conversion_policy<0, Policies>::type converter_policy;
79376      typename mpl::apply_wrap2<converter_policy,Ret,lua_to_cpp>::type converter;
79377
79378      m_called = true;
79379
79380
79381
79382      int top = lua_gettop(L) - 2;
79383
79384
79385
79386
79387      detail::push_args_from_tuple<1>::apply(L, m_args, p);
79388      if (pcall(L, boost::tuples::length<Tuple>::value + 1, 1))
79389      {
79390       (static_cast<void> ((lua_gettop(L) == top + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp", 173, __PRETTY_FUNCTION__), 0)));
79391
79392       throw error(L);
79393 # 184 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp"
79394      }
79395
79396
79397      stack_pop pop(L, lua_gettop(L) - top);
79398
79399
79400
79401      if (converter.match(L, luabind::detail::decorated_type<Ret>::get(), -1) < 0)
79402      {
79403       (static_cast<void> ((lua_gettop(L) == top + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp", 193, __PRETTY_FUNCTION__), 0)));
79404
79405       throw cast_failed(L, &typeid(Ret));
79406 # 204 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp"
79407      }
79408
79409      return converter.apply(L, luabind::detail::decorated_type<Ret>::get(), -1);
79410     }
79411
79412    private:
79413
79414     lua_State* L;
79415     Tuple m_args;
79416     mutable bool m_called;
79417
79418    };
79419
79420
79421    template<class Tuple>
79422    class proxy_member_void_caller
79423    {
79424    friend class luabind::object;
79425    public:
79426
79427     proxy_member_void_caller(lua_State* L_, const Tuple args)
79428      : L(L_)
79429      , m_args(args)
79430      , m_called(false)
79431     {
79432     }
79433
79434     proxy_member_void_caller(const proxy_member_void_caller& rhs)
79435      : L(rhs.L)
79436      , m_args(rhs.m_args)
79437      , m_called(rhs.m_called)
79438     {
79439      rhs.m_called = true;
79440     }
79441
79442     ~proxy_member_void_caller()
79443     {
79444      if (m_called) return;
79445
79446      m_called = true;
79447
79448
79449
79450      int top = lua_gettop(L) - 2;
79451
79452
79453
79454
79455      push_args_from_tuple<1>::apply(L, m_args);
79456      if (pcall(L, boost::tuples::length<Tuple>::value + 1, 0))
79457      {
79458       (static_cast<void> ((lua_gettop(L) == top + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp", 255, __PRETTY_FUNCTION__), 0)));
79459
79460       throw luabind::error(L);
79461 # 266 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp"
79462      }
79463
79464      stack_pop pop(L, lua_gettop(L) - top);
79465     }
79466
79467     template<class Policies>
79468     void operator[](const Policies& p)
79469     {
79470      m_called = true;
79471
79472
79473
79474      int top = lua_gettop(L) - 2;
79475
79476
79477
79478
79479      detail::push_args_from_tuple<1>::apply(L, m_args, p);
79480      if (pcall(L, boost::tuples::length<Tuple>::value + 1, 0))
79481      {
79482       (static_cast<void> ((lua_gettop(L) == top + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp", 286, __PRETTY_FUNCTION__), 0)));
79483
79484       throw error(L);
79485 # 297 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp"
79486      }
79487
79488      stack_pop pop(L, lua_gettop(L) - top);
79489     }
79490
79491    private:
79492     lua_State* L;
79493     Tuple m_args;
79494     mutable bool m_called;
79495
79496    };
79497
79498  }
79499
79500 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/detail/call_member.hpp>, 1))
79501 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
79502 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
79503 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
79504 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
79505 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
79506 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
79507 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79508 #undef BOOST_PP_SLOT_TEMP_1
79509 #undef BOOST_PP_SLOT_TEMP_2
79510 #undef BOOST_PP_SLOT_TEMP_3
79511 #undef BOOST_PP_SLOT_TEMP_4
79512 #undef BOOST_PP_SLOT_TEMP_5
79513 #undef BOOST_PP_SLOT_TEMP_6
79514 #undef BOOST_PP_SLOT_TEMP_7
79515 #undef BOOST_PP_SLOT_TEMP_8
79516 #undef BOOST_PP_SLOT_TEMP_9
79517 #undef BOOST_PP_SLOT_TEMP_10
79518
79519
79520 #define BOOST_PP_SLOT_TEMP_10 0
79521 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79522 #define BOOST_PP_SLOT_TEMP_9 0
79523 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79524 #define BOOST_PP_SLOT_TEMP_8 0
79525 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79526 #define BOOST_PP_SLOT_TEMP_7 0
79527 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79528 #define BOOST_PP_SLOT_TEMP_6 0
79529 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79530 #define BOOST_PP_SLOT_TEMP_5 0
79531 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79532 #define BOOST_PP_SLOT_TEMP_4 0
79533 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79534 #define BOOST_PP_SLOT_TEMP_3 0
79535 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79536 #define BOOST_PP_SLOT_TEMP_2 0
79537 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79538 #define BOOST_PP_SLOT_TEMP_1 0
79539 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79540 #undef BOOST_PP_VALUE
79541 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
79542
79543 #undef BOOST_PP_ITERATION_START_1
79544
79545 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
79546 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
79547 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
79548 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
79549 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
79550 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
79551 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
79552 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
79553 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
79554 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
79555
79556
79557 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
79558 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
79559 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
79560 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
79561 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
79562 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
79563 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
79564 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
79565 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
79566 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
79567 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
79568 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
79569 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79570 #undef BOOST_PP_SLOT_TEMP_1
79571 #undef BOOST_PP_SLOT_TEMP_2
79572 #undef BOOST_PP_SLOT_TEMP_3
79573 #undef BOOST_PP_SLOT_TEMP_4
79574 #undef BOOST_PP_SLOT_TEMP_5
79575 #undef BOOST_PP_SLOT_TEMP_6
79576 #undef BOOST_PP_SLOT_TEMP_7
79577 #undef BOOST_PP_SLOT_TEMP_8
79578 #undef BOOST_PP_SLOT_TEMP_9
79579 #undef BOOST_PP_SLOT_TEMP_10
79580
79581
79582 #define BOOST_PP_SLOT_TEMP_10 0
79583 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79584 #define BOOST_PP_SLOT_TEMP_9 0
79585 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79586 #define BOOST_PP_SLOT_TEMP_8 0
79587 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79588 #define BOOST_PP_SLOT_TEMP_7 0
79589 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79590 #define BOOST_PP_SLOT_TEMP_6 0
79591 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79592 #define BOOST_PP_SLOT_TEMP_5 0
79593 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79594 #define BOOST_PP_SLOT_TEMP_4 0
79595 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79596 #define BOOST_PP_SLOT_TEMP_3 0
79597 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79598 #define BOOST_PP_SLOT_TEMP_2 1
79599 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79600 #define BOOST_PP_SLOT_TEMP_1 0
79601 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
79602 #undef BOOST_PP_VALUE
79603 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
79604
79605 #undef BOOST_PP_ITERATION_FINISH_1
79606
79607 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
79608 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
79609 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
79610 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
79611 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
79612 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
79613 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
79614 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
79615 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
79616 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
79617
79618
79619 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
79620 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
79621 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
79622 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
79623 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
79624 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
79625 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
79626 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
79627 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
79628
79629 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
79630
79631
79632
79633
79634
79635
79636
79637 #undef BOOST_PP_ITERATION_DEPTH
79638 #define BOOST_PP_ITERATION_DEPTH() 1
79639
79640 #define BOOST_PP_IS_ITERATING 1
79641
79642
79643
79644
79645
79646 #define BOOST_PP_ITERATION_1 0
79647 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1 3 4
79648 # 320 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 3 4
79649 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
79650 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
79651
79652  template<class R >
79653  typename boost::mpl::if_<boost::is_void<R>
79654    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple<> >
79655    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple<> > >::type
79656  call_member(object const& obj, const char* name )
79657  {
79658   typedef boost::tuples::tuple<> tuple_t;
79659
79660   tuple_t args;
79661
79662
79663
79664
79665   typedef typename boost::mpl::if_<boost::is_void<R>
79666    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple<> >
79667    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple<> > >::type proxy_type;
79668
79669
79670
79671
79672
79673   obj.push(obj.interpreter());
79674   lua_pushstring(obj.interpreter(), name);
79675   lua_gettable(obj.interpreter(), -2);
79676
79677   lua_pushvalue(obj.interpreter(), -2);
79678
79679   lua_remove(obj.interpreter(), -3);
79680
79681
79682
79683
79684   return proxy_type(obj.interpreter(), args);
79685  }
79686
79687 #undef LUABIND_OPERATOR_PARAMS
79688 #undef LUABIND_TUPLE_PARAMS
79689 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
79690 #undef BOOST_PP_ITERATION_1
79691
79692
79693 #define BOOST_PP_ITERATION_1 1
79694 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1 3 4
79695 # 320 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 3 4
79696 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
79697 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
79698
79699  template<class R , class A0>
79700  typename boost::mpl::if_<boost::is_void<R>
79701    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 *> >
79702    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 *> > >::type
79703  call_member(object const& obj, const char* name , const A0 & a0)
79704  {
79705   typedef boost::tuples::tuple< const A0 *> tuple_t;
79706
79707
79708
79709   tuple_t args( &a0);
79710
79711
79712   typedef typename boost::mpl::if_<boost::is_void<R>
79713    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 *> >
79714    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 *> > >::type proxy_type;
79715
79716
79717
79718
79719
79720   obj.push(obj.interpreter());
79721   lua_pushstring(obj.interpreter(), name);
79722   lua_gettable(obj.interpreter(), -2);
79723
79724   lua_pushvalue(obj.interpreter(), -2);
79725
79726   lua_remove(obj.interpreter(), -3);
79727
79728
79729
79730
79731   return proxy_type(obj.interpreter(), args);
79732  }
79733
79734 #undef LUABIND_OPERATOR_PARAMS
79735 #undef LUABIND_TUPLE_PARAMS
79736 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
79737 #undef BOOST_PP_ITERATION_1
79738
79739
79740 #define BOOST_PP_ITERATION_1 2
79741 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1 3 4
79742 # 320 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 3 4
79743 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
79744 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
79745
79746  template<class R , class A0 , class A1>
79747  typename boost::mpl::if_<boost::is_void<R>
79748    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
79749    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 *> > >::type
79750  call_member(object const& obj, const char* name , const A0 & a0 , const A1 & a1)
79751  {
79752   typedef boost::tuples::tuple< const A0 * , const A1 *> tuple_t;
79753
79754
79755
79756   tuple_t args( &a0 , &a1);
79757
79758
79759   typedef typename boost::mpl::if_<boost::is_void<R>
79760    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
79761    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 *> > >::type proxy_type;
79762
79763
79764
79765
79766
79767   obj.push(obj.interpreter());
79768   lua_pushstring(obj.interpreter(), name);
79769   lua_gettable(obj.interpreter(), -2);
79770
79771   lua_pushvalue(obj.interpreter(), -2);
79772
79773   lua_remove(obj.interpreter(), -3);
79774
79775
79776
79777
79778   return proxy_type(obj.interpreter(), args);
79779  }
79780
79781 #undef LUABIND_OPERATOR_PARAMS
79782 #undef LUABIND_TUPLE_PARAMS
79783 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
79784 #undef BOOST_PP_ITERATION_1
79785
79786
79787 #define BOOST_PP_ITERATION_1 3
79788 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1 3 4
79789 # 320 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 3 4
79790 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
79791 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
79792
79793  template<class R , class A0 , class A1 , class A2>
79794  typename boost::mpl::if_<boost::is_void<R>
79795    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
79796    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type
79797  call_member(object const& obj, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2)
79798  {
79799   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 *> tuple_t;
79800
79801
79802
79803   tuple_t args( &a0 , &a1 , &a2);
79804
79805
79806   typedef typename boost::mpl::if_<boost::is_void<R>
79807    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
79808    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type proxy_type;
79809
79810
79811
79812
79813
79814   obj.push(obj.interpreter());
79815   lua_pushstring(obj.interpreter(), name);
79816   lua_gettable(obj.interpreter(), -2);
79817
79818   lua_pushvalue(obj.interpreter(), -2);
79819
79820   lua_remove(obj.interpreter(), -3);
79821
79822
79823
79824
79825   return proxy_type(obj.interpreter(), args);
79826  }
79827
79828 #undef LUABIND_OPERATOR_PARAMS
79829 #undef LUABIND_TUPLE_PARAMS
79830 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
79831 #undef BOOST_PP_ITERATION_1
79832
79833
79834 #define BOOST_PP_ITERATION_1 4
79835 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1 3 4
79836 # 320 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 3 4
79837 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
79838 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
79839
79840  template<class R , class A0 , class A1 , class A2 , class A3>
79841  typename boost::mpl::if_<boost::is_void<R>
79842    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
79843    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type
79844  call_member(object const& obj, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3)
79845  {
79846   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> tuple_t;
79847
79848
79849
79850   tuple_t args( &a0 , &a1 , &a2 , &a3);
79851
79852
79853   typedef typename boost::mpl::if_<boost::is_void<R>
79854    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
79855    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type proxy_type;
79856
79857
79858
79859
79860
79861   obj.push(obj.interpreter());
79862   lua_pushstring(obj.interpreter(), name);
79863   lua_gettable(obj.interpreter(), -2);
79864
79865   lua_pushvalue(obj.interpreter(), -2);
79866
79867   lua_remove(obj.interpreter(), -3);
79868
79869
79870
79871
79872   return proxy_type(obj.interpreter(), args);
79873  }
79874
79875 #undef LUABIND_OPERATOR_PARAMS
79876 #undef LUABIND_TUPLE_PARAMS
79877 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
79878 #undef BOOST_PP_ITERATION_1
79879
79880
79881 #define BOOST_PP_ITERATION_1 5
79882 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1 3 4
79883 # 320 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 3 4
79884 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
79885 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
79886
79887  template<class R , class A0 , class A1 , class A2 , class A3 , class A4>
79888  typename boost::mpl::if_<boost::is_void<R>
79889    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
79890    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type
79891  call_member(object const& obj, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4)
79892  {
79893   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> tuple_t;
79894
79895
79896
79897   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4);
79898
79899
79900   typedef typename boost::mpl::if_<boost::is_void<R>
79901    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
79902    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type proxy_type;
79903
79904
79905
79906
79907
79908   obj.push(obj.interpreter());
79909   lua_pushstring(obj.interpreter(), name);
79910   lua_gettable(obj.interpreter(), -2);
79911
79912   lua_pushvalue(obj.interpreter(), -2);
79913
79914   lua_remove(obj.interpreter(), -3);
79915
79916
79917
79918
79919   return proxy_type(obj.interpreter(), args);
79920  }
79921
79922 #undef LUABIND_OPERATOR_PARAMS
79923 #undef LUABIND_TUPLE_PARAMS
79924 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
79925 #undef BOOST_PP_ITERATION_1
79926
79927
79928 #define BOOST_PP_ITERATION_1 6
79929 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1 3 4
79930 # 320 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 3 4
79931 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
79932 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
79933
79934  template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
79935  typename boost::mpl::if_<boost::is_void<R>
79936    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
79937    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type
79938  call_member(object const& obj, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5)
79939  {
79940   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> tuple_t;
79941
79942
79943
79944   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5);
79945
79946
79947   typedef typename boost::mpl::if_<boost::is_void<R>
79948    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
79949    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type proxy_type;
79950
79951
79952
79953
79954
79955   obj.push(obj.interpreter());
79956   lua_pushstring(obj.interpreter(), name);
79957   lua_gettable(obj.interpreter(), -2);
79958
79959   lua_pushvalue(obj.interpreter(), -2);
79960
79961   lua_remove(obj.interpreter(), -3);
79962
79963
79964
79965
79966   return proxy_type(obj.interpreter(), args);
79967  }
79968
79969 #undef LUABIND_OPERATOR_PARAMS
79970 #undef LUABIND_TUPLE_PARAMS
79971 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
79972 #undef BOOST_PP_ITERATION_1
79973
79974
79975 #define BOOST_PP_ITERATION_1 7
79976 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1 3 4
79977 # 320 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 3 4
79978 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
79979 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
79980
79981  template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
79982  typename boost::mpl::if_<boost::is_void<R>
79983    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
79984    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type
79985  call_member(object const& obj, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6)
79986  {
79987   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> tuple_t;
79988
79989
79990
79991   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6);
79992
79993
79994   typedef typename boost::mpl::if_<boost::is_void<R>
79995    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
79996    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type proxy_type;
79997
79998
79999
80000
80001
80002   obj.push(obj.interpreter());
80003   lua_pushstring(obj.interpreter(), name);
80004   lua_gettable(obj.interpreter(), -2);
80005
80006   lua_pushvalue(obj.interpreter(), -2);
80007
80008   lua_remove(obj.interpreter(), -3);
80009
80010
80011
80012
80013   return proxy_type(obj.interpreter(), args);
80014  }
80015
80016 #undef LUABIND_OPERATOR_PARAMS
80017 #undef LUABIND_TUPLE_PARAMS
80018 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80019 #undef BOOST_PP_ITERATION_1
80020
80021
80022 #define BOOST_PP_ITERATION_1 8
80023 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1 3 4
80024 # 320 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 3 4
80025 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80026 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80027
80028  template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
80029  typename boost::mpl::if_<boost::is_void<R>
80030    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
80031    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type
80032  call_member(object const& obj, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7)
80033  {
80034   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> tuple_t;
80035
80036
80037
80038   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7);
80039
80040
80041   typedef typename boost::mpl::if_<boost::is_void<R>
80042    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
80043    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type proxy_type;
80044
80045
80046
80047
80048
80049   obj.push(obj.interpreter());
80050   lua_pushstring(obj.interpreter(), name);
80051   lua_gettable(obj.interpreter(), -2);
80052
80053   lua_pushvalue(obj.interpreter(), -2);
80054
80055   lua_remove(obj.interpreter(), -3);
80056
80057
80058
80059
80060   return proxy_type(obj.interpreter(), args);
80061  }
80062
80063 #undef LUABIND_OPERATOR_PARAMS
80064 #undef LUABIND_TUPLE_PARAMS
80065 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80066 #undef BOOST_PP_ITERATION_1
80067
80068
80069 #define BOOST_PP_ITERATION_1 9
80070 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1 3 4
80071 # 320 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 3 4
80072 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80073 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80074
80075  template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
80076  typename boost::mpl::if_<boost::is_void<R>
80077    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
80078    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type
80079  call_member(object const& obj, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8)
80080  {
80081   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> tuple_t;
80082
80083
80084
80085   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8);
80086
80087
80088   typedef typename boost::mpl::if_<boost::is_void<R>
80089    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
80090    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type proxy_type;
80091
80092
80093
80094
80095
80096   obj.push(obj.interpreter());
80097   lua_pushstring(obj.interpreter(), name);
80098   lua_gettable(obj.interpreter(), -2);
80099
80100   lua_pushvalue(obj.interpreter(), -2);
80101
80102   lua_remove(obj.interpreter(), -3);
80103
80104
80105
80106
80107   return proxy_type(obj.interpreter(), args);
80108  }
80109
80110 #undef LUABIND_OPERATOR_PARAMS
80111 #undef LUABIND_TUPLE_PARAMS
80112 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80113 #undef BOOST_PP_ITERATION_1
80114
80115
80116 #define BOOST_PP_ITERATION_1 10
80117 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1 3 4
80118 # 320 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 3 4
80119 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80120 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80121
80122  template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
80123  typename boost::mpl::if_<boost::is_void<R>
80124    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
80125    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type
80126  call_member(object const& obj, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 , const A9 & a9)
80127  {
80128   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> tuple_t;
80129
80130
80131
80132   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8 , &a9);
80133
80134
80135   typedef typename boost::mpl::if_<boost::is_void<R>
80136    , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
80137    , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type proxy_type;
80138
80139
80140
80141
80142
80143   obj.push(obj.interpreter());
80144   lua_pushstring(obj.interpreter(), name);
80145   lua_gettable(obj.interpreter(), -2);
80146
80147   lua_pushvalue(obj.interpreter(), -2);
80148
80149   lua_remove(obj.interpreter(), -3);
80150
80151
80152
80153
80154   return proxy_type(obj.interpreter(), args);
80155  }
80156
80157 #undef LUABIND_OPERATOR_PARAMS
80158 #undef LUABIND_TUPLE_PARAMS
80159 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80160 #undef BOOST_PP_ITERATION_1
80161 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
80162 #undef BOOST_PP_IS_ITERATING
80163
80164 #undef BOOST_PP_ITERATION_DEPTH
80165 #define BOOST_PP_ITERATION_DEPTH() 0
80166
80167 #undef BOOST_PP_ITERATION_START_1
80168 #undef BOOST_PP_ITERATION_FINISH_1
80169 #undef BOOST_PP_FILENAME_1
80170
80171 #undef BOOST_PP_ITERATION_FLAGS_1
80172 #undef BOOST_PP_ITERATION_PARAMS_1
80173 # 313 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 2
80174
80175 }
80176 # 32 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 2
80177
80178 # 1 "/usr/include/boost/preprocessor/repetition/enum_trailing_params.hpp" 1 3 4
80179 # 13 "/usr/include/boost/preprocessor/repetition/enum_trailing_params.hpp" 3 4
80180 #define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP 
80181
80182
80183
80184
80185
80186
80187
80188 #define BOOST_PP_ENUM_TRAILING_PARAMS(count,param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
80189
80190
80191
80192
80193
80194 #define BOOST_PP_ENUM_TRAILING_PARAMS_M(z,n,param) , param ## n
80195
80196
80197
80198
80199 #define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z,count,param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
80200 # 34 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 2
80201 # 1 "/usr/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp" 1 3 4
80202 # 13 "/usr/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp" 3 4
80203 #define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_BINARY_PARAMS_HPP 
80204 # 24 "/usr/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp" 3 4
80205 #define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(count,p1,p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2))
80206
80207
80208
80209
80210
80211
80212 #define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M(z,n,pp) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_IM(z, n, BOOST_PP_TUPLE_REM_2 pp)
80213 #define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_IM(z,n,im) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z, n, im)
80214
80215
80216
80217
80218
80219 #define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z,n,p1,p2) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_II(z, n, p1, p2)
80220 #define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_II(z,n,p1,p2) , p1 ## n p2 ## n
80221
80222
80223
80224
80225
80226
80227
80228 #define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z,count,p1,p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2))
80229 # 35 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 2
80230
80231 namespace luabind
80232 {
80233  namespace detail
80234  {
80235   struct wrap_access;
80236
80237
80238
80239
80240
80241
80242
80243   void do_call_member_selection(lua_State* L, char const* name);
80244  }
80245
80246  struct wrapped_self_t: weak_ref
80247  {
80248   detail::lua_reference m_strong_ref;
80249  };
80250
80251  struct wrap_base
80252  {
80253   friend struct detail::wrap_access;
80254   wrap_base() {}
80255
80256 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/wrapper_base.hpp>, 1))
80257 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
80258 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
80259 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
80260 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
80261 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
80262 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
80263 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80264 #undef BOOST_PP_SLOT_TEMP_1
80265 #undef BOOST_PP_SLOT_TEMP_2
80266 #undef BOOST_PP_SLOT_TEMP_3
80267 #undef BOOST_PP_SLOT_TEMP_4
80268 #undef BOOST_PP_SLOT_TEMP_5
80269 #undef BOOST_PP_SLOT_TEMP_6
80270 #undef BOOST_PP_SLOT_TEMP_7
80271 #undef BOOST_PP_SLOT_TEMP_8
80272 #undef BOOST_PP_SLOT_TEMP_9
80273 #undef BOOST_PP_SLOT_TEMP_10
80274
80275
80276 #define BOOST_PP_SLOT_TEMP_10 0
80277 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80278 #define BOOST_PP_SLOT_TEMP_9 0
80279 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80280 #define BOOST_PP_SLOT_TEMP_8 0
80281 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80282 #define BOOST_PP_SLOT_TEMP_7 0
80283 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80284 #define BOOST_PP_SLOT_TEMP_6 0
80285 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80286 #define BOOST_PP_SLOT_TEMP_5 0
80287 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80288 #define BOOST_PP_SLOT_TEMP_4 0
80289 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80290 #define BOOST_PP_SLOT_TEMP_3 0
80291 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80292 #define BOOST_PP_SLOT_TEMP_2 0
80293 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80294 #define BOOST_PP_SLOT_TEMP_1 0
80295 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80296 #undef BOOST_PP_VALUE
80297 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
80298
80299 #undef BOOST_PP_ITERATION_START_1
80300
80301 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
80302 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
80303 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
80304 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
80305 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
80306 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
80307 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
80308 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
80309 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
80310 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
80311
80312
80313 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
80314 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
80315 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
80316 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
80317 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
80318 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
80319 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
80320 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80321 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
80322 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
80323 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
80324 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
80325 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80326 #undef BOOST_PP_SLOT_TEMP_1
80327 #undef BOOST_PP_SLOT_TEMP_2
80328 #undef BOOST_PP_SLOT_TEMP_3
80329 #undef BOOST_PP_SLOT_TEMP_4
80330 #undef BOOST_PP_SLOT_TEMP_5
80331 #undef BOOST_PP_SLOT_TEMP_6
80332 #undef BOOST_PP_SLOT_TEMP_7
80333 #undef BOOST_PP_SLOT_TEMP_8
80334 #undef BOOST_PP_SLOT_TEMP_9
80335 #undef BOOST_PP_SLOT_TEMP_10
80336
80337
80338 #define BOOST_PP_SLOT_TEMP_10 0
80339 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80340 #define BOOST_PP_SLOT_TEMP_9 0
80341 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80342 #define BOOST_PP_SLOT_TEMP_8 0
80343 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80344 #define BOOST_PP_SLOT_TEMP_7 0
80345 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80346 #define BOOST_PP_SLOT_TEMP_6 0
80347 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80348 #define BOOST_PP_SLOT_TEMP_5 0
80349 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80350 #define BOOST_PP_SLOT_TEMP_4 0
80351 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80352 #define BOOST_PP_SLOT_TEMP_3 0
80353 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80354 #define BOOST_PP_SLOT_TEMP_2 1
80355 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80356 #define BOOST_PP_SLOT_TEMP_1 0
80357 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80358 #undef BOOST_PP_VALUE
80359 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
80360
80361 #undef BOOST_PP_ITERATION_FINISH_1
80362
80363 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
80364 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
80365 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
80366 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
80367 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
80368 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
80369 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
80370 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
80371 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
80372 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
80373
80374
80375 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
80376 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
80377 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
80378 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
80379 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
80380 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
80381 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
80382 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80383 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
80384
80385 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
80386
80387
80388
80389
80390
80391
80392
80393 #undef BOOST_PP_ITERATION_DEPTH
80394 #define BOOST_PP_ITERATION_DEPTH() 1
80395
80396 #define BOOST_PP_IS_ITERATING 1
80397
80398
80399
80400
80401
80402 #define BOOST_PP_ITERATION_1 0
80403 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
80404 # 92 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80405 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80406 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80407
80408  template<class R >
80409   typename boost::mpl::if_<boost::is_void<R>
80410     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple<> >
80411     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple<> > >::type
80412     call(char const* name , detail::type_<R>* = 0) const
80413   {
80414    typedef boost::tuples::tuple<> tuple_t;
80415
80416    tuple_t args;
80417
80418
80419
80420
80421    typedef typename boost::mpl::if_<boost::is_void<R>
80422     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple<> >
80423     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple<> > >::type proxy_type;
80424 # 120 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80425    lua_State* L = m_self.state();
80426    m_self.get(L);
80427    (static_cast<void> ((!(lua_type(L,-1) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,-1) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp", 122, __PRETTY_FUNCTION__), 0)));
80428    detail::do_call_member_selection(L, name);
80429
80430
80431    m_self.get(L);
80432
80433
80434
80435
80436    return proxy_type(L, args);
80437   }
80438
80439 #undef LUABIND_CALL_MEMBER_NAME
80440 #undef LUABIND_OPERATOR_PARAMS
80441 #undef LUABIND_TUPLE_PARAMS
80442 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80443 #undef BOOST_PP_ITERATION_1
80444
80445
80446 #define BOOST_PP_ITERATION_1 1
80447 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
80448 # 92 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80449 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80450 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80451
80452  template<class R , class A0>
80453   typename boost::mpl::if_<boost::is_void<R>
80454     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 *> >
80455     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 *> > >::type
80456     call(char const* name , const A0 & a0, detail::type_<R>* = 0) const
80457   {
80458    typedef boost::tuples::tuple< const A0 *> tuple_t;
80459
80460
80461
80462    tuple_t args( &a0);
80463
80464
80465    typedef typename boost::mpl::if_<boost::is_void<R>
80466     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 *> >
80467     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 *> > >::type proxy_type;
80468 # 120 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80469    lua_State* L = m_self.state();
80470    m_self.get(L);
80471    (static_cast<void> ((!(lua_type(L,-1) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,-1) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp", 122, __PRETTY_FUNCTION__), 0)));
80472    detail::do_call_member_selection(L, name);
80473
80474
80475    m_self.get(L);
80476
80477
80478
80479
80480    return proxy_type(L, args);
80481   }
80482
80483 #undef LUABIND_CALL_MEMBER_NAME
80484 #undef LUABIND_OPERATOR_PARAMS
80485 #undef LUABIND_TUPLE_PARAMS
80486 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80487 #undef BOOST_PP_ITERATION_1
80488
80489
80490 #define BOOST_PP_ITERATION_1 2
80491 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
80492 # 92 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80493 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80494 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80495
80496  template<class R , class A0 , class A1>
80497   typename boost::mpl::if_<boost::is_void<R>
80498     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
80499     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 *> > >::type
80500     call(char const* name , const A0 & a0 , const A1 & a1, detail::type_<R>* = 0) const
80501   {
80502    typedef boost::tuples::tuple< const A0 * , const A1 *> tuple_t;
80503
80504
80505
80506    tuple_t args( &a0 , &a1);
80507
80508
80509    typedef typename boost::mpl::if_<boost::is_void<R>
80510     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
80511     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 *> > >::type proxy_type;
80512 # 120 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80513    lua_State* L = m_self.state();
80514    m_self.get(L);
80515    (static_cast<void> ((!(lua_type(L,-1) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,-1) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp", 122, __PRETTY_FUNCTION__), 0)));
80516    detail::do_call_member_selection(L, name);
80517
80518
80519    m_self.get(L);
80520
80521
80522
80523
80524    return proxy_type(L, args);
80525   }
80526
80527 #undef LUABIND_CALL_MEMBER_NAME
80528 #undef LUABIND_OPERATOR_PARAMS
80529 #undef LUABIND_TUPLE_PARAMS
80530 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80531 #undef BOOST_PP_ITERATION_1
80532
80533
80534 #define BOOST_PP_ITERATION_1 3
80535 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
80536 # 92 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80537 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80538 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80539
80540  template<class R , class A0 , class A1 , class A2>
80541   typename boost::mpl::if_<boost::is_void<R>
80542     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
80543     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type
80544     call(char const* name , const A0 & a0 , const A1 & a1 , const A2 & a2, detail::type_<R>* = 0) const
80545   {
80546    typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 *> tuple_t;
80547
80548
80549
80550    tuple_t args( &a0 , &a1 , &a2);
80551
80552
80553    typedef typename boost::mpl::if_<boost::is_void<R>
80554     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
80555     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type proxy_type;
80556 # 120 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80557    lua_State* L = m_self.state();
80558    m_self.get(L);
80559    (static_cast<void> ((!(lua_type(L,-1) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,-1) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp", 122, __PRETTY_FUNCTION__), 0)));
80560    detail::do_call_member_selection(L, name);
80561
80562
80563    m_self.get(L);
80564
80565
80566
80567
80568    return proxy_type(L, args);
80569   }
80570
80571 #undef LUABIND_CALL_MEMBER_NAME
80572 #undef LUABIND_OPERATOR_PARAMS
80573 #undef LUABIND_TUPLE_PARAMS
80574 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80575 #undef BOOST_PP_ITERATION_1
80576
80577
80578 #define BOOST_PP_ITERATION_1 4
80579 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
80580 # 92 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80581 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80582 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80583
80584  template<class R , class A0 , class A1 , class A2 , class A3>
80585   typename boost::mpl::if_<boost::is_void<R>
80586     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
80587     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type
80588     call(char const* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3, detail::type_<R>* = 0) const
80589   {
80590    typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> tuple_t;
80591
80592
80593
80594    tuple_t args( &a0 , &a1 , &a2 , &a3);
80595
80596
80597    typedef typename boost::mpl::if_<boost::is_void<R>
80598     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
80599     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type proxy_type;
80600 # 120 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80601    lua_State* L = m_self.state();
80602    m_self.get(L);
80603    (static_cast<void> ((!(lua_type(L,-1) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,-1) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp", 122, __PRETTY_FUNCTION__), 0)));
80604    detail::do_call_member_selection(L, name);
80605
80606
80607    m_self.get(L);
80608
80609
80610
80611
80612    return proxy_type(L, args);
80613   }
80614
80615 #undef LUABIND_CALL_MEMBER_NAME
80616 #undef LUABIND_OPERATOR_PARAMS
80617 #undef LUABIND_TUPLE_PARAMS
80618 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80619 #undef BOOST_PP_ITERATION_1
80620
80621
80622 #define BOOST_PP_ITERATION_1 5
80623 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
80624 # 92 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80625 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80626 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80627
80628  template<class R , class A0 , class A1 , class A2 , class A3 , class A4>
80629   typename boost::mpl::if_<boost::is_void<R>
80630     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
80631     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type
80632     call(char const* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4, detail::type_<R>* = 0) const
80633   {
80634    typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> tuple_t;
80635
80636
80637
80638    tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4);
80639
80640
80641    typedef typename boost::mpl::if_<boost::is_void<R>
80642     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
80643     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type proxy_type;
80644 # 120 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80645    lua_State* L = m_self.state();
80646    m_self.get(L);
80647    (static_cast<void> ((!(lua_type(L,-1) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,-1) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp", 122, __PRETTY_FUNCTION__), 0)));
80648    detail::do_call_member_selection(L, name);
80649
80650
80651    m_self.get(L);
80652
80653
80654
80655
80656    return proxy_type(L, args);
80657   }
80658
80659 #undef LUABIND_CALL_MEMBER_NAME
80660 #undef LUABIND_OPERATOR_PARAMS
80661 #undef LUABIND_TUPLE_PARAMS
80662 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80663 #undef BOOST_PP_ITERATION_1
80664
80665
80666 #define BOOST_PP_ITERATION_1 6
80667 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
80668 # 92 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80669 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80670 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80671
80672  template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
80673   typename boost::mpl::if_<boost::is_void<R>
80674     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
80675     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type
80676     call(char const* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5, detail::type_<R>* = 0) const
80677   {
80678    typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> tuple_t;
80679
80680
80681
80682    tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5);
80683
80684
80685    typedef typename boost::mpl::if_<boost::is_void<R>
80686     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
80687     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type proxy_type;
80688 # 120 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80689    lua_State* L = m_self.state();
80690    m_self.get(L);
80691    (static_cast<void> ((!(lua_type(L,-1) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,-1) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp", 122, __PRETTY_FUNCTION__), 0)));
80692    detail::do_call_member_selection(L, name);
80693
80694
80695    m_self.get(L);
80696
80697
80698
80699
80700    return proxy_type(L, args);
80701   }
80702
80703 #undef LUABIND_CALL_MEMBER_NAME
80704 #undef LUABIND_OPERATOR_PARAMS
80705 #undef LUABIND_TUPLE_PARAMS
80706 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80707 #undef BOOST_PP_ITERATION_1
80708
80709
80710 #define BOOST_PP_ITERATION_1 7
80711 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
80712 # 92 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80713 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80714 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80715
80716  template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
80717   typename boost::mpl::if_<boost::is_void<R>
80718     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
80719     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type
80720     call(char const* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6, detail::type_<R>* = 0) const
80721   {
80722    typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> tuple_t;
80723
80724
80725
80726    tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6);
80727
80728
80729    typedef typename boost::mpl::if_<boost::is_void<R>
80730     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
80731     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type proxy_type;
80732 # 120 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80733    lua_State* L = m_self.state();
80734    m_self.get(L);
80735    (static_cast<void> ((!(lua_type(L,-1) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,-1) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp", 122, __PRETTY_FUNCTION__), 0)));
80736    detail::do_call_member_selection(L, name);
80737
80738
80739    m_self.get(L);
80740
80741
80742
80743
80744    return proxy_type(L, args);
80745   }
80746
80747 #undef LUABIND_CALL_MEMBER_NAME
80748 #undef LUABIND_OPERATOR_PARAMS
80749 #undef LUABIND_TUPLE_PARAMS
80750 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80751 #undef BOOST_PP_ITERATION_1
80752
80753
80754 #define BOOST_PP_ITERATION_1 8
80755 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
80756 # 92 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80757 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80758 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80759
80760  template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
80761   typename boost::mpl::if_<boost::is_void<R>
80762     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
80763     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type
80764     call(char const* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7, detail::type_<R>* = 0) const
80765   {
80766    typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> tuple_t;
80767
80768
80769
80770    tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7);
80771
80772
80773    typedef typename boost::mpl::if_<boost::is_void<R>
80774     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
80775     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type proxy_type;
80776 # 120 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80777    lua_State* L = m_self.state();
80778    m_self.get(L);
80779    (static_cast<void> ((!(lua_type(L,-1) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,-1) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp", 122, __PRETTY_FUNCTION__), 0)));
80780    detail::do_call_member_selection(L, name);
80781
80782
80783    m_self.get(L);
80784
80785
80786
80787
80788    return proxy_type(L, args);
80789   }
80790
80791 #undef LUABIND_CALL_MEMBER_NAME
80792 #undef LUABIND_OPERATOR_PARAMS
80793 #undef LUABIND_TUPLE_PARAMS
80794 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80795 #undef BOOST_PP_ITERATION_1
80796
80797
80798 #define BOOST_PP_ITERATION_1 9
80799 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
80800 # 92 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80801 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80802 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80803
80804  template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
80805   typename boost::mpl::if_<boost::is_void<R>
80806     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
80807     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type
80808     call(char const* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8, detail::type_<R>* = 0) const
80809   {
80810    typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> tuple_t;
80811
80812
80813
80814    tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8);
80815
80816
80817    typedef typename boost::mpl::if_<boost::is_void<R>
80818     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
80819     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type proxy_type;
80820 # 120 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80821    lua_State* L = m_self.state();
80822    m_self.get(L);
80823    (static_cast<void> ((!(lua_type(L,-1) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,-1) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp", 122, __PRETTY_FUNCTION__), 0)));
80824    detail::do_call_member_selection(L, name);
80825
80826
80827    m_self.get(L);
80828
80829
80830
80831
80832    return proxy_type(L, args);
80833   }
80834
80835 #undef LUABIND_CALL_MEMBER_NAME
80836 #undef LUABIND_OPERATOR_PARAMS
80837 #undef LUABIND_TUPLE_PARAMS
80838 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80839 #undef BOOST_PP_ITERATION_1
80840
80841
80842 #define BOOST_PP_ITERATION_1 10
80843 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
80844 # 92 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80845 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
80846 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
80847
80848  template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
80849   typename boost::mpl::if_<boost::is_void<R>
80850     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
80851     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type
80852     call(char const* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 , const A9 & a9, detail::type_<R>* = 0) const
80853   {
80854    typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> tuple_t;
80855
80856
80857
80858    tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8 , &a9);
80859
80860
80861    typedef typename boost::mpl::if_<boost::is_void<R>
80862     , luabind::detail::proxy_member_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
80863     , luabind::detail::proxy_member_caller<R, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type proxy_type;
80864 # 120 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
80865    lua_State* L = m_self.state();
80866    m_self.get(L);
80867    (static_cast<void> ((!(lua_type(L,-1) == 0)) ? 0 : (__assert_fail ("!(lua_type(L,-1) == 0)", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp", 122, __PRETTY_FUNCTION__), 0)));
80868    detail::do_call_member_selection(L, name);
80869
80870
80871    m_self.get(L);
80872
80873
80874
80875
80876    return proxy_type(L, args);
80877   }
80878
80879 #undef LUABIND_CALL_MEMBER_NAME
80880 #undef LUABIND_OPERATOR_PARAMS
80881 #undef LUABIND_TUPLE_PARAMS
80882 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80883 #undef BOOST_PP_ITERATION_1
80884 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
80885 #undef BOOST_PP_IS_ITERATING
80886
80887 #undef BOOST_PP_ITERATION_DEPTH
80888 #define BOOST_PP_ITERATION_DEPTH() 0
80889
80890 #undef BOOST_PP_ITERATION_START_1
80891 #undef BOOST_PP_ITERATION_FINISH_1
80892 #undef BOOST_PP_FILENAME_1
80893
80894 #undef BOOST_PP_ITERATION_FLAGS_1
80895 #undef BOOST_PP_ITERATION_PARAMS_1
80896 # 63 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 2
80897
80898  private:
80899   wrapped_self_t m_self;
80900  };
80901
80902 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/wrapper_base.hpp>, 2))
80903 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
80904 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
80905 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
80906 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
80907 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
80908 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
80909 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80910 #undef BOOST_PP_SLOT_TEMP_1
80911 #undef BOOST_PP_SLOT_TEMP_2
80912 #undef BOOST_PP_SLOT_TEMP_3
80913 #undef BOOST_PP_SLOT_TEMP_4
80914 #undef BOOST_PP_SLOT_TEMP_5
80915 #undef BOOST_PP_SLOT_TEMP_6
80916 #undef BOOST_PP_SLOT_TEMP_7
80917 #undef BOOST_PP_SLOT_TEMP_8
80918 #undef BOOST_PP_SLOT_TEMP_9
80919 #undef BOOST_PP_SLOT_TEMP_10
80920
80921
80922 #define BOOST_PP_SLOT_TEMP_10 0
80923 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80924 #define BOOST_PP_SLOT_TEMP_9 0
80925 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80926 #define BOOST_PP_SLOT_TEMP_8 0
80927 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80928 #define BOOST_PP_SLOT_TEMP_7 0
80929 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80930 #define BOOST_PP_SLOT_TEMP_6 0
80931 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80932 #define BOOST_PP_SLOT_TEMP_5 0
80933 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80934 #define BOOST_PP_SLOT_TEMP_4 0
80935 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80936 #define BOOST_PP_SLOT_TEMP_3 0
80937 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80938 #define BOOST_PP_SLOT_TEMP_2 0
80939 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80940 #define BOOST_PP_SLOT_TEMP_1 0
80941 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80942 #undef BOOST_PP_VALUE
80943 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
80944
80945 #undef BOOST_PP_ITERATION_START_1
80946
80947 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
80948 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
80949 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
80950 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
80951 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
80952 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
80953 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
80954 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
80955 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
80956 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
80957
80958
80959 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
80960 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
80961 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
80962 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
80963 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
80964 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
80965 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
80966 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
80967 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
80968 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
80969 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
80970 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
80971 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80972 #undef BOOST_PP_SLOT_TEMP_1
80973 #undef BOOST_PP_SLOT_TEMP_2
80974 #undef BOOST_PP_SLOT_TEMP_3
80975 #undef BOOST_PP_SLOT_TEMP_4
80976 #undef BOOST_PP_SLOT_TEMP_5
80977 #undef BOOST_PP_SLOT_TEMP_6
80978 #undef BOOST_PP_SLOT_TEMP_7
80979 #undef BOOST_PP_SLOT_TEMP_8
80980 #undef BOOST_PP_SLOT_TEMP_9
80981 #undef BOOST_PP_SLOT_TEMP_10
80982
80983
80984 #define BOOST_PP_SLOT_TEMP_10 0
80985 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80986 #define BOOST_PP_SLOT_TEMP_9 0
80987 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80988 #define BOOST_PP_SLOT_TEMP_8 0
80989 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80990 #define BOOST_PP_SLOT_TEMP_7 0
80991 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80992 #define BOOST_PP_SLOT_TEMP_6 0
80993 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80994 #define BOOST_PP_SLOT_TEMP_5 0
80995 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80996 #define BOOST_PP_SLOT_TEMP_4 0
80997 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
80998 #define BOOST_PP_SLOT_TEMP_3 0
80999 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
81000 #define BOOST_PP_SLOT_TEMP_2 1
81001 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
81002 #define BOOST_PP_SLOT_TEMP_1 0
81003 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
81004 #undef BOOST_PP_VALUE
81005 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
81006
81007 #undef BOOST_PP_ITERATION_FINISH_1
81008
81009 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
81010 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
81011 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
81012 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
81013 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
81014 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
81015 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
81016 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
81017 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
81018 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
81019
81020
81021 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
81022 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
81023 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
81024 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
81025 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
81026 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
81027 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
81028 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81029 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
81030
81031 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
81032
81033
81034
81035
81036
81037
81038
81039 #undef BOOST_PP_ITERATION_DEPTH
81040 #define BOOST_PP_ITERATION_DEPTH() 1
81041
81042 #define BOOST_PP_IS_ITERATING 1
81043
81044
81045
81046
81047
81048 #define BOOST_PP_ITERATION_1 0
81049 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
81050 # 140 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
81051 #define N BOOST_PP_ITERATION()
81052
81053 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
81054 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
81055
81056     template<
81057         class R
81058        
81059     >
81060     typename boost::mpl::if_<
81061         boost::is_void<R>
81062       , detail::proxy_member_void_caller<
81063             boost::tuples::tuple<
81064                
81065             >
81066         >
81067       , detail::proxy_member_caller<
81068             R
81069           , boost::tuples::tuple<
81070                
81071             >
81072         >
81073     >::type
81074     call_member(
81075         wrap_base const* self
81076       , char const* fn
81077        
81078       , detail::type_<R>* = 0
81079     )
81080     {
81081         return self->call(
81082             fn
81083            
81084          , (detail::type_<R>*)0
81085         );
81086     }
81087
81088 #undef LUABIND_OPERATOR_PARAMS
81089 #undef LUABIND_TUPLE_PARAMS
81090
81091 #undef N
81092 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81093 #undef BOOST_PP_ITERATION_1
81094
81095
81096 #define BOOST_PP_ITERATION_1 1
81097 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
81098 # 140 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
81099 #define N BOOST_PP_ITERATION()
81100
81101 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
81102 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
81103
81104     template<
81105         class R
81106         , class A0
81107     >
81108     typename boost::mpl::if_<
81109         boost::is_void<R>
81110       , detail::proxy_member_void_caller<
81111             boost::tuples::tuple<
81112                 const A0 *
81113             >
81114         >
81115       , detail::proxy_member_caller<
81116             R
81117           , boost::tuples::tuple<
81118                 const A0 *
81119             >
81120         >
81121     >::type
81122     call_member(
81123         wrap_base const* self
81124       , char const* fn
81125         , A0 &a0
81126       , detail::type_<R>* = 0
81127     )
81128     {
81129         return self->call(
81130             fn
81131             , a0
81132          , (detail::type_<R>*)0
81133         );
81134     }
81135
81136 #undef LUABIND_OPERATOR_PARAMS
81137 #undef LUABIND_TUPLE_PARAMS
81138
81139 #undef N
81140 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81141 #undef BOOST_PP_ITERATION_1
81142
81143
81144 #define BOOST_PP_ITERATION_1 2
81145 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
81146 # 140 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
81147 #define N BOOST_PP_ITERATION()
81148
81149 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
81150 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
81151
81152     template<
81153         class R
81154         , class A0 , class A1
81155     >
81156     typename boost::mpl::if_<
81157         boost::is_void<R>
81158       , detail::proxy_member_void_caller<
81159             boost::tuples::tuple<
81160                 const A0 * , const A1 *
81161             >
81162         >
81163       , detail::proxy_member_caller<
81164             R
81165           , boost::tuples::tuple<
81166                 const A0 * , const A1 *
81167             >
81168         >
81169     >::type
81170     call_member(
81171         wrap_base const* self
81172       , char const* fn
81173         , A0 &a0 , A1 &a1
81174       , detail::type_<R>* = 0
81175     )
81176     {
81177         return self->call(
81178             fn
81179             , a0 , a1
81180          , (detail::type_<R>*)0
81181         );
81182     }
81183
81184 #undef LUABIND_OPERATOR_PARAMS
81185 #undef LUABIND_TUPLE_PARAMS
81186
81187 #undef N
81188 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81189 #undef BOOST_PP_ITERATION_1
81190
81191
81192 #define BOOST_PP_ITERATION_1 3
81193 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
81194 # 140 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
81195 #define N BOOST_PP_ITERATION()
81196
81197 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
81198 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
81199
81200     template<
81201         class R
81202         , class A0 , class A1 , class A2
81203     >
81204     typename boost::mpl::if_<
81205         boost::is_void<R>
81206       , detail::proxy_member_void_caller<
81207             boost::tuples::tuple<
81208                 const A0 * , const A1 * , const A2 *
81209             >
81210         >
81211       , detail::proxy_member_caller<
81212             R
81213           , boost::tuples::tuple<
81214                 const A0 * , const A1 * , const A2 *
81215             >
81216         >
81217     >::type
81218     call_member(
81219         wrap_base const* self
81220       , char const* fn
81221         , A0 &a0 , A1 &a1 , A2 &a2
81222       , detail::type_<R>* = 0
81223     )
81224     {
81225         return self->call(
81226             fn
81227             , a0 , a1 , a2
81228          , (detail::type_<R>*)0
81229         );
81230     }
81231
81232 #undef LUABIND_OPERATOR_PARAMS
81233 #undef LUABIND_TUPLE_PARAMS
81234
81235 #undef N
81236 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81237 #undef BOOST_PP_ITERATION_1
81238
81239
81240 #define BOOST_PP_ITERATION_1 4
81241 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
81242 # 140 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
81243 #define N BOOST_PP_ITERATION()
81244
81245 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
81246 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
81247
81248     template<
81249         class R
81250         , class A0 , class A1 , class A2 , class A3
81251     >
81252     typename boost::mpl::if_<
81253         boost::is_void<R>
81254       , detail::proxy_member_void_caller<
81255             boost::tuples::tuple<
81256                 const A0 * , const A1 * , const A2 * , const A3 *
81257             >
81258         >
81259       , detail::proxy_member_caller<
81260             R
81261           , boost::tuples::tuple<
81262                 const A0 * , const A1 * , const A2 * , const A3 *
81263             >
81264         >
81265     >::type
81266     call_member(
81267         wrap_base const* self
81268       , char const* fn
81269         , A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3
81270       , detail::type_<R>* = 0
81271     )
81272     {
81273         return self->call(
81274             fn
81275             , a0 , a1 , a2 , a3
81276          , (detail::type_<R>*)0
81277         );
81278     }
81279
81280 #undef LUABIND_OPERATOR_PARAMS
81281 #undef LUABIND_TUPLE_PARAMS
81282
81283 #undef N
81284 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81285 #undef BOOST_PP_ITERATION_1
81286
81287
81288 #define BOOST_PP_ITERATION_1 5
81289 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
81290 # 140 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
81291 #define N BOOST_PP_ITERATION()
81292
81293 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
81294 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
81295
81296     template<
81297         class R
81298         , class A0 , class A1 , class A2 , class A3 , class A4
81299     >
81300     typename boost::mpl::if_<
81301         boost::is_void<R>
81302       , detail::proxy_member_void_caller<
81303             boost::tuples::tuple<
81304                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 *
81305             >
81306         >
81307       , detail::proxy_member_caller<
81308             R
81309           , boost::tuples::tuple<
81310                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 *
81311             >
81312         >
81313     >::type
81314     call_member(
81315         wrap_base const* self
81316       , char const* fn
81317         , A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4
81318       , detail::type_<R>* = 0
81319     )
81320     {
81321         return self->call(
81322             fn
81323             , a0 , a1 , a2 , a3 , a4
81324          , (detail::type_<R>*)0
81325         );
81326     }
81327
81328 #undef LUABIND_OPERATOR_PARAMS
81329 #undef LUABIND_TUPLE_PARAMS
81330
81331 #undef N
81332 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81333 #undef BOOST_PP_ITERATION_1
81334
81335
81336 #define BOOST_PP_ITERATION_1 6
81337 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
81338 # 140 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
81339 #define N BOOST_PP_ITERATION()
81340
81341 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
81342 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
81343
81344     template<
81345         class R
81346         , class A0 , class A1 , class A2 , class A3 , class A4 , class A5
81347     >
81348     typename boost::mpl::if_<
81349         boost::is_void<R>
81350       , detail::proxy_member_void_caller<
81351             boost::tuples::tuple<
81352                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *
81353             >
81354         >
81355       , detail::proxy_member_caller<
81356             R
81357           , boost::tuples::tuple<
81358                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *
81359             >
81360         >
81361     >::type
81362     call_member(
81363         wrap_base const* self
81364       , char const* fn
81365         , A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5
81366       , detail::type_<R>* = 0
81367     )
81368     {
81369         return self->call(
81370             fn
81371             , a0 , a1 , a2 , a3 , a4 , a5
81372          , (detail::type_<R>*)0
81373         );
81374     }
81375
81376 #undef LUABIND_OPERATOR_PARAMS
81377 #undef LUABIND_TUPLE_PARAMS
81378
81379 #undef N
81380 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81381 #undef BOOST_PP_ITERATION_1
81382
81383
81384 #define BOOST_PP_ITERATION_1 7
81385 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
81386 # 140 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
81387 #define N BOOST_PP_ITERATION()
81388
81389 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
81390 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
81391
81392     template<
81393         class R
81394         , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
81395     >
81396     typename boost::mpl::if_<
81397         boost::is_void<R>
81398       , detail::proxy_member_void_caller<
81399             boost::tuples::tuple<
81400                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *
81401             >
81402         >
81403       , detail::proxy_member_caller<
81404             R
81405           , boost::tuples::tuple<
81406                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *
81407             >
81408         >
81409     >::type
81410     call_member(
81411         wrap_base const* self
81412       , char const* fn
81413         , A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6
81414       , detail::type_<R>* = 0
81415     )
81416     {
81417         return self->call(
81418             fn
81419             , a0 , a1 , a2 , a3 , a4 , a5 , a6
81420          , (detail::type_<R>*)0
81421         );
81422     }
81423
81424 #undef LUABIND_OPERATOR_PARAMS
81425 #undef LUABIND_TUPLE_PARAMS
81426
81427 #undef N
81428 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81429 #undef BOOST_PP_ITERATION_1
81430
81431
81432 #define BOOST_PP_ITERATION_1 8
81433 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
81434 # 140 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
81435 #define N BOOST_PP_ITERATION()
81436
81437 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
81438 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
81439
81440     template<
81441         class R
81442         , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
81443     >
81444     typename boost::mpl::if_<
81445         boost::is_void<R>
81446       , detail::proxy_member_void_caller<
81447             boost::tuples::tuple<
81448                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *
81449             >
81450         >
81451       , detail::proxy_member_caller<
81452             R
81453           , boost::tuples::tuple<
81454                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *
81455             >
81456         >
81457     >::type
81458     call_member(
81459         wrap_base const* self
81460       , char const* fn
81461         , A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6 , A7 &a7
81462       , detail::type_<R>* = 0
81463     )
81464     {
81465         return self->call(
81466             fn
81467             , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7
81468          , (detail::type_<R>*)0
81469         );
81470     }
81471
81472 #undef LUABIND_OPERATOR_PARAMS
81473 #undef LUABIND_TUPLE_PARAMS
81474
81475 #undef N
81476 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81477 #undef BOOST_PP_ITERATION_1
81478
81479
81480 #define BOOST_PP_ITERATION_1 9
81481 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
81482 # 140 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
81483 #define N BOOST_PP_ITERATION()
81484
81485 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
81486 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
81487
81488     template<
81489         class R
81490         , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8
81491     >
81492     typename boost::mpl::if_<
81493         boost::is_void<R>
81494       , detail::proxy_member_void_caller<
81495             boost::tuples::tuple<
81496                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *
81497             >
81498         >
81499       , detail::proxy_member_caller<
81500             R
81501           , boost::tuples::tuple<
81502                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *
81503             >
81504         >
81505     >::type
81506     call_member(
81507         wrap_base const* self
81508       , char const* fn
81509         , A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6 , A7 &a7 , A8 &a8
81510       , detail::type_<R>* = 0
81511     )
81512     {
81513         return self->call(
81514             fn
81515             , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8
81516          , (detail::type_<R>*)0
81517         );
81518     }
81519
81520 #undef LUABIND_OPERATOR_PARAMS
81521 #undef LUABIND_TUPLE_PARAMS
81522
81523 #undef N
81524 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81525 #undef BOOST_PP_ITERATION_1
81526
81527
81528 #define BOOST_PP_ITERATION_1 10
81529 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1 3 4
81530 # 140 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 3 4
81531 #define N BOOST_PP_ITERATION()
81532
81533 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
81534 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
81535
81536     template<
81537         class R
81538         , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
81539     >
81540     typename boost::mpl::if_<
81541         boost::is_void<R>
81542       , detail::proxy_member_void_caller<
81543             boost::tuples::tuple<
81544                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *
81545             >
81546         >
81547       , detail::proxy_member_caller<
81548             R
81549           , boost::tuples::tuple<
81550                 const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *
81551             >
81552         >
81553     >::type
81554     call_member(
81555         wrap_base const* self
81556       , char const* fn
81557         , A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6 , A7 &a7 , A8 &a8 , A9 &a9
81558       , detail::type_<R>* = 0
81559     )
81560     {
81561         return self->call(
81562             fn
81563             , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9
81564          , (detail::type_<R>*)0
81565         );
81566     }
81567
81568 #undef LUABIND_OPERATOR_PARAMS
81569 #undef LUABIND_TUPLE_PARAMS
81570
81571 #undef N
81572 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
81573 #undef BOOST_PP_ITERATION_1
81574 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
81575 #undef BOOST_PP_IS_ITERATING
81576
81577 #undef BOOST_PP_ITERATION_DEPTH
81578 #define BOOST_PP_ITERATION_DEPTH() 0
81579
81580 #undef BOOST_PP_ITERATION_START_1
81581 #undef BOOST_PP_ITERATION_FINISH_1
81582 #undef BOOST_PP_FILENAME_1
81583
81584 #undef BOOST_PP_ITERATION_FLAGS_1
81585 #undef BOOST_PP_ITERATION_PARAMS_1
81586 # 70 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 2
81587
81588  namespace detail
81589  {
81590   struct wrap_access
81591   {
81592    static wrapped_self_t const& ref(wrap_base const& b)
81593    {
81594     return b.m_self;
81595    }
81596
81597    static wrapped_self_t& ref(wrap_base& b)
81598    {
81599     return b.m_self;
81600    }
81601   };
81602  }
81603 }
81604 # 28 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/back_reference.hpp" 2
81605 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/has_get_pointer.hpp" 1
81606 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/has_get_pointer.hpp"
81607 #define LUABIND_HAS_GET_POINTER_051022_HPP 
81608
81609
81610
81611
81612
81613
81614
81615 namespace luabind { namespace detail {
81616
81617 namespace has_get_pointer_
81618 {
81619
81620   struct any
81621   {
81622       template<class T> any(T const&);
81623   };
81624
81625   struct no_overload_tag
81626   {};
81627
81628   typedef char (&yes)[1];
81629   typedef char (&no)[2];
81630
81631   no_overload_tag operator,(no_overload_tag, int);
81632 # 57 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/has_get_pointer.hpp"
81633   template<class T>
81634   T* get_pointer(T*);
81635
81636   template<class T>
81637   T* get_pointer(std::auto_ptr<T> const&);
81638 # 73 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/has_get_pointer.hpp"
81639 detail::has_get_pointer_::no_overload_tag
81640   get_pointer(detail::has_get_pointer_::any);
81641
81642
81643
81644
81645
81646
81647   template<class T>
81648   yes check(T const&);
81649   no check(no_overload_tag);
81650
81651   template<class T>
81652   struct impl
81653   {
81654       static typename boost::add_reference<T>::type x;
81655
81656       static const bool value = sizeof(has_get_pointer_::check( (get_pointer(x),0) )) == 1;
81657
81658
81659
81660       typedef boost::mpl::bool_<value> type;
81661   };
81662
81663 }
81664
81665 template<class T>
81666 struct has_get_pointer
81667   : has_get_pointer_::impl<T>::type
81668 {};
81669
81670 }}
81671 # 29 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/back_reference.hpp" 2
81672 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/get_pointer.hpp" 1
81673 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/get_pointer.hpp"
81674 #define LUABIND_GET_POINTER_051023_HPP 
81675
81676
81677
81678
81679
81680
81681
81682 namespace luabind {
81683
81684 using boost::get_pointer;
81685
81686 }
81687 # 30 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/back_reference.hpp" 2
81688 # 1 "/usr/include/boost/type_traits/is_polymorphic.hpp" 1 3 4
81689 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/back_reference.hpp" 2
81690
81691
81692
81693 namespace luabind {
81694
81695 namespace detail
81696 {
81697   namespace mpl = boost::mpl;
81698
81699   template<class T>
81700   wrap_base const* get_back_reference_aux0(T const* p, mpl::true_)
81701   {
81702       return dynamic_cast<wrap_base const*>(p);
81703   }
81704
81705   template<class T>
81706   wrap_base const* get_back_reference_aux0(T const* p, mpl::false_)
81707   {
81708       return 0;
81709   }
81710
81711   template<class T>
81712   wrap_base const* get_back_reference_aux1(T const* p)
81713   {
81714       return get_back_reference_aux0(p, boost::is_polymorphic<T>());
81715   }
81716
81717   template<class T>
81718   wrap_base const* get_back_reference_aux2(T const& x, mpl::true_)
81719   {
81720       return get_back_reference_aux1(get_pointer(x));
81721   }
81722
81723   template<class T>
81724   wrap_base const* get_back_reference_aux2(T const& x, mpl::false_)
81725   {
81726       return get_back_reference_aux1(&x);
81727   }
81728
81729   template<class T>
81730   wrap_base const* get_back_reference(T const& x)
81731   {
81732       return detail::get_back_reference_aux2(
81733           x
81734         , has_get_pointer<T>()
81735       );
81736   }
81737
81738 }
81739
81740 template<class T>
81741 bool get_back_reference(lua_State* L, T const& x)
81742 {
81743
81744     if (wrap_base const* w = detail::get_back_reference(x))
81745     {
81746         detail::wrap_access::ref(*w).get(L);
81747         return true;
81748     }
81749
81750     return false;
81751 }
81752
81753 template<class T>
81754 bool move_back_reference(lua_State* L, T const& x)
81755 {
81756
81757     if (wrap_base* w = const_cast<wrap_base*>(detail::get_back_reference(x)))
81758     {
81759         (static_cast<void> ((detail::wrap_access::ref(*w).m_strong_ref.is_valid()) ? 0 : (__assert_fail ("detail::wrap_access::ref(*w).m_strong_ref.is_valid()", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/back_reference.hpp", 100, __PRETTY_FUNCTION__), 0)));
81760         detail::wrap_access::ref(*w).get(L);
81761         detail::wrap_access::ref(*w).m_strong_ref.reset();
81762         return true;
81763     }
81764
81765     return false;
81766 }
81767
81768 }
81769 # 98 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
81770 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1
81771 # 27 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp"
81772 #define LUABIND_CONSTRUCTOR_HPP_INCLUDED 
81773 # 36 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp"
81774 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
81775 # 37 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 2
81776
81777
81778 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1
81779 # 40 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 2
81780
81781 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1
81782 # 27 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp"
81783 #define LUABIND_SIGNATURE_MATCH_HPP_INCLUDED 
81784 # 41 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp"
81785 # 1 "/usr/include/boost/mpl/vector.hpp" 1 3 4
81786
81787
81788 #define BOOST_MPL_VECTOR_HPP_INCLUDED 
81789 # 18 "/usr/include/boost/mpl/vector.hpp" 3 4
81790 # 1 "/usr/include/boost/mpl/limits/vector.hpp" 1 3 4
81791
81792
81793 #define BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED 
81794 # 18 "/usr/include/boost/mpl/limits/vector.hpp" 3 4
81795 #define BOOST_MPL_LIMIT_VECTOR_SIZE 20
81796 # 19 "/usr/include/boost/mpl/vector.hpp" 2 3 4
81797 # 27 "/usr/include/boost/mpl/vector.hpp" 3 4
81798 #define AUX778076_VECTOR_HEADER BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp
81799 # 36 "/usr/include/boost/mpl/vector.hpp" 3 4
81800 # 1 "/usr/include/boost/mpl/vector/vector20.hpp" 1 3 4
81801
81802
81803 #define BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED 
81804 # 18 "/usr/include/boost/mpl/vector/vector20.hpp" 3 4
81805 # 1 "/usr/include/boost/mpl/vector/vector10.hpp" 1 3 4
81806
81807
81808 #define BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED 
81809 # 18 "/usr/include/boost/mpl/vector/vector10.hpp" 3 4
81810 # 1 "/usr/include/boost/mpl/vector/vector0.hpp" 1 3 4
81811
81812
81813 #define BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED 
81814 # 17 "/usr/include/boost/mpl/vector/vector0.hpp" 3 4
81815 # 1 "/usr/include/boost/mpl/vector/aux_/at.hpp" 1 3 4
81816
81817
81818 #define BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED 
81819 # 17 "/usr/include/boost/mpl/vector/aux_/at.hpp" 3 4
81820 # 1 "/usr/include/boost/mpl/at_fwd.hpp" 1 3 4
81821
81822
81823 #define BOOST_MPL_AT_FWD_HPP_INCLUDED 
81824 # 17 "/usr/include/boost/mpl/at_fwd.hpp" 3 4
81825 namespace boost { namespace mpl {
81826
81827 template< typename Tag > struct at_impl;
81828 template< typename Sequence, typename N > struct at;
81829
81830 }}
81831 # 18 "/usr/include/boost/mpl/vector/aux_/at.hpp" 2 3 4
81832 # 1 "/usr/include/boost/mpl/vector/aux_/tag.hpp" 1 3 4
81833
81834
81835 #define BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED 
81836 # 17 "/usr/include/boost/mpl/vector/aux_/tag.hpp" 3 4
81837 # 1 "/usr/include/boost/mpl/aux_/config/typeof.hpp" 1 3 4
81838
81839
81840 #define BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED 
81841 # 25 "/usr/include/boost/mpl/aux_/config/typeof.hpp" 3 4
81842 #define BOOST_MPL_CFG_HAS_TYPEOF 
81843 # 34 "/usr/include/boost/mpl/aux_/config/typeof.hpp" 3 4
81844 #define BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES 
81845 # 18 "/usr/include/boost/mpl/vector/aux_/tag.hpp" 2 3 4
81846
81847
81848 namespace boost { namespace mpl { namespace aux {
81849
81850 struct v_iter_tag;
81851
81852
81853 struct vector_tag;
81854
81855
81856
81857
81858 }}}
81859 # 19 "/usr/include/boost/mpl/vector/aux_/at.hpp" 2 3 4
81860 # 27 "/usr/include/boost/mpl/vector/aux_/at.hpp" 3 4
81861 namespace boost { namespace mpl {
81862
81863
81864
81865 template< typename Vector, long n_ >
81866 struct v_at_impl
81867 {
81868     typedef long_< (Vector::lower_bound_::value + n_) > index_;
81869     typedef __typeof__( Vector::item_(index_()) ) type;
81870 };
81871
81872
81873 template< typename Vector, long n_ >
81874 struct v_at
81875     : aux::wrapped_type< typename v_at_impl<Vector,n_>::type >
81876 {
81877 };
81878
81879 template<>
81880 struct at_impl< aux::vector_tag >
81881 {
81882     template< typename Vector, typename N > struct apply
81883         : v_at<
81884               Vector
81885             , N::value
81886             >
81887     {
81888     };
81889 };
81890 # 114 "/usr/include/boost/mpl/vector/aux_/at.hpp" 3 4
81891 }}
81892 # 18 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
81893 # 1 "/usr/include/boost/mpl/vector/aux_/front.hpp" 1 3 4
81894 # 19 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
81895 # 1 "/usr/include/boost/mpl/vector/aux_/push_front.hpp" 1 3 4
81896
81897
81898 #define BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED 
81899 # 22 "/usr/include/boost/mpl/vector/aux_/push_front.hpp" 3 4
81900 # 1 "/usr/include/boost/mpl/vector/aux_/item.hpp" 1 3 4
81901
81902
81903 #define BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED 
81904 # 24 "/usr/include/boost/mpl/vector/aux_/item.hpp" 3 4
81905 namespace boost { namespace mpl {
81906
81907
81908
81909 template<
81910       typename T
81911     , typename Base
81912     , int at_front = 0
81913     >
81914 struct v_item
81915     : Base
81916 {
81917     typedef typename Base::upper_bound_ index_;
81918     typedef typename next<index_>::type upper_bound_;
81919     typedef typename next<typename Base::size>::type size;
81920     typedef Base base;
81921     typedef v_item type;
81922
81923
81924
81925     static aux::type_wrapper<T> item_(index_);
81926     using Base::item_;
81927 };
81928
81929 template<
81930       typename T
81931     , typename Base
81932     >
81933 struct v_item<T,Base,1>
81934     : Base
81935 {
81936     typedef typename prior<typename Base::lower_bound_>::type index_;
81937     typedef index_ lower_bound_;
81938     typedef typename next<typename Base::size>::type size;
81939     typedef Base base;
81940     typedef v_item type;
81941
81942     static aux::type_wrapper<T> item_(index_);
81943     using Base::item_;
81944 };
81945
81946
81947 template<
81948       typename Base
81949     , int at_front
81950     >
81951 struct v_mask
81952     : Base
81953 {
81954     typedef typename prior<typename Base::upper_bound_>::type index_;
81955     typedef index_ upper_bound_;
81956     typedef typename prior<typename Base::size>::type size;
81957     typedef Base base;
81958     typedef v_mask type;
81959
81960     static aux::type_wrapper<void_> item_(index_);
81961     using Base::item_;
81962 };
81963
81964 template<
81965       typename Base
81966     >
81967 struct v_mask<Base,1>
81968     : Base
81969 {
81970     typedef typename Base::lower_bound_ index_;
81971     typedef typename next<index_>::type lower_bound_;
81972     typedef typename prior<typename Base::size>::type size;
81973     typedef Base base;
81974     typedef v_mask type;
81975
81976     static aux::type_wrapper<void_> item_(index_);
81977     using Base::item_;
81978 };
81979
81980
81981
81982 }}
81983 # 23 "/usr/include/boost/mpl/vector/aux_/push_front.hpp" 2 3 4
81984
81985
81986 namespace boost { namespace mpl {
81987
81988 template<>
81989 struct push_front_impl< aux::vector_tag >
81990 {
81991     template< typename Vector, typename T > struct apply
81992     {
81993         typedef v_item<T,Vector,1> type;
81994     };
81995 };
81996
81997 }}
81998 # 20 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
81999 # 1 "/usr/include/boost/mpl/vector/aux_/pop_front.hpp" 1 3 4
82000
82001
82002 #define BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED 
82003 # 25 "/usr/include/boost/mpl/vector/aux_/pop_front.hpp" 3 4
82004 namespace boost { namespace mpl {
82005
82006 template<>
82007 struct pop_front_impl< aux::vector_tag >
82008 {
82009     template< typename Vector > struct apply
82010     {
82011         typedef v_mask<Vector,1> type;
82012     };
82013 };
82014
82015 }}
82016 # 21 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
82017 # 1 "/usr/include/boost/mpl/vector/aux_/push_back.hpp" 1 3 4
82018
82019
82020 #define BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED 
82021 # 25 "/usr/include/boost/mpl/vector/aux_/push_back.hpp" 3 4
82022 namespace boost { namespace mpl {
82023
82024 template<>
82025 struct push_back_impl< aux::vector_tag >
82026 {
82027     template< typename Vector, typename T > struct apply
82028     {
82029         typedef v_item<T,Vector,0> type;
82030     };
82031 };
82032
82033 }}
82034 # 22 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
82035 # 1 "/usr/include/boost/mpl/vector/aux_/pop_back.hpp" 1 3 4
82036
82037
82038 #define BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED 
82039 # 17 "/usr/include/boost/mpl/vector/aux_/pop_back.hpp" 3 4
82040 # 1 "/usr/include/boost/mpl/pop_back_fwd.hpp" 1 3 4
82041
82042
82043 #define BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED 
82044 # 17 "/usr/include/boost/mpl/pop_back_fwd.hpp" 3 4
82045 namespace boost { namespace mpl {
82046
82047 template< typename Tag > struct pop_back_impl;
82048 template< typename Sequence > struct pop_back;
82049
82050 }}
82051 # 18 "/usr/include/boost/mpl/vector/aux_/pop_back.hpp" 2 3 4
82052
82053
82054
82055
82056
82057
82058
82059 namespace boost { namespace mpl {
82060
82061 template<>
82062 struct pop_back_impl< aux::vector_tag >
82063 {
82064     template< typename Vector > struct apply
82065     {
82066         typedef v_mask<Vector,0> type;
82067     };
82068 };
82069
82070 }}
82071 # 23 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
82072 # 1 "/usr/include/boost/mpl/vector/aux_/back.hpp" 1 3 4
82073
82074
82075 #define BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED 
82076 # 17 "/usr/include/boost/mpl/vector/aux_/back.hpp" 3 4
82077 # 1 "/usr/include/boost/mpl/back_fwd.hpp" 1 3 4
82078
82079
82080 #define BOOST_MPL_BACK_FWD_HPP_INCLUDED 
82081 # 17 "/usr/include/boost/mpl/back_fwd.hpp" 3 4
82082 namespace boost { namespace mpl {
82083
82084 template< typename Tag > struct back_impl;
82085 template< typename Sequence > struct back;
82086
82087 }}
82088 # 18 "/usr/include/boost/mpl/vector/aux_/back.hpp" 2 3 4
82089
82090
82091
82092
82093
82094
82095 namespace boost { namespace mpl {
82096
82097
82098
82099 template<>
82100 struct back_impl< aux::vector_tag >
82101 {
82102     template< typename Vector > struct apply
82103         : v_at<
82104               Vector
82105             , prior<typename Vector::size>::type::value
82106             >
82107     {
82108     };
82109 };
82110 # 57 "/usr/include/boost/mpl/vector/aux_/back.hpp" 3 4
82111 }}
82112 # 24 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
82113 # 1 "/usr/include/boost/mpl/vector/aux_/clear.hpp" 1 3 4
82114
82115
82116 #define BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED 
82117 # 18 "/usr/include/boost/mpl/vector/aux_/clear.hpp" 3 4
82118 # 1 "/usr/include/boost/mpl/vector/aux_/vector0.hpp" 1 3 4
82119
82120
82121 #define BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED 
82122 # 22 "/usr/include/boost/mpl/vector/aux_/vector0.hpp" 3 4
82123 # 1 "/usr/include/boost/mpl/vector/aux_/iterator.hpp" 1 3 4
82124
82125
82126 #define BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED 
82127 # 19 "/usr/include/boost/mpl/vector/aux_/iterator.hpp" 3 4
82128 # 1 "/usr/include/boost/mpl/plus.hpp" 1 3 4
82129
82130
82131 #define BOOST_MPL_PLUS_HPP_INCLUDED 
82132 # 17 "/usr/include/boost/mpl/plus.hpp" 3 4
82133 #define AUX778076_OP_NAME plus
82134 #define AUX778076_OP_TOKEN +
82135 # 1 "/usr/include/boost/mpl/aux_/arithmetic_op.hpp" 1 3 4
82136 # 18 "/usr/include/boost/mpl/aux_/arithmetic_op.hpp" 3 4
82137 # 1 "/usr/include/boost/mpl/aux_/largest_int.hpp" 1 3 4
82138
82139
82140 #define BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED 
82141 # 22 "/usr/include/boost/mpl/aux_/largest_int.hpp" 3 4
82142 namespace boost { namespace mpl { namespace aux {
82143
82144 template< typename T > struct integral_rank;
82145
82146 template<> struct integral_rank<bool> : int_<1> {};
82147 template<> struct integral_rank<signed char> : int_<2> {};
82148 template<> struct integral_rank<char> : int_<3> {};
82149 template<> struct integral_rank<unsigned char> : int_<4> {};
82150
82151 template<> struct integral_rank<wchar_t> : int_<5> {};
82152
82153 template<> struct integral_rank<short> : int_<6> {};
82154 template<> struct integral_rank<unsigned short> : int_<7> {};
82155 template<> struct integral_rank<int> : int_<8> {};
82156 template<> struct integral_rank<unsigned int> : int_<9> {};
82157 template<> struct integral_rank<long> : int_<10> {};
82158 template<> struct integral_rank<unsigned long> : int_<11> {};
82159
82160
82161 template<> struct integral_rank<long_long_type> : int_<12> {};
82162 template<> struct integral_rank<ulong_long_type>: int_<13> {};
82163
82164
82165 template< typename T1, typename T2 > struct largest_int
82166
82167     : if_c<
82168           ( integral_rank<T1>::value >= integral_rank<T2>::value )
82169         , T1
82170         , T2
82171         >
82172 {
82173
82174
82175
82176
82177
82178
82179 };
82180
82181 }}}
82182 # 19 "/usr/include/boost/mpl/aux_/arithmetic_op.hpp" 2 3 4
82183
82184
82185
82186
82187 #define AUX778076_OP_PREFIX AUX778076_OP_NAME
82188
82189
82190 # 1 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 1 3 4
82191 # 22 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 3 4
82192 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
82193 # 23 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 2 3 4
82194 # 27 "/usr/include/boost/mpl/aux_/arithmetic_op.hpp" 2 3 4
82195
82196
82197
82198
82199
82200
82201 #define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
82202 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
82203 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
82204 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
82205 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
82206 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp" 1 3 4
82207 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp" 3 4
82208 namespace boost { namespace mpl {
82209
82210 template<
82211       typename Tag1
82212     , typename Tag2
82213     >
82214 struct plus_impl
82215     : if_c<
82216           ( Tag1::value
82217               > Tag2::value
82218             )
82219
82220         , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
82221         , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
82222         >::type
82223 {
82224 };
82225
82226
82227 template<> struct plus_impl< na,na >
82228 {
82229     template< typename U1, typename U2 > struct apply
82230     {
82231         typedef apply type;
82232         static const int value = 0;
82233     };
82234 };
82235
82236 template< typename Tag > struct plus_impl< na,Tag >
82237 {
82238     template< typename U1, typename U2 > struct apply
82239     {
82240         typedef apply type;
82241         static const int value = 0;
82242     };
82243 };
82244
82245 template< typename Tag > struct plus_impl< Tag,na >
82246 {
82247     template< typename U1, typename U2 > struct apply
82248     {
82249         typedef apply type;
82250         static const int value = 0;
82251     };
82252 };
82253
82254 template< typename T > struct plus_tag
82255 {
82256     typedef typename T::tag type;
82257 };
82258
82259 template<
82260       typename N1 = na
82261     , typename N2 = na
82262     , typename N3 = na, typename N4 = na, typename N5 = na
82263     >
82264 struct plus
82265     : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
82266 {
82267    
82268
82269
82270
82271
82272 };
82273
82274 template<
82275       typename N1, typename N2, typename N3, typename N4
82276     >
82277 struct plus< N1,N2,N3,N4,na >
82278
82279     : plus< plus< plus< N1,N2 >, N3>, N4>
82280 {
82281    
82282
82283
82284
82285
82286 };
82287
82288 template<
82289       typename N1, typename N2, typename N3
82290     >
82291 struct plus< N1,N2,N3,na,na >
82292
82293     : plus< plus< N1,N2 >, N3>
82294 {
82295    
82296
82297
82298
82299
82300 };
82301
82302 template<
82303       typename N1, typename N2
82304     >
82305 struct plus< N1,N2,na,na,na >
82306     : plus_impl<
82307           typename plus_tag<N1>::type
82308         , typename plus_tag<N2>::type
82309         >::template apply< N1,N2 >::type
82310 {
82311    
82312
82313
82314
82315
82316
82317 };
82318
82319 template<> struct plus< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : plus< T1 , T2 > { }; }; template< typename Tag > struct lambda< plus< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef plus< na , na > result_; typedef plus< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< plus< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< plus< na , na > > : int_<-1> { }; }
82320
82321 }}
82322
82323 namespace boost { namespace mpl {
82324 template<>
82325 struct plus_impl< integral_c_tag,integral_c_tag >
82326 {
82327     template< typename N1, typename N2 > struct apply
82328
82329         : integral_c<
82330               typename aux::largest_int<
82331                   typename N1::value_type
82332                 , typename N2::value_type
82333                 >::type
82334             , ( N1::value
82335                   + N2::value
82336                 )
82337             >
82338     {
82339     };
82340 };
82341
82342 }}
82343 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
82344 #undef AUX_PREPROCESSED_HEADER
82345
82346 #undef BOOST_MPL_PREPROCESSED_HEADER
82347 # 35 "/usr/include/boost/mpl/aux_/arithmetic_op.hpp" 2 3 4
82348 # 87 "/usr/include/boost/mpl/aux_/arithmetic_op.hpp" 3 4
82349 #undef AUX778076_OP_TAG_NAME
82350 #undef AUX778076_OP_IMPL_NAME
82351 #undef AUX778076_OP_ARITY
82352 #undef AUX778076_OP_PREFIX
82353 #undef AUX778076_OP_NAME
82354 #undef AUX778076_OP_TOKEN
82355 # 20 "/usr/include/boost/mpl/plus.hpp" 2 3 4
82356 # 20 "/usr/include/boost/mpl/vector/aux_/iterator.hpp" 2 3 4
82357 # 1 "/usr/include/boost/mpl/minus.hpp" 1 3 4
82358
82359
82360 #define BOOST_MPL_MINUS_HPP_INCLUDED 
82361 # 17 "/usr/include/boost/mpl/minus.hpp" 3 4
82362 #define AUX778076_OP_NAME minus
82363 #define AUX778076_OP_TOKEN -
82364 # 1 "/usr/include/boost/mpl/aux_/arithmetic_op.hpp" 1 3 4
82365 # 23 "/usr/include/boost/mpl/aux_/arithmetic_op.hpp" 3 4
82366 #define AUX778076_OP_PREFIX AUX778076_OP_NAME
82367
82368
82369 # 1 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 1 3 4
82370 # 22 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 3 4
82371 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
82372 # 23 "/usr/include/boost/mpl/aux_/numeric_op.hpp" 2 3 4
82373 # 27 "/usr/include/boost/mpl/aux_/arithmetic_op.hpp" 2 3 4
82374
82375
82376
82377
82378
82379
82380 #define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
82381 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
82382 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
82383 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
82384 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
82385 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp" 1 3 4
82386 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp" 3 4
82387 namespace boost { namespace mpl {
82388
82389 template<
82390       typename Tag1
82391     , typename Tag2
82392     >
82393 struct minus_impl
82394     : if_c<
82395           ( Tag1::value
82396               > Tag2::value
82397             )
82398
82399         , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
82400         , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
82401         >::type
82402 {
82403 };
82404
82405
82406 template<> struct minus_impl< na,na >
82407 {
82408     template< typename U1, typename U2 > struct apply
82409     {
82410         typedef apply type;
82411         static const int value = 0;
82412     };
82413 };
82414
82415 template< typename Tag > struct minus_impl< na,Tag >
82416 {
82417     template< typename U1, typename U2 > struct apply
82418     {
82419         typedef apply type;
82420         static const int value = 0;
82421     };
82422 };
82423
82424 template< typename Tag > struct minus_impl< Tag,na >
82425 {
82426     template< typename U1, typename U2 > struct apply
82427     {
82428         typedef apply type;
82429         static const int value = 0;
82430     };
82431 };
82432
82433 template< typename T > struct minus_tag
82434 {
82435     typedef typename T::tag type;
82436 };
82437
82438 template<
82439       typename N1 = na
82440     , typename N2 = na
82441     , typename N3 = na, typename N4 = na, typename N5 = na
82442     >
82443 struct minus
82444     : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
82445 {
82446    
82447
82448
82449
82450
82451 };
82452
82453 template<
82454       typename N1, typename N2, typename N3, typename N4
82455     >
82456 struct minus< N1,N2,N3,N4,na >
82457
82458     : minus< minus< minus< N1,N2 >, N3>, N4>
82459 {
82460    
82461
82462
82463
82464
82465 };
82466
82467 template<
82468       typename N1, typename N2, typename N3
82469     >
82470 struct minus< N1,N2,N3,na,na >
82471
82472     : minus< minus< N1,N2 >, N3>
82473 {
82474    
82475
82476
82477
82478
82479 };
82480
82481 template<
82482       typename N1, typename N2
82483     >
82484 struct minus< N1,N2,na,na,na >
82485     : minus_impl<
82486           typename minus_tag<N1>::type
82487         , typename minus_tag<N2>::type
82488         >::template apply< N1,N2 >::type
82489 {
82490    
82491
82492
82493
82494
82495
82496 };
82497
82498 template<> struct minus< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : minus< T1 , T2 > { }; }; template< typename Tag > struct lambda< minus< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef minus< na , na > result_; typedef minus< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< minus< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< minus< na , na > > : int_<-1> { }; }
82499
82500 }}
82501
82502 namespace boost { namespace mpl {
82503 template<>
82504 struct minus_impl< integral_c_tag,integral_c_tag >
82505 {
82506     template< typename N1, typename N2 > struct apply
82507
82508         : integral_c<
82509               typename aux::largest_int<
82510                   typename N1::value_type
82511                 , typename N2::value_type
82512                 >::type
82513             , ( N1::value
82514                   - N2::value
82515                 )
82516             >
82517     {
82518     };
82519 };
82520
82521 }}
82522 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
82523 #undef AUX_PREPROCESSED_HEADER
82524
82525 #undef BOOST_MPL_PREPROCESSED_HEADER
82526 # 35 "/usr/include/boost/mpl/aux_/arithmetic_op.hpp" 2 3 4
82527 # 87 "/usr/include/boost/mpl/aux_/arithmetic_op.hpp" 3 4
82528 #undef AUX778076_OP_TAG_NAME
82529 #undef AUX778076_OP_IMPL_NAME
82530 #undef AUX778076_OP_ARITY
82531 #undef AUX778076_OP_PREFIX
82532 #undef AUX778076_OP_NAME
82533 #undef AUX778076_OP_TOKEN
82534 # 20 "/usr/include/boost/mpl/minus.hpp" 2 3 4
82535 # 21 "/usr/include/boost/mpl/vector/aux_/iterator.hpp" 2 3 4
82536 # 1 "/usr/include/boost/mpl/advance_fwd.hpp" 1 3 4
82537
82538
82539 #define BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED 
82540 # 19 "/usr/include/boost/mpl/advance_fwd.hpp" 3 4
82541 namespace boost { namespace mpl {
82542
82543
82544
82545 template< typename Tag > struct advance_impl;
82546 template< typename Iterator, typename N > struct advance;
82547
82548 }}
82549 # 22 "/usr/include/boost/mpl/vector/aux_/iterator.hpp" 2 3 4
82550 # 1 "/usr/include/boost/mpl/distance_fwd.hpp" 1 3 4
82551
82552
82553 #define BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED 
82554 # 19 "/usr/include/boost/mpl/distance_fwd.hpp" 3 4
82555 namespace boost { namespace mpl {
82556
82557
82558
82559 template< typename Tag > struct distance_impl;
82560 template< typename First, typename Last > struct distance;
82561
82562 }}
82563 # 23 "/usr/include/boost/mpl/vector/aux_/iterator.hpp" 2 3 4
82564
82565 # 1 "/usr/include/boost/mpl/prior.hpp" 1 3 4
82566
82567
82568 #define BOOST_MPL_PRIOR_HPP_INCLUDED 
82569 # 25 "/usr/include/boost/mpl/vector/aux_/iterator.hpp" 2 3 4
82570
82571
82572
82573
82574
82575 namespace boost { namespace mpl {
82576
82577 template<
82578       typename Vector
82579     , long n_
82580     >
82581 struct v_iter
82582 {
82583     typedef aux::v_iter_tag tag;
82584     typedef random_access_iterator_tag category;
82585     typedef typename v_at<Vector,n_>::type type;
82586
82587     typedef Vector vector_;
82588     typedef mpl::long_<n_> pos;
82589 # 56 "/usr/include/boost/mpl/vector/aux_/iterator.hpp" 3 4
82590 };
82591
82592
82593
82594
82595 template<
82596       typename Vector
82597     , long n_
82598     >
82599 struct next< v_iter<Vector,n_> >
82600 {
82601     typedef v_iter<Vector,(n_ + 1)> type;
82602 };
82603
82604 template<
82605       typename Vector
82606     , long n_
82607     >
82608 struct prior< v_iter<Vector,n_> >
82609 {
82610     typedef v_iter<Vector,(n_ - 1)> type;
82611 };
82612
82613 template<
82614       typename Vector
82615     , long n_
82616     , typename Distance
82617     >
82618 struct advance< v_iter<Vector,n_>,Distance>
82619 {
82620     typedef v_iter<
82621           Vector
82622         , (n_ + Distance::value)
82623         > type;
82624 };
82625
82626 template<
82627       typename Vector
82628     , long n_
82629     , long m_
82630     >
82631 struct distance< v_iter<Vector,n_>, v_iter<Vector,m_> >
82632     : mpl::long_<(m_ - n_)>
82633 {
82634 };
82635 # 128 "/usr/include/boost/mpl/vector/aux_/iterator.hpp" 3 4
82636 }}
82637 # 23 "/usr/include/boost/mpl/vector/aux_/vector0.hpp" 2 3 4
82638
82639
82640
82641 namespace boost { namespace mpl {
82642
82643 template< typename Dummy = na > struct vector0;
82644
82645 template<> struct vector0<na>
82646 {
82647
82648     typedef aux::vector_tag tag;
82649     typedef vector0 type;
82650     typedef long_<32768> lower_bound_;
82651     typedef lower_bound_ upper_bound_;
82652     typedef long_<0> size;
82653
82654     static aux::type_wrapper<void_> item_(...);
82655 # 48 "/usr/include/boost/mpl/vector/aux_/vector0.hpp" 3 4
82656 };
82657
82658 }}
82659 # 19 "/usr/include/boost/mpl/vector/aux_/clear.hpp" 2 3 4
82660
82661
82662
82663
82664 namespace boost { namespace mpl {
82665
82666
82667
82668 template<>
82669 struct clear_impl< aux::vector_tag >
82670 {
82671     template< typename Vector > struct apply
82672     {
82673         typedef vector0<> type;
82674     };
82675 };
82676 # 53 "/usr/include/boost/mpl/vector/aux_/clear.hpp" 3 4
82677 }}
82678 # 25 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
82679 # 1 "/usr/include/boost/mpl/vector/aux_/O1_size.hpp" 1 3 4
82680
82681
82682 #define BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED 
82683 # 24 "/usr/include/boost/mpl/vector/aux_/O1_size.hpp" 3 4
82684 namespace boost { namespace mpl {
82685
82686
82687
82688 template<>
82689 struct O1_size_impl< aux::vector_tag >
82690 {
82691     template< typename Vector > struct apply
82692         : Vector::size
82693     {
82694     };
82695 };
82696 # 54 "/usr/include/boost/mpl/vector/aux_/O1_size.hpp" 3 4
82697 }}
82698 # 26 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
82699 # 1 "/usr/include/boost/mpl/vector/aux_/size.hpp" 1 3 4
82700
82701
82702 #define BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED 
82703 # 23 "/usr/include/boost/mpl/vector/aux_/size.hpp" 3 4
82704 namespace boost { namespace mpl {
82705
82706
82707
82708 template<>
82709 struct size_impl< aux::vector_tag >
82710     : O1_size_impl< aux::vector_tag >
82711 {
82712 };
82713 # 47 "/usr/include/boost/mpl/vector/aux_/size.hpp" 3 4
82714 }}
82715 # 27 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
82716 # 1 "/usr/include/boost/mpl/vector/aux_/empty.hpp" 1 3 4
82717
82718
82719 #define BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED 
82720 # 24 "/usr/include/boost/mpl/vector/aux_/empty.hpp" 3 4
82721 namespace boost { namespace mpl {
82722
82723
82724
82725 template<>
82726 struct empty_impl< aux::vector_tag >
82727 {
82728     template< typename Vector > struct apply
82729         : is_same<
82730               typename Vector::lower_bound_
82731             , typename Vector::upper_bound_
82732             >
82733     {
82734     };
82735 };
82736 # 66 "/usr/include/boost/mpl/vector/aux_/empty.hpp" 3 4
82737 }}
82738 # 28 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
82739
82740
82741
82742 # 1 "/usr/include/boost/mpl/vector/aux_/begin_end.hpp" 1 3 4
82743
82744
82745 #define BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED 
82746 # 25 "/usr/include/boost/mpl/vector/aux_/begin_end.hpp" 3 4
82747 namespace boost { namespace mpl {
82748
82749 template<>
82750 struct begin_impl< aux::vector_tag >
82751 {
82752     template< typename Vector > struct apply
82753     {
82754         typedef v_iter<Vector,0> type;
82755     };
82756 };
82757
82758 template<>
82759 struct end_impl< aux::vector_tag >
82760 {
82761     template< typename Vector > struct apply
82762     {
82763         typedef v_iter<Vector,Vector::size::value> type;
82764     };
82765 };
82766
82767 }}
82768 # 32 "/usr/include/boost/mpl/vector/vector0.hpp" 2 3 4
82769 # 19 "/usr/include/boost/mpl/vector/vector10.hpp" 2 3 4
82770
82771
82772
82773
82774
82775
82776
82777 #define BOOST_MPL_PREPROCESSED_HEADER vector10.hpp
82778 # 1 "/usr/include/boost/mpl/vector/aux_/include_preprocessed.hpp" 1 3 4
82779 # 24 "/usr/include/boost/mpl/vector/aux_/include_preprocessed.hpp" 3 4
82780 #define AUX778076_INCLUDE_DIR typeof_based
82781 # 33 "/usr/include/boost/mpl/vector/aux_/include_preprocessed.hpp" 3 4
82782 #define AUX778076_HEADER AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER
82783 # 43 "/usr/include/boost/mpl/vector/aux_/include_preprocessed.hpp" 3 4
82784 # 1 "/usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp" 1 3 4
82785 # 12 "/usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp" 3 4
82786 namespace boost { namespace mpl {
82787
82788 template<
82789       typename T0
82790     >
82791 struct vector1
82792     : v_item<
82793           T0
82794         , vector0< >
82795         >
82796 {
82797     typedef vector1 type;
82798 };
82799
82800 template<
82801       typename T0, typename T1
82802     >
82803 struct vector2
82804     : v_item<
82805           T1
82806         , vector1<T0>
82807         >
82808 {
82809     typedef vector2 type;
82810 };
82811
82812 template<
82813       typename T0, typename T1, typename T2
82814     >
82815 struct vector3
82816     : v_item<
82817           T2
82818         , vector2< T0,T1 >
82819         >
82820 {
82821     typedef vector3 type;
82822 };
82823
82824 template<
82825       typename T0, typename T1, typename T2, typename T3
82826     >
82827 struct vector4
82828     : v_item<
82829           T3
82830         , vector3< T0,T1,T2 >
82831         >
82832 {
82833     typedef vector4 type;
82834 };
82835
82836 template<
82837       typename T0, typename T1, typename T2, typename T3, typename T4
82838     >
82839 struct vector5
82840     : v_item<
82841           T4
82842         , vector4< T0,T1,T2,T3 >
82843         >
82844 {
82845     typedef vector5 type;
82846 };
82847
82848 template<
82849       typename T0, typename T1, typename T2, typename T3, typename T4
82850     , typename T5
82851     >
82852 struct vector6
82853     : v_item<
82854           T5
82855         , vector5< T0,T1,T2,T3,T4 >
82856         >
82857 {
82858     typedef vector6 type;
82859 };
82860
82861 template<
82862       typename T0, typename T1, typename T2, typename T3, typename T4
82863     , typename T5, typename T6
82864     >
82865 struct vector7
82866     : v_item<
82867           T6
82868         , vector6< T0,T1,T2,T3,T4,T5 >
82869         >
82870 {
82871     typedef vector7 type;
82872 };
82873
82874 template<
82875       typename T0, typename T1, typename T2, typename T3, typename T4
82876     , typename T5, typename T6, typename T7
82877     >
82878 struct vector8
82879     : v_item<
82880           T7
82881         , vector7< T0,T1,T2,T3,T4,T5,T6 >
82882         >
82883 {
82884     typedef vector8 type;
82885 };
82886
82887 template<
82888       typename T0, typename T1, typename T2, typename T3, typename T4
82889     , typename T5, typename T6, typename T7, typename T8
82890     >
82891 struct vector9
82892     : v_item<
82893           T8
82894         , vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
82895         >
82896 {
82897     typedef vector9 type;
82898 };
82899
82900 template<
82901       typename T0, typename T1, typename T2, typename T3, typename T4
82902     , typename T5, typename T6, typename T7, typename T8, typename T9
82903     >
82904 struct vector10
82905     : v_item<
82906           T9
82907         , vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
82908         >
82909 {
82910     typedef vector10 type;
82911 };
82912
82913 }}
82914 # 44 "/usr/include/boost/mpl/vector/aux_/include_preprocessed.hpp" 2 3 4
82915
82916 #undef AUX778076_HEADER
82917 #undef AUX778076_INCLUDE_DIR
82918
82919 #undef BOOST_MPL_PREPROCESSED_HEADER
82920 # 28 "/usr/include/boost/mpl/vector/vector10.hpp" 2 3 4
82921 # 19 "/usr/include/boost/mpl/vector/vector20.hpp" 2 3 4
82922
82923
82924
82925
82926
82927
82928
82929 #define BOOST_MPL_PREPROCESSED_HEADER vector20.hpp
82930 # 1 "/usr/include/boost/mpl/vector/aux_/include_preprocessed.hpp" 1 3 4
82931 # 24 "/usr/include/boost/mpl/vector/aux_/include_preprocessed.hpp" 3 4
82932 #define AUX778076_INCLUDE_DIR typeof_based
82933 # 33 "/usr/include/boost/mpl/vector/aux_/include_preprocessed.hpp" 3 4
82934 #define AUX778076_HEADER AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER
82935 # 43 "/usr/include/boost/mpl/vector/aux_/include_preprocessed.hpp" 3 4
82936 # 1 "/usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp" 1 3 4
82937 # 12 "/usr/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp" 3 4
82938 namespace boost { namespace mpl {
82939
82940 template<
82941       typename T0, typename T1, typename T2, typename T3, typename T4
82942     , typename T5, typename T6, typename T7, typename T8, typename T9
82943     , typename T10
82944     >
82945 struct vector11
82946     : v_item<
82947           T10
82948         , vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
82949         >
82950 {
82951     typedef vector11 type;
82952 };
82953
82954 template<
82955       typename T0, typename T1, typename T2, typename T3, typename T4
82956     , typename T5, typename T6, typename T7, typename T8, typename T9
82957     , typename T10, typename T11
82958     >
82959 struct vector12
82960     : v_item<
82961           T11
82962         , vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
82963         >
82964 {
82965     typedef vector12 type;
82966 };
82967
82968 template<
82969       typename T0, typename T1, typename T2, typename T3, typename T4
82970     , typename T5, typename T6, typename T7, typename T8, typename T9
82971     , typename T10, typename T11, typename T12
82972     >
82973 struct vector13
82974     : v_item<
82975           T12
82976         , vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
82977         >
82978 {
82979     typedef vector13 type;
82980 };
82981
82982 template<
82983       typename T0, typename T1, typename T2, typename T3, typename T4
82984     , typename T5, typename T6, typename T7, typename T8, typename T9
82985     , typename T10, typename T11, typename T12, typename T13
82986     >
82987 struct vector14
82988     : v_item<
82989           T13
82990         , vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
82991         >
82992 {
82993     typedef vector14 type;
82994 };
82995
82996 template<
82997       typename T0, typename T1, typename T2, typename T3, typename T4
82998     , typename T5, typename T6, typename T7, typename T8, typename T9
82999     , typename T10, typename T11, typename T12, typename T13, typename T14
83000     >
83001 struct vector15
83002     : v_item<
83003           T14
83004         , vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
83005         >
83006 {
83007     typedef vector15 type;
83008 };
83009
83010 template<
83011       typename T0, typename T1, typename T2, typename T3, typename T4
83012     , typename T5, typename T6, typename T7, typename T8, typename T9
83013     , typename T10, typename T11, typename T12, typename T13, typename T14
83014     , typename T15
83015     >
83016 struct vector16
83017     : v_item<
83018           T15
83019         , vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >
83020         >
83021 {
83022     typedef vector16 type;
83023 };
83024
83025 template<
83026       typename T0, typename T1, typename T2, typename T3, typename T4
83027     , typename T5, typename T6, typename T7, typename T8, typename T9
83028     , typename T10, typename T11, typename T12, typename T13, typename T14
83029     , typename T15, typename T16
83030     >
83031 struct vector17
83032     : v_item<
83033           T16
83034         , vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >
83035         >
83036 {
83037     typedef vector17 type;
83038 };
83039
83040 template<
83041       typename T0, typename T1, typename T2, typename T3, typename T4
83042     , typename T5, typename T6, typename T7, typename T8, typename T9
83043     , typename T10, typename T11, typename T12, typename T13, typename T14
83044     , typename T15, typename T16, typename T17
83045     >
83046 struct vector18
83047     : v_item<
83048           T17
83049         , vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >
83050         >
83051 {
83052     typedef vector18 type;
83053 };
83054
83055 template<
83056       typename T0, typename T1, typename T2, typename T3, typename T4
83057     , typename T5, typename T6, typename T7, typename T8, typename T9
83058     , typename T10, typename T11, typename T12, typename T13, typename T14
83059     , typename T15, typename T16, typename T17, typename T18
83060     >
83061 struct vector19
83062     : v_item<
83063           T18
83064         , vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >
83065         >
83066 {
83067     typedef vector19 type;
83068 };
83069
83070 template<
83071       typename T0, typename T1, typename T2, typename T3, typename T4
83072     , typename T5, typename T6, typename T7, typename T8, typename T9
83073     , typename T10, typename T11, typename T12, typename T13, typename T14
83074     , typename T15, typename T16, typename T17, typename T18, typename T19
83075     >
83076 struct vector20
83077     : v_item<
83078           T19
83079         , vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >
83080         >
83081 {
83082     typedef vector20 type;
83083 };
83084
83085 }}
83086 # 44 "/usr/include/boost/mpl/vector/aux_/include_preprocessed.hpp" 2 3 4
83087
83088 #undef AUX778076_HEADER
83089 #undef AUX778076_INCLUDE_DIR
83090
83091 #undef BOOST_MPL_PREPROCESSED_HEADER
83092 # 28 "/usr/include/boost/mpl/vector/vector20.hpp" 2 3 4
83093 # 37 "/usr/include/boost/mpl/vector.hpp" 2 3 4
83094 #undef AUX778076_VECTOR_HEADER
83095
83096
83097
83098
83099
83100
83101
83102 #define BOOST_MPL_PREPROCESSED_HEADER vector.hpp
83103 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
83104 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
83105 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
83106 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
83107 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp" 1 3 4
83108 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp" 3 4
83109 namespace boost { namespace mpl {
83110
83111 template<
83112       typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
83113     , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
83114     , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
83115     , typename T12 = na, typename T13 = na, typename T14 = na
83116     , typename T15 = na, typename T16 = na, typename T17 = na
83117     , typename T18 = na, typename T19 = na
83118     >
83119 struct vector;
83120
83121 template<
83122
83123     >
83124 struct vector<
83125           na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
83126         , na, na, na
83127         >
83128     : vector0< >
83129 {
83130     typedef vector0< >::type type;
83131 };
83132
83133 template<
83134       typename T0
83135     >
83136 struct vector<
83137           T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
83138         , na, na, na
83139         >
83140     : vector1<T0>
83141 {
83142     typedef typename vector1<T0>::type type;
83143 };
83144
83145 template<
83146       typename T0, typename T1
83147     >
83148 struct vector<
83149           T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
83150         , na, na, na
83151         >
83152     : vector2< T0,T1 >
83153 {
83154     typedef typename vector2< T0,T1 >::type type;
83155 };
83156
83157 template<
83158       typename T0, typename T1, typename T2
83159     >
83160 struct vector<
83161           T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
83162         , na, na, na
83163         >
83164     : vector3< T0,T1,T2 >
83165 {
83166     typedef typename vector3< T0,T1,T2 >::type type;
83167 };
83168
83169 template<
83170       typename T0, typename T1, typename T2, typename T3
83171     >
83172 struct vector<
83173           T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
83174         , na, na, na
83175         >
83176     : vector4< T0,T1,T2,T3 >
83177 {
83178     typedef typename vector4< T0,T1,T2,T3 >::type type;
83179 };
83180
83181 template<
83182       typename T0, typename T1, typename T2, typename T3, typename T4
83183     >
83184 struct vector<
83185           T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
83186         , na, na, na
83187         >
83188     : vector5< T0,T1,T2,T3,T4 >
83189 {
83190     typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
83191 };
83192
83193 template<
83194       typename T0, typename T1, typename T2, typename T3, typename T4
83195     , typename T5
83196     >
83197 struct vector<
83198           T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
83199         , na, na, na
83200         >
83201     : vector6< T0,T1,T2,T3,T4,T5 >
83202 {
83203     typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
83204 };
83205
83206 template<
83207       typename T0, typename T1, typename T2, typename T3, typename T4
83208     , typename T5, typename T6
83209     >
83210 struct vector<
83211           T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
83212         , na, na, na
83213         >
83214     : vector7< T0,T1,T2,T3,T4,T5,T6 >
83215 {
83216     typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
83217 };
83218
83219 template<
83220       typename T0, typename T1, typename T2, typename T3, typename T4
83221     , typename T5, typename T6, typename T7
83222     >
83223 struct vector<
83224           T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
83225         , na, na, na
83226         >
83227     : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
83228 {
83229     typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
83230 };
83231
83232 template<
83233       typename T0, typename T1, typename T2, typename T3, typename T4
83234     , typename T5, typename T6, typename T7, typename T8
83235     >
83236 struct vector<
83237           T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
83238         , na, na, na
83239         >
83240     : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
83241 {
83242     typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
83243 };
83244
83245 template<
83246       typename T0, typename T1, typename T2, typename T3, typename T4
83247     , typename T5, typename T6, typename T7, typename T8, typename T9
83248     >
83249 struct vector<
83250           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
83251         , na, na, na
83252         >
83253     : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
83254 {
83255     typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
83256 };
83257
83258 template<
83259       typename T0, typename T1, typename T2, typename T3, typename T4
83260     , typename T5, typename T6, typename T7, typename T8, typename T9
83261     , typename T10
83262     >
83263 struct vector<
83264           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
83265         , na, na, na
83266         >
83267     : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
83268 {
83269     typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
83270 };
83271
83272 template<
83273       typename T0, typename T1, typename T2, typename T3, typename T4
83274     , typename T5, typename T6, typename T7, typename T8, typename T9
83275     , typename T10, typename T11
83276     >
83277 struct vector<
83278           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
83279         , na, na, na, na
83280         >
83281     : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
83282 {
83283     typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
83284 };
83285
83286 template<
83287       typename T0, typename T1, typename T2, typename T3, typename T4
83288     , typename T5, typename T6, typename T7, typename T8, typename T9
83289     , typename T10, typename T11, typename T12
83290     >
83291 struct vector<
83292           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
83293         , na, na, na, na
83294         >
83295     : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
83296 {
83297     typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
83298 };
83299
83300 template<
83301       typename T0, typename T1, typename T2, typename T3, typename T4
83302     , typename T5, typename T6, typename T7, typename T8, typename T9
83303     , typename T10, typename T11, typename T12, typename T13
83304     >
83305 struct vector<
83306           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
83307         , na, na, na, na
83308         >
83309     : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
83310 {
83311     typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
83312 };
83313
83314 template<
83315       typename T0, typename T1, typename T2, typename T3, typename T4
83316     , typename T5, typename T6, typename T7, typename T8, typename T9
83317     , typename T10, typename T11, typename T12, typename T13, typename T14
83318     >
83319 struct vector<
83320           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
83321         , na, na, na, na
83322         >
83323     : vector15<
83324           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
83325         >
83326 {
83327     typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
83328 };
83329
83330 template<
83331       typename T0, typename T1, typename T2, typename T3, typename T4
83332     , typename T5, typename T6, typename T7, typename T8, typename T9
83333     , typename T10, typename T11, typename T12, typename T13, typename T14
83334     , typename T15
83335     >
83336 struct vector<
83337           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
83338         , T15, na, na, na, na
83339         >
83340     : vector16<
83341           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
83342         , T15
83343         >
83344 {
83345     typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
83346 };
83347
83348 template<
83349       typename T0, typename T1, typename T2, typename T3, typename T4
83350     , typename T5, typename T6, typename T7, typename T8, typename T9
83351     , typename T10, typename T11, typename T12, typename T13, typename T14
83352     , typename T15, typename T16
83353     >
83354 struct vector<
83355           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
83356         , T15, T16, na, na, na
83357         >
83358     : vector17<
83359           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
83360         , T15, T16
83361         >
83362 {
83363     typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
83364 };
83365
83366 template<
83367       typename T0, typename T1, typename T2, typename T3, typename T4
83368     , typename T5, typename T6, typename T7, typename T8, typename T9
83369     , typename T10, typename T11, typename T12, typename T13, typename T14
83370     , typename T15, typename T16, typename T17
83371     >
83372 struct vector<
83373           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
83374         , T15, T16, T17, na, na
83375         >
83376     : vector18<
83377           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
83378         , T15, T16, T17
83379         >
83380 {
83381     typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
83382 };
83383
83384 template<
83385       typename T0, typename T1, typename T2, typename T3, typename T4
83386     , typename T5, typename T6, typename T7, typename T8, typename T9
83387     , typename T10, typename T11, typename T12, typename T13, typename T14
83388     , typename T15, typename T16, typename T17, typename T18
83389     >
83390 struct vector<
83391           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
83392         , T15, T16, T17, T18, na
83393         >
83394     : vector19<
83395           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
83396         , T15, T16, T17, T18
83397         >
83398 {
83399     typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
83400 };
83401
83402
83403
83404 template<
83405       typename T0, typename T1, typename T2, typename T3, typename T4
83406     , typename T5, typename T6, typename T7, typename T8, typename T9
83407     , typename T10, typename T11, typename T12, typename T13, typename T14
83408     , typename T15, typename T16, typename T17, typename T18, typename T19
83409     >
83410 struct vector
83411     : vector20<
83412           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
83413         , T15, T16, T17, T18, T19
83414         >
83415 {
83416     typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
83417 };
83418
83419 }}
83420 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
83421 #undef AUX_PREPROCESSED_HEADER
83422
83423 #undef BOOST_MPL_PREPROCESSED_HEADER
83424 # 47 "/usr/include/boost/mpl/vector.hpp" 2 3 4
83425 # 42 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 2
83426 # 1 "/usr/include/boost/mpl/for_each.hpp" 1 3 4
83427
83428
83429 #define BOOST_MPL_FOR_EACH_HPP_INCLUDED 
83430 # 18 "/usr/include/boost/mpl/for_each.hpp" 3 4
83431 # 1 "/usr/include/boost/mpl/apply.hpp" 1 3 4
83432 # 19 "/usr/include/boost/mpl/for_each.hpp" 2 3 4
83433
83434
83435
83436
83437 # 1 "/usr/include/boost/mpl/aux_/unwrap.hpp" 1 3 4
83438
83439
83440 #define BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED 
83441 # 20 "/usr/include/boost/mpl/aux_/unwrap.hpp" 3 4
83442 namespace boost { namespace mpl { namespace aux {
83443
83444 template< typename F >
83445 inline
83446 F& unwrap(F& f, long)
83447 {
83448     return f;
83449 }
83450
83451 template< typename F >
83452 inline
83453 F&
83454 unwrap(reference_wrapper<F>& f, int)
83455 {
83456     return f;
83457 }
83458
83459 template< typename F >
83460 inline
83461 F&
83462 unwrap(reference_wrapper<F> const& f, int)
83463 {
83464     return f;
83465 }
83466
83467 }}}
83468 # 24 "/usr/include/boost/mpl/for_each.hpp" 2 3 4
83469
83470
83471 # 1 "/usr/include/boost/utility/value_init.hpp" 1 3 4
83472 # 10 "/usr/include/boost/utility/value_init.hpp" 3 4
83473 #define BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP 
83474
83475 # 1 "/usr/include/boost/detail/select_type.hpp" 1 3 4
83476 # 14 "/usr/include/boost/detail/select_type.hpp" 3 4
83477 #define SELECT_TYPE_DWA20010206_HPP 
83478
83479 namespace boost { namespace detail {
83480
83481
83482
83483
83484
83485
83486   template <bool b> struct if_true
83487   {
83488       template <class T, class F>
83489       struct then { typedef T type; };
83490   };
83491
83492   template <>
83493   struct if_true<false>
83494   {
83495       template <class T, class F>
83496       struct then { typedef F type; };
83497   };
83498 }}
83499 # 13 "/usr/include/boost/utility/value_init.hpp" 2 3 4
83500 # 1 "/usr/include/boost/type_traits/cv_traits.hpp" 1 3 4
83501 # 14 "/usr/include/boost/utility/value_init.hpp" 2 3 4
83502
83503 namespace boost {
83504
83505 namespace vinit_detail {
83506
83507 template<class T>
83508 class const_T_base
83509 {
83510   protected :
83511
83512    const_T_base() : x() {}
83513
83514    T x ;
83515 } ;
83516
83517 template<class T>
83518 struct non_const_T_base
83519 {
83520   protected :
83521
83522    non_const_T_base() : x() {}
83523
83524    mutable T x ;
83525 } ;
83526
83527 template<class T>
83528 struct select_base
83529 {
83530   typedef typename
83531     detail::if_true< ::boost::is_const<T>::value >
83532       ::template then< const_T_base<T>, non_const_T_base<T> >::type type ;
83533 } ;
83534
83535 }
83536
83537 template<class T>
83538 class value_initialized : private vinit_detail::select_base<T>::type
83539 {
83540   public :
83541
83542     value_initialized() {}
83543
83544     operator T&() const { return this->x ; }
83545
83546     T& data() const { return this->x ; }
83547
83548 } ;
83549
83550 template<class T>
83551 T const& get ( value_initialized<T> const& x )
83552 {
83553   return x.data() ;
83554 }
83555 template<class T>
83556 T& get ( value_initialized<T>& x )
83557 {
83558   return x.data() ;
83559 }
83560
83561 }
83562 # 27 "/usr/include/boost/mpl/for_each.hpp" 2 3 4
83563
83564 namespace boost { namespace mpl {
83565
83566 namespace aux {
83567
83568 template< bool done = true >
83569 struct for_each_impl
83570 {
83571     template<
83572           typename Iterator
83573         , typename LastIterator
83574         , typename TransformFunc
83575         , typename F
83576         >
83577     static void execute(
83578           Iterator*
83579         , LastIterator*
83580         , TransformFunc*
83581         , F
83582         )
83583     {
83584     }
83585 };
83586
83587 template<>
83588 struct for_each_impl<false>
83589 {
83590     template<
83591           typename Iterator
83592         , typename LastIterator
83593         , typename TransformFunc
83594         , typename F
83595         >
83596     static void execute(
83597           Iterator*
83598         , LastIterator*
83599         , TransformFunc*
83600         , F f
83601         )
83602     {
83603         typedef typename deref<Iterator>::type item;
83604         typedef typename apply1<TransformFunc,item>::type arg;
83605
83606
83607
83608         value_initialized<arg> x;
83609         aux::unwrap(f, 0)(boost::get(x));
83610
83611         typedef typename mpl::next<Iterator>::type iter;
83612         for_each_impl<boost::is_same<iter,LastIterator>::value>
83613             ::execute((iter*)0, (LastIterator*)0, (TransformFunc*)0, f);
83614     }
83615 };
83616
83617 }
83618
83619
83620
83621 template<
83622       typename Sequence
83623     , typename TransformOp
83624     , typename F
83625     >
83626 inline
83627 void for_each(F f, Sequence* = 0, TransformOp* = 0)
83628 {
83629     typedef typename begin<Sequence>::type first;
83630     typedef typename end<Sequence>::type last;
83631
83632     aux::for_each_impl< boost::is_same<first,last>::value >
83633         ::execute((first*)0, (last*)0, (TransformOp*)0, f);
83634 }
83635
83636 template<
83637       typename Sequence
83638     , typename F
83639     >
83640 inline
83641 void for_each(F f, Sequence* = 0)
83642 {
83643     for_each<Sequence, identity<> >(f);
83644 }
83645
83646 }}
83647 # 43 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 2
83648 # 1 "/usr/include/boost/mpl/size.hpp" 1 3 4
83649
83650
83651 #define BOOST_MPL_SIZE_HPP_INCLUDED 
83652 # 19 "/usr/include/boost/mpl/size.hpp" 3 4
83653 # 1 "/usr/include/boost/mpl/aux_/size_impl.hpp" 1 3 4
83654
83655
83656 #define BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED 
83657 # 19 "/usr/include/boost/mpl/aux_/size_impl.hpp" 3 4
83658 # 1 "/usr/include/boost/mpl/distance.hpp" 1 3 4
83659
83660
83661 #define BOOST_MPL_DISTANCE_HPP_INCLUDED 
83662 # 18 "/usr/include/boost/mpl/distance.hpp" 3 4
83663 # 1 "/usr/include/boost/mpl/iter_fold.hpp" 1 3 4
83664
83665
83666 #define BOOST_MPL_ITER_FOLD_HPP_INCLUDED 
83667 # 19 "/usr/include/boost/mpl/iter_fold.hpp" 3 4
83668 # 1 "/usr/include/boost/mpl/O1_size.hpp" 1 3 4
83669
83670
83671 #define BOOST_MPL_O1_SIZE_HPP_INCLUDED 
83672 # 19 "/usr/include/boost/mpl/O1_size.hpp" 3 4
83673 # 1 "/usr/include/boost/mpl/aux_/O1_size_impl.hpp" 1 3 4
83674
83675
83676 #define BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED 
83677 # 20 "/usr/include/boost/mpl/aux_/O1_size_impl.hpp" 3 4
83678 # 1 "/usr/include/boost/mpl/aux_/has_size.hpp" 1 3 4
83679
83680
83681 #define BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED 
83682 # 19 "/usr/include/boost/mpl/aux_/has_size.hpp" 3 4
83683 namespace boost { namespace mpl { namespace aux {
83684 template< typename T, typename fallback_ = boost::mpl::bool_<false> > struct has_size { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper<U> const volatile* , boost::mpl::aux::type_wrapper<typename U::size>* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper<T> t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_<value> type; };
83685 }}}
83686 # 21 "/usr/include/boost/mpl/aux_/O1_size_impl.hpp" 2 3 4
83687
83688
83689
83690
83691
83692 namespace boost { namespace mpl {
83693 # 35 "/usr/include/boost/mpl/aux_/O1_size_impl.hpp" 3 4
83694 namespace aux {
83695 template< typename Sequence > struct O1_size_impl
83696     : Sequence::size
83697 {
83698 };
83699 }
83700
83701 template< typename Tag >
83702 struct O1_size_impl
83703 {
83704     template< typename Sequence > struct apply
83705
83706         : if_<
83707               aux::has_size<Sequence>
83708             , aux::O1_size_impl<Sequence>
83709             , long_<-1>
83710             >::type
83711     {
83712 # 69 "/usr/include/boost/mpl/aux_/O1_size_impl.hpp" 3 4
83713     };
83714 };
83715 # 85 "/usr/include/boost/mpl/aux_/O1_size_impl.hpp" 3 4
83716 }}
83717 # 20 "/usr/include/boost/mpl/O1_size.hpp" 2 3 4
83718
83719
83720
83721 namespace boost { namespace mpl {
83722
83723
83724 template<
83725       typename Sequence = na
83726     >
83727 struct O1_size
83728     : O1_size_impl< typename sequence_tag<Sequence>::type >
83729         ::template apply< Sequence >
83730 {
83731    
83732 };
83733
83734 template<> struct O1_size< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : O1_size< T1 > { }; }; template< typename Tag > struct lambda< O1_size< na > , Tag , int_<-1> > { typedef false_ is_le; typedef O1_size< na > result_; typedef O1_size< na > type; }; namespace aux { template< typename T1 > struct template_arity< O1_size< T1 > > : int_<1> { }; template<> struct template_arity< O1_size< na > > : int_<-1> { }; }
83735
83736 }}
83737 # 20 "/usr/include/boost/mpl/iter_fold.hpp" 2 3 4
83738
83739 # 1 "/usr/include/boost/mpl/aux_/iter_fold_impl.hpp" 1 3 4
83740
83741
83742 #define BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED 
83743 # 19 "/usr/include/boost/mpl/aux_/iter_fold_impl.hpp" 3 4
83744 # 1 "/usr/include/boost/mpl/apply.hpp" 1 3 4
83745 # 20 "/usr/include/boost/mpl/aux_/iter_fold_impl.hpp" 2 3 4
83746 # 32 "/usr/include/boost/mpl/aux_/iter_fold_impl.hpp" 3 4
83747 #define BOOST_MPL_PREPROCESSED_HEADER iter_fold_impl.hpp
83748 # 1 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 1 3 4
83749 # 22 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
83750 #define AUX_PREPROCESSED_HEADER BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER
83751 # 31 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 3 4
83752 # 1 "/usr/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp" 1 3 4
83753 # 12 "/usr/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp" 3 4
83754 namespace boost { namespace mpl { namespace aux {
83755
83756
83757
83758 template<
83759       int N
83760     , typename First
83761     , typename Last
83762     , typename State
83763     , typename ForwardOp
83764     >
83765 struct iter_fold_impl;
83766
83767 template<
83768       typename First
83769     , typename Last
83770     , typename State
83771     , typename ForwardOp
83772     >
83773 struct iter_fold_impl< 0,First,Last,State,ForwardOp >
83774 {
83775     typedef First iter0;
83776     typedef State state0;
83777     typedef state0 state;
83778     typedef iter0 iterator;
83779 };
83780
83781 template<
83782       typename First
83783     , typename Last
83784     , typename State
83785     , typename ForwardOp
83786     >
83787 struct iter_fold_impl< 1,First,Last,State,ForwardOp >
83788 {
83789     typedef First iter0;
83790     typedef State state0;
83791     typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
83792     typedef typename mpl::next<iter0>::type iter1;
83793
83794
83795     typedef state1 state;
83796     typedef iter1 iterator;
83797 };
83798
83799 template<
83800       typename First
83801     , typename Last
83802     , typename State
83803     , typename ForwardOp
83804     >
83805 struct iter_fold_impl< 2,First,Last,State,ForwardOp >
83806 {
83807     typedef First iter0;
83808     typedef State state0;
83809     typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
83810     typedef typename mpl::next<iter0>::type iter1;
83811     typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
83812     typedef typename mpl::next<iter1>::type iter2;
83813
83814
83815     typedef state2 state;
83816     typedef iter2 iterator;
83817 };
83818
83819 template<
83820       typename First
83821     , typename Last
83822     , typename State
83823     , typename ForwardOp
83824     >
83825 struct iter_fold_impl< 3,First,Last,State,ForwardOp >
83826 {
83827     typedef First iter0;
83828     typedef State state0;
83829     typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
83830     typedef typename mpl::next<iter0>::type iter1;
83831     typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
83832     typedef typename mpl::next<iter1>::type iter2;
83833     typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
83834     typedef typename mpl::next<iter2>::type iter3;
83835
83836
83837     typedef state3 state;
83838     typedef iter3 iterator;
83839 };
83840
83841 template<
83842       typename First
83843     , typename Last
83844     , typename State
83845     , typename ForwardOp
83846     >
83847 struct iter_fold_impl< 4,First,Last,State,ForwardOp >
83848 {
83849     typedef First iter0;
83850     typedef State state0;
83851     typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
83852     typedef typename mpl::next<iter0>::type iter1;
83853     typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
83854     typedef typename mpl::next<iter1>::type iter2;
83855     typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
83856     typedef typename mpl::next<iter2>::type iter3;
83857     typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
83858     typedef typename mpl::next<iter3>::type iter4;
83859
83860
83861     typedef state4 state;
83862     typedef iter4 iterator;
83863 };
83864
83865 template<
83866       int N
83867     , typename First
83868     , typename Last
83869     , typename State
83870     , typename ForwardOp
83871     >
83872 struct iter_fold_impl
83873 {
83874     typedef iter_fold_impl<
83875           4
83876         , First
83877         , Last
83878         , State
83879         , ForwardOp
83880         > chunk_;
83881
83882     typedef iter_fold_impl<
83883           ( (N - 4) < 0 ? 0 : N - 4 )
83884         , typename chunk_::iterator
83885         , Last
83886         , typename chunk_::state
83887         , ForwardOp
83888         > res_;
83889
83890     typedef typename res_::state state;
83891     typedef typename res_::iterator iterator;
83892 };
83893
83894 template<
83895       typename First
83896     , typename Last
83897     , typename State
83898     , typename ForwardOp
83899     >
83900 struct iter_fold_impl< -1,First,Last,State,ForwardOp >
83901     : iter_fold_impl<
83902           -1
83903         , typename mpl::next<First>::type
83904         , Last
83905         , typename apply2< ForwardOp,State,First >::type
83906         , ForwardOp
83907         >
83908 {
83909 };
83910
83911 template<
83912       typename Last
83913     , typename State
83914     , typename ForwardOp
83915     >
83916 struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
83917 {
83918     typedef State state;
83919     typedef Last iterator;
83920 };
83921
83922 }}}
83923 # 32 "/usr/include/boost/mpl/aux_/include_preprocessed.hpp" 2 3 4
83924 #undef AUX_PREPROCESSED_HEADER
83925
83926 #undef BOOST_MPL_PREPROCESSED_HEADER
83927 # 34 "/usr/include/boost/mpl/aux_/iter_fold_impl.hpp" 2 3 4
83928 # 22 "/usr/include/boost/mpl/iter_fold.hpp" 2 3 4
83929
83930
83931
83932 namespace boost { namespace mpl {
83933
83934 template<
83935       typename Sequence = na
83936     , typename State = na
83937     , typename ForwardOp = na
83938     >
83939 struct iter_fold
83940 {
83941     typedef typename aux::iter_fold_impl<
83942           ::boost::mpl::O1_size<Sequence>::value
83943         , typename begin<Sequence>::type
83944         , typename end<Sequence>::type
83945         , State
83946         , typename lambda<ForwardOp>::type
83947         >::state type;
83948
83949    
83950 };
83951
83952 template<> struct iter_fold< na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 =na , typename T5 =na > struct apply : iter_fold< T1 , T2 , T3 > { }; }; template< typename Tag > struct lambda< iter_fold< na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef iter_fold< na , na , na > result_; typedef iter_fold< na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< iter_fold< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< iter_fold< na , na , na > > : int_<-1> { }; }
83953
83954 }}
83955 # 19 "/usr/include/boost/mpl/distance.hpp" 2 3 4
83956 # 1 "/usr/include/boost/mpl/iterator_range.hpp" 1 3 4
83957
83958
83959 #define BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED 
83960 # 20 "/usr/include/boost/mpl/iterator_range.hpp" 3 4
83961 namespace boost { namespace mpl {
83962
83963 struct iterator_range_tag;
83964
83965 template<
83966       typename First = na
83967     , typename Last = na
83968     >
83969 struct iterator_range
83970 {
83971     typedef iterator_range_tag tag;
83972     typedef iterator_range type;
83973     typedef First begin;
83974     typedef Last end;
83975
83976    
83977 };
83978
83979 template<> struct iterator_range< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : iterator_range< T1 , T2 > { }; }; template< typename Tag > struct lambda< iterator_range< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef iterator_range< na , na > result_; typedef iterator_range< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< iterator_range< T1 , T2 > > : int_<2> { }; template<> struct template_arity< iterator_range< na , na > > : int_<-1> { }; }
83980
83981 }}
83982 # 20 "/usr/include/boost/mpl/distance.hpp" 2 3 4
83983
83984
83985
83986 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
83987 # 24 "/usr/include/boost/mpl/distance.hpp" 2 3 4
83988
83989
83990
83991
83992
83993
83994
83995 namespace boost { namespace mpl {
83996
83997
83998 template< typename Tag > struct distance_impl
83999 {
84000     template< typename First, typename Last > struct apply
84001
84002         : aux::msvc_eti_base< typename iter_fold<
84003               iterator_range<First,Last>
84004             , mpl::long_<0>
84005             , next<>
84006             >::type >
84007     {
84008 # 60 "/usr/include/boost/mpl/distance.hpp" 3 4
84009     };
84010 };
84011
84012 template<
84013       typename First = na
84014     , typename Last = na
84015     >
84016 struct distance
84017     : distance_impl< typename tag<First>::type >
84018         ::template apply<First, Last>
84019 {
84020    
84021 };
84022
84023 template<> struct distance< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : distance< T1 , T2 > { }; }; template< typename Tag > struct lambda< distance< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef distance< na , na > result_; typedef distance< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< distance< T1 , T2 > > : int_<2> { }; template<> struct template_arity< distance< na , na > > : int_<-1> { }; }
84024
84025 }}
84026 # 20 "/usr/include/boost/mpl/aux_/size_impl.hpp" 2 3 4
84027
84028
84029
84030 namespace boost { namespace mpl {
84031
84032
84033
84034
84035 template< typename Tag >
84036 struct size_impl
84037 {
84038     template< typename Sequence > struct apply
84039
84040         : distance<
84041               typename begin<Sequence>::type
84042             , typename end<Sequence>::type
84043             >
84044     {
84045
84046
84047
84048
84049
84050
84051
84052     };
84053 };
84054
84055
84056
84057 }}
84058 # 20 "/usr/include/boost/mpl/size.hpp" 2 3 4
84059
84060
84061
84062
84063 namespace boost { namespace mpl {
84064
84065 template<
84066       typename Sequence = na
84067     >
84068 struct size
84069     : aux::msvc_eti_base<
84070         typename size_impl< typename sequence_tag<Sequence>::type >
84071             ::template apply< Sequence >::type
84072       >::type
84073 {
84074    
84075 };
84076
84077 template<> struct size< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : size< T1 > { }; }; template< typename Tag > struct lambda< size< na > , Tag , int_<-1> > { typedef false_ is_le; typedef size< na > result_; typedef size< na > type; }; namespace aux { template< typename T1 > struct template_arity< size< T1 > > : int_<1> { }; template<> struct template_arity< size< na > > : int_<-1> { }; }
84078
84079 }}
84080 # 44 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 2
84081
84082
84083
84084
84085
84086
84087
84088 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/most_derived.hpp" 1
84089 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/most_derived.hpp"
84090 #define MOST_DERIVED_051018_HPP 
84091
84092
84093
84094
84095 namespace luabind { namespace detail {
84096
84097 template<class Class, class WrappedClass>
84098 struct most_derived
84099 {
84100     typedef typename boost::mpl::if_<
84101         boost::is_base_and_derived<Class, WrappedClass>
84102       , WrappedClass
84103       , Class
84104     >::type type;
84105 };
84106
84107 }}
84108 # 52 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 2
84109
84110 namespace luabind
84111 {
84112
84113  namespace detail
84114  {
84115   template<class A>
84116   struct constructor_arity_helper
84117   {
84118    static const int value = 1;
84119   };
84120
84121   template<>
84122   struct constructor_arity_helper<luabind::detail::null_type>
84123   {
84124    static const int value = 0;
84125   };
84126  }
84127
84128
84129 #define LUABIND_SUM(z,n,_) detail::constructor_arity_helper<A ##n >::value +
84130
84131  template< class A0 = detail::null_type , class A1 = detail::null_type , class A2 = detail::null_type , class A3 = detail::null_type , class A4 = detail::null_type , class A5 = detail::null_type , class A6 = detail::null_type , class A7 = detail::null_type , class A8 = detail::null_type , class A9 = detail::null_type >
84132  struct constructor
84133  {
84134   static const int arity = detail::constructor_arity_helper<A0 >::value + detail::constructor_arity_helper<A1 >::value + detail::constructor_arity_helper<A2 >::value + detail::constructor_arity_helper<A3 >::value + detail::constructor_arity_helper<A4 >::value + detail::constructor_arity_helper<A5 >::value + detail::constructor_arity_helper<A6 >::value + detail::constructor_arity_helper<A7 >::value + detail::constructor_arity_helper<A8 >::value + detail::constructor_arity_helper<A9 >::value + 0;
84135  };
84136
84137 #undef LUABIND_SUM
84138 }
84139
84140 namespace luabind { namespace detail
84141 {
84142 #define LUABIND_MATCH_DECL(Z,N,_) typedef typename find_conversion_policy< N + 1 , Policies >::type BOOST_PP_CAT(converter_policy, N); typedef typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy, N), BOOST_PP_CAT(A, N), lua_to_cpp >::type BOOST_PP_CAT(converter, N); int BOOST_PP_CAT(r, N) = BOOST_PP_CAT(converter, N)::match( L , LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A, N)) , start_index + current_index ); current_index += BOOST_PP_CAT(converter_policy, N)::has_arg; if (BOOST_PP_CAT(r, N) < 0) return -1; else m += BOOST_PP_CAT(r, N);
84143 # 106 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp"
84144  template<int N> struct match_constructor;
84145
84146 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/detail/signature_match.hpp>, 2))
84147 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
84148 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
84149 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
84150 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
84151 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
84152 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
84153 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84154 #undef BOOST_PP_SLOT_TEMP_1
84155 #undef BOOST_PP_SLOT_TEMP_2
84156 #undef BOOST_PP_SLOT_TEMP_3
84157 #undef BOOST_PP_SLOT_TEMP_4
84158 #undef BOOST_PP_SLOT_TEMP_5
84159 #undef BOOST_PP_SLOT_TEMP_6
84160 #undef BOOST_PP_SLOT_TEMP_7
84161 #undef BOOST_PP_SLOT_TEMP_8
84162 #undef BOOST_PP_SLOT_TEMP_9
84163 #undef BOOST_PP_SLOT_TEMP_10
84164
84165
84166 #define BOOST_PP_SLOT_TEMP_10 0
84167 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84168 #define BOOST_PP_SLOT_TEMP_9 0
84169 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84170 #define BOOST_PP_SLOT_TEMP_8 0
84171 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84172 #define BOOST_PP_SLOT_TEMP_7 0
84173 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84174 #define BOOST_PP_SLOT_TEMP_6 0
84175 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84176 #define BOOST_PP_SLOT_TEMP_5 0
84177 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84178 #define BOOST_PP_SLOT_TEMP_4 0
84179 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84180 #define BOOST_PP_SLOT_TEMP_3 0
84181 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84182 #define BOOST_PP_SLOT_TEMP_2 0
84183 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84184 #define BOOST_PP_SLOT_TEMP_1 0
84185 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84186 #undef BOOST_PP_VALUE
84187 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
84188
84189 #undef BOOST_PP_ITERATION_START_1
84190
84191 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
84192 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
84193 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
84194 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
84195 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
84196 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
84197 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
84198 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
84199 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
84200 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
84201
84202
84203 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
84204 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
84205 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
84206 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
84207 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
84208 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
84209 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
84210 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84211 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
84212 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
84213 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
84214 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
84215 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84216 #undef BOOST_PP_SLOT_TEMP_1
84217 #undef BOOST_PP_SLOT_TEMP_2
84218 #undef BOOST_PP_SLOT_TEMP_3
84219 #undef BOOST_PP_SLOT_TEMP_4
84220 #undef BOOST_PP_SLOT_TEMP_5
84221 #undef BOOST_PP_SLOT_TEMP_6
84222 #undef BOOST_PP_SLOT_TEMP_7
84223 #undef BOOST_PP_SLOT_TEMP_8
84224 #undef BOOST_PP_SLOT_TEMP_9
84225 #undef BOOST_PP_SLOT_TEMP_10
84226
84227
84228 #define BOOST_PP_SLOT_TEMP_10 0
84229 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84230 #define BOOST_PP_SLOT_TEMP_9 0
84231 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84232 #define BOOST_PP_SLOT_TEMP_8 0
84233 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84234 #define BOOST_PP_SLOT_TEMP_7 0
84235 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84236 #define BOOST_PP_SLOT_TEMP_6 0
84237 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84238 #define BOOST_PP_SLOT_TEMP_5 0
84239 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84240 #define BOOST_PP_SLOT_TEMP_4 0
84241 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84242 #define BOOST_PP_SLOT_TEMP_3 0
84243 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84244 #define BOOST_PP_SLOT_TEMP_2 1
84245 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84246 #define BOOST_PP_SLOT_TEMP_1 0
84247 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84248 #undef BOOST_PP_VALUE
84249 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
84250
84251 #undef BOOST_PP_ITERATION_FINISH_1
84252
84253 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
84254 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
84255 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
84256 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
84257 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
84258 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
84259 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
84260 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
84261 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
84262 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
84263
84264
84265 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
84266 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
84267 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
84268 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
84269 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
84270 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
84271 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
84272 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84273 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
84274
84275 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
84276
84277
84278
84279
84280
84281
84282
84283 #undef BOOST_PP_ITERATION_DEPTH
84284 #define BOOST_PP_ITERATION_DEPTH() 1
84285
84286 #define BOOST_PP_IS_ITERATING 1
84287
84288
84289
84290
84291
84292 #define BOOST_PP_ITERATION_1 0
84293 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84294 # 229 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84295 #define N BOOST_PP_ITERATION()
84296
84297  template<>
84298  struct match_constructor<0>
84299  {
84300   template<
84301    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84302     , class Policies
84303   >
84304   static int apply(
84305    lua_State* L
84306     , int start_index
84307     , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
84308     , const Policies*)
84309   {
84310    int m = 0;
84311
84312
84313
84314
84315    (void)start_index;
84316    (void)L;
84317
84318            
84319    return m;
84320   }
84321  };
84322
84323 #undef N
84324 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84325 #undef BOOST_PP_ITERATION_1
84326
84327
84328 #define BOOST_PP_ITERATION_1 1
84329 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84330 # 229 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84331 #define N BOOST_PP_ITERATION()
84332
84333  template<>
84334  struct match_constructor<1>
84335  {
84336   template<
84337    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84338     , class Policies
84339   >
84340   static int apply(
84341    lua_State* L
84342     , int start_index
84343     , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
84344     , const Policies*)
84345   {
84346    int m = 0;
84347
84348             int current_index = 0;
84349
84350
84351    (void)start_index;
84352    (void)L;
84353
84354             typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typedef typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type converter0; int r0 = converter0::match( L , luabind::detail::decorated_type<A0>::get() , start_index + current_index ); current_index += converter_policy0::has_arg; if (r0 < 0) return -1; else m += r0;
84355    return m;
84356   }
84357  };
84358
84359 #undef N
84360 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84361 #undef BOOST_PP_ITERATION_1
84362
84363
84364 #define BOOST_PP_ITERATION_1 2
84365 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84366 # 229 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84367 #define N BOOST_PP_ITERATION()
84368
84369  template<>
84370  struct match_constructor<2>
84371  {
84372   template<
84373    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84374     , class Policies
84375   >
84376   static int apply(
84377    lua_State* L
84378     , int start_index
84379     , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
84380     , const Policies*)
84381   {
84382    int m = 0;
84383
84384             int current_index = 0;
84385
84386
84387    (void)start_index;
84388    (void)L;
84389
84390             typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typedef typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type converter0; int r0 = converter0::match( L , luabind::detail::decorated_type<A0>::get() , start_index + current_index ); current_index += converter_policy0::has_arg; if (r0 < 0) return -1; else m += r0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typedef typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type converter1; int r1 = converter1::match( L , luabind::detail::decorated_type<A1>::get() , start_index + current_index ); current_index += converter_policy1::has_arg; if (r1 < 0) return -1; else m += r1;
84391    return m;
84392   }
84393  };
84394
84395 #undef N
84396 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84397 #undef BOOST_PP_ITERATION_1
84398
84399
84400 #define BOOST_PP_ITERATION_1 3
84401 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84402 # 229 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84403 #define N BOOST_PP_ITERATION()
84404
84405  template<>
84406  struct match_constructor<3>
84407  {
84408   template<
84409    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84410     , class Policies
84411   >
84412   static int apply(
84413    lua_State* L
84414     , int start_index
84415     , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
84416     , const Policies*)
84417   {
84418    int m = 0;
84419
84420             int current_index = 0;
84421
84422
84423    (void)start_index;
84424    (void)L;
84425
84426             typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typedef typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type converter0; int r0 = converter0::match( L , luabind::detail::decorated_type<A0>::get() , start_index + current_index ); current_index += converter_policy0::has_arg; if (r0 < 0) return -1; else m += r0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typedef typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type converter1; int r1 = converter1::match( L , luabind::detail::decorated_type<A1>::get() , start_index + current_index ); current_index += converter_policy1::has_arg; if (r1 < 0) return -1; else m += r1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typedef typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type converter2; int r2 = converter2::match( L , luabind::detail::decorated_type<A2>::get() , start_index + current_index ); current_index += converter_policy2::has_arg; if (r2 < 0) return -1; else m += r2;
84427    return m;
84428   }
84429  };
84430
84431 #undef N
84432 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84433 #undef BOOST_PP_ITERATION_1
84434
84435
84436 #define BOOST_PP_ITERATION_1 4
84437 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84438 # 229 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84439 #define N BOOST_PP_ITERATION()
84440
84441  template<>
84442  struct match_constructor<4>
84443  {
84444   template<
84445    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84446     , class Policies
84447   >
84448   static int apply(
84449    lua_State* L
84450     , int start_index
84451     , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
84452     , const Policies*)
84453   {
84454    int m = 0;
84455
84456             int current_index = 0;
84457
84458
84459    (void)start_index;
84460    (void)L;
84461
84462             typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typedef typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type converter0; int r0 = converter0::match( L , luabind::detail::decorated_type<A0>::get() , start_index + current_index ); current_index += converter_policy0::has_arg; if (r0 < 0) return -1; else m += r0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typedef typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type converter1; int r1 = converter1::match( L , luabind::detail::decorated_type<A1>::get() , start_index + current_index ); current_index += converter_policy1::has_arg; if (r1 < 0) return -1; else m += r1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typedef typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type converter2; int r2 = converter2::match( L , luabind::detail::decorated_type<A2>::get() , start_index + current_index ); current_index += converter_policy2::has_arg; if (r2 < 0) return -1; else m += r2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typedef typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type converter3; int r3 = converter3::match( L , luabind::detail::decorated_type<A3>::get() , start_index + current_index ); current_index += converter_policy3::has_arg; if (r3 < 0) return -1; else m += r3;
84463    return m;
84464   }
84465  };
84466
84467 #undef N
84468 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84469 #undef BOOST_PP_ITERATION_1
84470
84471
84472 #define BOOST_PP_ITERATION_1 5
84473 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84474 # 229 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84475 #define N BOOST_PP_ITERATION()
84476
84477  template<>
84478  struct match_constructor<5>
84479  {
84480   template<
84481    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84482     , class Policies
84483   >
84484   static int apply(
84485    lua_State* L
84486     , int start_index
84487     , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
84488     , const Policies*)
84489   {
84490    int m = 0;
84491
84492             int current_index = 0;
84493
84494
84495    (void)start_index;
84496    (void)L;
84497
84498             typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typedef typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type converter0; int r0 = converter0::match( L , luabind::detail::decorated_type<A0>::get() , start_index + current_index ); current_index += converter_policy0::has_arg; if (r0 < 0) return -1; else m += r0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typedef typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type converter1; int r1 = converter1::match( L , luabind::detail::decorated_type<A1>::get() , start_index + current_index ); current_index += converter_policy1::has_arg; if (r1 < 0) return -1; else m += r1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typedef typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type converter2; int r2 = converter2::match( L , luabind::detail::decorated_type<A2>::get() , start_index + current_index ); current_index += converter_policy2::has_arg; if (r2 < 0) return -1; else m += r2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typedef typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type converter3; int r3 = converter3::match( L , luabind::detail::decorated_type<A3>::get() , start_index + current_index ); current_index += converter_policy3::has_arg; if (r3 < 0) return -1; else m += r3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typedef typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type converter4; int r4 = converter4::match( L , luabind::detail::decorated_type<A4>::get() , start_index + current_index ); current_index += converter_policy4::has_arg; if (r4 < 0) return -1; else m += r4;
84499    return m;
84500   }
84501  };
84502
84503 #undef N
84504 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84505 #undef BOOST_PP_ITERATION_1
84506
84507
84508 #define BOOST_PP_ITERATION_1 6
84509 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84510 # 229 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84511 #define N BOOST_PP_ITERATION()
84512
84513  template<>
84514  struct match_constructor<6>
84515  {
84516   template<
84517    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84518     , class Policies
84519   >
84520   static int apply(
84521    lua_State* L
84522     , int start_index
84523     , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
84524     , const Policies*)
84525   {
84526    int m = 0;
84527
84528             int current_index = 0;
84529
84530
84531    (void)start_index;
84532    (void)L;
84533
84534             typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typedef typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type converter0; int r0 = converter0::match( L , luabind::detail::decorated_type<A0>::get() , start_index + current_index ); current_index += converter_policy0::has_arg; if (r0 < 0) return -1; else m += r0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typedef typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type converter1; int r1 = converter1::match( L , luabind::detail::decorated_type<A1>::get() , start_index + current_index ); current_index += converter_policy1::has_arg; if (r1 < 0) return -1; else m += r1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typedef typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type converter2; int r2 = converter2::match( L , luabind::detail::decorated_type<A2>::get() , start_index + current_index ); current_index += converter_policy2::has_arg; if (r2 < 0) return -1; else m += r2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typedef typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type converter3; int r3 = converter3::match( L , luabind::detail::decorated_type<A3>::get() , start_index + current_index ); current_index += converter_policy3::has_arg; if (r3 < 0) return -1; else m += r3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typedef typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type converter4; int r4 = converter4::match( L , luabind::detail::decorated_type<A4>::get() , start_index + current_index ); current_index += converter_policy4::has_arg; if (r4 < 0) return -1; else m += r4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typedef typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type converter5; int r5 = converter5::match( L , luabind::detail::decorated_type<A5>::get() , start_index + current_index ); current_index += converter_policy5::has_arg; if (r5 < 0) return -1; else m += r5;
84535    return m;
84536   }
84537  };
84538
84539 #undef N
84540 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84541 #undef BOOST_PP_ITERATION_1
84542
84543
84544 #define BOOST_PP_ITERATION_1 7
84545 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84546 # 229 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84547 #define N BOOST_PP_ITERATION()
84548
84549  template<>
84550  struct match_constructor<7>
84551  {
84552   template<
84553    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84554     , class Policies
84555   >
84556   static int apply(
84557    lua_State* L
84558     , int start_index
84559     , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
84560     , const Policies*)
84561   {
84562    int m = 0;
84563
84564             int current_index = 0;
84565
84566
84567    (void)start_index;
84568    (void)L;
84569
84570             typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typedef typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type converter0; int r0 = converter0::match( L , luabind::detail::decorated_type<A0>::get() , start_index + current_index ); current_index += converter_policy0::has_arg; if (r0 < 0) return -1; else m += r0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typedef typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type converter1; int r1 = converter1::match( L , luabind::detail::decorated_type<A1>::get() , start_index + current_index ); current_index += converter_policy1::has_arg; if (r1 < 0) return -1; else m += r1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typedef typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type converter2; int r2 = converter2::match( L , luabind::detail::decorated_type<A2>::get() , start_index + current_index ); current_index += converter_policy2::has_arg; if (r2 < 0) return -1; else m += r2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typedef typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type converter3; int r3 = converter3::match( L , luabind::detail::decorated_type<A3>::get() , start_index + current_index ); current_index += converter_policy3::has_arg; if (r3 < 0) return -1; else m += r3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typedef typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type converter4; int r4 = converter4::match( L , luabind::detail::decorated_type<A4>::get() , start_index + current_index ); current_index += converter_policy4::has_arg; if (r4 < 0) return -1; else m += r4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typedef typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type converter5; int r5 = converter5::match( L , luabind::detail::decorated_type<A5>::get() , start_index + current_index ); current_index += converter_policy5::has_arg; if (r5 < 0) return -1; else m += r5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typedef typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type converter6; int r6 = converter6::match( L , luabind::detail::decorated_type<A6>::get() , start_index + current_index ); current_index += converter_policy6::has_arg; if (r6 < 0) return -1; else m += r6;
84571    return m;
84572   }
84573  };
84574
84575 #undef N
84576 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84577 #undef BOOST_PP_ITERATION_1
84578
84579
84580 #define BOOST_PP_ITERATION_1 8
84581 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84582 # 229 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84583 #define N BOOST_PP_ITERATION()
84584
84585  template<>
84586  struct match_constructor<8>
84587  {
84588   template<
84589    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84590     , class Policies
84591   >
84592   static int apply(
84593    lua_State* L
84594     , int start_index
84595     , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
84596     , const Policies*)
84597   {
84598    int m = 0;
84599
84600             int current_index = 0;
84601
84602
84603    (void)start_index;
84604    (void)L;
84605
84606             typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typedef typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type converter0; int r0 = converter0::match( L , luabind::detail::decorated_type<A0>::get() , start_index + current_index ); current_index += converter_policy0::has_arg; if (r0 < 0) return -1; else m += r0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typedef typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type converter1; int r1 = converter1::match( L , luabind::detail::decorated_type<A1>::get() , start_index + current_index ); current_index += converter_policy1::has_arg; if (r1 < 0) return -1; else m += r1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typedef typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type converter2; int r2 = converter2::match( L , luabind::detail::decorated_type<A2>::get() , start_index + current_index ); current_index += converter_policy2::has_arg; if (r2 < 0) return -1; else m += r2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typedef typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type converter3; int r3 = converter3::match( L , luabind::detail::decorated_type<A3>::get() , start_index + current_index ); current_index += converter_policy3::has_arg; if (r3 < 0) return -1; else m += r3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typedef typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type converter4; int r4 = converter4::match( L , luabind::detail::decorated_type<A4>::get() , start_index + current_index ); current_index += converter_policy4::has_arg; if (r4 < 0) return -1; else m += r4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typedef typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type converter5; int r5 = converter5::match( L , luabind::detail::decorated_type<A5>::get() , start_index + current_index ); current_index += converter_policy5::has_arg; if (r5 < 0) return -1; else m += r5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typedef typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type converter6; int r6 = converter6::match( L , luabind::detail::decorated_type<A6>::get() , start_index + current_index ); current_index += converter_policy6::has_arg; if (r6 < 0) return -1; else m += r6; typedef typename find_conversion_policy< 7 + 1 , Policies >::type converter_policy7; typedef typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type converter7; int r7 = converter7::match( L , luabind::detail::decorated_type<A7>::get() , start_index + current_index ); current_index += converter_policy7::has_arg; if (r7 < 0) return -1; else m += r7;
84607    return m;
84608   }
84609  };
84610
84611 #undef N
84612 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84613 #undef BOOST_PP_ITERATION_1
84614
84615
84616 #define BOOST_PP_ITERATION_1 9
84617 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84618 # 229 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84619 #define N BOOST_PP_ITERATION()
84620
84621  template<>
84622  struct match_constructor<9>
84623  {
84624   template<
84625    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84626     , class Policies
84627   >
84628   static int apply(
84629    lua_State* L
84630     , int start_index
84631     , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
84632     , const Policies*)
84633   {
84634    int m = 0;
84635
84636             int current_index = 0;
84637
84638
84639    (void)start_index;
84640    (void)L;
84641
84642             typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typedef typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type converter0; int r0 = converter0::match( L , luabind::detail::decorated_type<A0>::get() , start_index + current_index ); current_index += converter_policy0::has_arg; if (r0 < 0) return -1; else m += r0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typedef typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type converter1; int r1 = converter1::match( L , luabind::detail::decorated_type<A1>::get() , start_index + current_index ); current_index += converter_policy1::has_arg; if (r1 < 0) return -1; else m += r1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typedef typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type converter2; int r2 = converter2::match( L , luabind::detail::decorated_type<A2>::get() , start_index + current_index ); current_index += converter_policy2::has_arg; if (r2 < 0) return -1; else m += r2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typedef typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type converter3; int r3 = converter3::match( L , luabind::detail::decorated_type<A3>::get() , start_index + current_index ); current_index += converter_policy3::has_arg; if (r3 < 0) return -1; else m += r3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typedef typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type converter4; int r4 = converter4::match( L , luabind::detail::decorated_type<A4>::get() , start_index + current_index ); current_index += converter_policy4::has_arg; if (r4 < 0) return -1; else m += r4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typedef typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type converter5; int r5 = converter5::match( L , luabind::detail::decorated_type<A5>::get() , start_index + current_index ); current_index += converter_policy5::has_arg; if (r5 < 0) return -1; else m += r5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typedef typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type converter6; int r6 = converter6::match( L , luabind::detail::decorated_type<A6>::get() , start_index + current_index ); current_index += converter_policy6::has_arg; if (r6 < 0) return -1; else m += r6; typedef typename find_conversion_policy< 7 + 1 , Policies >::type converter_policy7; typedef typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type converter7; int r7 = converter7::match( L , luabind::detail::decorated_type<A7>::get() , start_index + current_index ); current_index += converter_policy7::has_arg; if (r7 < 0) return -1; else m += r7; typedef typename find_conversion_policy< 8 + 1 , Policies >::type converter_policy8; typedef typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type converter8; int r8 = converter8::match( L , luabind::detail::decorated_type<A8>::get() , start_index + current_index ); current_index += converter_policy8::has_arg; if (r8 < 0) return -1; else m += r8;
84643    return m;
84644   }
84645  };
84646
84647 #undef N
84648 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84649 #undef BOOST_PP_ITERATION_1
84650
84651
84652 #define BOOST_PP_ITERATION_1 10
84653 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84654 # 229 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84655 #define N BOOST_PP_ITERATION()
84656
84657  template<>
84658  struct match_constructor<10>
84659  {
84660   template<
84661    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84662     , class Policies
84663   >
84664   static int apply(
84665    lua_State* L
84666     , int start_index
84667     , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
84668     , const Policies*)
84669   {
84670    int m = 0;
84671
84672             int current_index = 0;
84673
84674
84675    (void)start_index;
84676    (void)L;
84677
84678             typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typedef typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type converter0; int r0 = converter0::match( L , luabind::detail::decorated_type<A0>::get() , start_index + current_index ); current_index += converter_policy0::has_arg; if (r0 < 0) return -1; else m += r0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typedef typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type converter1; int r1 = converter1::match( L , luabind::detail::decorated_type<A1>::get() , start_index + current_index ); current_index += converter_policy1::has_arg; if (r1 < 0) return -1; else m += r1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typedef typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type converter2; int r2 = converter2::match( L , luabind::detail::decorated_type<A2>::get() , start_index + current_index ); current_index += converter_policy2::has_arg; if (r2 < 0) return -1; else m += r2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typedef typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type converter3; int r3 = converter3::match( L , luabind::detail::decorated_type<A3>::get() , start_index + current_index ); current_index += converter_policy3::has_arg; if (r3 < 0) return -1; else m += r3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typedef typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type converter4; int r4 = converter4::match( L , luabind::detail::decorated_type<A4>::get() , start_index + current_index ); current_index += converter_policy4::has_arg; if (r4 < 0) return -1; else m += r4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typedef typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type converter5; int r5 = converter5::match( L , luabind::detail::decorated_type<A5>::get() , start_index + current_index ); current_index += converter_policy5::has_arg; if (r5 < 0) return -1; else m += r5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typedef typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type converter6; int r6 = converter6::match( L , luabind::detail::decorated_type<A6>::get() , start_index + current_index ); current_index += converter_policy6::has_arg; if (r6 < 0) return -1; else m += r6; typedef typename find_conversion_policy< 7 + 1 , Policies >::type converter_policy7; typedef typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type converter7; int r7 = converter7::match( L , luabind::detail::decorated_type<A7>::get() , start_index + current_index ); current_index += converter_policy7::has_arg; if (r7 < 0) return -1; else m += r7; typedef typename find_conversion_policy< 8 + 1 , Policies >::type converter_policy8; typedef typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type converter8; int r8 = converter8::match( L , luabind::detail::decorated_type<A8>::get() , start_index + current_index ); current_index += converter_policy8::has_arg; if (r8 < 0) return -1; else m += r8; typedef typename find_conversion_policy< 9 + 1 , Policies >::type converter_policy9; typedef typename mpl::apply_wrap2< converter_policy9, A9, lua_to_cpp >::type converter9; int r9 = converter9::match( L , luabind::detail::decorated_type<A9>::get() , start_index + current_index ); current_index += converter_policy9::has_arg; if (r9 < 0) return -1; else m += r9;
84679    return m;
84680   }
84681  };
84682
84683 #undef N
84684 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84685 #undef BOOST_PP_ITERATION_1
84686 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
84687 #undef BOOST_PP_IS_ITERATING
84688
84689 #undef BOOST_PP_ITERATION_DEPTH
84690 #define BOOST_PP_ITERATION_DEPTH() 0
84691
84692 #undef BOOST_PP_ITERATION_START_1
84693 #undef BOOST_PP_ITERATION_FINISH_1
84694 #undef BOOST_PP_FILENAME_1
84695
84696 #undef BOOST_PP_ITERATION_FLAGS_1
84697 #undef BOOST_PP_ITERATION_PARAMS_1
84698 # 110 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 2
84699
84700 #undef LUABIND_MATCH_DECL
84701
84702
84703
84704
84705
84706
84707  template<
84708   class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
84709    , class Policies
84710  >
84711  int match_params(
84712   lua_State* L
84713    , int start_index
84714    , const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>* c
84715    , const Policies* p)
84716  {
84717   typedef constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> sig_t;
84718   return match_constructor<sig_t::arity>::apply(
84719    L, start_index, c, p);
84720  }
84721
84722  template<class Sig, int StartIndex, class Policies>
84723  struct constructor_match
84724  {
84725   inline static int apply(lua_State* L)
84726   {
84727    int top = lua_gettop(L) - StartIndex + 1;
84728    if (top != Sig::arity) return -1;
84729
84730    return match_params(L, StartIndex, (Sig*)0, (Policies*)0);
84731   }};
84732
84733 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/detail/signature_match.hpp>, 1))
84734 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
84735 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
84736 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
84737 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
84738 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
84739 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
84740 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84741 #undef BOOST_PP_SLOT_TEMP_1
84742 #undef BOOST_PP_SLOT_TEMP_2
84743 #undef BOOST_PP_SLOT_TEMP_3
84744 #undef BOOST_PP_SLOT_TEMP_4
84745 #undef BOOST_PP_SLOT_TEMP_5
84746 #undef BOOST_PP_SLOT_TEMP_6
84747 #undef BOOST_PP_SLOT_TEMP_7
84748 #undef BOOST_PP_SLOT_TEMP_8
84749 #undef BOOST_PP_SLOT_TEMP_9
84750 #undef BOOST_PP_SLOT_TEMP_10
84751
84752
84753 #define BOOST_PP_SLOT_TEMP_10 0
84754 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84755 #define BOOST_PP_SLOT_TEMP_9 0
84756 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84757 #define BOOST_PP_SLOT_TEMP_8 0
84758 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84759 #define BOOST_PP_SLOT_TEMP_7 0
84760 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84761 #define BOOST_PP_SLOT_TEMP_6 0
84762 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84763 #define BOOST_PP_SLOT_TEMP_5 0
84764 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84765 #define BOOST_PP_SLOT_TEMP_4 0
84766 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84767 #define BOOST_PP_SLOT_TEMP_3 0
84768 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84769 #define BOOST_PP_SLOT_TEMP_2 0
84770 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84771 #define BOOST_PP_SLOT_TEMP_1 0
84772 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84773 #undef BOOST_PP_VALUE
84774 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
84775
84776 #undef BOOST_PP_ITERATION_START_1
84777
84778 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
84779 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
84780 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
84781 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
84782 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
84783 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
84784 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
84785 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
84786 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
84787 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
84788
84789
84790 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
84791 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
84792 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
84793 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
84794 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
84795 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
84796 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
84797 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84798 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
84799 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
84800 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
84801 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
84802 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84803 #undef BOOST_PP_SLOT_TEMP_1
84804 #undef BOOST_PP_SLOT_TEMP_2
84805 #undef BOOST_PP_SLOT_TEMP_3
84806 #undef BOOST_PP_SLOT_TEMP_4
84807 #undef BOOST_PP_SLOT_TEMP_5
84808 #undef BOOST_PP_SLOT_TEMP_6
84809 #undef BOOST_PP_SLOT_TEMP_7
84810 #undef BOOST_PP_SLOT_TEMP_8
84811 #undef BOOST_PP_SLOT_TEMP_9
84812 #undef BOOST_PP_SLOT_TEMP_10
84813
84814
84815 #define BOOST_PP_SLOT_TEMP_10 0
84816 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84817 #define BOOST_PP_SLOT_TEMP_9 0
84818 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84819 #define BOOST_PP_SLOT_TEMP_8 0
84820 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84821 #define BOOST_PP_SLOT_TEMP_7 0
84822 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84823 #define BOOST_PP_SLOT_TEMP_6 0
84824 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84825 #define BOOST_PP_SLOT_TEMP_5 0
84826 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84827 #define BOOST_PP_SLOT_TEMP_4 0
84828 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84829 #define BOOST_PP_SLOT_TEMP_3 0
84830 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84831 #define BOOST_PP_SLOT_TEMP_2 1
84832 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84833 #define BOOST_PP_SLOT_TEMP_1 0
84834 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
84835 #undef BOOST_PP_VALUE
84836 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
84837
84838 #undef BOOST_PP_ITERATION_FINISH_1
84839
84840 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
84841 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
84842 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
84843 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
84844 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
84845 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
84846 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
84847 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
84848 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
84849 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
84850
84851
84852 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
84853 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
84854 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
84855 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
84856 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
84857 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
84858 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
84859 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84860 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
84861
84862 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
84863
84864
84865
84866
84867
84868
84869
84870 #undef BOOST_PP_ITERATION_DEPTH
84871 #define BOOST_PP_ITERATION_DEPTH() 1
84872
84873 #define BOOST_PP_IS_ITERATING 1
84874
84875
84876
84877
84878
84879 #define BOOST_PP_ITERATION_1 0
84880 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84881 # 153 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84882 #define N BOOST_PP_ITERATION()
84883
84884
84885  template<
84886      class WrappedClass
84887    , class Policies
84888    , class R
84889  
84890   
84891  >
84892  int match(R(*)(
84893   )
84894    , lua_State* L
84895    , WrappedClass*
84896    , Policies const*)
84897  {
84898   typedef constructor<> ParameterTypes;
84899   return match_params(
84900    L, 1, (ParameterTypes*)0, (Policies*)0);
84901  }
84902
84903
84904
84905
84906  template<
84907   class T
84908    , class WrappedClass
84909    , class Policies
84910    , class R
84911  
84912   
84913  >
84914  int match(
84915   R(T::*)()
84916    , lua_State* L
84917    , WrappedClass*
84918    , Policies const*)
84919  {
84920   typedef constructor<
84921    typename most_derived<T,WrappedClass>::type&
84922      
84923   > params_t;
84924
84925   return match_params(
84926    L, 1, (params_t*)0, (Policies*)0);
84927  }
84928
84929
84930  template<
84931   class T
84932    , class WrappedClass
84933    , class Policies
84934    , class R
84935   
84936    
84937  >
84938  int match(
84939   R(T::*)() const
84940    , lua_State* L
84941    , WrappedClass*
84942    , Policies const* policies)
84943  {
84944   typedef constructor<
84945    typename most_derived<T,WrappedClass>::type const&
84946   
84947   > params_t;
84948   return match_params(
84949    L, 1, (params_t*)0, (Policies*)0);
84950  }
84951
84952
84953
84954 #undef N
84955 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
84956 #undef BOOST_PP_ITERATION_1
84957
84958
84959 #define BOOST_PP_ITERATION_1 1
84960 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
84961 # 153 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
84962 #define N BOOST_PP_ITERATION()
84963
84964
84965  template<
84966      class WrappedClass
84967    , class Policies
84968    , class R
84969   ,
84970    class A0
84971  >
84972  int match(R(*)(
84973   A0)
84974    , lua_State* L
84975    , WrappedClass*
84976    , Policies const*)
84977  {
84978   typedef constructor< A0> ParameterTypes;
84979   return match_params(
84980    L, 1, (ParameterTypes*)0, (Policies*)0);
84981  }
84982
84983
84984
84985
84986  template<
84987   class T
84988    , class WrappedClass
84989    , class Policies
84990    , class R
84991   ,
84992    class A0
84993  >
84994  int match(
84995   R(T::*)( A0)
84996    , lua_State* L
84997    , WrappedClass*
84998    , Policies const*)
84999  {
85000   typedef constructor<
85001    typename most_derived<T,WrappedClass>::type&
85002       , A0
85003   > params_t;
85004
85005   return match_params(
85006    L, 1, (params_t*)0, (Policies*)0);
85007  }
85008
85009
85010  template<
85011   class T
85012    , class WrappedClass
85013    , class Policies
85014    , class R
85015    ,
85016     class A0
85017  >
85018  int match(
85019   R(T::*)( A0) const
85020    , lua_State* L
85021    , WrappedClass*
85022    , Policies const* policies)
85023  {
85024   typedef constructor<
85025    typename most_derived<T,WrappedClass>::type const&
85026    , A0
85027   > params_t;
85028   return match_params(
85029    L, 1, (params_t*)0, (Policies*)0);
85030  }
85031
85032
85033
85034 #undef N
85035 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85036 #undef BOOST_PP_ITERATION_1
85037
85038
85039 #define BOOST_PP_ITERATION_1 2
85040 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
85041 # 153 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
85042 #define N BOOST_PP_ITERATION()
85043
85044
85045  template<
85046      class WrappedClass
85047    , class Policies
85048    , class R
85049   ,
85050    class A0 , class A1
85051  >
85052  int match(R(*)(
85053   A0 , A1)
85054    , lua_State* L
85055    , WrappedClass*
85056    , Policies const*)
85057  {
85058   typedef constructor< A0 , A1> ParameterTypes;
85059   return match_params(
85060    L, 1, (ParameterTypes*)0, (Policies*)0);
85061  }
85062
85063
85064
85065
85066  template<
85067   class T
85068    , class WrappedClass
85069    , class Policies
85070    , class R
85071   ,
85072    class A0 , class A1
85073  >
85074  int match(
85075   R(T::*)( A0 , A1)
85076    , lua_State* L
85077    , WrappedClass*
85078    , Policies const*)
85079  {
85080   typedef constructor<
85081    typename most_derived<T,WrappedClass>::type&
85082       , A0 , A1
85083   > params_t;
85084
85085   return match_params(
85086    L, 1, (params_t*)0, (Policies*)0);
85087  }
85088
85089
85090  template<
85091   class T
85092    , class WrappedClass
85093    , class Policies
85094    , class R
85095    ,
85096     class A0 , class A1
85097  >
85098  int match(
85099   R(T::*)( A0 , A1) const
85100    , lua_State* L
85101    , WrappedClass*
85102    , Policies const* policies)
85103  {
85104   typedef constructor<
85105    typename most_derived<T,WrappedClass>::type const&
85106    , A0 , A1
85107   > params_t;
85108   return match_params(
85109    L, 1, (params_t*)0, (Policies*)0);
85110  }
85111
85112
85113
85114 #undef N
85115 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85116 #undef BOOST_PP_ITERATION_1
85117
85118
85119 #define BOOST_PP_ITERATION_1 3
85120 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
85121 # 153 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
85122 #define N BOOST_PP_ITERATION()
85123
85124
85125  template<
85126      class WrappedClass
85127    , class Policies
85128    , class R
85129   ,
85130    class A0 , class A1 , class A2
85131  >
85132  int match(R(*)(
85133   A0 , A1 , A2)
85134    , lua_State* L
85135    , WrappedClass*
85136    , Policies const*)
85137  {
85138   typedef constructor< A0 , A1 , A2> ParameterTypes;
85139   return match_params(
85140    L, 1, (ParameterTypes*)0, (Policies*)0);
85141  }
85142
85143
85144
85145
85146  template<
85147   class T
85148    , class WrappedClass
85149    , class Policies
85150    , class R
85151   ,
85152    class A0 , class A1 , class A2
85153  >
85154  int match(
85155   R(T::*)( A0 , A1 , A2)
85156    , lua_State* L
85157    , WrappedClass*
85158    , Policies const*)
85159  {
85160   typedef constructor<
85161    typename most_derived<T,WrappedClass>::type&
85162       , A0 , A1 , A2
85163   > params_t;
85164
85165   return match_params(
85166    L, 1, (params_t*)0, (Policies*)0);
85167  }
85168
85169
85170  template<
85171   class T
85172    , class WrappedClass
85173    , class Policies
85174    , class R
85175    ,
85176     class A0 , class A1 , class A2
85177  >
85178  int match(
85179   R(T::*)( A0 , A1 , A2) const
85180    , lua_State* L
85181    , WrappedClass*
85182    , Policies const* policies)
85183  {
85184   typedef constructor<
85185    typename most_derived<T,WrappedClass>::type const&
85186    , A0 , A1 , A2
85187   > params_t;
85188   return match_params(
85189    L, 1, (params_t*)0, (Policies*)0);
85190  }
85191
85192
85193
85194 #undef N
85195 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85196 #undef BOOST_PP_ITERATION_1
85197
85198
85199 #define BOOST_PP_ITERATION_1 4
85200 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
85201 # 153 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
85202 #define N BOOST_PP_ITERATION()
85203
85204
85205  template<
85206      class WrappedClass
85207    , class Policies
85208    , class R
85209   ,
85210    class A0 , class A1 , class A2 , class A3
85211  >
85212  int match(R(*)(
85213   A0 , A1 , A2 , A3)
85214    , lua_State* L
85215    , WrappedClass*
85216    , Policies const*)
85217  {
85218   typedef constructor< A0 , A1 , A2 , A3> ParameterTypes;
85219   return match_params(
85220    L, 1, (ParameterTypes*)0, (Policies*)0);
85221  }
85222
85223
85224
85225
85226  template<
85227   class T
85228    , class WrappedClass
85229    , class Policies
85230    , class R
85231   ,
85232    class A0 , class A1 , class A2 , class A3
85233  >
85234  int match(
85235   R(T::*)( A0 , A1 , A2 , A3)
85236    , lua_State* L
85237    , WrappedClass*
85238    , Policies const*)
85239  {
85240   typedef constructor<
85241    typename most_derived<T,WrappedClass>::type&
85242       , A0 , A1 , A2 , A3
85243   > params_t;
85244
85245   return match_params(
85246    L, 1, (params_t*)0, (Policies*)0);
85247  }
85248
85249
85250  template<
85251   class T
85252    , class WrappedClass
85253    , class Policies
85254    , class R
85255    ,
85256     class A0 , class A1 , class A2 , class A3
85257  >
85258  int match(
85259   R(T::*)( A0 , A1 , A2 , A3) const
85260    , lua_State* L
85261    , WrappedClass*
85262    , Policies const* policies)
85263  {
85264   typedef constructor<
85265    typename most_derived<T,WrappedClass>::type const&
85266    , A0 , A1 , A2 , A3
85267   > params_t;
85268   return match_params(
85269    L, 1, (params_t*)0, (Policies*)0);
85270  }
85271
85272
85273
85274 #undef N
85275 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85276 #undef BOOST_PP_ITERATION_1
85277
85278
85279 #define BOOST_PP_ITERATION_1 5
85280 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
85281 # 153 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
85282 #define N BOOST_PP_ITERATION()
85283
85284
85285  template<
85286      class WrappedClass
85287    , class Policies
85288    , class R
85289   ,
85290    class A0 , class A1 , class A2 , class A3 , class A4
85291  >
85292  int match(R(*)(
85293   A0 , A1 , A2 , A3 , A4)
85294    , lua_State* L
85295    , WrappedClass*
85296    , Policies const*)
85297  {
85298   typedef constructor< A0 , A1 , A2 , A3 , A4> ParameterTypes;
85299   return match_params(
85300    L, 1, (ParameterTypes*)0, (Policies*)0);
85301  }
85302
85303
85304
85305
85306  template<
85307   class T
85308    , class WrappedClass
85309    , class Policies
85310    , class R
85311   ,
85312    class A0 , class A1 , class A2 , class A3 , class A4
85313  >
85314  int match(
85315   R(T::*)( A0 , A1 , A2 , A3 , A4)
85316    , lua_State* L
85317    , WrappedClass*
85318    , Policies const*)
85319  {
85320   typedef constructor<
85321    typename most_derived<T,WrappedClass>::type&
85322       , A0 , A1 , A2 , A3 , A4
85323   > params_t;
85324
85325   return match_params(
85326    L, 1, (params_t*)0, (Policies*)0);
85327  }
85328
85329
85330  template<
85331   class T
85332    , class WrappedClass
85333    , class Policies
85334    , class R
85335    ,
85336     class A0 , class A1 , class A2 , class A3 , class A4
85337  >
85338  int match(
85339   R(T::*)( A0 , A1 , A2 , A3 , A4) const
85340    , lua_State* L
85341    , WrappedClass*
85342    , Policies const* policies)
85343  {
85344   typedef constructor<
85345    typename most_derived<T,WrappedClass>::type const&
85346    , A0 , A1 , A2 , A3 , A4
85347   > params_t;
85348   return match_params(
85349    L, 1, (params_t*)0, (Policies*)0);
85350  }
85351
85352
85353
85354 #undef N
85355 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85356 #undef BOOST_PP_ITERATION_1
85357
85358
85359 #define BOOST_PP_ITERATION_1 6
85360 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
85361 # 153 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
85362 #define N BOOST_PP_ITERATION()
85363
85364
85365  template<
85366      class WrappedClass
85367    , class Policies
85368    , class R
85369   ,
85370    class A0 , class A1 , class A2 , class A3 , class A4 , class A5
85371  >
85372  int match(R(*)(
85373   A0 , A1 , A2 , A3 , A4 , A5)
85374    , lua_State* L
85375    , WrappedClass*
85376    , Policies const*)
85377  {
85378   typedef constructor< A0 , A1 , A2 , A3 , A4 , A5> ParameterTypes;
85379   return match_params(
85380    L, 1, (ParameterTypes*)0, (Policies*)0);
85381  }
85382
85383
85384
85385
85386  template<
85387   class T
85388    , class WrappedClass
85389    , class Policies
85390    , class R
85391   ,
85392    class A0 , class A1 , class A2 , class A3 , class A4 , class A5
85393  >
85394  int match(
85395   R(T::*)( A0 , A1 , A2 , A3 , A4 , A5)
85396    , lua_State* L
85397    , WrappedClass*
85398    , Policies const*)
85399  {
85400   typedef constructor<
85401    typename most_derived<T,WrappedClass>::type&
85402       , A0 , A1 , A2 , A3 , A4 , A5
85403   > params_t;
85404
85405   return match_params(
85406    L, 1, (params_t*)0, (Policies*)0);
85407  }
85408
85409
85410  template<
85411   class T
85412    , class WrappedClass
85413    , class Policies
85414    , class R
85415    ,
85416     class A0 , class A1 , class A2 , class A3 , class A4 , class A5
85417  >
85418  int match(
85419   R(T::*)( A0 , A1 , A2 , A3 , A4 , A5) const
85420    , lua_State* L
85421    , WrappedClass*
85422    , Policies const* policies)
85423  {
85424   typedef constructor<
85425    typename most_derived<T,WrappedClass>::type const&
85426    , A0 , A1 , A2 , A3 , A4 , A5
85427   > params_t;
85428   return match_params(
85429    L, 1, (params_t*)0, (Policies*)0);
85430  }
85431
85432
85433
85434 #undef N
85435 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85436 #undef BOOST_PP_ITERATION_1
85437
85438
85439 #define BOOST_PP_ITERATION_1 7
85440 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
85441 # 153 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
85442 #define N BOOST_PP_ITERATION()
85443
85444
85445  template<
85446      class WrappedClass
85447    , class Policies
85448    , class R
85449   ,
85450    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
85451  >
85452  int match(R(*)(
85453   A0 , A1 , A2 , A3 , A4 , A5 , A6)
85454    , lua_State* L
85455    , WrappedClass*
85456    , Policies const*)
85457  {
85458   typedef constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6> ParameterTypes;
85459   return match_params(
85460    L, 1, (ParameterTypes*)0, (Policies*)0);
85461  }
85462
85463
85464
85465
85466  template<
85467   class T
85468    , class WrappedClass
85469    , class Policies
85470    , class R
85471   ,
85472    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
85473  >
85474  int match(
85475   R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6)
85476    , lua_State* L
85477    , WrappedClass*
85478    , Policies const*)
85479  {
85480   typedef constructor<
85481    typename most_derived<T,WrappedClass>::type&
85482       , A0 , A1 , A2 , A3 , A4 , A5 , A6
85483   > params_t;
85484
85485   return match_params(
85486    L, 1, (params_t*)0, (Policies*)0);
85487  }
85488
85489
85490  template<
85491   class T
85492    , class WrappedClass
85493    , class Policies
85494    , class R
85495    ,
85496     class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
85497  >
85498  int match(
85499   R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6) const
85500    , lua_State* L
85501    , WrappedClass*
85502    , Policies const* policies)
85503  {
85504   typedef constructor<
85505    typename most_derived<T,WrappedClass>::type const&
85506    , A0 , A1 , A2 , A3 , A4 , A5 , A6
85507   > params_t;
85508   return match_params(
85509    L, 1, (params_t*)0, (Policies*)0);
85510  }
85511
85512
85513
85514 #undef N
85515 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85516 #undef BOOST_PP_ITERATION_1
85517
85518
85519 #define BOOST_PP_ITERATION_1 8
85520 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
85521 # 153 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
85522 #define N BOOST_PP_ITERATION()
85523
85524
85525  template<
85526      class WrappedClass
85527    , class Policies
85528    , class R
85529   ,
85530    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
85531  >
85532  int match(R(*)(
85533   A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)
85534    , lua_State* L
85535    , WrappedClass*
85536    , Policies const*)
85537  {
85538   typedef constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> ParameterTypes;
85539   return match_params(
85540    L, 1, (ParameterTypes*)0, (Policies*)0);
85541  }
85542
85543
85544
85545
85546  template<
85547   class T
85548    , class WrappedClass
85549    , class Policies
85550    , class R
85551   ,
85552    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
85553  >
85554  int match(
85555   R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)
85556    , lua_State* L
85557    , WrappedClass*
85558    , Policies const*)
85559  {
85560   typedef constructor<
85561    typename most_derived<T,WrappedClass>::type&
85562       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
85563   > params_t;
85564
85565   return match_params(
85566    L, 1, (params_t*)0, (Policies*)0);
85567  }
85568
85569
85570  template<
85571   class T
85572    , class WrappedClass
85573    , class Policies
85574    , class R
85575    ,
85576     class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
85577  >
85578  int match(
85579   R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) const
85580    , lua_State* L
85581    , WrappedClass*
85582    , Policies const* policies)
85583  {
85584   typedef constructor<
85585    typename most_derived<T,WrappedClass>::type const&
85586    , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
85587   > params_t;
85588   return match_params(
85589    L, 1, (params_t*)0, (Policies*)0);
85590  }
85591
85592
85593
85594 #undef N
85595 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85596 #undef BOOST_PP_ITERATION_1
85597
85598
85599 #define BOOST_PP_ITERATION_1 9
85600 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
85601 # 153 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
85602 #define N BOOST_PP_ITERATION()
85603
85604
85605  template<
85606      class WrappedClass
85607    , class Policies
85608    , class R
85609   ,
85610    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8
85611  >
85612  int match(R(*)(
85613   A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)
85614    , lua_State* L
85615    , WrappedClass*
85616    , Policies const*)
85617  {
85618   typedef constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> ParameterTypes;
85619   return match_params(
85620    L, 1, (ParameterTypes*)0, (Policies*)0);
85621  }
85622 # 225 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
85623 #undef N
85624 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85625 #undef BOOST_PP_ITERATION_1
85626
85627
85628 #define BOOST_PP_ITERATION_1 10
85629 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1 3 4
85630 # 153 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
85631 #define N BOOST_PP_ITERATION()
85632
85633
85634  template<
85635      class WrappedClass
85636    , class Policies
85637    , class R
85638   ,
85639    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
85640  >
85641  int match(R(*)(
85642   A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)
85643    , lua_State* L
85644    , WrappedClass*
85645    , Policies const*)
85646  {
85647   typedef constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> ParameterTypes;
85648   return match_params(
85649    L, 1, (ParameterTypes*)0, (Policies*)0);
85650  }
85651 # 225 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 3 4
85652 #undef N
85653 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85654 #undef BOOST_PP_ITERATION_1
85655 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
85656 #undef BOOST_PP_IS_ITERATING
85657
85658 #undef BOOST_PP_ITERATION_DEPTH
85659 #define BOOST_PP_ITERATION_DEPTH() 0
85660
85661 #undef BOOST_PP_ITERATION_START_1
85662 #undef BOOST_PP_ITERATION_FINISH_1
85663 #undef BOOST_PP_FILENAME_1
85664
85665 #undef BOOST_PP_ITERATION_FLAGS_1
85666 #undef BOOST_PP_ITERATION_PARAMS_1
85667 # 146 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 2
85668
85669 }}
85670 # 42 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 2
85671 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1
85672 # 43 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 2
85673 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/wrapper_base.hpp" 1
85674 # 44 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 2
85675
85676
85677 namespace luabind { namespace detail
85678 {
85679  template<int N>
85680  struct constructor_helper;
85681
85682  namespace mpl = boost::mpl;
85683
85684  template<int N>
85685  struct wrapped_constructor_helper;
85686
85687 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/detail/constructor.hpp>, 1))
85688 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
85689 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
85690 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
85691 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
85692 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
85693 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
85694 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85695 #undef BOOST_PP_SLOT_TEMP_1
85696 #undef BOOST_PP_SLOT_TEMP_2
85697 #undef BOOST_PP_SLOT_TEMP_3
85698 #undef BOOST_PP_SLOT_TEMP_4
85699 #undef BOOST_PP_SLOT_TEMP_5
85700 #undef BOOST_PP_SLOT_TEMP_6
85701 #undef BOOST_PP_SLOT_TEMP_7
85702 #undef BOOST_PP_SLOT_TEMP_8
85703 #undef BOOST_PP_SLOT_TEMP_9
85704 #undef BOOST_PP_SLOT_TEMP_10
85705
85706
85707 #define BOOST_PP_SLOT_TEMP_10 0
85708 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85709 #define BOOST_PP_SLOT_TEMP_9 0
85710 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85711 #define BOOST_PP_SLOT_TEMP_8 0
85712 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85713 #define BOOST_PP_SLOT_TEMP_7 0
85714 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85715 #define BOOST_PP_SLOT_TEMP_6 0
85716 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85717 #define BOOST_PP_SLOT_TEMP_5 0
85718 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85719 #define BOOST_PP_SLOT_TEMP_4 0
85720 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85721 #define BOOST_PP_SLOT_TEMP_3 0
85722 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85723 #define BOOST_PP_SLOT_TEMP_2 0
85724 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85725 #define BOOST_PP_SLOT_TEMP_1 0
85726 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85727 #undef BOOST_PP_VALUE
85728 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
85729
85730 #undef BOOST_PP_ITERATION_START_1
85731
85732 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
85733 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
85734 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
85735 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
85736 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
85737 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
85738 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
85739 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
85740 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
85741 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
85742
85743
85744 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
85745 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
85746 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
85747 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
85748 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
85749 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
85750 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
85751 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85752 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
85753 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
85754 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
85755 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
85756 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85757 #undef BOOST_PP_SLOT_TEMP_1
85758 #undef BOOST_PP_SLOT_TEMP_2
85759 #undef BOOST_PP_SLOT_TEMP_3
85760 #undef BOOST_PP_SLOT_TEMP_4
85761 #undef BOOST_PP_SLOT_TEMP_5
85762 #undef BOOST_PP_SLOT_TEMP_6
85763 #undef BOOST_PP_SLOT_TEMP_7
85764 #undef BOOST_PP_SLOT_TEMP_8
85765 #undef BOOST_PP_SLOT_TEMP_9
85766 #undef BOOST_PP_SLOT_TEMP_10
85767
85768
85769 #define BOOST_PP_SLOT_TEMP_10 0
85770 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85771 #define BOOST_PP_SLOT_TEMP_9 0
85772 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85773 #define BOOST_PP_SLOT_TEMP_8 0
85774 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85775 #define BOOST_PP_SLOT_TEMP_7 0
85776 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85777 #define BOOST_PP_SLOT_TEMP_6 0
85778 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85779 #define BOOST_PP_SLOT_TEMP_5 0
85780 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85781 #define BOOST_PP_SLOT_TEMP_4 0
85782 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85783 #define BOOST_PP_SLOT_TEMP_3 0
85784 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85785 #define BOOST_PP_SLOT_TEMP_2 1
85786 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85787 #define BOOST_PP_SLOT_TEMP_1 0
85788 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
85789 #undef BOOST_PP_VALUE
85790 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
85791
85792 #undef BOOST_PP_ITERATION_FINISH_1
85793
85794 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
85795 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
85796 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
85797 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
85798 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
85799 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
85800 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
85801 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
85802 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
85803 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
85804
85805
85806 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
85807 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
85808 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
85809 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
85810 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
85811 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
85812 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
85813 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85814 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
85815
85816 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
85817
85818
85819
85820
85821
85822
85823
85824 #undef BOOST_PP_ITERATION_DEPTH
85825 #define BOOST_PP_ITERATION_DEPTH() 1
85826
85827 #define BOOST_PP_IS_ITERATING 1
85828
85829
85830
85831
85832
85833 #define BOOST_PP_ITERATION_1 0
85834 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1 3 4
85835 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
85836 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n+1,Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
85837
85838
85839
85840
85841
85842
85843 #define LUABIND_PARAM(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2)
85844
85845
85846  template<>
85847  struct constructor_helper<0>
85848  {
85849         template<class T, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
85850         static T* execute(
85851             lua_State* L
85852           , weak_ref const&
85853           , T*
85854           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
85855           , Policies*)
85856         {
85857            
85858             return new T();
85859         }
85860 # 137 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
85861  };
85862
85863  template<>
85864  struct wrapped_constructor_helper<0>
85865  {
85866         template<class T, class W, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
85867         static T* execute(
85868             lua_State* L
85869           , weak_ref const& ref
85870           , T*
85871           , W*
85872           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
85873           , Policies*)
85874         {
85875            
85876             W* result = new W();
85877             static_cast<weak_ref&>(detail::wrap_access::ref(*result)) = ref;
85878             return result;
85879         }
85880 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
85881  };
85882
85883
85884 #undef LUABIND_PARAM
85885 #undef LUABIND_DECL
85886 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85887 #undef BOOST_PP_ITERATION_1
85888
85889
85890 #define BOOST_PP_ITERATION_1 1
85891 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1 3 4
85892 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
85893 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n+1,Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
85894
85895
85896
85897
85898
85899
85900 #define LUABIND_PARAM(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2)
85901
85902
85903  template<>
85904  struct constructor_helper<1>
85905  {
85906         template<class T, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
85907         static T* execute(
85908             lua_State* L
85909           , weak_ref const&
85910           , T*
85911           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
85912           , Policies*)
85913         {
85914             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0;
85915             return new T( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2));
85916         }
85917 # 137 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
85918  };
85919
85920  template<>
85921  struct wrapped_constructor_helper<1>
85922  {
85923         template<class T, class W, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
85924         static T* execute(
85925             lua_State* L
85926           , weak_ref const& ref
85927           , T*
85928           , W*
85929           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
85930           , Policies*)
85931         {
85932             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0;
85933             W* result = new W( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2));
85934             static_cast<weak_ref&>(detail::wrap_access::ref(*result)) = ref;
85935             return result;
85936         }
85937 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
85938  };
85939
85940
85941 #undef LUABIND_PARAM
85942 #undef LUABIND_DECL
85943 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
85944 #undef BOOST_PP_ITERATION_1
85945
85946
85947 #define BOOST_PP_ITERATION_1 2
85948 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1 3 4
85949 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
85950 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n+1,Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
85951
85952
85953
85954
85955
85956
85957 #define LUABIND_PARAM(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2)
85958
85959
85960  template<>
85961  struct constructor_helper<2>
85962  {
85963         template<class T, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
85964         static T* execute(
85965             lua_State* L
85966           , weak_ref const&
85967           , T*
85968           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
85969           , Policies*)
85970         {
85971             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1;
85972             return new T( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2));
85973         }
85974 # 137 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
85975  };
85976
85977  template<>
85978  struct wrapped_constructor_helper<2>
85979  {
85980         template<class T, class W, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
85981         static T* execute(
85982             lua_State* L
85983           , weak_ref const& ref
85984           , T*
85985           , W*
85986           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
85987           , Policies*)
85988         {
85989             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1;
85990             W* result = new W( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2));
85991             static_cast<weak_ref&>(detail::wrap_access::ref(*result)) = ref;
85992             return result;
85993         }
85994 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
85995  };
85996
85997
85998 #undef LUABIND_PARAM
85999 #undef LUABIND_DECL
86000 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86001 #undef BOOST_PP_ITERATION_1
86002
86003
86004 #define BOOST_PP_ITERATION_1 3
86005 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1 3 4
86006 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86007 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n+1,Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
86008
86009
86010
86011
86012
86013
86014 #define LUABIND_PARAM(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2)
86015
86016
86017  template<>
86018  struct constructor_helper<3>
86019  {
86020         template<class T, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86021         static T* execute(
86022             lua_State* L
86023           , weak_ref const&
86024           , T*
86025           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86026           , Policies*)
86027         {
86028             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2;
86029             return new T( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2));
86030         }
86031 # 137 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86032  };
86033
86034  template<>
86035  struct wrapped_constructor_helper<3>
86036  {
86037         template<class T, class W, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86038         static T* execute(
86039             lua_State* L
86040           , weak_ref const& ref
86041           , T*
86042           , W*
86043           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86044           , Policies*)
86045         {
86046             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2;
86047             W* result = new W( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2));
86048             static_cast<weak_ref&>(detail::wrap_access::ref(*result)) = ref;
86049             return result;
86050         }
86051 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86052  };
86053
86054
86055 #undef LUABIND_PARAM
86056 #undef LUABIND_DECL
86057 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86058 #undef BOOST_PP_ITERATION_1
86059
86060
86061 #define BOOST_PP_ITERATION_1 4
86062 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1 3 4
86063 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86064 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n+1,Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
86065
86066
86067
86068
86069
86070
86071 #define LUABIND_PARAM(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2)
86072
86073
86074  template<>
86075  struct constructor_helper<4>
86076  {
86077         template<class T, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86078         static T* execute(
86079             lua_State* L
86080           , weak_ref const&
86081           , T*
86082           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86083           , Policies*)
86084         {
86085             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3;
86086             return new T( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2));
86087         }
86088 # 137 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86089  };
86090
86091  template<>
86092  struct wrapped_constructor_helper<4>
86093  {
86094         template<class T, class W, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86095         static T* execute(
86096             lua_State* L
86097           , weak_ref const& ref
86098           , T*
86099           , W*
86100           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86101           , Policies*)
86102         {
86103             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3;
86104             W* result = new W( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2));
86105             static_cast<weak_ref&>(detail::wrap_access::ref(*result)) = ref;
86106             return result;
86107         }
86108 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86109  };
86110
86111
86112 #undef LUABIND_PARAM
86113 #undef LUABIND_DECL
86114 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86115 #undef BOOST_PP_ITERATION_1
86116
86117
86118 #define BOOST_PP_ITERATION_1 5
86119 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1 3 4
86120 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86121 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n+1,Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
86122
86123
86124
86125
86126
86127
86128 #define LUABIND_PARAM(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2)
86129
86130
86131  template<>
86132  struct constructor_helper<5>
86133  {
86134         template<class T, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86135         static T* execute(
86136             lua_State* L
86137           , weak_ref const&
86138           , T*
86139           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86140           , Policies*)
86141         {
86142             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4;
86143             return new T( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2));
86144         }
86145 # 137 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86146  };
86147
86148  template<>
86149  struct wrapped_constructor_helper<5>
86150  {
86151         template<class T, class W, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86152         static T* execute(
86153             lua_State* L
86154           , weak_ref const& ref
86155           , T*
86156           , W*
86157           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86158           , Policies*)
86159         {
86160             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4;
86161             W* result = new W( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2));
86162             static_cast<weak_ref&>(detail::wrap_access::ref(*result)) = ref;
86163             return result;
86164         }
86165 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86166  };
86167
86168
86169 #undef LUABIND_PARAM
86170 #undef LUABIND_DECL
86171 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86172 #undef BOOST_PP_ITERATION_1
86173
86174
86175 #define BOOST_PP_ITERATION_1 6
86176 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1 3 4
86177 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86178 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n+1,Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
86179
86180
86181
86182
86183
86184
86185 #define LUABIND_PARAM(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2)
86186
86187
86188  template<>
86189  struct constructor_helper<6>
86190  {
86191         template<class T, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86192         static T* execute(
86193             lua_State* L
86194           , weak_ref const&
86195           , T*
86196           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86197           , Policies*)
86198         {
86199             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 +1,Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5;
86200             return new T( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 5 + 2));
86201         }
86202 # 137 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86203  };
86204
86205  template<>
86206  struct wrapped_constructor_helper<6>
86207  {
86208         template<class T, class W, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86209         static T* execute(
86210             lua_State* L
86211           , weak_ref const& ref
86212           , T*
86213           , W*
86214           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86215           , Policies*)
86216         {
86217             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 +1,Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5;
86218             W* result = new W( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 5 + 2));
86219             static_cast<weak_ref&>(detail::wrap_access::ref(*result)) = ref;
86220             return result;
86221         }
86222 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86223  };
86224
86225
86226 #undef LUABIND_PARAM
86227 #undef LUABIND_DECL
86228 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86229 #undef BOOST_PP_ITERATION_1
86230
86231
86232 #define BOOST_PP_ITERATION_1 7
86233 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1 3 4
86234 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86235 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n+1,Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
86236
86237
86238
86239
86240
86241
86242 #define LUABIND_PARAM(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2)
86243
86244
86245  template<>
86246  struct constructor_helper<7>
86247  {
86248         template<class T, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86249         static T* execute(
86250             lua_State* L
86251           , weak_ref const&
86252           , T*
86253           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86254           , Policies*)
86255         {
86256             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 +1,Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 +1,Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6;
86257             return new T( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 5 + 2) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 6 + 2));
86258         }
86259 # 137 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86260  };
86261
86262  template<>
86263  struct wrapped_constructor_helper<7>
86264  {
86265         template<class T, class W, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86266         static T* execute(
86267             lua_State* L
86268           , weak_ref const& ref
86269           , T*
86270           , W*
86271           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86272           , Policies*)
86273         {
86274             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 +1,Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 +1,Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6;
86275             W* result = new W( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 5 + 2) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 6 + 2));
86276             static_cast<weak_ref&>(detail::wrap_access::ref(*result)) = ref;
86277             return result;
86278         }
86279 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86280  };
86281
86282
86283 #undef LUABIND_PARAM
86284 #undef LUABIND_DECL
86285 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86286 #undef BOOST_PP_ITERATION_1
86287
86288
86289 #define BOOST_PP_ITERATION_1 8
86290 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1 3 4
86291 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86292 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n+1,Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
86293
86294
86295
86296
86297
86298
86299 #define LUABIND_PARAM(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2)
86300
86301
86302  template<>
86303  struct constructor_helper<8>
86304  {
86305         template<class T, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86306         static T* execute(
86307             lua_State* L
86308           , weak_ref const&
86309           , T*
86310           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86311           , Policies*)
86312         {
86313             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 +1,Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 +1,Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 +1,Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7;
86314             return new T( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 5 + 2) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 6 + 2) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 7 + 2));
86315         }
86316 # 137 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86317  };
86318
86319  template<>
86320  struct wrapped_constructor_helper<8>
86321  {
86322         template<class T, class W, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86323         static T* execute(
86324             lua_State* L
86325           , weak_ref const& ref
86326           , T*
86327           , W*
86328           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86329           , Policies*)
86330         {
86331             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 +1,Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 +1,Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 +1,Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7;
86332             W* result = new W( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 5 + 2) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 6 + 2) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 7 + 2));
86333             static_cast<weak_ref&>(detail::wrap_access::ref(*result)) = ref;
86334             return result;
86335         }
86336 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86337  };
86338
86339
86340 #undef LUABIND_PARAM
86341 #undef LUABIND_DECL
86342 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86343 #undef BOOST_PP_ITERATION_1
86344
86345
86346 #define BOOST_PP_ITERATION_1 9
86347 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1 3 4
86348 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86349 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n+1,Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
86350
86351
86352
86353
86354
86355
86356 #define LUABIND_PARAM(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2)
86357
86358
86359  template<>
86360  struct constructor_helper<9>
86361  {
86362         template<class T, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86363         static T* execute(
86364             lua_State* L
86365           , weak_ref const&
86366           , T*
86367           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86368           , Policies*)
86369         {
86370             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 +1,Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 +1,Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 +1,Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy<8 +1,Policies>::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8;
86371             return new T( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 5 + 2) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 6 + 2) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 7 + 2) , c8.apply(L, luabind::detail::decorated_type<A8>::get(), 8 + 2));
86372         }
86373 # 137 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86374  };
86375
86376  template<>
86377  struct wrapped_constructor_helper<9>
86378  {
86379         template<class T, class W, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86380         static T* execute(
86381             lua_State* L
86382           , weak_ref const& ref
86383           , T*
86384           , W*
86385           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86386           , Policies*)
86387         {
86388             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 +1,Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 +1,Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 +1,Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy<8 +1,Policies>::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8;
86389             W* result = new W( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 5 + 2) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 6 + 2) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 7 + 2) , c8.apply(L, luabind::detail::decorated_type<A8>::get(), 8 + 2));
86390             static_cast<weak_ref&>(detail::wrap_access::ref(*result)) = ref;
86391             return result;
86392         }
86393 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86394  };
86395
86396
86397 #undef LUABIND_PARAM
86398 #undef LUABIND_DECL
86399 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86400 #undef BOOST_PP_ITERATION_1
86401
86402
86403 #define BOOST_PP_ITERATION_1 10
86404 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 1 3 4
86405 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86406 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n+1,Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
86407
86408
86409
86410
86411
86412
86413 #define LUABIND_PARAM(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2)
86414
86415
86416  template<>
86417  struct constructor_helper<10>
86418  {
86419         template<class T, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86420         static T* execute(
86421             lua_State* L
86422           , weak_ref const&
86423           , T*
86424           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86425           , Policies*)
86426         {
86427             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 +1,Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 +1,Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 +1,Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy<8 +1,Policies>::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8; typedef typename find_conversion_policy<9 +1,Policies>::type converter_policy9; typename mpl::apply_wrap2< converter_policy9, A9, lua_to_cpp >::type c9;
86428             return new T( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 5 + 2) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 6 + 2) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 7 + 2) , c8.apply(L, luabind::detail::decorated_type<A8>::get(), 8 + 2) , c9.apply(L, luabind::detail::decorated_type<A9>::get(), 9 + 2));
86429         }
86430 # 137 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86431  };
86432
86433  template<>
86434  struct wrapped_constructor_helper<10>
86435  {
86436         template<class T, class W, class Policies, class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
86437         static T* execute(
86438             lua_State* L
86439           , weak_ref const& ref
86440           , T*
86441           , W*
86442           , constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*
86443           , Policies*)
86444         {
86445             typedef typename find_conversion_policy<0 +1,Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 +1,Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 +1,Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 +1,Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 +1,Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 +1,Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 +1,Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 +1,Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy<8 +1,Policies>::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8; typedef typename find_conversion_policy<9 +1,Policies>::type converter_policy9; typename mpl::apply_wrap2< converter_policy9, A9, lua_to_cpp >::type c9;
86446             W* result = new W( c0.apply(L, luabind::detail::decorated_type<A0>::get(), 0 + 2) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + 2) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 2 + 2) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 3 + 2) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 4 + 2) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 5 + 2) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 6 + 2) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 7 + 2) , c8.apply(L, luabind::detail::decorated_type<A8>::get(), 8 + 2) , c9.apply(L, luabind::detail::decorated_type<A9>::get(), 9 + 2));
86447             static_cast<weak_ref&>(detail::wrap_access::ref(*result)) = ref;
86448             return result;
86449         }
86450 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 3 4
86451  };
86452
86453
86454 #undef LUABIND_PARAM
86455 #undef LUABIND_DECL
86456 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86457 #undef BOOST_PP_ITERATION_1
86458 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
86459 #undef BOOST_PP_IS_ITERATING
86460
86461 #undef BOOST_PP_ITERATION_DEPTH
86462 #define BOOST_PP_ITERATION_DEPTH() 0
86463
86464 #undef BOOST_PP_ITERATION_START_1
86465 #undef BOOST_PP_ITERATION_FINISH_1
86466 #undef BOOST_PP_FILENAME_1
86467
86468 #undef BOOST_PP_ITERATION_FLAGS_1
86469 #undef BOOST_PP_ITERATION_PARAMS_1
86470 # 58 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/constructor.hpp" 2
86471
86472  template<class T, class Policies, class ConstructorSig>
86473  struct construct_class
86474  {
86475   inline static void* apply(lua_State* L, weak_ref const& ref)
86476   {
86477    typedef constructor_helper<ConstructorSig::arity> helper;
86478    return helper::execute(
86479                 L
86480      , ref
86481               , (T*)0
86482               , (ConstructorSig*)0
86483               , (Policies*)0
86484             );
86485   }
86486  };
86487
86488  template<class T, class W, class Policies, class ConstructorSig>
86489  struct construct_wrapped_class
86490  {
86491   inline static void* apply(lua_State* L, weak_ref const& ref)
86492   {
86493    typedef wrapped_constructor_helper<ConstructorSig::arity> helper;
86494    return helper::execute(
86495                 L
86496               , ref
86497               , (T*)0
86498               , (W*)0
86499               , (ConstructorSig*)0
86500               , (Policies*)0
86501             );
86502   }
86503  };
86504
86505 }}
86506 # 99 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
86507 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1
86508 # 27 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp"
86509 #define LUABIND_CALL_HPP_INCLUDED 
86510
86511
86512
86513
86514
86515
86516 # 1 "/usr/include/boost/preprocessor/repetition/enum_trailing.hpp" 1 3 4
86517 # 13 "/usr/include/boost/preprocessor/repetition/enum_trailing.hpp" 3 4
86518 #define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP 
86519
86520
86521
86522
86523 # 1 "/usr/include/boost/preprocessor/detail/auto_rec.hpp" 1 3 4
86524 # 19 "/usr/include/boost/preprocessor/repetition/enum_trailing.hpp" 2 3 4
86525 # 29 "/usr/include/boost/preprocessor/repetition/enum_trailing.hpp" 3 4
86526 #define BOOST_PP_ENUM_TRAILING BOOST_PP_CAT(BOOST_PP_ENUM_TRAILING_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
86527
86528
86529 #define BOOST_PP_ENUM_TRAILING_1(c,m,d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_TRAILING_M_1, (m, d))
86530 #define BOOST_PP_ENUM_TRAILING_2(c,m,d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_TRAILING_M_2, (m, d))
86531 #define BOOST_PP_ENUM_TRAILING_3(c,m,d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_TRAILING_M_3, (m, d))
86532 # 44 "/usr/include/boost/preprocessor/repetition/enum_trailing.hpp" 3 4
86533 #define BOOST_PP_ENUM_TRAILING_4(c,m,d) BOOST_PP_ERROR(0x0003)
86534
86535
86536 #define BOOST_PP_ENUM_TRAILING_M_1(z,n,md) BOOST_PP_ENUM_TRAILING_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
86537 #define BOOST_PP_ENUM_TRAILING_M_2(z,n,md) BOOST_PP_ENUM_TRAILING_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
86538 #define BOOST_PP_ENUM_TRAILING_M_3(z,n,md) BOOST_PP_ENUM_TRAILING_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
86539 #define BOOST_PP_ENUM_TRAILING_M_1_IM(z,n,im) BOOST_PP_ENUM_TRAILING_M_1_I(z, n, im)
86540 #define BOOST_PP_ENUM_TRAILING_M_2_IM(z,n,im) BOOST_PP_ENUM_TRAILING_M_2_I(z, n, im)
86541 #define BOOST_PP_ENUM_TRAILING_M_3_IM(z,n,im) BOOST_PP_ENUM_TRAILING_M_3_I(z, n, im)
86542
86543
86544
86545
86546
86547
86548 #define BOOST_PP_ENUM_TRAILING_M_1_I(z,n,m,d) , m(z, n, d)
86549 #define BOOST_PP_ENUM_TRAILING_M_2_I(z,n,m,d) , m(z, n, d)
86550 #define BOOST_PP_ENUM_TRAILING_M_3_I(z,n,m,d) , m(z, n, d)
86551 # 35 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 2
86552
86553
86554
86555
86556 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
86557 # 40 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 2
86558
86559
86560
86561 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/yield_policy.hpp" 1
86562 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/yield_policy.hpp"
86563 #define LUABIND_YIELD_POLICY_HPP_INCLUDED 
86564
86565
86566
86567
86568 namespace luabind { namespace detail
86569 {
86570  struct yield_policy
86571  {
86572   static void precall(lua_State*, const index_map&) {}
86573   static void postcall(lua_State*, const index_map&) {}
86574  };
86575
86576  template<class T>
86577  struct has_yield
86578  {
86579   static const bool value = (boost::is_same<yield_policy, typename T::head>::value || has_yield<typename T::tail>::value);
86580
86581
86582  };
86583
86584  template<>
86585  struct has_yield<null_type>
86586  {
86587   static const bool value = false;
86588  };
86589 }}
86590
86591 namespace luabind
86592 {
86593  namespace
86594  {
86595   detail::policy_cons<detail::yield_policy, detail::null_type> yield;
86596  }
86597 }
86598 # 44 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 2
86599
86600
86601
86602 #define LUABIND_DECL(z,n,off) typedef typename find_conversion_policy< n + off , Policies >::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
86603 # 57 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp"
86604 #define LUABIND_ADD_INDEX(z,n,text) + BOOST_PP_CAT(converter_policy,n)::has_arg
86605
86606
86607 #define LUABIND_INDEX_MAP(z,n,text) text BOOST_PP_REPEAT(n, LUABIND_ADD_INDEX, _)
86608
86609
86610 #define LUABIND_PARAMS(z,n,text) BOOST_PP_CAT(c,n).apply( L , LUABIND_DECORATE_TYPE(A ##n) , LUABIND_INDEX_MAP(_,n,text) )
86611
86612
86613
86614
86615
86616
86617 #define LUABIND_POSTCALL(z,n,text) BOOST_PP_CAT(c,n).converter_postcall( L , LUABIND_DECORATE_TYPE(A ##n) , LUABIND_INDEX_MAP(_,n,text) );
86618
86619
86620
86621
86622
86623
86624 namespace luabind { namespace detail
86625 {
86626
86627  namespace mpl = boost::mpl;
86628
86629  template<class Policies>
86630  struct maybe_yield
86631  {
86632   static inline int apply(lua_State* L, int nret)
86633   {
86634    return ret(L, nret, boost::mpl::bool_<has_yield<Policies>::value>());
86635   }
86636
86637   static inline int ret(lua_State* L, int nret, boost::mpl::bool_<true>)
86638   {
86639    return lua_yield(L, nret);
86640   }
86641
86642   static inline int ret(lua_State*, int nret, boost::mpl::bool_<false>)
86643   {
86644    return nret;
86645   }
86646  };
86647
86648  template<class T>
86649  struct returns
86650  {
86651 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/detail/call.hpp>, 1))
86652 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
86653 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
86654 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
86655 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
86656 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
86657 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
86658 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86659 #undef BOOST_PP_SLOT_TEMP_1
86660 #undef BOOST_PP_SLOT_TEMP_2
86661 #undef BOOST_PP_SLOT_TEMP_3
86662 #undef BOOST_PP_SLOT_TEMP_4
86663 #undef BOOST_PP_SLOT_TEMP_5
86664 #undef BOOST_PP_SLOT_TEMP_6
86665 #undef BOOST_PP_SLOT_TEMP_7
86666 #undef BOOST_PP_SLOT_TEMP_8
86667 #undef BOOST_PP_SLOT_TEMP_9
86668 #undef BOOST_PP_SLOT_TEMP_10
86669
86670
86671 #define BOOST_PP_SLOT_TEMP_10 0
86672 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86673 #define BOOST_PP_SLOT_TEMP_9 0
86674 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86675 #define BOOST_PP_SLOT_TEMP_8 0
86676 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86677 #define BOOST_PP_SLOT_TEMP_7 0
86678 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86679 #define BOOST_PP_SLOT_TEMP_6 0
86680 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86681 #define BOOST_PP_SLOT_TEMP_5 0
86682 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86683 #define BOOST_PP_SLOT_TEMP_4 0
86684 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86685 #define BOOST_PP_SLOT_TEMP_3 0
86686 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86687 #define BOOST_PP_SLOT_TEMP_2 0
86688 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86689 #define BOOST_PP_SLOT_TEMP_1 0
86690 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86691 #undef BOOST_PP_VALUE
86692 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
86693
86694 #undef BOOST_PP_ITERATION_START_1
86695
86696 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
86697 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
86698 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
86699 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
86700 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
86701 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
86702 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
86703 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
86704 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
86705 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
86706
86707
86708 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
86709 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
86710 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
86711 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
86712 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
86713 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
86714 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
86715 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86716 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
86717 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
86718 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
86719 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
86720 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86721 #undef BOOST_PP_SLOT_TEMP_1
86722 #undef BOOST_PP_SLOT_TEMP_2
86723 #undef BOOST_PP_SLOT_TEMP_3
86724 #undef BOOST_PP_SLOT_TEMP_4
86725 #undef BOOST_PP_SLOT_TEMP_5
86726 #undef BOOST_PP_SLOT_TEMP_6
86727 #undef BOOST_PP_SLOT_TEMP_7
86728 #undef BOOST_PP_SLOT_TEMP_8
86729 #undef BOOST_PP_SLOT_TEMP_9
86730 #undef BOOST_PP_SLOT_TEMP_10
86731
86732
86733 #define BOOST_PP_SLOT_TEMP_10 0
86734 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86735 #define BOOST_PP_SLOT_TEMP_9 0
86736 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86737 #define BOOST_PP_SLOT_TEMP_8 0
86738 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86739 #define BOOST_PP_SLOT_TEMP_7 0
86740 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86741 #define BOOST_PP_SLOT_TEMP_6 0
86742 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86743 #define BOOST_PP_SLOT_TEMP_5 0
86744 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86745 #define BOOST_PP_SLOT_TEMP_4 0
86746 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86747 #define BOOST_PP_SLOT_TEMP_3 0
86748 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86749 #define BOOST_PP_SLOT_TEMP_2 1
86750 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86751 #define BOOST_PP_SLOT_TEMP_1 0
86752 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
86753 #undef BOOST_PP_VALUE
86754 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
86755
86756 #undef BOOST_PP_ITERATION_FINISH_1
86757
86758 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
86759 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
86760 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
86761 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
86762 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
86763 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
86764 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
86765 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
86766 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
86767 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
86768
86769
86770 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
86771 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
86772 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
86773 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
86774 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
86775 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
86776 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
86777 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86778 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
86779
86780 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
86781
86782
86783
86784
86785
86786
86787
86788 #undef BOOST_PP_ITERATION_DEPTH
86789 #define BOOST_PP_ITERATION_DEPTH() 1
86790
86791 #define BOOST_PP_IS_ITERATING 1
86792
86793
86794
86795
86796
86797 #define BOOST_PP_ITERATION_1 0
86798 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
86799 # 129 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
86800  template<
86801   class C
86802    , class WrappedClass
86803    , class Policies
86804  
86805   
86806  >
86807  static int call(
86808   T(C::*f)()
86809    , WrappedClass*
86810    , lua_State* L
86811    , Policies const*)
86812  {
86813   int nargs = lua_gettop(L);
86814
86815   typedef typename most_derived<C, WrappedClass>::type self_type;
86816   pointer_converter<lua_to_cpp> self_cv;
86817
86818   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
86819   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
86820
86821  
86822
86823   converter_ret.apply(
86824    L
86825     , (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
86826   (
86827   
86828   ));
86829
86830  
86831
86832   int nret = lua_gettop(L) - nargs;
86833
86834   const int indices[] =
86835   {
86836    nargs + nret
86837     , 1
86838   
86839   };
86840
86841   policy_list_postcall<Policies>::apply(L, indices);
86842
86843   return maybe_yield<Policies>::apply(L, nret);
86844  }
86845
86846  template<
86847   class C
86848    , class WrappedClass
86849    , class Policies
86850  
86851   
86852  >
86853  static int call(
86854   T(C::*f)() const
86855    , WrappedClass*
86856    , lua_State* L
86857    , Policies const*)
86858  {
86859   int nargs = lua_gettop(L);
86860
86861   typedef typename most_derived<C, WrappedClass>::type self_type;
86862   const_pointer_converter<lua_to_cpp> self_cv;
86863
86864   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
86865   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
86866
86867  
86868
86869   converter_ret.apply(
86870    L
86871     , (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
86872   (
86873   
86874   ));
86875
86876  
86877   int nret = lua_gettop(L) - nargs;
86878
86879   const int indices[] =
86880   {
86881    nargs + nret
86882     , 1
86883   
86884   };
86885
86886   policy_list_postcall<Policies>::apply(L, indices);
86887
86888   return maybe_yield<Policies>::apply(L, nret);
86889  }
86890
86891  template<
86892   class WrappedClass
86893    , class Policies
86894  
86895   
86896  >
86897  static int call(
86898   T(*f)()
86899    , WrappedClass*
86900    , lua_State* L
86901    , Policies const*)
86902  {
86903   int nargs = lua_gettop(L);
86904   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
86905   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
86906  
86907   converter_ret.apply(L, f
86908   (
86909   
86910   ));
86911
86912  
86913
86914   int nret = lua_gettop(L) - nargs;
86915
86916   const int indices[] =
86917   {
86918    nargs + nret
86919   
86920   };
86921
86922   policy_list_postcall<Policies>::apply(L, indices);
86923
86924   return maybe_yield<Policies>::apply(L, nret);
86925  }
86926 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
86927 #undef BOOST_PP_ITERATION_1
86928
86929
86930 #define BOOST_PP_ITERATION_1 1
86931 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
86932 # 129 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
86933  template<
86934   class C
86935    , class WrappedClass
86936    , class Policies
86937   ,
86938    class A0
86939  >
86940  static int call(
86941   T(C::*f)( A0)
86942    , WrappedClass*
86943    , lua_State* L
86944    , Policies const*)
86945  {
86946   int nargs = lua_gettop(L);
86947
86948   typedef typename most_derived<C, WrappedClass>::type self_type;
86949   pointer_converter<lua_to_cpp> self_cv;
86950
86951   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
86952   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
86953
86954   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0;
86955
86956   converter_ret.apply(
86957    L
86958     , (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
86959   (
86960    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 )
86961   ));
86962
86963   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 );
86964
86965   int nret = lua_gettop(L) - nargs;
86966
86967   const int indices[] =
86968   {
86969    nargs + nret
86970     , 1
86971    , 2
86972   };
86973
86974   policy_list_postcall<Policies>::apply(L, indices);
86975
86976   return maybe_yield<Policies>::apply(L, nret);
86977  }
86978
86979  template<
86980   class C
86981    , class WrappedClass
86982    , class Policies
86983   ,
86984    class A0
86985  >
86986  static int call(
86987   T(C::*f)( A0) const
86988    , WrappedClass*
86989    , lua_State* L
86990    , Policies const*)
86991  {
86992   int nargs = lua_gettop(L);
86993
86994   typedef typename most_derived<C, WrappedClass>::type self_type;
86995   const_pointer_converter<lua_to_cpp> self_cv;
86996
86997   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
86998   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
86999
87000   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0;
87001
87002   converter_ret.apply(
87003    L
87004     , (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
87005   (
87006    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 )
87007   ));
87008
87009   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 );
87010   int nret = lua_gettop(L) - nargs;
87011
87012   const int indices[] =
87013   {
87014    nargs + nret
87015     , 1
87016    , 2
87017   };
87018
87019   policy_list_postcall<Policies>::apply(L, indices);
87020
87021   return maybe_yield<Policies>::apply(L, nret);
87022  }
87023
87024  template<
87025   class WrappedClass
87026    , class Policies
87027   ,
87028    class A0
87029  >
87030  static int call(
87031   T(*f)( A0)
87032    , WrappedClass*
87033    , lua_State* L
87034    , Policies const*)
87035  {
87036   int nargs = lua_gettop(L);
87037   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87038   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87039   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0;
87040   converter_ret.apply(L, f
87041   (
87042    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 )
87043   ));
87044
87045   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 );
87046
87047   int nret = lua_gettop(L) - nargs;
87048
87049   const int indices[] =
87050   {
87051    nargs + nret
87052    , 1
87053   };
87054
87055   policy_list_postcall<Policies>::apply(L, indices);
87056
87057   return maybe_yield<Policies>::apply(L, nret);
87058  }
87059 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
87060 #undef BOOST_PP_ITERATION_1
87061
87062
87063 #define BOOST_PP_ITERATION_1 2
87064 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
87065 # 129 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
87066  template<
87067   class C
87068    , class WrappedClass
87069    , class Policies
87070   ,
87071    class A0 , class A1
87072  >
87073  static int call(
87074   T(C::*f)( A0 , A1)
87075    , WrappedClass*
87076    , lua_State* L
87077    , Policies const*)
87078  {
87079   int nargs = lua_gettop(L);
87080
87081   typedef typename most_derived<C, WrappedClass>::type self_type;
87082   pointer_converter<lua_to_cpp> self_cv;
87083
87084   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87085   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87086
87087   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1;
87088
87089   converter_ret.apply(
87090    L
87091     , (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
87092   (
87093    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg )
87094   ));
87095
87096   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg );
87097
87098   int nret = lua_gettop(L) - nargs;
87099
87100   const int indices[] =
87101   {
87102    nargs + nret
87103     , 1
87104    , 2 , 2 + converter_policy0::has_arg
87105   };
87106
87107   policy_list_postcall<Policies>::apply(L, indices);
87108
87109   return maybe_yield<Policies>::apply(L, nret);
87110  }
87111
87112  template<
87113   class C
87114    , class WrappedClass
87115    , class Policies
87116   ,
87117    class A0 , class A1
87118  >
87119  static int call(
87120   T(C::*f)( A0 , A1) const
87121    , WrappedClass*
87122    , lua_State* L
87123    , Policies const*)
87124  {
87125   int nargs = lua_gettop(L);
87126
87127   typedef typename most_derived<C, WrappedClass>::type self_type;
87128   const_pointer_converter<lua_to_cpp> self_cv;
87129
87130   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87131   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87132
87133   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1;
87134
87135   converter_ret.apply(
87136    L
87137     , (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
87138   (
87139    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg )
87140   ));
87141
87142   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg );
87143   int nret = lua_gettop(L) - nargs;
87144
87145   const int indices[] =
87146   {
87147    nargs + nret
87148     , 1
87149    , 2 , 2 + converter_policy0::has_arg
87150   };
87151
87152   policy_list_postcall<Policies>::apply(L, indices);
87153
87154   return maybe_yield<Policies>::apply(L, nret);
87155  }
87156
87157  template<
87158   class WrappedClass
87159    , class Policies
87160   ,
87161    class A0 , class A1
87162  >
87163  static int call(
87164   T(*f)( A0 , A1)
87165    , WrappedClass*
87166    , lua_State* L
87167    , Policies const*)
87168  {
87169   int nargs = lua_gettop(L);
87170   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87171   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87172   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1;
87173   converter_ret.apply(L, f
87174   (
87175    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg )
87176   ));
87177
87178   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg );
87179
87180   int nret = lua_gettop(L) - nargs;
87181
87182   const int indices[] =
87183   {
87184    nargs + nret
87185    , 1 , 1 + converter_policy0::has_arg
87186   };
87187
87188   policy_list_postcall<Policies>::apply(L, indices);
87189
87190   return maybe_yield<Policies>::apply(L, nret);
87191  }
87192 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
87193 #undef BOOST_PP_ITERATION_1
87194
87195
87196 #define BOOST_PP_ITERATION_1 3
87197 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
87198 # 129 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
87199  template<
87200   class C
87201    , class WrappedClass
87202    , class Policies
87203   ,
87204    class A0 , class A1 , class A2
87205  >
87206  static int call(
87207   T(C::*f)( A0 , A1 , A2)
87208    , WrappedClass*
87209    , lua_State* L
87210    , Policies const*)
87211  {
87212   int nargs = lua_gettop(L);
87213
87214   typedef typename most_derived<C, WrappedClass>::type self_type;
87215   pointer_converter<lua_to_cpp> self_cv;
87216
87217   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87218   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87219
87220   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2;
87221
87222   converter_ret.apply(
87223    L
87224     , (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
87225   (
87226    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg )
87227   ));
87228
87229   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg );
87230
87231   int nret = lua_gettop(L) - nargs;
87232
87233   const int indices[] =
87234   {
87235    nargs + nret
87236     , 1
87237    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg
87238   };
87239
87240   policy_list_postcall<Policies>::apply(L, indices);
87241
87242   return maybe_yield<Policies>::apply(L, nret);
87243  }
87244
87245  template<
87246   class C
87247    , class WrappedClass
87248    , class Policies
87249   ,
87250    class A0 , class A1 , class A2
87251  >
87252  static int call(
87253   T(C::*f)( A0 , A1 , A2) const
87254    , WrappedClass*
87255    , lua_State* L
87256    , Policies const*)
87257  {
87258   int nargs = lua_gettop(L);
87259
87260   typedef typename most_derived<C, WrappedClass>::type self_type;
87261   const_pointer_converter<lua_to_cpp> self_cv;
87262
87263   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87264   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87265
87266   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2;
87267
87268   converter_ret.apply(
87269    L
87270     , (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
87271   (
87272    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg )
87273   ));
87274
87275   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg );
87276   int nret = lua_gettop(L) - nargs;
87277
87278   const int indices[] =
87279   {
87280    nargs + nret
87281     , 1
87282    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg
87283   };
87284
87285   policy_list_postcall<Policies>::apply(L, indices);
87286
87287   return maybe_yield<Policies>::apply(L, nret);
87288  }
87289
87290  template<
87291   class WrappedClass
87292    , class Policies
87293   ,
87294    class A0 , class A1 , class A2
87295  >
87296  static int call(
87297   T(*f)( A0 , A1 , A2)
87298    , WrappedClass*
87299    , lua_State* L
87300    , Policies const*)
87301  {
87302   int nargs = lua_gettop(L);
87303   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87304   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87305   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2;
87306   converter_ret.apply(L, f
87307   (
87308    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg )
87309   ));
87310
87311   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg );
87312
87313   int nret = lua_gettop(L) - nargs;
87314
87315   const int indices[] =
87316   {
87317    nargs + nret
87318    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg
87319   };
87320
87321   policy_list_postcall<Policies>::apply(L, indices);
87322
87323   return maybe_yield<Policies>::apply(L, nret);
87324  }
87325 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
87326 #undef BOOST_PP_ITERATION_1
87327
87328
87329 #define BOOST_PP_ITERATION_1 4
87330 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
87331 # 129 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
87332  template<
87333   class C
87334    , class WrappedClass
87335    , class Policies
87336   ,
87337    class A0 , class A1 , class A2 , class A3
87338  >
87339  static int call(
87340   T(C::*f)( A0 , A1 , A2 , A3)
87341    , WrappedClass*
87342    , lua_State* L
87343    , Policies const*)
87344  {
87345   int nargs = lua_gettop(L);
87346
87347   typedef typename most_derived<C, WrappedClass>::type self_type;
87348   pointer_converter<lua_to_cpp> self_cv;
87349
87350   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87351   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87352
87353   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3;
87354
87355   converter_ret.apply(
87356    L
87357     , (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
87358   (
87359    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg )
87360   ));
87361
87362   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg );
87363
87364   int nret = lua_gettop(L) - nargs;
87365
87366   const int indices[] =
87367   {
87368    nargs + nret
87369     , 1
87370    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg
87371   };
87372
87373   policy_list_postcall<Policies>::apply(L, indices);
87374
87375   return maybe_yield<Policies>::apply(L, nret);
87376  }
87377
87378  template<
87379   class C
87380    , class WrappedClass
87381    , class Policies
87382   ,
87383    class A0 , class A1 , class A2 , class A3
87384  >
87385  static int call(
87386   T(C::*f)( A0 , A1 , A2 , A3) const
87387    , WrappedClass*
87388    , lua_State* L
87389    , Policies const*)
87390  {
87391   int nargs = lua_gettop(L);
87392
87393   typedef typename most_derived<C, WrappedClass>::type self_type;
87394   const_pointer_converter<lua_to_cpp> self_cv;
87395
87396   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87397   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87398
87399   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3;
87400
87401   converter_ret.apply(
87402    L
87403     , (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
87404   (
87405    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg )
87406   ));
87407
87408   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg );
87409   int nret = lua_gettop(L) - nargs;
87410
87411   const int indices[] =
87412   {
87413    nargs + nret
87414     , 1
87415    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg
87416   };
87417
87418   policy_list_postcall<Policies>::apply(L, indices);
87419
87420   return maybe_yield<Policies>::apply(L, nret);
87421  }
87422
87423  template<
87424   class WrappedClass
87425    , class Policies
87426   ,
87427    class A0 , class A1 , class A2 , class A3
87428  >
87429  static int call(
87430   T(*f)( A0 , A1 , A2 , A3)
87431    , WrappedClass*
87432    , lua_State* L
87433    , Policies const*)
87434  {
87435   int nargs = lua_gettop(L);
87436   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87437   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87438   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3;
87439   converter_ret.apply(L, f
87440   (
87441    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg )
87442   ));
87443
87444   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg );
87445
87446   int nret = lua_gettop(L) - nargs;
87447
87448   const int indices[] =
87449   {
87450    nargs + nret
87451    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg
87452   };
87453
87454   policy_list_postcall<Policies>::apply(L, indices);
87455
87456   return maybe_yield<Policies>::apply(L, nret);
87457  }
87458 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
87459 #undef BOOST_PP_ITERATION_1
87460
87461
87462 #define BOOST_PP_ITERATION_1 5
87463 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
87464 # 129 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
87465  template<
87466   class C
87467    , class WrappedClass
87468    , class Policies
87469   ,
87470    class A0 , class A1 , class A2 , class A3 , class A4
87471  >
87472  static int call(
87473   T(C::*f)( A0 , A1 , A2 , A3 , A4)
87474    , WrappedClass*
87475    , lua_State* L
87476    , Policies const*)
87477  {
87478   int nargs = lua_gettop(L);
87479
87480   typedef typename most_derived<C, WrappedClass>::type self_type;
87481   pointer_converter<lua_to_cpp> self_cv;
87482
87483   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87484   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87485
87486   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4;
87487
87488   converter_ret.apply(
87489    L
87490     , (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
87491   (
87492    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg )
87493   ));
87494
87495   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg );
87496
87497   int nret = lua_gettop(L) - nargs;
87498
87499   const int indices[] =
87500   {
87501    nargs + nret
87502     , 1
87503    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg
87504   };
87505
87506   policy_list_postcall<Policies>::apply(L, indices);
87507
87508   return maybe_yield<Policies>::apply(L, nret);
87509  }
87510
87511  template<
87512   class C
87513    , class WrappedClass
87514    , class Policies
87515   ,
87516    class A0 , class A1 , class A2 , class A3 , class A4
87517  >
87518  static int call(
87519   T(C::*f)( A0 , A1 , A2 , A3 , A4) const
87520    , WrappedClass*
87521    , lua_State* L
87522    , Policies const*)
87523  {
87524   int nargs = lua_gettop(L);
87525
87526   typedef typename most_derived<C, WrappedClass>::type self_type;
87527   const_pointer_converter<lua_to_cpp> self_cv;
87528
87529   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87530   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87531
87532   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4;
87533
87534   converter_ret.apply(
87535    L
87536     , (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
87537   (
87538    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg )
87539   ));
87540
87541   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg );
87542   int nret = lua_gettop(L) - nargs;
87543
87544   const int indices[] =
87545   {
87546    nargs + nret
87547     , 1
87548    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg
87549   };
87550
87551   policy_list_postcall<Policies>::apply(L, indices);
87552
87553   return maybe_yield<Policies>::apply(L, nret);
87554  }
87555
87556  template<
87557   class WrappedClass
87558    , class Policies
87559   ,
87560    class A0 , class A1 , class A2 , class A3 , class A4
87561  >
87562  static int call(
87563   T(*f)( A0 , A1 , A2 , A3 , A4)
87564    , WrappedClass*
87565    , lua_State* L
87566    , Policies const*)
87567  {
87568   int nargs = lua_gettop(L);
87569   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87570   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87571   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4;
87572   converter_ret.apply(L, f
87573   (
87574    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg )
87575   ));
87576
87577   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg );
87578
87579   int nret = lua_gettop(L) - nargs;
87580
87581   const int indices[] =
87582   {
87583    nargs + nret
87584    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg
87585   };
87586
87587   policy_list_postcall<Policies>::apply(L, indices);
87588
87589   return maybe_yield<Policies>::apply(L, nret);
87590  }
87591 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
87592 #undef BOOST_PP_ITERATION_1
87593
87594
87595 #define BOOST_PP_ITERATION_1 6
87596 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
87597 # 129 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
87598  template<
87599   class C
87600    , class WrappedClass
87601    , class Policies
87602   ,
87603    class A0 , class A1 , class A2 , class A3 , class A4 , class A5
87604  >
87605  static int call(
87606   T(C::*f)( A0 , A1 , A2 , A3 , A4 , A5)
87607    , WrappedClass*
87608    , lua_State* L
87609    , Policies const*)
87610  {
87611   int nargs = lua_gettop(L);
87612
87613   typedef typename most_derived<C, WrappedClass>::type self_type;
87614   pointer_converter<lua_to_cpp> self_cv;
87615
87616   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87617   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87618
87619   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5;
87620
87621   converter_ret.apply(
87622    L
87623     , (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
87624   (
87625    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg )
87626   ));
87627
87628   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg );
87629
87630   int nret = lua_gettop(L) - nargs;
87631
87632   const int indices[] =
87633   {
87634    nargs + nret
87635     , 1
87636    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg
87637   };
87638
87639   policy_list_postcall<Policies>::apply(L, indices);
87640
87641   return maybe_yield<Policies>::apply(L, nret);
87642  }
87643
87644  template<
87645   class C
87646    , class WrappedClass
87647    , class Policies
87648   ,
87649    class A0 , class A1 , class A2 , class A3 , class A4 , class A5
87650  >
87651  static int call(
87652   T(C::*f)( A0 , A1 , A2 , A3 , A4 , A5) const
87653    , WrappedClass*
87654    , lua_State* L
87655    , Policies const*)
87656  {
87657   int nargs = lua_gettop(L);
87658
87659   typedef typename most_derived<C, WrappedClass>::type self_type;
87660   const_pointer_converter<lua_to_cpp> self_cv;
87661
87662   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87663   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87664
87665   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5;
87666
87667   converter_ret.apply(
87668    L
87669     , (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
87670   (
87671    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg )
87672   ));
87673
87674   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg );
87675   int nret = lua_gettop(L) - nargs;
87676
87677   const int indices[] =
87678   {
87679    nargs + nret
87680     , 1
87681    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg
87682   };
87683
87684   policy_list_postcall<Policies>::apply(L, indices);
87685
87686   return maybe_yield<Policies>::apply(L, nret);
87687  }
87688
87689  template<
87690   class WrappedClass
87691    , class Policies
87692   ,
87693    class A0 , class A1 , class A2 , class A3 , class A4 , class A5
87694  >
87695  static int call(
87696   T(*f)( A0 , A1 , A2 , A3 , A4 , A5)
87697    , WrappedClass*
87698    , lua_State* L
87699    , Policies const*)
87700  {
87701   int nargs = lua_gettop(L);
87702   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87703   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87704   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5;
87705   converter_ret.apply(L, f
87706   (
87707    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg )
87708   ));
87709
87710   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg );
87711
87712   int nret = lua_gettop(L) - nargs;
87713
87714   const int indices[] =
87715   {
87716    nargs + nret
87717    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg
87718   };
87719
87720   policy_list_postcall<Policies>::apply(L, indices);
87721
87722   return maybe_yield<Policies>::apply(L, nret);
87723  }
87724 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
87725 #undef BOOST_PP_ITERATION_1
87726
87727
87728 #define BOOST_PP_ITERATION_1 7
87729 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
87730 # 129 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
87731  template<
87732   class C
87733    , class WrappedClass
87734    , class Policies
87735   ,
87736    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
87737  >
87738  static int call(
87739   T(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6)
87740    , WrappedClass*
87741    , lua_State* L
87742    , Policies const*)
87743  {
87744   int nargs = lua_gettop(L);
87745
87746   typedef typename most_derived<C, WrappedClass>::type self_type;
87747   pointer_converter<lua_to_cpp> self_cv;
87748
87749   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87750   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87751
87752   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6;
87753
87754   converter_ret.apply(
87755    L
87756     , (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
87757   (
87758    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg )
87759   ));
87760
87761   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg );
87762
87763   int nret = lua_gettop(L) - nargs;
87764
87765   const int indices[] =
87766   {
87767    nargs + nret
87768     , 1
87769    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg
87770   };
87771
87772   policy_list_postcall<Policies>::apply(L, indices);
87773
87774   return maybe_yield<Policies>::apply(L, nret);
87775  }
87776
87777  template<
87778   class C
87779    , class WrappedClass
87780    , class Policies
87781   ,
87782    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
87783  >
87784  static int call(
87785   T(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6) const
87786    , WrappedClass*
87787    , lua_State* L
87788    , Policies const*)
87789  {
87790   int nargs = lua_gettop(L);
87791
87792   typedef typename most_derived<C, WrappedClass>::type self_type;
87793   const_pointer_converter<lua_to_cpp> self_cv;
87794
87795   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87796   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87797
87798   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6;
87799
87800   converter_ret.apply(
87801    L
87802     , (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
87803   (
87804    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg )
87805   ));
87806
87807   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg );
87808   int nret = lua_gettop(L) - nargs;
87809
87810   const int indices[] =
87811   {
87812    nargs + nret
87813     , 1
87814    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg
87815   };
87816
87817   policy_list_postcall<Policies>::apply(L, indices);
87818
87819   return maybe_yield<Policies>::apply(L, nret);
87820  }
87821
87822  template<
87823   class WrappedClass
87824    , class Policies
87825   ,
87826    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
87827  >
87828  static int call(
87829   T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6)
87830    , WrappedClass*
87831    , lua_State* L
87832    , Policies const*)
87833  {
87834   int nargs = lua_gettop(L);
87835   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87836   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87837   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6;
87838   converter_ret.apply(L, f
87839   (
87840    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg )
87841   ));
87842
87843   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg );
87844
87845   int nret = lua_gettop(L) - nargs;
87846
87847   const int indices[] =
87848   {
87849    nargs + nret
87850    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg
87851   };
87852
87853   policy_list_postcall<Policies>::apply(L, indices);
87854
87855   return maybe_yield<Policies>::apply(L, nret);
87856  }
87857 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
87858 #undef BOOST_PP_ITERATION_1
87859
87860
87861 #define BOOST_PP_ITERATION_1 8
87862 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
87863 # 129 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
87864  template<
87865   class C
87866    , class WrappedClass
87867    , class Policies
87868   ,
87869    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
87870  >
87871  static int call(
87872   T(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)
87873    , WrappedClass*
87874    , lua_State* L
87875    , Policies const*)
87876  {
87877   int nargs = lua_gettop(L);
87878
87879   typedef typename most_derived<C, WrappedClass>::type self_type;
87880   pointer_converter<lua_to_cpp> self_cv;
87881
87882   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87883   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87884
87885   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7;
87886
87887   converter_ret.apply(
87888    L
87889     , (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
87890   (
87891    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg )
87892   ));
87893
87894   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg );
87895
87896   int nret = lua_gettop(L) - nargs;
87897
87898   const int indices[] =
87899   {
87900    nargs + nret
87901     , 1
87902    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg
87903   };
87904
87905   policy_list_postcall<Policies>::apply(L, indices);
87906
87907   return maybe_yield<Policies>::apply(L, nret);
87908  }
87909
87910  template<
87911   class C
87912    , class WrappedClass
87913    , class Policies
87914   ,
87915    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
87916  >
87917  static int call(
87918   T(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) const
87919    , WrappedClass*
87920    , lua_State* L
87921    , Policies const*)
87922  {
87923   int nargs = lua_gettop(L);
87924
87925   typedef typename most_derived<C, WrappedClass>::type self_type;
87926   const_pointer_converter<lua_to_cpp> self_cv;
87927
87928   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87929   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87930
87931   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7;
87932
87933   converter_ret.apply(
87934    L
87935     , (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
87936   (
87937    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg )
87938   ));
87939
87940   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg );
87941   int nret = lua_gettop(L) - nargs;
87942
87943   const int indices[] =
87944   {
87945    nargs + nret
87946     , 1
87947    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg
87948   };
87949
87950   policy_list_postcall<Policies>::apply(L, indices);
87951
87952   return maybe_yield<Policies>::apply(L, nret);
87953  }
87954
87955  template<
87956   class WrappedClass
87957    , class Policies
87958   ,
87959    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
87960  >
87961  static int call(
87962   T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)
87963    , WrappedClass*
87964    , lua_State* L
87965    , Policies const*)
87966  {
87967   int nargs = lua_gettop(L);
87968   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
87969   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
87970   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 1 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7;
87971   converter_ret.apply(L, f
87972   (
87973    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg )
87974   ));
87975
87976   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg );
87977
87978   int nret = lua_gettop(L) - nargs;
87979
87980   const int indices[] =
87981   {
87982    nargs + nret
87983    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg
87984   };
87985
87986   policy_list_postcall<Policies>::apply(L, indices);
87987
87988   return maybe_yield<Policies>::apply(L, nret);
87989  }
87990 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
87991 #undef BOOST_PP_ITERATION_1
87992
87993
87994 #define BOOST_PP_ITERATION_1 9
87995 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
87996 # 129 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
87997  template<
87998   class C
87999    , class WrappedClass
88000    , class Policies
88001   ,
88002    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8
88003  >
88004  static int call(
88005   T(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)
88006    , WrappedClass*
88007    , lua_State* L
88008    , Policies const*)
88009  {
88010   int nargs = lua_gettop(L);
88011
88012   typedef typename most_derived<C, WrappedClass>::type self_type;
88013   pointer_converter<lua_to_cpp> self_cv;
88014
88015   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
88016   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
88017
88018   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 2 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8;
88019
88020   converter_ret.apply(
88021    L
88022     , (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
88023   (
88024    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg )
88025   ));
88026
88027   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg );
88028
88029   int nret = lua_gettop(L) - nargs;
88030
88031   const int indices[] =
88032   {
88033    nargs + nret
88034     , 1
88035    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg
88036   };
88037
88038   policy_list_postcall<Policies>::apply(L, indices);
88039
88040   return maybe_yield<Policies>::apply(L, nret);
88041  }
88042
88043  template<
88044   class C
88045    , class WrappedClass
88046    , class Policies
88047   ,
88048    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8
88049  >
88050  static int call(
88051   T(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8) const
88052    , WrappedClass*
88053    , lua_State* L
88054    , Policies const*)
88055  {
88056   int nargs = lua_gettop(L);
88057
88058   typedef typename most_derived<C, WrappedClass>::type self_type;
88059   const_pointer_converter<lua_to_cpp> self_cv;
88060
88061   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
88062   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
88063
88064   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 2 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8;
88065
88066   converter_ret.apply(
88067    L
88068     , (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
88069   (
88070    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg )
88071   ));
88072
88073   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg );
88074   int nret = lua_gettop(L) - nargs;
88075
88076   const int indices[] =
88077   {
88078    nargs + nret
88079     , 1
88080    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg
88081   };
88082
88083   policy_list_postcall<Policies>::apply(L, indices);
88084
88085   return maybe_yield<Policies>::apply(L, nret);
88086  }
88087
88088  template<
88089   class WrappedClass
88090    , class Policies
88091   ,
88092    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8
88093  >
88094  static int call(
88095   T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)
88096    , WrappedClass*
88097    , lua_State* L
88098    , Policies const*)
88099  {
88100   int nargs = lua_gettop(L);
88101   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
88102   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
88103   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 1 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 1 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8;
88104   converter_ret.apply(L, f
88105   (
88106    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg )
88107   ));
88108
88109   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg );
88110
88111   int nret = lua_gettop(L) - nargs;
88112
88113   const int indices[] =
88114   {
88115    nargs + nret
88116    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg
88117   };
88118
88119   policy_list_postcall<Policies>::apply(L, indices);
88120
88121   return maybe_yield<Policies>::apply(L, nret);
88122  }
88123 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
88124 #undef BOOST_PP_ITERATION_1
88125
88126
88127 #define BOOST_PP_ITERATION_1 10
88128 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
88129 # 129 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
88130  template<
88131   class C
88132    , class WrappedClass
88133    , class Policies
88134   ,
88135    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
88136  >
88137  static int call(
88138   T(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)
88139    , WrappedClass*
88140    , lua_State* L
88141    , Policies const*)
88142  {
88143   int nargs = lua_gettop(L);
88144
88145   typedef typename most_derived<C, WrappedClass>::type self_type;
88146   pointer_converter<lua_to_cpp> self_cv;
88147
88148   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
88149   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
88150
88151   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 2 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8; typedef typename find_conversion_policy< 9 + 2 , Policies >::type converter_policy9; typename mpl::apply_wrap2< converter_policy9, A9, lua_to_cpp >::type c9;
88152
88153   converter_ret.apply(
88154    L
88155     , (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
88156   (
88157    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ) , c9.apply( L , luabind::detail::decorated_type<A9>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg )
88158   ));
88159
88160   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ); c9.converter_postcall( L , luabind::detail::decorated_type<A9>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg );
88161
88162   int nret = lua_gettop(L) - nargs;
88163
88164   const int indices[] =
88165   {
88166    nargs + nret
88167     , 1
88168    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg
88169   };
88170
88171   policy_list_postcall<Policies>::apply(L, indices);
88172
88173   return maybe_yield<Policies>::apply(L, nret);
88174  }
88175
88176  template<
88177   class C
88178    , class WrappedClass
88179    , class Policies
88180   ,
88181    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
88182  >
88183  static int call(
88184   T(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9) const
88185    , WrappedClass*
88186    , lua_State* L
88187    , Policies const*)
88188  {
88189   int nargs = lua_gettop(L);
88190
88191   typedef typename most_derived<C, WrappedClass>::type self_type;
88192   const_pointer_converter<lua_to_cpp> self_cv;
88193
88194   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
88195   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
88196
88197   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 2 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8; typedef typename find_conversion_policy< 9 + 2 , Policies >::type converter_policy9; typename mpl::apply_wrap2< converter_policy9, A9, lua_to_cpp >::type c9;
88198
88199   converter_ret.apply(
88200    L
88201     , (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
88202   (
88203    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ) , c9.apply( L , luabind::detail::decorated_type<A9>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg )
88204   ));
88205
88206   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ); c9.converter_postcall( L , luabind::detail::decorated_type<A9>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg );
88207   int nret = lua_gettop(L) - nargs;
88208
88209   const int indices[] =
88210   {
88211    nargs + nret
88212     , 1
88213    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg
88214   };
88215
88216   policy_list_postcall<Policies>::apply(L, indices);
88217
88218   return maybe_yield<Policies>::apply(L, nret);
88219  }
88220
88221  template<
88222   class WrappedClass
88223    , class Policies
88224   ,
88225    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
88226  >
88227  static int call(
88228   T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)
88229    , WrappedClass*
88230    , lua_State* L
88231    , Policies const*)
88232  {
88233   int nargs = lua_gettop(L);
88234   typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
88235   typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
88236   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 1 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 1 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8; typedef typename find_conversion_policy< 9 + 1 , Policies >::type converter_policy9; typename mpl::apply_wrap2< converter_policy9, A9, lua_to_cpp >::type c9;
88237   converter_ret.apply(L, f
88238   (
88239    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ) , c9.apply( L , luabind::detail::decorated_type<A9>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg )
88240   ));
88241
88242   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ); c9.converter_postcall( L , luabind::detail::decorated_type<A9>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg );
88243
88244   int nret = lua_gettop(L) - nargs;
88245
88246   const int indices[] =
88247   {
88248    nargs + nret
88249    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg
88250   };
88251
88252   policy_list_postcall<Policies>::apply(L, indices);
88253
88254   return maybe_yield<Policies>::apply(L, nret);
88255  }
88256 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
88257 #undef BOOST_PP_ITERATION_1
88258 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
88259 #undef BOOST_PP_IS_ITERATING
88260
88261 #undef BOOST_PP_ITERATION_DEPTH
88262 #define BOOST_PP_ITERATION_DEPTH() 0
88263
88264 #undef BOOST_PP_ITERATION_START_1
88265 #undef BOOST_PP_ITERATION_FINISH_1
88266 #undef BOOST_PP_FILENAME_1
88267
88268 #undef BOOST_PP_ITERATION_FLAGS_1
88269 #undef BOOST_PP_ITERATION_PARAMS_1
88270 # 106 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 2
88271  };
88272
88273  template<>
88274  struct returns<void>
88275  {
88276 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/detail/call.hpp>, 2))
88277 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
88278 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
88279 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
88280 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
88281 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
88282 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
88283 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88284 #undef BOOST_PP_SLOT_TEMP_1
88285 #undef BOOST_PP_SLOT_TEMP_2
88286 #undef BOOST_PP_SLOT_TEMP_3
88287 #undef BOOST_PP_SLOT_TEMP_4
88288 #undef BOOST_PP_SLOT_TEMP_5
88289 #undef BOOST_PP_SLOT_TEMP_6
88290 #undef BOOST_PP_SLOT_TEMP_7
88291 #undef BOOST_PP_SLOT_TEMP_8
88292 #undef BOOST_PP_SLOT_TEMP_9
88293 #undef BOOST_PP_SLOT_TEMP_10
88294
88295
88296 #define BOOST_PP_SLOT_TEMP_10 0
88297 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88298 #define BOOST_PP_SLOT_TEMP_9 0
88299 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88300 #define BOOST_PP_SLOT_TEMP_8 0
88301 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88302 #define BOOST_PP_SLOT_TEMP_7 0
88303 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88304 #define BOOST_PP_SLOT_TEMP_6 0
88305 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88306 #define BOOST_PP_SLOT_TEMP_5 0
88307 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88308 #define BOOST_PP_SLOT_TEMP_4 0
88309 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88310 #define BOOST_PP_SLOT_TEMP_3 0
88311 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88312 #define BOOST_PP_SLOT_TEMP_2 0
88313 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88314 #define BOOST_PP_SLOT_TEMP_1 0
88315 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88316 #undef BOOST_PP_VALUE
88317 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
88318
88319 #undef BOOST_PP_ITERATION_START_1
88320
88321 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
88322 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
88323 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
88324 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
88325 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
88326 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
88327 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
88328 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
88329 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
88330 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
88331
88332
88333 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
88334 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
88335 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
88336 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
88337 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
88338 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
88339 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
88340 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
88341 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
88342 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
88343 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
88344 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
88345 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88346 #undef BOOST_PP_SLOT_TEMP_1
88347 #undef BOOST_PP_SLOT_TEMP_2
88348 #undef BOOST_PP_SLOT_TEMP_3
88349 #undef BOOST_PP_SLOT_TEMP_4
88350 #undef BOOST_PP_SLOT_TEMP_5
88351 #undef BOOST_PP_SLOT_TEMP_6
88352 #undef BOOST_PP_SLOT_TEMP_7
88353 #undef BOOST_PP_SLOT_TEMP_8
88354 #undef BOOST_PP_SLOT_TEMP_9
88355 #undef BOOST_PP_SLOT_TEMP_10
88356
88357
88358 #define BOOST_PP_SLOT_TEMP_10 0
88359 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88360 #define BOOST_PP_SLOT_TEMP_9 0
88361 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88362 #define BOOST_PP_SLOT_TEMP_8 0
88363 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88364 #define BOOST_PP_SLOT_TEMP_7 0
88365 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88366 #define BOOST_PP_SLOT_TEMP_6 0
88367 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88368 #define BOOST_PP_SLOT_TEMP_5 0
88369 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88370 #define BOOST_PP_SLOT_TEMP_4 0
88371 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88372 #define BOOST_PP_SLOT_TEMP_3 0
88373 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88374 #define BOOST_PP_SLOT_TEMP_2 1
88375 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88376 #define BOOST_PP_SLOT_TEMP_1 0
88377 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
88378 #undef BOOST_PP_VALUE
88379 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
88380
88381 #undef BOOST_PP_ITERATION_FINISH_1
88382
88383 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
88384 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
88385 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
88386 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
88387 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
88388 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
88389 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
88390 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
88391 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
88392 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
88393
88394
88395 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
88396 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
88397 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
88398 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
88399 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
88400 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
88401 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
88402 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
88403 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
88404
88405 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
88406
88407
88408
88409
88410
88411
88412
88413 #undef BOOST_PP_ITERATION_DEPTH
88414 #define BOOST_PP_ITERATION_DEPTH() 1
88415
88416 #define BOOST_PP_IS_ITERATING 1
88417
88418
88419
88420
88421
88422 #define BOOST_PP_ITERATION_1 0
88423 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
88424 # 258 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
88425  template<
88426   class C
88427    , class WrappedClass
88428    , class Policies
88429  
88430   
88431  >
88432  static int call(
88433   void(C::*f)()
88434    , WrappedClass*
88435    , lua_State* L
88436    , Policies* const)
88437  {
88438   int nargs = lua_gettop(L);
88439   L = L;
88440
88441   typedef typename most_derived<C, WrappedClass>::type self_type;
88442   pointer_converter<lua_to_cpp> self_cv;
88443
88444  
88445   (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
88446   (
88447   
88448   );
88449  
88450
88451   int nret = lua_gettop(L) - nargs;
88452
88453   const int indices[] =
88454   {
88455    nargs + nret
88456     , 1
88457   
88458   };
88459
88460   policy_list_postcall<Policies>::apply(L, indices);
88461
88462   return maybe_yield<Policies>::apply(L, nret);
88463  }
88464
88465  template<
88466   class C
88467    , class WrappedClass
88468    , class Policies
88469  
88470   
88471  >
88472  static int call(
88473   void(C::*f)() const
88474    , WrappedClass*
88475    , lua_State* L
88476    , Policies const*)
88477  {
88478   int nargs = lua_gettop(L);
88479   L = L;
88480
88481   typedef typename most_derived<C, WrappedClass>::type self_type;
88482   const_pointer_converter<lua_to_cpp> self_cv;
88483
88484  
88485   (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
88486   (
88487   
88488   );
88489  
88490
88491   int nret = lua_gettop(L) - nargs;
88492
88493   const int indices[] =
88494   {
88495    nargs + nret
88496     , 1
88497   
88498   };
88499
88500   policy_list_postcall<Policies>::apply(L, indices);
88501
88502   return maybe_yield<Policies>::apply(L, nret);
88503  }
88504
88505  template<
88506   class WrappedClass
88507    , class Policies
88508  
88509   
88510  >
88511  static int call(
88512   void(*f)()
88513    , WrappedClass*
88514    , lua_State* L
88515    , Policies const*)
88516  {
88517   int nargs = lua_gettop(L);
88518   L = L;
88519  
88520   f(
88521   
88522   );
88523
88524   int nret = lua_gettop(L) - nargs;
88525
88526   const int indices[] =
88527   {
88528    nargs + nret
88529   
88530   };
88531  
88532
88533   policy_list_postcall<Policies>::apply(L, indices);
88534
88535   return maybe_yield<Policies>::apply(L, nret);
88536  }
88537 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
88538 #undef BOOST_PP_ITERATION_1
88539
88540
88541 #define BOOST_PP_ITERATION_1 1
88542 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
88543 # 258 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
88544  template<
88545   class C
88546    , class WrappedClass
88547    , class Policies
88548   ,
88549    class A0
88550  >
88551  static int call(
88552   void(C::*f)( A0)
88553    , WrappedClass*
88554    , lua_State* L
88555    , Policies* const)
88556  {
88557   int nargs = lua_gettop(L);
88558   L = L;
88559
88560   typedef typename most_derived<C, WrappedClass>::type self_type;
88561   pointer_converter<lua_to_cpp> self_cv;
88562
88563   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0;
88564   (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
88565   (
88566    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 )
88567   );
88568   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 );
88569
88570   int nret = lua_gettop(L) - nargs;
88571
88572   const int indices[] =
88573   {
88574    nargs + nret
88575     , 1
88576    , 2
88577   };
88578
88579   policy_list_postcall<Policies>::apply(L, indices);
88580
88581   return maybe_yield<Policies>::apply(L, nret);
88582  }
88583
88584  template<
88585   class C
88586    , class WrappedClass
88587    , class Policies
88588   ,
88589    class A0
88590  >
88591  static int call(
88592   void(C::*f)( A0) const
88593    , WrappedClass*
88594    , lua_State* L
88595    , Policies const*)
88596  {
88597   int nargs = lua_gettop(L);
88598   L = L;
88599
88600   typedef typename most_derived<C, WrappedClass>::type self_type;
88601   const_pointer_converter<lua_to_cpp> self_cv;
88602
88603   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0;
88604   (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
88605   (
88606    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 )
88607   );
88608   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 );
88609
88610   int nret = lua_gettop(L) - nargs;
88611
88612   const int indices[] =
88613   {
88614    nargs + nret
88615     , 1
88616    , 2
88617   };
88618
88619   policy_list_postcall<Policies>::apply(L, indices);
88620
88621   return maybe_yield<Policies>::apply(L, nret);
88622  }
88623
88624  template<
88625   class WrappedClass
88626    , class Policies
88627   ,
88628    class A0
88629  >
88630  static int call(
88631   void(*f)( A0)
88632    , WrappedClass*
88633    , lua_State* L
88634    , Policies const*)
88635  {
88636   int nargs = lua_gettop(L);
88637   L = L;
88638   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0;
88639   f(
88640    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 )
88641   );
88642
88643   int nret = lua_gettop(L) - nargs;
88644
88645   const int indices[] =
88646   {
88647    nargs + nret
88648    , 1
88649   };
88650   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 );
88651
88652   policy_list_postcall<Policies>::apply(L, indices);
88653
88654   return maybe_yield<Policies>::apply(L, nret);
88655  }
88656 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
88657 #undef BOOST_PP_ITERATION_1
88658
88659
88660 #define BOOST_PP_ITERATION_1 2
88661 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
88662 # 258 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
88663  template<
88664   class C
88665    , class WrappedClass
88666    , class Policies
88667   ,
88668    class A0 , class A1
88669  >
88670  static int call(
88671   void(C::*f)( A0 , A1)
88672    , WrappedClass*
88673    , lua_State* L
88674    , Policies* const)
88675  {
88676   int nargs = lua_gettop(L);
88677   L = L;
88678
88679   typedef typename most_derived<C, WrappedClass>::type self_type;
88680   pointer_converter<lua_to_cpp> self_cv;
88681
88682   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1;
88683   (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
88684   (
88685    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg )
88686   );
88687   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg );
88688
88689   int nret = lua_gettop(L) - nargs;
88690
88691   const int indices[] =
88692   {
88693    nargs + nret
88694     , 1
88695    , 2 , 2 + converter_policy0::has_arg
88696   };
88697
88698   policy_list_postcall<Policies>::apply(L, indices);
88699
88700   return maybe_yield<Policies>::apply(L, nret);
88701  }
88702
88703  template<
88704   class C
88705    , class WrappedClass
88706    , class Policies
88707   ,
88708    class A0 , class A1
88709  >
88710  static int call(
88711   void(C::*f)( A0 , A1) const
88712    , WrappedClass*
88713    , lua_State* L
88714    , Policies const*)
88715  {
88716   int nargs = lua_gettop(L);
88717   L = L;
88718
88719   typedef typename most_derived<C, WrappedClass>::type self_type;
88720   const_pointer_converter<lua_to_cpp> self_cv;
88721
88722   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1;
88723   (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
88724   (
88725    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg )
88726   );
88727   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg );
88728
88729   int nret = lua_gettop(L) - nargs;
88730
88731   const int indices[] =
88732   {
88733    nargs + nret
88734     , 1
88735    , 2 , 2 + converter_policy0::has_arg
88736   };
88737
88738   policy_list_postcall<Policies>::apply(L, indices);
88739
88740   return maybe_yield<Policies>::apply(L, nret);
88741  }
88742
88743  template<
88744   class WrappedClass
88745    , class Policies
88746   ,
88747    class A0 , class A1
88748  >
88749  static int call(
88750   void(*f)( A0 , A1)
88751    , WrappedClass*
88752    , lua_State* L
88753    , Policies const*)
88754  {
88755   int nargs = lua_gettop(L);
88756   L = L;
88757   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1;
88758   f(
88759    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg )
88760   );
88761
88762   int nret = lua_gettop(L) - nargs;
88763
88764   const int indices[] =
88765   {
88766    nargs + nret
88767    , 1 , 1 + converter_policy0::has_arg
88768   };
88769   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg );
88770
88771   policy_list_postcall<Policies>::apply(L, indices);
88772
88773   return maybe_yield<Policies>::apply(L, nret);
88774  }
88775 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
88776 #undef BOOST_PP_ITERATION_1
88777
88778
88779 #define BOOST_PP_ITERATION_1 3
88780 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
88781 # 258 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
88782  template<
88783   class C
88784    , class WrappedClass
88785    , class Policies
88786   ,
88787    class A0 , class A1 , class A2
88788  >
88789  static int call(
88790   void(C::*f)( A0 , A1 , A2)
88791    , WrappedClass*
88792    , lua_State* L
88793    , Policies* const)
88794  {
88795   int nargs = lua_gettop(L);
88796   L = L;
88797
88798   typedef typename most_derived<C, WrappedClass>::type self_type;
88799   pointer_converter<lua_to_cpp> self_cv;
88800
88801   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2;
88802   (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
88803   (
88804    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg )
88805   );
88806   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg );
88807
88808   int nret = lua_gettop(L) - nargs;
88809
88810   const int indices[] =
88811   {
88812    nargs + nret
88813     , 1
88814    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg
88815   };
88816
88817   policy_list_postcall<Policies>::apply(L, indices);
88818
88819   return maybe_yield<Policies>::apply(L, nret);
88820  }
88821
88822  template<
88823   class C
88824    , class WrappedClass
88825    , class Policies
88826   ,
88827    class A0 , class A1 , class A2
88828  >
88829  static int call(
88830   void(C::*f)( A0 , A1 , A2) const
88831    , WrappedClass*
88832    , lua_State* L
88833    , Policies const*)
88834  {
88835   int nargs = lua_gettop(L);
88836   L = L;
88837
88838   typedef typename most_derived<C, WrappedClass>::type self_type;
88839   const_pointer_converter<lua_to_cpp> self_cv;
88840
88841   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2;
88842   (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
88843   (
88844    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg )
88845   );
88846   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg );
88847
88848   int nret = lua_gettop(L) - nargs;
88849
88850   const int indices[] =
88851   {
88852    nargs + nret
88853     , 1
88854    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg
88855   };
88856
88857   policy_list_postcall<Policies>::apply(L, indices);
88858
88859   return maybe_yield<Policies>::apply(L, nret);
88860  }
88861
88862  template<
88863   class WrappedClass
88864    , class Policies
88865   ,
88866    class A0 , class A1 , class A2
88867  >
88868  static int call(
88869   void(*f)( A0 , A1 , A2)
88870    , WrappedClass*
88871    , lua_State* L
88872    , Policies const*)
88873  {
88874   int nargs = lua_gettop(L);
88875   L = L;
88876   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2;
88877   f(
88878    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg )
88879   );
88880
88881   int nret = lua_gettop(L) - nargs;
88882
88883   const int indices[] =
88884   {
88885    nargs + nret
88886    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg
88887   };
88888   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg );
88889
88890   policy_list_postcall<Policies>::apply(L, indices);
88891
88892   return maybe_yield<Policies>::apply(L, nret);
88893  }
88894 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
88895 #undef BOOST_PP_ITERATION_1
88896
88897
88898 #define BOOST_PP_ITERATION_1 4
88899 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
88900 # 258 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
88901  template<
88902   class C
88903    , class WrappedClass
88904    , class Policies
88905   ,
88906    class A0 , class A1 , class A2 , class A3
88907  >
88908  static int call(
88909   void(C::*f)( A0 , A1 , A2 , A3)
88910    , WrappedClass*
88911    , lua_State* L
88912    , Policies* const)
88913  {
88914   int nargs = lua_gettop(L);
88915   L = L;
88916
88917   typedef typename most_derived<C, WrappedClass>::type self_type;
88918   pointer_converter<lua_to_cpp> self_cv;
88919
88920   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3;
88921   (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
88922   (
88923    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg )
88924   );
88925   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg );
88926
88927   int nret = lua_gettop(L) - nargs;
88928
88929   const int indices[] =
88930   {
88931    nargs + nret
88932     , 1
88933    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg
88934   };
88935
88936   policy_list_postcall<Policies>::apply(L, indices);
88937
88938   return maybe_yield<Policies>::apply(L, nret);
88939  }
88940
88941  template<
88942   class C
88943    , class WrappedClass
88944    , class Policies
88945   ,
88946    class A0 , class A1 , class A2 , class A3
88947  >
88948  static int call(
88949   void(C::*f)( A0 , A1 , A2 , A3) const
88950    , WrappedClass*
88951    , lua_State* L
88952    , Policies const*)
88953  {
88954   int nargs = lua_gettop(L);
88955   L = L;
88956
88957   typedef typename most_derived<C, WrappedClass>::type self_type;
88958   const_pointer_converter<lua_to_cpp> self_cv;
88959
88960   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3;
88961   (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
88962   (
88963    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg )
88964   );
88965   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg );
88966
88967   int nret = lua_gettop(L) - nargs;
88968
88969   const int indices[] =
88970   {
88971    nargs + nret
88972     , 1
88973    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg
88974   };
88975
88976   policy_list_postcall<Policies>::apply(L, indices);
88977
88978   return maybe_yield<Policies>::apply(L, nret);
88979  }
88980
88981  template<
88982   class WrappedClass
88983    , class Policies
88984   ,
88985    class A0 , class A1 , class A2 , class A3
88986  >
88987  static int call(
88988   void(*f)( A0 , A1 , A2 , A3)
88989    , WrappedClass*
88990    , lua_State* L
88991    , Policies const*)
88992  {
88993   int nargs = lua_gettop(L);
88994   L = L;
88995   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3;
88996   f(
88997    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg )
88998   );
88999
89000   int nret = lua_gettop(L) - nargs;
89001
89002   const int indices[] =
89003   {
89004    nargs + nret
89005    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg
89006   };
89007   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg );
89008
89009   policy_list_postcall<Policies>::apply(L, indices);
89010
89011   return maybe_yield<Policies>::apply(L, nret);
89012  }
89013 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
89014 #undef BOOST_PP_ITERATION_1
89015
89016
89017 #define BOOST_PP_ITERATION_1 5
89018 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
89019 # 258 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
89020  template<
89021   class C
89022    , class WrappedClass
89023    , class Policies
89024   ,
89025    class A0 , class A1 , class A2 , class A3 , class A4
89026  >
89027  static int call(
89028   void(C::*f)( A0 , A1 , A2 , A3 , A4)
89029    , WrappedClass*
89030    , lua_State* L
89031    , Policies* const)
89032  {
89033   int nargs = lua_gettop(L);
89034   L = L;
89035
89036   typedef typename most_derived<C, WrappedClass>::type self_type;
89037   pointer_converter<lua_to_cpp> self_cv;
89038
89039   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4;
89040   (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
89041   (
89042    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg )
89043   );
89044   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg );
89045
89046   int nret = lua_gettop(L) - nargs;
89047
89048   const int indices[] =
89049   {
89050    nargs + nret
89051     , 1
89052    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg
89053   };
89054
89055   policy_list_postcall<Policies>::apply(L, indices);
89056
89057   return maybe_yield<Policies>::apply(L, nret);
89058  }
89059
89060  template<
89061   class C
89062    , class WrappedClass
89063    , class Policies
89064   ,
89065    class A0 , class A1 , class A2 , class A3 , class A4
89066  >
89067  static int call(
89068   void(C::*f)( A0 , A1 , A2 , A3 , A4) const
89069    , WrappedClass*
89070    , lua_State* L
89071    , Policies const*)
89072  {
89073   int nargs = lua_gettop(L);
89074   L = L;
89075
89076   typedef typename most_derived<C, WrappedClass>::type self_type;
89077   const_pointer_converter<lua_to_cpp> self_cv;
89078
89079   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4;
89080   (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
89081   (
89082    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg )
89083   );
89084   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg );
89085
89086   int nret = lua_gettop(L) - nargs;
89087
89088   const int indices[] =
89089   {
89090    nargs + nret
89091     , 1
89092    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg
89093   };
89094
89095   policy_list_postcall<Policies>::apply(L, indices);
89096
89097   return maybe_yield<Policies>::apply(L, nret);
89098  }
89099
89100  template<
89101   class WrappedClass
89102    , class Policies
89103   ,
89104    class A0 , class A1 , class A2 , class A3 , class A4
89105  >
89106  static int call(
89107   void(*f)( A0 , A1 , A2 , A3 , A4)
89108    , WrappedClass*
89109    , lua_State* L
89110    , Policies const*)
89111  {
89112   int nargs = lua_gettop(L);
89113   L = L;
89114   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4;
89115   f(
89116    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg )
89117   );
89118
89119   int nret = lua_gettop(L) - nargs;
89120
89121   const int indices[] =
89122   {
89123    nargs + nret
89124    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg
89125   };
89126   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg );
89127
89128   policy_list_postcall<Policies>::apply(L, indices);
89129
89130   return maybe_yield<Policies>::apply(L, nret);
89131  }
89132 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
89133 #undef BOOST_PP_ITERATION_1
89134
89135
89136 #define BOOST_PP_ITERATION_1 6
89137 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
89138 # 258 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
89139  template<
89140   class C
89141    , class WrappedClass
89142    , class Policies
89143   ,
89144    class A0 , class A1 , class A2 , class A3 , class A4 , class A5
89145  >
89146  static int call(
89147   void(C::*f)( A0 , A1 , A2 , A3 , A4 , A5)
89148    , WrappedClass*
89149    , lua_State* L
89150    , Policies* const)
89151  {
89152   int nargs = lua_gettop(L);
89153   L = L;
89154
89155   typedef typename most_derived<C, WrappedClass>::type self_type;
89156   pointer_converter<lua_to_cpp> self_cv;
89157
89158   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5;
89159   (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
89160   (
89161    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg )
89162   );
89163   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg );
89164
89165   int nret = lua_gettop(L) - nargs;
89166
89167   const int indices[] =
89168   {
89169    nargs + nret
89170     , 1
89171    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg
89172   };
89173
89174   policy_list_postcall<Policies>::apply(L, indices);
89175
89176   return maybe_yield<Policies>::apply(L, nret);
89177  }
89178
89179  template<
89180   class C
89181    , class WrappedClass
89182    , class Policies
89183   ,
89184    class A0 , class A1 , class A2 , class A3 , class A4 , class A5
89185  >
89186  static int call(
89187   void(C::*f)( A0 , A1 , A2 , A3 , A4 , A5) const
89188    , WrappedClass*
89189    , lua_State* L
89190    , Policies const*)
89191  {
89192   int nargs = lua_gettop(L);
89193   L = L;
89194
89195   typedef typename most_derived<C, WrappedClass>::type self_type;
89196   const_pointer_converter<lua_to_cpp> self_cv;
89197
89198   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5;
89199   (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
89200   (
89201    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg )
89202   );
89203   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg );
89204
89205   int nret = lua_gettop(L) - nargs;
89206
89207   const int indices[] =
89208   {
89209    nargs + nret
89210     , 1
89211    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg
89212   };
89213
89214   policy_list_postcall<Policies>::apply(L, indices);
89215
89216   return maybe_yield<Policies>::apply(L, nret);
89217  }
89218
89219  template<
89220   class WrappedClass
89221    , class Policies
89222   ,
89223    class A0 , class A1 , class A2 , class A3 , class A4 , class A5
89224  >
89225  static int call(
89226   void(*f)( A0 , A1 , A2 , A3 , A4 , A5)
89227    , WrappedClass*
89228    , lua_State* L
89229    , Policies const*)
89230  {
89231   int nargs = lua_gettop(L);
89232   L = L;
89233   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5;
89234   f(
89235    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg )
89236   );
89237
89238   int nret = lua_gettop(L) - nargs;
89239
89240   const int indices[] =
89241   {
89242    nargs + nret
89243    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg
89244   };
89245   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg );
89246
89247   policy_list_postcall<Policies>::apply(L, indices);
89248
89249   return maybe_yield<Policies>::apply(L, nret);
89250  }
89251 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
89252 #undef BOOST_PP_ITERATION_1
89253
89254
89255 #define BOOST_PP_ITERATION_1 7
89256 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
89257 # 258 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
89258  template<
89259   class C
89260    , class WrappedClass
89261    , class Policies
89262   ,
89263    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
89264  >
89265  static int call(
89266   void(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6)
89267    , WrappedClass*
89268    , lua_State* L
89269    , Policies* const)
89270  {
89271   int nargs = lua_gettop(L);
89272   L = L;
89273
89274   typedef typename most_derived<C, WrappedClass>::type self_type;
89275   pointer_converter<lua_to_cpp> self_cv;
89276
89277   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6;
89278   (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
89279   (
89280    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg )
89281   );
89282   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg );
89283
89284   int nret = lua_gettop(L) - nargs;
89285
89286   const int indices[] =
89287   {
89288    nargs + nret
89289     , 1
89290    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg
89291   };
89292
89293   policy_list_postcall<Policies>::apply(L, indices);
89294
89295   return maybe_yield<Policies>::apply(L, nret);
89296  }
89297
89298  template<
89299   class C
89300    , class WrappedClass
89301    , class Policies
89302   ,
89303    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
89304  >
89305  static int call(
89306   void(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6) const
89307    , WrappedClass*
89308    , lua_State* L
89309    , Policies const*)
89310  {
89311   int nargs = lua_gettop(L);
89312   L = L;
89313
89314   typedef typename most_derived<C, WrappedClass>::type self_type;
89315   const_pointer_converter<lua_to_cpp> self_cv;
89316
89317   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6;
89318   (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
89319   (
89320    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg )
89321   );
89322   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg );
89323
89324   int nret = lua_gettop(L) - nargs;
89325
89326   const int indices[] =
89327   {
89328    nargs + nret
89329     , 1
89330    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg
89331   };
89332
89333   policy_list_postcall<Policies>::apply(L, indices);
89334
89335   return maybe_yield<Policies>::apply(L, nret);
89336  }
89337
89338  template<
89339   class WrappedClass
89340    , class Policies
89341   ,
89342    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
89343  >
89344  static int call(
89345   void(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6)
89346    , WrappedClass*
89347    , lua_State* L
89348    , Policies const*)
89349  {
89350   int nargs = lua_gettop(L);
89351   L = L;
89352   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6;
89353   f(
89354    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg )
89355   );
89356
89357   int nret = lua_gettop(L) - nargs;
89358
89359   const int indices[] =
89360   {
89361    nargs + nret
89362    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg
89363   };
89364   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg );
89365
89366   policy_list_postcall<Policies>::apply(L, indices);
89367
89368   return maybe_yield<Policies>::apply(L, nret);
89369  }
89370 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
89371 #undef BOOST_PP_ITERATION_1
89372
89373
89374 #define BOOST_PP_ITERATION_1 8
89375 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
89376 # 258 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
89377  template<
89378   class C
89379    , class WrappedClass
89380    , class Policies
89381   ,
89382    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
89383  >
89384  static int call(
89385   void(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)
89386    , WrappedClass*
89387    , lua_State* L
89388    , Policies* const)
89389  {
89390   int nargs = lua_gettop(L);
89391   L = L;
89392
89393   typedef typename most_derived<C, WrappedClass>::type self_type;
89394   pointer_converter<lua_to_cpp> self_cv;
89395
89396   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7;
89397   (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
89398   (
89399    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg )
89400   );
89401   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg );
89402
89403   int nret = lua_gettop(L) - nargs;
89404
89405   const int indices[] =
89406   {
89407    nargs + nret
89408     , 1
89409    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg
89410   };
89411
89412   policy_list_postcall<Policies>::apply(L, indices);
89413
89414   return maybe_yield<Policies>::apply(L, nret);
89415  }
89416
89417  template<
89418   class C
89419    , class WrappedClass
89420    , class Policies
89421   ,
89422    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
89423  >
89424  static int call(
89425   void(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) const
89426    , WrappedClass*
89427    , lua_State* L
89428    , Policies const*)
89429  {
89430   int nargs = lua_gettop(L);
89431   L = L;
89432
89433   typedef typename most_derived<C, WrappedClass>::type self_type;
89434   const_pointer_converter<lua_to_cpp> self_cv;
89435
89436   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7;
89437   (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
89438   (
89439    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg )
89440   );
89441   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg );
89442
89443   int nret = lua_gettop(L) - nargs;
89444
89445   const int indices[] =
89446   {
89447    nargs + nret
89448     , 1
89449    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg
89450   };
89451
89452   policy_list_postcall<Policies>::apply(L, indices);
89453
89454   return maybe_yield<Policies>::apply(L, nret);
89455  }
89456
89457  template<
89458   class WrappedClass
89459    , class Policies
89460   ,
89461    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
89462  >
89463  static int call(
89464   void(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)
89465    , WrappedClass*
89466    , lua_State* L
89467    , Policies const*)
89468  {
89469   int nargs = lua_gettop(L);
89470   L = L;
89471   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 1 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7;
89472   f(
89473    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg )
89474   );
89475
89476   int nret = lua_gettop(L) - nargs;
89477
89478   const int indices[] =
89479   {
89480    nargs + nret
89481    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg
89482   };
89483   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg );
89484
89485   policy_list_postcall<Policies>::apply(L, indices);
89486
89487   return maybe_yield<Policies>::apply(L, nret);
89488  }
89489 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
89490 #undef BOOST_PP_ITERATION_1
89491
89492
89493 #define BOOST_PP_ITERATION_1 9
89494 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
89495 # 258 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
89496  template<
89497   class C
89498    , class WrappedClass
89499    , class Policies
89500   ,
89501    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8
89502  >
89503  static int call(
89504   void(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)
89505    , WrappedClass*
89506    , lua_State* L
89507    , Policies* const)
89508  {
89509   int nargs = lua_gettop(L);
89510   L = L;
89511
89512   typedef typename most_derived<C, WrappedClass>::type self_type;
89513   pointer_converter<lua_to_cpp> self_cv;
89514
89515   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 2 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8;
89516   (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
89517   (
89518    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg )
89519   );
89520   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg );
89521
89522   int nret = lua_gettop(L) - nargs;
89523
89524   const int indices[] =
89525   {
89526    nargs + nret
89527     , 1
89528    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg
89529   };
89530
89531   policy_list_postcall<Policies>::apply(L, indices);
89532
89533   return maybe_yield<Policies>::apply(L, nret);
89534  }
89535
89536  template<
89537   class C
89538    , class WrappedClass
89539    , class Policies
89540   ,
89541    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8
89542  >
89543  static int call(
89544   void(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8) const
89545    , WrappedClass*
89546    , lua_State* L
89547    , Policies const*)
89548  {
89549   int nargs = lua_gettop(L);
89550   L = L;
89551
89552   typedef typename most_derived<C, WrappedClass>::type self_type;
89553   const_pointer_converter<lua_to_cpp> self_cv;
89554
89555   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 2 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8;
89556   (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
89557   (
89558    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg )
89559   );
89560   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg );
89561
89562   int nret = lua_gettop(L) - nargs;
89563
89564   const int indices[] =
89565   {
89566    nargs + nret
89567     , 1
89568    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg
89569   };
89570
89571   policy_list_postcall<Policies>::apply(L, indices);
89572
89573   return maybe_yield<Policies>::apply(L, nret);
89574  }
89575
89576  template<
89577   class WrappedClass
89578    , class Policies
89579   ,
89580    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8
89581  >
89582  static int call(
89583   void(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)
89584    , WrappedClass*
89585    , lua_State* L
89586    , Policies const*)
89587  {
89588   int nargs = lua_gettop(L);
89589   L = L;
89590   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 1 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 1 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8;
89591   f(
89592    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg )
89593   );
89594
89595   int nret = lua_gettop(L) - nargs;
89596
89597   const int indices[] =
89598   {
89599    nargs + nret
89600    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg
89601   };
89602   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg );
89603
89604   policy_list_postcall<Policies>::apply(L, indices);
89605
89606   return maybe_yield<Policies>::apply(L, nret);
89607  }
89608 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
89609 #undef BOOST_PP_ITERATION_1
89610
89611
89612 #define BOOST_PP_ITERATION_1 10
89613 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
89614 # 258 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
89615  template<
89616   class C
89617    , class WrappedClass
89618    , class Policies
89619   ,
89620    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
89621  >
89622  static int call(
89623   void(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)
89624    , WrappedClass*
89625    , lua_State* L
89626    , Policies* const)
89627  {
89628   int nargs = lua_gettop(L);
89629   L = L;
89630
89631   typedef typename most_derived<C, WrappedClass>::type self_type;
89632   pointer_converter<lua_to_cpp> self_cv;
89633
89634   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 2 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8; typedef typename find_conversion_policy< 9 + 2 , Policies >::type converter_policy9; typename mpl::apply_wrap2< converter_policy9, A9, lua_to_cpp >::type c9;
89635   (self_cv.apply(L, luabind::detail::decorated_type<self_type*>::get(), 1)->*f)
89636   (
89637    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ) , c9.apply( L , luabind::detail::decorated_type<A9>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg )
89638   );
89639   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ); c9.converter_postcall( L , luabind::detail::decorated_type<A9>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg );
89640
89641   int nret = lua_gettop(L) - nargs;
89642
89643   const int indices[] =
89644   {
89645    nargs + nret
89646     , 1
89647    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg
89648   };
89649
89650   policy_list_postcall<Policies>::apply(L, indices);
89651
89652   return maybe_yield<Policies>::apply(L, nret);
89653  }
89654
89655  template<
89656   class C
89657    , class WrappedClass
89658    , class Policies
89659   ,
89660    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
89661  >
89662  static int call(
89663   void(C::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9) const
89664    , WrappedClass*
89665    , lua_State* L
89666    , Policies const*)
89667  {
89668   int nargs = lua_gettop(L);
89669   L = L;
89670
89671   typedef typename most_derived<C, WrappedClass>::type self_type;
89672   const_pointer_converter<lua_to_cpp> self_cv;
89673
89674   typedef typename find_conversion_policy< 0 + 2 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 2 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 2 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 2 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 2 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 2 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 2 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 2 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 2 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8; typedef typename find_conversion_policy< 9 + 2 , Policies >::type converter_policy9; typename mpl::apply_wrap2< converter_policy9, A9, lua_to_cpp >::type c9;
89675   (self_cv.apply(L, luabind::detail::decorated_type<self_type const*>::get(), 1)->*f)
89676   (
89677    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 2 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ) , c9.apply( L , luabind::detail::decorated_type<A9>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg )
89678   );
89679   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 2 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 2 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ); c9.converter_postcall( L , luabind::detail::decorated_type<A9>::get() , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg );
89680
89681   int nret = lua_gettop(L) - nargs;
89682
89683   const int indices[] =
89684   {
89685    nargs + nret
89686     , 1
89687    , 2 , 2 + converter_policy0::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg , 2 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg
89688   };
89689
89690   policy_list_postcall<Policies>::apply(L, indices);
89691
89692   return maybe_yield<Policies>::apply(L, nret);
89693  }
89694
89695  template<
89696   class WrappedClass
89697    , class Policies
89698   ,
89699    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
89700  >
89701  static int call(
89702   void(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)
89703    , WrappedClass*
89704    , lua_State* L
89705    , Policies const*)
89706  {
89707   int nargs = lua_gettop(L);
89708   L = L;
89709   typedef typename find_conversion_policy< 0 + 1 , Policies >::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy< 1 + 1 , Policies >::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy< 2 + 1 , Policies >::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy< 3 + 1 , Policies >::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy< 4 + 1 , Policies >::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy< 5 + 1 , Policies >::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy< 6 + 1 , Policies >::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy< 7 + 1 , Policies >::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy< 8 + 1 , Policies >::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8; typedef typename find_conversion_policy< 9 + 1 , Policies >::type converter_policy9; typename mpl::apply_wrap2< converter_policy9, A9, lua_to_cpp >::type c9;
89710   f(
89711    c0.apply( L , luabind::detail::decorated_type<A0>::get() , 1 ) , c1.apply( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ) , c2.apply( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ) , c3.apply( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ) , c4.apply( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ) , c5.apply( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ) , c6.apply( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ) , c7.apply( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ) , c8.apply( L , luabind::detail::decorated_type<A8>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ) , c9.apply( L , luabind::detail::decorated_type<A9>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg )
89712   );
89713
89714   int nret = lua_gettop(L) - nargs;
89715
89716   const int indices[] =
89717   {
89718    nargs + nret
89719    , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg
89720   };
89721   c0.converter_postcall( L , luabind::detail::decorated_type<A0>::get() , 1 ); c1.converter_postcall( L , luabind::detail::decorated_type<A1>::get() , 1 + converter_policy0::has_arg ); c2.converter_postcall( L , luabind::detail::decorated_type<A2>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg ); c3.converter_postcall( L , luabind::detail::decorated_type<A3>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg ); c4.converter_postcall( L , luabind::detail::decorated_type<A4>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg ); c5.converter_postcall( L , luabind::detail::decorated_type<A5>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg ); c6.converter_postcall( L , luabind::detail::decorated_type<A6>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg ); c7.converter_postcall( L , luabind::detail::decorated_type<A7>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg ); c8.converter_postcall( L , luabind::detail::decorated_type<A8>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg ); c9.converter_postcall( L , luabind::detail::decorated_type<A9>::get() , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg );
89722
89723   policy_list_postcall<Policies>::apply(L, indices);
89724
89725   return maybe_yield<Policies>::apply(L, nret);
89726  }
89727 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
89728 #undef BOOST_PP_ITERATION_1
89729 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
89730 #undef BOOST_PP_IS_ITERATING
89731
89732 #undef BOOST_PP_ITERATION_DEPTH
89733 #define BOOST_PP_ITERATION_DEPTH() 0
89734
89735 #undef BOOST_PP_ITERATION_START_1
89736 #undef BOOST_PP_ITERATION_FINISH_1
89737 #undef BOOST_PP_FILENAME_1
89738
89739 #undef BOOST_PP_ITERATION_FLAGS_1
89740 #undef BOOST_PP_ITERATION_PARAMS_1
89741 # 113 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 2
89742  };
89743
89744 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/detail/call.hpp>, 3))
89745 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
89746 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
89747 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
89748 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
89749 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
89750 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
89751 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89752 #undef BOOST_PP_SLOT_TEMP_1
89753 #undef BOOST_PP_SLOT_TEMP_2
89754 #undef BOOST_PP_SLOT_TEMP_3
89755 #undef BOOST_PP_SLOT_TEMP_4
89756 #undef BOOST_PP_SLOT_TEMP_5
89757 #undef BOOST_PP_SLOT_TEMP_6
89758 #undef BOOST_PP_SLOT_TEMP_7
89759 #undef BOOST_PP_SLOT_TEMP_8
89760 #undef BOOST_PP_SLOT_TEMP_9
89761 #undef BOOST_PP_SLOT_TEMP_10
89762
89763
89764 #define BOOST_PP_SLOT_TEMP_10 0
89765 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89766 #define BOOST_PP_SLOT_TEMP_9 0
89767 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89768 #define BOOST_PP_SLOT_TEMP_8 0
89769 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89770 #define BOOST_PP_SLOT_TEMP_7 0
89771 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89772 #define BOOST_PP_SLOT_TEMP_6 0
89773 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89774 #define BOOST_PP_SLOT_TEMP_5 0
89775 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89776 #define BOOST_PP_SLOT_TEMP_4 0
89777 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89778 #define BOOST_PP_SLOT_TEMP_3 0
89779 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89780 #define BOOST_PP_SLOT_TEMP_2 0
89781 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89782 #define BOOST_PP_SLOT_TEMP_1 0
89783 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89784 #undef BOOST_PP_VALUE
89785 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
89786
89787 #undef BOOST_PP_ITERATION_START_1
89788
89789 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
89790 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
89791 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
89792 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
89793 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
89794 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
89795 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
89796 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
89797 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
89798 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
89799
89800
89801 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
89802 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
89803 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
89804 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
89805 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
89806 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
89807 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
89808 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
89809 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
89810 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
89811 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
89812 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
89813 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89814 #undef BOOST_PP_SLOT_TEMP_1
89815 #undef BOOST_PP_SLOT_TEMP_2
89816 #undef BOOST_PP_SLOT_TEMP_3
89817 #undef BOOST_PP_SLOT_TEMP_4
89818 #undef BOOST_PP_SLOT_TEMP_5
89819 #undef BOOST_PP_SLOT_TEMP_6
89820 #undef BOOST_PP_SLOT_TEMP_7
89821 #undef BOOST_PP_SLOT_TEMP_8
89822 #undef BOOST_PP_SLOT_TEMP_9
89823 #undef BOOST_PP_SLOT_TEMP_10
89824
89825
89826 #define BOOST_PP_SLOT_TEMP_10 0
89827 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89828 #define BOOST_PP_SLOT_TEMP_9 0
89829 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89830 #define BOOST_PP_SLOT_TEMP_8 0
89831 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89832 #define BOOST_PP_SLOT_TEMP_7 0
89833 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89834 #define BOOST_PP_SLOT_TEMP_6 0
89835 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89836 #define BOOST_PP_SLOT_TEMP_5 0
89837 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89838 #define BOOST_PP_SLOT_TEMP_4 0
89839 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89840 #define BOOST_PP_SLOT_TEMP_3 0
89841 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89842 #define BOOST_PP_SLOT_TEMP_2 1
89843 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89844 #define BOOST_PP_SLOT_TEMP_1 0
89845 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
89846 #undef BOOST_PP_VALUE
89847 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
89848
89849 #undef BOOST_PP_ITERATION_FINISH_1
89850
89851 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
89852 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
89853 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
89854 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
89855 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
89856 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
89857 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
89858 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
89859 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
89860 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
89861
89862
89863 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
89864 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
89865 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
89866 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
89867 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
89868 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
89869 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
89870 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
89871 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
89872
89873 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
89874
89875
89876
89877
89878
89879
89880
89881 #undef BOOST_PP_ITERATION_DEPTH
89882 #define BOOST_PP_ITERATION_DEPTH() 1
89883
89884 #define BOOST_PP_IS_ITERATING 1
89885
89886
89887
89888
89889
89890 #define BOOST_PP_ITERATION_1 0
89891 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
89892 # 373 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
89893  template<
89894   class WrappedClass
89895    , class Policies
89896    , class R
89897  
89898   
89899  >
89900  int call(
89901   R(*f)()
89902    , WrappedClass*
89903    , lua_State* L
89904    , Policies const*)
89905  {
89906   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
89907  }
89908
89909  template<
89910   class T
89911    , class WrappedClass
89912    , class Policies
89913    , class R
89914  
89915   
89916  >
89917  int call(
89918   R(T::*f)()
89919    , WrappedClass*
89920    , lua_State* L
89921    , Policies const*)
89922  {
89923   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
89924  }
89925
89926  template<
89927   class T
89928    , class WrappedClass
89929    , class Policies
89930    , class R
89931  
89932   
89933  >
89934  int call(
89935   R(T::*f)() const
89936    , WrappedClass*
89937    , lua_State* L
89938    , Policies const*)
89939  {
89940   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
89941  }
89942 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
89943 #undef BOOST_PP_ITERATION_1
89944
89945
89946 #define BOOST_PP_ITERATION_1 1
89947 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
89948 # 373 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
89949  template<
89950   class WrappedClass
89951    , class Policies
89952    , class R
89953   ,
89954    class A0
89955  >
89956  int call(
89957   R(*f)( A0)
89958    , WrappedClass*
89959    , lua_State* L
89960    , Policies const*)
89961  {
89962   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
89963  }
89964
89965  template<
89966   class T
89967    , class WrappedClass
89968    , class Policies
89969    , class R
89970   ,
89971    class A0
89972  >
89973  int call(
89974   R(T::*f)( A0)
89975    , WrappedClass*
89976    , lua_State* L
89977    , Policies const*)
89978  {
89979   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
89980  }
89981
89982  template<
89983   class T
89984    , class WrappedClass
89985    , class Policies
89986    , class R
89987   ,
89988    class A0
89989  >
89990  int call(
89991   R(T::*f)( A0) const
89992    , WrappedClass*
89993    , lua_State* L
89994    , Policies const*)
89995  {
89996   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
89997  }
89998 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
89999 #undef BOOST_PP_ITERATION_1
90000
90001
90002 #define BOOST_PP_ITERATION_1 2
90003 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
90004 # 373 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
90005  template<
90006   class WrappedClass
90007    , class Policies
90008    , class R
90009   ,
90010    class A0 , class A1
90011  >
90012  int call(
90013   R(*f)( A0 , A1)
90014    , WrappedClass*
90015    , lua_State* L
90016    , Policies const*)
90017  {
90018   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90019  }
90020
90021  template<
90022   class T
90023    , class WrappedClass
90024    , class Policies
90025    , class R
90026   ,
90027    class A0 , class A1
90028  >
90029  int call(
90030   R(T::*f)( A0 , A1)
90031    , WrappedClass*
90032    , lua_State* L
90033    , Policies const*)
90034  {
90035   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90036  }
90037
90038  template<
90039   class T
90040    , class WrappedClass
90041    , class Policies
90042    , class R
90043   ,
90044    class A0 , class A1
90045  >
90046  int call(
90047   R(T::*f)( A0 , A1) const
90048    , WrappedClass*
90049    , lua_State* L
90050    , Policies const*)
90051  {
90052   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90053  }
90054 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
90055 #undef BOOST_PP_ITERATION_1
90056
90057
90058 #define BOOST_PP_ITERATION_1 3
90059 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
90060 # 373 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
90061  template<
90062   class WrappedClass
90063    , class Policies
90064    , class R
90065   ,
90066    class A0 , class A1 , class A2
90067  >
90068  int call(
90069   R(*f)( A0 , A1 , A2)
90070    , WrappedClass*
90071    , lua_State* L
90072    , Policies const*)
90073  {
90074   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90075  }
90076
90077  template<
90078   class T
90079    , class WrappedClass
90080    , class Policies
90081    , class R
90082   ,
90083    class A0 , class A1 , class A2
90084  >
90085  int call(
90086   R(T::*f)( A0 , A1 , A2)
90087    , WrappedClass*
90088    , lua_State* L
90089    , Policies const*)
90090  {
90091   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90092  }
90093
90094  template<
90095   class T
90096    , class WrappedClass
90097    , class Policies
90098    , class R
90099   ,
90100    class A0 , class A1 , class A2
90101  >
90102  int call(
90103   R(T::*f)( A0 , A1 , A2) const
90104    , WrappedClass*
90105    , lua_State* L
90106    , Policies const*)
90107  {
90108   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90109  }
90110 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
90111 #undef BOOST_PP_ITERATION_1
90112
90113
90114 #define BOOST_PP_ITERATION_1 4
90115 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
90116 # 373 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
90117  template<
90118   class WrappedClass
90119    , class Policies
90120    , class R
90121   ,
90122    class A0 , class A1 , class A2 , class A3
90123  >
90124  int call(
90125   R(*f)( A0 , A1 , A2 , A3)
90126    , WrappedClass*
90127    , lua_State* L
90128    , Policies const*)
90129  {
90130   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90131  }
90132
90133  template<
90134   class T
90135    , class WrappedClass
90136    , class Policies
90137    , class R
90138   ,
90139    class A0 , class A1 , class A2 , class A3
90140  >
90141  int call(
90142   R(T::*f)( A0 , A1 , A2 , A3)
90143    , WrappedClass*
90144    , lua_State* L
90145    , Policies const*)
90146  {
90147   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90148  }
90149
90150  template<
90151   class T
90152    , class WrappedClass
90153    , class Policies
90154    , class R
90155   ,
90156    class A0 , class A1 , class A2 , class A3
90157  >
90158  int call(
90159   R(T::*f)( A0 , A1 , A2 , A3) const
90160    , WrappedClass*
90161    , lua_State* L
90162    , Policies const*)
90163  {
90164   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90165  }
90166 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
90167 #undef BOOST_PP_ITERATION_1
90168
90169
90170 #define BOOST_PP_ITERATION_1 5
90171 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
90172 # 373 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
90173  template<
90174   class WrappedClass
90175    , class Policies
90176    , class R
90177   ,
90178    class A0 , class A1 , class A2 , class A3 , class A4
90179  >
90180  int call(
90181   R(*f)( A0 , A1 , A2 , A3 , A4)
90182    , WrappedClass*
90183    , lua_State* L
90184    , Policies const*)
90185  {
90186   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90187  }
90188
90189  template<
90190   class T
90191    , class WrappedClass
90192    , class Policies
90193    , class R
90194   ,
90195    class A0 , class A1 , class A2 , class A3 , class A4
90196  >
90197  int call(
90198   R(T::*f)( A0 , A1 , A2 , A3 , A4)
90199    , WrappedClass*
90200    , lua_State* L
90201    , Policies const*)
90202  {
90203   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90204  }
90205
90206  template<
90207   class T
90208    , class WrappedClass
90209    , class Policies
90210    , class R
90211   ,
90212    class A0 , class A1 , class A2 , class A3 , class A4
90213  >
90214  int call(
90215   R(T::*f)( A0 , A1 , A2 , A3 , A4) const
90216    , WrappedClass*
90217    , lua_State* L
90218    , Policies const*)
90219  {
90220   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90221  }
90222 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
90223 #undef BOOST_PP_ITERATION_1
90224
90225
90226 #define BOOST_PP_ITERATION_1 6
90227 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
90228 # 373 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
90229  template<
90230   class WrappedClass
90231    , class Policies
90232    , class R
90233   ,
90234    class A0 , class A1 , class A2 , class A3 , class A4 , class A5
90235  >
90236  int call(
90237   R(*f)( A0 , A1 , A2 , A3 , A4 , A5)
90238    , WrappedClass*
90239    , lua_State* L
90240    , Policies const*)
90241  {
90242   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90243  }
90244
90245  template<
90246   class T
90247    , class WrappedClass
90248    , class Policies
90249    , class R
90250   ,
90251    class A0 , class A1 , class A2 , class A3 , class A4 , class A5
90252  >
90253  int call(
90254   R(T::*f)( A0 , A1 , A2 , A3 , A4 , A5)
90255    , WrappedClass*
90256    , lua_State* L
90257    , Policies const*)
90258  {
90259   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90260  }
90261
90262  template<
90263   class T
90264    , class WrappedClass
90265    , class Policies
90266    , class R
90267   ,
90268    class A0 , class A1 , class A2 , class A3 , class A4 , class A5
90269  >
90270  int call(
90271   R(T::*f)( A0 , A1 , A2 , A3 , A4 , A5) const
90272    , WrappedClass*
90273    , lua_State* L
90274    , Policies const*)
90275  {
90276   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90277  }
90278 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
90279 #undef BOOST_PP_ITERATION_1
90280
90281
90282 #define BOOST_PP_ITERATION_1 7
90283 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
90284 # 373 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
90285  template<
90286   class WrappedClass
90287    , class Policies
90288    , class R
90289   ,
90290    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
90291  >
90292  int call(
90293   R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6)
90294    , WrappedClass*
90295    , lua_State* L
90296    , Policies const*)
90297  {
90298   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90299  }
90300
90301  template<
90302   class T
90303    , class WrappedClass
90304    , class Policies
90305    , class R
90306   ,
90307    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
90308  >
90309  int call(
90310   R(T::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6)
90311    , WrappedClass*
90312    , lua_State* L
90313    , Policies const*)
90314  {
90315   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90316  }
90317
90318  template<
90319   class T
90320    , class WrappedClass
90321    , class Policies
90322    , class R
90323   ,
90324    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6
90325  >
90326  int call(
90327   R(T::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6) const
90328    , WrappedClass*
90329    , lua_State* L
90330    , Policies const*)
90331  {
90332   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90333  }
90334 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
90335 #undef BOOST_PP_ITERATION_1
90336
90337
90338 #define BOOST_PP_ITERATION_1 8
90339 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
90340 # 373 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
90341  template<
90342   class WrappedClass
90343    , class Policies
90344    , class R
90345   ,
90346    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
90347  >
90348  int call(
90349   R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)
90350    , WrappedClass*
90351    , lua_State* L
90352    , Policies const*)
90353  {
90354   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90355  }
90356
90357  template<
90358   class T
90359    , class WrappedClass
90360    , class Policies
90361    , class R
90362   ,
90363    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
90364  >
90365  int call(
90366   R(T::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)
90367    , WrappedClass*
90368    , lua_State* L
90369    , Policies const*)
90370  {
90371   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90372  }
90373
90374  template<
90375   class T
90376    , class WrappedClass
90377    , class Policies
90378    , class R
90379   ,
90380    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7
90381  >
90382  int call(
90383   R(T::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) const
90384    , WrappedClass*
90385    , lua_State* L
90386    , Policies const*)
90387  {
90388   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90389  }
90390 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
90391 #undef BOOST_PP_ITERATION_1
90392
90393
90394 #define BOOST_PP_ITERATION_1 9
90395 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
90396 # 373 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
90397  template<
90398   class WrappedClass
90399    , class Policies
90400    , class R
90401   ,
90402    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8
90403  >
90404  int call(
90405   R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)
90406    , WrappedClass*
90407    , lua_State* L
90408    , Policies const*)
90409  {
90410   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90411  }
90412
90413  template<
90414   class T
90415    , class WrappedClass
90416    , class Policies
90417    , class R
90418   ,
90419    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8
90420  >
90421  int call(
90422   R(T::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)
90423    , WrappedClass*
90424    , lua_State* L
90425    , Policies const*)
90426  {
90427   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90428  }
90429
90430  template<
90431   class T
90432    , class WrappedClass
90433    , class Policies
90434    , class R
90435   ,
90436    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8
90437  >
90438  int call(
90439   R(T::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8) const
90440    , WrappedClass*
90441    , lua_State* L
90442    , Policies const*)
90443  {
90444   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90445  }
90446 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
90447 #undef BOOST_PP_ITERATION_1
90448
90449
90450 #define BOOST_PP_ITERATION_1 10
90451 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 1 3 4
90452 # 373 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 3 4
90453  template<
90454   class WrappedClass
90455    , class Policies
90456    , class R
90457   ,
90458    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
90459  >
90460  int call(
90461   R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)
90462    , WrappedClass*
90463    , lua_State* L
90464    , Policies const*)
90465  {
90466   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90467  }
90468
90469  template<
90470   class T
90471    , class WrappedClass
90472    , class Policies
90473    , class R
90474   ,
90475    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
90476  >
90477  int call(
90478   R(T::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)
90479    , WrappedClass*
90480    , lua_State* L
90481    , Policies const*)
90482  {
90483   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90484  }
90485
90486  template<
90487   class T
90488    , class WrappedClass
90489    , class Policies
90490    , class R
90491   ,
90492    class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9
90493  >
90494  int call(
90495   R(T::*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9) const
90496    , WrappedClass*
90497    , lua_State* L
90498    , Policies const*)
90499  {
90500   return returns<R>::call(f, (WrappedClass*)0, L, (Policies*)0);
90501  }
90502 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
90503 #undef BOOST_PP_ITERATION_1
90504 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
90505 #undef BOOST_PP_IS_ITERATING
90506
90507 #undef BOOST_PP_ITERATION_DEPTH
90508 #define BOOST_PP_ITERATION_DEPTH() 0
90509
90510 #undef BOOST_PP_ITERATION_START_1
90511 #undef BOOST_PP_ITERATION_FINISH_1
90512 #undef BOOST_PP_FILENAME_1
90513
90514 #undef BOOST_PP_ITERATION_FLAGS_1
90515 #undef BOOST_PP_ITERATION_PARAMS_1
90516 # 117 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call.hpp" 2
90517 }}
90518
90519 #undef LUABIND_DECL
90520 #undef LUABIND_PARAMS
90521 #undef LUABIND_POSTCALL
90522 #undef LUABIND_ADD_INDEX
90523 #undef LUABIND_INDEX_MAP
90524 # 100 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
90525 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1
90526 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
90527
90528 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/property.hpp" 1
90529 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/property.hpp"
90530 #define LUABIND_PROPERTY_HPP_INCLUDED 
90531
90532
90533
90534
90535 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
90536 # 31 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/property.hpp" 2
90537
90538 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/dependency_policy.hpp" 1
90539 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/dependency_policy.hpp"
90540 #define LUABIND_DEPENDENCY_POLICY_HPP_INCLUDED 
90541
90542
90543
90544
90545 namespace luabind { namespace detail
90546 {
90547
90548
90549  template<int A, int B>
90550  struct dependency_policy
90551  {
90552   static void postcall(lua_State* L, const index_map& indices)
90553   {
90554    int nurse_index = indices[A];
90555    int patient = indices[B];
90556
90557    object_rep* nurse = static_cast<object_rep*>(lua_touserdata(L, nurse_index));
90558    (static_cast<void> (((nurse != 0) && "internal error, please report") ? 0 : (__assert_fail ("(nurse != 0) && \"internal error, please report\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/dependency_policy.hpp", 43, __PRETTY_FUNCTION__), 0)));
90559
90560    nurse->add_dependency(L, patient);
90561   }
90562  };
90563
90564 }}
90565 # 96 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/dependency_policy.hpp"
90566 namespace luabind
90567 {
90568  template<int A, int B>
90569  detail::policy_cons<detail::dependency_policy<A, B>, detail::null_type>
90570  dependency(boost::arg<A>, boost::arg<B>)
90571  {
90572   return detail::policy_cons<detail::dependency_policy<A, B>, detail::null_type>();
90573  }
90574
90575  template<int A>
90576  detail::policy_cons<detail::dependency_policy<0, A>, detail::null_type>
90577  return_internal_reference(boost::arg<A>)
90578  {
90579   return detail::policy_cons<detail::dependency_policy<0, A>, detail::null_type>();
90580  }
90581 }
90582 # 33 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/property.hpp" 2
90583
90584 namespace luabind { namespace detail
90585 {
90586     namespace mpl = boost::mpl;
90587
90588  class object_rep;
90589 # 50 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/property.hpp"
90590  template<class R, class C, class T, class Policies>
90591  int get(R(C::*f)() const, T* obj, lua_State* L, Policies* policies)
90592  {
90593   return returns<R>::call(f, obj, L, policies);
90594  }
90595
90596  template<class R, class T, class U, class Policies>
90597  int get(R(*f)(T), U* obj, lua_State* L, Policies* policies)
90598  {
90599   return returns<R>::call(f, obj, L, policies);
90600  }
90601
90602  template<class T, class F, class Policies>
90603  struct get_caller : Policies
90604  {
90605   get_caller() {}
90606   get_caller(const Policies& p): Policies(p) {}
90607
90608   int operator()(lua_State* L, int pointer_offset, F f)
90609   {
90610
90611
90612
90613    return get(f, (T*)0, L, static_cast<Policies*>(this));
90614   }
90615  };
90616
90617  template<class R, class C, class T, class A1, class Policies>
90618  int set(R(C::*f)(A1), T* obj, lua_State* L, Policies* policies)
90619  {
90620   return returns<void>::call(f, obj, L, policies);
90621  }
90622 # 90 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/property.hpp"
90623  template<class R, class T, class U, class A1, class Policies>
90624  int set(R(*f)(T, A1), U* obj, lua_State* L, Policies* policies) { return returns<void>::call(f, obj, L, policies); }
90625
90626  template<class T, class F, class Policies>
90627  struct set_caller : Policies
90628  {
90629   int operator()(lua_State* L, int pointer_offset, F f)
90630   {
90631 # 106 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/property.hpp"
90632    lua_remove(L, 2);
90633    return luabind::detail::set(f, (T*)0, L, static_cast<Policies*>(this));
90634   }
90635  };
90636
90637  typedef int (*match_fun_ptr)(lua_State*, int);
90638
90639  template<class T, class Policies>
90640  struct set_matcher
90641  {
90642   static int apply(lua_State* L, int index)
90643   {
90644    typedef typename find_conversion_policy<1, Policies>::type converter_policy;
90645    typedef typename mpl::apply_wrap2<converter_policy,T,lua_to_cpp>::type converter;
90646    return converter::match(L, luabind::detail::decorated_type<T>::get(), index);
90647   }
90648  };
90649
90650  template<class T, class Param, class Policy>
90651  match_fun_ptr gen_set_matcher(void (*)(T, Param), Policy*)
90652  {
90653   return set_matcher<Param, Policy>::apply;
90654  }
90655
90656  template<class T, class Param, class Policy>
90657  match_fun_ptr gen_set_matcher(void (T::*)(Param), Policy*)
90658  {
90659   return set_matcher<Param, Policy>::apply;
90660  }
90661
90662  template<class T, class D, class Policies>
90663  struct auto_set : Policies
90664  {
90665   auto_set() {}
90666   auto_set(const Policies& p): Policies(p) {}
90667
90668   int operator()(lua_State* L, int pointer_offset, D T::*member)
90669   {
90670    int nargs = lua_gettop(L);
90671
90672
90673
90674
90675
90676    object_rep* obj = static_cast<object_rep*>(lua_touserdata(L, 1));
90677    class_rep* crep = obj->crep();
90678
90679    void* raw_ptr;
90680
90681    if (crep->has_holder())
90682     raw_ptr = crep->extractor()(obj->ptr());
90683    else
90684     raw_ptr = obj->ptr();
90685
90686    T* ptr = reinterpret_cast<T*>(static_cast<char*>(raw_ptr) + pointer_offset);
90687
90688    typedef typename find_conversion_policy<1,Policies>::type converter_policy;
90689    typename mpl::apply_wrap2<converter_policy,D,lua_to_cpp>::type converter;
90690    ptr->*member = converter.apply(L, luabind::detail::decorated_type<D>::get(), 3);
90691
90692    int nret = lua_gettop(L) - nargs;
90693
90694    const int indices[] = { 1, nargs + nret, 3 };
90695
90696    policy_list_postcall<Policies>::apply(L, indices);
90697
90698    return nret;
90699   }
90700  };
90701
90702
90703
90704  template<class ConverterPolicy, class D>
90705  struct make_reference_converter
90706  {
90707   typedef typename mpl::apply_wrap2<
90708    ConverterPolicy
90709     , typename boost::add_reference<D>::type
90710     , cpp_to_lua
90711   >::type type;
90712  };
90713
90714  template<class T, class D, class Policies>
90715  struct auto_get : Policies
90716  {
90717   auto_get() {}
90718   auto_get(const Policies& p): Policies(p) {}
90719
90720   int operator()(lua_State* L, int pointer_offset, D T::*member)
90721   {
90722    int nargs = lua_gettop(L);
90723
90724
90725
90726
90727    object_rep* obj = static_cast<object_rep*>(lua_touserdata(L, 1));
90728    class_rep* crep = obj->crep();
90729
90730    void* raw_ptr;
90731
90732    if (crep->has_holder())
90733     raw_ptr = crep->extractor()(obj->ptr());
90734    else
90735     raw_ptr = obj->ptr();
90736
90737    T* ptr = reinterpret_cast<T*>(static_cast<char*>(raw_ptr) + pointer_offset);
90738
90739    typedef typename find_conversion_policy<0,Policies>::type converter_policy;
90740    typedef typename mpl::apply_wrap2<converter_policy,D,cpp_to_lua>::type converter1_t;
90741
90742
90743    typedef typename boost::mpl::eval_if<
90744     typename converter1_t::is_value_converter
90745     , make_reference_converter<converter_policy, D>
90746     , mpl::identity<converter1_t>
90747    >::type converter2_t;
90748
90749
90750
90751    typedef typename boost::mpl::if_<
90752     typename converter1_t::is_value_converter
90753     , policy_cons<dependency_policy<1, 0>, Policies>
90754     , Policies
90755    >::type policy_list;
90756
90757    converter2_t converter;
90758    converter.apply(L, ptr->*member);
90759
90760    int nret = lua_gettop(L) - nargs;
90761
90762    const int indices[] = { 1, nargs + nret };
90763
90764    policy_list_postcall<policy_list>::apply(L, indices);
90765
90766    return nret;
90767   }
90768  };
90769
90770 }}
90771 # 103 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
90772
90773
90774 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/method_rep.hpp" 1
90775 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/method_rep.hpp"
90776 #define LUABIND_METHOD_REP_HPP_INCLUDED 
90777
90778
90779
90780
90781
90782 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1
90783 # 27 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp"
90784 #define LUABIND_OVERLOAD_REP_HPP_INCLUDED 
90785 # 39 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp"
90786 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/is_indirect_const.hpp" 1
90787 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/is_indirect_const.hpp"
90788 #define IS_INDIRECT_CONST_040211_HPP 
90789
90790
90791
90792
90793
90794 namespace luabind {
90795
90796     namespace detail {
90797
90798     template<class T>
90799     typename boost::is_const<T>::type
90800     is_indirect_const_check(T(*)(), int);
90801
90802     template<class T>
90803     typename boost::is_const<T>::type
90804     is_indirect_const_check(T*(*)(), long);
90805
90806     template<class T>
90807     typename boost::is_const<T>::type
90808     is_indirect_const_check(T&(*)(), long);
90809
90810     yes_t to_yes_no(boost::mpl::true_);
90811     no_t to_yes_no(boost::mpl::false_);
90812
90813     }
90814
90815
90816
90817
90818
90819     template<class T>
90820     struct is_indirect_const
90821     {
90822         static const int value = ( sizeof( detail::to_yes_no( detail::is_indirect_const_check((T(*)())0, 0L) )) == sizeof(detail::yes_t) );
90823
90824
90825
90826
90827
90828
90829     };
90830
90831 }
90832 # 40 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 2
90833
90834
90835
90836
90837
90838 namespace luabind { namespace detail
90839 {
90840  struct dummy_ {};
90841
90842
90843  struct overload_rep: public overload_rep_base
90844  {
90845 #define BOOST_PP_ITERATION_PARAMS_1 (4 , (0, LUABIND_MAX_ARITY, <luabind/detail/overload_rep.hpp>, 1))
90846
90847 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
90848 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
90849 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
90850 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
90851 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
90852 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
90853 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90854 #undef BOOST_PP_SLOT_TEMP_1
90855 #undef BOOST_PP_SLOT_TEMP_2
90856 #undef BOOST_PP_SLOT_TEMP_3
90857 #undef BOOST_PP_SLOT_TEMP_4
90858 #undef BOOST_PP_SLOT_TEMP_5
90859 #undef BOOST_PP_SLOT_TEMP_6
90860 #undef BOOST_PP_SLOT_TEMP_7
90861 #undef BOOST_PP_SLOT_TEMP_8
90862 #undef BOOST_PP_SLOT_TEMP_9
90863 #undef BOOST_PP_SLOT_TEMP_10
90864
90865
90866 #define BOOST_PP_SLOT_TEMP_10 0
90867 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90868 #define BOOST_PP_SLOT_TEMP_9 0
90869 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90870 #define BOOST_PP_SLOT_TEMP_8 0
90871 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90872 #define BOOST_PP_SLOT_TEMP_7 0
90873 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90874 #define BOOST_PP_SLOT_TEMP_6 0
90875 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90876 #define BOOST_PP_SLOT_TEMP_5 0
90877 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90878 #define BOOST_PP_SLOT_TEMP_4 0
90879 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90880 #define BOOST_PP_SLOT_TEMP_3 0
90881 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90882 #define BOOST_PP_SLOT_TEMP_2 0
90883 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90884 #define BOOST_PP_SLOT_TEMP_1 0
90885 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90886 #undef BOOST_PP_VALUE
90887 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
90888
90889 #undef BOOST_PP_ITERATION_START_1
90890
90891 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
90892 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
90893 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
90894 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
90895 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
90896 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
90897 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
90898 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
90899 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
90900 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
90901
90902
90903 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
90904 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
90905 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
90906 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
90907 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
90908 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
90909 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
90910 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
90911 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
90912 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
90913 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
90914 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
90915 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90916 #undef BOOST_PP_SLOT_TEMP_1
90917 #undef BOOST_PP_SLOT_TEMP_2
90918 #undef BOOST_PP_SLOT_TEMP_3
90919 #undef BOOST_PP_SLOT_TEMP_4
90920 #undef BOOST_PP_SLOT_TEMP_5
90921 #undef BOOST_PP_SLOT_TEMP_6
90922 #undef BOOST_PP_SLOT_TEMP_7
90923 #undef BOOST_PP_SLOT_TEMP_8
90924 #undef BOOST_PP_SLOT_TEMP_9
90925 #undef BOOST_PP_SLOT_TEMP_10
90926
90927
90928 #define BOOST_PP_SLOT_TEMP_10 0
90929 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90930 #define BOOST_PP_SLOT_TEMP_9 0
90931 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90932 #define BOOST_PP_SLOT_TEMP_8 0
90933 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90934 #define BOOST_PP_SLOT_TEMP_7 0
90935 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90936 #define BOOST_PP_SLOT_TEMP_6 0
90937 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90938 #define BOOST_PP_SLOT_TEMP_5 0
90939 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90940 #define BOOST_PP_SLOT_TEMP_4 0
90941 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90942 #define BOOST_PP_SLOT_TEMP_3 0
90943 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90944 #define BOOST_PP_SLOT_TEMP_2 1
90945 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90946 #define BOOST_PP_SLOT_TEMP_1 0
90947 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
90948 #undef BOOST_PP_VALUE
90949 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
90950
90951 #undef BOOST_PP_ITERATION_FINISH_1
90952
90953 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
90954 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
90955 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
90956 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
90957 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
90958 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
90959 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
90960 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
90961 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
90962 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
90963
90964
90965 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
90966 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
90967 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
90968 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
90969 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
90970 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
90971 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
90972 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
90973 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
90974
90975 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
90976
90977
90978
90979
90980
90981
90982
90983 #undef BOOST_PP_ITERATION_DEPTH
90984 #define BOOST_PP_ITERATION_DEPTH() 1
90985
90986 #define BOOST_PP_IS_ITERATING 1
90987
90988
90989
90990
90991
90992 #define BOOST_PP_ITERATION_1 0
90993 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1 3 4
90994 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 3 4
90995 #define LUABIND_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
90996 #define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy<n + offset, Policies>::type BOOST_PP_CAT(p,n);
90997 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
90998
90999
91000
91001   template<class R, class T , class Policies>
91002   overload_rep(R(T::*)(), Policies*)
91003             : m_const(false)
91004   {
91005    m_params_.reserve(0);
91006   
91007   
91008    m_arity = 1 ;
91009   }
91010
91011   template<class R, class T , class Policies>
91012   overload_rep(R(T::*)() const, Policies*)
91013             : m_const(true)
91014   {
91015    m_params_.reserve(0);
91016   
91017   
91018    m_arity = 1 ;
91019   }
91020
91021   template<class R , class Policies>
91022   overload_rep(R(*)(), Policies*)
91023             : m_const(false )
91024   {
91025    m_params_.reserve(0);
91026   
91027   
91028    m_arity = 0 ;
91029   }
91030
91031 #undef LUABIND_ARITY
91032 #undef LUABIND_POLICY_DECL
91033 #undef LUABIND_PARAM
91034 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91035 #undef BOOST_PP_ITERATION_1
91036
91037
91038 #define BOOST_PP_ITERATION_1 1
91039 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1 3 4
91040 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 3 4
91041 #define LUABIND_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
91042 #define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy<n + offset, Policies>::type BOOST_PP_CAT(p,n);
91043 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
91044
91045
91046
91047   template<class R, class T , class A0, class Policies>
91048   overload_rep(R(T::*)( A0), Policies*)
91049             : m_const(false)
91050   {
91051    m_params_.reserve(1);
91052    m_params_.push_back(&typeid(A0));
91053    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0;
91054    m_arity = 1 + p0::has_arg;
91055   }
91056
91057   template<class R, class T , class A0, class Policies>
91058   overload_rep(R(T::*)( A0) const, Policies*)
91059             : m_const(true)
91060   {
91061    m_params_.reserve(1);
91062    m_params_.push_back(&typeid(A0));
91063    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0;
91064    m_arity = 1 + p0::has_arg;
91065   }
91066
91067   template<class R , class A0, class Policies>
91068   overload_rep(R(*)( A0), Policies*)
91069             : m_const(false )
91070   {
91071    m_params_.reserve(1);
91072    m_params_.push_back(&typeid(A0));
91073    typedef typename detail::find_conversion_policy<0 + 1, Policies>::type p0;
91074    m_arity = 0 + p0::has_arg;
91075   }
91076
91077 #undef LUABIND_ARITY
91078 #undef LUABIND_POLICY_DECL
91079 #undef LUABIND_PARAM
91080 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91081 #undef BOOST_PP_ITERATION_1
91082
91083
91084 #define BOOST_PP_ITERATION_1 2
91085 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1 3 4
91086 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 3 4
91087 #define LUABIND_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
91088 #define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy<n + offset, Policies>::type BOOST_PP_CAT(p,n);
91089 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
91090
91091
91092
91093   template<class R, class T , class A0 , class A1, class Policies>
91094   overload_rep(R(T::*)( A0 , A1), Policies*)
91095             : m_const(false)
91096   {
91097    m_params_.reserve(2);
91098    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1));
91099    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1;
91100    m_arity = 1 + p0::has_arg + p1::has_arg;
91101   }
91102
91103   template<class R, class T , class A0 , class A1, class Policies>
91104   overload_rep(R(T::*)( A0 , A1) const, Policies*)
91105             : m_const(true)
91106   {
91107    m_params_.reserve(2);
91108    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1));
91109    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1;
91110    m_arity = 1 + p0::has_arg + p1::has_arg;
91111   }
91112
91113   template<class R , class A0 , class A1, class Policies>
91114   overload_rep(R(*)( A0 , A1), Policies*)
91115             : m_const(false )
91116   {
91117    m_params_.reserve(2);
91118    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1));
91119    typedef typename detail::find_conversion_policy<0 + 1, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 1, Policies>::type p1;
91120    m_arity = 0 + p0::has_arg + p1::has_arg;
91121   }
91122
91123 #undef LUABIND_ARITY
91124 #undef LUABIND_POLICY_DECL
91125 #undef LUABIND_PARAM
91126 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91127 #undef BOOST_PP_ITERATION_1
91128
91129
91130 #define BOOST_PP_ITERATION_1 3
91131 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1 3 4
91132 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 3 4
91133 #define LUABIND_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
91134 #define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy<n + offset, Policies>::type BOOST_PP_CAT(p,n);
91135 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
91136
91137
91138
91139   template<class R, class T , class A0 , class A1 , class A2, class Policies>
91140   overload_rep(R(T::*)( A0 , A1 , A2), Policies*)
91141             : m_const(false)
91142   {
91143    m_params_.reserve(3);
91144    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2));
91145    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2;
91146    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg;
91147   }
91148
91149   template<class R, class T , class A0 , class A1 , class A2, class Policies>
91150   overload_rep(R(T::*)( A0 , A1 , A2) const, Policies*)
91151             : m_const(true)
91152   {
91153    m_params_.reserve(3);
91154    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2));
91155    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2;
91156    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg;
91157   }
91158
91159   template<class R , class A0 , class A1 , class A2, class Policies>
91160   overload_rep(R(*)( A0 , A1 , A2), Policies*)
91161             : m_const(false )
91162   {
91163    m_params_.reserve(3);
91164    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2));
91165    typedef typename detail::find_conversion_policy<0 + 1, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 1, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 1, Policies>::type p2;
91166    m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg;
91167   }
91168
91169 #undef LUABIND_ARITY
91170 #undef LUABIND_POLICY_DECL
91171 #undef LUABIND_PARAM
91172 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91173 #undef BOOST_PP_ITERATION_1
91174
91175
91176 #define BOOST_PP_ITERATION_1 4
91177 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1 3 4
91178 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 3 4
91179 #define LUABIND_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
91180 #define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy<n + offset, Policies>::type BOOST_PP_CAT(p,n);
91181 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
91182
91183
91184
91185   template<class R, class T , class A0 , class A1 , class A2 , class A3, class Policies>
91186   overload_rep(R(T::*)( A0 , A1 , A2 , A3), Policies*)
91187             : m_const(false)
91188   {
91189    m_params_.reserve(4);
91190    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3));
91191    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3;
91192    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg;
91193   }
91194
91195   template<class R, class T , class A0 , class A1 , class A2 , class A3, class Policies>
91196   overload_rep(R(T::*)( A0 , A1 , A2 , A3) const, Policies*)
91197             : m_const(true)
91198   {
91199    m_params_.reserve(4);
91200    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3));
91201    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3;
91202    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg;
91203   }
91204
91205   template<class R , class A0 , class A1 , class A2 , class A3, class Policies>
91206   overload_rep(R(*)( A0 , A1 , A2 , A3), Policies*)
91207             : m_const(false )
91208   {
91209    m_params_.reserve(4);
91210    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3));
91211    typedef typename detail::find_conversion_policy<0 + 1, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 1, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 1, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 1, Policies>::type p3;
91212    m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg;
91213   }
91214
91215 #undef LUABIND_ARITY
91216 #undef LUABIND_POLICY_DECL
91217 #undef LUABIND_PARAM
91218 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91219 #undef BOOST_PP_ITERATION_1
91220
91221
91222 #define BOOST_PP_ITERATION_1 5
91223 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1 3 4
91224 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 3 4
91225 #define LUABIND_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
91226 #define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy<n + offset, Policies>::type BOOST_PP_CAT(p,n);
91227 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
91228
91229
91230
91231   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4, class Policies>
91232   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4), Policies*)
91233             : m_const(false)
91234   {
91235    m_params_.reserve(5);
91236    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4));
91237    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4;
91238    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg;
91239   }
91240
91241   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4, class Policies>
91242   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4) const, Policies*)
91243             : m_const(true)
91244   {
91245    m_params_.reserve(5);
91246    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4));
91247    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4;
91248    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg;
91249   }
91250
91251   template<class R , class A0 , class A1 , class A2 , class A3 , class A4, class Policies>
91252   overload_rep(R(*)( A0 , A1 , A2 , A3 , A4), Policies*)
91253             : m_const(false )
91254   {
91255    m_params_.reserve(5);
91256    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4));
91257    typedef typename detail::find_conversion_policy<0 + 1, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 1, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 1, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 1, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 1, Policies>::type p4;
91258    m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg;
91259   }
91260
91261 #undef LUABIND_ARITY
91262 #undef LUABIND_POLICY_DECL
91263 #undef LUABIND_PARAM
91264 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91265 #undef BOOST_PP_ITERATION_1
91266
91267
91268 #define BOOST_PP_ITERATION_1 6
91269 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1 3 4
91270 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 3 4
91271 #define LUABIND_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
91272 #define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy<n + offset, Policies>::type BOOST_PP_CAT(p,n);
91273 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
91274
91275
91276
91277   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5, class Policies>
91278   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4 , A5), Policies*)
91279             : m_const(false)
91280   {
91281    m_params_.reserve(6);
91282    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5));
91283    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 2, Policies>::type p5;
91284    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg;
91285   }
91286
91287   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5, class Policies>
91288   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4 , A5) const, Policies*)
91289             : m_const(true)
91290   {
91291    m_params_.reserve(6);
91292    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5));
91293    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 2, Policies>::type p5;
91294    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg;
91295   }
91296
91297   template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5, class Policies>
91298   overload_rep(R(*)( A0 , A1 , A2 , A3 , A4 , A5), Policies*)
91299             : m_const(false )
91300   {
91301    m_params_.reserve(6);
91302    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5));
91303    typedef typename detail::find_conversion_policy<0 + 1, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 1, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 1, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 1, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 1, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 1, Policies>::type p5;
91304    m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg;
91305   }
91306
91307 #undef LUABIND_ARITY
91308 #undef LUABIND_POLICY_DECL
91309 #undef LUABIND_PARAM
91310 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91311 #undef BOOST_PP_ITERATION_1
91312
91313
91314 #define BOOST_PP_ITERATION_1 7
91315 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1 3 4
91316 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 3 4
91317 #define LUABIND_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
91318 #define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy<n + offset, Policies>::type BOOST_PP_CAT(p,n);
91319 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
91320
91321
91322
91323   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6, class Policies>
91324   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6), Policies*)
91325             : m_const(false)
91326   {
91327    m_params_.reserve(7);
91328    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6));
91329    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 2, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 2, Policies>::type p6;
91330    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg;
91331   }
91332
91333   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6, class Policies>
91334   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6) const, Policies*)
91335             : m_const(true)
91336   {
91337    m_params_.reserve(7);
91338    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6));
91339    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 2, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 2, Policies>::type p6;
91340    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg;
91341   }
91342
91343   template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6, class Policies>
91344   overload_rep(R(*)( A0 , A1 , A2 , A3 , A4 , A5 , A6), Policies*)
91345             : m_const(false )
91346   {
91347    m_params_.reserve(7);
91348    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6));
91349    typedef typename detail::find_conversion_policy<0 + 1, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 1, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 1, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 1, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 1, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 1, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 1, Policies>::type p6;
91350    m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg;
91351   }
91352
91353 #undef LUABIND_ARITY
91354 #undef LUABIND_POLICY_DECL
91355 #undef LUABIND_PARAM
91356 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91357 #undef BOOST_PP_ITERATION_1
91358
91359
91360 #define BOOST_PP_ITERATION_1 8
91361 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1 3 4
91362 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 3 4
91363 #define LUABIND_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
91364 #define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy<n + offset, Policies>::type BOOST_PP_CAT(p,n);
91365 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
91366
91367
91368
91369   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7, class Policies>
91370   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7), Policies*)
91371             : m_const(false)
91372   {
91373    m_params_.reserve(8);
91374    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7));
91375    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 2, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 2, Policies>::type p6; typedef typename detail::find_conversion_policy<7 + 2, Policies>::type p7;
91376    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg;
91377   }
91378
91379   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7, class Policies>
91380   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) const, Policies*)
91381             : m_const(true)
91382   {
91383    m_params_.reserve(8);
91384    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7));
91385    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 2, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 2, Policies>::type p6; typedef typename detail::find_conversion_policy<7 + 2, Policies>::type p7;
91386    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg;
91387   }
91388
91389   template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7, class Policies>
91390   overload_rep(R(*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7), Policies*)
91391             : m_const(false )
91392   {
91393    m_params_.reserve(8);
91394    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7));
91395    typedef typename detail::find_conversion_policy<0 + 1, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 1, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 1, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 1, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 1, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 1, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 1, Policies>::type p6; typedef typename detail::find_conversion_policy<7 + 1, Policies>::type p7;
91396    m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg;
91397   }
91398
91399 #undef LUABIND_ARITY
91400 #undef LUABIND_POLICY_DECL
91401 #undef LUABIND_PARAM
91402 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91403 #undef BOOST_PP_ITERATION_1
91404
91405
91406 #define BOOST_PP_ITERATION_1 9
91407 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1 3 4
91408 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 3 4
91409 #define LUABIND_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
91410 #define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy<n + offset, Policies>::type BOOST_PP_CAT(p,n);
91411 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
91412
91413
91414
91415   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8, class Policies>
91416   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8), Policies*)
91417             : m_const(false)
91418   {
91419    m_params_.reserve(9);
91420    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7)); m_params_.push_back(&typeid(A8));
91421    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 2, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 2, Policies>::type p6; typedef typename detail::find_conversion_policy<7 + 2, Policies>::type p7; typedef typename detail::find_conversion_policy<8 + 2, Policies>::type p8;
91422    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg + p8::has_arg;
91423   }
91424
91425   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8, class Policies>
91426   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8) const, Policies*)
91427             : m_const(true)
91428   {
91429    m_params_.reserve(9);
91430    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7)); m_params_.push_back(&typeid(A8));
91431    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 2, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 2, Policies>::type p6; typedef typename detail::find_conversion_policy<7 + 2, Policies>::type p7; typedef typename detail::find_conversion_policy<8 + 2, Policies>::type p8;
91432    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg + p8::has_arg;
91433   }
91434
91435   template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8, class Policies>
91436   overload_rep(R(*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8), Policies*)
91437             : m_const(false )
91438   {
91439    m_params_.reserve(9);
91440    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7)); m_params_.push_back(&typeid(A8));
91441    typedef typename detail::find_conversion_policy<0 + 1, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 1, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 1, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 1, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 1, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 1, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 1, Policies>::type p6; typedef typename detail::find_conversion_policy<7 + 1, Policies>::type p7; typedef typename detail::find_conversion_policy<8 + 1, Policies>::type p8;
91442    m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg + p8::has_arg;
91443   }
91444
91445 #undef LUABIND_ARITY
91446 #undef LUABIND_POLICY_DECL
91447 #undef LUABIND_PARAM
91448 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91449 #undef BOOST_PP_ITERATION_1
91450
91451
91452 #define BOOST_PP_ITERATION_1 10
91453 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 1 3 4
91454 # 101 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 3 4
91455 #define LUABIND_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
91456 #define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy<n + offset, Policies>::type BOOST_PP_CAT(p,n);
91457 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
91458
91459
91460
91461   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91462   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9), Policies*)
91463             : m_const(false)
91464   {
91465    m_params_.reserve(10);
91466    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7)); m_params_.push_back(&typeid(A8)); m_params_.push_back(&typeid(A9));
91467    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 2, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 2, Policies>::type p6; typedef typename detail::find_conversion_policy<7 + 2, Policies>::type p7; typedef typename detail::find_conversion_policy<8 + 2, Policies>::type p8; typedef typename detail::find_conversion_policy<9 + 2, Policies>::type p9;
91468    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg + p8::has_arg + p9::has_arg;
91469   }
91470
91471   template<class R, class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91472   overload_rep(R(T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9) const, Policies*)
91473             : m_const(true)
91474   {
91475    m_params_.reserve(10);
91476    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7)); m_params_.push_back(&typeid(A8)); m_params_.push_back(&typeid(A9));
91477    typedef typename detail::find_conversion_policy<0 + 2, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 2, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 2, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 2, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 2, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 2, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 2, Policies>::type p6; typedef typename detail::find_conversion_policy<7 + 2, Policies>::type p7; typedef typename detail::find_conversion_policy<8 + 2, Policies>::type p8; typedef typename detail::find_conversion_policy<9 + 2, Policies>::type p9;
91478    m_arity = 1 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg + p8::has_arg + p9::has_arg;
91479   }
91480
91481   template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91482   overload_rep(R(*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9), Policies*)
91483             : m_const(false )
91484   {
91485    m_params_.reserve(10);
91486    m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7)); m_params_.push_back(&typeid(A8)); m_params_.push_back(&typeid(A9));
91487    typedef typename detail::find_conversion_policy<0 + 1, Policies>::type p0; typedef typename detail::find_conversion_policy<1 + 1, Policies>::type p1; typedef typename detail::find_conversion_policy<2 + 1, Policies>::type p2; typedef typename detail::find_conversion_policy<3 + 1, Policies>::type p3; typedef typename detail::find_conversion_policy<4 + 1, Policies>::type p4; typedef typename detail::find_conversion_policy<5 + 1, Policies>::type p5; typedef typename detail::find_conversion_policy<6 + 1, Policies>::type p6; typedef typename detail::find_conversion_policy<7 + 1, Policies>::type p7; typedef typename detail::find_conversion_policy<8 + 1, Policies>::type p8; typedef typename detail::find_conversion_policy<9 + 1, Policies>::type p9;
91488    m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg + p8::has_arg + p9::has_arg;
91489   }
91490
91491 #undef LUABIND_ARITY
91492 #undef LUABIND_POLICY_DECL
91493 #undef LUABIND_PARAM
91494 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91495 #undef BOOST_PP_ITERATION_1
91496 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
91497 #undef BOOST_PP_IS_ITERATING
91498
91499 #undef BOOST_PP_ITERATION_DEPTH
91500 #define BOOST_PP_ITERATION_DEPTH() 0
91501
91502 #undef BOOST_PP_ITERATION_START_1
91503 #undef BOOST_PP_ITERATION_FINISH_1
91504 #undef BOOST_PP_FILENAME_1
91505
91506 #undef BOOST_PP_ITERATION_FLAGS_1
91507 #undef BOOST_PP_ITERATION_PARAMS_1
91508 # 55 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/overload_rep.hpp" 2
91509
91510   bool operator==(const overload_rep& o)
91511   {
91512    if (o.m_const != m_const) return false;
91513    if (o.m_arity != m_arity) return false;
91514    if (o.m_params_.size() != m_params_.size()) return false;
91515    for (int i = 0; i < (int)m_params_.size(); ++i)
91516    {
91517     if (!(*m_params_[i] == *o.m_params_[i]))
91518      return false;
91519    }
91520    return true;
91521   }
91522
91523   void set_fun(boost::function1<int, lua_State*> const& f)
91524   { call_fun = f; }
91525
91526   void set_fun_static(boost::function1<int, lua_State*> const& f)
91527   { call_fun_static = f; }
91528
91529   int call(lua_State* L, bool force_static_call) const;
91530
91531   bool has_static() const { return !call_fun_static.empty(); }
91532
91533  private:
91534
91535
91536   boost::function1<int, lua_State*> call_fun;
91537
91538
91539
91540
91541   boost::function1<int, lua_State*> call_fun_static;
91542
91543
91544   std::vector<const std::type_info*> m_params_;
91545
91546   bool m_const;
91547  };
91548
91549 }}
91550 # 32 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/method_rep.hpp" 2
91551
91552 namespace luabind { namespace detail
91553 {
91554
91555  class class_rep;
91556 # 49 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/method_rep.hpp"
91557  struct method_rep
91558  {
91559   void add_overload(const overload_rep& o)
91560   {
91561    std::vector<overload_rep>::iterator i = std::find(m_overloads.begin(), m_overloads.end(), o);
91562    if (i == m_overloads.end())
91563    {
91564
91565     m_overloads.push_back(o);
91566    }
91567    else
91568    {
91569
91570     *i = o;
91571    }
91572   }
91573   const std::vector<overload_rep>& overloads() const throw() { return m_overloads; }
91574
91575
91576
91577   const char* name;
91578
91579
91580   const class_rep* crep;
91581
91582  private:
91583
91584
91585
91586   std::vector<overload_rep> m_overloads;
91587  };
91588
91589 }}
91590 # 106 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
91591
91592
91593 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1
91594 # 26 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp"
91595 #define LUABIND_CALC_ARITY_HPP_INCLUDED 
91596
91597 #define LUABIND_FIND_CONV(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type p ##n;
91598 #define LUABIND_CALC_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
91599
91600 namespace luabind { namespace detail
91601 {
91602  template<int N> struct calc_arity;
91603
91604 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/detail/calc_arity.hpp>, 1))
91605 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
91606 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
91607 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
91608 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
91609 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
91610 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
91611 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91612 #undef BOOST_PP_SLOT_TEMP_1
91613 #undef BOOST_PP_SLOT_TEMP_2
91614 #undef BOOST_PP_SLOT_TEMP_3
91615 #undef BOOST_PP_SLOT_TEMP_4
91616 #undef BOOST_PP_SLOT_TEMP_5
91617 #undef BOOST_PP_SLOT_TEMP_6
91618 #undef BOOST_PP_SLOT_TEMP_7
91619 #undef BOOST_PP_SLOT_TEMP_8
91620 #undef BOOST_PP_SLOT_TEMP_9
91621 #undef BOOST_PP_SLOT_TEMP_10
91622
91623
91624 #define BOOST_PP_SLOT_TEMP_10 0
91625 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91626 #define BOOST_PP_SLOT_TEMP_9 0
91627 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91628 #define BOOST_PP_SLOT_TEMP_8 0
91629 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91630 #define BOOST_PP_SLOT_TEMP_7 0
91631 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91632 #define BOOST_PP_SLOT_TEMP_6 0
91633 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91634 #define BOOST_PP_SLOT_TEMP_5 0
91635 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91636 #define BOOST_PP_SLOT_TEMP_4 0
91637 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91638 #define BOOST_PP_SLOT_TEMP_3 0
91639 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91640 #define BOOST_PP_SLOT_TEMP_2 0
91641 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91642 #define BOOST_PP_SLOT_TEMP_1 0
91643 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91644 #undef BOOST_PP_VALUE
91645 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
91646
91647 #undef BOOST_PP_ITERATION_START_1
91648
91649 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
91650 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
91651 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
91652 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
91653 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
91654 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
91655 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
91656 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
91657 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
91658 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
91659
91660
91661 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
91662 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
91663 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
91664 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
91665 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
91666 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
91667 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
91668 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91669 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
91670 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
91671 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
91672 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
91673 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91674 #undef BOOST_PP_SLOT_TEMP_1
91675 #undef BOOST_PP_SLOT_TEMP_2
91676 #undef BOOST_PP_SLOT_TEMP_3
91677 #undef BOOST_PP_SLOT_TEMP_4
91678 #undef BOOST_PP_SLOT_TEMP_5
91679 #undef BOOST_PP_SLOT_TEMP_6
91680 #undef BOOST_PP_SLOT_TEMP_7
91681 #undef BOOST_PP_SLOT_TEMP_8
91682 #undef BOOST_PP_SLOT_TEMP_9
91683 #undef BOOST_PP_SLOT_TEMP_10
91684
91685
91686 #define BOOST_PP_SLOT_TEMP_10 0
91687 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91688 #define BOOST_PP_SLOT_TEMP_9 0
91689 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91690 #define BOOST_PP_SLOT_TEMP_8 0
91691 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91692 #define BOOST_PP_SLOT_TEMP_7 0
91693 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91694 #define BOOST_PP_SLOT_TEMP_6 0
91695 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91696 #define BOOST_PP_SLOT_TEMP_5 0
91697 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91698 #define BOOST_PP_SLOT_TEMP_4 0
91699 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91700 #define BOOST_PP_SLOT_TEMP_3 0
91701 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91702 #define BOOST_PP_SLOT_TEMP_2 1
91703 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91704 #define BOOST_PP_SLOT_TEMP_1 0
91705 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
91706 #undef BOOST_PP_VALUE
91707 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
91708
91709 #undef BOOST_PP_ITERATION_FINISH_1
91710
91711 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
91712 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
91713 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
91714 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
91715 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
91716 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
91717 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
91718 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
91719 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
91720 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
91721
91722
91723 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
91724 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
91725 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
91726 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
91727 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
91728 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
91729 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
91730 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91731 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
91732
91733 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
91734
91735
91736
91737
91738
91739
91740
91741 #undef BOOST_PP_ITERATION_DEPTH
91742 #define BOOST_PP_ITERATION_DEPTH() 1
91743
91744 #define BOOST_PP_IS_ITERATING 1
91745
91746
91747
91748
91749
91750 #define BOOST_PP_ITERATION_1 0
91751 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1 3 4
91752 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 3 4
91753  template<>
91754  struct calc_arity<0>
91755  {
91756   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91757   static int apply(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, Policies*)
91758   {
91759   
91760    return 0 ;
91761   }
91762  };
91763 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91764 #undef BOOST_PP_ITERATION_1
91765
91766
91767 #define BOOST_PP_ITERATION_1 1
91768 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1 3 4
91769 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 3 4
91770  template<>
91771  struct calc_arity<1>
91772  {
91773   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91774   static int apply(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, Policies*)
91775   {
91776    typedef typename find_conversion_policy<0 + 1, Policies>::type p0;
91777    return 0 + p0::has_arg;
91778   }
91779  };
91780 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91781 #undef BOOST_PP_ITERATION_1
91782
91783
91784 #define BOOST_PP_ITERATION_1 2
91785 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1 3 4
91786 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 3 4
91787  template<>
91788  struct calc_arity<2>
91789  {
91790   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91791   static int apply(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, Policies*)
91792   {
91793    typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1;
91794    return 0 + p0::has_arg + p1::has_arg;
91795   }
91796  };
91797 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91798 #undef BOOST_PP_ITERATION_1
91799
91800
91801 #define BOOST_PP_ITERATION_1 3
91802 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1 3 4
91803 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 3 4
91804  template<>
91805  struct calc_arity<3>
91806  {
91807   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91808   static int apply(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, Policies*)
91809   {
91810    typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2;
91811    return 0 + p0::has_arg + p1::has_arg + p2::has_arg;
91812   }
91813  };
91814 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91815 #undef BOOST_PP_ITERATION_1
91816
91817
91818 #define BOOST_PP_ITERATION_1 4
91819 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1 3 4
91820 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 3 4
91821  template<>
91822  struct calc_arity<4>
91823  {
91824   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91825   static int apply(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, Policies*)
91826   {
91827    typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3;
91828    return 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg;
91829   }
91830  };
91831 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91832 #undef BOOST_PP_ITERATION_1
91833
91834
91835 #define BOOST_PP_ITERATION_1 5
91836 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1 3 4
91837 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 3 4
91838  template<>
91839  struct calc_arity<5>
91840  {
91841   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91842   static int apply(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, Policies*)
91843   {
91844    typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4;
91845    return 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg;
91846   }
91847  };
91848 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91849 #undef BOOST_PP_ITERATION_1
91850
91851
91852 #define BOOST_PP_ITERATION_1 6
91853 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1 3 4
91854 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 3 4
91855  template<>
91856  struct calc_arity<6>
91857  {
91858   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91859   static int apply(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, Policies*)
91860   {
91861    typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4; typedef typename find_conversion_policy<5 + 1, Policies>::type p5;
91862    return 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg;
91863   }
91864  };
91865 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91866 #undef BOOST_PP_ITERATION_1
91867
91868
91869 #define BOOST_PP_ITERATION_1 7
91870 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1 3 4
91871 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 3 4
91872  template<>
91873  struct calc_arity<7>
91874  {
91875   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91876   static int apply(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, Policies*)
91877   {
91878    typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4; typedef typename find_conversion_policy<5 + 1, Policies>::type p5; typedef typename find_conversion_policy<6 + 1, Policies>::type p6;
91879    return 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg;
91880   }
91881  };
91882 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91883 #undef BOOST_PP_ITERATION_1
91884
91885
91886 #define BOOST_PP_ITERATION_1 8
91887 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1 3 4
91888 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 3 4
91889  template<>
91890  struct calc_arity<8>
91891  {
91892   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91893   static int apply(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, Policies*)
91894   {
91895    typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4; typedef typename find_conversion_policy<5 + 1, Policies>::type p5; typedef typename find_conversion_policy<6 + 1, Policies>::type p6; typedef typename find_conversion_policy<7 + 1, Policies>::type p7;
91896    return 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg;
91897   }
91898  };
91899 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91900 #undef BOOST_PP_ITERATION_1
91901
91902
91903 #define BOOST_PP_ITERATION_1 9
91904 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1 3 4
91905 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 3 4
91906  template<>
91907  struct calc_arity<9>
91908  {
91909   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91910   static int apply(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, Policies*)
91911   {
91912    typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4; typedef typename find_conversion_policy<5 + 1, Policies>::type p5; typedef typename find_conversion_policy<6 + 1, Policies>::type p6; typedef typename find_conversion_policy<7 + 1, Policies>::type p7; typedef typename find_conversion_policy<8 + 1, Policies>::type p8;
91913    return 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg + p8::has_arg;
91914   }
91915  };
91916 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91917 #undef BOOST_PP_ITERATION_1
91918
91919
91920 #define BOOST_PP_ITERATION_1 10
91921 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 1 3 4
91922 # 47 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 3 4
91923  template<>
91924  struct calc_arity<10>
91925  {
91926   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
91927   static int apply(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, Policies*)
91928   {
91929    typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4; typedef typename find_conversion_policy<5 + 1, Policies>::type p5; typedef typename find_conversion_policy<6 + 1, Policies>::type p6; typedef typename find_conversion_policy<7 + 1, Policies>::type p7; typedef typename find_conversion_policy<8 + 1, Policies>::type p8; typedef typename find_conversion_policy<9 + 1, Policies>::type p9;
91930    return 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg + p8::has_arg + p9::has_arg;
91931   }
91932  };
91933 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
91934 #undef BOOST_PP_ITERATION_1
91935 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
91936 #undef BOOST_PP_IS_ITERATING
91937
91938 #undef BOOST_PP_ITERATION_DEPTH
91939 #define BOOST_PP_ITERATION_DEPTH() 0
91940
91941 #undef BOOST_PP_ITERATION_START_1
91942 #undef BOOST_PP_ITERATION_FINISH_1
91943 #undef BOOST_PP_FILENAME_1
91944
91945 #undef BOOST_PP_ITERATION_FLAGS_1
91946 #undef BOOST_PP_ITERATION_PARAMS_1
91947 # 37 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/calc_arity.hpp" 2
91948 }}
91949
91950 #undef LUABIND_CALC_ARITY
91951 #undef LUABIND_FIND_CONV
91952 # 109 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
91953 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_member.hpp" 1
91954 # 110 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
91955 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/enum_maker.hpp" 1
91956 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/enum_maker.hpp"
91957 #define LUABIND_ENUM_MAKER_HPP_INCLUDED 
91958
91959
91960
91961
91962
91963
91964
91965 namespace luabind
91966 {
91967  struct value;
91968
91969  struct value_vector : public std::vector<value>
91970  {
91971
91972   value_vector();
91973   virtual ~value_vector();
91974   value_vector(const value_vector& v);
91975   value_vector& operator,(const value& rhs);
91976  };
91977
91978  struct value
91979  {
91980  friend class std::vector<value>;
91981   template<class T>
91982   value(const char* name, T v)
91983    : name_(name)
91984    , val_(v)
91985   {}
91986
91987   const char* name_;
91988   int val_;
91989
91990   value_vector operator,(const value& rhs) const
91991   {
91992    value_vector v;
91993
91994    v.push_back(*this);
91995    v.push_back(rhs);
91996
91997    return v;
91998   }
91999
92000  private:
92001
92002   value() {}
92003  };
92004
92005  inline value_vector::value_vector()
92006   : std::vector<value>()
92007  {
92008  }
92009
92010  inline value_vector::~value_vector() {}
92011
92012  inline value_vector::value_vector(const value_vector& rhs)
92013   : std::vector<value>(rhs)
92014  {
92015  }
92016
92017  inline value_vector& value_vector::operator,(const value& rhs)
92018  {
92019   push_back(rhs);
92020   return *this;
92021  }
92022
92023  namespace detail
92024  {
92025   template<class From>
92026   struct enum_maker
92027   {
92028    explicit enum_maker(From& from): from_(from) {}
92029
92030    From& operator[](const value& val)
92031    {
92032     from_.add_static_constant(val.name_, val.val_);
92033     return from_;
92034    }
92035
92036    From& operator[](const value_vector& values)
92037    {
92038     for (value_vector::const_iterator i = values.begin(); i != values.end(); ++i)
92039     {
92040      from_.add_static_constant(i->name_, i->val_);
92041     }
92042
92043     return from_;
92044    }
92045
92046    From& from_;
92047
92048   private:
92049    template<class T> void operator,(T const&) const;
92050   };
92051  }
92052 }
92053 # 111 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
92054 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1
92055 # 28 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp"
92056 #define LUABIND_GET_SIGNATURE_HPP_INCLUDED 
92057 # 39 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp"
92058 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1
92059 # 40 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 2
92060
92061
92062 namespace luabind { namespace detail
92063 {
92064
92065  std::string get_class_name(lua_State* L, const std::type_info* i);
92066
92067  template<class T>
92068  std::string name_of_type(by_value<T>, lua_State* L, int) { return luabind::detail::get_class_name(L, &typeid(T)); };
92069  template<class T>
92070  std::string name_of_type(by_reference<T>, lua_State* L, int) { return name_of_type(luabind::detail::decorated_type<T>::get(), L, 0L) + "&"; };
92071  template<class T>
92072  std::string name_of_type(by_pointer<T>, lua_State* L, int) { return name_of_type(luabind::detail::decorated_type<T>::get(), L, 0L) + "*"; };
92073  template<class T>
92074  std::string name_of_type(by_const_reference<T>, lua_State* L, int) { return "const " + name_of_type(luabind::detail::decorated_type<T>::get(), L, 0L) + "&"; };
92075  template<class T>
92076  std::string name_of_type(by_const_pointer<T>, lua_State* L, int) { return "const " + name_of_type(luabind::detail::decorated_type<T>::get(), L, 0L) + "*"; };
92077
92078  inline std::string name_of_type(by_value<luabind::object>, lua_State*, int) { return "object"; };
92079  inline std::string name_of_type(by_const_reference<luabind::object>, lua_State*, int) { return "object"; };
92080  inline std::string name_of_type(by_value<bool>, lua_State*, int) { return "boolean"; }
92081  inline std::string name_of_type(by_value<char>, lua_State*, int) { return "number"; }
92082  inline std::string name_of_type(by_value<short>, lua_State*, int) { return "number"; }
92083  inline std::string name_of_type(by_value<int>, lua_State*, int) { return "number"; }
92084  inline std::string name_of_type(by_value<long>, lua_State*, int) { return "number"; }
92085  inline std::string name_of_type(by_value<unsigned char>, lua_State*, int) { return "number"; }
92086  inline std::string name_of_type(by_value<unsigned short>, lua_State*, int) { return "number"; }
92087  inline std::string name_of_type(by_value<unsigned int>, lua_State*, int) { return "number"; }
92088  inline std::string name_of_type(by_value<unsigned long>, lua_State*, int) { return "number"; }
92089
92090  inline std::string name_of_type(by_value<const bool>, lua_State*, int) { return "boolean"; }
92091  inline std::string name_of_type(by_value<const char>, lua_State*, int) { return "number"; }
92092  inline std::string name_of_type(by_value<const short>, lua_State*, int) { return "number"; }
92093  inline std::string name_of_type(by_value<const int>, lua_State*, int) { return "number"; }
92094  inline std::string name_of_type(by_value<const long>, lua_State*, int) { return "number"; }
92095  inline std::string name_of_type(by_value<const unsigned char>, lua_State*, int) { return "number"; }
92096  inline std::string name_of_type(by_value<const unsigned short>, lua_State*, int) { return "number"; }
92097  inline std::string name_of_type(by_value<const unsigned int>, lua_State*, int) { return "number"; }
92098  inline std::string name_of_type(by_value<const unsigned long>, lua_State*, int) { return "number"; }
92099
92100
92101
92102
92103  inline std::string name_of_type(by_value<std::string>, lua_State*, int) { return "string"; }
92104  inline std::string name_of_type(by_const_pointer<char>, lua_State*, int) { return "string"; }
92105  inline std::string name_of_type(by_pointer<lua_State>, lua_State*, int) { return "lua_State*"; }
92106
92107  template<class T>
92108  struct type_name_unless_void
92109  {
92110   inline static void apply(std::string& s, lua_State* L, bool first)
92111   {
92112    if (!first) s += ", ";
92113    s += name_of_type(luabind::detail::decorated_type<T>::get(), L, 0L);
92114   }
92115  };
92116
92117  template<>
92118  struct type_name_unless_void<null_type>
92119  {
92120   inline static void apply(std::string&, lua_State*, bool) {}
92121  };
92122
92123 #define LUABIND_ADD_LUA_TYPE_NAME(z,n,_) type_name_unless_void<BOOST_PP_CAT(A, BOOST_PP_INC(n))>::apply(s, L, false);
92124
92125 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/detail/get_signature.hpp>, 1))
92126 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
92127 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
92128 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
92129 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
92130 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
92131 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
92132 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92133 #undef BOOST_PP_SLOT_TEMP_1
92134 #undef BOOST_PP_SLOT_TEMP_2
92135 #undef BOOST_PP_SLOT_TEMP_3
92136 #undef BOOST_PP_SLOT_TEMP_4
92137 #undef BOOST_PP_SLOT_TEMP_5
92138 #undef BOOST_PP_SLOT_TEMP_6
92139 #undef BOOST_PP_SLOT_TEMP_7
92140 #undef BOOST_PP_SLOT_TEMP_8
92141 #undef BOOST_PP_SLOT_TEMP_9
92142 #undef BOOST_PP_SLOT_TEMP_10
92143
92144
92145 #define BOOST_PP_SLOT_TEMP_10 0
92146 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92147 #define BOOST_PP_SLOT_TEMP_9 0
92148 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92149 #define BOOST_PP_SLOT_TEMP_8 0
92150 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92151 #define BOOST_PP_SLOT_TEMP_7 0
92152 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92153 #define BOOST_PP_SLOT_TEMP_6 0
92154 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92155 #define BOOST_PP_SLOT_TEMP_5 0
92156 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92157 #define BOOST_PP_SLOT_TEMP_4 0
92158 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92159 #define BOOST_PP_SLOT_TEMP_3 0
92160 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92161 #define BOOST_PP_SLOT_TEMP_2 0
92162 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92163 #define BOOST_PP_SLOT_TEMP_1 0
92164 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92165 #undef BOOST_PP_VALUE
92166 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
92167
92168 #undef BOOST_PP_ITERATION_START_1
92169
92170 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
92171 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
92172 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
92173 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
92174 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
92175 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
92176 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
92177 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
92178 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
92179 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
92180
92181
92182 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
92183 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
92184 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
92185 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
92186 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
92187 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
92188 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
92189 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92190 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
92191 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
92192 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
92193 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
92194 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92195 #undef BOOST_PP_SLOT_TEMP_1
92196 #undef BOOST_PP_SLOT_TEMP_2
92197 #undef BOOST_PP_SLOT_TEMP_3
92198 #undef BOOST_PP_SLOT_TEMP_4
92199 #undef BOOST_PP_SLOT_TEMP_5
92200 #undef BOOST_PP_SLOT_TEMP_6
92201 #undef BOOST_PP_SLOT_TEMP_7
92202 #undef BOOST_PP_SLOT_TEMP_8
92203 #undef BOOST_PP_SLOT_TEMP_9
92204 #undef BOOST_PP_SLOT_TEMP_10
92205
92206
92207 #define BOOST_PP_SLOT_TEMP_10 0
92208 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92209 #define BOOST_PP_SLOT_TEMP_9 0
92210 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92211 #define BOOST_PP_SLOT_TEMP_8 0
92212 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92213 #define BOOST_PP_SLOT_TEMP_7 0
92214 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92215 #define BOOST_PP_SLOT_TEMP_6 0
92216 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92217 #define BOOST_PP_SLOT_TEMP_5 0
92218 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92219 #define BOOST_PP_SLOT_TEMP_4 0
92220 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92221 #define BOOST_PP_SLOT_TEMP_3 0
92222 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92223 #define BOOST_PP_SLOT_TEMP_2 1
92224 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92225 #define BOOST_PP_SLOT_TEMP_1 0
92226 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
92227 #undef BOOST_PP_VALUE
92228 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
92229
92230 #undef BOOST_PP_ITERATION_FINISH_1
92231
92232 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
92233 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
92234 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
92235 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
92236 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
92237 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
92238 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
92239 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
92240 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
92241 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
92242
92243
92244 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
92245 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
92246 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
92247 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
92248 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
92249 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
92250 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
92251 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92252 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
92253
92254 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
92255
92256
92257
92258
92259
92260
92261
92262 #undef BOOST_PP_ITERATION_DEPTH
92263 #define BOOST_PP_ITERATION_DEPTH() 1
92264
92265 #define BOOST_PP_IS_ITERATING 1
92266
92267
92268
92269
92270
92271 #define BOOST_PP_ITERATION_1 0
92272 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1 3 4
92273 # 165 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 3 4
92274  template<class T, class C >
92275  inline void get_member_signature_impl(T(C::*)(), lua_State* L, std::string& s)
92276  {
92277   s += "(";
92278
92279
92280
92281
92282   s += ")";
92283  }
92284
92285  template<class T, class C >
92286  inline void get_member_signature_impl(T(C::*)() const, lua_State* L, std::string& s)
92287  {
92288   (void)L;
92289   s += "(";
92290
92291
92292
92293
92294   s += ") const";
92295  }
92296
92297
92298  template<class T >
92299  inline void get_member_signature_impl(T(*f)(), lua_State* L, std::string& s)
92300  {
92301   s += "(";
92302
92303
92304
92305
92306   s += ")";
92307  }
92308
92309
92310  template<class T >
92311  inline void get_free_function_signature_impl(T(*f)(), lua_State* L, std::string& s)
92312  {
92313   (void)f;
92314   s += "(";
92315
92316
92317
92318
92319   s += ")";
92320  }
92321 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92322 #undef BOOST_PP_ITERATION_1
92323
92324
92325 #define BOOST_PP_ITERATION_1 1
92326 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1 3 4
92327 # 165 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 3 4
92328  template<class T, class C , class A0>
92329  inline void get_member_signature_impl(T(C::*)( A0), lua_State* L, std::string& s)
92330  {
92331   s += "(";
92332
92333   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92334  
92335
92336   s += ")";
92337  }
92338
92339  template<class T, class C , class A0>
92340  inline void get_member_signature_impl(T(C::*)( A0) const, lua_State* L, std::string& s)
92341  {
92342   (void)L;
92343   s += "(";
92344
92345   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92346  
92347
92348   s += ") const";
92349  }
92350
92351
92352  template<class T , class A0>
92353  inline void get_member_signature_impl(T(*f)( A0), lua_State* L, std::string& s)
92354  {
92355   s += "(";
92356
92357   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92358  
92359
92360   s += ")";
92361  }
92362
92363
92364  template<class T , class A0>
92365  inline void get_free_function_signature_impl(T(*f)( A0), lua_State* L, std::string& s)
92366  {
92367   (void)f;
92368   s += "(";
92369
92370   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92371  
92372
92373   s += ")";
92374  }
92375 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92376 #undef BOOST_PP_ITERATION_1
92377
92378
92379 #define BOOST_PP_ITERATION_1 2
92380 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1 3 4
92381 # 165 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 3 4
92382  template<class T, class C , class A0 , class A1>
92383  inline void get_member_signature_impl(T(C::*)( A0 , A1), lua_State* L, std::string& s)
92384  {
92385   s += "(";
92386
92387   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92388   type_name_unless_void<A1>::apply(s, L, false);
92389
92390   s += ")";
92391  }
92392
92393  template<class T, class C , class A0 , class A1>
92394  inline void get_member_signature_impl(T(C::*)( A0 , A1) const, lua_State* L, std::string& s)
92395  {
92396   (void)L;
92397   s += "(";
92398
92399   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92400   type_name_unless_void<A1>::apply(s, L, false);
92401
92402   s += ") const";
92403  }
92404
92405
92406  template<class T , class A0 , class A1>
92407  inline void get_member_signature_impl(T(*f)( A0 , A1), lua_State* L, std::string& s)
92408  {
92409   s += "(";
92410
92411   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92412   type_name_unless_void<A1>::apply(s, L, false);
92413
92414   s += ")";
92415  }
92416
92417
92418  template<class T , class A0 , class A1>
92419  inline void get_free_function_signature_impl(T(*f)( A0 , A1), lua_State* L, std::string& s)
92420  {
92421   (void)f;
92422   s += "(";
92423
92424   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92425   type_name_unless_void<A1>::apply(s, L, false);
92426
92427   s += ")";
92428  }
92429 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92430 #undef BOOST_PP_ITERATION_1
92431
92432
92433 #define BOOST_PP_ITERATION_1 3
92434 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1 3 4
92435 # 165 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 3 4
92436  template<class T, class C , class A0 , class A1 , class A2>
92437  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2), lua_State* L, std::string& s)
92438  {
92439   s += "(";
92440
92441   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92442   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false);
92443
92444   s += ")";
92445  }
92446
92447  template<class T, class C , class A0 , class A1 , class A2>
92448  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2) const, lua_State* L, std::string& s)
92449  {
92450   (void)L;
92451   s += "(";
92452
92453   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92454   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false);
92455
92456   s += ") const";
92457  }
92458
92459
92460  template<class T , class A0 , class A1 , class A2>
92461  inline void get_member_signature_impl(T(*f)( A0 , A1 , A2), lua_State* L, std::string& s)
92462  {
92463   s += "(";
92464
92465   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92466   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false);
92467
92468   s += ")";
92469  }
92470
92471
92472  template<class T , class A0 , class A1 , class A2>
92473  inline void get_free_function_signature_impl(T(*f)( A0 , A1 , A2), lua_State* L, std::string& s)
92474  {
92475   (void)f;
92476   s += "(";
92477
92478   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92479   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false);
92480
92481   s += ")";
92482  }
92483 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92484 #undef BOOST_PP_ITERATION_1
92485
92486
92487 #define BOOST_PP_ITERATION_1 4
92488 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1 3 4
92489 # 165 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 3 4
92490  template<class T, class C , class A0 , class A1 , class A2 , class A3>
92491  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3), lua_State* L, std::string& s)
92492  {
92493   s += "(";
92494
92495   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92496   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false);
92497
92498   s += ")";
92499  }
92500
92501  template<class T, class C , class A0 , class A1 , class A2 , class A3>
92502  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3) const, lua_State* L, std::string& s)
92503  {
92504   (void)L;
92505   s += "(";
92506
92507   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92508   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false);
92509
92510   s += ") const";
92511  }
92512
92513
92514  template<class T , class A0 , class A1 , class A2 , class A3>
92515  inline void get_member_signature_impl(T(*f)( A0 , A1 , A2 , A3), lua_State* L, std::string& s)
92516  {
92517   s += "(";
92518
92519   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92520   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false);
92521
92522   s += ")";
92523  }
92524
92525
92526  template<class T , class A0 , class A1 , class A2 , class A3>
92527  inline void get_free_function_signature_impl(T(*f)( A0 , A1 , A2 , A3), lua_State* L, std::string& s)
92528  {
92529   (void)f;
92530   s += "(";
92531
92532   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92533   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false);
92534
92535   s += ")";
92536  }
92537 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92538 #undef BOOST_PP_ITERATION_1
92539
92540
92541 #define BOOST_PP_ITERATION_1 5
92542 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1 3 4
92543 # 165 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 3 4
92544  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4>
92545  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4), lua_State* L, std::string& s)
92546  {
92547   s += "(";
92548
92549   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92550   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false);
92551
92552   s += ")";
92553  }
92554
92555  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4>
92556  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4) const, lua_State* L, std::string& s)
92557  {
92558   (void)L;
92559   s += "(";
92560
92561   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92562   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false);
92563
92564   s += ") const";
92565  }
92566
92567
92568  template<class T , class A0 , class A1 , class A2 , class A3 , class A4>
92569  inline void get_member_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4), lua_State* L, std::string& s)
92570  {
92571   s += "(";
92572
92573   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92574   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false);
92575
92576   s += ")";
92577  }
92578
92579
92580  template<class T , class A0 , class A1 , class A2 , class A3 , class A4>
92581  inline void get_free_function_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4), lua_State* L, std::string& s)
92582  {
92583   (void)f;
92584   s += "(";
92585
92586   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92587   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false);
92588
92589   s += ")";
92590  }
92591 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92592 #undef BOOST_PP_ITERATION_1
92593
92594
92595 #define BOOST_PP_ITERATION_1 6
92596 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1 3 4
92597 # 165 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 3 4
92598  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
92599  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4 , A5), lua_State* L, std::string& s)
92600  {
92601   s += "(";
92602
92603   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92604   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false);
92605
92606   s += ")";
92607  }
92608
92609  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
92610  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4 , A5) const, lua_State* L, std::string& s)
92611  {
92612   (void)L;
92613   s += "(";
92614
92615   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92616   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false);
92617
92618   s += ") const";
92619  }
92620
92621
92622  template<class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
92623  inline void get_member_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4 , A5), lua_State* L, std::string& s)
92624  {
92625   s += "(";
92626
92627   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92628   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false);
92629
92630   s += ")";
92631  }
92632
92633
92634  template<class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
92635  inline void get_free_function_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4 , A5), lua_State* L, std::string& s)
92636  {
92637   (void)f;
92638   s += "(";
92639
92640   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92641   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false);
92642
92643   s += ")";
92644  }
92645 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92646 #undef BOOST_PP_ITERATION_1
92647
92648
92649 #define BOOST_PP_ITERATION_1 7
92650 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1 3 4
92651 # 165 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 3 4
92652  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
92653  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6), lua_State* L, std::string& s)
92654  {
92655   s += "(";
92656
92657   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92658   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false);
92659
92660   s += ")";
92661  }
92662
92663  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
92664  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6) const, lua_State* L, std::string& s)
92665  {
92666   (void)L;
92667   s += "(";
92668
92669   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92670   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false);
92671
92672   s += ") const";
92673  }
92674
92675
92676  template<class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
92677  inline void get_member_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6), lua_State* L, std::string& s)
92678  {
92679   s += "(";
92680
92681   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92682   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false);
92683
92684   s += ")";
92685  }
92686
92687
92688  template<class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
92689  inline void get_free_function_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6), lua_State* L, std::string& s)
92690  {
92691   (void)f;
92692   s += "(";
92693
92694   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92695   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false);
92696
92697   s += ")";
92698  }
92699 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92700 #undef BOOST_PP_ITERATION_1
92701
92702
92703 #define BOOST_PP_ITERATION_1 8
92704 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1 3 4
92705 # 165 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 3 4
92706  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
92707  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7), lua_State* L, std::string& s)
92708  {
92709   s += "(";
92710
92711   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92712   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false);
92713
92714   s += ")";
92715  }
92716
92717  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
92718  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) const, lua_State* L, std::string& s)
92719  {
92720   (void)L;
92721   s += "(";
92722
92723   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92724   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false);
92725
92726   s += ") const";
92727  }
92728
92729
92730  template<class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
92731  inline void get_member_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7), lua_State* L, std::string& s)
92732  {
92733   s += "(";
92734
92735   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92736   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false);
92737
92738   s += ")";
92739  }
92740
92741
92742  template<class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
92743  inline void get_free_function_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7), lua_State* L, std::string& s)
92744  {
92745   (void)f;
92746   s += "(";
92747
92748   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92749   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false);
92750
92751   s += ")";
92752  }
92753 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92754 #undef BOOST_PP_ITERATION_1
92755
92756
92757 #define BOOST_PP_ITERATION_1 9
92758 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1 3 4
92759 # 165 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 3 4
92760  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
92761  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8), lua_State* L, std::string& s)
92762  {
92763   s += "(";
92764
92765   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92766   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false); type_name_unless_void<A8>::apply(s, L, false);
92767
92768   s += ")";
92769  }
92770
92771  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
92772  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8) const, lua_State* L, std::string& s)
92773  {
92774   (void)L;
92775   s += "(";
92776
92777   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92778   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false); type_name_unless_void<A8>::apply(s, L, false);
92779
92780   s += ") const";
92781  }
92782
92783
92784  template<class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
92785  inline void get_member_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8), lua_State* L, std::string& s)
92786  {
92787   s += "(";
92788
92789   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92790   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false); type_name_unless_void<A8>::apply(s, L, false);
92791
92792   s += ")";
92793  }
92794
92795
92796  template<class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
92797  inline void get_free_function_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8), lua_State* L, std::string& s)
92798  {
92799   (void)f;
92800   s += "(";
92801
92802   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92803   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false); type_name_unless_void<A8>::apply(s, L, false);
92804
92805   s += ")";
92806  }
92807 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92808 #undef BOOST_PP_ITERATION_1
92809
92810
92811 #define BOOST_PP_ITERATION_1 10
92812 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 1 3 4
92813 # 165 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 3 4
92814  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
92815  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9), lua_State* L, std::string& s)
92816  {
92817   s += "(";
92818
92819   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92820   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false); type_name_unless_void<A8>::apply(s, L, false); type_name_unless_void<A9>::apply(s, L, false);
92821
92822   s += ")";
92823  }
92824
92825  template<class T, class C , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
92826  inline void get_member_signature_impl(T(C::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9) const, lua_State* L, std::string& s)
92827  {
92828   (void)L;
92829   s += "(";
92830
92831   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92832   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false); type_name_unless_void<A8>::apply(s, L, false); type_name_unless_void<A9>::apply(s, L, false);
92833
92834   s += ") const";
92835  }
92836
92837
92838  template<class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
92839  inline void get_member_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9), lua_State* L, std::string& s)
92840  {
92841   s += "(";
92842
92843   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92844   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false); type_name_unless_void<A8>::apply(s, L, false); type_name_unless_void<A9>::apply(s, L, false);
92845
92846   s += ")";
92847  }
92848
92849
92850  template<class T , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
92851  inline void get_free_function_signature_impl(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9), lua_State* L, std::string& s)
92852  {
92853   (void)f;
92854   s += "(";
92855
92856   s += name_of_type(luabind::detail::decorated_type<A0>::get(), L, 0L);
92857   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false); type_name_unless_void<A8>::apply(s, L, false); type_name_unless_void<A9>::apply(s, L, false);
92858
92859   s += ")";
92860  }
92861 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
92862 #undef BOOST_PP_ITERATION_1
92863 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
92864 #undef BOOST_PP_IS_ITERATING
92865
92866 #undef BOOST_PP_ITERATION_DEPTH
92867 #define BOOST_PP_ITERATION_DEPTH() 0
92868
92869 #undef BOOST_PP_ITERATION_START_1
92870 #undef BOOST_PP_ITERATION_FINISH_1
92871 #undef BOOST_PP_FILENAME_1
92872
92873 #undef BOOST_PP_ITERATION_FLAGS_1
92874 #undef BOOST_PP_ITERATION_PARAMS_1
92875 # 107 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/get_signature.hpp" 2
92876
92877  template<class F>
92878  struct get_member_signature
92879  {
92880   static inline void apply(lua_State* L, std::string& s)
92881   {
92882    get_member_signature_impl(static_cast<F>(0), L, s);
92883   }
92884  };
92885
92886  template<class F>
92887  struct get_free_function_signature
92888  {
92889   static inline void apply(lua_State* L, std::string& s)
92890   {
92891    get_free_function_signature_impl(static_cast<F>(0), L, s);
92892   }
92893  };
92894
92895
92896  template<class Sig>
92897  struct get_signature
92898  {
92899   static inline void apply(lua_State* L, std::string& s)
92900   {
92901    get_signature_impl(static_cast<const Sig*>(0), L, s);
92902   }
92903  };
92904
92905  template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
92906  inline void get_signature_impl(const constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>*, lua_State* L, std::string& s)
92907  {
92908   s += "(";
92909   type_name_unless_void<A0>::apply(s, L, true);
92910   type_name_unless_void<A1>::apply(s, L, false); type_name_unless_void<A2>::apply(s, L, false); type_name_unless_void<A3>::apply(s, L, false); type_name_unless_void<A4>::apply(s, L, false); type_name_unless_void<A5>::apply(s, L, false); type_name_unless_void<A6>::apply(s, L, false); type_name_unless_void<A7>::apply(s, L, false); type_name_unless_void<A8>::apply(s, L, false); type_name_unless_void<A9>::apply(s, L, false);
92911   s += ")";
92912  }
92913
92914 #undef LUABIND_ADD_LUA_TYPE_NAME
92915
92916  template<class T>
92917  struct get_setter_signature
92918  {
92919   static void apply(lua_State* L, std::string& s)
92920   {
92921    s += "(";
92922    s += name_of_type(luabind::detail::decorated_type<T>::get(), L, 0L);
92923    s += ")";
92924   }
92925  };
92926
92927 }}
92928 # 112 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
92929 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/implicit_cast.hpp" 1
92930 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/implicit_cast.hpp"
92931 #define LUABIND_IMPLICIT_CAST_HPP_INCLUDED 
92932
92933
92934
92935
92936 namespace luabind { namespace detail
92937 {
92938 # 46 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/implicit_cast.hpp"
92939  int implicit_cast(const class_rep*, const std::type_info* const&, int&);
92940
92941 }}
92942 # 113 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
92943
92944 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/pointee_typeid.hpp" 1
92945 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/pointee_typeid.hpp"
92946 #define POINTEE_TYPEID_040211_HPP 
92947
92948
92949
92950 namespace luabind { namespace detail {
92951
92952     template<class T>
92953     const std::type_info* pointee_typeid(T*)
92954     {
92955         return &typeid(T);
92956     }
92957
92958 }}
92959 # 115 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
92960 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/link_compatibility.hpp" 1
92961 # 24 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/link_compatibility.hpp"
92962 #define LUABIND_LINK_COMPATIBILITY_HPP_INCLUDED 
92963
92964
92965
92966 namespace luabind { namespace detail
92967 {
92968
92969
92970
92971
92972  void not_threadsafe_not_defined_conflict();
92973
92974
92975
92976
92977
92978  void no_error_checking_not_defined_conflict();
92979
92980
92981  inline void check_link_compatibility()
92982  {
92983
92984
92985
92986   not_threadsafe_not_defined_conflict();
92987
92988
92989
92990
92991
92992   no_error_checking_not_defined_conflict();
92993
92994  }
92995
92996 }}
92997 # 116 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp" 2
92998 # 124 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp"
92999 namespace luabind
93000 {
93001  namespace detail
93002  {
93003   struct unspecified {};
93004
93005   template<class Derived> struct operator_;
93006
93007   struct you_need_to_define_a_get_const_holder_function_for_your_smart_ptr {};
93008  }
93009
93010  template<class T, class X1 = detail::unspecified, class X2 = detail::unspecified, class X3 = detail::unspecified>
93011  struct class_;
93012
93013
93014
93015  inline detail::you_need_to_define_a_get_const_holder_function_for_your_smart_ptr*
93016  get_const_holder(...)
93017  {
93018   return 0;
93019  }
93020
93021  namespace detail
93022  {
93023   template< class A0 , class A1 , class A2 , class A3>
93024   double is_bases_helper(const bases< A0 , A1 , A2 , A3>&);
93025
93026
93027   template<class T>
93028   char is_bases_helper(const T&);
93029
93030
93031
93032
93033   template<class T>
93034   struct is_bases
93035   {
93036    static const T& t;
93037
93038    static const bool value = sizeof(is_bases_helper(t)) == sizeof(double);
93039    typedef boost::mpl::bool_<value> type;
93040   
93041   };
93042
93043   double is_not_unspecified_helper(const unspecified*);
93044   char is_not_unspecified_helper(...);
93045
93046   template<class T>
93047   struct is_not_unspecified
93048   {
93049    static const bool value = sizeof(is_not_unspecified_helper(static_cast<T*>(0))) == sizeof(char);
93050    typedef boost::mpl::bool_<value> type;
93051   
93052   };
93053
93054   template<class Predicate>
93055   struct get_predicate
93056   {
93057    typedef typename boost::mpl::and_<
93058       is_not_unspecified<boost::mpl::_1>
93059      , Predicate
93060    > type;
93061   };
93062
93063   template<class Parameters, class Predicate, class DefaultValue>
93064   struct extract_parameter
93065   {
93066    typedef typename get_predicate<Predicate>::type pred;
93067    typedef typename boost::mpl::find_if<Parameters, pred>::type iterator;
93068    typedef typename boost::mpl::eval_if<
93069     boost::is_same<
93070      iterator
93071       , typename boost::mpl::end<Parameters>::type
93072     >
93073      , boost::mpl::identity<DefaultValue>
93074      , boost::mpl::deref<iterator>
93075    >::type type;
93076   };
93077
93078   template<class Fn, class Class, class Policies>
93079   struct mem_fn_callback
93080   {
93081    typedef int result_type;
93082
93083    int operator()(lua_State* L) const
93084    {
93085     return call(fn, (Class*)0, L, (Policies*)0);
93086    }
93087
93088    mem_fn_callback(Fn fn_)
93089     : fn(fn_)
93090    {
93091    }
93092
93093    Fn fn;
93094   };
93095
93096   template<class Fn, class Class, class Policies>
93097   struct mem_fn_matcher
93098   {
93099    typedef int result_type;
93100
93101    int operator()(lua_State* L) const
93102    {
93103     return match(fn, L, (Class*)0, (Policies*)0);
93104    }
93105
93106    mem_fn_matcher(Fn fn_)
93107     : fn(fn_)
93108    {
93109    }
93110
93111    Fn fn;
93112   };
93113
93114   struct pure_virtual_tag
93115   {
93116    static void precall(lua_State*, index_map const&) {}
93117    static void postcall(lua_State*, index_map const&) {}
93118   };
93119
93120   template<class Policies>
93121   struct has_pure_virtual
93122   {
93123    typedef typename boost::mpl::eval_if<
93124     boost::is_same<pure_virtual_tag, typename Policies::head>
93125      , boost::mpl::true_
93126      , has_pure_virtual<typename Policies::tail>
93127    >::type type;
93128
93129    static const bool value = type::value;
93130   };
93131
93132   template<>
93133   struct has_pure_virtual<null_type>
93134   {
93135    static const bool value = false;
93136    typedef boost::mpl::bool_<value> type;
93137   };
93138
93139
93140
93141
93142   std::string stack_content_by_name(lua_State* L, int start_index);
93143
93144   struct create_class
93145   {
93146    static int stage1(lua_State* L);
93147    static int stage2(lua_State* L);
93148   };
93149
93150
93151
93152
93153   template<class UnderlyingT, class HeldT>
93154   struct extract_underlying_type
93155   {
93156    static void* extract(void* ptr)
93157    {
93158     HeldT& held_obj = *reinterpret_cast<HeldT*>(ptr);
93159     UnderlyingT* underlying_ptr = static_cast<UnderlyingT*>(get_pointer(held_obj));
93160     return underlying_ptr;
93161    }
93162   };
93163
93164   template<class UnderlyingT, class HeldT>
93165   struct extract_underlying_const_type
93166   {
93167    static const void* extract(void* ptr)
93168    {
93169     HeldT& held_obj = *reinterpret_cast<HeldT*>(ptr);
93170     const UnderlyingT* underlying_ptr = static_cast<const UnderlyingT*>(get_pointer(held_obj));
93171     return underlying_ptr;
93172    }
93173   };
93174
93175   template<class HeldType>
93176   struct internal_holder_extractor
93177   {
93178    typedef void*(*extractor_fun)(void*);
93179
93180    template<class T>
93181    static extractor_fun apply(detail::type_<T>)
93182    {
93183     return &detail::extract_underlying_type<T, HeldType>::extract;
93184    }
93185   };
93186
93187   template<>
93188   struct internal_holder_extractor<detail::null_type>
93189   {
93190    typedef void*(*extractor_fun)(void*);
93191
93192    template<class T>
93193    static extractor_fun apply(detail::type_<T>)
93194    {
93195     return 0;
93196    }
93197   };
93198
93199
93200   template<class HeldType, class ConstHolderType>
93201   struct convert_holder
93202   {
93203    static void apply(void* holder, void* target)
93204    {
93205     new(target) ConstHolderType(*reinterpret_cast<HeldType*>(holder));
93206    };
93207   };
93208
93209
93210   template<class HeldType>
93211   struct const_converter
93212   {
93213    typedef void(*converter_fun)(void*, void*);
93214
93215    template<class ConstHolderType>
93216    static converter_fun apply(ConstHolderType*)
93217    {
93218     return &detail::convert_holder<HeldType, ConstHolderType>::apply;
93219    }
93220   };
93221
93222   template<>
93223   struct const_converter<detail::null_type>
93224   {
93225    typedef void(*converter_fun)(void*, void*);
93226
93227    template<class T>
93228    static converter_fun apply(T*)
93229    {
93230     return 0;
93231    }
93232   };
93233
93234
93235
93236
93237   template<class HeldType>
93238   struct internal_const_holder_extractor
93239   {
93240    typedef const void*(*extractor_fun)(void*);
93241
93242    template<class T>
93243    static extractor_fun apply(detail::type_<T>)
93244    {
93245     return get_extractor(detail::type_<T>(), get_const_holder(static_cast<HeldType*>(0)));
93246    }
93247   private:
93248    template<class T, class ConstHolderType>
93249    static extractor_fun get_extractor(detail::type_<T>, ConstHolderType*)
93250    {
93251     return &detail::extract_underlying_const_type<T, ConstHolderType>::extract;
93252    }
93253   };
93254
93255   template<>
93256   struct internal_const_holder_extractor<detail::null_type>
93257   {
93258    typedef const void*(*extractor_fun)(void*);
93259
93260    template<class T>
93261    static extractor_fun apply(detail::type_<T>)
93262    {
93263     return 0;
93264    }
93265   };
93266
93267
93268
93269
93270
93271
93272   template<class HeldType>
93273   struct internal_holder_type
93274   {
93275    static const std::type_info* apply()
93276    {
93277     return &typeid(HeldType);
93278    }
93279   };
93280
93281   template<>
93282   struct internal_holder_type<detail::null_type>
93283   {
93284    static const std::type_info* apply()
93285    {
93286     return &typeid(detail::null_type);
93287    }
93288   };
93289
93290
93291
93292   template<class HeldType, class T>
93293   struct internal_construct_holder
93294   {
93295    static void apply(void* target, void* raw_pointer)
93296    {
93297     new(target) HeldType(static_cast<T*>(raw_pointer));
93298    }
93299   };
93300
93301
93302   template<class HeldType, class T>
93303   struct internal_default_construct_holder
93304   {
93305    static void apply(void* target)
93306    {
93307     new(target) HeldType();
93308    }
93309   };
93310
93311
93312
93313
93314   template<class HeldType>
93315   struct holder_constructor
93316   {
93317    typedef void(*constructor)(void*,void*);
93318    template<class T>
93319    static constructor apply(detail::type_<T>)
93320    {
93321     return &internal_construct_holder<HeldType, T>::apply;
93322    }
93323   };
93324
93325   template<>
93326   struct holder_constructor<detail::null_type>
93327   {
93328    typedef void(*constructor)(void*,void*);
93329    template<class T>
93330    static constructor apply(detail::type_<T>)
93331    {
93332     return 0;
93333    }
93334   };
93335
93336
93337
93338
93339   template<class HolderType>
93340   struct const_holder_constructor
93341   {
93342    typedef void(*constructor)(void*,void*);
93343    template<class T>
93344    static constructor apply(detail::type_<T>)
93345    {
93346     return get_const_holder_constructor(detail::type_<T>(), get_const_holder(static_cast<HolderType*>(0)));
93347    }
93348
93349   private:
93350
93351    template<class T, class ConstHolderType>
93352    static constructor get_const_holder_constructor(detail::type_<T>, ConstHolderType*)
93353    {
93354     return &internal_construct_holder<ConstHolderType, T>::apply;
93355    }
93356   };
93357
93358   template<>
93359   struct const_holder_constructor<detail::null_type>
93360   {
93361    typedef void(*constructor)(void*,void*);
93362    template<class T>
93363    static constructor apply(detail::type_<T>)
93364    {
93365     return 0;
93366    }
93367   };
93368
93369
93370
93371
93372
93373   template<class HeldType>
93374   struct holder_default_constructor
93375   {
93376    typedef void(*constructor)(void*);
93377    template<class T>
93378    static constructor apply(detail::type_<T>)
93379    {
93380     return &internal_default_construct_holder<HeldType, T>::apply;
93381    }
93382   };
93383
93384   template<>
93385   struct holder_default_constructor<detail::null_type>
93386   {
93387    typedef void(*constructor)(void*);
93388    template<class T>
93389    static constructor apply(detail::type_<T>)
93390    {
93391     return 0;
93392    }
93393   };
93394
93395
93396
93397
93398
93399
93400   template<class HolderType>
93401   struct const_holder_default_constructor
93402   {
93403    typedef void(*constructor)(void*);
93404    template<class T>
93405    static constructor apply(detail::type_<T>)
93406    {
93407     return get_const_holder_default_constructor(detail::type_<T>(), get_const_holder(static_cast<HolderType*>(0)));
93408    }
93409
93410   private:
93411
93412    template<class T, class ConstHolderType>
93413    static constructor get_const_holder_default_constructor(detail::type_<T>, ConstHolderType*)
93414    {
93415     return &internal_default_construct_holder<ConstHolderType, T>::apply;
93416    }
93417   };
93418
93419   template<>
93420   struct const_holder_default_constructor<detail::null_type>
93421   {
93422    typedef void(*constructor)(void*);
93423    template<class T>
93424    static constructor apply(detail::type_<T>)
93425    {
93426     return 0;
93427    }
93428   };
93429
93430
93431
93432
93433
93434
93435   template <class HolderType>
93436   struct internal_holder_size
93437   {
93438    static int apply() { return get_internal_holder_size(get_const_holder(static_cast<HolderType*>(0))); }
93439   private:
93440    template<class ConstHolderType>
93441    static int get_internal_holder_size(ConstHolderType*)
93442    {
93443     return max_c<sizeof(HolderType), sizeof(ConstHolderType)>::value;
93444    }
93445   };
93446
93447   template <>
93448   struct internal_holder_size<detail::null_type>
93449   {
93450    static int apply() { return 0; }
93451   };
93452
93453
93454
93455
93456
93457   template<class HeldType>
93458   struct internal_holder_destructor
93459   {
93460    typedef void(*destructor_t)(void*);
93461    template<class T>
93462    static destructor_t apply(detail::type_<T>)
93463    {
93464     return &detail::destruct_only_s<HeldType>::apply;
93465    }
93466   };
93467
93468
93469   template<>
93470   struct internal_holder_destructor<detail::null_type>
93471   {
93472    typedef void(*destructor_t)(void*);
93473    template<class T>
93474    static destructor_t apply(detail::type_<T>)
93475    {
93476     return &detail::delete_s<T>::apply;
93477    }
93478   };
93479
93480
93481
93482   template<class HolderType>
93483   struct internal_const_holder_destructor
93484   {
93485    typedef void(*destructor_t)(void*);
93486    template<class T>
93487    static destructor_t apply(detail::type_<T>)
93488    {
93489     return const_holder_type_destructor(get_const_holder(static_cast<HolderType*>(0)));
93490    }
93491
93492   private:
93493
93494    template<class ConstHolderType>
93495    static destructor_t const_holder_type_destructor(ConstHolderType*)
93496    {
93497     return &detail::destruct_only_s<ConstHolderType>::apply;
93498    }
93499
93500   };
93501
93502
93503   template<>
93504   struct internal_const_holder_destructor<detail::null_type>
93505   {
93506    typedef void(*destructor_t)(void*);
93507    template<class T>
93508    static destructor_t apply(detail::type_<T>)
93509    {
93510     return 0;
93511    }
93512   };
93513
93514
93515
93516
93517   template<class HolderType>
93518   struct get_holder_alignment
93519   {
93520    static int apply()
93521    {
93522     return internal_alignment(get_const_holder(static_cast<HolderType*>(0)));
93523    }
93524
93525   private:
93526
93527    template<class ConstHolderType>
93528    static int internal_alignment(ConstHolderType*)
93529    {
93530     return detail::max_c<boost::alignment_of<HolderType>::value
93531      , boost::alignment_of<ConstHolderType>::value>::value;
93532    }
93533   };
93534
93535   template<>
93536   struct get_holder_alignment<detail::null_type>
93537   {
93538    static int apply()
93539    {
93540     return 1;
93541    }
93542   };
93543
93544
93545  }
93546
93547  namespace detail {
93548
93549   template<class T>
93550   struct static_scope
93551   {
93552    static_scope(T& self_) : self(self_)
93553    {
93554    }
93555
93556    T& operator[](scope s) const
93557    {
93558     self.add_inner_scope(s);
93559     return self;
93560    }
93561
93562   private:
93563    template<class U> void operator,(U const&) const;
93564    void operator=(static_scope const&);
93565
93566    T& self;
93567   };
93568
93569   struct class_registration;
93570
93571   struct class_base : scope
93572   {
93573   public:
93574    class_base(char const* name);
93575
93576    struct base_desc
93577    {
93578     const std::type_info* type;
93579     int ptr_offset;
93580    };
93581
93582    void init(
93583     const std::type_info* type
93584     , const std::type_info* holder_type
93585     , const std::type_info* const_holder_type
93586     , void*(*extractor)(void*)
93587     , const void*(*const_extractor)(void*)
93588     , void(*const_converter)(void*,void*)
93589     , void(*holder_constructor)(void*,void*)
93590     , void(*const_holder_constructor)(void*,void*)
93591     , void(*holder_default_constructor)(void*)
93592     , void(*const_holder_default_constructor)(void*)
93593     , void(*destructor)(void*)
93594     , void(*const_holder_destructor)(void*)
93595     , void(*m_adopt_fun)(void*)
93596     , int holder_size
93597     , int holder_alignment);
93598
93599    void add_getter(
93600     const char* name
93601     , const boost::function2<int, lua_State*, int>& g);
93602
93603
93604
93605
93606
93607
93608    void add_setter(
93609     const char* name
93610     , const boost::function2<int, lua_State*, int>& s
93611     , int (*match)(lua_State*, int)
93612     , void (*get_sig_ptr)(lua_State*, std::string&));
93613
93614
93615    void add_base(const base_desc& b);
93616    void add_constructor(const detail::construct_rep::overload_t& o);
93617    void add_method(const char* name, const detail::overload_rep& o);
93618
93619
93620    void add_operator(
93621     int op_id
93622     , int(*func)(lua_State*)
93623     , int(*matcher)(lua_State*)
93624     , void(*sig)(lua_State*
93625     , std::string&)
93626     , int arity);
93627 # 760 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp"
93628    const char* name() const;
93629
93630    void add_static_constant(const char* name, int val);
93631    void add_inner_scope(scope& s);
93632
93633   private:
93634    class_registration* m_registration;
93635   };
93636
93637         template<class T, class W>
93638         struct adopt_function
93639   {
93640       static void execute(void* p)
93641             {
93642        wrapped_self_t& self = wrap_access::ref(
93643      *static_cast<W*>(static_cast<T*>(p))
93644     );
93645
93646     luabind::detail::stack_checker_type stack_checker_object(self.state());
93647
93648     self.get(self.state());
93649     self.m_strong_ref.set(self.state());
93650             }
93651         };
93652
93653  }
93654
93655
93656  template<class T, class X1, class X2, class X3>
93657  struct class_: detail::class_base
93658  {
93659   typedef class_<T, X1, X2, X3> self_t;
93660
93661  private:
93662
93663   template<class A, class B, class C, class D>
93664   class_(const class_<A,B,C,D>&);
93665
93666  public:
93667
93668
93669   typedef typename detail::extract_parameter<
93670       boost::mpl::vector3<X1,X2,X3>
93671     , boost::is_base_and_derived<T, boost::mpl::_>
93672     , detail::null_type
93673   >::type WrappedType;
93674
93675   typedef typename detail::extract_parameter<
93676       boost::mpl::list3<X1,X2,X3>
93677     , boost::mpl::not_<
93678           boost::mpl::or_<
93679         boost::mpl::or_<
93680          detail::is_bases<boost::mpl::_>
93681        , boost::is_base_and_derived<boost::mpl::_, T>
93682      >
93683       , boost::is_base_and_derived<T, boost::mpl::_>
93684     >
93685    >
93686     , detail::null_type
93687   >::type HeldType;
93688
93689
93690
93691
93692   template<class To>
93693   void gen_base_info(detail::type_<To>)
93694   {
93695 # 836 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp"
93696    base_desc base;
93697    base.type = &typeid(To);
93698    base.ptr_offset = detail::ptr_offset(detail::type_<T>(), detail::type_<To>());
93699    add_base(base);
93700   }
93701
93702   void gen_base_info(detail::type_<detail::null_type>)
93703   {}
93704
93705 #define LUABIND_GEN_BASE_INFO(z,n,text) gen_base_info(detail::type_<B ##n>());
93706
93707   template< class B0 , class B1 , class B2 , class B3>
93708   void generate_baseclass_list(detail::type_<bases< B0 , B1 , B2 , B3> >)
93709   {
93710    gen_base_info(detail::type_<B0>()); gen_base_info(detail::type_<B1>()); gen_base_info(detail::type_<B2>()); gen_base_info(detail::type_<B3>());
93711   }
93712
93713 #undef LUABIND_GEN_BASE_INFO
93714
93715   class_(const char* name): class_base(name), scope(*this)
93716   {
93717
93718    detail::check_link_compatibility();
93719
93720       init();
93721   }
93722
93723   template<class F>
93724   class_& def(const char* name, F f)
93725   {
93726    return this->virtual_def(
93727     name, f, detail::null_type()
93728      , detail::null_type(), boost::mpl::true_());
93729   }
93730
93731
93732   template<class F, class DefaultOrPolicies>
93733   class_& def(char const* name, F fn, DefaultOrPolicies default_or_policies)
93734   {
93735    return this->virtual_def(
93736     name, fn, default_or_policies, detail::null_type()
93737      , typename detail::is_policy_cons<DefaultOrPolicies>::type());
93738   }
93739
93740   template<class F, class Default, class Policies>
93741   class_& def(char const* name, F fn
93742    , Default default_, Policies const& policies)
93743   {
93744    return this->virtual_def(
93745     name, fn, default_
93746      , policies, boost::mpl::false_());
93747   }
93748
93749   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
93750   class_& def(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> sig)
93751   {
93752             return this->def_constructor(
93753     boost::is_same<WrappedType, detail::null_type>()
93754      , &sig
93755      , detail::null_type()
93756    );
93757   }
93758
93759   template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
93760   class_& def(constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> sig, const Policies& policies)
93761   {
93762             return this->def_constructor(
93763     boost::is_same<WrappedType, detail::null_type>()
93764      , &sig
93765      , policies
93766    );
93767   }
93768
93769   template<class Getter>
93770   class_& property(const char* name, Getter g)
93771   {
93772    add_getter(name, boost::bind<int>(detail::get_caller<T, Getter, detail::null_type>(), _1, _2, g));
93773    return *this;
93774   }
93775
93776   template<class Getter, class MaybeSetter>
93777   class_& property(const char* name, Getter g, MaybeSetter s)
93778   {
93779    return property_impl(name, g, s, boost::mpl::bool_<detail::is_policy_cons<MaybeSetter>::value>());
93780   }
93781
93782   template<class Getter, class Setter, class GetPolicies>
93783   class_& property(const char* name, Getter g, Setter s, const GetPolicies& get_policies)
93784   {
93785    add_getter(name, boost::bind<int>(detail::get_caller<T, Getter, GetPolicies>(get_policies), _1, _2, g));
93786
93787    add_setter(
93788     name
93789     , boost::bind<int>(detail::set_caller<T, Setter, detail::null_type>(), _1, _2, s)
93790     , detail::gen_set_matcher((Setter)0, (detail::null_type*)0)
93791     , &detail::get_member_signature<Setter>::apply);
93792
93793
93794
93795
93796
93797    return *this;
93798   }
93799
93800   template<class Getter, class Setter, class GetPolicies, class SetPolicies>
93801   class_& property(const char* name
93802          , Getter g, Setter s
93803          , const GetPolicies& get_policies
93804          , const SetPolicies& set_policies)
93805   {
93806    add_getter(name, boost::bind<int>(detail::get_caller<T, Getter, GetPolicies>(get_policies), _1, _2, g));
93807
93808    add_setter(
93809     name
93810     , boost::bind<int>(detail::set_caller<T, Setter, SetPolicies>(), _1, _2, s)
93811     , detail::gen_set_matcher((Setter)0, (SetPolicies*)0)
93812     , &detail::get_member_signature<Setter>::apply);
93813
93814
93815
93816    return *this;
93817   }
93818
93819   template<class D>
93820   class_& def_readonly(const char* name, D T::*member_ptr)
93821   {
93822    add_getter(name, boost::bind<int>(detail::auto_get<T,D,detail::null_type>(), _1, _2, member_ptr));
93823    return *this;
93824   }
93825
93826   template<class D, class Policies>
93827   class_& def_readonly(const char* name, D T::*member_ptr, const Policies& policies)
93828   {
93829    add_getter(name, boost::bind<int>(detail::auto_get<T,D,Policies>(policies), _1, _2, member_ptr));
93830    return *this;
93831   }
93832
93833   template<class D>
93834   class_& def_readwrite(const char* name, D T::*member_ptr)
93835   {
93836    add_getter(name, boost::bind<int>(detail::auto_get<T,D,detail::null_type>(), _1, _2, member_ptr));
93837
93838    add_setter(
93839     name
93840     , boost::bind<int>(detail::auto_set<T,D,detail::null_type>(), _1, _2, member_ptr)
93841     , &detail::set_matcher<D, detail::null_type>::apply
93842     , &detail::get_setter_signature<D>::apply);
93843
93844
93845
93846    return *this;
93847   }
93848
93849   template<class D, class GetPolicies>
93850   class_& def_readwrite(const char* name, D T::*member_ptr, const GetPolicies& get_policies)
93851   {
93852    add_getter(name, boost::bind<int>(detail::auto_get<T,D,GetPolicies>(get_policies), _1, _2, member_ptr));
93853
93854    add_setter(
93855     name
93856     , boost::bind<int>(detail::auto_set<T,D,detail::null_type>(), _1, _2, member_ptr)
93857     , &detail::set_matcher<D, detail::null_type>::apply
93858     , &detail::get_setter_signature<D>::apply);
93859
93860
93861
93862    return *this;
93863   }
93864
93865   template<class D, class GetPolicies, class SetPolicies>
93866   class_& def_readwrite(const char* name, D T::*member_ptr, const GetPolicies& get_policies, const SetPolicies& set_policies)
93867   {
93868    add_getter(name, boost::bind<int>(detail::auto_get<T,D,GetPolicies>(get_policies), _1, _2, member_ptr));
93869
93870    add_setter(
93871     name
93872     , boost::bind<int>(detail::auto_set<T,D,SetPolicies>(), _1, _2, member_ptr)
93873     , &detail::set_matcher<D, SetPolicies>::apply
93874     , &detail::get_setter_signature<D>::apply);
93875
93876
93877
93878    return *this;
93879   }
93880
93881   template<class Derived, class Policies>
93882   class_& def(detail::operator_<Derived>, Policies const& policies)
93883   {
93884    return this->def(
93885     Derived::name()
93886      , &Derived::template apply<T, Policies>::execute
93887      , raw(_1) + policies
93888    );
93889   }
93890
93891   template<class Derived>
93892   class_& def(detail::operator_<Derived>)
93893   {
93894    return this->def(
93895     Derived::name()
93896      , &Derived::template apply<T, detail::null_type>::execute
93897      , raw(_1)
93898    );
93899   }
93900 # 1132 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/class.hpp"
93901   detail::enum_maker<self_t> enum_(const char*)
93902   {
93903    return detail::enum_maker<self_t>(*this);
93904   }
93905
93906   detail::static_scope<self_t> scope;
93907
93908  private:
93909   void operator=(class_ const&);
93910
93911   void init()
93912   {
93913    typedef typename detail::extract_parameter<
93914      boost::mpl::list3<X1,X2,X3>
93915     , boost::mpl::or_<
93916        detail::is_bases<boost::mpl::_>
93917       , boost::is_base_and_derived<boost::mpl::_, T>
93918      >
93919     , no_bases
93920    >::type bases_t;
93921
93922    typedef typename
93923     boost::mpl::if_<detail::is_bases<bases_t>
93924      , bases_t
93925      , bases<bases_t>
93926     >::type Base;
93927
93928    class_base::init(&typeid(T)
93929     , detail::internal_holder_type<HeldType>::apply()
93930     , detail::pointee_typeid(
93931      get_const_holder(static_cast<HeldType*>(0)))
93932     , detail::internal_holder_extractor<HeldType>::apply(detail::type_<T>())
93933     , detail::internal_const_holder_extractor<HeldType>::apply(detail::type_<T>())
93934     , detail::const_converter<HeldType>::apply(
93935      get_const_holder((HeldType*)0))
93936     , detail::holder_constructor<HeldType>::apply(detail::type_<T>())
93937     , detail::const_holder_constructor<HeldType>::apply(detail::type_<T>())
93938     , detail::holder_default_constructor<HeldType>::apply(detail::type_<T>())
93939     , detail::const_holder_default_constructor<HeldType>::apply(detail::type_<T>())
93940     , get_adopt_fun((WrappedType*)0)
93941     , detail::internal_holder_destructor<HeldType>::apply(detail::type_<T>())
93942     , detail::internal_const_holder_destructor<HeldType>::apply(detail::type_<T>())
93943     , detail::internal_holder_size<HeldType>::apply()
93944     , detail::get_holder_alignment<HeldType>::apply());
93945
93946    generate_baseclass_list(detail::type_<Base>());
93947   }
93948
93949   template<class Getter, class GetPolicies>
93950   class_& property_impl(const char* name,
93951           Getter g,
93952           GetPolicies policies,
93953           boost::mpl::bool_<true>)
93954   {
93955    add_getter(name, boost::bind<int>(detail::get_caller<T,Getter,GetPolicies>(policies), _1, _2, g));
93956    return *this;
93957   }
93958
93959   template<class Getter, class Setter>
93960   class_& property_impl(const char* name,
93961           Getter g,
93962           Setter s,
93963           boost::mpl::bool_<false>)
93964   {
93965    add_getter(name, boost::bind<int>(detail::get_caller<T,Getter,detail::null_type>(), _1, _2, g));
93966
93967    add_setter(
93968     name
93969     , boost::bind<int>(detail::set_caller<T, Setter, detail::null_type>(), _1, _2, s)
93970     , detail::gen_set_matcher((Setter)0, (detail::null_type*)0)
93971     , &detail::get_member_signature<Setter>::apply);
93972
93973
93974
93975    return *this;
93976   }
93977
93978
93979   template<class F, class Policies>
93980   class_& virtual_def(char const* name, F const& fn
93981    , Policies const&, detail::null_type, boost::mpl::true_)
93982   {
93983
93984    detail::overload_rep o(fn, static_cast<Policies*>(0));
93985
93986    o.set_match_fun(detail::mem_fn_matcher<F, T, Policies>(fn));
93987    o.set_fun(detail::mem_fn_callback<F, T, Policies>(fn));
93988
93989
93990    o.set_sig_fun(&detail::get_member_signature<F>::apply);
93991
93992    this->add_method(name, o);
93993    return *this;
93994   }
93995
93996   template<class F, class Default, class Policies>
93997   class_& virtual_def(char const* name, F const& fn
93998    , Default const& default_, Policies const&, boost::mpl::false_)
93999   {
94000
94001
94002
94003
94004    detail::overload_rep o(fn, (Policies*)0);
94005
94006    o.set_match_fun(detail::mem_fn_matcher<F, T, Policies>(fn));
94007    o.set_fun(detail::mem_fn_callback<F, T, Policies>(fn));
94008
94009    o.set_fun_static(
94010     detail::mem_fn_callback<Default, T, Policies>(default_));
94011
94012
94013    o.set_sig_fun(&detail::get_member_signature<F>::apply);
94014
94015
94016    this->add_method(name, o);
94017
94018    return *this;
94019   }
94020
94021         template<class Signature, class Policies>
94022   class_& def_constructor(
94023    boost::mpl::true_
94024           , Signature*
94025           , Policies const&)
94026         {
94027    detail::construct_rep::overload_t o;
94028
94029    o.set_constructor(
94030     &detail::construct_class<
94031      T
94032       , Policies
94033       , Signature
94034     >::apply);
94035
94036    o.set_match_fun(
94037     &detail::constructor_match<
94038         Signature
94039          , 2
94040          , Policies
94041        >::apply);
94042
94043
94044    o.set_sig_fun(&detail::get_signature<Signature>::apply);
94045
94046    o.set_arity(detail::calc_arity<Signature::arity>::apply(Signature(), (Policies*)0));
94047    this->add_constructor(o);
94048             return *this;
94049         }
94050
94051         template<class Signature, class Policies>
94052   class_& def_constructor(
94053    boost::mpl::false_
94054           , Signature*
94055           , Policies const&)
94056   {
94057    detail::construct_rep::overload_t o;
94058
94059    o.set_constructor(
94060     &detail::construct_wrapped_class<
94061      T
94062       , WrappedType
94063       , Policies
94064       , Signature
94065     >::apply);
94066
94067    o.set_match_fun(
94068     &detail::constructor_match<
94069         Signature
94070          , 2
94071          , Policies
94072        >::apply);
94073
94074
94075    o.set_sig_fun(&detail::get_signature<Signature>::apply);
94076
94077    o.set_arity(detail::calc_arity<Signature::arity>::apply(Signature(), (Policies*)0));
94078    this->add_constructor(o);
94079             return *this;
94080         }
94081
94082   typedef void(*adopt_fun_t)(void*);
94083
94084   template<class W>
94085   adopt_fun_t get_adopt_fun(W*)
94086   {
94087             return &detail::adopt_function<T, W>::execute;
94088   }
94089
94090   adopt_fun_t get_adopt_fun(detail::null_type*)
94091   {
94092    return 0;
94093   }
94094  };
94095
94096  namespace
94097  {
94098   detail::policy_cons<
94099    detail::pure_virtual_tag
94100     , detail::null_type
94101   > pure_virtual;
94102  }
94103 }
94104 # 29 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/luabind.hpp" 2
94105 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1
94106 # 27 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp"
94107 #define LUABIND_FUNCTION_HPP_INCLUDED 
94108 # 38 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp"
94109 # 1 "/usr/include/boost/mpl/apply_wrap.hpp" 1 3 4
94110 # 39 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 2
94111
94112 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/signature_match.hpp" 1
94113 # 41 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 2
94114 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1
94115 # 27 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp"
94116 #define LUABIND_CALL_FUNCTION_HPP_INCLUDED 
94117 # 45 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp"
94118 namespace luabind
94119 {
94120  namespace detail
94121  {
94122
94123
94124    template<class Ret, class Tuple>
94125    class proxy_function_caller
94126    {
94127
94128    public:
94129
94130     typedef int(*function_t)(lua_State*, int, int);
94131
94132     proxy_function_caller(
94133      lua_State* L
94134      , int params
94135      , function_t fun
94136      , const Tuple args)
94137      : m_state(L)
94138      , m_params(params)
94139      , m_fun(fun)
94140      , m_args(args)
94141      , m_called(false)
94142     {
94143     }
94144
94145     proxy_function_caller(const proxy_function_caller& rhs)
94146      : m_state(rhs.m_state)
94147      , m_params(rhs.m_params)
94148      , m_fun(rhs.m_fun)
94149      , m_args(rhs.m_args)
94150      , m_called(rhs.m_called)
94151     {
94152      rhs.m_called = true;
94153     }
94154
94155     ~proxy_function_caller()
94156     {
94157      if (m_called) return;
94158
94159      m_called = true;
94160      lua_State* L = m_state;
94161
94162      int top = lua_gettop(L);
94163
94164      push_args_from_tuple<1>::apply(L, m_args);
94165      if (m_fun(L, boost::tuples::length<Tuple>::value, 0))
94166      {
94167       (static_cast<void> ((lua_gettop(L) == top - m_params + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top - m_params + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 94, __PRETTY_FUNCTION__), 0)));
94168
94169       throw luabind::error(L);
94170 # 106 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp"
94171      }
94172
94173
94174      stack_pop pop(L, lua_gettop(L) - top + m_params);
94175     }
94176
94177     operator Ret()
94178     {
94179      typename mpl::apply_wrap2<default_policy,Ret,lua_to_cpp>::type converter;
94180
94181      m_called = true;
94182      lua_State* L = m_state;
94183
94184      int top = lua_gettop(L);
94185
94186      push_args_from_tuple<1>::apply(L, m_args);
94187      if (m_fun(L, boost::tuples::length<Tuple>::value, 1))
94188      {
94189       (static_cast<void> ((lua_gettop(L) == top - m_params + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top - m_params + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 124, __PRETTY_FUNCTION__), 0)));
94190
94191       throw luabind::error(L);
94192 # 135 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp"
94193      }
94194
94195
94196      stack_pop pop(L, lua_gettop(L) - top + m_params);
94197
94198
94199
94200      if (converter.match(L, luabind::detail::decorated_type<Ret>::get(), -1) < 0)
94201      {
94202
94203       throw cast_failed(L, &typeid(Ret));
94204 # 155 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp"
94205      }
94206
94207      return converter.apply(L, luabind::detail::decorated_type<Ret>::get(), -1);
94208     }
94209
94210     template<class Policies>
94211     Ret operator[](const Policies& p)
94212     {
94213      typedef typename detail::find_conversion_policy<0, Policies>::type converter_policy;
94214      typename mpl::apply_wrap2<converter_policy,Ret,lua_to_cpp>::type converter;
94215
94216      m_called = true;
94217      lua_State* L = m_state;
94218
94219      int top = lua_gettop(L);
94220
94221      detail::push_args_from_tuple<1>::apply(L, m_args, p);
94222      if (m_fun(L, boost::tuples::length<Tuple>::value, 1))
94223      {
94224       (static_cast<void> ((lua_gettop(L) == top - m_params + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top - m_params + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 174, __PRETTY_FUNCTION__), 0)));
94225
94226       throw error(L);
94227 # 185 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp"
94228      }
94229
94230
94231      stack_pop pop(L, lua_gettop(L) - top + m_params);
94232
94233
94234
94235      if (converter.match(L, luabind::detail::decorated_type<Ret>::get(), -1) < 0)
94236      {
94237
94238       throw cast_failed(L, &typeid(Ret));
94239 # 205 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp"
94240      }
94241
94242      return converter.apply(L, luabind::detail::decorated_type<Ret>::get(), -1);
94243     }
94244
94245    private:
94246
94247     lua_State* m_state;
94248     int m_params;
94249     function_t m_fun;
94250     Tuple m_args;
94251     mutable bool m_called;
94252
94253    };
94254
94255
94256    template<class Tuple>
94257    class proxy_function_void_caller
94258    {
94259    friend class luabind::object;
94260    public:
94261
94262     typedef int(*function_t)(lua_State*, int, int);
94263
94264     proxy_function_void_caller(
94265      lua_State* L
94266      , int params
94267      , function_t fun
94268      , const Tuple args)
94269      : m_state(L)
94270      , m_params(params)
94271      , m_fun(fun)
94272      , m_args(args)
94273      , m_called(false)
94274     {
94275     }
94276
94277     proxy_function_void_caller(const proxy_function_void_caller& rhs)
94278      : m_state(rhs.m_state)
94279      , m_params(rhs.m_params)
94280      , m_fun(rhs.m_fun)
94281      , m_args(rhs.m_args)
94282      , m_called(rhs.m_called)
94283     {
94284      rhs.m_called = true;
94285     }
94286
94287     ~proxy_function_void_caller()
94288     {
94289      if (m_called) return;
94290
94291      m_called = true;
94292      lua_State* L = m_state;
94293
94294      int top = lua_gettop(L);
94295
94296      push_args_from_tuple<1>::apply(L, m_args);
94297      if (m_fun(L, boost::tuples::length<Tuple>::value, 0))
94298      {
94299       (static_cast<void> ((lua_gettop(L) == top - m_params + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top - m_params + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 264, __PRETTY_FUNCTION__), 0)));
94300
94301       throw luabind::error(L);
94302 # 275 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp"
94303      }
94304
94305      stack_pop pop(L, lua_gettop(L) - top + m_params);
94306     }
94307
94308     template<class Policies>
94309     void operator[](const Policies& p)
94310     {
94311      m_called = true;
94312      lua_State* L = m_state;
94313
94314      int top = lua_gettop(L);
94315
94316      detail::push_args_from_tuple<1>::apply(L, m_args, p);
94317      if (m_fun(L, boost::tuples::length<Tuple>::value, 0))
94318      {
94319       (static_cast<void> ((lua_gettop(L) == top - m_params + 1) ? 0 : (__assert_fail ("lua_gettop(L) == top - m_params + 1", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 291, __PRETTY_FUNCTION__), 0)));
94320
94321       throw error(L);
94322 # 302 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp"
94323      }
94324
94325      stack_pop pop(L, lua_gettop(L) - top + m_params);
94326     }
94327
94328    private:
94329
94330     lua_State* m_state;
94331     int m_params;
94332     function_t m_fun;
94333     Tuple m_args;
94334     mutable bool m_called;
94335
94336    };
94337
94338  }
94339
94340 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/detail/call_function.hpp>, 1))
94341 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
94342 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
94343 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
94344 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
94345 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
94346 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
94347 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94348 #undef BOOST_PP_SLOT_TEMP_1
94349 #undef BOOST_PP_SLOT_TEMP_2
94350 #undef BOOST_PP_SLOT_TEMP_3
94351 #undef BOOST_PP_SLOT_TEMP_4
94352 #undef BOOST_PP_SLOT_TEMP_5
94353 #undef BOOST_PP_SLOT_TEMP_6
94354 #undef BOOST_PP_SLOT_TEMP_7
94355 #undef BOOST_PP_SLOT_TEMP_8
94356 #undef BOOST_PP_SLOT_TEMP_9
94357 #undef BOOST_PP_SLOT_TEMP_10
94358
94359
94360 #define BOOST_PP_SLOT_TEMP_10 0
94361 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94362 #define BOOST_PP_SLOT_TEMP_9 0
94363 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94364 #define BOOST_PP_SLOT_TEMP_8 0
94365 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94366 #define BOOST_PP_SLOT_TEMP_7 0
94367 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94368 #define BOOST_PP_SLOT_TEMP_6 0
94369 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94370 #define BOOST_PP_SLOT_TEMP_5 0
94371 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94372 #define BOOST_PP_SLOT_TEMP_4 0
94373 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94374 #define BOOST_PP_SLOT_TEMP_3 0
94375 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94376 #define BOOST_PP_SLOT_TEMP_2 0
94377 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94378 #define BOOST_PP_SLOT_TEMP_1 0
94379 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94380 #undef BOOST_PP_VALUE
94381 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
94382
94383 #undef BOOST_PP_ITERATION_START_1
94384
94385 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
94386 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
94387 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
94388 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
94389 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
94390 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
94391 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
94392 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
94393 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
94394 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
94395
94396
94397 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
94398 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
94399 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
94400 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
94401 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
94402 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
94403 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
94404 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
94405 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
94406 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
94407 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
94408 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
94409 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94410 #undef BOOST_PP_SLOT_TEMP_1
94411 #undef BOOST_PP_SLOT_TEMP_2
94412 #undef BOOST_PP_SLOT_TEMP_3
94413 #undef BOOST_PP_SLOT_TEMP_4
94414 #undef BOOST_PP_SLOT_TEMP_5
94415 #undef BOOST_PP_SLOT_TEMP_6
94416 #undef BOOST_PP_SLOT_TEMP_7
94417 #undef BOOST_PP_SLOT_TEMP_8
94418 #undef BOOST_PP_SLOT_TEMP_9
94419 #undef BOOST_PP_SLOT_TEMP_10
94420
94421
94422 #define BOOST_PP_SLOT_TEMP_10 0
94423 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94424 #define BOOST_PP_SLOT_TEMP_9 0
94425 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94426 #define BOOST_PP_SLOT_TEMP_8 0
94427 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94428 #define BOOST_PP_SLOT_TEMP_7 0
94429 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94430 #define BOOST_PP_SLOT_TEMP_6 0
94431 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94432 #define BOOST_PP_SLOT_TEMP_5 0
94433 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94434 #define BOOST_PP_SLOT_TEMP_4 0
94435 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94436 #define BOOST_PP_SLOT_TEMP_3 0
94437 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94438 #define BOOST_PP_SLOT_TEMP_2 1
94439 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94440 #define BOOST_PP_SLOT_TEMP_1 0
94441 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
94442 #undef BOOST_PP_VALUE
94443 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
94444
94445 #undef BOOST_PP_ITERATION_FINISH_1
94446
94447 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
94448 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
94449 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
94450 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
94451 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
94452 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
94453 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
94454 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
94455 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
94456 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
94457
94458
94459 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
94460 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
94461 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
94462 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
94463 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
94464 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
94465 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
94466 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
94467 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
94468
94469 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
94470
94471
94472
94473
94474
94475
94476
94477 #undef BOOST_PP_ITERATION_DEPTH
94478 #define BOOST_PP_ITERATION_DEPTH() 1
94479
94480 #define BOOST_PP_IS_ITERATING 1
94481
94482
94483
94484
94485
94486 #define BOOST_PP_ITERATION_1 0
94487 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1 3 4
94488 # 328 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 3 4
94489 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
94490 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
94491
94492
94493  template<class Ret >
94494  typename boost::mpl::if_<boost::is_void<Ret>
94495    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple<> >
94496    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<> > >::type
94497  call_function(lua_State* L, const char* name )
94498  {
94499   (static_cast<void> ((name && "luabind::call_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::call_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 338, __PRETTY_FUNCTION__), 0)));
94500   typedef boost::tuples::tuple<> tuple_t;
94501
94502   tuple_t args;
94503
94504
94505
94506   typedef typename boost::mpl::if_<boost::is_void<Ret>
94507    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple<> >
94508    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<> > >::type proxy_type;
94509
94510   lua_pushstring(L, name);
94511   lua_gettable(L, (-10001));
94512
94513   return proxy_type(L, 1, &detail::pcall, args);
94514  }
94515
94516  template<class Ret >
94517  typename boost::mpl::if_<boost::is_void<Ret>
94518    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple<> >
94519    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<> > >::type
94520  call_function(luabind::object const& obj )
94521  {
94522   typedef boost::tuples::tuple<> tuple_t;
94523
94524   tuple_t args;
94525
94526
94527
94528   typedef typename boost::mpl::if_<boost::is_void<Ret>
94529    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple<> >
94530    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<> > >::type proxy_type;
94531
94532   obj.push(obj.interpreter());
94533   return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
94534  }
94535
94536  template<class Ret >
94537  typename boost::mpl::if_<boost::is_void<Ret>
94538    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple<> >
94539    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<> > >::type
94540  resume_function(lua_State* L, const char* name )
94541  {
94542   (static_cast<void> ((name && "luabind::resume_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::resume_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 381, __PRETTY_FUNCTION__), 0)));
94543   typedef boost::tuples::tuple<> tuple_t;
94544
94545   tuple_t args;
94546
94547
94548
94549   typedef typename boost::mpl::if_<boost::is_void<Ret>
94550    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple<> >
94551    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<> > >::type proxy_type;
94552
94553   lua_pushstring(L, name);
94554   lua_gettable(L, (-10001));
94555
94556   return proxy_type(L, 1, &detail::resume_impl, args);
94557  }
94558
94559  template<class Ret >
94560  typename boost::mpl::if_<boost::is_void<Ret>
94561    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple<> >
94562    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<> > >::type
94563  resume_function(luabind::object const& obj )
94564  {
94565   typedef boost::tuples::tuple<> tuple_t;
94566
94567   tuple_t args;
94568
94569
94570
94571   typedef typename boost::mpl::if_<boost::is_void<Ret>
94572    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple<> >
94573    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<> > >::type proxy_type;
94574
94575   obj.push(obj.interpreter());
94576   return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args);
94577  }
94578
94579  template<class Ret >
94580  typename boost::mpl::if_<boost::is_void<Ret>
94581    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple<> >
94582    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<> > >::type
94583  resume(lua_State* L )
94584  {
94585   typedef boost::tuples::tuple<> tuple_t;
94586
94587   tuple_t args;
94588
94589
94590
94591   typedef typename boost::mpl::if_<boost::is_void<Ret>
94592    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple<> >
94593    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<> > >::type proxy_type;
94594
94595   return proxy_type(L, 0, &detail::resume_impl, args);
94596  }
94597
94598
94599 #undef LUABIND_OPERATOR_PARAMS
94600 #undef LUABIND_TUPLE_PARAMS
94601 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
94602 #undef BOOST_PP_ITERATION_1
94603
94604
94605 #define BOOST_PP_ITERATION_1 1
94606 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1 3 4
94607 # 328 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 3 4
94608 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
94609 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
94610
94611
94612  template<class Ret , class A0>
94613  typename boost::mpl::if_<boost::is_void<Ret>
94614    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 *> >
94615    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 *> > >::type
94616  call_function(lua_State* L, const char* name , const A0 & a0 )
94617  {
94618   (static_cast<void> ((name && "luabind::call_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::call_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 338, __PRETTY_FUNCTION__), 0)));
94619   typedef boost::tuples::tuple< const A0 *> tuple_t;
94620
94621
94622
94623   tuple_t args( &a0);
94624
94625   typedef typename boost::mpl::if_<boost::is_void<Ret>
94626    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 *> >
94627    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 *> > >::type proxy_type;
94628
94629   lua_pushstring(L, name);
94630   lua_gettable(L, (-10001));
94631
94632   return proxy_type(L, 1, &detail::pcall, args);
94633  }
94634
94635  template<class Ret , class A0>
94636  typename boost::mpl::if_<boost::is_void<Ret>
94637    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 *> >
94638    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 *> > >::type
94639  call_function(luabind::object const& obj , const A0 & a0 )
94640  {
94641   typedef boost::tuples::tuple< const A0 *> tuple_t;
94642
94643
94644
94645   tuple_t args( &a0);
94646
94647   typedef typename boost::mpl::if_<boost::is_void<Ret>
94648    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 *> >
94649    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 *> > >::type proxy_type;
94650
94651   obj.push(obj.interpreter());
94652   return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
94653  }
94654
94655  template<class Ret , class A0>
94656  typename boost::mpl::if_<boost::is_void<Ret>
94657    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 *> >
94658    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 *> > >::type
94659  resume_function(lua_State* L, const char* name , const A0 & a0 )
94660  {
94661   (static_cast<void> ((name && "luabind::resume_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::resume_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 381, __PRETTY_FUNCTION__), 0)));
94662   typedef boost::tuples::tuple< const A0 *> tuple_t;
94663
94664
94665
94666   tuple_t args( &a0);
94667
94668   typedef typename boost::mpl::if_<boost::is_void<Ret>
94669    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 *> >
94670    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 *> > >::type proxy_type;
94671
94672   lua_pushstring(L, name);
94673   lua_gettable(L, (-10001));
94674
94675   return proxy_type(L, 1, &detail::resume_impl, args);
94676  }
94677
94678  template<class Ret , class A0>
94679  typename boost::mpl::if_<boost::is_void<Ret>
94680    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 *> >
94681    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 *> > >::type
94682  resume_function(luabind::object const& obj , const A0 & a0 )
94683  {
94684   typedef boost::tuples::tuple< const A0 *> tuple_t;
94685
94686
94687
94688   tuple_t args( &a0);
94689
94690   typedef typename boost::mpl::if_<boost::is_void<Ret>
94691    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 *> >
94692    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 *> > >::type proxy_type;
94693
94694   obj.push(obj.interpreter());
94695   return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args);
94696  }
94697
94698  template<class Ret , class A0>
94699  typename boost::mpl::if_<boost::is_void<Ret>
94700    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 *> >
94701    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 *> > >::type
94702  resume(lua_State* L , const A0 & a0 )
94703  {
94704   typedef boost::tuples::tuple< const A0 *> tuple_t;
94705
94706
94707
94708   tuple_t args( &a0);
94709
94710   typedef typename boost::mpl::if_<boost::is_void<Ret>
94711    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 *> >
94712    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 *> > >::type proxy_type;
94713
94714   return proxy_type(L, 0, &detail::resume_impl, args);
94715  }
94716
94717
94718 #undef LUABIND_OPERATOR_PARAMS
94719 #undef LUABIND_TUPLE_PARAMS
94720 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
94721 #undef BOOST_PP_ITERATION_1
94722
94723
94724 #define BOOST_PP_ITERATION_1 2
94725 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1 3 4
94726 # 328 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 3 4
94727 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
94728 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
94729
94730
94731  template<class Ret , class A0 , class A1>
94732  typename boost::mpl::if_<boost::is_void<Ret>
94733    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
94734    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 *> > >::type
94735  call_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 )
94736  {
94737   (static_cast<void> ((name && "luabind::call_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::call_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 338, __PRETTY_FUNCTION__), 0)));
94738   typedef boost::tuples::tuple< const A0 * , const A1 *> tuple_t;
94739
94740
94741
94742   tuple_t args( &a0 , &a1);
94743
94744   typedef typename boost::mpl::if_<boost::is_void<Ret>
94745    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
94746    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 *> > >::type proxy_type;
94747
94748   lua_pushstring(L, name);
94749   lua_gettable(L, (-10001));
94750
94751   return proxy_type(L, 1, &detail::pcall, args);
94752  }
94753
94754  template<class Ret , class A0 , class A1>
94755  typename boost::mpl::if_<boost::is_void<Ret>
94756    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
94757    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 *> > >::type
94758  call_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 )
94759  {
94760   typedef boost::tuples::tuple< const A0 * , const A1 *> tuple_t;
94761
94762
94763
94764   tuple_t args( &a0 , &a1);
94765
94766   typedef typename boost::mpl::if_<boost::is_void<Ret>
94767    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
94768    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 *> > >::type proxy_type;
94769
94770   obj.push(obj.interpreter());
94771   return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
94772  }
94773
94774  template<class Ret , class A0 , class A1>
94775  typename boost::mpl::if_<boost::is_void<Ret>
94776    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
94777    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 *> > >::type
94778  resume_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 )
94779  {
94780   (static_cast<void> ((name && "luabind::resume_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::resume_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 381, __PRETTY_FUNCTION__), 0)));
94781   typedef boost::tuples::tuple< const A0 * , const A1 *> tuple_t;
94782
94783
94784
94785   tuple_t args( &a0 , &a1);
94786
94787   typedef typename boost::mpl::if_<boost::is_void<Ret>
94788    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
94789    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 *> > >::type proxy_type;
94790
94791   lua_pushstring(L, name);
94792   lua_gettable(L, (-10001));
94793
94794   return proxy_type(L, 1, &detail::resume_impl, args);
94795  }
94796
94797  template<class Ret , class A0 , class A1>
94798  typename boost::mpl::if_<boost::is_void<Ret>
94799    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
94800    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 *> > >::type
94801  resume_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 )
94802  {
94803   typedef boost::tuples::tuple< const A0 * , const A1 *> tuple_t;
94804
94805
94806
94807   tuple_t args( &a0 , &a1);
94808
94809   typedef typename boost::mpl::if_<boost::is_void<Ret>
94810    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
94811    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 *> > >::type proxy_type;
94812
94813   obj.push(obj.interpreter());
94814   return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args);
94815  }
94816
94817  template<class Ret , class A0 , class A1>
94818  typename boost::mpl::if_<boost::is_void<Ret>
94819    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
94820    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 *> > >::type
94821  resume(lua_State* L , const A0 & a0 , const A1 & a1 )
94822  {
94823   typedef boost::tuples::tuple< const A0 * , const A1 *> tuple_t;
94824
94825
94826
94827   tuple_t args( &a0 , &a1);
94828
94829   typedef typename boost::mpl::if_<boost::is_void<Ret>
94830    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 *> >
94831    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 *> > >::type proxy_type;
94832
94833   return proxy_type(L, 0, &detail::resume_impl, args);
94834  }
94835
94836
94837 #undef LUABIND_OPERATOR_PARAMS
94838 #undef LUABIND_TUPLE_PARAMS
94839 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
94840 #undef BOOST_PP_ITERATION_1
94841
94842
94843 #define BOOST_PP_ITERATION_1 3
94844 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1 3 4
94845 # 328 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 3 4
94846 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
94847 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
94848
94849
94850  template<class Ret , class A0 , class A1 , class A2>
94851  typename boost::mpl::if_<boost::is_void<Ret>
94852    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
94853    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type
94854  call_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 )
94855  {
94856   (static_cast<void> ((name && "luabind::call_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::call_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 338, __PRETTY_FUNCTION__), 0)));
94857   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 *> tuple_t;
94858
94859
94860
94861   tuple_t args( &a0 , &a1 , &a2);
94862
94863   typedef typename boost::mpl::if_<boost::is_void<Ret>
94864    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
94865    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type proxy_type;
94866
94867   lua_pushstring(L, name);
94868   lua_gettable(L, (-10001));
94869
94870   return proxy_type(L, 1, &detail::pcall, args);
94871  }
94872
94873  template<class Ret , class A0 , class A1 , class A2>
94874  typename boost::mpl::if_<boost::is_void<Ret>
94875    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
94876    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type
94877  call_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 )
94878  {
94879   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 *> tuple_t;
94880
94881
94882
94883   tuple_t args( &a0 , &a1 , &a2);
94884
94885   typedef typename boost::mpl::if_<boost::is_void<Ret>
94886    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
94887    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type proxy_type;
94888
94889   obj.push(obj.interpreter());
94890   return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
94891  }
94892
94893  template<class Ret , class A0 , class A1 , class A2>
94894  typename boost::mpl::if_<boost::is_void<Ret>
94895    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
94896    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type
94897  resume_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 )
94898  {
94899   (static_cast<void> ((name && "luabind::resume_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::resume_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 381, __PRETTY_FUNCTION__), 0)));
94900   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 *> tuple_t;
94901
94902
94903
94904   tuple_t args( &a0 , &a1 , &a2);
94905
94906   typedef typename boost::mpl::if_<boost::is_void<Ret>
94907    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
94908    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type proxy_type;
94909
94910   lua_pushstring(L, name);
94911   lua_gettable(L, (-10001));
94912
94913   return proxy_type(L, 1, &detail::resume_impl, args);
94914  }
94915
94916  template<class Ret , class A0 , class A1 , class A2>
94917  typename boost::mpl::if_<boost::is_void<Ret>
94918    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
94919    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type
94920  resume_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 )
94921  {
94922   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 *> tuple_t;
94923
94924
94925
94926   tuple_t args( &a0 , &a1 , &a2);
94927
94928   typedef typename boost::mpl::if_<boost::is_void<Ret>
94929    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
94930    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type proxy_type;
94931
94932   obj.push(obj.interpreter());
94933   return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args);
94934  }
94935
94936  template<class Ret , class A0 , class A1 , class A2>
94937  typename boost::mpl::if_<boost::is_void<Ret>
94938    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
94939    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type
94940  resume(lua_State* L , const A0 & a0 , const A1 & a1 , const A2 & a2 )
94941  {
94942   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 *> tuple_t;
94943
94944
94945
94946   tuple_t args( &a0 , &a1 , &a2);
94947
94948   typedef typename boost::mpl::if_<boost::is_void<Ret>
94949    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 *> >
94950    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 *> > >::type proxy_type;
94951
94952   return proxy_type(L, 0, &detail::resume_impl, args);
94953  }
94954
94955
94956 #undef LUABIND_OPERATOR_PARAMS
94957 #undef LUABIND_TUPLE_PARAMS
94958 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
94959 #undef BOOST_PP_ITERATION_1
94960
94961
94962 #define BOOST_PP_ITERATION_1 4
94963 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1 3 4
94964 # 328 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 3 4
94965 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
94966 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
94967
94968
94969  template<class Ret , class A0 , class A1 , class A2 , class A3>
94970  typename boost::mpl::if_<boost::is_void<Ret>
94971    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
94972    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type
94973  call_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 )
94974  {
94975   (static_cast<void> ((name && "luabind::call_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::call_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 338, __PRETTY_FUNCTION__), 0)));
94976   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> tuple_t;
94977
94978
94979
94980   tuple_t args( &a0 , &a1 , &a2 , &a3);
94981
94982   typedef typename boost::mpl::if_<boost::is_void<Ret>
94983    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
94984    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type proxy_type;
94985
94986   lua_pushstring(L, name);
94987   lua_gettable(L, (-10001));
94988
94989   return proxy_type(L, 1, &detail::pcall, args);
94990  }
94991
94992  template<class Ret , class A0 , class A1 , class A2 , class A3>
94993  typename boost::mpl::if_<boost::is_void<Ret>
94994    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
94995    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type
94996  call_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 )
94997  {
94998   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> tuple_t;
94999
95000
95001
95002   tuple_t args( &a0 , &a1 , &a2 , &a3);
95003
95004   typedef typename boost::mpl::if_<boost::is_void<Ret>
95005    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
95006    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type proxy_type;
95007
95008   obj.push(obj.interpreter());
95009   return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
95010  }
95011
95012  template<class Ret , class A0 , class A1 , class A2 , class A3>
95013  typename boost::mpl::if_<boost::is_void<Ret>
95014    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
95015    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type
95016  resume_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 )
95017  {
95018   (static_cast<void> ((name && "luabind::resume_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::resume_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 381, __PRETTY_FUNCTION__), 0)));
95019   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> tuple_t;
95020
95021
95022
95023   tuple_t args( &a0 , &a1 , &a2 , &a3);
95024
95025   typedef typename boost::mpl::if_<boost::is_void<Ret>
95026    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
95027    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type proxy_type;
95028
95029   lua_pushstring(L, name);
95030   lua_gettable(L, (-10001));
95031
95032   return proxy_type(L, 1, &detail::resume_impl, args);
95033  }
95034
95035  template<class Ret , class A0 , class A1 , class A2 , class A3>
95036  typename boost::mpl::if_<boost::is_void<Ret>
95037    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
95038    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type
95039  resume_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 )
95040  {
95041   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> tuple_t;
95042
95043
95044
95045   tuple_t args( &a0 , &a1 , &a2 , &a3);
95046
95047   typedef typename boost::mpl::if_<boost::is_void<Ret>
95048    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
95049    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type proxy_type;
95050
95051   obj.push(obj.interpreter());
95052   return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args);
95053  }
95054
95055  template<class Ret , class A0 , class A1 , class A2 , class A3>
95056  typename boost::mpl::if_<boost::is_void<Ret>
95057    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
95058    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type
95059  resume(lua_State* L , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 )
95060  {
95061   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> tuple_t;
95062
95063
95064
95065   tuple_t args( &a0 , &a1 , &a2 , &a3);
95066
95067   typedef typename boost::mpl::if_<boost::is_void<Ret>
95068    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> >
95069    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 *> > >::type proxy_type;
95070
95071   return proxy_type(L, 0, &detail::resume_impl, args);
95072  }
95073
95074
95075 #undef LUABIND_OPERATOR_PARAMS
95076 #undef LUABIND_TUPLE_PARAMS
95077 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
95078 #undef BOOST_PP_ITERATION_1
95079
95080
95081 #define BOOST_PP_ITERATION_1 5
95082 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1 3 4
95083 # 328 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 3 4
95084 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
95085 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
95086
95087
95088  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4>
95089  typename boost::mpl::if_<boost::is_void<Ret>
95090    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
95091    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type
95092  call_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 )
95093  {
95094   (static_cast<void> ((name && "luabind::call_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::call_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 338, __PRETTY_FUNCTION__), 0)));
95095   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> tuple_t;
95096
95097
95098
95099   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4);
95100
95101   typedef typename boost::mpl::if_<boost::is_void<Ret>
95102    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
95103    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type proxy_type;
95104
95105   lua_pushstring(L, name);
95106   lua_gettable(L, (-10001));
95107
95108   return proxy_type(L, 1, &detail::pcall, args);
95109  }
95110
95111  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4>
95112  typename boost::mpl::if_<boost::is_void<Ret>
95113    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
95114    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type
95115  call_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 )
95116  {
95117   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> tuple_t;
95118
95119
95120
95121   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4);
95122
95123   typedef typename boost::mpl::if_<boost::is_void<Ret>
95124    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
95125    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type proxy_type;
95126
95127   obj.push(obj.interpreter());
95128   return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
95129  }
95130
95131  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4>
95132  typename boost::mpl::if_<boost::is_void<Ret>
95133    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
95134    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type
95135  resume_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 )
95136  {
95137   (static_cast<void> ((name && "luabind::resume_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::resume_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 381, __PRETTY_FUNCTION__), 0)));
95138   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> tuple_t;
95139
95140
95141
95142   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4);
95143
95144   typedef typename boost::mpl::if_<boost::is_void<Ret>
95145    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
95146    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type proxy_type;
95147
95148   lua_pushstring(L, name);
95149   lua_gettable(L, (-10001));
95150
95151   return proxy_type(L, 1, &detail::resume_impl, args);
95152  }
95153
95154  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4>
95155  typename boost::mpl::if_<boost::is_void<Ret>
95156    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
95157    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type
95158  resume_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 )
95159  {
95160   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> tuple_t;
95161
95162
95163
95164   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4);
95165
95166   typedef typename boost::mpl::if_<boost::is_void<Ret>
95167    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
95168    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type proxy_type;
95169
95170   obj.push(obj.interpreter());
95171   return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args);
95172  }
95173
95174  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4>
95175  typename boost::mpl::if_<boost::is_void<Ret>
95176    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
95177    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type
95178  resume(lua_State* L , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 )
95179  {
95180   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> tuple_t;
95181
95182
95183
95184   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4);
95185
95186   typedef typename boost::mpl::if_<boost::is_void<Ret>
95187    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> >
95188    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 *> > >::type proxy_type;
95189
95190   return proxy_type(L, 0, &detail::resume_impl, args);
95191  }
95192
95193
95194 #undef LUABIND_OPERATOR_PARAMS
95195 #undef LUABIND_TUPLE_PARAMS
95196 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
95197 #undef BOOST_PP_ITERATION_1
95198
95199
95200 #define BOOST_PP_ITERATION_1 6
95201 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1 3 4
95202 # 328 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 3 4
95203 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
95204 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
95205
95206
95207  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
95208  typename boost::mpl::if_<boost::is_void<Ret>
95209    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
95210    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type
95211  call_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 )
95212  {
95213   (static_cast<void> ((name && "luabind::call_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::call_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 338, __PRETTY_FUNCTION__), 0)));
95214   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> tuple_t;
95215
95216
95217
95218   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5);
95219
95220   typedef typename boost::mpl::if_<boost::is_void<Ret>
95221    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
95222    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type proxy_type;
95223
95224   lua_pushstring(L, name);
95225   lua_gettable(L, (-10001));
95226
95227   return proxy_type(L, 1, &detail::pcall, args);
95228  }
95229
95230  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
95231  typename boost::mpl::if_<boost::is_void<Ret>
95232    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
95233    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type
95234  call_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 )
95235  {
95236   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> tuple_t;
95237
95238
95239
95240   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5);
95241
95242   typedef typename boost::mpl::if_<boost::is_void<Ret>
95243    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
95244    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type proxy_type;
95245
95246   obj.push(obj.interpreter());
95247   return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
95248  }
95249
95250  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
95251  typename boost::mpl::if_<boost::is_void<Ret>
95252    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
95253    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type
95254  resume_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 )
95255  {
95256   (static_cast<void> ((name && "luabind::resume_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::resume_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 381, __PRETTY_FUNCTION__), 0)));
95257   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> tuple_t;
95258
95259
95260
95261   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5);
95262
95263   typedef typename boost::mpl::if_<boost::is_void<Ret>
95264    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
95265    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type proxy_type;
95266
95267   lua_pushstring(L, name);
95268   lua_gettable(L, (-10001));
95269
95270   return proxy_type(L, 1, &detail::resume_impl, args);
95271  }
95272
95273  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
95274  typename boost::mpl::if_<boost::is_void<Ret>
95275    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
95276    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type
95277  resume_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 )
95278  {
95279   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> tuple_t;
95280
95281
95282
95283   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5);
95284
95285   typedef typename boost::mpl::if_<boost::is_void<Ret>
95286    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
95287    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type proxy_type;
95288
95289   obj.push(obj.interpreter());
95290   return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args);
95291  }
95292
95293  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
95294  typename boost::mpl::if_<boost::is_void<Ret>
95295    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
95296    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type
95297  resume(lua_State* L , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 )
95298  {
95299   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> tuple_t;
95300
95301
95302
95303   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5);
95304
95305   typedef typename boost::mpl::if_<boost::is_void<Ret>
95306    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> >
95307    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 *> > >::type proxy_type;
95308
95309   return proxy_type(L, 0, &detail::resume_impl, args);
95310  }
95311
95312
95313 #undef LUABIND_OPERATOR_PARAMS
95314 #undef LUABIND_TUPLE_PARAMS
95315 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
95316 #undef BOOST_PP_ITERATION_1
95317
95318
95319 #define BOOST_PP_ITERATION_1 7
95320 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1 3 4
95321 # 328 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 3 4
95322 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
95323 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
95324
95325
95326  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
95327  typename boost::mpl::if_<boost::is_void<Ret>
95328    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
95329    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type
95330  call_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 )
95331  {
95332   (static_cast<void> ((name && "luabind::call_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::call_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 338, __PRETTY_FUNCTION__), 0)));
95333   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> tuple_t;
95334
95335
95336
95337   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6);
95338
95339   typedef typename boost::mpl::if_<boost::is_void<Ret>
95340    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
95341    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type proxy_type;
95342
95343   lua_pushstring(L, name);
95344   lua_gettable(L, (-10001));
95345
95346   return proxy_type(L, 1, &detail::pcall, args);
95347  }
95348
95349  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
95350  typename boost::mpl::if_<boost::is_void<Ret>
95351    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
95352    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type
95353  call_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 )
95354  {
95355   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> tuple_t;
95356
95357
95358
95359   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6);
95360
95361   typedef typename boost::mpl::if_<boost::is_void<Ret>
95362    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
95363    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type proxy_type;
95364
95365   obj.push(obj.interpreter());
95366   return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
95367  }
95368
95369  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
95370  typename boost::mpl::if_<boost::is_void<Ret>
95371    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
95372    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type
95373  resume_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 )
95374  {
95375   (static_cast<void> ((name && "luabind::resume_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::resume_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 381, __PRETTY_FUNCTION__), 0)));
95376   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> tuple_t;
95377
95378
95379
95380   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6);
95381
95382   typedef typename boost::mpl::if_<boost::is_void<Ret>
95383    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
95384    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type proxy_type;
95385
95386   lua_pushstring(L, name);
95387   lua_gettable(L, (-10001));
95388
95389   return proxy_type(L, 1, &detail::resume_impl, args);
95390  }
95391
95392  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
95393  typename boost::mpl::if_<boost::is_void<Ret>
95394    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
95395    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type
95396  resume_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 )
95397  {
95398   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> tuple_t;
95399
95400
95401
95402   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6);
95403
95404   typedef typename boost::mpl::if_<boost::is_void<Ret>
95405    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
95406    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type proxy_type;
95407
95408   obj.push(obj.interpreter());
95409   return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args);
95410  }
95411
95412  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
95413  typename boost::mpl::if_<boost::is_void<Ret>
95414    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
95415    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type
95416  resume(lua_State* L , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 )
95417  {
95418   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> tuple_t;
95419
95420
95421
95422   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6);
95423
95424   typedef typename boost::mpl::if_<boost::is_void<Ret>
95425    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> >
95426    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 *> > >::type proxy_type;
95427
95428   return proxy_type(L, 0, &detail::resume_impl, args);
95429  }
95430
95431
95432 #undef LUABIND_OPERATOR_PARAMS
95433 #undef LUABIND_TUPLE_PARAMS
95434 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
95435 #undef BOOST_PP_ITERATION_1
95436
95437
95438 #define BOOST_PP_ITERATION_1 8
95439 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1 3 4
95440 # 328 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 3 4
95441 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
95442 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
95443
95444
95445  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
95446  typename boost::mpl::if_<boost::is_void<Ret>
95447    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
95448    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type
95449  call_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 )
95450  {
95451   (static_cast<void> ((name && "luabind::call_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::call_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 338, __PRETTY_FUNCTION__), 0)));
95452   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> tuple_t;
95453
95454
95455
95456   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7);
95457
95458   typedef typename boost::mpl::if_<boost::is_void<Ret>
95459    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
95460    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type proxy_type;
95461
95462   lua_pushstring(L, name);
95463   lua_gettable(L, (-10001));
95464
95465   return proxy_type(L, 1, &detail::pcall, args);
95466  }
95467
95468  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
95469  typename boost::mpl::if_<boost::is_void<Ret>
95470    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
95471    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type
95472  call_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 )
95473  {
95474   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> tuple_t;
95475
95476
95477
95478   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7);
95479
95480   typedef typename boost::mpl::if_<boost::is_void<Ret>
95481    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
95482    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type proxy_type;
95483
95484   obj.push(obj.interpreter());
95485   return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
95486  }
95487
95488  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
95489  typename boost::mpl::if_<boost::is_void<Ret>
95490    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
95491    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type
95492  resume_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 )
95493  {
95494   (static_cast<void> ((name && "luabind::resume_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::resume_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 381, __PRETTY_FUNCTION__), 0)));
95495   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> tuple_t;
95496
95497
95498
95499   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7);
95500
95501   typedef typename boost::mpl::if_<boost::is_void<Ret>
95502    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
95503    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type proxy_type;
95504
95505   lua_pushstring(L, name);
95506   lua_gettable(L, (-10001));
95507
95508   return proxy_type(L, 1, &detail::resume_impl, args);
95509  }
95510
95511  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
95512  typename boost::mpl::if_<boost::is_void<Ret>
95513    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
95514    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type
95515  resume_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 )
95516  {
95517   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> tuple_t;
95518
95519
95520
95521   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7);
95522
95523   typedef typename boost::mpl::if_<boost::is_void<Ret>
95524    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
95525    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type proxy_type;
95526
95527   obj.push(obj.interpreter());
95528   return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args);
95529  }
95530
95531  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
95532  typename boost::mpl::if_<boost::is_void<Ret>
95533    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
95534    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type
95535  resume(lua_State* L , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 )
95536  {
95537   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> tuple_t;
95538
95539
95540
95541   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7);
95542
95543   typedef typename boost::mpl::if_<boost::is_void<Ret>
95544    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> >
95545    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 *> > >::type proxy_type;
95546
95547   return proxy_type(L, 0, &detail::resume_impl, args);
95548  }
95549
95550
95551 #undef LUABIND_OPERATOR_PARAMS
95552 #undef LUABIND_TUPLE_PARAMS
95553 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
95554 #undef BOOST_PP_ITERATION_1
95555
95556
95557 #define BOOST_PP_ITERATION_1 9
95558 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1 3 4
95559 # 328 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 3 4
95560 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
95561 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
95562
95563
95564  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
95565  typename boost::mpl::if_<boost::is_void<Ret>
95566    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
95567    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type
95568  call_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 )
95569  {
95570   (static_cast<void> ((name && "luabind::call_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::call_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 338, __PRETTY_FUNCTION__), 0)));
95571   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> tuple_t;
95572
95573
95574
95575   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8);
95576
95577   typedef typename boost::mpl::if_<boost::is_void<Ret>
95578    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
95579    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type proxy_type;
95580
95581   lua_pushstring(L, name);
95582   lua_gettable(L, (-10001));
95583
95584   return proxy_type(L, 1, &detail::pcall, args);
95585  }
95586
95587  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
95588  typename boost::mpl::if_<boost::is_void<Ret>
95589    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
95590    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type
95591  call_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 )
95592  {
95593   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> tuple_t;
95594
95595
95596
95597   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8);
95598
95599   typedef typename boost::mpl::if_<boost::is_void<Ret>
95600    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
95601    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type proxy_type;
95602
95603   obj.push(obj.interpreter());
95604   return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
95605  }
95606
95607  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
95608  typename boost::mpl::if_<boost::is_void<Ret>
95609    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
95610    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type
95611  resume_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 )
95612  {
95613   (static_cast<void> ((name && "luabind::resume_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::resume_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 381, __PRETTY_FUNCTION__), 0)));
95614   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> tuple_t;
95615
95616
95617
95618   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8);
95619
95620   typedef typename boost::mpl::if_<boost::is_void<Ret>
95621    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
95622    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type proxy_type;
95623
95624   lua_pushstring(L, name);
95625   lua_gettable(L, (-10001));
95626
95627   return proxy_type(L, 1, &detail::resume_impl, args);
95628  }
95629
95630  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
95631  typename boost::mpl::if_<boost::is_void<Ret>
95632    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
95633    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type
95634  resume_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 )
95635  {
95636   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> tuple_t;
95637
95638
95639
95640   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8);
95641
95642   typedef typename boost::mpl::if_<boost::is_void<Ret>
95643    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
95644    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type proxy_type;
95645
95646   obj.push(obj.interpreter());
95647   return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args);
95648  }
95649
95650  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
95651  typename boost::mpl::if_<boost::is_void<Ret>
95652    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
95653    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type
95654  resume(lua_State* L , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 )
95655  {
95656   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> tuple_t;
95657
95658
95659
95660   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8);
95661
95662   typedef typename boost::mpl::if_<boost::is_void<Ret>
95663    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> >
95664    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 *> > >::type proxy_type;
95665
95666   return proxy_type(L, 0, &detail::resume_impl, args);
95667  }
95668
95669
95670 #undef LUABIND_OPERATOR_PARAMS
95671 #undef LUABIND_TUPLE_PARAMS
95672 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
95673 #undef BOOST_PP_ITERATION_1
95674
95675
95676 #define BOOST_PP_ITERATION_1 10
95677 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 1 3 4
95678 # 328 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 3 4
95679 #define LUABIND_TUPLE_PARAMS(z,n,data) const A ##n *
95680 #define LUABIND_OPERATOR_PARAMS(z,n,data) const A ##n & a ##n
95681
95682
95683  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
95684  typename boost::mpl::if_<boost::is_void<Ret>
95685    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
95686    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type
95687  call_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 , const A9 & a9 )
95688  {
95689   (static_cast<void> ((name && "luabind::call_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::call_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 338, __PRETTY_FUNCTION__), 0)));
95690   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> tuple_t;
95691
95692
95693
95694   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8 , &a9);
95695
95696   typedef typename boost::mpl::if_<boost::is_void<Ret>
95697    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
95698    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type proxy_type;
95699
95700   lua_pushstring(L, name);
95701   lua_gettable(L, (-10001));
95702
95703   return proxy_type(L, 1, &detail::pcall, args);
95704  }
95705
95706  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
95707  typename boost::mpl::if_<boost::is_void<Ret>
95708    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
95709    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type
95710  call_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 , const A9 & a9 )
95711  {
95712   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> tuple_t;
95713
95714
95715
95716   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8 , &a9);
95717
95718   typedef typename boost::mpl::if_<boost::is_void<Ret>
95719    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
95720    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type proxy_type;
95721
95722   obj.push(obj.interpreter());
95723   return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
95724  }
95725
95726  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
95727  typename boost::mpl::if_<boost::is_void<Ret>
95728    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
95729    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type
95730  resume_function(lua_State* L, const char* name , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 , const A9 & a9 )
95731  {
95732   (static_cast<void> ((name && "luabind::resume_function() expects a function name") ? 0 : (__assert_fail ("name && \"luabind::resume_function() expects a function name\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp", 381, __PRETTY_FUNCTION__), 0)));
95733   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> tuple_t;
95734
95735
95736
95737   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8 , &a9);
95738
95739   typedef typename boost::mpl::if_<boost::is_void<Ret>
95740    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
95741    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type proxy_type;
95742
95743   lua_pushstring(L, name);
95744   lua_gettable(L, (-10001));
95745
95746   return proxy_type(L, 1, &detail::resume_impl, args);
95747  }
95748
95749  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
95750  typename boost::mpl::if_<boost::is_void<Ret>
95751    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
95752    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type
95753  resume_function(luabind::object const& obj , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 , const A9 & a9 )
95754  {
95755   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> tuple_t;
95756
95757
95758
95759   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8 , &a9);
95760
95761   typedef typename boost::mpl::if_<boost::is_void<Ret>
95762    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
95763    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type proxy_type;
95764
95765   obj.push(obj.interpreter());
95766   return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args);
95767  }
95768
95769  template<class Ret , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
95770  typename boost::mpl::if_<boost::is_void<Ret>
95771    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
95772    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type
95773  resume(lua_State* L , const A0 & a0 , const A1 & a1 , const A2 & a2 , const A3 & a3 , const A4 & a4 , const A5 & a5 , const A6 & a6 , const A7 & a7 , const A8 & a8 , const A9 & a9 )
95774  {
95775   typedef boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> tuple_t;
95776
95777
95778
95779   tuple_t args( &a0 , &a1 , &a2 , &a3 , &a4 , &a5 , &a6 , &a7 , &a8 , &a9);
95780
95781   typedef typename boost::mpl::if_<boost::is_void<Ret>
95782    , luabind::detail::proxy_function_void_caller<boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> >
95783    , luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple< const A0 * , const A1 * , const A2 * , const A3 * , const A4 * , const A5 * , const A6 * , const A7 * , const A8 * , const A9 *> > >::type proxy_type;
95784
95785   return proxy_type(L, 0, &detail::resume_impl, args);
95786  }
95787
95788
95789 #undef LUABIND_OPERATOR_PARAMS
95790 #undef LUABIND_TUPLE_PARAMS
95791 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
95792 #undef BOOST_PP_ITERATION_1
95793 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
95794 #undef BOOST_PP_IS_ITERATING
95795
95796 #undef BOOST_PP_ITERATION_DEPTH
95797 #define BOOST_PP_ITERATION_DEPTH() 0
95798
95799 #undef BOOST_PP_ITERATION_START_1
95800 #undef BOOST_PP_ITERATION_FINISH_1
95801 #undef BOOST_PP_FILENAME_1
95802
95803 #undef BOOST_PP_ITERATION_FLAGS_1
95804 #undef BOOST_PP_ITERATION_PARAMS_1
95805 # 321 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/detail/call_function.hpp" 2
95806
95807 }
95808 # 42 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 2
95809
95810
95811
95812
95813
95814 namespace luabind
95815 {
95816  namespace detail
95817  {
95818
95819   namespace mpl = boost::mpl;
95820
95821   namespace free_functions
95822   {
95823
95824    struct overload_rep: public overload_rep_base
95825    {
95826
95827 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/function.hpp>, 1))
95828 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
95829 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
95830 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
95831 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
95832 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
95833 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
95834 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95835 #undef BOOST_PP_SLOT_TEMP_1
95836 #undef BOOST_PP_SLOT_TEMP_2
95837 #undef BOOST_PP_SLOT_TEMP_3
95838 #undef BOOST_PP_SLOT_TEMP_4
95839 #undef BOOST_PP_SLOT_TEMP_5
95840 #undef BOOST_PP_SLOT_TEMP_6
95841 #undef BOOST_PP_SLOT_TEMP_7
95842 #undef BOOST_PP_SLOT_TEMP_8
95843 #undef BOOST_PP_SLOT_TEMP_9
95844 #undef BOOST_PP_SLOT_TEMP_10
95845
95846
95847 #define BOOST_PP_SLOT_TEMP_10 0
95848 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95849 #define BOOST_PP_SLOT_TEMP_9 0
95850 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95851 #define BOOST_PP_SLOT_TEMP_8 0
95852 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95853 #define BOOST_PP_SLOT_TEMP_7 0
95854 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95855 #define BOOST_PP_SLOT_TEMP_6 0
95856 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95857 #define BOOST_PP_SLOT_TEMP_5 0
95858 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95859 #define BOOST_PP_SLOT_TEMP_4 0
95860 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95861 #define BOOST_PP_SLOT_TEMP_3 0
95862 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95863 #define BOOST_PP_SLOT_TEMP_2 0
95864 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95865 #define BOOST_PP_SLOT_TEMP_1 0
95866 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95867 #undef BOOST_PP_VALUE
95868 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
95869
95870 #undef BOOST_PP_ITERATION_START_1
95871
95872 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
95873 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
95874 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
95875 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
95876 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
95877 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
95878 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
95879 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
95880 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
95881 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
95882
95883
95884 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
95885 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
95886 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
95887 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
95888 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
95889 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
95890 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
95891 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
95892 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
95893 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
95894 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
95895 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
95896 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95897 #undef BOOST_PP_SLOT_TEMP_1
95898 #undef BOOST_PP_SLOT_TEMP_2
95899 #undef BOOST_PP_SLOT_TEMP_3
95900 #undef BOOST_PP_SLOT_TEMP_4
95901 #undef BOOST_PP_SLOT_TEMP_5
95902 #undef BOOST_PP_SLOT_TEMP_6
95903 #undef BOOST_PP_SLOT_TEMP_7
95904 #undef BOOST_PP_SLOT_TEMP_8
95905 #undef BOOST_PP_SLOT_TEMP_9
95906 #undef BOOST_PP_SLOT_TEMP_10
95907
95908
95909 #define BOOST_PP_SLOT_TEMP_10 0
95910 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95911 #define BOOST_PP_SLOT_TEMP_9 0
95912 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95913 #define BOOST_PP_SLOT_TEMP_8 0
95914 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95915 #define BOOST_PP_SLOT_TEMP_7 0
95916 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95917 #define BOOST_PP_SLOT_TEMP_6 0
95918 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95919 #define BOOST_PP_SLOT_TEMP_5 0
95920 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95921 #define BOOST_PP_SLOT_TEMP_4 0
95922 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95923 #define BOOST_PP_SLOT_TEMP_3 0
95924 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95925 #define BOOST_PP_SLOT_TEMP_2 1
95926 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95927 #define BOOST_PP_SLOT_TEMP_1 0
95928 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
95929 #undef BOOST_PP_VALUE
95930 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
95931
95932 #undef BOOST_PP_ITERATION_FINISH_1
95933
95934 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
95935 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
95936 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
95937 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
95938 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
95939 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
95940 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
95941 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
95942 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
95943 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
95944
95945
95946 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
95947 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
95948 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
95949 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
95950 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
95951 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
95952 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
95953 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
95954 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
95955
95956 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
95957
95958
95959
95960
95961
95962
95963
95964 #undef BOOST_PP_ITERATION_DEPTH
95965 #define BOOST_PP_ITERATION_DEPTH() 1
95966
95967 #define BOOST_PP_IS_ITERATING 1
95968
95969
95970
95971
95972
95973 #define BOOST_PP_ITERATION_1 0
95974 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
95975 # 317 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
95976 #define LUABIND_INIT_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
95977 #define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(p,n);
95978 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
95979
95980 template<class R , class Policies>
95981 overload_rep(R(*f)(), Policies*)
95982  : fun(reinterpret_cast<void(*)()>(f))
95983 {
95984  m_params_.reserve(0);
95985
95986
95987
95988  m_arity = 0 ;
95989 }
95990
95991 #undef LUABIND_INIT_PARAM
95992 #undef LUABIND_POLICY_DECL
95993 #undef LUABIND_ARITY
95994 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
95995 #undef BOOST_PP_ITERATION_1
95996
95997
95998 #define BOOST_PP_ITERATION_1 1
95999 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96000 # 317 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96001 #define LUABIND_INIT_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
96002 #define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(p,n);
96003 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
96004
96005 template<class R , class A0, class Policies>
96006 overload_rep(R(*f)( A0), Policies*)
96007  : fun(reinterpret_cast<void(*)()>(f))
96008 {
96009  m_params_.reserve(1);
96010  m_params_.push_back(&typeid(A0));
96011  typedef typename find_conversion_policy<0 + 1, Policies>::type p0;
96012
96013  m_arity = 0 + p0::has_arg;
96014 }
96015
96016 #undef LUABIND_INIT_PARAM
96017 #undef LUABIND_POLICY_DECL
96018 #undef LUABIND_ARITY
96019 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96020 #undef BOOST_PP_ITERATION_1
96021
96022
96023 #define BOOST_PP_ITERATION_1 2
96024 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96025 # 317 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96026 #define LUABIND_INIT_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
96027 #define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(p,n);
96028 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
96029
96030 template<class R , class A0 , class A1, class Policies>
96031 overload_rep(R(*f)( A0 , A1), Policies*)
96032  : fun(reinterpret_cast<void(*)()>(f))
96033 {
96034  m_params_.reserve(2);
96035  m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1));
96036  typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1;
96037
96038  m_arity = 0 + p0::has_arg + p1::has_arg;
96039 }
96040
96041 #undef LUABIND_INIT_PARAM
96042 #undef LUABIND_POLICY_DECL
96043 #undef LUABIND_ARITY
96044 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96045 #undef BOOST_PP_ITERATION_1
96046
96047
96048 #define BOOST_PP_ITERATION_1 3
96049 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96050 # 317 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96051 #define LUABIND_INIT_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
96052 #define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(p,n);
96053 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
96054
96055 template<class R , class A0 , class A1 , class A2, class Policies>
96056 overload_rep(R(*f)( A0 , A1 , A2), Policies*)
96057  : fun(reinterpret_cast<void(*)()>(f))
96058 {
96059  m_params_.reserve(3);
96060  m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2));
96061  typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2;
96062
96063  m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg;
96064 }
96065
96066 #undef LUABIND_INIT_PARAM
96067 #undef LUABIND_POLICY_DECL
96068 #undef LUABIND_ARITY
96069 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96070 #undef BOOST_PP_ITERATION_1
96071
96072
96073 #define BOOST_PP_ITERATION_1 4
96074 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96075 # 317 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96076 #define LUABIND_INIT_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
96077 #define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(p,n);
96078 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
96079
96080 template<class R , class A0 , class A1 , class A2 , class A3, class Policies>
96081 overload_rep(R(*f)( A0 , A1 , A2 , A3), Policies*)
96082  : fun(reinterpret_cast<void(*)()>(f))
96083 {
96084  m_params_.reserve(4);
96085  m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3));
96086  typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3;
96087
96088  m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg;
96089 }
96090
96091 #undef LUABIND_INIT_PARAM
96092 #undef LUABIND_POLICY_DECL
96093 #undef LUABIND_ARITY
96094 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96095 #undef BOOST_PP_ITERATION_1
96096
96097
96098 #define BOOST_PP_ITERATION_1 5
96099 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96100 # 317 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96101 #define LUABIND_INIT_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
96102 #define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(p,n);
96103 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
96104
96105 template<class R , class A0 , class A1 , class A2 , class A3 , class A4, class Policies>
96106 overload_rep(R(*f)( A0 , A1 , A2 , A3 , A4), Policies*)
96107  : fun(reinterpret_cast<void(*)()>(f))
96108 {
96109  m_params_.reserve(5);
96110  m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4));
96111  typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4;
96112
96113  m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg;
96114 }
96115
96116 #undef LUABIND_INIT_PARAM
96117 #undef LUABIND_POLICY_DECL
96118 #undef LUABIND_ARITY
96119 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96120 #undef BOOST_PP_ITERATION_1
96121
96122
96123 #define BOOST_PP_ITERATION_1 6
96124 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96125 # 317 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96126 #define LUABIND_INIT_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
96127 #define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(p,n);
96128 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
96129
96130 template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5, class Policies>
96131 overload_rep(R(*f)( A0 , A1 , A2 , A3 , A4 , A5), Policies*)
96132  : fun(reinterpret_cast<void(*)()>(f))
96133 {
96134  m_params_.reserve(6);
96135  m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5));
96136  typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4; typedef typename find_conversion_policy<5 + 1, Policies>::type p5;
96137
96138  m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg;
96139 }
96140
96141 #undef LUABIND_INIT_PARAM
96142 #undef LUABIND_POLICY_DECL
96143 #undef LUABIND_ARITY
96144 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96145 #undef BOOST_PP_ITERATION_1
96146
96147
96148 #define BOOST_PP_ITERATION_1 7
96149 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96150 # 317 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96151 #define LUABIND_INIT_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
96152 #define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(p,n);
96153 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
96154
96155 template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6, class Policies>
96156 overload_rep(R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6), Policies*)
96157  : fun(reinterpret_cast<void(*)()>(f))
96158 {
96159  m_params_.reserve(7);
96160  m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6));
96161  typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4; typedef typename find_conversion_policy<5 + 1, Policies>::type p5; typedef typename find_conversion_policy<6 + 1, Policies>::type p6;
96162
96163  m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg;
96164 }
96165
96166 #undef LUABIND_INIT_PARAM
96167 #undef LUABIND_POLICY_DECL
96168 #undef LUABIND_ARITY
96169 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96170 #undef BOOST_PP_ITERATION_1
96171
96172
96173 #define BOOST_PP_ITERATION_1 8
96174 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96175 # 317 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96176 #define LUABIND_INIT_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
96177 #define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(p,n);
96178 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
96179
96180 template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7, class Policies>
96181 overload_rep(R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7), Policies*)
96182  : fun(reinterpret_cast<void(*)()>(f))
96183 {
96184  m_params_.reserve(8);
96185  m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7));
96186  typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4; typedef typename find_conversion_policy<5 + 1, Policies>::type p5; typedef typename find_conversion_policy<6 + 1, Policies>::type p6; typedef typename find_conversion_policy<7 + 1, Policies>::type p7;
96187
96188  m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg;
96189 }
96190
96191 #undef LUABIND_INIT_PARAM
96192 #undef LUABIND_POLICY_DECL
96193 #undef LUABIND_ARITY
96194 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96195 #undef BOOST_PP_ITERATION_1
96196
96197
96198 #define BOOST_PP_ITERATION_1 9
96199 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96200 # 317 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96201 #define LUABIND_INIT_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
96202 #define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(p,n);
96203 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
96204
96205 template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8, class Policies>
96206 overload_rep(R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8), Policies*)
96207  : fun(reinterpret_cast<void(*)()>(f))
96208 {
96209  m_params_.reserve(9);
96210  m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7)); m_params_.push_back(&typeid(A8));
96211  typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4; typedef typename find_conversion_policy<5 + 1, Policies>::type p5; typedef typename find_conversion_policy<6 + 1, Policies>::type p6; typedef typename find_conversion_policy<7 + 1, Policies>::type p7; typedef typename find_conversion_policy<8 + 1, Policies>::type p8;
96212
96213  m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg + p8::has_arg;
96214 }
96215
96216 #undef LUABIND_INIT_PARAM
96217 #undef LUABIND_POLICY_DECL
96218 #undef LUABIND_ARITY
96219 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96220 #undef BOOST_PP_ITERATION_1
96221
96222
96223 #define BOOST_PP_ITERATION_1 10
96224 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96225 # 317 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96226 #define LUABIND_INIT_PARAM(z,n,_) m_params_.push_back(LUABIND_TYPEID(A ##n));
96227 #define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(p,n);
96228 #define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg
96229
96230 template<class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9, class Policies>
96231 overload_rep(R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9), Policies*)
96232  : fun(reinterpret_cast<void(*)()>(f))
96233 {
96234  m_params_.reserve(10);
96235  m_params_.push_back(&typeid(A0)); m_params_.push_back(&typeid(A1)); m_params_.push_back(&typeid(A2)); m_params_.push_back(&typeid(A3)); m_params_.push_back(&typeid(A4)); m_params_.push_back(&typeid(A5)); m_params_.push_back(&typeid(A6)); m_params_.push_back(&typeid(A7)); m_params_.push_back(&typeid(A8)); m_params_.push_back(&typeid(A9));
96236  typedef typename find_conversion_policy<0 + 1, Policies>::type p0; typedef typename find_conversion_policy<1 + 1, Policies>::type p1; typedef typename find_conversion_policy<2 + 1, Policies>::type p2; typedef typename find_conversion_policy<3 + 1, Policies>::type p3; typedef typename find_conversion_policy<4 + 1, Policies>::type p4; typedef typename find_conversion_policy<5 + 1, Policies>::type p5; typedef typename find_conversion_policy<6 + 1, Policies>::type p6; typedef typename find_conversion_policy<7 + 1, Policies>::type p7; typedef typename find_conversion_policy<8 + 1, Policies>::type p8; typedef typename find_conversion_policy<9 + 1, Policies>::type p9;
96237
96238  m_arity = 0 + p0::has_arg + p1::has_arg + p2::has_arg + p3::has_arg + p4::has_arg + p5::has_arg + p6::has_arg + p7::has_arg + p8::has_arg + p9::has_arg;
96239 }
96240
96241 #undef LUABIND_INIT_PARAM
96242 #undef LUABIND_POLICY_DECL
96243 #undef LUABIND_ARITY
96244 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96245 #undef BOOST_PP_ITERATION_1
96246 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
96247 #undef BOOST_PP_IS_ITERATING
96248
96249 #undef BOOST_PP_ITERATION_DEPTH
96250 #define BOOST_PP_ITERATION_DEPTH() 0
96251
96252 #undef BOOST_PP_ITERATION_START_1
96253 #undef BOOST_PP_ITERATION_FINISH_1
96254 #undef BOOST_PP_FILENAME_1
96255
96256 #undef BOOST_PP_ITERATION_FLAGS_1
96257 #undef BOOST_PP_ITERATION_PARAMS_1
96258 # 62 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 2
96259
96260     inline bool operator==(const overload_rep& o) const
96261     {
96262      if (o.m_arity != m_arity) return false;
96263      if (o.m_params_.size() != m_params_.size()) return false;
96264      for (int i = 0; i < (int)m_params_.size(); ++i)
96265       if (!(*m_params_[i] == *o.m_params_[i])) return false;
96266      return true;
96267     }
96268
96269     typedef int(*call_ptr)(lua_State*, void(*)());
96270
96271     inline void set_fun(call_ptr f) { call_fun = f; }
96272     inline int call(lua_State* L, void(*f)()) const { return call_fun(L, f); }
96273
96274
96275     void (*fun)();
96276
96277
96278
96279     call_ptr call_fun;
96280
96281
96282     std::vector<const std::type_info*> m_params_;
96283
96284                 char end;
96285    };
96286
96287       struct function_rep
96288    {
96289     function_rep(const char* name): m_name(name) {}
96290     void add_overload(const free_functions::overload_rep& o);
96291
96292     const std::vector<overload_rep>& overloads() const throw() { return m_overloads; }
96293
96294     const char* name() const { return m_name; }
96295
96296    private:
96297     const char* m_name;
96298
96299
96300
96301
96302     std::vector<free_functions::overload_rep> m_overloads;
96303    };
96304
96305
96306
96307
96308
96309 #define LUABIND_DECL(z,n,text) typedef typename find_conversion_policy<n + 1, Policies>::type BOOST_PP_CAT(converter_policy,n); typename mpl::apply_wrap2< BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp >::type BOOST_PP_CAT(c,n);
96310
96311
96312
96313
96314 #define LUABIND_ADD_INDEX(z,n,text) + BOOST_PP_CAT(converter_policy,n)::has_arg
96315 #define LUABIND_INDEX_MAP(z,n,text) 1 BOOST_PP_REPEAT(n, LUABIND_ADD_INDEX, _)
96316 #define LUABIND_PARAMS(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(A ##n), LUABIND_INDEX_MAP(_,n,_))
96317 #define LUABIND_POSTCALL(z,n,text) BOOST_PP_CAT(c,n).converter_postcall(L, LUABIND_DECORATE_TYPE(A ##n), LUABIND_INDEX_MAP(_,n,_));
96318
96319    template<class Policies>
96320    struct maybe_yield
96321    {
96322     static inline int apply(lua_State* L, int nret)
96323     {
96324      return ret(L, nret, boost::mpl::bool_<has_yield<Policies>::value>());
96325     }
96326
96327     static inline int ret(lua_State* L, int nret, boost::mpl::bool_<true>)
96328     {
96329      return lua_yield(L, nret);
96330     }
96331
96332     static inline int ret(lua_State*, int nret, boost::mpl::bool_<false>)
96333     {
96334      return nret;
96335     }
96336    };
96337
96338
96339    template<class T>
96340    struct returns
96341    {
96342 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/function.hpp>, 2))
96343 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
96344 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
96345 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
96346 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
96347 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
96348 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
96349 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96350 #undef BOOST_PP_SLOT_TEMP_1
96351 #undef BOOST_PP_SLOT_TEMP_2
96352 #undef BOOST_PP_SLOT_TEMP_3
96353 #undef BOOST_PP_SLOT_TEMP_4
96354 #undef BOOST_PP_SLOT_TEMP_5
96355 #undef BOOST_PP_SLOT_TEMP_6
96356 #undef BOOST_PP_SLOT_TEMP_7
96357 #undef BOOST_PP_SLOT_TEMP_8
96358 #undef BOOST_PP_SLOT_TEMP_9
96359 #undef BOOST_PP_SLOT_TEMP_10
96360
96361
96362 #define BOOST_PP_SLOT_TEMP_10 0
96363 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96364 #define BOOST_PP_SLOT_TEMP_9 0
96365 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96366 #define BOOST_PP_SLOT_TEMP_8 0
96367 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96368 #define BOOST_PP_SLOT_TEMP_7 0
96369 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96370 #define BOOST_PP_SLOT_TEMP_6 0
96371 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96372 #define BOOST_PP_SLOT_TEMP_5 0
96373 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96374 #define BOOST_PP_SLOT_TEMP_4 0
96375 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96376 #define BOOST_PP_SLOT_TEMP_3 0
96377 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96378 #define BOOST_PP_SLOT_TEMP_2 0
96379 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96380 #define BOOST_PP_SLOT_TEMP_1 0
96381 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96382 #undef BOOST_PP_VALUE
96383 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
96384
96385 #undef BOOST_PP_ITERATION_START_1
96386
96387 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
96388 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
96389 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
96390 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
96391 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
96392 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
96393 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
96394 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
96395 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
96396 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
96397
96398
96399 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
96400 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
96401 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
96402 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
96403 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
96404 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
96405 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
96406 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96407 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
96408 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
96409 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
96410 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
96411 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96412 #undef BOOST_PP_SLOT_TEMP_1
96413 #undef BOOST_PP_SLOT_TEMP_2
96414 #undef BOOST_PP_SLOT_TEMP_3
96415 #undef BOOST_PP_SLOT_TEMP_4
96416 #undef BOOST_PP_SLOT_TEMP_5
96417 #undef BOOST_PP_SLOT_TEMP_6
96418 #undef BOOST_PP_SLOT_TEMP_7
96419 #undef BOOST_PP_SLOT_TEMP_8
96420 #undef BOOST_PP_SLOT_TEMP_9
96421 #undef BOOST_PP_SLOT_TEMP_10
96422
96423
96424 #define BOOST_PP_SLOT_TEMP_10 0
96425 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96426 #define BOOST_PP_SLOT_TEMP_9 0
96427 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96428 #define BOOST_PP_SLOT_TEMP_8 0
96429 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96430 #define BOOST_PP_SLOT_TEMP_7 0
96431 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96432 #define BOOST_PP_SLOT_TEMP_6 0
96433 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96434 #define BOOST_PP_SLOT_TEMP_5 0
96435 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96436 #define BOOST_PP_SLOT_TEMP_4 0
96437 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96438 #define BOOST_PP_SLOT_TEMP_3 0
96439 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96440 #define BOOST_PP_SLOT_TEMP_2 1
96441 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96442 #define BOOST_PP_SLOT_TEMP_1 0
96443 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96444 #undef BOOST_PP_VALUE
96445 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
96446
96447 #undef BOOST_PP_ITERATION_FINISH_1
96448
96449 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
96450 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
96451 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
96452 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
96453 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
96454 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
96455 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
96456 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
96457 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
96458 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
96459
96460
96461 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
96462 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
96463 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
96464 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
96465 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
96466 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
96467 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
96468 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96469 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
96470
96471 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
96472
96473
96474
96475
96476
96477
96478
96479 #undef BOOST_PP_ITERATION_DEPTH
96480 #define BOOST_PP_ITERATION_DEPTH() 1
96481
96482 #define BOOST_PP_IS_ITERATING 1
96483
96484
96485
96486
96487
96488 #define BOOST_PP_ITERATION_1 0
96489 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96490 # 338 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96491 template<class Policies >
96492 static int call(T(*f)(), lua_State* L, const Policies*)
96493 {
96494  int nargs = lua_gettop(L);
96495
96496  typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
96497  typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
96498
96499
96500   converter_ret.apply(L, f
96501     (
96502     
96503     ));
96504
96505
96506  int nret = lua_gettop(L) - nargs;
96507
96508  const int indices[] =
96509  {
96510   -1 ,
96511   nargs + nret
96512  
96513  };
96514
96515  policy_list_postcall<Policies>::apply(L, indices);
96516
96517  return maybe_yield<Policies>::apply(L, nret);
96518 }
96519 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96520 #undef BOOST_PP_ITERATION_1
96521
96522
96523 #define BOOST_PP_ITERATION_1 1
96524 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96525 # 338 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96526 template<class Policies , class A0>
96527 static int call(T(*f)( A0), lua_State* L, const Policies*)
96528 {
96529  int nargs = lua_gettop(L);
96530
96531  typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
96532  typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
96533
96534  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0;
96535   converter_ret.apply(L, f
96536     (
96537      c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 )
96538     ));
96539  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 );
96540
96541  int nret = lua_gettop(L) - nargs;
96542
96543  const int indices[] =
96544  {
96545   -1 ,
96546   nargs + nret
96547   , 1
96548  };
96549
96550  policy_list_postcall<Policies>::apply(L, indices);
96551
96552  return maybe_yield<Policies>::apply(L, nret);
96553 }
96554 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96555 #undef BOOST_PP_ITERATION_1
96556
96557
96558 #define BOOST_PP_ITERATION_1 2
96559 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96560 # 338 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96561 template<class Policies , class A0 , class A1>
96562 static int call(T(*f)( A0 , A1), lua_State* L, const Policies*)
96563 {
96564  int nargs = lua_gettop(L);
96565
96566  typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
96567  typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
96568
96569  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1;
96570   converter_ret.apply(L, f
96571     (
96572      c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg)
96573     ));
96574  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg);
96575
96576  int nret = lua_gettop(L) - nargs;
96577
96578  const int indices[] =
96579  {
96580   -1 ,
96581   nargs + nret
96582   , 1 , 1 + converter_policy0::has_arg
96583  };
96584
96585  policy_list_postcall<Policies>::apply(L, indices);
96586
96587  return maybe_yield<Policies>::apply(L, nret);
96588 }
96589 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96590 #undef BOOST_PP_ITERATION_1
96591
96592
96593 #define BOOST_PP_ITERATION_1 3
96594 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96595 # 338 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96596 template<class Policies , class A0 , class A1 , class A2>
96597 static int call(T(*f)( A0 , A1 , A2), lua_State* L, const Policies*)
96598 {
96599  int nargs = lua_gettop(L);
96600
96601  typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
96602  typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
96603
96604  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2;
96605   converter_ret.apply(L, f
96606     (
96607      c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg)
96608     ));
96609  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg);
96610
96611  int nret = lua_gettop(L) - nargs;
96612
96613  const int indices[] =
96614  {
96615   -1 ,
96616   nargs + nret
96617   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg
96618  };
96619
96620  policy_list_postcall<Policies>::apply(L, indices);
96621
96622  return maybe_yield<Policies>::apply(L, nret);
96623 }
96624 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96625 #undef BOOST_PP_ITERATION_1
96626
96627
96628 #define BOOST_PP_ITERATION_1 4
96629 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96630 # 338 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96631 template<class Policies , class A0 , class A1 , class A2 , class A3>
96632 static int call(T(*f)( A0 , A1 , A2 , A3), lua_State* L, const Policies*)
96633 {
96634  int nargs = lua_gettop(L);
96635
96636  typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
96637  typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
96638
96639  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3;
96640   converter_ret.apply(L, f
96641     (
96642      c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg)
96643     ));
96644  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg);
96645
96646  int nret = lua_gettop(L) - nargs;
96647
96648  const int indices[] =
96649  {
96650   -1 ,
96651   nargs + nret
96652   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg
96653  };
96654
96655  policy_list_postcall<Policies>::apply(L, indices);
96656
96657  return maybe_yield<Policies>::apply(L, nret);
96658 }
96659 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96660 #undef BOOST_PP_ITERATION_1
96661
96662
96663 #define BOOST_PP_ITERATION_1 5
96664 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96665 # 338 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96666 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4>
96667 static int call(T(*f)( A0 , A1 , A2 , A3 , A4), lua_State* L, const Policies*)
96668 {
96669  int nargs = lua_gettop(L);
96670
96671  typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
96672  typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
96673
96674  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4;
96675   converter_ret.apply(L, f
96676     (
96677      c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg)
96678     ));
96679  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg);
96680
96681  int nret = lua_gettop(L) - nargs;
96682
96683  const int indices[] =
96684  {
96685   -1 ,
96686   nargs + nret
96687   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg
96688  };
96689
96690  policy_list_postcall<Policies>::apply(L, indices);
96691
96692  return maybe_yield<Policies>::apply(L, nret);
96693 }
96694 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96695 #undef BOOST_PP_ITERATION_1
96696
96697
96698 #define BOOST_PP_ITERATION_1 6
96699 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96700 # 338 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96701 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
96702 static int call(T(*f)( A0 , A1 , A2 , A3 , A4 , A5), lua_State* L, const Policies*)
96703 {
96704  int nargs = lua_gettop(L);
96705
96706  typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
96707  typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
96708
96709  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 + 1, Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5;
96710   converter_ret.apply(L, f
96711     (
96712      c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg)
96713     ));
96714  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg); c5.converter_postcall(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg);
96715
96716  int nret = lua_gettop(L) - nargs;
96717
96718  const int indices[] =
96719  {
96720   -1 ,
96721   nargs + nret
96722   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg
96723  };
96724
96725  policy_list_postcall<Policies>::apply(L, indices);
96726
96727  return maybe_yield<Policies>::apply(L, nret);
96728 }
96729 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96730 #undef BOOST_PP_ITERATION_1
96731
96732
96733 #define BOOST_PP_ITERATION_1 7
96734 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96735 # 338 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96736 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
96737 static int call(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6), lua_State* L, const Policies*)
96738 {
96739  int nargs = lua_gettop(L);
96740
96741  typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
96742  typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
96743
96744  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 + 1, Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 + 1, Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6;
96745   converter_ret.apply(L, f
96746     (
96747      c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg)
96748     ));
96749  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg); c5.converter_postcall(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg); c6.converter_postcall(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg);
96750
96751  int nret = lua_gettop(L) - nargs;
96752
96753  const int indices[] =
96754  {
96755   -1 ,
96756   nargs + nret
96757   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg
96758  };
96759
96760  policy_list_postcall<Policies>::apply(L, indices);
96761
96762  return maybe_yield<Policies>::apply(L, nret);
96763 }
96764 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96765 #undef BOOST_PP_ITERATION_1
96766
96767
96768 #define BOOST_PP_ITERATION_1 8
96769 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96770 # 338 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96771 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
96772 static int call(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7), lua_State* L, const Policies*)
96773 {
96774  int nargs = lua_gettop(L);
96775
96776  typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
96777  typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
96778
96779  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 + 1, Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 + 1, Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 + 1, Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7;
96780   converter_ret.apply(L, f
96781     (
96782      c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg)
96783     ));
96784  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg); c5.converter_postcall(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg); c6.converter_postcall(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg); c7.converter_postcall(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg);
96785
96786  int nret = lua_gettop(L) - nargs;
96787
96788  const int indices[] =
96789  {
96790   -1 ,
96791   nargs + nret
96792   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg
96793  };
96794
96795  policy_list_postcall<Policies>::apply(L, indices);
96796
96797  return maybe_yield<Policies>::apply(L, nret);
96798 }
96799 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96800 #undef BOOST_PP_ITERATION_1
96801
96802
96803 #define BOOST_PP_ITERATION_1 9
96804 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96805 # 338 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96806 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
96807 static int call(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8), lua_State* L, const Policies*)
96808 {
96809  int nargs = lua_gettop(L);
96810
96811  typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
96812  typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
96813
96814  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 + 1, Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 + 1, Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 + 1, Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy<8 + 1, Policies>::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8;
96815   converter_ret.apply(L, f
96816     (
96817      c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg) , c8.apply(L, luabind::detail::decorated_type<A8>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg)
96818     ));
96819  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg); c5.converter_postcall(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg); c6.converter_postcall(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg); c7.converter_postcall(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg); c8.converter_postcall(L, luabind::detail::decorated_type<A8>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg);
96820
96821  int nret = lua_gettop(L) - nargs;
96822
96823  const int indices[] =
96824  {
96825   -1 ,
96826   nargs + nret
96827   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg
96828  };
96829
96830  policy_list_postcall<Policies>::apply(L, indices);
96831
96832  return maybe_yield<Policies>::apply(L, nret);
96833 }
96834 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96835 #undef BOOST_PP_ITERATION_1
96836
96837
96838 #define BOOST_PP_ITERATION_1 10
96839 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
96840 # 338 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
96841 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
96842 static int call(T(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9), lua_State* L, const Policies*)
96843 {
96844  int nargs = lua_gettop(L);
96845
96846  typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret;
96847  typename mpl::apply_wrap2<converter_policy_ret,T,cpp_to_lua>::type converter_ret;
96848
96849  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 + 1, Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 + 1, Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 + 1, Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy<8 + 1, Policies>::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8; typedef typename find_conversion_policy<9 + 1, Policies>::type converter_policy9; typename mpl::apply_wrap2< converter_policy9, A9, lua_to_cpp >::type c9;
96850   converter_ret.apply(L, f
96851     (
96852      c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg) , c8.apply(L, luabind::detail::decorated_type<A8>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg) , c9.apply(L, luabind::detail::decorated_type<A9>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg)
96853     ));
96854  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg); c5.converter_postcall(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg); c6.converter_postcall(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg); c7.converter_postcall(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg); c8.converter_postcall(L, luabind::detail::decorated_type<A8>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg); c9.converter_postcall(L, luabind::detail::decorated_type<A9>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg);
96855
96856  int nret = lua_gettop(L) - nargs;
96857
96858  const int indices[] =
96859  {
96860   -1 ,
96861   nargs + nret
96862   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg
96863  };
96864
96865  policy_list_postcall<Policies>::apply(L, indices);
96866
96867  return maybe_yield<Policies>::apply(L, nret);
96868 }
96869 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96870 #undef BOOST_PP_ITERATION_1
96871 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
96872 #undef BOOST_PP_IS_ITERATING
96873
96874 #undef BOOST_PP_ITERATION_DEPTH
96875 #define BOOST_PP_ITERATION_DEPTH() 0
96876
96877 #undef BOOST_PP_ITERATION_START_1
96878 #undef BOOST_PP_ITERATION_FINISH_1
96879 #undef BOOST_PP_FILENAME_1
96880
96881 #undef BOOST_PP_ITERATION_FLAGS_1
96882 #undef BOOST_PP_ITERATION_PARAMS_1
96883 # 147 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 2
96884    };
96885
96886    template<>
96887    struct returns<void>
96888    {
96889 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/function.hpp>, 3))
96890 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
96891 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
96892 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
96893 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
96894 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
96895 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
96896 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96897 #undef BOOST_PP_SLOT_TEMP_1
96898 #undef BOOST_PP_SLOT_TEMP_2
96899 #undef BOOST_PP_SLOT_TEMP_3
96900 #undef BOOST_PP_SLOT_TEMP_4
96901 #undef BOOST_PP_SLOT_TEMP_5
96902 #undef BOOST_PP_SLOT_TEMP_6
96903 #undef BOOST_PP_SLOT_TEMP_7
96904 #undef BOOST_PP_SLOT_TEMP_8
96905 #undef BOOST_PP_SLOT_TEMP_9
96906 #undef BOOST_PP_SLOT_TEMP_10
96907
96908
96909 #define BOOST_PP_SLOT_TEMP_10 0
96910 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96911 #define BOOST_PP_SLOT_TEMP_9 0
96912 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96913 #define BOOST_PP_SLOT_TEMP_8 0
96914 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96915 #define BOOST_PP_SLOT_TEMP_7 0
96916 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96917 #define BOOST_PP_SLOT_TEMP_6 0
96918 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96919 #define BOOST_PP_SLOT_TEMP_5 0
96920 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96921 #define BOOST_PP_SLOT_TEMP_4 0
96922 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96923 #define BOOST_PP_SLOT_TEMP_3 0
96924 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96925 #define BOOST_PP_SLOT_TEMP_2 0
96926 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96927 #define BOOST_PP_SLOT_TEMP_1 0
96928 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96929 #undef BOOST_PP_VALUE
96930 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
96931
96932 #undef BOOST_PP_ITERATION_START_1
96933
96934 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
96935 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
96936 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
96937 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
96938 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
96939 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
96940 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
96941 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
96942 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
96943 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
96944
96945
96946 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
96947 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
96948 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
96949 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
96950 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
96951 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
96952 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
96953 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
96954 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
96955 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
96956 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
96957 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
96958 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96959 #undef BOOST_PP_SLOT_TEMP_1
96960 #undef BOOST_PP_SLOT_TEMP_2
96961 #undef BOOST_PP_SLOT_TEMP_3
96962 #undef BOOST_PP_SLOT_TEMP_4
96963 #undef BOOST_PP_SLOT_TEMP_5
96964 #undef BOOST_PP_SLOT_TEMP_6
96965 #undef BOOST_PP_SLOT_TEMP_7
96966 #undef BOOST_PP_SLOT_TEMP_8
96967 #undef BOOST_PP_SLOT_TEMP_9
96968 #undef BOOST_PP_SLOT_TEMP_10
96969
96970
96971 #define BOOST_PP_SLOT_TEMP_10 0
96972 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96973 #define BOOST_PP_SLOT_TEMP_9 0
96974 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96975 #define BOOST_PP_SLOT_TEMP_8 0
96976 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96977 #define BOOST_PP_SLOT_TEMP_7 0
96978 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96979 #define BOOST_PP_SLOT_TEMP_6 0
96980 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96981 #define BOOST_PP_SLOT_TEMP_5 0
96982 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96983 #define BOOST_PP_SLOT_TEMP_4 0
96984 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96985 #define BOOST_PP_SLOT_TEMP_3 0
96986 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96987 #define BOOST_PP_SLOT_TEMP_2 1
96988 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96989 #define BOOST_PP_SLOT_TEMP_1 0
96990 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
96991 #undef BOOST_PP_VALUE
96992 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
96993
96994 #undef BOOST_PP_ITERATION_FINISH_1
96995
96996 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
96997 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
96998 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
96999 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
97000 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
97001 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
97002 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
97003 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
97004 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
97005 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
97006
97007
97008 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
97009 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
97010 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
97011 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
97012 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
97013 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
97014 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
97015 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97016 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
97017
97018 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
97019
97020
97021
97022
97023
97024
97025
97026 #undef BOOST_PP_ITERATION_DEPTH
97027 #define BOOST_PP_ITERATION_DEPTH() 1
97028
97029 #define BOOST_PP_IS_ITERATING 1
97030
97031
97032
97033
97034
97035 #define BOOST_PP_ITERATION_1 0
97036 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97037 # 371 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97038 template<class Policies >
97039 static int call(void(*f)(), lua_State* L, const Policies*)
97040 {
97041  int nargs = lua_gettop(L);
97042
97043
97044   f
97045   (
97046   
97047   );
97048
97049
97050  int nret = lua_gettop(L) - nargs;
97051
97052  const int indices[] =
97053  {
97054   -1 ,
97055   nargs + nret
97056  
97057  };
97058
97059  policy_list_postcall<Policies>::apply(L, indices);
97060
97061  return maybe_yield<Policies>::apply(L, nret);
97062 }
97063 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97064 #undef BOOST_PP_ITERATION_1
97065
97066
97067 #define BOOST_PP_ITERATION_1 1
97068 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97069 # 371 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97070 template<class Policies , class A0>
97071 static int call(void(*f)( A0), lua_State* L, const Policies*)
97072 {
97073  int nargs = lua_gettop(L);
97074
97075  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0;
97076   f
97077   (
97078    c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 )
97079   );
97080  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 );
97081
97082  int nret = lua_gettop(L) - nargs;
97083
97084  const int indices[] =
97085  {
97086   -1 ,
97087   nargs + nret
97088   , 1
97089  };
97090
97091  policy_list_postcall<Policies>::apply(L, indices);
97092
97093  return maybe_yield<Policies>::apply(L, nret);
97094 }
97095 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97096 #undef BOOST_PP_ITERATION_1
97097
97098
97099 #define BOOST_PP_ITERATION_1 2
97100 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97101 # 371 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97102 template<class Policies , class A0 , class A1>
97103 static int call(void(*f)( A0 , A1), lua_State* L, const Policies*)
97104 {
97105  int nargs = lua_gettop(L);
97106
97107  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1;
97108   f
97109   (
97110    c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg)
97111   );
97112  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg);
97113
97114  int nret = lua_gettop(L) - nargs;
97115
97116  const int indices[] =
97117  {
97118   -1 ,
97119   nargs + nret
97120   , 1 , 1 + converter_policy0::has_arg
97121  };
97122
97123  policy_list_postcall<Policies>::apply(L, indices);
97124
97125  return maybe_yield<Policies>::apply(L, nret);
97126 }
97127 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97128 #undef BOOST_PP_ITERATION_1
97129
97130
97131 #define BOOST_PP_ITERATION_1 3
97132 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97133 # 371 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97134 template<class Policies , class A0 , class A1 , class A2>
97135 static int call(void(*f)( A0 , A1 , A2), lua_State* L, const Policies*)
97136 {
97137  int nargs = lua_gettop(L);
97138
97139  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2;
97140   f
97141   (
97142    c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg)
97143   );
97144  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg);
97145
97146  int nret = lua_gettop(L) - nargs;
97147
97148  const int indices[] =
97149  {
97150   -1 ,
97151   nargs + nret
97152   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg
97153  };
97154
97155  policy_list_postcall<Policies>::apply(L, indices);
97156
97157  return maybe_yield<Policies>::apply(L, nret);
97158 }
97159 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97160 #undef BOOST_PP_ITERATION_1
97161
97162
97163 #define BOOST_PP_ITERATION_1 4
97164 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97165 # 371 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97166 template<class Policies , class A0 , class A1 , class A2 , class A3>
97167 static int call(void(*f)( A0 , A1 , A2 , A3), lua_State* L, const Policies*)
97168 {
97169  int nargs = lua_gettop(L);
97170
97171  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3;
97172   f
97173   (
97174    c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg)
97175   );
97176  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg);
97177
97178  int nret = lua_gettop(L) - nargs;
97179
97180  const int indices[] =
97181  {
97182   -1 ,
97183   nargs + nret
97184   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg
97185  };
97186
97187  policy_list_postcall<Policies>::apply(L, indices);
97188
97189  return maybe_yield<Policies>::apply(L, nret);
97190 }
97191 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97192 #undef BOOST_PP_ITERATION_1
97193
97194
97195 #define BOOST_PP_ITERATION_1 5
97196 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97197 # 371 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97198 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4>
97199 static int call(void(*f)( A0 , A1 , A2 , A3 , A4), lua_State* L, const Policies*)
97200 {
97201  int nargs = lua_gettop(L);
97202
97203  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4;
97204   f
97205   (
97206    c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg)
97207   );
97208  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg);
97209
97210  int nret = lua_gettop(L) - nargs;
97211
97212  const int indices[] =
97213  {
97214   -1 ,
97215   nargs + nret
97216   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg
97217  };
97218
97219  policy_list_postcall<Policies>::apply(L, indices);
97220
97221  return maybe_yield<Policies>::apply(L, nret);
97222 }
97223 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97224 #undef BOOST_PP_ITERATION_1
97225
97226
97227 #define BOOST_PP_ITERATION_1 6
97228 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97229 # 371 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97230 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
97231 static int call(void(*f)( A0 , A1 , A2 , A3 , A4 , A5), lua_State* L, const Policies*)
97232 {
97233  int nargs = lua_gettop(L);
97234
97235  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 + 1, Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5;
97236   f
97237   (
97238    c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg)
97239   );
97240  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg); c5.converter_postcall(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg);
97241
97242  int nret = lua_gettop(L) - nargs;
97243
97244  const int indices[] =
97245  {
97246   -1 ,
97247   nargs + nret
97248   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg
97249  };
97250
97251  policy_list_postcall<Policies>::apply(L, indices);
97252
97253  return maybe_yield<Policies>::apply(L, nret);
97254 }
97255 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97256 #undef BOOST_PP_ITERATION_1
97257
97258
97259 #define BOOST_PP_ITERATION_1 7
97260 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97261 # 371 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97262 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
97263 static int call(void(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6), lua_State* L, const Policies*)
97264 {
97265  int nargs = lua_gettop(L);
97266
97267  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 + 1, Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 + 1, Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6;
97268   f
97269   (
97270    c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg)
97271   );
97272  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg); c5.converter_postcall(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg); c6.converter_postcall(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg);
97273
97274  int nret = lua_gettop(L) - nargs;
97275
97276  const int indices[] =
97277  {
97278   -1 ,
97279   nargs + nret
97280   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg
97281  };
97282
97283  policy_list_postcall<Policies>::apply(L, indices);
97284
97285  return maybe_yield<Policies>::apply(L, nret);
97286 }
97287 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97288 #undef BOOST_PP_ITERATION_1
97289
97290
97291 #define BOOST_PP_ITERATION_1 8
97292 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97293 # 371 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97294 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
97295 static int call(void(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7), lua_State* L, const Policies*)
97296 {
97297  int nargs = lua_gettop(L);
97298
97299  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 + 1, Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 + 1, Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 + 1, Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7;
97300   f
97301   (
97302    c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg)
97303   );
97304  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg); c5.converter_postcall(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg); c6.converter_postcall(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg); c7.converter_postcall(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg);
97305
97306  int nret = lua_gettop(L) - nargs;
97307
97308  const int indices[] =
97309  {
97310   -1 ,
97311   nargs + nret
97312   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg
97313  };
97314
97315  policy_list_postcall<Policies>::apply(L, indices);
97316
97317  return maybe_yield<Policies>::apply(L, nret);
97318 }
97319 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97320 #undef BOOST_PP_ITERATION_1
97321
97322
97323 #define BOOST_PP_ITERATION_1 9
97324 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97325 # 371 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97326 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
97327 static int call(void(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8), lua_State* L, const Policies*)
97328 {
97329  int nargs = lua_gettop(L);
97330
97331  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 + 1, Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 + 1, Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 + 1, Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy<8 + 1, Policies>::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8;
97332   f
97333   (
97334    c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg) , c8.apply(L, luabind::detail::decorated_type<A8>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg)
97335   );
97336  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg); c5.converter_postcall(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg); c6.converter_postcall(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg); c7.converter_postcall(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg); c8.converter_postcall(L, luabind::detail::decorated_type<A8>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg);
97337
97338  int nret = lua_gettop(L) - nargs;
97339
97340  const int indices[] =
97341  {
97342   -1 ,
97343   nargs + nret
97344   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg
97345  };
97346
97347  policy_list_postcall<Policies>::apply(L, indices);
97348
97349  return maybe_yield<Policies>::apply(L, nret);
97350 }
97351 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97352 #undef BOOST_PP_ITERATION_1
97353
97354
97355 #define BOOST_PP_ITERATION_1 10
97356 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97357 # 371 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97358 template<class Policies , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
97359 static int call(void(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9), lua_State* L, const Policies*)
97360 {
97361  int nargs = lua_gettop(L);
97362
97363  typedef typename find_conversion_policy<0 + 1, Policies>::type converter_policy0; typename mpl::apply_wrap2< converter_policy0, A0, lua_to_cpp >::type c0; typedef typename find_conversion_policy<1 + 1, Policies>::type converter_policy1; typename mpl::apply_wrap2< converter_policy1, A1, lua_to_cpp >::type c1; typedef typename find_conversion_policy<2 + 1, Policies>::type converter_policy2; typename mpl::apply_wrap2< converter_policy2, A2, lua_to_cpp >::type c2; typedef typename find_conversion_policy<3 + 1, Policies>::type converter_policy3; typename mpl::apply_wrap2< converter_policy3, A3, lua_to_cpp >::type c3; typedef typename find_conversion_policy<4 + 1, Policies>::type converter_policy4; typename mpl::apply_wrap2< converter_policy4, A4, lua_to_cpp >::type c4; typedef typename find_conversion_policy<5 + 1, Policies>::type converter_policy5; typename mpl::apply_wrap2< converter_policy5, A5, lua_to_cpp >::type c5; typedef typename find_conversion_policy<6 + 1, Policies>::type converter_policy6; typename mpl::apply_wrap2< converter_policy6, A6, lua_to_cpp >::type c6; typedef typename find_conversion_policy<7 + 1, Policies>::type converter_policy7; typename mpl::apply_wrap2< converter_policy7, A7, lua_to_cpp >::type c7; typedef typename find_conversion_policy<8 + 1, Policies>::type converter_policy8; typename mpl::apply_wrap2< converter_policy8, A8, lua_to_cpp >::type c8; typedef typename find_conversion_policy<9 + 1, Policies>::type converter_policy9; typename mpl::apply_wrap2< converter_policy9, A9, lua_to_cpp >::type c9;
97364   f
97365   (
97366    c0.apply(L, luabind::detail::decorated_type<A0>::get(), 1 ) , c1.apply(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg) , c2.apply(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg) , c3.apply(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg) , c4.apply(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg) , c5.apply(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg) , c6.apply(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg) , c7.apply(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg) , c8.apply(L, luabind::detail::decorated_type<A8>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg) , c9.apply(L, luabind::detail::decorated_type<A9>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg)
97367   );
97368  c0.converter_postcall(L, luabind::detail::decorated_type<A0>::get(), 1 ); c1.converter_postcall(L, luabind::detail::decorated_type<A1>::get(), 1 + converter_policy0::has_arg); c2.converter_postcall(L, luabind::detail::decorated_type<A2>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg); c3.converter_postcall(L, luabind::detail::decorated_type<A3>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg); c4.converter_postcall(L, luabind::detail::decorated_type<A4>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg); c5.converter_postcall(L, luabind::detail::decorated_type<A5>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg); c6.converter_postcall(L, luabind::detail::decorated_type<A6>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg); c7.converter_postcall(L, luabind::detail::decorated_type<A7>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg); c8.converter_postcall(L, luabind::detail::decorated_type<A8>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg); c9.converter_postcall(L, luabind::detail::decorated_type<A9>::get(), 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg);
97369
97370  int nret = lua_gettop(L) - nargs;
97371
97372  const int indices[] =
97373  {
97374   -1 ,
97375   nargs + nret
97376   , 1 , 1 + converter_policy0::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg , 1 + converter_policy0::has_arg + converter_policy1::has_arg + converter_policy2::has_arg + converter_policy3::has_arg + converter_policy4::has_arg + converter_policy5::has_arg + converter_policy6::has_arg + converter_policy7::has_arg + converter_policy8::has_arg
97377  };
97378
97379  policy_list_postcall<Policies>::apply(L, indices);
97380
97381  return maybe_yield<Policies>::apply(L, nret);
97382 }
97383 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97384 #undef BOOST_PP_ITERATION_1
97385 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
97386 #undef BOOST_PP_IS_ITERATING
97387
97388 #undef BOOST_PP_ITERATION_DEPTH
97389 #define BOOST_PP_ITERATION_DEPTH() 0
97390
97391 #undef BOOST_PP_ITERATION_START_1
97392 #undef BOOST_PP_ITERATION_FINISH_1
97393 #undef BOOST_PP_FILENAME_1
97394
97395 #undef BOOST_PP_ITERATION_FLAGS_1
97396 #undef BOOST_PP_ITERATION_PARAMS_1
97397 # 154 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 2
97398    };
97399
97400 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/function.hpp>, 4))
97401 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
97402 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
97403 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
97404 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
97405 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
97406 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
97407 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97408 #undef BOOST_PP_SLOT_TEMP_1
97409 #undef BOOST_PP_SLOT_TEMP_2
97410 #undef BOOST_PP_SLOT_TEMP_3
97411 #undef BOOST_PP_SLOT_TEMP_4
97412 #undef BOOST_PP_SLOT_TEMP_5
97413 #undef BOOST_PP_SLOT_TEMP_6
97414 #undef BOOST_PP_SLOT_TEMP_7
97415 #undef BOOST_PP_SLOT_TEMP_8
97416 #undef BOOST_PP_SLOT_TEMP_9
97417 #undef BOOST_PP_SLOT_TEMP_10
97418
97419
97420 #define BOOST_PP_SLOT_TEMP_10 0
97421 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97422 #define BOOST_PP_SLOT_TEMP_9 0
97423 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97424 #define BOOST_PP_SLOT_TEMP_8 0
97425 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97426 #define BOOST_PP_SLOT_TEMP_7 0
97427 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97428 #define BOOST_PP_SLOT_TEMP_6 0
97429 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97430 #define BOOST_PP_SLOT_TEMP_5 0
97431 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97432 #define BOOST_PP_SLOT_TEMP_4 0
97433 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97434 #define BOOST_PP_SLOT_TEMP_3 0
97435 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97436 #define BOOST_PP_SLOT_TEMP_2 0
97437 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97438 #define BOOST_PP_SLOT_TEMP_1 0
97439 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97440 #undef BOOST_PP_VALUE
97441 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
97442
97443 #undef BOOST_PP_ITERATION_START_1
97444
97445 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
97446 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
97447 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
97448 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
97449 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
97450 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
97451 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
97452 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
97453 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
97454 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
97455
97456
97457 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
97458 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
97459 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
97460 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
97461 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
97462 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
97463 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
97464 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97465 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
97466 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
97467 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
97468 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
97469 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97470 #undef BOOST_PP_SLOT_TEMP_1
97471 #undef BOOST_PP_SLOT_TEMP_2
97472 #undef BOOST_PP_SLOT_TEMP_3
97473 #undef BOOST_PP_SLOT_TEMP_4
97474 #undef BOOST_PP_SLOT_TEMP_5
97475 #undef BOOST_PP_SLOT_TEMP_6
97476 #undef BOOST_PP_SLOT_TEMP_7
97477 #undef BOOST_PP_SLOT_TEMP_8
97478 #undef BOOST_PP_SLOT_TEMP_9
97479 #undef BOOST_PP_SLOT_TEMP_10
97480
97481
97482 #define BOOST_PP_SLOT_TEMP_10 0
97483 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97484 #define BOOST_PP_SLOT_TEMP_9 0
97485 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97486 #define BOOST_PP_SLOT_TEMP_8 0
97487 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97488 #define BOOST_PP_SLOT_TEMP_7 0
97489 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97490 #define BOOST_PP_SLOT_TEMP_6 0
97491 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97492 #define BOOST_PP_SLOT_TEMP_5 0
97493 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97494 #define BOOST_PP_SLOT_TEMP_4 0
97495 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97496 #define BOOST_PP_SLOT_TEMP_3 0
97497 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97498 #define BOOST_PP_SLOT_TEMP_2 1
97499 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97500 #define BOOST_PP_SLOT_TEMP_1 0
97501 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97502 #undef BOOST_PP_VALUE
97503 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
97504
97505 #undef BOOST_PP_ITERATION_FINISH_1
97506
97507 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
97508 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
97509 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
97510 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
97511 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
97512 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
97513 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
97514 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
97515 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
97516 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
97517
97518
97519 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
97520 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
97521 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
97522 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
97523 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
97524 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
97525 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
97526 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97527 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
97528
97529 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
97530
97531
97532
97533
97534
97535
97536
97537 #undef BOOST_PP_ITERATION_DEPTH
97538 #define BOOST_PP_ITERATION_DEPTH() 1
97539
97540 #define BOOST_PP_IS_ITERATING 1
97541
97542
97543
97544
97545
97546 #define BOOST_PP_ITERATION_1 0
97547 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97548 # 400 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97549 template<class Policies, class R >
97550 int call(R(*f)(), lua_State* L, const Policies* policies)
97551 {
97552  return free_functions::returns<R>::call(f, L, policies);
97553 }
97554 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97555 #undef BOOST_PP_ITERATION_1
97556
97557
97558 #define BOOST_PP_ITERATION_1 1
97559 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97560 # 400 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97561 template<class Policies, class R , class A0>
97562 int call(R(*f)( A0), lua_State* L, const Policies* policies)
97563 {
97564  return free_functions::returns<R>::call(f, L, policies);
97565 }
97566 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97567 #undef BOOST_PP_ITERATION_1
97568
97569
97570 #define BOOST_PP_ITERATION_1 2
97571 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97572 # 400 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97573 template<class Policies, class R , class A0 , class A1>
97574 int call(R(*f)( A0 , A1), lua_State* L, const Policies* policies)
97575 {
97576  return free_functions::returns<R>::call(f, L, policies);
97577 }
97578 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97579 #undef BOOST_PP_ITERATION_1
97580
97581
97582 #define BOOST_PP_ITERATION_1 3
97583 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97584 # 400 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97585 template<class Policies, class R , class A0 , class A1 , class A2>
97586 int call(R(*f)( A0 , A1 , A2), lua_State* L, const Policies* policies)
97587 {
97588  return free_functions::returns<R>::call(f, L, policies);
97589 }
97590 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97591 #undef BOOST_PP_ITERATION_1
97592
97593
97594 #define BOOST_PP_ITERATION_1 4
97595 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97596 # 400 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97597 template<class Policies, class R , class A0 , class A1 , class A2 , class A3>
97598 int call(R(*f)( A0 , A1 , A2 , A3), lua_State* L, const Policies* policies)
97599 {
97600  return free_functions::returns<R>::call(f, L, policies);
97601 }
97602 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97603 #undef BOOST_PP_ITERATION_1
97604
97605
97606 #define BOOST_PP_ITERATION_1 5
97607 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97608 # 400 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97609 template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4>
97610 int call(R(*f)( A0 , A1 , A2 , A3 , A4), lua_State* L, const Policies* policies)
97611 {
97612  return free_functions::returns<R>::call(f, L, policies);
97613 }
97614 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97615 #undef BOOST_PP_ITERATION_1
97616
97617
97618 #define BOOST_PP_ITERATION_1 6
97619 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97620 # 400 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97621 template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
97622 int call(R(*f)( A0 , A1 , A2 , A3 , A4 , A5), lua_State* L, const Policies* policies)
97623 {
97624  return free_functions::returns<R>::call(f, L, policies);
97625 }
97626 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97627 #undef BOOST_PP_ITERATION_1
97628
97629
97630 #define BOOST_PP_ITERATION_1 7
97631 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97632 # 400 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97633 template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
97634 int call(R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6), lua_State* L, const Policies* policies)
97635 {
97636  return free_functions::returns<R>::call(f, L, policies);
97637 }
97638 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97639 #undef BOOST_PP_ITERATION_1
97640
97641
97642 #define BOOST_PP_ITERATION_1 8
97643 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97644 # 400 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97645 template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
97646 int call(R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7), lua_State* L, const Policies* policies)
97647 {
97648  return free_functions::returns<R>::call(f, L, policies);
97649 }
97650 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97651 #undef BOOST_PP_ITERATION_1
97652
97653
97654 #define BOOST_PP_ITERATION_1 9
97655 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97656 # 400 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97657 template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
97658 int call(R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8), lua_State* L, const Policies* policies)
97659 {
97660  return free_functions::returns<R>::call(f, L, policies);
97661 }
97662 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97663 #undef BOOST_PP_ITERATION_1
97664
97665
97666 #define BOOST_PP_ITERATION_1 10
97667 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97668 # 400 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97669 template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
97670 int call(R(*f)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9), lua_State* L, const Policies* policies)
97671 {
97672  return free_functions::returns<R>::call(f, L, policies);
97673 }
97674 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97675 #undef BOOST_PP_ITERATION_1
97676 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
97677 #undef BOOST_PP_IS_ITERATING
97678
97679 #undef BOOST_PP_ITERATION_DEPTH
97680 #define BOOST_PP_ITERATION_DEPTH() 0
97681
97682 #undef BOOST_PP_ITERATION_START_1
97683 #undef BOOST_PP_ITERATION_FINISH_1
97684 #undef BOOST_PP_FILENAME_1
97685
97686 #undef BOOST_PP_ITERATION_FLAGS_1
97687 #undef BOOST_PP_ITERATION_PARAMS_1
97688 # 158 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 2
97689
97690
97691 #undef LUABIND_PARAMS
97692 #undef LUABIND_DECL
97693 #undef LUABIND_POSTCALL
97694 #undef LUABIND_ADD_INDEX
97695 #undef LUABIND_INDEX_MAP
97696
97697
97698 #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, <luabind/function.hpp>, 5))
97699 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
97700 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
97701 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
97702 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
97703 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
97704 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
97705 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97706 #undef BOOST_PP_SLOT_TEMP_1
97707 #undef BOOST_PP_SLOT_TEMP_2
97708 #undef BOOST_PP_SLOT_TEMP_3
97709 #undef BOOST_PP_SLOT_TEMP_4
97710 #undef BOOST_PP_SLOT_TEMP_5
97711 #undef BOOST_PP_SLOT_TEMP_6
97712 #undef BOOST_PP_SLOT_TEMP_7
97713 #undef BOOST_PP_SLOT_TEMP_8
97714 #undef BOOST_PP_SLOT_TEMP_9
97715 #undef BOOST_PP_SLOT_TEMP_10
97716
97717
97718 #define BOOST_PP_SLOT_TEMP_10 0
97719 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97720 #define BOOST_PP_SLOT_TEMP_9 0
97721 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97722 #define BOOST_PP_SLOT_TEMP_8 0
97723 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97724 #define BOOST_PP_SLOT_TEMP_7 0
97725 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97726 #define BOOST_PP_SLOT_TEMP_6 0
97727 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97728 #define BOOST_PP_SLOT_TEMP_5 0
97729 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97730 #define BOOST_PP_SLOT_TEMP_4 0
97731 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97732 #define BOOST_PP_SLOT_TEMP_3 0
97733 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97734 #define BOOST_PP_SLOT_TEMP_2 0
97735 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97736 #define BOOST_PP_SLOT_TEMP_1 0
97737 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97738 #undef BOOST_PP_VALUE
97739 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
97740
97741 #undef BOOST_PP_ITERATION_START_1
97742
97743 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
97744 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
97745 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
97746 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
97747 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
97748 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
97749 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
97750 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
97751 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
97752 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
97753
97754
97755 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
97756 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
97757 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
97758 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
97759 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
97760 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
97761 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
97762 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97763 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
97764 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
97765 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
97766 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
97767 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97768 #undef BOOST_PP_SLOT_TEMP_1
97769 #undef BOOST_PP_SLOT_TEMP_2
97770 #undef BOOST_PP_SLOT_TEMP_3
97771 #undef BOOST_PP_SLOT_TEMP_4
97772 #undef BOOST_PP_SLOT_TEMP_5
97773 #undef BOOST_PP_SLOT_TEMP_6
97774 #undef BOOST_PP_SLOT_TEMP_7
97775 #undef BOOST_PP_SLOT_TEMP_8
97776 #undef BOOST_PP_SLOT_TEMP_9
97777 #undef BOOST_PP_SLOT_TEMP_10
97778
97779
97780 #define BOOST_PP_SLOT_TEMP_10 0
97781 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97782 #define BOOST_PP_SLOT_TEMP_9 0
97783 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97784 #define BOOST_PP_SLOT_TEMP_8 0
97785 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97786 #define BOOST_PP_SLOT_TEMP_7 0
97787 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97788 #define BOOST_PP_SLOT_TEMP_6 0
97789 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97790 #define BOOST_PP_SLOT_TEMP_5 0
97791 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97792 #define BOOST_PP_SLOT_TEMP_4 0
97793 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97794 #define BOOST_PP_SLOT_TEMP_3 0
97795 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97796 #define BOOST_PP_SLOT_TEMP_2 1
97797 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97798 #define BOOST_PP_SLOT_TEMP_1 0
97799 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
97800 #undef BOOST_PP_VALUE
97801 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
97802
97803 #undef BOOST_PP_ITERATION_FINISH_1
97804
97805 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
97806 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
97807 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
97808 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
97809 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
97810 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
97811 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
97812 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
97813 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
97814 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
97815
97816
97817 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
97818 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
97819 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
97820 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
97821 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
97822 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
97823 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
97824 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97825 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
97826
97827 #define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
97828
97829
97830
97831
97832
97833
97834
97835 #undef BOOST_PP_ITERATION_DEPTH
97836 #define BOOST_PP_ITERATION_DEPTH() 1
97837
97838 #define BOOST_PP_IS_ITERATING 1
97839
97840
97841
97842
97843
97844 #define BOOST_PP_ITERATION_1 0
97845 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97846 # 408 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97847  template<class Policies, class R >
97848  static int match(R(*)(), lua_State* L, const Policies* policies)
97849  {
97850
97851   typedef constructor<> ParameterTypes;
97852   return match_params(L, 1, static_cast<ParameterTypes*>(0), policies);
97853  }
97854 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97855 #undef BOOST_PP_ITERATION_1
97856
97857
97858 #define BOOST_PP_ITERATION_1 1
97859 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97860 # 408 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97861  template<class Policies, class R , class A0>
97862  static int match(R(*)( A0), lua_State* L, const Policies* policies)
97863  {
97864
97865   typedef constructor< A0> ParameterTypes;
97866   return match_params(L, 1, static_cast<ParameterTypes*>(0), policies);
97867  }
97868 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97869 #undef BOOST_PP_ITERATION_1
97870
97871
97872 #define BOOST_PP_ITERATION_1 2
97873 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97874 # 408 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97875  template<class Policies, class R , class A0 , class A1>
97876  static int match(R(*)( A0 , A1), lua_State* L, const Policies* policies)
97877  {
97878
97879   typedef constructor< A0 , A1> ParameterTypes;
97880   return match_params(L, 1, static_cast<ParameterTypes*>(0), policies);
97881  }
97882 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97883 #undef BOOST_PP_ITERATION_1
97884
97885
97886 #define BOOST_PP_ITERATION_1 3
97887 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97888 # 408 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97889  template<class Policies, class R , class A0 , class A1 , class A2>
97890  static int match(R(*)( A0 , A1 , A2), lua_State* L, const Policies* policies)
97891  {
97892
97893   typedef constructor< A0 , A1 , A2> ParameterTypes;
97894   return match_params(L, 1, static_cast<ParameterTypes*>(0), policies);
97895  }
97896 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97897 #undef BOOST_PP_ITERATION_1
97898
97899
97900 #define BOOST_PP_ITERATION_1 4
97901 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97902 # 408 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97903  template<class Policies, class R , class A0 , class A1 , class A2 , class A3>
97904  static int match(R(*)( A0 , A1 , A2 , A3), lua_State* L, const Policies* policies)
97905  {
97906
97907   typedef constructor< A0 , A1 , A2 , A3> ParameterTypes;
97908   return match_params(L, 1, static_cast<ParameterTypes*>(0), policies);
97909  }
97910 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97911 #undef BOOST_PP_ITERATION_1
97912
97913
97914 #define BOOST_PP_ITERATION_1 5
97915 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97916 # 408 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97917  template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4>
97918  static int match(R(*)( A0 , A1 , A2 , A3 , A4), lua_State* L, const Policies* policies)
97919  {
97920
97921   typedef constructor< A0 , A1 , A2 , A3 , A4> ParameterTypes;
97922   return match_params(L, 1, static_cast<ParameterTypes*>(0), policies);
97923  }
97924 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97925 #undef BOOST_PP_ITERATION_1
97926
97927
97928 #define BOOST_PP_ITERATION_1 6
97929 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97930 # 408 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97931  template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5>
97932  static int match(R(*)( A0 , A1 , A2 , A3 , A4 , A5), lua_State* L, const Policies* policies)
97933  {
97934
97935   typedef constructor< A0 , A1 , A2 , A3 , A4 , A5> ParameterTypes;
97936   return match_params(L, 1, static_cast<ParameterTypes*>(0), policies);
97937  }
97938 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97939 #undef BOOST_PP_ITERATION_1
97940
97941
97942 #define BOOST_PP_ITERATION_1 7
97943 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97944 # 408 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97945  template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6>
97946  static int match(R(*)( A0 , A1 , A2 , A3 , A4 , A5 , A6), lua_State* L, const Policies* policies)
97947  {
97948
97949   typedef constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6> ParameterTypes;
97950   return match_params(L, 1, static_cast<ParameterTypes*>(0), policies);
97951  }
97952 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97953 #undef BOOST_PP_ITERATION_1
97954
97955
97956 #define BOOST_PP_ITERATION_1 8
97957 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97958 # 408 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97959  template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7>
97960  static int match(R(*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7), lua_State* L, const Policies* policies)
97961  {
97962
97963   typedef constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> ParameterTypes;
97964   return match_params(L, 1, static_cast<ParameterTypes*>(0), policies);
97965  }
97966 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97967 #undef BOOST_PP_ITERATION_1
97968
97969
97970 #define BOOST_PP_ITERATION_1 9
97971 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97972 # 408 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97973  template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8>
97974  static int match(R(*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8), lua_State* L, const Policies* policies)
97975  {
97976
97977   typedef constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> ParameterTypes;
97978   return match_params(L, 1, static_cast<ParameterTypes*>(0), policies);
97979  }
97980 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97981 #undef BOOST_PP_ITERATION_1
97982
97983
97984 #define BOOST_PP_ITERATION_1 10
97985 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 1 3 4
97986 # 408 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 3 4
97987  template<class Policies, class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9>
97988  static int match(R(*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9), lua_State* L, const Policies* policies)
97989  {
97990
97991   typedef constructor< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> ParameterTypes;
97992   return match_params(L, 1, static_cast<ParameterTypes*>(0), policies);
97993  }
97994 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
97995 #undef BOOST_PP_ITERATION_1
97996 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
97997 #undef BOOST_PP_IS_ITERATING
97998
97999 #undef BOOST_PP_ITERATION_DEPTH
98000 #define BOOST_PP_ITERATION_DEPTH() 0
98001
98002 #undef BOOST_PP_ITERATION_START_1
98003 #undef BOOST_PP_ITERATION_FINISH_1
98004 #undef BOOST_PP_FILENAME_1
98005
98006 #undef BOOST_PP_ITERATION_FLAGS_1
98007 #undef BOOST_PP_ITERATION_PARAMS_1
98008 # 169 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp" 2
98009
98010
98011    template<class F, class Policies>
98012    struct function_callback_s
98013    {
98014     static inline int apply(lua_State* L, void(*fun)())
98015     {
98016      return free_functions::call(reinterpret_cast<F>(fun), L, static_cast<const Policies*>(0));
98017     }
98018    };
98019
98020    template<class F, class Policies>
98021    struct match_function_callback_s
98022    {
98023     static inline int apply(lua_State* L)
98024     {
98025      F fptr = 0;
98026      return free_functions::match(fptr, L, static_cast<Policies*>(0));
98027     }
98028
98029     static int callback(lua_State* L)
98030     {
98031      F fptr = 0;
98032      return free_functions::match(fptr, L, static_cast<Policies*>(0));
98033     }
98034    };
98035
98036    int function_dispatcher(lua_State* L);
98037   }
98038  }
98039
98040
98041  template<class F, class Policies>
98042  void function(lua_State* L, const char* name, F f, const Policies& p)
98043  {
98044   module(L) [ def(name, f, p) ];
98045  }
98046
98047
98048  template<class F>
98049  void function(lua_State* L, const char* name, F f)
98050  {
98051   luabind::function(L, name, f, detail::null_type());
98052  }
98053
98054  namespace detail
98055  {
98056   template<class F, class Policies>
98057   struct function_commiter : detail::registration
98058   {
98059    function_commiter(const char* n, F f, const Policies& p)
98060     : m_name(n)
98061     , fun(f)
98062     , policies(p)
98063    {}
98064
98065    virtual void register_(lua_State* L) const
98066    {
98067     detail::free_functions::overload_rep o(fun, static_cast<Policies*>(0));
98068
98069     o.set_match_fun(&detail::free_functions::match_function_callback_s<F, Policies>::apply);
98070     o.set_fun(&detail::free_functions::function_callback_s<F, Policies>::apply);
98071
98072
98073     o.set_sig_fun(&detail::get_free_function_signature<F>::apply);
98074
98075
98076     lua_pushstring(L, m_name);
98077     lua_gettable(L, -2);
98078
98079     detail::free_functions::function_rep* rep = 0;
98080     if (lua_iscfunction(L, -1))
98081     {
98082      if (lua_getupvalue(L, -1, 2) != 0)
98083      {
98084
98085       if (lua_touserdata(L, -1) == (void*)0x1337)
98086       {
98087        if (lua_getupvalue(L, -2, 1) != 0)
98088        {
98089         rep = static_cast<detail::free_functions::function_rep*>(lua_touserdata(L, -1));
98090         lua_settop(L, -(1)-1);
98091        }
98092       }
98093       lua_settop(L, -(1)-1);
98094      }
98095     }
98096     lua_settop(L, -(1)-1);
98097
98098     if (rep == 0)
98099     {
98100      lua_pushstring(L, m_name);
98101
98102      rep = static_cast<detail::free_functions::function_rep*>(lua_newuserdata(L, sizeof(detail::free_functions::function_rep)));
98103      new(rep) detail::free_functions::function_rep(m_name);
98104
98105
98106                     lua_pushvalue(L, -1);
98107                     detail::ref(L);
98108
98109      detail::class_registry* r = detail::class_registry::get_registry(L);
98110      (static_cast<void> ((r && "you must call luabind::open() prior to any function registrations") ? 0 : (__assert_fail ("r && \"you must call luabind::open() prior to any function registrations\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp", 270, __PRETTY_FUNCTION__), 0)));
98111      detail::getref(L, r->lua_function());
98112      int ret = lua_setmetatable(L, -2);
98113      (void)ret;
98114      (static_cast<void> ((ret != 0) ? 0 : (__assert_fail ("ret != 0", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/function.hpp", 274, __PRETTY_FUNCTION__), 0)));
98115
98116
98117      lua_pushlightuserdata(L, (void*)0x1337);
98118
98119      lua_pushcclosure(L, &free_functions::function_dispatcher, 2);
98120      lua_settable(L, -3);
98121     }
98122
98123     rep->add_overload(o);
98124    }
98125
98126    char const* m_name;
98127    F fun;
98128    Policies policies;
98129   };
98130  }
98131
98132  template<class F, class Policies>
98133  scope def(const char* name, F f, const Policies& policies)
98134  {
98135   return scope(std::auto_ptr<detail::registration>(
98136    new detail::function_commiter<F,Policies>(name, f, policies)));
98137  }
98138
98139  template<class F>
98140  scope def(const char* name, F f)
98141  {
98142   return scope(std::auto_ptr<detail::registration>(
98143    new detail::function_commiter<F,detail::null_type>(
98144     name, f, detail::null_type())));
98145  }
98146
98147 }
98148 # 30 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/luabind.hpp" 2
98149 # 4 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp" 2
98150
98151 # 1 "/home/emanuel/DIKU/3dot/source/core/entity.hpp" 1
98152
98153 #define ENTITY_ENTITY_HPP 
98154
98155 # 1 "/home/emanuel/DIKU/3dot/source/core/entityrepresentation.hpp" 1
98156
98157 #define ENTITY_ENTITYREPRESENTATION_HPP 
98158
98159 # 1 "/home/emanuel/DIKU/3dot/source/render/scene/geometry.h" 1
98160
98161 #define SCENE_GEOMETRY_H 
98162
98163
98164
98165 # 1 "/home/emanuel/DIKU/3dot/source/render/scene/leaf.h" 1
98166
98167 #define SCENE_LEAF_H 
98168
98169 # 1 "/home/emanuel/DIKU/3dot/source/render/scene/node.h" 1
98170
98171 #define SCENE_NODE_H 
98172
98173 # 1 "/home/emanuel/DIKU/3dot/source/render/scene/transform.h" 1
98174
98175 #define SCENE_TRANSFORM_H 
98176
98177
98178 # 1 "/home/emanuel/DIKU/3dot/source/math/vector.hpp" 1
98179
98180 #define MATH_VECTOR_HPP 
98181 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iostream" 1 3
98182 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iostream" 3
98183 #define _GLIBCXX_IOSTREAM 1
98184
98185        
98186 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iostream" 3
98187 #pragma GCC visibility push(default)
98188
98189
98190
98191
98192
98193 namespace std
98194 {
98195 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/iostream" 3
98196   extern istream cin;
98197   extern ostream cout;
98198   extern ostream cerr;
98199   extern ostream clog;
98200
98201
98202   extern wistream wcin;
98203   extern wostream wcout;
98204   extern wostream wcerr;
98205   extern wostream wclog;
98206
98207
98208
98209
98210   static ios_base::Init __ioinit;
98211 }
98212
98213 #pragma GCC visibility pop
98214 # 4 "/home/emanuel/DIKU/3dot/source/math/vector.hpp" 2
98215
98216 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 1 3
98217 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
98218        
98219 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
98220 #pragma GCC visibility push(default)
98221
98222 # 1 "/usr/include/assert.h" 1 3 4
98223 # 25 "/usr/include/assert.h" 3 4
98224 #undef _ASSERT_H
98225 #undef assert
98226 #undef __ASSERT_VOID_CAST
98227
98228
98229 #undef assert_perror
98230
98231
98232
98233
98234 #define _ASSERT_H 1
98235
98236
98237
98238 #define __ASSERT_VOID_CAST static_cast<void>
98239 # 65 "/usr/include/assert.h" 3 4
98240 extern "C" {
98241
98242
98243 extern void __assert_fail (__const char *__assertion, __const char *__file,
98244       unsigned int __line, __const char *__function)
98245      throw () __attribute__ ((__noreturn__));
98246
98247
98248 extern void __assert_perror_fail (int __errnum, __const char *__file,
98249       unsigned int __line,
98250       __const char *__function)
98251      throw () __attribute__ ((__noreturn__));
98252
98253
98254
98255
98256 extern void __assert (const char *__assertion, const char *__file, int __line)
98257      throw () __attribute__ ((__noreturn__));
98258
98259
98260 }
98261
98262 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
98263
98264
98265
98266
98267
98268 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
98269 # 105 "/usr/include/assert.h" 3 4
98270 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
98271 # 51 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 2 3
98272
98273 #pragma GCC visibility pop
98274 # 6 "/home/emanuel/DIKU/3dot/source/math/vector.hpp" 2
98275
98276
98277
98278 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cmath" 1 3
98279 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cmath" 3
98280 #define _GLIBCXX_CMATH 1
98281
98282        
98283 # 49 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cmath" 3
98284 #pragma GCC visibility push(default)
98285
98286
98287
98288
98289 # 1 "/usr/include/math.h" 1 3 4
98290 # 26 "/usr/include/math.h" 3 4
98291 #define _MATH_H 1
98292
98293
98294
98295 extern "C" {
98296
98297
98298
98299 # 1 "/usr/include/bits/huge_val.h" 1 3 4
98300 # 29 "/usr/include/bits/huge_val.h" 3 4
98301 #define HUGE_VAL (__builtin_huge_val())
98302 # 35 "/usr/include/math.h" 2 3 4
98303
98304 # 1 "/usr/include/bits/huge_valf.h" 1 3 4
98305 # 29 "/usr/include/bits/huge_valf.h" 3 4
98306 #define HUGE_VALF (__builtin_huge_valf())
98307 # 37 "/usr/include/math.h" 2 3 4
98308 # 1 "/usr/include/bits/huge_vall.h" 1 3 4
98309 # 27 "/usr/include/bits/huge_vall.h" 3 4
98310 #define HUGE_VALL (__builtin_huge_vall())
98311 # 38 "/usr/include/math.h" 2 3 4
98312
98313
98314 # 1 "/usr/include/bits/inf.h" 1 3 4
98315 # 27 "/usr/include/bits/inf.h" 3 4
98316 #define INFINITY (__builtin_inff())
98317 # 41 "/usr/include/math.h" 2 3 4
98318
98319
98320 # 1 "/usr/include/bits/nan.h" 1 3 4
98321 # 29 "/usr/include/bits/nan.h" 3 4
98322 #define NAN (__builtin_nanf (""))
98323 # 44 "/usr/include/math.h" 2 3 4
98324
98325
98326
98327 # 1 "/usr/include/bits/mathdef.h" 1 3 4
98328 # 24 "/usr/include/bits/mathdef.h" 3 4
98329 #define _MATH_H_MATHDEF 1
98330 # 36 "/usr/include/bits/mathdef.h" 3 4
98331 typedef long double float_t;
98332
98333 typedef long double double_t;
98334
98335
98336
98337
98338 #define FP_ILOGB0 (-2147483647 - 1)
98339 #define FP_ILOGBNAN (-2147483647 - 1)
98340 # 48 "/usr/include/math.h" 2 3 4
98341
98342
98343
98344
98345
98346
98347 #define __MATHCALL(function,suffix,args) __MATHDECL (_Mdouble_,function,suffix, args)
98348
98349 #define __MATHDECL(type,function,suffix,args) __MATHDECL_1(type, function,suffix, args); __MATHDECL_1(type, __CONCAT(__,function),suffix, args)
98350
98351
98352 #define __MATHCALLX(function,suffix,args,attrib) __MATHDECLX (_Mdouble_,function,suffix, args, attrib)
98353
98354 #define __MATHDECLX(type,function,suffix,args,attrib) __MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); __MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib)
98355
98356
98357 #define __MATHDECL_1(type,function,suffix,args) extern type __MATH_PRECNAME(function,suffix) args __THROW
98358
98359
98360 #define _Mdouble_ double
98361 #define __MATH_PRECNAME(name,r) __CONCAT(name,r)
98362 #define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_STD
98363 #define _Mdouble_END_NAMESPACE __END_NAMESPACE_STD
98364 # 1 "/usr/include/bits/mathcalls.h" 1 3 4
98365 # 53 "/usr/include/bits/mathcalls.h" 3 4
98366
98367
98368 extern double acos (double __x) throw (); extern double __acos (double __x) throw ();
98369
98370 extern double asin (double __x) throw (); extern double __asin (double __x) throw ();
98371
98372 extern double atan (double __x) throw (); extern double __atan (double __x) throw ();
98373
98374 extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw ();
98375
98376
98377 extern double cos (double __x) throw (); extern double __cos (double __x) throw ();
98378
98379 extern double sin (double __x) throw (); extern double __sin (double __x) throw ();
98380
98381 extern double tan (double __x) throw (); extern double __tan (double __x) throw ();
98382
98383
98384
98385
98386 extern double cosh (double __x) throw (); extern double __cosh (double __x) throw ();
98387
98388 extern double sinh (double __x) throw (); extern double __sinh (double __x) throw ();
98389
98390 extern double tanh (double __x) throw (); extern double __tanh (double __x) throw ();
98391
98392
98393
98394
98395 extern void sincos (double __x, double *__sinx, double *__cosx) throw (); extern void __sincos (double __x, double *__sinx, double *__cosx) throw ();
98396
98397
98398
98399
98400
98401
98402 extern double acosh (double __x) throw (); extern double __acosh (double __x) throw ();
98403
98404 extern double asinh (double __x) throw (); extern double __asinh (double __x) throw ();
98405
98406 extern double atanh (double __x) throw (); extern double __atanh (double __x) throw ();
98407
98408
98409
98410
98411
98412
98413
98414 extern double exp (double __x) throw (); extern double __exp (double __x) throw ();
98415
98416
98417 extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw ();
98418
98419
98420 extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw ();
98421
98422
98423 extern double log (double __x) throw (); extern double __log (double __x) throw ();
98424
98425
98426 extern double log10 (double __x) throw (); extern double __log10 (double __x) throw ();
98427
98428
98429 extern double modf (double __x, double *__iptr) throw (); extern double __modf (double __x, double *__iptr) throw ();
98430
98431
98432
98433
98434 extern double exp10 (double __x) throw (); extern double __exp10 (double __x) throw ();
98435
98436 extern double pow10 (double __x) throw (); extern double __pow10 (double __x) throw ();
98437
98438
98439
98440
98441
98442 extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw ();
98443
98444
98445 extern double log1p (double __x) throw (); extern double __log1p (double __x) throw ();
98446
98447
98448 extern double logb (double __x) throw (); extern double __logb (double __x) throw ();
98449
98450
98451
98452
98453
98454
98455 extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw ();
98456
98457
98458 extern double log2 (double __x) throw (); extern double __log2 (double __x) throw ();
98459
98460
98461
98462
98463
98464
98465
98466
98467 extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw ();
98468
98469
98470 extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw ();
98471
98472
98473
98474
98475
98476 extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw ();
98477
98478
98479
98480
98481
98482
98483 extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw ();
98484
98485
98486
98487
98488
98489
98490
98491
98492 extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__));
98493
98494
98495 extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__));
98496
98497
98498 extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__));
98499
98500
98501 extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw ();
98502
98503
98504
98505
98506 extern int __isinf (double __value) throw () __attribute__ ((__const__));
98507
98508
98509 extern int __finite (double __value) throw () __attribute__ ((__const__));
98510
98511
98512
98513
98514
98515 extern int isinf (double __value) throw () __attribute__ ((__const__));
98516
98517
98518 extern int finite (double __value) throw () __attribute__ ((__const__));
98519
98520
98521 extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw ();
98522
98523
98524
98525 extern double significand (double __x) throw (); extern double __significand (double __x) throw ();
98526
98527
98528
98529
98530
98531 extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__));
98532
98533
98534
98535
98536
98537
98538 extern double nan (__const char *__tagb) throw () __attribute__ ((__const__)); extern double __nan (__const char *__tagb) throw () __attribute__ ((__const__));
98539
98540
98541
98542
98543
98544 extern int __isnan (double __value) throw () __attribute__ ((__const__));
98545
98546
98547
98548 extern int isnan (double __value) throw () __attribute__ ((__const__));
98549
98550
98551 extern double j0 (double) throw (); extern double __j0 (double) throw ();
98552 extern double j1 (double) throw (); extern double __j1 (double) throw ();
98553 extern double jn (int, double) throw (); extern double __jn (int, double) throw ();
98554 extern double y0 (double) throw (); extern double __y0 (double) throw ();
98555 extern double y1 (double) throw (); extern double __y1 (double) throw ();
98556 extern double yn (int, double) throw (); extern double __yn (int, double) throw ();
98557
98558
98559
98560
98561
98562
98563 extern double erf (double) throw (); extern double __erf (double) throw ();
98564 extern double erfc (double) throw (); extern double __erfc (double) throw ();
98565 extern double lgamma (double) throw (); extern double __lgamma (double) throw ();
98566
98567
98568
98569
98570
98571
98572 extern double tgamma (double) throw (); extern double __tgamma (double) throw ();
98573
98574
98575
98576
98577
98578 extern double gamma (double) throw (); extern double __gamma (double) throw ();
98579
98580
98581
98582
98583
98584
98585 extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw ();
98586
98587
98588
98589
98590
98591
98592
98593 extern double rint (double __x) throw (); extern double __rint (double __x) throw ();
98594
98595
98596 extern double nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) throw () __attribute__ ((__const__));
98597
98598 extern double nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) throw () __attribute__ ((__const__));
98599
98600
98601
98602 extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw ();
98603
98604
98605
98606 extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw ();
98607
98608
98609
98610 extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw ();
98611
98612
98613
98614
98615 extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw ();
98616
98617
98618
98619 extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw ();
98620
98621
98622
98623 extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__));
98624
98625
98626
98627 extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__));
98628
98629
98630
98631
98632 extern double remquo (double __x, double __y, int *__quo) throw (); extern double __remquo (double __x, double __y, int *__quo) throw ();
98633
98634
98635
98636
98637
98638
98639 extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw ();
98640 extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw ();
98641
98642
98643
98644 extern long int lround (double __x) throw (); extern long int __lround (double __x) throw ();
98645 extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw ();
98646
98647
98648
98649 extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw ();
98650
98651
98652 extern double fmax (double __x, double __y) throw (); extern double __fmax (double __x, double __y) throw ();
98653
98654
98655 extern double fmin (double __x, double __y) throw (); extern double __fmin (double __x, double __y) throw ();
98656
98657
98658
98659 extern int __fpclassify (double __value) throw ()
98660      __attribute__ ((__const__));
98661
98662
98663 extern int __signbit (double __value) throw ()
98664      __attribute__ ((__const__));
98665
98666
98667
98668 extern double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw ();
98669
98670
98671
98672
98673
98674
98675
98676
98677 extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw ();
98678 # 72 "/usr/include/math.h" 2 3 4
98679 #undef _Mdouble_
98680 #undef _Mdouble_BEGIN_NAMESPACE
98681 #undef _Mdouble_END_NAMESPACE
98682 #undef __MATH_PRECNAME
98683 # 84 "/usr/include/math.h" 3 4
98684 #define _Mfloat_ float
98685
98686 #define _Mdouble_ _Mfloat_
98687
98688 #define __MATH_PRECNAME(name,r) name ##f ##r
98689
98690
98691
98692 #define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_C99
98693 #define _Mdouble_END_NAMESPACE __END_NAMESPACE_C99
98694 # 1 "/usr/include/bits/mathcalls.h" 1 3 4
98695 # 53 "/usr/include/bits/mathcalls.h" 3 4
98696
98697
98698 extern float acosf (float __x) throw (); extern float __acosf (float __x) throw ();
98699
98700 extern float asinf (float __x) throw (); extern float __asinf (float __x) throw ();
98701
98702 extern float atanf (float __x) throw (); extern float __atanf (float __x) throw ();
98703
98704 extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw ();
98705
98706
98707 extern float cosf (float __x) throw (); extern float __cosf (float __x) throw ();
98708
98709 extern float sinf (float __x) throw (); extern float __sinf (float __x) throw ();
98710
98711 extern float tanf (float __x) throw (); extern float __tanf (float __x) throw ();
98712
98713
98714
98715
98716 extern float coshf (float __x) throw (); extern float __coshf (float __x) throw ();
98717
98718 extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw ();
98719
98720 extern float tanhf (float __x) throw (); extern float __tanhf (float __x) throw ();
98721
98722
98723
98724
98725 extern void sincosf (float __x, float *__sinx, float *__cosx) throw (); extern void __sincosf (float __x, float *__sinx, float *__cosx) throw ();
98726
98727
98728
98729
98730
98731
98732 extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw ();
98733
98734 extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw ();
98735
98736 extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw ();
98737
98738
98739
98740
98741
98742
98743
98744 extern float expf (float __x) throw (); extern float __expf (float __x) throw ();
98745
98746
98747 extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw ();
98748
98749
98750 extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw ();
98751
98752
98753 extern float logf (float __x) throw (); extern float __logf (float __x) throw ();
98754
98755
98756 extern float log10f (float __x) throw (); extern float __log10f (float __x) throw ();
98757
98758
98759 extern float modff (float __x, float *__iptr) throw (); extern float __modff (float __x, float *__iptr) throw ();
98760
98761
98762
98763
98764 extern float exp10f (float __x) throw (); extern float __exp10f (float __x) throw ();
98765
98766 extern float pow10f (float __x) throw (); extern float __pow10f (float __x) throw ();
98767
98768
98769
98770
98771
98772 extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw ();
98773
98774
98775 extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw ();
98776
98777
98778 extern float logbf (float __x) throw (); extern float __logbf (float __x) throw ();
98779
98780
98781
98782
98783
98784
98785 extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw ();
98786
98787
98788 extern float log2f (float __x) throw (); extern float __log2f (float __x) throw ();
98789
98790
98791
98792
98793
98794
98795
98796
98797 extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw ();
98798
98799
98800 extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw ();
98801
98802
98803
98804
98805
98806 extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw ();
98807
98808
98809
98810
98811
98812
98813 extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw ();
98814
98815
98816
98817
98818
98819
98820
98821
98822 extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__));
98823
98824
98825 extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__));
98826
98827
98828 extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__));
98829
98830
98831 extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw ();
98832
98833
98834
98835
98836 extern int __isinff (float __value) throw () __attribute__ ((__const__));
98837
98838
98839 extern int __finitef (float __value) throw () __attribute__ ((__const__));
98840
98841
98842
98843
98844
98845 extern int isinff (float __value) throw () __attribute__ ((__const__));
98846
98847
98848 extern int finitef (float __value) throw () __attribute__ ((__const__));
98849
98850
98851 extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw ();
98852
98853
98854
98855 extern float significandf (float __x) throw (); extern float __significandf (float __x) throw ();
98856
98857
98858
98859
98860
98861 extern float copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) throw () __attribute__ ((__const__));
98862
98863
98864
98865
98866
98867
98868 extern float nanf (__const char *__tagb) throw () __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) throw () __attribute__ ((__const__));
98869
98870
98871
98872
98873
98874 extern int __isnanf (float __value) throw () __attribute__ ((__const__));
98875
98876
98877
98878 extern int isnanf (float __value) throw () __attribute__ ((__const__));
98879
98880
98881 extern float j0f (float) throw (); extern float __j0f (float) throw ();
98882 extern float j1f (float) throw (); extern float __j1f (float) throw ();
98883 extern float jnf (int, float) throw (); extern float __jnf (int, float) throw ();
98884 extern float y0f (float) throw (); extern float __y0f (float) throw ();
98885 extern float y1f (float) throw (); extern float __y1f (float) throw ();
98886 extern float ynf (int, float) throw (); extern float __ynf (int, float) throw ();
98887
98888
98889
98890
98891
98892
98893 extern float erff (float) throw (); extern float __erff (float) throw ();
98894 extern float erfcf (float) throw (); extern float __erfcf (float) throw ();
98895 extern float lgammaf (float) throw (); extern float __lgammaf (float) throw ();
98896
98897
98898
98899
98900
98901
98902 extern float tgammaf (float) throw (); extern float __tgammaf (float) throw ();
98903
98904
98905
98906
98907
98908 extern float gammaf (float) throw (); extern float __gammaf (float) throw ();
98909
98910
98911
98912
98913
98914
98915 extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw ();
98916
98917
98918
98919
98920
98921
98922
98923 extern float rintf (float __x) throw (); extern float __rintf (float __x) throw ();
98924
98925
98926 extern float nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) throw () __attribute__ ((__const__));
98927
98928 extern float nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__));
98929
98930
98931
98932 extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw ();
98933
98934
98935
98936 extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw ();
98937
98938
98939
98940 extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw ();
98941
98942
98943
98944
98945 extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw ();
98946
98947
98948
98949 extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw ();
98950
98951
98952
98953 extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__));
98954
98955
98956
98957 extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__));
98958
98959
98960
98961
98962 extern float remquof (float __x, float __y, int *__quo) throw (); extern float __remquof (float __x, float __y, int *__quo) throw ();
98963
98964
98965
98966
98967
98968
98969 extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw ();
98970 extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw ();
98971
98972
98973
98974 extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw ();
98975 extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw ();
98976
98977
98978
98979 extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw ();
98980
98981
98982 extern float fmaxf (float __x, float __y) throw (); extern float __fmaxf (float __x, float __y) throw ();
98983
98984
98985 extern float fminf (float __x, float __y) throw (); extern float __fminf (float __x, float __y) throw ();
98986
98987
98988
98989 extern int __fpclassifyf (float __value) throw ()
98990      __attribute__ ((__const__));
98991
98992
98993 extern int __signbitf (float __value) throw ()
98994      __attribute__ ((__const__));
98995
98996
98997
98998 extern float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw ();
98999
99000
99001
99002
99003
99004
99005
99006
99007 extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw ();
99008 # 95 "/usr/include/math.h" 2 3 4
99009 #undef _Mdouble_
99010 #undef _Mdouble_BEGIN_NAMESPACE
99011 #undef _Mdouble_END_NAMESPACE
99012 #undef __MATH_PRECNAME
99013 # 131 "/usr/include/math.h" 3 4
99014 #define _Mlong_double_ long double
99015
99016 #define _Mdouble_ _Mlong_double_
99017
99018 #define __MATH_PRECNAME(name,r) name ##l ##r
99019
99020
99021
99022 #define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_C99
99023 #define _Mdouble_END_NAMESPACE __END_NAMESPACE_C99
99024 # 1 "/usr/include/bits/mathcalls.h" 1 3 4
99025 # 53 "/usr/include/bits/mathcalls.h" 3 4
99026
99027
99028 extern long double acosl (long double __x) throw (); extern long double __acosl (long double __x) throw ();
99029
99030 extern long double asinl (long double __x) throw (); extern long double __asinl (long double __x) throw ();
99031
99032 extern long double atanl (long double __x) throw (); extern long double __atanl (long double __x) throw ();
99033
99034 extern long double atan2l (long double __y, long double __x) throw (); extern long double __atan2l (long double __y, long double __x) throw ();
99035
99036
99037 extern long double cosl (long double __x) throw (); extern long double __cosl (long double __x) throw ();
99038
99039 extern long double sinl (long double __x) throw (); extern long double __sinl (long double __x) throw ();
99040
99041 extern long double tanl (long double __x) throw (); extern long double __tanl (long double __x) throw ();
99042
99043
99044
99045
99046 extern long double coshl (long double __x) throw (); extern long double __coshl (long double __x) throw ();
99047
99048 extern long double sinhl (long double __x) throw (); extern long double __sinhl (long double __x) throw ();
99049
99050 extern long double tanhl (long double __x) throw (); extern long double __tanhl (long double __x) throw ();
99051
99052
99053
99054
99055 extern void sincosl (long double __x, long double *__sinx, long double *__cosx) throw (); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) throw ();
99056
99057
99058
99059
99060
99061
99062 extern long double acoshl (long double __x) throw (); extern long double __acoshl (long double __x) throw ();
99063
99064 extern long double asinhl (long double __x) throw (); extern long double __asinhl (long double __x) throw ();
99065
99066 extern long double atanhl (long double __x) throw (); extern long double __atanhl (long double __x) throw ();
99067
99068
99069
99070
99071
99072
99073
99074 extern long double expl (long double __x) throw (); extern long double __expl (long double __x) throw ();
99075
99076
99077 extern long double frexpl (long double __x, int *__exponent) throw (); extern long double __frexpl (long double __x, int *__exponent) throw ();
99078
99079
99080 extern long double ldexpl (long double __x, int __exponent) throw (); extern long double __ldexpl (long double __x, int __exponent) throw ();
99081
99082
99083 extern long double logl (long double __x) throw (); extern long double __logl (long double __x) throw ();
99084
99085
99086 extern long double log10l (long double __x) throw (); extern long double __log10l (long double __x) throw ();
99087
99088
99089 extern long double modfl (long double __x, long double *__iptr) throw (); extern long double __modfl (long double __x, long double *__iptr) throw ();
99090
99091
99092
99093
99094 extern long double exp10l (long double __x) throw (); extern long double __exp10l (long double __x) throw ();
99095
99096 extern long double pow10l (long double __x) throw (); extern long double __pow10l (long double __x) throw ();
99097
99098
99099
99100
99101
99102 extern long double expm1l (long double __x) throw (); extern long double __expm1l (long double __x) throw ();
99103
99104
99105 extern long double log1pl (long double __x) throw (); extern long double __log1pl (long double __x) throw ();
99106
99107
99108 extern long double logbl (long double __x) throw (); extern long double __logbl (long double __x) throw ();
99109
99110
99111
99112
99113
99114
99115 extern long double exp2l (long double __x) throw (); extern long double __exp2l (long double __x) throw ();
99116
99117
99118 extern long double log2l (long double __x) throw (); extern long double __log2l (long double __x) throw ();
99119
99120
99121
99122
99123
99124
99125
99126
99127 extern long double powl (long double __x, long double __y) throw (); extern long double __powl (long double __x, long double __y) throw ();
99128
99129
99130 extern long double sqrtl (long double __x) throw (); extern long double __sqrtl (long double __x) throw ();
99131
99132
99133
99134
99135
99136 extern long double hypotl (long double __x, long double __y) throw (); extern long double __hypotl (long double __x, long double __y) throw ();
99137
99138
99139
99140
99141
99142
99143 extern long double cbrtl (long double __x) throw (); extern long double __cbrtl (long double __x) throw ();
99144
99145
99146
99147
99148
99149
99150
99151
99152 extern long double ceill (long double __x) throw () __attribute__ ((__const__)); extern long double __ceill (long double __x) throw () __attribute__ ((__const__));
99153
99154
99155 extern long double fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double __fabsl (long double __x) throw () __attribute__ ((__const__));
99156
99157
99158 extern long double floorl (long double __x) throw () __attribute__ ((__const__)); extern long double __floorl (long double __x) throw () __attribute__ ((__const__));
99159
99160
99161 extern long double fmodl (long double __x, long double __y) throw (); extern long double __fmodl (long double __x, long double __y) throw ();
99162
99163
99164
99165
99166 extern int __isinfl (long double __value) throw () __attribute__ ((__const__));
99167
99168
99169 extern int __finitel (long double __value) throw () __attribute__ ((__const__));
99170
99171
99172
99173
99174
99175 extern int isinfl (long double __value) throw () __attribute__ ((__const__));
99176
99177
99178 extern int finitel (long double __value) throw () __attribute__ ((__const__));
99179
99180
99181 extern long double dreml (long double __x, long double __y) throw (); extern long double __dreml (long double __x, long double __y) throw ();
99182
99183
99184
99185 extern long double significandl (long double __x) throw (); extern long double __significandl (long double __x) throw ();
99186
99187
99188
99189
99190
99191 extern long double copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) throw () __attribute__ ((__const__));
99192
99193
99194
99195
99196
99197
99198 extern long double nanl (__const char *__tagb) throw () __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) throw () __attribute__ ((__const__));
99199
99200
99201
99202
99203
99204 extern int __isnanl (long double __value) throw () __attribute__ ((__const__));
99205
99206
99207
99208 extern int isnanl (long double __value) throw () __attribute__ ((__const__));
99209
99210
99211 extern long double j0l (long double) throw (); extern long double __j0l (long double) throw ();
99212 extern long double j1l (long double) throw (); extern long double __j1l (long double) throw ();
99213 extern long double jnl (int, long double) throw (); extern long double __jnl (int, long double) throw ();
99214 extern long double y0l (long double) throw (); extern long double __y0l (long double) throw ();
99215 extern long double y1l (long double) throw (); extern long double __y1l (long double) throw ();
99216 extern long double ynl (int, long double) throw (); extern long double __ynl (int, long double) throw ();
99217
99218
99219
99220
99221
99222
99223 extern long double erfl (long double) throw (); extern long double __erfl (long double) throw ();
99224 extern long double erfcl (long double) throw (); extern long double __erfcl (long double) throw ();
99225 extern long double lgammal (long double) throw (); extern long double __lgammal (long double) throw ();
99226
99227
99228
99229
99230
99231
99232 extern long double tgammal (long double) throw (); extern long double __tgammal (long double) throw ();
99233
99234
99235
99236
99237
99238 extern long double gammal (long double) throw (); extern long double __gammal (long double) throw ();
99239
99240
99241
99242
99243
99244
99245 extern long double lgammal_r (long double, int *__signgamp) throw (); extern long double __lgammal_r (long double, int *__signgamp) throw ();
99246
99247
99248
99249
99250
99251
99252
99253 extern long double rintl (long double __x) throw (); extern long double __rintl (long double __x) throw ();
99254
99255
99256 extern long double nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__));
99257
99258 extern long double nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__));
99259
99260
99261
99262 extern long double remainderl (long double __x, long double __y) throw (); extern long double __remainderl (long double __x, long double __y) throw ();
99263
99264
99265
99266 extern long double scalbnl (long double __x, int __n) throw (); extern long double __scalbnl (long double __x, int __n) throw ();
99267
99268
99269
99270 extern int ilogbl (long double __x) throw (); extern int __ilogbl (long double __x) throw ();
99271
99272
99273
99274
99275 extern long double scalblnl (long double __x, long int __n) throw (); extern long double __scalblnl (long double __x, long int __n) throw ();
99276
99277
99278
99279 extern long double nearbyintl (long double __x) throw (); extern long double __nearbyintl (long double __x) throw ();
99280
99281
99282
99283 extern long double roundl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundl (long double __x) throw () __attribute__ ((__const__));
99284
99285
99286
99287 extern long double truncl (long double __x) throw () __attribute__ ((__const__)); extern long double __truncl (long double __x) throw () __attribute__ ((__const__));
99288
99289
99290
99291
99292 extern long double remquol (long double __x, long double __y, int *__quo) throw (); extern long double __remquol (long double __x, long double __y, int *__quo) throw ();
99293
99294
99295
99296
99297
99298
99299 extern long int lrintl (long double __x) throw (); extern long int __lrintl (long double __x) throw ();
99300 extern long long int llrintl (long double __x) throw (); extern long long int __llrintl (long double __x) throw ();
99301
99302
99303
99304 extern long int lroundl (long double __x) throw (); extern long int __lroundl (long double __x) throw ();
99305 extern long long int llroundl (long double __x) throw (); extern long long int __llroundl (long double __x) throw ();
99306
99307
99308
99309 extern long double fdiml (long double __x, long double __y) throw (); extern long double __fdiml (long double __x, long double __y) throw ();
99310
99311
99312 extern long double fmaxl (long double __x, long double __y) throw (); extern long double __fmaxl (long double __x, long double __y) throw ();
99313
99314
99315 extern long double fminl (long double __x, long double __y) throw (); extern long double __fminl (long double __x, long double __y) throw ();
99316
99317
99318
99319 extern int __fpclassifyl (long double __value) throw ()
99320      __attribute__ ((__const__));
99321
99322
99323 extern int __signbitl (long double __value) throw ()
99324      __attribute__ ((__const__));
99325
99326
99327
99328 extern long double fmal (long double __x, long double __y, long double __z) throw (); extern long double __fmal (long double __x, long double __y, long double __z) throw ();
99329
99330
99331
99332
99333
99334
99335
99336
99337 extern long double scalbl (long double __x, long double __n) throw (); extern long double __scalbl (long double __x, long double __n) throw ();
99338 # 142 "/usr/include/math.h" 2 3 4
99339 #undef _Mdouble_
99340 #undef _Mdouble_BEGIN_NAMESPACE
99341 #undef _Mdouble_END_NAMESPACE
99342 #undef __MATH_PRECNAME
99343
99344
99345
99346
99347 #undef __MATHDECL_1
99348 #undef __MATHDECL
99349 #undef __MATHCALL
99350
99351
99352
99353
99354 extern int signgam;
99355 # 198 "/usr/include/math.h" 3 4
99356 enum
99357   {
99358     FP_NAN,
99359 #define FP_NAN FP_NAN
99360     FP_INFINITE,
99361 #define FP_INFINITE FP_INFINITE
99362     FP_ZERO,
99363 #define FP_ZERO FP_ZERO
99364     FP_SUBNORMAL,
99365 #define FP_SUBNORMAL FP_SUBNORMAL
99366     FP_NORMAL
99367 #define FP_NORMAL FP_NORMAL
99368   };
99369
99370
99371
99372
99373
99374
99375 #define fpclassify(x) (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : sizeof (x) == sizeof (double) ? __fpclassify (x) : __fpclassifyl (x))
99376 # 229 "/usr/include/math.h" 3 4
99377 #define signbit(x) (sizeof (x) == sizeof (float) ? __signbitf (x) : sizeof (x) == sizeof (double) ? __signbit (x) : __signbitl (x))
99378 # 241 "/usr/include/math.h" 3 4
99379 #define isfinite(x) (sizeof (x) == sizeof (float) ? __finitef (x) : sizeof (x) == sizeof (double) ? __finite (x) : __finitel (x))
99380
99381
99382
99383
99384
99385
99386
99387 #define isnormal(x) (fpclassify (x) == FP_NORMAL)
99388
99389
99390
99391
99392
99393
99394
99395 #define isnan(x) (sizeof (x) == sizeof (float) ? __isnanf (x) : sizeof (x) == sizeof (double) ? __isnan (x) : __isnanl (x))
99396 # 269 "/usr/include/math.h" 3 4
99397 #define isinf(x) (sizeof (x) == sizeof (float) ? __isinff (x) : sizeof (x) == sizeof (double) ? __isinf (x) : __isinfl (x))
99398
99399
99400
99401
99402
99403
99404
99405 #define MATH_ERRNO 1
99406 #define MATH_ERREXCEPT 2
99407
99408
99409
99410
99411
99412 typedef enum
99413 {
99414   _IEEE_ = -1,
99415   _SVID_,
99416   _XOPEN_,
99417   _POSIX_,
99418   _ISOC_
99419 } _LIB_VERSION_TYPE;
99420
99421
99422
99423
99424 extern _LIB_VERSION_TYPE _LIB_VERSION;
99425 # 307 "/usr/include/math.h" 3 4
99426 struct __exception
99427
99428
99429
99430   {
99431     int type;
99432     char *name;
99433     double arg1;
99434     double arg2;
99435     double retval;
99436   };
99437
99438
99439 extern int matherr (struct __exception *__exc) throw ();
99440
99441
99442
99443
99444 #define X_TLOSS 1.41484755040568800000e+16
99445
99446
99447 #define DOMAIN 1
99448 #define SING 2
99449 #define OVERFLOW 3
99450 #define UNDERFLOW 4
99451 #define TLOSS 5
99452 #define PLOSS 6
99453
99454
99455 #define HUGE 3.40282347e+38F
99456 # 350 "/usr/include/math.h" 3 4
99457 #define M_E 2.7182818284590452354
99458 #define M_LOG2E 1.4426950408889634074
99459 #define M_LOG10E 0.43429448190325182765
99460 #define M_LN2 0.69314718055994530942
99461 #define M_LN10 2.30258509299404568402
99462 #define M_PI 3.14159265358979323846
99463 #define M_PI_2 1.57079632679489661923
99464 #define M_PI_4 0.78539816339744830962
99465 #define M_1_PI 0.31830988618379067154
99466 #define M_2_PI 0.63661977236758134308
99467 #define M_2_SQRTPI 1.12837916709551257390
99468 #define M_SQRT2 1.41421356237309504880
99469 #define M_SQRT1_2 0.70710678118654752440
99470
99471
99472
99473
99474
99475
99476 #define M_El 2.7182818284590452353602874713526625L
99477 #define M_LOG2El 1.4426950408889634073599246810018921L
99478 #define M_LOG10El 0.4342944819032518276511289189166051L
99479 #define M_LN2l 0.6931471805599453094172321214581766L
99480 #define M_LN10l 2.3025850929940456840179914546843642L
99481 #define M_PIl 3.1415926535897932384626433832795029L
99482 #define M_PI_2l 1.5707963267948966192313216916397514L
99483 #define M_PI_4l 0.7853981633974483096156608458198757L
99484 #define M_1_PIl 0.3183098861837906715377675267450287L
99485 #define M_2_PIl 0.6366197723675813430755350534900574L
99486 #define M_2_SQRTPIl 1.1283791670955125738961589031215452L
99487 #define M_SQRT2l 1.4142135623730950488016887242096981L
99488 #define M_SQRT1_2l 0.7071067811865475244008443621048490L
99489 # 399 "/usr/include/math.h" 3 4
99490 #define isgreater(x,y) __builtin_isgreater(x, y)
99491 #define isgreaterequal(x,y) __builtin_isgreaterequal(x, y)
99492 #define isless(x,y) __builtin_isless(x, y)
99493 #define islessequal(x,y) __builtin_islessequal(x, y)
99494 #define islessgreater(x,y) __builtin_islessgreater(x, y)
99495 #define isunordered(u,v) __builtin_isunordered(u, v)
99496 # 465 "/usr/include/math.h" 3 4
99497 }
99498 # 55 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cmath" 2 3
99499
99500
99501 #undef abs
99502 #undef div
99503 #undef acos
99504 #undef asin
99505 #undef atan
99506 #undef atan2
99507 #undef ceil
99508 #undef cos
99509 #undef cosh
99510 #undef exp
99511 #undef fabs
99512 #undef floor
99513 #undef fmod
99514 #undef frexp
99515 #undef ldexp
99516 #undef log
99517 #undef log10
99518 #undef modf
99519 #undef pow
99520 #undef sin
99521 #undef sinh
99522 #undef sqrt
99523 #undef tan
99524 #undef tanh
99525
99526
99527 namespace std
99528 {
99529
99530
99531   template<typename _Tp> _Tp __cmath_power(_Tp, unsigned int);
99532
99533   inline double
99534   abs(double __x)
99535   { return __builtin_fabs(__x); }
99536
99537   inline float
99538   abs(float __x)
99539   { return __builtin_fabsf(__x); }
99540
99541   inline long double
99542   abs(long double __x)
99543   { return __builtin_fabsl(__x); }
99544
99545   using ::acos;
99546
99547   inline float
99548   acos(float __x)
99549   { return __builtin_acosf(__x); }
99550
99551   inline long double
99552   acos(long double __x)
99553   { return __builtin_acosl(__x); }
99554
99555   template<typename _Tp>
99556     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99557     acos(_Tp __x)
99558     {
99559       return __builtin_acos(__x);
99560     }
99561
99562   using ::asin;
99563
99564   inline float
99565   asin(float __x)
99566   { return __builtin_asinf(__x); }
99567
99568   inline long double
99569   asin(long double __x)
99570   { return __builtin_asinl(__x); }
99571
99572   template<typename _Tp>
99573     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99574     asin(_Tp __x)
99575     { return __builtin_asin(__x); }
99576
99577   using ::atan;
99578
99579   inline float
99580   atan(float __x)
99581   { return __builtin_atanf(__x); }
99582
99583   inline long double
99584   atan(long double __x)
99585   { return __builtin_atanl(__x); }
99586
99587   template<typename _Tp>
99588     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99589     atan(_Tp __x)
99590     { return __builtin_atan(__x); }
99591
99592   using ::atan2;
99593
99594   inline float
99595   atan2(float __y, float __x)
99596   { return __builtin_atan2f(__y, __x); }
99597
99598   inline long double
99599   atan2(long double __y, long double __x)
99600   { return __builtin_atan2l(__y, __x); }
99601
99602   template<typename _Tp, typename _Up>
99603     inline typename __enable_if<double, __is_integer<_Tp>::__value
99604                                         && __is_integer<_Up>::__value>::__type
99605     atan2(_Tp __y, _Up __x)
99606     { return __builtin_atan2(__y, __x); }
99607
99608   using ::ceil;
99609
99610   inline float
99611   ceil(float __x)
99612   { return __builtin_ceilf(__x); }
99613
99614   inline long double
99615   ceil(long double __x)
99616   { return __builtin_ceill(__x); }
99617
99618   template<typename _Tp>
99619     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99620     ceil(_Tp __x)
99621     { return __builtin_ceil(__x); }
99622
99623   using ::cos;
99624
99625   inline float
99626   cos(float __x)
99627   { return __builtin_cosf(__x); }
99628
99629   inline long double
99630   cos(long double __x)
99631   { return __builtin_cosl(__x); }
99632
99633   template<typename _Tp>
99634     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99635     cos(_Tp __x)
99636     { return __builtin_cos(__x); }
99637
99638   using ::cosh;
99639
99640   inline float
99641   cosh(float __x)
99642   { return __builtin_coshf(__x); }
99643
99644   inline long double
99645   cosh(long double __x)
99646   { return __builtin_coshl(__x); }
99647
99648   template<typename _Tp>
99649     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99650     cosh(_Tp __x)
99651     { return __builtin_cosh(__x); }
99652
99653   using ::exp;
99654
99655   inline float
99656   exp(float __x)
99657   { return __builtin_expf(__x); }
99658
99659   inline long double
99660   exp(long double __x)
99661   { return __builtin_expl(__x); }
99662
99663   template<typename _Tp>
99664     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99665     exp(_Tp __x)
99666     { return __builtin_exp(__x); }
99667
99668   using ::fabs;
99669
99670   inline float
99671   fabs(float __x)
99672   { return __builtin_fabsf(__x); }
99673
99674   inline long double
99675   fabs(long double __x)
99676   { return __builtin_fabsl(__x); }
99677
99678   template<typename _Tp>
99679     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99680     fabs(_Tp __x)
99681     { return __builtin_fabs(__x); }
99682
99683   using ::floor;
99684
99685   inline float
99686   floor(float __x)
99687   { return __builtin_floorf(__x); }
99688
99689   inline long double
99690   floor(long double __x)
99691   { return __builtin_floorl(__x); }
99692
99693   template<typename _Tp>
99694     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99695     floor(_Tp __x)
99696     { return __builtin_floor(__x); }
99697
99698   using ::fmod;
99699
99700   inline float
99701   fmod(float __x, float __y)
99702   { return __builtin_fmodf(__x, __y); }
99703
99704   inline long double
99705   fmod(long double __x, long double __y)
99706   { return __builtin_fmodl(__x, __y); }
99707
99708   using ::frexp;
99709
99710   inline float
99711   frexp(float __x, int* __exp)
99712   { return __builtin_frexpf(__x, __exp); }
99713
99714   inline long double
99715   frexp(long double __x, int* __exp)
99716   { return __builtin_frexpl(__x, __exp); }
99717
99718   template<typename _Tp>
99719     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99720     frexp(_Tp __x, int* __exp)
99721     { return __builtin_frexp(__x, __exp); }
99722
99723   using ::ldexp;
99724
99725   inline float
99726   ldexp(float __x, int __exp)
99727   { return __builtin_ldexpf(__x, __exp); }
99728
99729   inline long double
99730   ldexp(long double __x, int __exp)
99731   { return __builtin_ldexpl(__x, __exp); }
99732
99733   template<typename _Tp>
99734   inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99735   ldexp(_Tp __x, int __exp)
99736   { return __builtin_ldexp(__x, __exp); }
99737
99738   using ::log;
99739
99740   inline float
99741   log(float __x)
99742   { return __builtin_logf(__x); }
99743
99744   inline long double
99745   log(long double __x)
99746   { return __builtin_logl(__x); }
99747
99748   template<typename _Tp>
99749     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99750     log(_Tp __x)
99751     { return __builtin_log(__x); }
99752
99753   using ::log10;
99754
99755   inline float
99756   log10(float __x)
99757   { return __builtin_log10f(__x); }
99758
99759   inline long double
99760   log10(long double __x)
99761   { return __builtin_log10l(__x); }
99762
99763   template<typename _Tp>
99764     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99765     log10(_Tp __x)
99766     { return __builtin_log10(__x); }
99767
99768   using ::modf;
99769
99770   inline float
99771   modf(float __x, float* __iptr)
99772   { return __builtin_modff(__x, __iptr); }
99773
99774   inline long double
99775   modf(long double __x, long double* __iptr)
99776   { return __builtin_modfl(__x, __iptr); }
99777
99778   template<typename _Tp>
99779     inline _Tp
99780     __pow_helper(_Tp __x, int __n)
99781     {
99782       return __n < 0
99783         ? _Tp(1)/__cmath_power(__x, -__n)
99784         : __cmath_power(__x, __n);
99785     }
99786
99787   using ::pow;
99788
99789   inline float
99790   pow(float __x, float __y)
99791   { return __builtin_powf(__x, __y); }
99792
99793   inline long double
99794   pow(long double __x, long double __y)
99795   { return __builtin_powl(__x, __y); }
99796
99797   inline double
99798   pow(double __x, int __i)
99799   { return __builtin_powi(__x, __i); }
99800
99801   inline float
99802   pow(float __x, int __n)
99803   { return __builtin_powif(__x, __n); }
99804
99805   inline long double
99806   pow(long double __x, int __n)
99807   { return __builtin_powil(__x, __n); }
99808
99809   using ::sin;
99810
99811   inline float
99812   sin(float __x)
99813   { return __builtin_sinf(__x); }
99814
99815   inline long double
99816   sin(long double __x)
99817   { return __builtin_sinl(__x); }
99818
99819   template<typename _Tp>
99820     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99821     sin(_Tp __x)
99822     { return __builtin_sin(__x); }
99823
99824   using ::sinh;
99825
99826   inline float
99827   sinh(float __x)
99828   { return __builtin_sinhf(__x); }
99829
99830   inline long double
99831   sinh(long double __x)
99832   { return __builtin_sinhl(__x); }
99833
99834   template<typename _Tp>
99835     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99836     sinh(_Tp __x)
99837     { return __builtin_sinh(__x); }
99838
99839   using ::sqrt;
99840
99841   inline float
99842   sqrt(float __x)
99843   { return __builtin_sqrtf(__x); }
99844
99845   inline long double
99846   sqrt(long double __x)
99847   { return __builtin_sqrtl(__x); }
99848
99849   template<typename _Tp>
99850     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99851     sqrt(_Tp __x)
99852     { return __builtin_sqrt(__x); }
99853
99854   using ::tan;
99855
99856   inline float
99857   tan(float __x)
99858   { return __builtin_tanf(__x); }
99859
99860   inline long double
99861   tan(long double __x)
99862   { return __builtin_tanl(__x); }
99863
99864   template<typename _Tp>
99865     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99866     tan(_Tp __x)
99867     { return __builtin_tan(__x); }
99868
99869   using ::tanh;
99870
99871   inline float
99872   tanh(float __x)
99873   { return __builtin_tanhf(__x); }
99874
99875   inline long double
99876   tanh(long double __x)
99877   { return __builtin_tanhl(__x); }
99878
99879   template<typename _Tp>
99880     inline typename __enable_if<double, __is_integer<_Tp>::__value>::__type
99881     tanh(_Tp __x)
99882     { return __builtin_tanh(__x); }
99883 }
99884
99885
99886
99887
99888
99889
99890 namespace __gnu_cxx
99891 {
99892   template<typename _Tp>
99893     inline int
99894     __capture_fpclassify(_Tp __f) { return (sizeof (__f) == sizeof (float) ? __fpclassifyf (__f) : sizeof (__f) == sizeof (double) ? __fpclassify (__f) : __fpclassifyl (__f)); }
99895
99896   template<typename _Tp>
99897     inline int
99898     __capture_isfinite(_Tp __f) { return (sizeof (__f) == sizeof (float) ? __finitef (__f) : sizeof (__f) == sizeof (double) ? __finite (__f) : __finitel (__f)); }
99899
99900   template<typename _Tp>
99901     inline int
99902     __capture_isinf(_Tp __f) { return (sizeof (__f) == sizeof (float) ? __isinff (__f) : sizeof (__f) == sizeof (double) ? __isinf (__f) : __isinfl (__f)); }
99903
99904   template<typename _Tp>
99905     inline int
99906     __capture_isnan(_Tp __f) { return (sizeof (__f) == sizeof (float) ? __isnanf (__f) : sizeof (__f) == sizeof (double) ? __isnan (__f) : __isnanl (__f)); }
99907
99908   template<typename _Tp>
99909     inline int
99910     __capture_isnormal(_Tp __f) { return ((sizeof (__f) == sizeof (float) ? __fpclassifyf (__f) : sizeof (__f) == sizeof (double) ? __fpclassify (__f) : __fpclassifyl (__f)) == FP_NORMAL); }
99911
99912   template<typename _Tp>
99913     inline int
99914     __capture_signbit(_Tp __f) { return (sizeof (__f) == sizeof (float) ? __signbitf (__f) : sizeof (__f) == sizeof (double) ? __signbit (__f) : __signbitl (__f)); }
99915
99916   template<typename _Tp>
99917     inline int
99918     __capture_isgreater(_Tp __f1, _Tp __f2)
99919     { return __builtin_isgreater(__f1, __f2); }
99920
99921   template<typename _Tp>
99922     inline int
99923     __capture_isgreaterequal(_Tp __f1, _Tp __f2)
99924     { return __builtin_isgreaterequal(__f1, __f2); }
99925
99926   template<typename _Tp>
99927     inline int
99928     __capture_isless(_Tp __f1, _Tp __f2) { return __builtin_isless(__f1, __f2); }
99929
99930   template<typename _Tp>
99931     inline int
99932     __capture_islessequal(_Tp __f1, _Tp __f2)
99933     { return __builtin_islessequal(__f1, __f2); }
99934
99935   template<typename _Tp>
99936     inline int
99937     __capture_islessgreater(_Tp __f1, _Tp __f2)
99938     { return __builtin_islessgreater(__f1, __f2); }
99939
99940   template<typename _Tp>
99941     inline int
99942     __capture_isunordered(_Tp __f1, _Tp __f2)
99943     { return __builtin_isunordered(__f1, __f2); }
99944 }
99945
99946
99947 #undef fpclassify
99948 #undef isfinite
99949 #undef isinf
99950 #undef isnan
99951 #undef isnormal
99952 #undef signbit
99953 #undef isgreater
99954 #undef isgreaterequal
99955 #undef isless
99956 #undef islessequal
99957 #undef islessgreater
99958 #undef isunordered
99959
99960 namespace std
99961 {
99962   template<typename _Tp>
99963     inline int
99964     fpclassify(_Tp __f) { return __gnu_cxx::__capture_fpclassify(__f); }
99965
99966   template<typename _Tp>
99967     inline int
99968     isfinite(_Tp __f) { return __gnu_cxx::__capture_isfinite(__f); }
99969
99970   template<typename _Tp>
99971     inline int
99972     isinf(_Tp __f) { return __gnu_cxx::__capture_isinf(__f); }
99973
99974   template<typename _Tp>
99975     inline int
99976     isnan(_Tp __f) { return __gnu_cxx::__capture_isnan(__f); }
99977
99978   template<typename _Tp>
99979     inline int
99980     isnormal(_Tp __f) { return __gnu_cxx::__capture_isnormal(__f); }
99981
99982   template<typename _Tp>
99983     inline int
99984     signbit(_Tp __f) { return __gnu_cxx::__capture_signbit(__f); }
99985
99986   template<typename _Tp>
99987     inline int
99988     isgreater(_Tp __f1, _Tp __f2)
99989     { return __gnu_cxx::__capture_isgreater(__f1, __f2); }
99990
99991   template<typename _Tp>
99992     inline int
99993     isgreaterequal(_Tp __f1, _Tp __f2)
99994     { return __gnu_cxx::__capture_isgreaterequal(__f1, __f2); }
99995
99996   template<typename _Tp>
99997     inline int
99998     isless(_Tp __f1, _Tp __f2)
99999     { return __gnu_cxx::__capture_isless(__f1, __f2); }
100000
100001   template<typename _Tp>
100002     inline int
100003     islessequal(_Tp __f1, _Tp __f2)
100004     { return __gnu_cxx::__capture_islessequal(__f1, __f2); }
100005
100006   template<typename _Tp>
100007     inline int
100008     islessgreater(_Tp __f1, _Tp __f2)
100009     { return __gnu_cxx::__capture_islessgreater(__f1, __f2); }
100010
100011   template<typename _Tp>
100012     inline int
100013     isunordered(_Tp __f1, _Tp __f2)
100014     { return __gnu_cxx::__capture_isunordered(__f1, __f2); }
100015 }
100016
100017
100018
100019
100020 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/cmath.tcc" 1 3
100021 # 33 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/cmath.tcc" 3
100022 #define _GLIBCXX_CMATH_TCC 1
100023
100024 namespace std
100025 {
100026   template<typename _Tp>
100027     inline _Tp
100028     __cmath_power(_Tp __x, unsigned int __n)
100029     {
100030       _Tp __y = __n % 2 ? __x : 1;
100031
100032       while (__n >>= 1)
100033         {
100034           __x = __x * __x;
100035           if (__n % 2)
100036             __y = __y * __x;
100037         }
100038
100039       return __y;
100040     }
100041 }
100042 # 577 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cmath" 2 3
100043
100044
100045 #pragma GCC visibility pop
100046 # 10 "/home/emanuel/DIKU/3dot/source/math/vector.hpp" 2
100047 #define _isnan isnan
100048
100049
100050
100051
100052
100053
100054
100055 # 1 "/home/emanuel/DIKU/3dot/source/math/mathforward.hpp" 1
100056
100057 #define MATH_MATHFORWARD_HPP 
100058
100059 namespace Math {
100060
100061  template< class Scalar , unsigned int Size > class Vector;
100062  typedef Vector< float, 1 > vec1;
100063  typedef Vector< float, 2 > vec2;
100064  typedef Vector< float, 3 > vec3;
100065  typedef Vector< float, 4 > vec4;
100066  typedef Vector< float, 5 > vec5;
100067  typedef Vector< float, 6 > vec6;
100068  typedef Vector< float, 2 > fvec2;
100069  typedef Vector< float, 3 > fvec3;
100070  typedef Vector< float, 4 > fvec4;
100071  typedef Vector< float, 5 > fvec5;
100072  typedef Vector< double, 2 > dvec2;
100073  typedef Vector< double, 3 > dvec3;
100074  typedef Vector< double, 4 > dvec4;
100075  typedef Vector< double, 5 > dvec5;
100076  typedef Vector< int, 2 > ivec2;
100077  typedef Vector< int, 3 > ivec3;
100078  typedef Vector< int, 4 > ivec4;
100079  typedef Vector< int, 5 > ivec5;
100080  typedef Vector< unsigned int, 1 > uivec1;
100081  typedef Vector< unsigned int, 2 > uivec2;
100082  typedef Vector< unsigned int, 3 > uivec3;
100083  typedef Vector< unsigned int, 4 > uivec4;
100084  typedef Vector< unsigned int, 5 > uivec5;
100085  typedef Vector< unsigned char, 2 > ubvec2;
100086  typedef Vector< unsigned char, 3 > ubvec3;
100087  typedef Vector< unsigned char, 4 > ubvec4;
100088  typedef Vector< unsigned char, 5 > ubvec5;
100089
100090  template< class Scalar > class Quaternion;
100091  typedef Quaternion< float > quat;
100092  typedef Quaternion< float > fquat;
100093  typedef Quaternion< double > dquat;
100094
100095  template< class Scalar >
100096  class LargeVector;
100097
100098  template< class Scalar , unsigned int ROWS , unsigned int COLS > class Matrix;
100099  typedef Matrix< float , 2 , 2 > mat2;
100100  typedef Matrix< float , 3 , 3 > mat3;
100101  typedef Matrix< float , 4 , 4 > mat4;
100102
100103  template < typename T , class INTEGRATOR >
100104  class StateMemory;
100105  template < typename Scalar >
100106  class EulerIntegrator;
100107
100108 }
100109 # 19 "/home/emanuel/DIKU/3dot/source/math/vector.hpp" 2
100110
100111 namespace Math
100112 {
100113  template< class Scalar , unsigned int Size > class Vector
100114  {
100115  public:
100116
100117
100118   Vector();
100119   Vector( const Vector& rhs);
100120   explicit Vector( const Scalar& rhs);
100121   template< typename OtherScalar >
100122   explicit Vector( const Vector< OtherScalar, Size >& other_ )
100123   {
100124    for( unsigned i = 0; i != Size; ++i )
100125     (*this)(i) = static_cast<Scalar>(other_(i));
100126   }
100127
100128
100129
100130
100131
100132
100133
100134   template< class Scalar0 , class Scalar1 >
100135   Vector( const Scalar0 p0 , const Scalar1 p1);
100136
100137   template< class Scalar0 , class Scalar1 , class Scalar2 >
100138   Vector( const Scalar0 p0 , const Scalar1 p1 , const Scalar2 p2 );
100139
100140   template< class Scalar0 , class Scalar1 , class Scalar2 , class Scalar3 >
100141   Vector( const Scalar0 p0 , const Scalar1 p1 , const Scalar2 p2 , const Scalar3 p3);
100142
100143   template< class Scalar0, class Scalar1, unsigned int Size0 >
100144   Vector( const Vector< Scalar0, Size0 >& vec, Scalar1 scalar );
100145
100146   template< class S, class R, unsigned int Size1, unsigned int Size2 >
100147   Vector( const Vector< S, Size1 >& v0, const Vector< R, Size2 >& v1 );
100148
100149
100150   Vector& operator =( const Vector& rhs);
100151   Vector& operator =( const Scalar& _p);
100152
100153   template< unsigned int S2 >
100154    Vector& operator()( const unsigned int row , const Vector<Scalar,S2>& v );
100155
100156
100157   static const Vector& ZERO();
100158   static const Vector& XAXIS();
100159   static const Vector& YAXIS();
100160   static const Vector& ZAXIS();
100161
100162
100163   Scalar& operator ()( const unsigned int column );
100164   const Scalar& operator ()( const unsigned int column ) const;
100165   Scalar& operator []( const unsigned int column );
100166   const Scalar& operator []( const unsigned int column ) const;
100167
100168
100169   Scalar GetX() const { return data[ 0 ]; }
100170   void SetX( Scalar s ) { data[ 0 ] = s; }
100171   Scalar GetY() const { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>1 ) >)> boost_static_assert_typedef_80; return data[ 1 ]; }
100172   void SetY( Scalar s ) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>1 ) >)> boost_static_assert_typedef_81; data[ 1 ] = s; }
100173   Scalar GetZ() const { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>2 ) >)> boost_static_assert_typedef_82; return data[ 2 ]; }
100174   void SetZ( Scalar s ) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>2 ) >)> boost_static_assert_typedef_83; data[ 2 ] = s; }
100175   Scalar GetW() const { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>3 ) >)> boost_static_assert_typedef_84; return data[ 3 ]; }
100176   void SetW( Scalar s ) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>3 ) >)> boost_static_assert_typedef_85; data[ 3 ] = s; }
100177
100178
100179   void set( unsigned int index , const Scalar& value ){
100180    (static_cast<void> ((index < Size) ? 0 : (__assert_fail ("index < Size", "/home/emanuel/DIKU/3dot/source/math/vector.hpp", 89, __PRETTY_FUNCTION__), 0)));
100181    data[index] = value;
100182   }
100183
100184
100185
100186   Vector& operator +=( const Vector& rhs );
100187   Vector& operator -=( const Vector& rhs );
100188
100189
100190   Vector& operator *=( const Vector& rhs );
100191
100192
100193
100194   Vector& operator +=( const Scalar& rhs );
100195   Vector& operator -=( const Scalar& rhs );
100196   Vector& operator *=( const Scalar& rhs );
100197   Vector& operator /=( const Scalar& rhs );
100198
100199
100200   Vector operator -() const;
100201   void normalize();
100202   void absolute();
100203   Vector abs() const;
100204   Vector normalized() const;
100205   Scalar length() const;
100206   Scalar sqrLength() const;
100207
100208
100209   static const unsigned int SIZE = Size;
100210
100211
100212
100213   template< unsigned int S2 >
100214   class iterator {
100215   public:
100216    iterator() : v(0){}
100217    iterator( Scalar* v ) : v(v) {}
100218    iterator& operator++(){
100219     v += S2;
100220     return *this;
100221    }
100222    Vector<Scalar,S2>& operator*(){
100223     return *(Vector<Scalar,S2>*)(v);
100224    }
100225    bool operator!=( const iterator& rhs ){
100226     return v != rhs.v;
100227    }
100228    Scalar* v;
100229   };
100230
100231
100232   template< unsigned int S2 >
100233    iterator<S2> begin( unsigned int index ){
100234     return iterator<S2>( &data[ index * S2 ] );
100235    }
100236
100237   template< unsigned int S2 >
100238    iterator<S2> begin(){
100239     return iterator<S2>( data );
100240    }
100241
100242   template< unsigned int S2 >
100243    iterator<S2> end(){
100244     return iterator<S2>( begin() + Size );
100245    }
100246
100247   const Scalar* begin_const() const { return data; }
100248   const Scalar* end_const() const { return begin_const() + Size ; }
100249   Scalar* begin() { return data; }
100250   Scalar* end() { return begin() + Size ; }
100251
100252   bool IsNan() const{
100253    return ( end() != std::find_if( begin() , end() , isnan ) );
100254   }
100255
100256   template< class It1 >
100257    void Insert( It1 b , It1 e ){
100258     Scalar* pos = begin();
100259     while( b != e ){
100260      *pos = *b;
100261      ++b; ++pos;
100262      (static_cast<void> ((b != end()) ? 0 : (__assert_fail ("b != end()", "/home/emanuel/DIKU/3dot/source/math/vector.hpp", 171, __PRETTY_FUNCTION__), 0)));
100263     }
100264    }
100265
100266  private:
100267   Scalar data[ Size ];
100268
100269  };
100270
100271
100272
100273
100274
100275  template< class Scalar , unsigned int Size > Vector< Scalar , Size >
100276  operator+( const Vector< Scalar , Size >& lhs , const Vector< Scalar , Size >& rhs );
100277  template< class Scalar , unsigned int Size > Vector< Scalar , Size >
100278  operator-( const Vector< Scalar , Size >& lhs , const Vector< Scalar , Size >& rhs );
100279  template< class Scalar , unsigned int Size > Vector< Scalar , Size >
100280  operator*( const Vector< Scalar , Size >& lhs , const Vector< Scalar , Size >& rhs );
100281  template< class Scalar, class Scalar0, unsigned int Size >
100282  Vector< Scalar, Size > operator*( const Scalar0&, const Vector< Scalar, Size >& rhs );
100283  template< class Scalar, class Scalar0, unsigned int Size >
100284  Vector< Scalar, Size > operator*( const Vector< Scalar, Size >& rhs, const Scalar0& );
100285  template< class Scalar, class Scalar0, unsigned int Size >
100286  Vector< Scalar, Size > operator/( const Vector< Scalar, Size >& rhs, const Scalar0& );
100287  template< class Scalar, class Scalar0, unsigned int Size >
100288  Vector< Scalar, Size > operator/( const Scalar0& , const Vector< Scalar, Size >& rhs );
100289
100290   template< class Scalar, class Scalar0, unsigned int Size >
100291  Vector< Scalar, Size > operator +( const Vector< Scalar, Size >& rhs, const Scalar0& );
100292   template< class Scalar, class Scalar0, unsigned int Size >
100293  Vector< Scalar, Size > operator +( const Scalar0&, const Vector< Scalar, Size >& rhs );
100294   template< class Scalar, class Scalar0, unsigned int Size >
100295  Vector< Scalar, Size > operator -( const Vector< Scalar, Size >& rhs, const Scalar0& );
100296   template< class Scalar, class Scalar0, unsigned int Size >
100297  Vector< Scalar, Size > operator -( const Scalar0&, const Vector< Scalar, Size >& rhs );
100298
100299
100300
100301
100302  template< class Scalar , unsigned int Size > std::ostream& operator<<( std::ostream& ostr , const Vector< Scalar , Size >& rhs );
100303  template< class Scalar , unsigned int Size > std::istream& operator>>( std::istream& istr , Vector< Scalar , Size >& rhs );
100304
100305
100306
100307  template< class Scalar , unsigned int Size > Scalar dot( const Vector< Scalar , Size >& lhs , const Vector< Scalar , Size >& rhs );
100308  template< class Scalar > Vector< Scalar , 3 > cross( const Vector< Scalar , 3 >& lhs , const Vector< Scalar , 3 >& rhs );
100309
100310  template< class Scalar > Vector< Scalar , 4 > cross( const Vector< Scalar , 4 >& lhs , const Vector< Scalar , 4 >& rhs );
100311
100312
100313  template< class Scalar , unsigned int Size >
100314  bool operator ==( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs );
100315  template< class Scalar , unsigned int Size >
100316  bool operator !=( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs );
100317  template< class Scalar , unsigned int Size >
100318  bool operator <( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs );
100319  template< class Scalar , unsigned int Size >
100320  bool operator >( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs );
100321  template< class Scalar , unsigned int Size >
100322  bool operator <=( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs );
100323  template< class Scalar , unsigned int Size >
100324  bool operator >=( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs );
100325
100326
100327
100328  template< class Scalar , unsigned int Size >
100329  Scalar Max( const Vector< Scalar , Size >& v );
100330  template< class Scalar , unsigned int Size >
100331  Scalar Min( const Vector< Scalar , Size >& v );
100332  template< class Scalar , unsigned int Size >
100333  unsigned int MaxIndex( const Vector< Scalar , Size >& v );
100334  template< class Scalar , unsigned int Size >
100335  unsigned int MinIndex( const Vector< Scalar , Size >& v );
100336  template< class Scalar , unsigned int Size >
100337  unsigned int MaxAbsIndex( const Vector< Scalar , Size >& v );
100338  template< class Scalar , unsigned int Size >
100339  unsigned int MinAbsIndex( const Vector< Scalar , Size >& v );
100340
100341
100342  template< class Scalar >
100343   Vector< Scalar , 2 > CrossVector( const Vector<Scalar,2>& v ){
100344    Vector< Scalar , 2 > res( -v[1] , v[0] );
100345    return res;
100346   }
100347
100348
100349
100350  template< class Scalar , unsigned int Size >
100351   bool Parallel( const Math::Vector< Scalar , Size >& left , const Math::Vector< Scalar , Size >& right ){
100352    Scalar t = dot( left , right ) / ( left.length() * right.length() );
100353    return fabs( fabs( t ) - static_cast<Scalar>(1) ) < std::numeric_limits<Scalar>::epsilon();
100354   }
100355
100356 }
100357
100358
100359  template< class Scalar , unsigned int Size >
100360   Math::Vector< Scalar , Size > max( const Math::Vector< Scalar , Size >& left , const Math::Vector< Scalar , Size >& right ){
100361    Math::Vector< Scalar , Size > res;
100362    for( unsigned int i = 0; i < Size; ++i ){
100363     res[i] = std::max( left[i] , right[i] );
100364    }
100365    return res;
100366   }
100367
100368
100369  template< class Scalar , unsigned int Size >
100370   Math::Vector< Scalar , Size > min( const Math::Vector< Scalar , Size >& left , const Math::Vector< Scalar , Size >& right ){
100371    Math::Vector< Scalar , Size > res;
100372    for( unsigned int i = 0; i < Size; ++i ){
100373     res[i] = std::min( left[i] , right[i] );
100374    }
100375    return res;
100376   }
100377
100378
100379 # 1 "/home/emanuel/DIKU/3dot/source/math/vector.inl" 1
100380
100381
100382
100383 #pragma warning( disable : 4244 )
100384
100385 namespace Math
100386 {
100387
100388   template< class Scalar , unsigned int COLS >
100389  Vector< Scalar , COLS >::Vector(){}
100390
100391     template< class Scalar , unsigned int COLS >
100392     Vector< Scalar , COLS >::Vector( const Vector< Scalar , COLS >& rhs )
100393   {
100394    for( unsigned i = 0; i < COLS; ++i)
100395     data[i] = rhs.data[i];
100396   }
100397
100398     template< class Scalar , unsigned int COLS >
100399       template< class Scalar0 , class Scalar1 >
100400   Vector< Scalar , COLS >::Vector( const Scalar0 p0 , const Scalar1 p1)
100401   {
100402    typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( COLS == 2 ) >)> boost_static_assert_typedef_23;
100403    data[ 0 ] = Scalar( p0 );
100404    data[ 1 ] = Scalar( p1 );
100405   }
100406
100407
100408     template< class Scalar , unsigned int COLS >
100409   template< class Scalar0 , class Scalar1 , class Scalar2 >
100410   Vector< Scalar , COLS>::Vector( const Scalar0 p0 , const Scalar1 p1 , const Scalar2 p2 )
100411   {
100412    typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( COLS == 3 ) >)> boost_static_assert_typedef_33;
100413    data[ 0 ] = Scalar( p0 );
100414    data[ 1 ] = Scalar( p1 );
100415    data[ 2 ] = Scalar( p2 );
100416   }
100417
100418
100419     template< class Scalar , unsigned int COLS >
100420   template< class Scalar0 , class Scalar1 , class Scalar2 , class Scalar3 >
100421   Vector<Scalar , COLS >::Vector( const Scalar0 p0 , const Scalar1 p1 , const Scalar2 p2 , const Scalar3 p3)
100422   {
100423    typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( COLS == 4 ) >)> boost_static_assert_typedef_44;
100424    data[ 0 ] = Scalar( p0 );
100425    data[ 1 ] = Scalar( p1 );
100426    data[ 2 ] = Scalar( p2 );
100427    data[ 3 ] = Scalar( p3 );
100428   }
100429
100430     template< class Scalar , unsigned int COLS >
100431   template< class Scalar0, class Scalar1, unsigned int Size0 >
100432   Vector< Scalar , COLS >::Vector( const Vector< Scalar0, Size0 >& vec, Scalar1 scalar )
100433   {
100434    typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( Size0+1 == COLS ) >)> boost_static_assert_typedef_55;
100435    for( int i = 0; i != Size0; ++i )
100436     data[ i ] = Scalar0( vec[i] );
100437    data[ Size0 ] = Scalar0( scalar );
100438   }
100439
100440
100441    template< class Scalar , unsigned int COLS > Vector< Scalar , COLS >::Vector( const Scalar& _p){
100442    for( unsigned i = 0; i < COLS; ++i)
100443     data[ i ] = _p;
100444   }
100445
100446
100447   template< class Scalar , unsigned int Size >
100448   template< class S, class R, unsigned int Size1, unsigned int Size2 >
100449   Vector< Scalar , Size >::Vector( const Vector< S, Size1 >& v0, const Vector< R, Size2 >& v1 )
100450   {
100451    typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( Size1 + Size2 == Size ) >)> boost_static_assert_typedef_72;
100452    for( int i = 0; i != Size1; ++i )
100453     data[ i ] = v0[ i ];
100454    for( int i = 0;
100455       i != Size2; ++i )
100456     data[ i + Size1 ] = v1[ i ];
100457   }
100458
100459
100460
100461
100462   template< class Scalar , unsigned int COLS >
100463  const Vector< Scalar , COLS >& Vector< Scalar , COLS >::ZERO()
100464  {
100465   static Vector< Scalar , COLS > zero;
100466   static bool initialized = false;
100467     if ( !initialized )
100468   {
100469    for( int i = 0; i < COLS; ++i )
100470     zero( i ) = 0;
100471    initialized = true;
100472     }
100473     return zero;
100474   }
100475
100476
100477  template< class Scalar , unsigned int COLS >
100478   const Vector< Scalar , COLS >& Vector< Scalar , COLS >::XAXIS(){
100479    static Vector<Scalar,COLS> xAxis(static_cast<Scalar>(1.0f) , static_cast<Scalar>(0.0) , static_cast<Scalar>(0.0) );
100480    return xAxis;
100481   }
100482
100483  template< class Scalar , unsigned int COLS >
100484   const Vector< Scalar , COLS >& Vector< Scalar , COLS >::YAXIS(){
100485    static Vector<Scalar,COLS> yAxis(static_cast<Scalar>(0.0f) , static_cast<Scalar>(1.0) , static_cast<Scalar>(0.0) );
100486    return yAxis;
100487   }
100488
100489  template< class Scalar , unsigned int COLS >
100490   const Vector< Scalar , COLS >& Vector< Scalar , COLS >::ZAXIS(){
100491    static Vector<Scalar,COLS> zAxis(static_cast<Scalar>(0.0f) , static_cast<Scalar>(0.0) , static_cast<Scalar>(1.0) );
100492    return zAxis;
100493   }
100494
100495
100496
100497  template< class Scalar , unsigned int COLS >
100498  Scalar& Vector< Scalar , COLS >::operator()( const unsigned int column )
100499  {
100500   (static_cast<void> ((column < COLS) ? 0 : (__assert_fail ("column < COLS", "/home/emanuel/DIKU/3dot/source/math/vector.inl", 121, __PRETTY_FUNCTION__), 0)));
100501     return data[ column ];
100502   }
100503
100504   template< class Scalar , unsigned int COLS >
100505  const Scalar& Vector< Scalar , COLS >::operator()( const unsigned int column ) const
100506  {
100507   (static_cast<void> ((column < COLS) ? 0 : (__assert_fail ("column < COLS", "/home/emanuel/DIKU/3dot/source/math/vector.inl", 128, __PRETTY_FUNCTION__), 0)));
100508     return data[ column ];
100509   }
100510
100511   template< class Scalar , unsigned int COLS >
100512  Scalar& Vector< Scalar , COLS >::operator[]( const unsigned int column )
100513  {
100514   (static_cast<void> ((column < COLS) ? 0 : (__assert_fail ("column < COLS", "/home/emanuel/DIKU/3dot/source/math/vector.inl", 135, __PRETTY_FUNCTION__), 0)));
100515   return data[ column ];
100516   }
100517
100518   template< class Scalar , unsigned int COLS >
100519  const Scalar& Vector< Scalar , COLS >::operator[]( const unsigned int column ) const
100520  {
100521   (static_cast<void> ((column < COLS) ? 0 : (__assert_fail ("column < COLS", "/home/emanuel/DIKU/3dot/source/math/vector.inl", 142, __PRETTY_FUNCTION__), 0)));
100522     return data[ column ];
100523   }
100524
100525   template< class Scalar , unsigned int COLS >
100526     template< unsigned int S2 >
100527   Vector< Scalar , COLS >& Vector< Scalar , COLS >::operator()( const unsigned int row , const Vector<Scalar,S2>& v ){
100528    typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( S2 <= COLS ) >)> boost_static_assert_typedef_149;
100529    (static_cast<void> ((( row + 1) * S2 <= COLS) ? 0 : (__assert_fail ("( row + 1) * S2 <= COLS", "/home/emanuel/DIKU/3dot/source/math/vector.inl", 150, __PRETTY_FUNCTION__), 0)));
100530    Scalar * dst = &data[ row * S2 ];
100531    const Scalar *src = v.begin_const();
100532    while( src != v.end_const() ){
100533     *dst = *src;
100534     dst++; src++;
100535    }
100536    return *this;
100537   }
100538
100539
100540
100541  template< class Scalar , unsigned int COLS > Vector< Scalar , COLS >& Vector< Scalar , COLS >::operator+=( const Vector< Scalar , COLS >& rhs ){
100542     for( int i = 0; i < COLS; ++i ){
100543      (*this)( i ) += rhs( i );
100544     }
100545   return *this;
100546   }
100547
100548   template< class Scalar , unsigned int COLS > Vector< Scalar , COLS >& Vector< Scalar , COLS >::operator=( const Vector< Scalar , COLS >& rhs)
100549   {
100550    for( unsigned i = 0; i < COLS; ++i)
100551     data[i] = rhs.data[i];
100552    return *this;
100553   }
100554
100555   template< class Scalar , unsigned int COLS > Vector< Scalar , COLS >& Vector< Scalar , COLS >::operator=( const Scalar& rhs){
100556    for( unsigned i = 0; i < COLS; ++i)
100557     data[ i ] = rhs;
100558    return *this;
100559   }
100560
100561
100562
100563   template< class Scalar , unsigned int COLS >
100564  Vector< Scalar , COLS >& Vector< Scalar , COLS >::operator-=( const Vector< Scalar , COLS >& rhs )
100565  {
100566   for( int i = 0; i < COLS; ++i )
100567    (*this)( i ) -= rhs( i );
100568   return *this;
100569   }
100570
100571   template< class Scalar , unsigned int COLS >
100572  Vector< Scalar , COLS >& Vector< Scalar , COLS >::operator*=( const Vector< Scalar , COLS >& rhs )
100573  {
100574   for( int i = 0; i < COLS; ++i )
100575    (*this)( i ) *= rhs( i );
100576   return *this;
100577   }
100578
100579   template< class Scalar , unsigned int COLS > Vector< Scalar , COLS >& Vector< Scalar , COLS >::operator+=( const Scalar& rhs ){
100580     for( int i = 0; i < COLS; ++i ){
100581      (*this)( i ) += rhs;
100582     }
100583 return *this;
100584   }
100585
100586   template< class Scalar , unsigned int COLS > Vector< Scalar , COLS >& Vector< Scalar , COLS >::operator-=( const Scalar& rhs ){
100587 for( int i = 0; i < COLS; ++i ){
100588  (*this)( i ) -= rhs;
100589 }
100590 return *this;
100591   }
100592
100593   template< class Scalar , unsigned int COLS > Vector< Scalar , COLS >& Vector< Scalar , COLS >::operator*=( const Scalar& rhs ){
100594 for( int i = 0; i < COLS; ++i ){
100595  (*this)( i ) *= rhs;
100596 }
100597 return *this;
100598   }
100599
100600   template< class Scalar , unsigned int COLS > Vector< Scalar , COLS >& Vector< Scalar , COLS >::operator/=( const Scalar& rhs ){
100601     for( int i = 0; i < COLS; ++i ){
100602 (*this)( i ) /= rhs;
100603     }
100604     return *this;
100605   }
100606
100607  template< class Scalar , unsigned int COLS >
100608  Vector< Scalar, COLS > Vector< Scalar, COLS >::operator -() const
100609  {
100610   Vector temp;
100611   for( int i = 0; i != COLS; ++i )
100612    temp[ i ] = -(*this)[ i ];
100613   return temp;
100614  }
100615
100616
100617   template< class Scalar, unsigned int COLS >
100618  Vector< Scalar, COLS > Vector< Scalar, COLS >::normalized() const
100619  {
100620     Vector< Scalar , COLS > res( *this );
100621     res *= Scalar(1) / this->length();
100622     return res;
100623   }
100624
100625   template< class Scalar , unsigned int COLS > void Vector< Scalar , COLS >::normalize(){
100626     (*this) *= Scalar(1) / this->length();
100627   }
100628
100629
100630   template< class Scalar , unsigned int COLS > Scalar Vector< Scalar , COLS >::sqrLength() const{
100631     return dot( *this , *this );
100632   }
100633
100634   template< class Scalar , unsigned int COLS > Scalar Vector< Scalar , COLS >::length() const{
100635     return sqrt( dot( *this , *this ) );
100636   }
100637
100638   template< class Scalar , unsigned int COLS > void Vector< Scalar , COLS >::absolute() {
100639   for( unsigned int i = 0; i < COLS; ++i )
100640    (*this)[i] = abs( (*this)[i] );
100641  }
100642
100643   template< class Scalar , unsigned int COLS > Vector< Scalar , COLS > Vector< Scalar , COLS >::abs() const {
100644   Vector< Scalar , COLS > res;
100645   for( unsigned int i = 0; i < COLS; ++i )
100646    res[i] = std::abs( (*this)[i] );
100647   return res;
100648  }
100649
100650
100651  template< class Scalar , unsigned int Size > Vector< Scalar , Size > operator+( const Vector< Scalar , Size >& lhs , const Vector< Scalar , Size >& rhs ){
100652     Vector< Scalar , Size > res(lhs);
100653     res += rhs;
100654     return res;
100655   }
100656
100657   template< class Scalar , unsigned int Size > Vector< Scalar , Size > operator-( const Vector< Scalar , Size >& lhs , const Vector< Scalar , Size >& rhs ){
100658     Vector< Scalar , Size > res(lhs);
100659     res -= rhs;
100660     return res;
100661   }
100662   template< class Scalar , unsigned int Size > Vector< Scalar , Size > operator*( const Vector< Scalar , Size >& lhs , const Vector< Scalar , Size >& rhs ){
100663     Vector< Scalar , Size > res(lhs);
100664     res *= rhs;
100665     return res;
100666   }
100667
100668   template< class Scalar, class Scalar0, unsigned int Size >
100669  Vector< Scalar, Size > operator*( const Scalar0& scalar, const Vector< Scalar, Size >& rhs )
100670  {
100671   Vector< Scalar, Size > res;
100672   for( unsigned int i = 0; i != Size; ++i )
100673    res( i ) = rhs( i ) * scalar;
100674   return res;
100675  }
100676   template< class Scalar, class Scalar0, unsigned int Size >
100677  Vector< Scalar, Size > operator*( const Vector< Scalar, Size >& rhs, const Scalar0& scalar)
100678  {
100679   Vector< Scalar, Size > res;
100680   for( unsigned int i = 0; i != Size; ++i )
100681    res( i ) = rhs( i ) * scalar;
100682   return res;
100683  }
100684   template< class Scalar, class Scalar0, unsigned int Size >
100685  Vector< Scalar, Size > operator/( const Vector< Scalar, Size >& rhs, const Scalar0& scalar )
100686  {
100687   Scalar rcp = 1;
100688   rcp /= scalar;
100689   Vector< Scalar, Size > res;
100690   for( unsigned int i = 0; i != Size; ++i )
100691    res( i ) = rhs( i ) * rcp;
100692   return res;
100693  }
100694
100695   template< class Scalar, class Scalar0, unsigned int Size >
100696  Vector< Scalar, Size > operator/( const Scalar0& scalar , const Vector< Scalar, Size >& rhs)
100697  {
100698   Vector< Scalar, Size > res;
100699   for( unsigned int i = 0; i != Size; ++i )
100700    res( i ) = scalar / rhs( i );
100701   return res;
100702  }
100703
100704  template< class Scalar, class Scalar0, unsigned int Size >
100705  Vector< Scalar, Size > operator +( const Vector< Scalar, Size >& rhs, const Scalar0& s )
100706   {
100707     Vector< Scalar, Size > r;
100708     for( unsigned i = 0; i != Size; ++i )
100709       r[ i ] = rhs[ i ] + s;
100710     return r;
100711   }
100712   template< class Scalar, class Scalar0, unsigned int Size >
100713  Vector< Scalar, Size > operator +( const Scalar0& s, const Vector< Scalar, Size >& rhs )
100714   {
100715     Vector< Scalar, Size > r;
100716     for( unsigned i = 0; i != Size; ++i )
100717       r[ i ] = rhs[ i ] + s;
100718     return r;
100719   }
100720
100721   template< class Scalar, class Scalar0, unsigned int Size >
100722  Vector< Scalar, Size > operator -( const Vector< Scalar, Size >& rhs, const Scalar0& s )
100723   {
100724     Vector< Scalar, Size > r;
100725     for( unsigned i = 0; i != Size; ++i )
100726       r[ i ] = rhs[ i ] - s;
100727     return r;
100728   }
100729   template< class Scalar, class Scalar0, unsigned int Size >
100730  Vector< Scalar, Size > operator -( const Scalar0& s, const Vector< Scalar, Size >& rhs )
100731   {
100732     Vector< Scalar, Size > r;
100733     for( unsigned i = 0; i != Size; ++i )
100734       r[ i ] = s - rhs[ i ];
100735     return r;
100736   }
100737
100738
100739   template< class Scalar , unsigned int Size > std::ostream& operator<<( std::ostream& ostr , const Vector< Scalar , Size >& rhs ){
100740   ostr << "[";
100741     for( int i = 0; i < Size; ++i ){
100742 ostr << rhs( i ) << " ";
100743     }
100744   ostr << "]";
100745     return ostr;
100746   }
100747
100748
100749   template< class Scalar , unsigned int Size > std::istream& operator>>( std::istream& istr , Vector< Scalar , Size >& rhs ){
100750   char c;
100751   istr >> c;
100752     for( int i = 0; i < Size; ++i ){
100753 istr >> rhs( i );
100754     }
100755   istr >> c;
100756     return istr;
100757   }
100758
100759
100760   template< class Scalar , unsigned int Size > Scalar dot( const Vector< Scalar , Size >& lhs , const Vector< Scalar , Size >& rhs ){
100761     Scalar res = Scalar(0);
100762     for( int i = 0; i < Size; ++i ){
100763   res += lhs( i ) * rhs( i );
100764     }
100765     return res;
100766   }
100767
100768
100769   template< class Scalar > Vector< Scalar , 3 > cross( const Vector< Scalar , 3 >& lhs , const Vector< Scalar , 3 >& rhs ){
100770     Vector< Scalar , 3 > res;
100771
100772     res[0] = lhs[1] * rhs[2] - lhs[2] * rhs[1];
100773     res[1] = lhs[2] * rhs[0] - lhs[0] * rhs[2];
100774     res[2] = lhs[0] * rhs[1] - lhs[1] * rhs[0];
100775     return res;
100776   }
100777 # 408 "/home/emanuel/DIKU/3dot/source/math/vector.inl"
100778   template< class Scalar > Vector< Scalar , 4 > cross( const Vector< Scalar , 4 >& lhs , const Vector< Scalar , 4 >& rhs ){
100779     Vector< Scalar , 4 > res;
100780
100781     res[0] = lhs[1] * rhs[2] - lhs[2] * rhs[1];
100782     res[1] = lhs[2] * rhs[0] - lhs[0] * rhs[2];
100783     res[2] = lhs[0] * rhs[1] - lhs[1] * rhs[0];
100784     res[3] = 0;
100785     return res;
100786   }
100787
100788  template< class Scalar , unsigned int Size >
100789  bool operator ==( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs )
100790  {
100791   bool ret = true;
100792   for( unsigned int i = 0; i < Size; ++i )
100793    ret = ret && lhs( i ) == rhs( i );
100794   return ret;
100795  }
100796  template< class Scalar , unsigned int Size >
100797  bool operator !=( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs )
100798  {
100799    return !(lhs == rhs);
100800  }
100801  template< class Scalar , unsigned int Size >
100802  bool operator <( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs )
100803  {
100804   for( unsigned int i = 0; i < Size; ++i )
100805   {
100806    if( lhs( i ) < rhs( i ) )
100807     return true;
100808    if( lhs( i ) > rhs( i ) )
100809     return false;
100810   }
100811   return false;
100812  }
100813  template< class Scalar , unsigned int Size >
100814  bool operator >( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs )
100815  {
100816   for( unsigned int i = 0; i < Size; ++i )
100817   {
100818    if( lhs( i ) > rhs( i ) )
100819     return true;
100820    if( lhs( i ) < rhs( i ) )
100821     return false;
100822   }
100823   return false;
100824  }
100825  template< class Scalar , unsigned int Size >
100826  bool operator <=( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs )
100827  {
100828   return !(lhs > rhs);
100829  }
100830  template< class Scalar , unsigned int Size >
100831  bool operator >=( const Vector< Scalar , Size >& lhs, const Vector< Scalar , Size >& rhs )
100832  {
100833   return !(lhs < rhs);
100834  }
100835
100836
100837  template< class Scalar , unsigned int Size >
100838   Scalar Max( const Vector< Scalar , Size >& v ){
100839    Scalar res = v[0];
100840    for( unsigned int i = 0; i < Size; ++i)
100841     if ( res < v[i] )
100842      res = v[i];
100843    return res;
100844   }
100845
100846  template< class Scalar , unsigned int Size >
100847  Scalar Min( const Vector< Scalar , Size >& v ){
100848    Scalar res = v[0];
100849    for( unsigned int i = 0; i < Size; ++i)
100850     if ( res > v[i] )
100851      res = v[i];
100852    return res;
100853   }
100854
100855  template< class Scalar , unsigned int Size >
100856   unsigned int MaxIndex( const Vector< Scalar , Size >& v ){
100857    Scalar res = v[0];
100858    unsigned int index = 0;
100859    for( unsigned int i = 0; i < Size; ++i)
100860     if ( res < v[i] ){
100861      res = v[i];
100862      index = i;
100863     }
100864    return index;
100865
100866   }
100867
100868   template< class Scalar , unsigned int Size >
100869    unsigned int MinIndex( const Vector< Scalar , Size >& v ){
100870    Scalar res = v[0];
100871    unsigned int index = 0;
100872    for( unsigned int i = 0; i < Size; ++i)
100873     if ( res > v[i] ){
100874      res = v[i];
100875      index = i;
100876     }
100877    return index;
100878   }
100879
100880  template< class Scalar , unsigned int Size >
100881   unsigned int MaxAbsIndex( const Vector< Scalar , Size >& v ){
100882    Scalar res = fabs(v[0]);
100883    unsigned int index = 0;
100884    for( unsigned int i = 0; i < Size; ++i)
100885     if ( res < fabs(v[i]) ){
100886      res = fabs(v[i]);
100887      index = i;
100888     }
100889    return index;
100890
100891   }
100892
100893   template< class Scalar , unsigned int Size >
100894    unsigned int MinAbsIndex( const Vector< Scalar , Size >& v ){
100895    Scalar res = fabs(v[0]);
100896    unsigned int index = 0;
100897    for( unsigned int i = 0; i < Size; ++i)
100898     if ( res > fabs(v[i]) ){
100899      res = fabs(v[i]);
100900      index = i;
100901     }
100902    return index;
100903   }
100904
100905
100906
100907 }
100908 # 289 "/home/emanuel/DIKU/3dot/source/math/vector.hpp" 2
100909 # 6 "/home/emanuel/DIKU/3dot/source/render/scene/transform.h" 2
100910 # 1 "/home/emanuel/DIKU/3dot/source/math/matrix.hpp" 1
100911 # 19 "/home/emanuel/DIKU/3dot/source/math/matrix.hpp"
100912 #define MATH_MATRIX_HPP_3DIKU 
100913
100914
100915
100916
100917 #define MATRIXARGS class Scalar , unsigned int ROWS , unsigned int COLS
100918
100919
100920 namespace Math
100921 {
100922
100923   template< class Scalar , unsigned int ROWS , unsigned int COLS >
100924   class Matrix
100925   {
100926   static const unsigned int Size = ROWS * COLS;
100927   public:
100928
100929     Matrix();
100930     Matrix( const Matrix& rhs );
100931
100932  template< class S >
100933  Matrix( const S* a)
100934  {
100935   for( unsigned i = 0; i != Size; ++i )
100936    data[ i ] = a[ i ];
100937  }
100938
100939
100940     Matrix& operator=( const Matrix& rhs );
100941
100942
100943
100944     static const Matrix& IDENTITY();
100945     static const Matrix& ZERO();
100946
100947
100948
100949     Scalar& operator ()( const unsigned int row, const unsigned int column );
100950     const Scalar& operator ()( const unsigned int row, const unsigned int column ) const;
100951     Scalar& operator[]( const unsigned int index );
100952  const Scalar& operator[]( const unsigned int index ) const;
100953
100954
100955
100956
100957     Matrix& operator *=( const Matrix& rhs );
100958     Matrix& operator +=( const Matrix& rhs );
100959     Matrix& operator -=( const Matrix& rhs );
100960
100961
100962
100963     Matrix& operator +=( const Scalar& rhs );
100964     Matrix& operator -=( const Scalar& rhs );
100965     Matrix& operator *=( const Scalar& rhs );
100966     Matrix& operator /=( const Scalar& rhs );
100967
100968
100969     Matrix transpose() const;
100970
100971
100972
100973
100974     void swapRow( unsigned int i , unsigned int j );
100975
100976     void swapColumn( unsigned int i , unsigned int j );
100977     void multiplyRow( unsigned int row , const Scalar& multiplier );
100978     void multiplyColumn( unsigned int row , const Scalar& multiplier );
100979     void addRow( unsigned int row , const Scalar& adder );
100980
100981
100982
100983     void addRow( unsigned int dst_row , const Matrix& adder , unsigned int src_row );
100984     void addColumn( unsigned row , const Scalar& adder );
100985  void maddRow( unsigned int dst, Scalar multiplier, unsigned int src );
100986
100987
100988
100989     void addColumn( unsigned int dst_clm , const Matrix& adder , unsigned int src_clm );
100990  Vector< Scalar , ROWS > GetColumn( unsigned int column ) const;
100991  Vector< Scalar , COLS > GetRow( unsigned int row ) const;
100992  void SetColumn( unsigned int column , const Vector< Scalar , ROWS >& v );
100993  void SetRow( unsigned int row , const Vector< Scalar , COLS >& v );
100994
100995
100996  static const unsigned int SIZE = ROWS*COLS;
100997
100998   private:
100999     Scalar data[ ROWS * COLS ];
101000   };
101001
101002
101003
101004   template< class Scalar , unsigned int ROWS , unsigned int COLS , unsigned int COLS2 >
101005  Matrix< Scalar , ROWS , COLS2 > operator*( const Matrix< Scalar , ROWS , COLS >& lhs ,
101006                                             const Matrix< Scalar , COLS , COLS2 >& rhs );
101007   template< class Scalar , unsigned int ROWS , unsigned int COLS >
101008  Matrix< Scalar , ROWS , COLS > operator+( const Matrix< Scalar , ROWS , COLS >& lhs,
101009             const Matrix< Scalar , ROWS , COLS >& rhs );
101010   template< class Scalar , unsigned int ROWS , unsigned int COLS >
101011  Matrix< Scalar , ROWS , COLS > operator-( const Matrix< Scalar , ROWS , COLS >& lhs ,
101012            const Matrix< Scalar , ROWS , COLS >& rhs );
101013
101014   template< class Scalar , unsigned int ROWS , unsigned int COLS >
101015    Matrix< Scalar , ROWS , COLS > operator*( const Matrix< Scalar , ROWS , COLS >& lhs, const Scalar rhs ){
101016    Matrix< Scalar , ROWS , COLS > res(lhs);
101017    res *= rhs;
101018    return res;
101019    }
101020
101021   template< class Scalar , unsigned int ROWS , unsigned int COLS >
101022  Matrix< Scalar , ROWS , COLS > operator*( const Scalar lhs , const Matrix< Scalar , ROWS , COLS >& rhs ){
101023    Matrix< Scalar , ROWS , COLS > res(rhs);
101024    res *= lhs;
101025    return res;
101026    }
101027
101028   template< class Scalar , unsigned int ROWS , unsigned int COLS >
101029  Vector< Scalar , COLS > operator*( const Matrix< Scalar , ROWS , COLS >& lhs, const Vector< Scalar , COLS >& rhs );
101030
101031   template< class Scalar >
101032  Vector< Scalar, 3 > operator *( const Matrix< Scalar, 4, 4 >& lhs, const Vector< Scalar, 3 >& rhs );
101033
101034
101035
101036
101037   template< class Scalar , unsigned int ROWS , unsigned int COLS > std::ostream& operator<<(std::ostream& ostr , const Matrix< Scalar , ROWS , COLS >& rhs );
101038   template< class Scalar , unsigned int ROWS , unsigned int COLS > std::istream& operator>>(std::istream& istr , Matrix< Scalar , ROWS , COLS >& rhs );
101039
101040
101041  template< class Scalar , unsigned int ROWS , unsigned int COLS > bool operator ==( const Matrix< Scalar, ROWS, COLS >& l, const Matrix< Scalar, ROWS, COLS >& r );
101042  template< class Scalar , unsigned int ROWS , unsigned int COLS > bool operator !=( const Matrix< Scalar, ROWS, COLS >& l, const Matrix< Scalar, ROWS, COLS >& r );
101043
101044
101045
101046  template< class T, unsigned int ROWS, unsigned int COLUMNS>
101047  void rref( Matrix< T, ROWS, COLUMNS >& m );
101048  template< class Scalar, unsigned int Size >
101049  Matrix< Scalar, Size, Size > invert( const Matrix< Scalar, Size, Size >& m );
101050
101051
101052
101053  template< class T >
101054   Matrix< T, 3, 3 > crossMatrix( const Vector< T, 3 >& v );
101055 # 171 "/home/emanuel/DIKU/3dot/source/math/matrix.hpp"
101056  template<typename T>
101057  void SVD( const Matrix< T, 3, 3 >& a , Matrix< T, 3, 3 >& u , Matrix< T, 3, 3 >& w , Matrix< T, 3, 3 >& v );
101058 # 182 "/home/emanuel/DIKU/3dot/source/math/matrix.hpp"
101059  template<typename T>
101060  Matrix< T, 3, 3 > getBasisChangeMatrix( const Vector< T, 3>& z );
101061 # 193 "/home/emanuel/DIKU/3dot/source/math/matrix.hpp"
101062  template<typename T>
101063   Matrix< T, 3, 3 > getTransformationMatrix( const Vector< T, 3>& x, const Vector< T, 3>& z );
101064
101065
101066
101067
101068  template<typename T>
101069  void EulerToMatrix( Vector<T,3>& eulerAngles , Matrix<T,3,3>& m ){
101070   T ti, tj, th, ci, cj, ch, si, sj, sh, cc, cs, sc, ss;
101071
101072   unsigned int i=0,j=1,k=2;
101073   ti = eulerAngles[0]; tj = eulerAngles[1]; th = eulerAngles[2];
101074   ci = cos(ti); cj = cos(tj); ch = cos(th);
101075   si = sin(ti); sj = sin(tj); sh = sin(th);
101076   cc = ci*ch; cs = ci*sh; sc = si*ch; ss = si*sh;
101077
101078   m(i,i) = cj; m(i,j) = sj*si; m(i,k) = sj*ci;
101079   m(j,i) = sj*sh; m(j,j) = -cj*ss+cc; m(j,k) = -cj*cs-sc;
101080   m(k,i) = -sj*ch; m(k,j) = cj*sc+cs; m(k,k) = cj*cc-ss;
101081  }
101082
101083
101084  template<typename T >
101085  Vector<T,3> EulerFromMatrix(const Matrix<T,3,3>& m)
101086  {
101087   Vector<T,3> ea;
101088   unsigned int i=0,j=1,k=2;
101089   T sy = sqrt(m(i,j)*m(i,j) + m(i,k)*m(i,k));
101090   if (sy > 16*std::numeric_limits<float>::epsilon()) {
101091    ea[0] = atan2(m(i,j), m(i,k));
101092    ea[1] = atan2(sy, m(i,i));
101093    ea[2] = atan2(m(j,i), -m(k,i));
101094   } else {
101095    ea[0] = atan2(-m(j,k), m(j,j));
101096    ea[1] = atan2(sy, m(i,i));
101097    ea[2] = 0;
101098   }
101099
101100
101101   return ea;
101102  }
101103
101104  template< class Scalar , unsigned int ROWS , unsigned int COLS >
101105   Scalar Determinant( const Matrix<Scalar,ROWS,COLS>& m_ );
101106  template< typename T >
101107   void FromToRotation( const Math::Vector<T,3>& from_ , const Math::Vector<T,3>& to_ , Math::Matrix<T,3,3>& res_ );
101108
101109 }
101110
101111
101112 #undef MATRIXARGS
101113 # 1 "/home/emanuel/DIKU/3dot/source/math/matrix.inl" 1
101114
101115
101116
101117
101118 # 1 "/home/emanuel/DIKU/3dot/source/util/exceptions.hpp" 1
101119
101120 #define _EXCEPTIONS_HPP_ 
101121 # 13 "/home/emanuel/DIKU/3dot/source/util/exceptions.hpp"
101122 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 1 3
101123 # 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101124 #define _GLIBCXX_SSTREAM 1
101125
101126        
101127 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101128 #pragma GCC visibility push(default)
101129
101130
101131
101132
101133 namespace std
101134 {
101135 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101136   template<typename _CharT, typename _Traits, typename _Alloc>
101137     class basic_stringbuf : public basic_streambuf<_CharT, _Traits>
101138     {
101139     public:
101140
101141       typedef _CharT char_type;
101142       typedef _Traits traits_type;
101143
101144
101145       typedef _Alloc allocator_type;
101146       typedef typename traits_type::int_type int_type;
101147       typedef typename traits_type::pos_type pos_type;
101148       typedef typename traits_type::off_type off_type;
101149
101150       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
101151       typedef basic_string<char_type, _Traits, _Alloc> __string_type;
101152       typedef typename __string_type::size_type __size_type;
101153
101154     protected:
101155
101156
101157
101158
101159
101160       ios_base::openmode _M_mode;
101161
101162
101163       __string_type _M_string;
101164
101165     public:
101166 # 100 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101167       explicit
101168       basic_stringbuf(ios_base::openmode __mode = ios_base::in | ios_base::out)
101169       : __streambuf_type(), _M_mode(__mode), _M_string()
101170       { }
101171 # 113 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101172       explicit
101173       basic_stringbuf(const __string_type& __str,
101174         ios_base::openmode __mode = ios_base::in | ios_base::out)
101175       : __streambuf_type(), _M_mode(), _M_string(__str.data(), __str.size())
101176       { _M_stringbuf_init(__mode); }
101177 # 128 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101178       __string_type
101179       str() const
101180       {
101181  __string_type __ret;
101182  if (this->pptr())
101183    {
101184
101185      if (this->pptr() > this->egptr())
101186        __ret = __string_type(this->pbase(), this->pptr());
101187      else
101188         __ret = __string_type(this->pbase(), this->egptr());
101189    }
101190  else
101191    __ret = _M_string;
101192  return __ret;
101193       }
101194 # 152 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101195       void
101196       str(const __string_type& __s)
101197       {
101198
101199  _M_string.assign(__s.data(), __s.size());
101200  _M_stringbuf_init(_M_mode);
101201       }
101202
101203     protected:
101204
101205       void
101206       _M_stringbuf_init(ios_base::openmode __mode)
101207       {
101208  _M_mode = __mode;
101209  __size_type __len = 0;
101210  if (_M_mode & (ios_base::ate | ios_base::app))
101211    __len = _M_string.size();
101212  _M_sync(const_cast<char_type*>(_M_string.data()), 0, __len);
101213       }
101214
101215       virtual streamsize
101216       showmanyc()
101217       {
101218  streamsize __ret = -1;
101219  if (_M_mode & ios_base::in)
101220    {
101221      _M_update_egptr();
101222      __ret = this->egptr() - this->gptr();
101223    }
101224  return __ret;
101225       }
101226
101227       virtual int_type
101228       underflow();
101229
101230       virtual int_type
101231       pbackfail(int_type __c = traits_type::eof());
101232
101233       virtual int_type
101234       overflow(int_type __c = traits_type::eof());
101235 # 204 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101236       virtual __streambuf_type*
101237       setbuf(char_type* __s, streamsize __n)
101238       {
101239  if (__s && __n >= 0)
101240    {
101241
101242
101243
101244
101245
101246
101247      _M_string.clear();
101248
101249
101250      _M_sync(__s, __n, 0);
101251    }
101252  return this;
101253       }
101254
101255       virtual pos_type
101256       seekoff(off_type __off, ios_base::seekdir __way,
101257        ios_base::openmode __mode = ios_base::in | ios_base::out);
101258
101259       virtual pos_type
101260       seekpos(pos_type __sp,
101261        ios_base::openmode __mode = ios_base::in | ios_base::out);
101262
101263
101264
101265
101266       void
101267       _M_sync(char_type* __base, __size_type __i, __size_type __o);
101268
101269
101270
101271       void
101272       _M_update_egptr()
101273       {
101274  const bool __testin = _M_mode & ios_base::in;
101275  if (this->pptr() && this->pptr() > this->egptr())
101276    if (__testin)
101277      this->setg(this->eback(), this->gptr(), this->pptr());
101278    else
101279      this->setg(this->pptr(), this->pptr(), this->pptr());
101280       }
101281     };
101282 # 261 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101283   template<typename _CharT, typename _Traits, typename _Alloc>
101284     class basic_istringstream : public basic_istream<_CharT, _Traits>
101285     {
101286     public:
101287
101288       typedef _CharT char_type;
101289       typedef _Traits traits_type;
101290
101291
101292       typedef _Alloc allocator_type;
101293       typedef typename traits_type::int_type int_type;
101294       typedef typename traits_type::pos_type pos_type;
101295       typedef typename traits_type::off_type off_type;
101296
101297
101298       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
101299       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
101300       typedef basic_istream<char_type, traits_type> __istream_type;
101301
101302     private:
101303       __stringbuf_type _M_stringbuf;
101304
101305     public:
101306 # 299 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101307       explicit
101308       basic_istringstream(ios_base::openmode __mode = ios_base::in)
101309       : __istream_type(), _M_stringbuf(__mode | ios_base::in)
101310       { this->init(&_M_stringbuf); }
101311 # 319 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101312       explicit
101313       basic_istringstream(const __string_type& __str,
101314      ios_base::openmode __mode = ios_base::in)
101315       : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in)
101316       { this->init(&_M_stringbuf); }
101317
101318
101319
101320
101321
101322
101323
101324       ~basic_istringstream()
101325       { }
101326 # 341 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101327       __stringbuf_type*
101328       rdbuf() const
101329       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
101330
101331
101332
101333
101334
101335       __string_type
101336       str() const
101337       { return _M_stringbuf.str(); }
101338
101339
101340
101341
101342
101343
101344
101345       void
101346       str(const __string_type& __s)
101347       { _M_stringbuf.str(__s); }
101348     };
101349 # 374 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101350   template <typename _CharT, typename _Traits, typename _Alloc>
101351     class basic_ostringstream : public basic_ostream<_CharT, _Traits>
101352     {
101353     public:
101354
101355       typedef _CharT char_type;
101356       typedef _Traits traits_type;
101357
101358
101359       typedef _Alloc allocator_type;
101360       typedef typename traits_type::int_type int_type;
101361       typedef typename traits_type::pos_type pos_type;
101362       typedef typename traits_type::off_type off_type;
101363
101364
101365       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
101366       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
101367       typedef basic_ostream<char_type, traits_type> __ostream_type;
101368
101369     private:
101370       __stringbuf_type _M_stringbuf;
101371
101372     public:
101373 # 412 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101374       explicit
101375       basic_ostringstream(ios_base::openmode __mode = ios_base::out)
101376       : __ostream_type(), _M_stringbuf(__mode | ios_base::out)
101377       { this->init(&_M_stringbuf); }
101378 # 432 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101379       explicit
101380       basic_ostringstream(const __string_type& __str,
101381      ios_base::openmode __mode = ios_base::out)
101382       : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out)
101383       { this->init(&_M_stringbuf); }
101384
101385
101386
101387
101388
101389
101390
101391       ~basic_ostringstream()
101392       { }
101393 # 454 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101394       __stringbuf_type*
101395       rdbuf() const
101396       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
101397
101398
101399
101400
101401
101402       __string_type
101403       str() const
101404       { return _M_stringbuf.str(); }
101405
101406
101407
101408
101409
101410
101411
101412       void
101413       str(const __string_type& __s)
101414       { _M_stringbuf.str(__s); }
101415     };
101416 # 487 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101417   template <typename _CharT, typename _Traits, typename _Alloc>
101418     class basic_stringstream : public basic_iostream<_CharT, _Traits>
101419     {
101420     public:
101421
101422       typedef _CharT char_type;
101423       typedef _Traits traits_type;
101424
101425
101426       typedef _Alloc allocator_type;
101427       typedef typename traits_type::int_type int_type;
101428       typedef typename traits_type::pos_type pos_type;
101429       typedef typename traits_type::off_type off_type;
101430
101431
101432       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
101433       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
101434       typedef basic_iostream<char_type, traits_type> __iostream_type;
101435
101436     private:
101437       __stringbuf_type _M_stringbuf;
101438
101439     public:
101440 # 523 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101441       explicit
101442       basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in)
101443       : __iostream_type(), _M_stringbuf(__m)
101444       { this->init(&_M_stringbuf); }
101445 # 541 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101446       explicit
101447       basic_stringstream(const __string_type& __str,
101448     ios_base::openmode __m = ios_base::out | ios_base::in)
101449       : __iostream_type(), _M_stringbuf(__str, __m)
101450       { this->init(&_M_stringbuf); }
101451
101452
101453
101454
101455
101456
101457
101458       ~basic_stringstream()
101459       { }
101460 # 563 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 3
101461       __stringbuf_type*
101462       rdbuf() const
101463       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
101464
101465
101466
101467
101468
101469       __string_type
101470       str() const
101471       { return _M_stringbuf.str(); }
101472
101473
101474
101475
101476
101477
101478
101479       void
101480       str(const __string_type& __s)
101481       { _M_stringbuf.str(__s); }
101482     };
101483 }
101484
101485
101486 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/sstream.tcc" 1 3
101487 # 41 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/sstream.tcc" 3
101488 #define _SSTREAM_TCC 1
101489
101490        
101491 # 44 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/sstream.tcc" 3
101492
101493 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 1 3
101494 # 46 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/sstream.tcc" 2 3
101495
101496 namespace std
101497 {
101498   template <class _CharT, class _Traits, class _Alloc>
101499     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
101500     basic_stringbuf<_CharT, _Traits, _Alloc>::
101501     pbackfail(int_type __c)
101502     {
101503       int_type __ret = traits_type::eof();
101504       if (this->eback() < this->gptr())
101505  {
101506
101507
101508    const bool __testeof = traits_type::eq_int_type(__c, __ret);
101509    if (!__testeof)
101510      {
101511        const bool __testeq = traits_type::eq(traits_type::
101512           to_char_type(__c),
101513           this->gptr()[-1]);
101514        const bool __testout = this->_M_mode & ios_base::out;
101515        if (__testeq || __testout)
101516   {
101517     this->gbump(-1);
101518     if (!__testeq)
101519       *this->gptr() = traits_type::to_char_type(__c);
101520     __ret = __c;
101521   }
101522      }
101523    else
101524      {
101525        this->gbump(-1);
101526        __ret = traits_type::not_eof(__c);
101527      }
101528  }
101529       return __ret;
101530     }
101531
101532   template <class _CharT, class _Traits, class _Alloc>
101533     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
101534     basic_stringbuf<_CharT, _Traits, _Alloc>::
101535     overflow(int_type __c)
101536     {
101537       const bool __testout = this->_M_mode & ios_base::out;
101538       if (__builtin_expect(!__testout, false))
101539  return traits_type::eof();
101540
101541       const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof());
101542       if (__builtin_expect(__testeof, false))
101543  return traits_type::not_eof(__c);
101544
101545       const __size_type __capacity = _M_string.capacity();
101546       const __size_type __max_size = _M_string.max_size();
101547       const bool __testput = this->pptr() < this->epptr();
101548       if (__builtin_expect(!__testput && __capacity == __max_size, false))
101549  return traits_type::eof();
101550
101551
101552
101553       if (!__testput)
101554  {
101555
101556
101557
101558
101559
101560
101561    const __size_type __opt_len = std::max(__size_type(2 * __capacity),
101562        __size_type(512));
101563    const __size_type __len = std::min(__opt_len, __max_size);
101564    __string_type __tmp;
101565    __tmp.reserve(__len);
101566    if (this->pbase())
101567      __tmp.assign(this->pbase(), this->epptr() - this->pbase());
101568    _M_string.swap(__tmp);
101569    _M_sync(const_cast<char_type*>(_M_string.data()),
101570     this->gptr() - this->eback(), this->pptr() - this->pbase());
101571  }
101572       return this->sputc(traits_type::to_char_type(__c));
101573     }
101574
101575   template <class _CharT, class _Traits, class _Alloc>
101576     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
101577     basic_stringbuf<_CharT, _Traits, _Alloc>::
101578     underflow()
101579     {
101580       int_type __ret = traits_type::eof();
101581       const bool __testin = this->_M_mode & ios_base::in;
101582       if (__testin)
101583  {
101584
101585    _M_update_egptr();
101586
101587    if (this->gptr() < this->egptr())
101588      __ret = traits_type::to_int_type(*this->gptr());
101589  }
101590       return __ret;
101591     }
101592
101593   template <class _CharT, class _Traits, class _Alloc>
101594     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
101595     basic_stringbuf<_CharT, _Traits, _Alloc>::
101596     seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode)
101597     {
101598       pos_type __ret = pos_type(off_type(-1));
101599       bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
101600       bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
101601       const bool __testboth = __testin && __testout && __way != ios_base::cur;
101602       __testin &= !(__mode & ios_base::out);
101603       __testout &= !(__mode & ios_base::in);
101604
101605
101606
101607       const char_type* __beg = __testin ? this->eback() : this->pbase();
101608       if ((__beg || !__off) && (__testin || __testout || __testboth))
101609  {
101610    _M_update_egptr();
101611
101612    off_type __newoffi = __off;
101613    off_type __newoffo = __newoffi;
101614    if (__way == ios_base::cur)
101615      {
101616        __newoffi += this->gptr() - __beg;
101617        __newoffo += this->pptr() - __beg;
101618      }
101619    else if (__way == ios_base::end)
101620      __newoffo = __newoffi += this->egptr() - __beg;
101621
101622    if ((__testin || __testboth)
101623        && __newoffi >= 0
101624        && this->egptr() - __beg >= __newoffi)
101625      {
101626        this->gbump((__beg + __newoffi) - this->gptr());
101627        __ret = pos_type(__newoffi);
101628      }
101629    if ((__testout || __testboth)
101630        && __newoffo >= 0
101631        && this->egptr() - __beg >= __newoffo)
101632      {
101633        this->pbump((__beg + __newoffo) - this->pptr());
101634        __ret = pos_type(__newoffo);
101635      }
101636  }
101637       return __ret;
101638     }
101639
101640   template <class _CharT, class _Traits, class _Alloc>
101641     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
101642     basic_stringbuf<_CharT, _Traits, _Alloc>::
101643     seekpos(pos_type __sp, ios_base::openmode __mode)
101644     {
101645       pos_type __ret = pos_type(off_type(-1));
101646       const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
101647       const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
101648
101649       const char_type* __beg = __testin ? this->eback() : this->pbase();
101650       if (__beg && (__testin || __testout))
101651  {
101652    _M_update_egptr();
101653
101654    const off_type __pos(__sp);
101655    const bool __testpos = 0 <= __pos
101656                           && __pos <= this->egptr() - __beg;
101657    if (__testpos)
101658      {
101659        if (__testin)
101660   this->gbump((__beg + __pos) - this->gptr());
101661        if (__testout)
101662                 this->pbump((__beg + __pos) - this->pptr());
101663        __ret = __sp;
101664      }
101665  }
101666       return __ret;
101667     }
101668
101669   template <class _CharT, class _Traits, class _Alloc>
101670     void
101671     basic_stringbuf<_CharT, _Traits, _Alloc>::
101672     _M_sync(char_type* __base, __size_type __i, __size_type __o)
101673     {
101674       const bool __testin = _M_mode & ios_base::in;
101675       const bool __testout = _M_mode & ios_base::out;
101676       char_type* __endg = __base + _M_string.size();
101677       char_type* __endp = __base + _M_string.capacity();
101678
101679       if (__base != _M_string.data())
101680  {
101681
101682    __endg += __i;
101683    __i = 0;
101684    __endp = __endg;
101685  }
101686
101687       if (__testin)
101688  this->setg(__base, __base + __i, __endg);
101689       if (__testout)
101690  {
101691    this->setp(__base, __endp);
101692    this->pbump(__o);
101693
101694
101695
101696    if (!__testin)
101697      this->setg(__endg, __endg, __endg);
101698  }
101699     }
101700
101701
101702
101703
101704
101705   extern template class basic_stringbuf<char>;
101706   extern template class basic_istringstream<char>;
101707   extern template class basic_ostringstream<char>;
101708   extern template class basic_stringstream<char>;
101709
101710
101711   extern template class basic_stringbuf<wchar_t>;
101712   extern template class basic_istringstream<wchar_t>;
101713   extern template class basic_ostringstream<wchar_t>;
101714   extern template class basic_stringstream<wchar_t>;
101715
101716
101717 }
101718 # 589 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/sstream" 2 3
101719
101720
101721 #pragma GCC visibility pop
101722 # 14 "/home/emanuel/DIKU/3dot/source/util/exceptions.hpp" 2
101723
101724
101725
101726 namespace Exceptions
101727 {
101728
101729  class Error : public std::exception {
101730   std::ostringstream msg;
101731   protected:
101732   std::string detail;
101733   std::string file;
101734   int line;
101735   public:
101736   std::string details()
101737   {
101738    msg << "Error: " << detail
101739       << "\nException caught at " << file << ":" << line << std::endl;
101740    return msg.str();
101741   }
101742
101743   std::string what()
101744   {
101745    msg << "Error:\t" << msg << std::endl;
101746    return msg.str();
101747   }
101748
101749   std::string where()
101750   {
101751    msg << "Exception caught at " << file << ":" << line << std::endl;
101752    return msg.str();
101753   }
101754
101755   Error( const Error& e )
101756   {
101757    detail = e.detail;
101758    file = e.file;
101759    line = e.line;
101760   }
101761   Error( std::string d, std::string f, int l )
101762   {
101763    detail = d;
101764    file = f;
101765    line = l;
101766   }
101767  public:
101768   virtual ~Error() throw()
101769   {
101770   }
101771
101772  private:
101773
101774   Error& operator=( const Error& ){
101775    return *this;
101776   }
101777  };
101778
101779  class SyntaxError : public Error {
101780   public:
101781   SyntaxError( const SyntaxError& e ) : Error( e.detail, e.file, e.line ) {}
101782   SyntaxError( std::string d, std::string f, int l ) : Error( d, f, l ) {}
101783  private:
101784
101785   SyntaxError& operator=( const SyntaxError& ){
101786    return *this;
101787   }
101788  };
101789
101790  class FileError : public Error {
101791   public:
101792   FileError( const FileError& e ) : Error( e.detail, e.file, e.line ) {}
101793   FileError( std::string d, std::string f, int l ) : Error( d, f, l ) {}
101794  private:
101795
101796   FileError& operator=( const FileError& ){
101797    return *this;
101798   }
101799  };
101800
101801  class ArgumentError : public Error {
101802   public:
101803   ArgumentError( const ArgumentError& e ) : Error( e.detail, e.file, e.line ) {}
101804   ArgumentError( std::string d, std::string f, int l ) : Error( d, f, l ) {}
101805
101806  private:
101807
101808   ArgumentError& operator=( const ArgumentError& ){
101809    return *this;
101810   }
101811  };
101812 }
101813
101814
101815 #define throw_error_if(cond,msg) if ( cond ) { std::cout << msg << std::endl; throw Exceptions::Error( msg , __FILE__ , __LINE__ ); }
101816 #define throw_error(msg) {std::cout << msg << std::endl; throw Exceptions::Error( msg, __FILE__, __LINE__ ); }
101817 #define throw_file_error(msg) {std::cout << msg << std::endl; throw Exceptions::FileError( msg, __FILE__, __LINE__); }
101818 #define throw_syntax_error(msg) { std::cout << msg << std::endl; throw Exceptions::SyntaxError( msg, __FILE__, __LINE__); }
101819 #define throw_argument_error(msg) {std::cout << msg << std::endl; throw Exceptions::ArgumentError( msg, __FILE__, __LINE__); }
101820 # 6 "/home/emanuel/DIKU/3dot/source/math/matrix.inl" 2
101821
101822
101823
101824 #define MATRIXARGS class Scalar , unsigned int ROWS , unsigned int COLS
101825
101826 namespace Math
101827 {
101828   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS >::Matrix(){
101829   }
101830
101831   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS >::Matrix( const Matrix& rhs ) {
101832     for( unsigned int row = 0; row < ROWS; ++row )
101833       for( unsigned int col = 0; col < COLS; ++col )
101834     (*this)( row , col ) = rhs( row , col );
101835   }
101836
101837   template< class Scalar , unsigned int ROWS , unsigned int COLS > const Matrix< Scalar , ROWS , COLS>& Matrix< Scalar , ROWS , COLS>::IDENTITY(){
101838     static Matrix< Scalar , ROWS , COLS> identity;
101839     static bool initialized = false;
101840     if( !initialized ) {
101841    identity = Matrix< Scalar , ROWS , COLS >::ZERO();
101842    for( unsigned int i = 0; i < std::min(ROWS,COLS); ++i ){
101843      identity(i,i) = 1;
101844    }
101845    initialized = true;
101846   }
101847   return identity;
101848  }
101849
101850   template< class Scalar , unsigned int ROWS , unsigned int COLS > const Matrix< Scalar , ROWS , COLS>& Matrix< Scalar , ROWS , COLS>::ZERO() {
101851     static Matrix< Scalar , ROWS , COLS > zero;
101852     static bool initialized = false;
101853     if( !initialized ){
101854    for( int i = 0; i < ROWS; ++i ) {
101855     for( int j = 0; j < COLS; ++j ) {
101856      zero( i , j ) = 0;
101857       }
101858       }
101859       initialized = true;
101860     }
101861     return zero;
101862   }
101863
101864
101865   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS >& Matrix< Scalar , ROWS , COLS >::operator=( const Matrix< Scalar , ROWS , COLS >& rhs ){
101866     for( unsigned int row = 0; row < ROWS; ++row )
101867    for( unsigned int col = 0; col < COLS; ++col )
101868     (*this)( row , col ) = rhs( row , col );
101869    return *this;
101870   }
101871
101872
101873
101874   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS >& Matrix< Scalar , ROWS , COLS >::operator+=( const Matrix< Scalar , ROWS , COLS >& rhs ){
101875     for( unsigned int row = 0; row < ROWS; ++row )
101876 for( unsigned int col = 0; col < COLS; ++col )
101877  (*this)( row , col ) += rhs( row , col );
101878     return *this;
101879   }
101880
101881   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS >& Matrix< Scalar , ROWS , COLS >::operator-=( const Matrix< Scalar , ROWS , COLS >& rhs ){
101882     for( unsigned int row = 0; row < ROWS; ++row )
101883 for( unsigned int col = 0; col < COLS; ++col )
101884  (*this)( row , col ) -= rhs( row , col );
101885     return *this;
101886   }
101887
101888   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS >& Matrix< Scalar , ROWS , COLS >::operator+=( const Scalar& rhs ){
101889     for( unsigned int row = 0; row < ROWS; ++row )
101890 for( unsigned int col = 0; col < COLS; ++col )
101891  (*this)( row , col ) += rhs;
101892     return *this;
101893   }
101894
101895   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS >& Matrix< Scalar , ROWS , COLS >::operator-=( const Scalar& rhs ){
101896     for( unsigned int row = 0; row < ROWS; ++row )
101897 for( unsigned int col = 0; col < COLS; ++col )
101898  (*this)( row , col ) -= rhs;
101899     return *this;
101900   }
101901
101902   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS >& Matrix< Scalar , ROWS , COLS >::operator*=( const Matrix< Scalar , ROWS , COLS >& rhs ){
101903    Matrix< Scalar , ROWS , COLS > res(Matrix< Scalar , ROWS , COLS >::ZERO());
101904    for( unsigned int i = 0; i < ROWS; ++i )
101905     for( unsigned int j = 0; j < COLS; ++j )
101906      for( unsigned int k = 0; k < ROWS; ++k )
101907     res(i,j) += (*this)(i,k) * rhs(k,j);
101908    *this = res;
101909  return *this;
101910   }
101911
101912
101913   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS >& Matrix< Scalar , ROWS , COLS >::operator*=( const Scalar& rhs ){
101914     for( unsigned int row = 0; row < ROWS; ++row )
101915 for( unsigned int col = 0; col < COLS; ++col )
101916  (*this)( row , col ) *= rhs;
101917     return *this;
101918   }
101919
101920   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS >& Matrix< Scalar , ROWS , COLS >::operator/=( const Scalar& rhs ){
101921     for( unsigned int row = 0; row < ROWS; ++row )
101922 for( unsigned int col = 0; col < COLS; ++col )
101923  (*this)( row , col ) /= rhs;
101924     return *this;
101925   }
101926
101927
101928   template< class Scalar , unsigned int ROWS , unsigned int COLS > Scalar& Matrix< Scalar , ROWS , COLS >::operator()( const unsigned int row, const unsigned int col ){
101929     return data[ row + col * ROWS ];
101930   }
101931
101932
101933   template< class Scalar , unsigned int ROWS , unsigned int COLS > const Scalar& Matrix< Scalar , ROWS , COLS >::operator()( const unsigned int row, const unsigned int col ) const{
101934     return data[ row + col * ROWS ];
101935   }
101936
101937  template< class Scalar , unsigned int ROWS , unsigned int COLS > Scalar& Matrix< Scalar , ROWS , COLS >::operator[]( const unsigned int idx ){
101938   return data[idx];
101939  }
101940
101941  template< class Scalar , unsigned int ROWS , unsigned int COLS > const Scalar& Matrix< Scalar , ROWS , COLS >::operator[]( const unsigned int idx ) const{
101942   return data[ idx ];
101943  }
101944
101945
101946  template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS > Matrix< Scalar , ROWS , COLS >::transpose() const {
101947      Matrix< Scalar , COLS , ROWS > transposed;
101948   for( int i = 0; i < ROWS; ++i ) {
101949     for( int j = 0; j < COLS; ++j) {
101950      transposed( j , i ) = (*this)( i , j );
101951     }
101952   }
101953   return transposed;
101954  }
101955
101956
101957  template<class Scalar > Scalar Determinant( const Matrix<Scalar,2,2>& m_ ) {
101958    return m_(0,0) * m_(1,1) - m_(0,1) * m_(1,0);
101959  }
101960
101961  template<class Scalar , unsigned int ROWS , unsigned int COLS> Scalar Determinant( const Matrix<Scalar,ROWS,COLS>& m_ ) {
101962   typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( COLS == ROWS ) >)> boost_static_assert_typedef_147;
101963   typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( COLS > 2 ) >)> boost_static_assert_typedef_148;
101964
101965   Scalar result = static_cast<Scalar>(0);
101966
101967   Scalar sign = 1;
101968   for (int y = 0; y < COLS; y++)
101969   {
101970    Scalar pos = 1;
101971    if (y%2 != 0) pos = -1;
101972
101973    Matrix<Scalar, ROWS-1, COLS-1> part;
101974    for (int tmpX = 1; tmpX < ROWS; tmpX++) {
101975     for (int tmpY = 0; tmpY < y; tmpY++)
101976      part(tmpX-1,tmpY) = m_(tmpX,tmpY);
101977     for (int tmpY = y+1; tmpY < ROWS; tmpY++)
101978      part(tmpX-1,tmpY-1) = m_(tmpX,tmpY);
101979    }
101980    result += m_(0,y) * pos * Determinant(part);
101981   }
101982   return result;
101983  }
101984 # 183 "/home/emanuel/DIKU/3dot/source/math/matrix.inl"
101985   template< class Scalar , unsigned int ROWS , unsigned int COLS > void Matrix< Scalar , ROWS , COLS >::swapRow( unsigned int i , unsigned int j ){
101986     for( unsigned int k = 0; k < COLS; ++k )
101987    std::swap( (*this)(i,k),(*this)(j,k) );
101988   }
101989
101990   template< class Scalar , unsigned int ROWS , unsigned int COLS > void Matrix< Scalar , ROWS , COLS >::swapColumn( unsigned int i , unsigned int j ){
101991     for( unsigned int k = 0; k < ROWS; ++k )
101992    std::swap( (*this)(k,i),(*this)(k,j) );
101993   }
101994
101995   template< class Scalar , unsigned int ROWS , unsigned int COLS > void Matrix< Scalar , ROWS , COLS >::multiplyRow( unsigned int row , const Scalar& multiplier ){
101996     for( unsigned int k = 0; k < COLS; ++k ){
101997    (*this)(row,k) *= multiplier;
101998     }
101999   }
102000
102001   template< class Scalar , unsigned int ROWS , unsigned int COLS > void Matrix< Scalar , ROWS , COLS >::multiplyColumn( unsigned int column , const Scalar& multiplier ){
102002     for( unsigned int k = 0; k < ROWS; ++k ){
102003    (*this)(k,column) *= multiplier;
102004     }
102005   }
102006
102007   template< class Scalar , unsigned int ROWS , unsigned int COLS > void Matrix< Scalar , ROWS , COLS >::addRow( unsigned int row , const Scalar& adder ){
102008     for( unsigned int k = 0; k < COLS; ++k ){
102009    (*this)(row,k) += adder;
102010     }
102011   }
102012
102013   template< class Scalar , unsigned int ROWS , unsigned int COLS > void Matrix< Scalar , ROWS , COLS >::addColumn( unsigned int column , const Scalar& adder ){
102014     for( unsigned int k = 0; k < ROWS; ++k ){
102015    (*this)(k,column) += adder;
102016     }
102017   }
102018
102019  template< class Scalar , unsigned int ROWS , unsigned int COLS >
102020   void Matrix< Scalar, ROWS, COLS >::maddRow( unsigned dst, Scalar multiplier, unsigned int src)
102021  {
102022   for( unsigned i = 0; i < COLS; ++i )
102023    (*this)( dst, i ) += multiplier * (*this)( src, i );
102024  }
102025
102026
102027   template< class Scalar , unsigned int ROWS , unsigned int COLS > void Matrix< Scalar , ROWS , COLS >::addRow( unsigned int dst_row, const Matrix< Scalar , ROWS , COLS >& adder , unsigned int src_row ){
102028     for( unsigned int k = 0; k < COLS; ++k ){
102029    (*this)(dst_row,k)+= adder( src_row , k );
102030     }
102031   }
102032
102033   template< class Scalar , unsigned int ROWS , unsigned int COLS > void Matrix< Scalar , ROWS , COLS >::addColumn( unsigned int dst_column , const Matrix< Scalar , ROWS , COLS >& adder , unsigned int src_column ){
102034     for( unsigned int k = 0; k < ROWS; ++k ){
102035    (*this)(k,dst_column) += adder( k , src_column);
102036     }
102037   }
102038
102039   template< class Scalar , unsigned int ROWS , unsigned int COLS > Vector< Scalar , ROWS > Matrix< Scalar , ROWS , COLS >::GetColumn( unsigned int column ) const{
102040   Vector< Scalar , ROWS > res;
102041   for( unsigned int i = 0; i < ROWS; ++i )
102042    res[i] = (*this)(i,column);
102043   return res;
102044   }
102045
102046   template< class Scalar , unsigned int ROWS , unsigned int COLS > void Matrix< Scalar , ROWS , COLS >::SetColumn( unsigned int column , const Vector< Scalar , ROWS >& v ){
102047    for( unsigned int i = 0; i < ROWS; ++i )
102048    (*this)(i,column) = v[i];
102049   }
102050
102051   template< class Scalar , unsigned int ROWS , unsigned int COLS > void Matrix< Scalar , ROWS , COLS >::SetRow( unsigned int row , const Vector< Scalar , COLS >& v ){
102052   for( unsigned int i = 0; i < COLS; ++i )
102053    (*this)(row,i) = v[i];
102054   }
102055
102056
102057   template< class Scalar , unsigned int ROWS , unsigned int COLS > Vector< Scalar , COLS > Matrix< Scalar , ROWS , COLS >::GetRow( unsigned int row ) const{
102058    Vector< Scalar , ROWS > res;
102059   for( unsigned int i = 0; i < COLS; ++i )
102060    res[i] = (*this)(row,i);
102061   return res;
102062   }
102063
102064
102065
102066   template< class Scalar , unsigned int ROWS , unsigned int COLS, unsigned int COLS2 > Matrix< Scalar , ROWS , COLS2 > operator*( const Matrix< Scalar , ROWS , COLS >& lhs , const Matrix< Scalar , COLS , COLS2 >& rhs ){
102067     Matrix< Scalar , ROWS , COLS2 > res = Matrix< Scalar , ROWS , COLS2 >::ZERO();
102068     for( unsigned int i = 0; i < ROWS; ++i ){
102069 for( unsigned int j = 0; j < COLS2; ++j ){
102070  for( unsigned int k = 0; k < COLS; ++k ){
102071    res( i , j ) += lhs( i , k ) * rhs( k , j );
102072  }
102073 }
102074     }
102075     return res;
102076   }
102077
102078  template< class Scalar >
102079  Vector< Scalar, 3 > operator *( const Matrix< Scalar, 4, 4 >& lhs, const Vector< Scalar, 3 >& rhs )
102080  {
102081   Vector< Scalar, 4 > v( rhs, 1 );
102082   Vector< Scalar, 4 > r = lhs * v;
102083   Vector< Scalar, 3 > result;
102084   result[ 0 ] = r[ 0 ];
102085   result[ 1 ] = r[ 1 ];
102086   result[ 2 ] = r[ 2 ];
102087   result /= r[ 3 ];
102088   return result;
102089  }
102090
102091
102092   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS > operator+( const Matrix< Scalar , ROWS , COLS >& lhs , const Matrix< Scalar , ROWS , COLS >& rhs ){
102093     Matrix< Scalar , ROWS , COLS > res( lhs );
102094     res += rhs;
102095     return res;
102096   }
102097
102098   template< class Scalar , unsigned int ROWS , unsigned int COLS > Matrix< Scalar , ROWS , COLS > operator-( const Matrix< Scalar , ROWS , COLS >& lhs , const Matrix< Scalar , ROWS , COLS >& rhs ){
102099     Matrix< Scalar , ROWS , COLS > res( lhs );
102100     res -= rhs;
102101     return res;
102102   }
102103
102104
102105 template< class Scalar , unsigned int ROWS , unsigned int COLS > Vector< Scalar , COLS > operator*( const Matrix< Scalar , ROWS , COLS >& lhs , const Vector< Scalar , COLS >& rhs )
102106 {
102107  Vector< Scalar , COLS > res = Vector< Scalar , COLS >::ZERO();
102108     for( unsigned int i = 0; i < ROWS; ++i )
102109  {
102110   for( unsigned int j = 0; j < COLS; ++j )
102111   {
102112    res( i ) += lhs( i , j ) * rhs( j );
102113   }
102114     }
102115     return res;
102116   }
102117
102118   template< class Scalar , unsigned int ROWS , unsigned int COLS > std::ostream& operator<<(std::ostream& ostr , const Matrix< Scalar , ROWS , COLS >& rhs ){
102119   ostr << "[ ";
102120    for( unsigned int i = 0; i < ROWS; ++i ){
102121     for( unsigned int j = 0; j < COLS; ++j ){
102122   ostr << rhs( i , j ) << " ";
102123  }
102124    }
102125   ostr << " ]";
102126    return ostr;
102127   }
102128
102129   template< class Scalar , unsigned int ROWS , unsigned int COLS > std::istream& operator>>(std::istream& istr , Matrix< Scalar , ROWS , COLS >& rhs )
102130   {
102131   char c;
102132   istr >> c;
102133    for( unsigned int i = 0; i < ROWS; ++i ){
102134     for( unsigned int j = 0; j < COLS; ++j ){
102135      istr >> rhs( i , j );
102136     }
102137    }
102138    istr >> c;
102139    return istr;
102140   }
102141
102142  template< class Scalar , unsigned int ROWS , unsigned int COLS > bool operator ==( const Matrix< Scalar, ROWS, COLS >& l, const Matrix< Scalar, ROWS, COLS >& r )
102143  {
102144   for( int i = 0; i != ROWS*COLS; ++i )
102145    if( l[ i ] != r[ i ] ) return false;
102146   return true;
102147  }
102148  template< class Scalar , unsigned int ROWS , unsigned int COLS > bool operator !=( const Matrix< Scalar, ROWS, COLS >& l, const Matrix< Scalar, ROWS, COLS >& r )
102149  {
102150   return !(l == r);
102151  }
102152
102153
102154  template< class T, unsigned int ROWS, unsigned int COLUMNS >
102155  void rref_one_rec( int c, Matrix< T, ROWS, COLUMNS >& m )
102156  {
102157
102158   int row = -1;
102159
102160
102161
102162
102163   float largestPivot = 0.0f , pivot;
102164   for( int i = c; i < ROWS; ++i ){
102165    if ( (pivot = fabsf( m(i,c) )) > largestPivot ){
102166     largestPivot = pivot;
102167     row = i;
102168    }
102169   }
102170   if( row == -1 )
102171    throw std::logic_error( "failed to invert matrix" );
102172   if( row != c )
102173    m.swapRow( row, c );
102174   m.multiplyRow( c, 1 / m( c, c ) );
102175   for( int i = c + 1; i < ROWS; ++i )
102176   {
102177    if( m( i, c ) != 0 )
102178    {
102179     m.maddRow( i, -m( i, c ), c );
102180    }
102181   }
102182   if( c + 1 < ROWS )
102183    rref_one_rec( c + 1, m );
102184  }
102185
102186  template< class T, unsigned int ROWS, unsigned int COLUMNS >
102187  void rref_two_rec( int c, Matrix< T, ROWS, COLUMNS >& m )
102188  {
102189   for( int i = c-1; i >= 0; --i )
102190    m.maddRow( i, -m( i, c ), c );
102191   if( c > 0 )
102192    rref_two_rec( c - 1, m );
102193  }
102194
102195
102196  template< class T, unsigned int ROWS, unsigned int COLUMNS>
102197  void rref( Matrix< T, ROWS, COLUMNS >& m )
102198  {
102199    rref_one_rec( 0, m );
102200    rref_two_rec( ROWS-1, m );
102201  }
102202
102203
102204  template< class Scalar, unsigned int Size >
102205  Matrix< Scalar, Size, Size > invert( const Matrix< Scalar, Size, Size >& m )
102206  {
102207   Matrix< Scalar, Size, Size * 2 > temp;
102208   for( unsigned int row = 0; row < Size; ++row )
102209    for( unsigned int col = 0; col < Size; ++col )
102210    {
102211     temp( row, col ) = m( row, col );
102212     if( row == col )
102213      temp( row, col + Size ) = 1;
102214     else
102215      temp( row, col + Size ) = 0;
102216
102217    }
102218   rref( temp );
102219   Matrix< Scalar, Size, Size > result;
102220   for( unsigned int row = 0; row < Size; ++row )
102221    for( unsigned int col = 0; col < Size; ++col )
102222     result( row, col ) = temp( row, col + Size );
102223   return result;
102224  }
102225
102226  template< class T >
102227  Matrix< T, 3, 3 > crossMatrix( const Vector< T, 3 >& v )
102228  {
102229   Matrix< T , 3, 3 > result;
102230   result( 0, 0 ) = result( 1, 1 ) = result( 2, 2 ) = 0.0f;
102231   result( 0, 2 ) = v( 1 );
102232   result( 0, 1 ) = -v( 2 );
102233   result( 1, 0 ) = v( 2 );
102234   result( 1, 2 ) = -v( 0 );
102235   result( 2, 0 ) = -v( 1 );
102236   result( 2, 1 ) = v( 0 );
102237   return result;
102238  }
102239
102240  template< typename T >
102241  T Pythagoras( const T a, const T b ) {
102242   T absa, absb;
102243   absa = fabs( a );
102244   absb = fabs( b );
102245   if( absa > absb ) {
102246    T bDiva = absb/absa;
102247    return absa*sqrt( static_cast<T>(1.0) + bDiva*bDiva );
102248   }
102249   else {
102250    T aDivb = absa/absb;
102251    return ( absb == static_cast<T>(0.0) ? static_cast<T>(0.0) : absb*sqrt(static_cast<T>(1.0) + aDivb*aDivb) );
102252   }
102253  }
102254
102255 #define SIGN(a,b) ((b) >= 0.0 ? fabs(a) : -fabs(a))
102256 #define EPSILON 1e-13
102257
102258  template<typename T>
102259   void SVD( const Matrix< T, 3, 3 >& a , Matrix< T, 3, 3 >& u , Matrix< T, 3, 3 >& w , Matrix< T, 3, 3 >& v ){
102260   Vector<T,3> rv1;
102261   Matrix<T,3,3> au = a;
102262   int flag, l, nm;
102263   T anorm, c, f, g, h, s, scale, x, y, z;
102264
102265   g = scale = anorm = 0.0;
102266   for ( int i = 0; i<3; i++ ) {
102267    l = i+1;
102268    rv1( i ) = scale * g;
102269    g = s = scale = 0.0;
102270    if( i < 3 ) {
102271     for( int k = i; k < 3; k++ )
102272      scale += fabs( au(k, i) );
102273     if( scale ) {
102274      for( int k = i; k < 3; k++ ) {
102275       au(k,i) /= scale;
102276       s += au( k, i ) * au( k, i );
102277      }
102278      f = au( i, i );
102279      g = -((f) >= 0.0 ? fabs(sqrt(s)) : -fabs(sqrt(s)));
102280      h = f*g - s;
102281      au( i, i ) = f - g;
102282      for( int j = l; j < 3; j++ ) {
102283       s = 0.0;
102284       for( int k = i; k < 3; k++ )
102285        s += au( k, i ) * au( k, j );
102286       f = s/h;
102287       for( int k = i; k < 3; k++ )
102288        au( k , j ) += f * au( k , i );
102289      }
102290      for( int k = i; k < 3; k++ )
102291       au( k, i ) *= scale;
102292     }
102293    }
102294    w( i, i ) = scale * g;
102295    g = s = scale = 0.0;
102296    if( i < 2 ) {
102297     for ( int k = l; k < 3; k++ )
102298      scale += fabs( au( i, k ) );
102299     if( scale ) {
102300      for( int k = l; k < 3; k++ ) {
102301       au( i, k ) /= scale;
102302       s += au( i, k ) * au( i, k );
102303      }
102304      f = au( i, l );
102305      g = -((f) >= 0.0 ? fabs(sqrt( s )) : -fabs(sqrt( s )));
102306      h = f*g-s;
102307      au( i, l ) = f-g;
102308      for( int k = l; k < 3; k++ )
102309       rv1( k ) = au( i, k )/h;
102310      for( int j = l; j < 3; j++ ) {
102311       s = 0.0;
102312       for( int k = l; k < 3; k++ )
102313        s += au( j, k ) * au( i, k );
102314       for( int k = l; k < 3; k++ )
102315        au( j, k ) += s * rv1( k ) ;
102316      }
102317      for( int k = l; k < 3; k++ )
102318       au( i, k ) *= scale;
102319     }
102320    }
102321    anorm = std::numeric_limits<T>::max( anorm, ( fabs( w( i, i ) ) + fabs( rv1( i ) ) ) );
102322   }
102323
102324   for( int i = 2; i >= 0; i-- ) {
102325    if( i < 2 ) {
102326     if( g ) {
102327
102328      for( int j = l; j < 3; j++ )
102329       v( j, i ) = ( au( i, j ) / au( i, l ) ) / g;
102330      for( int j = l; j < 3; j++ ) {
102331       s = 0.0;
102332       for( int k = l; k < 3; k++ )
102333        s += au( i, k ) * v( k, j );
102334       for( int k = l; k < 3; k++ )
102335        v( k, j ) += s * v( k, i );
102336      }
102337     }
102338     for( int j = l; j < 3; j++ )
102339      v( i, j ) = v( j, i ) = 0.0;
102340    }
102341    v( i, i ) = 1.0;
102342    g = rv1( i );
102343    l = i;
102344   }
102345   for( int i = 2; i >= 0; i-- ) {
102346    l = i + 1;
102347    g = w( i, i );
102348    for( int j = l; j < 3; j++ )
102349     au( i, j ) = 0.0;
102350    if( g ) {
102351     g = 1.0/g;
102352     for( int j = l; j < 3; j++ ) {
102353      s = 0.0;
102354      for( int k = l; k < 3; k++ )
102355       s += au( k, i ) * au( k, j );
102356      f = ( s / au( i, i ) ) * g;
102357      for( int k = i; k < 3; k++ )
102358       au( k, j ) += f * au( k, i );
102359     }
102360    for( int j = i; j < 3; j++ )
102361      au( j, i ) *= g;
102362    }
102363    else
102364     for( int j = i; j < 3; j++ )
102365      au( j, i ) = 0.0;
102366    ++au( i, i );
102367   }
102368
102369
102370   for( int k = 2; k >= 0; k-- ) {
102371    for( int its = 1; its <= 30; its++ ) {
102372     flag = 1;
102373
102374     for( l = k; l >= 0; l-- ) {
102375      nm = l - 1;
102376      if( (T)( fabs( rv1( l ) ) + anorm ) < anorm + 1e-13 ) {
102377       flag = 0;
102378       break;
102379      }
102380      if( (T)( fabs( w( nm, nm ) ) + anorm ) < anorm + 1e-13 )
102381       break;
102382     }
102383     if( flag ) {
102384      c = 0.0;
102385      s = 1.0;
102386      for( int i = l; i <= k; i++ ) {
102387       f = s * rv1( i );
102388       rv1( i ) = c * rv1( i );
102389       if( (T)(fabs( f ) + anorm ) == anorm )
102390        break;
102391       g = w( i, i );
102392       h = pythag( f, g );
102393       w ( i, i ) = h;
102394       h = 1.0 / h;
102395       c = g * h;
102396       s = -f * h;
102397       for( int j = 0; j < 3; j++ ) {
102398        y = au( j, nm );
102399        z = au( j, i );
102400        au( j, nm ) = y * c + z * s;
102401        au( j, i ) = z * c - y * s;
102402       }
102403      }
102404     }
102405     z = w( k, k );
102406
102407     if( l == k ) {
102408      if( z < 0.0 ) {
102409       w( k, k ) = -z;
102410       for( int j = 0; j < 3; j++ )
102411        v( j, k ) = - v( j, k );
102412      }
102413     break;
102414     }
102415
102416
102417
102418     x = w( l, l );
102419     nm = k - 1;
102420     y = w( nm, nm );
102421     g = rv1( nm );
102422     h = rv1( k );
102423     f = (( y - z ) * ( y + z ) + ( g - h ) * ( g + h ) ) / ( 2.0* h * y );
102424     g = Pythagoras( f, 1.0 );
102425     f = ((x-z)*(x+z) + h*( ( y/( f + ((f) >= 0.0 ? fabs(g) : -fabs(g)) ) ) - h )) / x;
102426
102427     c = s = 1.0;
102428     for( int j = l; j <= nm; j++ ) {
102429      int i = j + 1;
102430      g = rv1( i );
102431      y = w( i, i );
102432      h = s * g;
102433      g = c * g;
102434      z = Pythagoras( f, h );
102435      rv1( j ) = z;
102436      c = f/z;
102437      s = h/z;
102438      f = x * c + g * s;
102439      g = g * c - x * s;
102440      h = y * s;
102441      y *= c;
102442      for( int jj = 0; jj < 3; jj++ ) {
102443       x = v( jj, j );
102444       z = v( jj, i );
102445       v( jj, j ) = x*c+z*s;
102446       v( jj, i ) = z*c-x*s;
102447      }
102448      z = Pythagoras( f, h );
102449
102450      w( j, j ) = z;
102451      if( z ) {
102452       z = 1.0 / z;
102453       c = f * z;
102454       s = h * z;
102455      }
102456      f = c * g + s * y;
102457      x = c * y - s * g;
102458      for( int jj = 0; jj < 3; jj++ ) {
102459       y = au( jj, j );
102460       z = au( jj, i );
102461       au( jj, j ) = y * c + z * s;
102462       au( jj, i ) = z * c - y * s;
102463      }
102464     }
102465    rv1( l ) = 0.0;
102466     rv1( k ) = f;
102467     w( k, k ) = x;
102468    }
102469   }
102470   u = au;
102471  }
102472
102473  template<typename T>
102474  Matrix< T, 3, 3 > getBasisChangeMatrix( const Vector< T, 3>& z )
102475   {
102476   Matrix< T, 3, 3 > res;
102477
102478   Vector< T, 3 > t_x, t_y, v;
102479   Vector< T, 3 > i( 1.0, 0.0, 0.0);
102480   Vector< T, 3 > j( 0.0, 1.0, 0.0);
102481   Vector< T, 3 > k( 0.0, 0.0, 1.0);
102482
102483   v = cross( z, i );
102484   if( (v( 0 ) != 0.0) || (v( 1 ) != 0.0) || (v( 2 ) != 0.0) )
102485    v = i;
102486   else {
102487    v = cross( z, j );
102488    if( (v( 0 ) != 0.0) || (v( 1 ) != 0.0) || (v( 2 ) != 0.0) )
102489     v = j;
102490    else {
102491     v = cross( z, k );
102492     if( (v( 0 ) != 0.0) || (v( 1 ) != 0.0) || (v( 2 ) != 0.0) )
102493      v = k;
102494    }
102495   }
102496
102497   t_y = cross( z, v );
102498   t_x = cross( t_y, z );
102499
102500   res.SetRow( 0, t_x );
102501   res.SetRow( 1, t_y );
102502   res.SetRow( 2, z );
102503
102504   return res;
102505  }
102506
102507
102508  template<typename T>
102509   Matrix< T, 3, 3 > getTransformationMatrix( const Vector< T, 3>& x, const Vector< T, 3>& z )
102510  {
102511   Matrix< T, 3, 3 > res;
102512   Vector< T, 3 > zAxis = z;
102513   Vector< T, 3 > xAxis = x;
102514   zAxis.normalize();
102515   xAxis.normalize();
102516
102517   T _dot = dot( xAxis , zAxis );
102518   if( _dot < -1e-13 || _dot > 1e-13 )
102519    {std::cout << "non orthogonal frame vectors" << std::endl; throw Exceptions::Error( "non orthogonal frame vectors", "/home/emanuel/DIKU/3dot/source/math/matrix.inl", 717 ); };
102520
102521   Vector< T, 3 > yAxis;
102522   yAxis = cross( zAxis , xAxis );
102523   res.SetColumn( 0 , xAxis );
102524   res.SetColumn( 1 , yAxis );
102525   res.SetColumn( 2 , zAxis );
102526
102527   return res;
102528  }
102529
102530
102531  template<typename T>
102532  void FromToRotation( const Math::Vector<T,3>& from , const Math::Vector<T,3>& to , Math::Matrix<T,3,3>& mtx ){
102533   Vector<T,3> v;
102534   T e, h, f;
102535
102536   v = cross( from , to );
102537   e = dot(from, to);
102538   f = (e < 0)? -e:e;
102539   if (f > 1.0 - 1e-13){
102540
102541    Math::Vector<T,3> u, v;
102542    Math::Vector<T,3> x;
102543    T c1, c2, c3;
102544    int i, j;
102545
102546    x[0] = (from[0] > 0.0)? from[0] : -from[0];
102547    x[1] = (from[1] > 0.0)? from[1] : -from[1];
102548    x[2] = (from[2] > 0.0)? from[2] : -from[2];
102549
102550    if (x[0] < x[1])
102551    {
102552     if (x[0] < x[2])
102553     {
102554      x[0] = 1.0; x[1] = x[2] = 0.0;
102555     }
102556     else
102557     {
102558      x[2] = 1.0; x[0] = x[1] = 0.0;
102559     }
102560    }
102561    else
102562    {
102563     if (x[1] < x[2])
102564     {
102565      x[1] = 1.0; x[0] = x[2] = 0.0;
102566     }
102567     else
102568     {
102569      x[2] = 1.0; x[0] = x[1] = 0.0;
102570     }
102571    }
102572
102573    u[0] = x[0] - from[0]; u[1] = x[1] - from[1]; u[2] = x[2] - from[2];
102574    v[0] = x[0] - to[0]; v[1] = x[1] - to[1]; v[2] = x[2] - to[2];
102575
102576    c1 = 2.0 / dot(u, u);
102577    c2 = 2.0 / dot(v, v);
102578    c3 = c1 * c2 * dot(u, v);
102579
102580    for (i = 0; i < 3; i++) {
102581    for (j = 0; j < 3; j++) {
102582     mtx(i,j) = - c1 * u[i] * u[j]
102583        - c2 * v[i] * v[j]
102584        + c3 * v[i] * u[j];
102585    }
102586    mtx(i,i) += 1.0;
102587    }
102588   }
102589   else
102590   {
102591
102592
102593    h = 1.0/(1.0 + e);
102594    mtx(0,0) = e + h * v[0] * v[0];
102595    mtx(0,1) = h * v[0] * v[1] - v[2];
102596    mtx(0,2) = h * v[0] * v[2] + v[1];
102597
102598    mtx(1,0) = h * v[0] * v[1] + v[2];
102599    mtx(1,1) = e + h * v[1] * v[1];
102600    mtx(1,2) = h * v[1] * v[2] - v[0];
102601
102602    mtx(2,0) = h * v[0] * v[2] - v[1];
102603    mtx(2,1) = h * v[1] * v[2] + v[0];
102604    mtx(2,2) = e + h * v[2] * v[2]; }
102605   }
102606
102607 #undef EPSILON
102608 #undef SIGN
102609
102610
102611
102612 }
102613
102614
102615 #undef MATRIXARGS
102616 # 245 "/home/emanuel/DIKU/3dot/source/math/matrix.hpp" 2
102617 # 7 "/home/emanuel/DIKU/3dot/source/render/scene/transform.h" 2
102618 # 1 "/home/emanuel/DIKU/3dot/source/math/quaternion.hpp" 1
102619 # 22 "/home/emanuel/DIKU/3dot/source/math/quaternion.hpp"
102620 #define OPENENGINE_MATH_QUATERNION_HPP_3DIKU 
102621
102622
102623 # 1 "/home/emanuel/DIKU/3dot/source/math/vector.hpp" 1
102624 # 26 "/home/emanuel/DIKU/3dot/source/math/quaternion.hpp" 2
102625 # 1 "/home/emanuel/DIKU/3dot/source/math/matrix.hpp" 1
102626 # 27 "/home/emanuel/DIKU/3dot/source/math/quaternion.hpp" 2
102627
102628 namespace Math
102629 {
102630
102631
102632   template< class Scalar > std::ostream& operator<<( std::ostream& ostr , const Quaternion< Scalar >& rhs );
102633   template< class Scalar > std::istream& operator>>( std::istream& istr , Quaternion< Scalar >& rhs );
102634
102635
102636
102637
102638
102639
102640
102641   template< class Scalar > class Quaternion{
102642
102643     friend std::ostream& operator<< <>( std::ostream& ostr , const Quaternion& rhs );
102644     friend std::istream& operator>> <>( std::istream& istr , Quaternion& rhs );
102645
102646   public:
102647     Quaternion();
102648   Quaternion( const Quaternion& rhs );
102649
102650     template< class Scalar0 , class Scalar1 , class Scalar2 , class Scalar3 >
102651   Quaternion( const Scalar0 p0 , const Scalar1 p1 , const Scalar2 p2 , const Scalar3 p3 ){
102652       data[ 0 ] = Scalar0( p0 );
102653       data[ 1 ] = Scalar1( p1 );
102654       data[ 2 ] = Scalar2( p2 );
102655       data[ 3 ] = Scalar3( p3 );
102656     }
102657
102658   template< class S >
102659   Quaternion( const S* a)
102660   {
102661    for( unsigned i = 0; i < 4; ++i )
102662     data[ i ] = a[ i ];
102663   }
102664
102665     Quaternion& operator=( const Quaternion& rhs );
102666
102667
102668
102669     Quaternion( const Vector< Scalar , 3 >& rotationAxis , const Scalar angle );
102670     Quaternion( const Vector< Scalar , 4 >& rotationAxis , const Scalar angle );
102671
102672   Scalar& operator()( unsigned int index );
102673   const Scalar& operator()( unsigned int index ) const;
102674   Scalar& operator[]( unsigned int index );
102675   const Scalar& operator[]( unsigned int index ) const;
102676
102677     Quaternion& operator*=( const Quaternion& rhs );
102678     Quaternion& operator*=( const Scalar& rhs );
102679     Quaternion& operator+=( const Quaternion& rhs );
102680     Quaternion& operator-=( const Quaternion& rhs );
102681
102682
102683     Quaternion conjugate() const;
102684     Quaternion normalize();
102685     Quaternion normalized() const;
102686  Scalar length() const;
102687
102688
102689  bool HasRotation() const;
102690
102691  Matrix< Scalar, 4, 4 > toMatrix() const;
102692  Matrix< Scalar, 3, 3 > toMatrix3() const;
102693
102694  static const unsigned int SIZE = 4;
102695
102696
102697
102698  vec3 ToEulerAngles();
102699
102700
102701  Scalar GetX() const { return data[ 0 ]; }
102702  void SetX( Scalar s ) { data[ 0 ] = s; }
102703  Scalar GetY() const { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>1 ) >)> boost_static_assert_typedef_103; return data[ 1 ]; }
102704  void SetY( Scalar s ) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>1 ) >)> boost_static_assert_typedef_104; data[ 1 ] = s; }
102705  Scalar GetZ() const { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>2 ) >)> boost_static_assert_typedef_105; return data[ 2 ]; }
102706  void SetZ( Scalar s ) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>2 ) >)> boost_static_assert_typedef_106; data[ 2 ] = s; }
102707  Scalar GetW() const { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>3 ) >)> boost_static_assert_typedef_107; return data[ 3 ]; }
102708  void SetW( Scalar s ) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( SIZE>3 ) >)> boost_static_assert_typedef_108; data[ 3 ] = s; }
102709
102710   private:
102711     Scalar data[4];
102712
102713   };
102714
102715  typedef Quaternion< float > quat;
102716  typedef Quaternion< float > fquat;
102717  typedef Quaternion< double > dquat;
102718
102719
102720
102721
102722   template< class Scalar > Quaternion< Scalar > operator*( const Quaternion< Scalar >& lhs , const Quaternion< Scalar >& rhs );
102723   template< class Scalar > Quaternion< Scalar > operator+( const Quaternion< Scalar >& lhs , const Quaternion< Scalar >& rhs );
102724
102725   template< class Scalar > Quaternion< Scalar > operator*( const Quaternion< Scalar >& lhs , const Scalar & rhs );
102726   template< class Scalar > Quaternion< Scalar > operator*( const Scalar & rhs , const Quaternion< Scalar >& lhs );
102727
102728   template< class Scalar > Vector< Scalar , 3 > operator*( const Quaternion< Scalar >& lhs , const Vector< Scalar , 3 >& rhs );
102729   template< class Scalar > Vector< Scalar , 4 > operator*( const Quaternion< Scalar >& lhs , const Vector< Scalar , 4 >& rhs );
102730
102731
102732   template< class Scalar > Scalar dot( const Quaternion< Scalar >& lhs , const Quaternion< Scalar >& rhs );
102733
102734  template< class Scalar > Scalar slerp( const Quaternion< Scalar >& lhs , const Vector< Scalar , 3 >& rhs );
102735
102736  template< class Scalar > bool operator ==( const Quaternion< Scalar >& l , const Quaternion< Scalar >& r );
102737  template< class Scalar > bool operator !=( const Quaternion< Scalar >& l , const Quaternion< Scalar >& r );
102738
102739  template< class T > Quaternion< T > toQuaternion( const Matrix< T, 3, 3 >& m );
102740
102741
102742  template< class T > Quaternion< T > ToQuaternion( const Matrix< T, 4, 4 >& m );
102743
102744 }
102745
102746
102747 # 1 "/home/emanuel/DIKU/3dot/source/math/quaternion.inl" 1
102748
102749 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 1 3
102750 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
102751        
102752 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
102753 #pragma GCC visibility push(default)
102754
102755 # 1 "/usr/include/assert.h" 1 3 4
102756 # 25 "/usr/include/assert.h" 3 4
102757 #undef _ASSERT_H
102758 #undef assert
102759 #undef __ASSERT_VOID_CAST
102760
102761
102762 #undef assert_perror
102763
102764
102765
102766
102767 #define _ASSERT_H 1
102768
102769
102770
102771 #define __ASSERT_VOID_CAST static_cast<void>
102772 # 65 "/usr/include/assert.h" 3 4
102773 extern "C" {
102774
102775
102776 extern void __assert_fail (__const char *__assertion, __const char *__file,
102777       unsigned int __line, __const char *__function)
102778      throw () __attribute__ ((__noreturn__));
102779
102780
102781 extern void __assert_perror_fail (int __errnum, __const char *__file,
102782       unsigned int __line,
102783       __const char *__function)
102784      throw () __attribute__ ((__noreturn__));
102785
102786
102787
102788
102789 extern void __assert (const char *__assertion, const char *__file, int __line)
102790      throw () __attribute__ ((__noreturn__));
102791
102792
102793 }
102794
102795 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
102796
102797
102798
102799
102800
102801 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
102802 # 105 "/usr/include/assert.h" 3 4
102803 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
102804 # 51 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 2 3
102805
102806 #pragma GCC visibility pop
102807 # 3 "/home/emanuel/DIKU/3dot/source/math/quaternion.inl" 2
102808 # 1 "/home/emanuel/DIKU/3dot/source/math/constants.hpp" 1
102809
102810 #define MATH_CONSTANTS_HPP 
102811 # 11 "/home/emanuel/DIKU/3dot/source/math/constants.hpp"
102812 # 1 "/usr/include/assert.h" 1 3 4
102813 # 25 "/usr/include/assert.h" 3 4
102814 #undef _ASSERT_H
102815 #undef assert
102816 #undef __ASSERT_VOID_CAST
102817
102818
102819 #undef assert_perror
102820
102821
102822
102823
102824 #define _ASSERT_H 1
102825
102826
102827
102828 #define __ASSERT_VOID_CAST static_cast<void>
102829 # 65 "/usr/include/assert.h" 3 4
102830 extern "C" {
102831
102832
102833 extern void __assert_fail (__const char *__assertion, __const char *__file,
102834       unsigned int __line, __const char *__function)
102835      throw () __attribute__ ((__noreturn__));
102836
102837
102838 extern void __assert_perror_fail (int __errnum, __const char *__file,
102839       unsigned int __line,
102840       __const char *__function)
102841      throw () __attribute__ ((__noreturn__));
102842
102843
102844
102845
102846 extern void __assert (const char *__assertion, const char *__file, int __line)
102847      throw () __attribute__ ((__noreturn__));
102848
102849
102850 }
102851
102852 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
102853
102854
102855
102856
102857
102858 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
102859 # 105 "/usr/include/assert.h" 3 4
102860 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
102861 # 12 "/home/emanuel/DIKU/3dot/source/math/constants.hpp" 2
102862
102863 namespace Math
102864 {
102865
102866   const double PI = 3.1415926535897932384626433832795;
102867
102868   const double PIHALFED = 3.1415926535897932384626433832795 / 2.0;
102869   const double PIOVER180 = 3.1415926535897932384626433832795 / 180.0;
102870   const double PIOVER360 = 3.1415926535897932384626433832795 / 360.0;
102871   const float DELTAF = 1e-8f;
102872
102873  template<typename T> class Constant {
102874  public:
102875   static T NegativeInfinity(){ (static_cast<void> ((false) ? 0 : (__assert_fail ("false", "/home/emanuel/DIKU/3dot/source/math/constants.hpp", 25, __PRETTY_FUNCTION__), 0))); }
102876   static T PositiveInfinity(){ (static_cast<void> ((false) ? 0 : (__assert_fail ("false", "/home/emanuel/DIKU/3dot/source/math/constants.hpp", 26, __PRETTY_FUNCTION__), 0))); }
102877   static T PI(){ (static_cast<void> ((false) ? 0 : (__assert_fail ("false", "/home/emanuel/DIKU/3dot/source/math/constants.hpp", 27, __PRETTY_FUNCTION__), 0))); }
102878   static T TwoPI(){ (static_cast<void> ((false) ? 0 : (__assert_fail ("false", "/home/emanuel/DIKU/3dot/source/math/constants.hpp", 28, __PRETTY_FUNCTION__), 0))); }
102879   static T HalfPI(){ (static_cast<void> ((false) ? 0 : (__assert_fail ("false", "/home/emanuel/DIKU/3dot/source/math/constants.hpp", 29, __PRETTY_FUNCTION__), 0))); }
102880   static T DegreesToRad(){ (static_cast<void> ((false) ? 0 : (__assert_fail ("false", "/home/emanuel/DIKU/3dot/source/math/constants.hpp", 30, __PRETTY_FUNCTION__), 0))); }
102881   static T RadToDegrees(){ (static_cast<void> ((false) ? 0 : (__assert_fail ("false", "/home/emanuel/DIKU/3dot/source/math/constants.hpp", 31, __PRETTY_FUNCTION__), 0))); }
102882   static T Epsilon(){ (static_cast<void> ((false) ? 0 : (__assert_fail ("false", "/home/emanuel/DIKU/3dot/source/math/constants.hpp", 32, __PRETTY_FUNCTION__), 0))); }
102883  };
102884
102885  template<typename T > class Valid {
102886  public:
102887   static bool IsValid( T t , T m ){ return true; }
102888   template< typename It >
102889   static bool IsValid( It b_ , It e_ , T m ){ return true; }
102890  };
102891
102892  template<> class Constant<float> {
102893  public:
102894   static float NegativeInfinity(){ return -std::numeric_limits<float>::max(); }
102895   static float PositiveInfinity(){ return std::numeric_limits<float>::max(); }
102896   static float PI(){ static const float pi = static_cast<float>(3.14159265358979323846); return pi;}
102897   static float TwoPI(){ return static_cast<float>(2) * PI() ;}
102898   static float HalfPI(){ return static_cast<float>(0.5) * PI() ;}
102899   static float DegreesToRad(){ return TwoPI() / 360.0f; }
102900   static float RadToDegrees(){ return 360.0f / TwoPI(); }
102901   static float Epsilon(){ return std::numeric_limits<float>::epsilon(); }
102902  };
102903
102904  template<> class Valid<float> {
102905  public:
102906   static bool IsValid( float t , float m ){ return t * 0.0f == 0.0f && fabs(t) <= m; }
102907   template< typename It >
102908   static bool IsValid( It b_ , It e_ , float m_ ){
102909    while( b_ != e_ ){
102910     if( !IsValid( *b_ , m_ ) ){
102911      return IsValid( *b_ , m_ );
102912     }
102913     ++b_;
102914    }
102915    return true;
102916   }
102917  };
102918
102919  template<> class Valid<double> {
102920  public:
102921   static bool IsValid( double t , double m ){ return t * 0.0 == 0.0 && fabs(t) <= m; }
102922   template< typename It >
102923   static bool IsValid( It b_ , It e_ , double m_ ){
102924    while( b_ != e_ ){
102925     if( !IsValid( *b_ , m_ ) ){
102926      return IsValid( *b_ , m_ );
102927     }
102928     ++b_;
102929    }
102930    return true;
102931   }
102932  };
102933
102934 }
102935 # 4 "/home/emanuel/DIKU/3dot/source/math/quaternion.inl" 2
102936
102937 namespace Math
102938 {
102939
102940   template< class Scalar > Quaternion< Scalar >::Quaternion()
102941  {
102942   data[ 0 ] = 1;
102943   data[ 1 ] = 0;
102944   data[ 2 ] = 0;
102945   data[ 3 ] = 0;
102946  }
102947
102948  template< class Scalar > Quaternion< Scalar >::Quaternion( const Quaternion& rhs )
102949  {
102950   data[ 0 ] = Scalar( rhs[0] );
102951   data[ 1 ] = Scalar( rhs[1] );
102952   data[ 2 ] = Scalar( rhs[2] );
102953   data[ 3 ] = Scalar( rhs[3] );
102954  }
102955
102956
102957   template< class Scalar > Quaternion< Scalar >::Quaternion( const Vector< Scalar , 3 >& rotationAxis , const Scalar angle ){
102958     (static_cast<void> ((dot( rotationAxis , rotationAxis ) > 0) ? 0 : (__assert_fail ("dot( rotationAxis , rotationAxis ) > 0", "/home/emanuel/DIKU/3dot/source/math/quaternion.inl", 26, __PRETTY_FUNCTION__), 0)));
102959     Vector< Scalar , 3 > temp( rotationAxis.normalized() );
102960     Scalar sinangle = sin( angle * static_cast<Scalar>(0.5) );
102961     data[0] = cos( angle * static_cast<Scalar>(0.5) );
102962     data[1] = temp[0]*sinangle;
102963     data[2] = temp[1]*sinangle;
102964     data[3] = temp[2]*sinangle;
102965   }
102966
102967   template< class Scalar > Quaternion< Scalar >::Quaternion( const Vector< Scalar , 4 >& rotationAxis , const Scalar angle ){
102968     (static_cast<void> ((inner_product( rotationAxis , rotationAxis ) > 0) ? 0 : (__assert_fail ("inner_product( rotationAxis , rotationAxis ) > 0", "/home/emanuel/DIKU/3dot/source/math/quaternion.inl", 36, __PRETTY_FUNCTION__), 0)));
102969     Vector< Scalar , 4 > temp( rotationAxis.normalized() );
102970     Scalar sinangle = sin( angle * (Scalar) 0.5 );
102971     data[0] = cos( angle * (Scalar) 0.5 );
102972     data[1] = temp[0]*sinangle;
102973     data[2] = temp[1]*sinangle;
102974     data[3] = temp[2]*sinangle;
102975   }
102976
102977  template< class Scalar >
102978  Quaternion< Scalar >& Quaternion< Scalar >::operator=( const Quaternion< Scalar >& rhs )
102979  {
102980     (*this).data[0] = rhs.data[0];
102981   (*this).data[1] = rhs.data[1];
102982   (*this).data[2] = rhs.data[2];
102983   (*this).data[3] = rhs.data[3];
102984   return *this;
102985   }
102986
102987  template< class Scalar >
102988  Scalar& Quaternion< Scalar >::operator()( unsigned int index )
102989  {
102990   (static_cast<void> ((index < 4) ? 0 : (__assert_fail ("index < 4", "/home/emanuel/DIKU/3dot/source/math/quaternion.inl", 58, __PRETTY_FUNCTION__), 0)));
102991   return data[ index ];
102992  }
102993  template< class Scalar >
102994  const Scalar& Quaternion< Scalar >::operator()( unsigned int index ) const
102995  {
102996   (static_cast<void> ((index < 4) ? 0 : (__assert_fail ("index < 4", "/home/emanuel/DIKU/3dot/source/math/quaternion.inl", 64, __PRETTY_FUNCTION__), 0)));
102997   return data[ index ];
102998  }
102999  template< class Scalar >
103000  Scalar& Quaternion< Scalar >::operator[]( unsigned int index )
103001  {
103002   return data[ index ];
103003  }
103004  template< class Scalar >
103005  const Scalar& Quaternion< Scalar >::operator[]( unsigned int index ) const
103006  {
103007   return data[ index ];
103008  }
103009
103010  template< class Scalar > Quaternion< Scalar >& Quaternion< Scalar >::operator*=( const Quaternion& rhs ) {
103011   Scalar t0 = (data[3]-data[2])*(rhs.data[2]-rhs.data[3]);
103012   Scalar t1 = (data[0]+data[1])*(rhs.data[0]+rhs.data[1]);
103013   Scalar t2 = (data[0]-data[1])*(rhs.data[2]+rhs.data[3]);
103014   Scalar t3 = (data[3]+data[2])*(rhs.data[0]-rhs.data[1]);
103015   Scalar t4 = (data[3]-data[1])*(rhs.data[1]-rhs.data[2]);
103016   Scalar t5 = (data[3]+data[1])*(rhs.data[1]+rhs.data[2]);
103017   Scalar t6 = (data[0]+data[2])*(rhs.data[0]-rhs.data[3]);
103018   Scalar t7 = (data[0]-data[2])*(rhs.data[0]+rhs.data[3]);
103019    Scalar t8 = t5+t6+t7;
103020   Scalar t9 = (t4+t8)/(Scalar)2.0;
103021   data[0] = t0+t9-t5;
103022   data[1] = t1+t9-t8;
103023   data[2] = t2+t9-t7;
103024   data[3] = t3+t9-t6;
103025   return *this;
103026   }
103027
103028   template< class Scalar > Quaternion< Scalar >& Quaternion< Scalar >::operator+=( const Quaternion& rhs ){
103029     data[0] += rhs.data[0];
103030     data[1] += rhs.data[1];
103031     data[2] += rhs.data[2];
103032     data[3] += rhs.data[3];
103033     return *this;
103034   }
103035
103036   template< class Scalar > Quaternion< Scalar >& Quaternion< Scalar >::operator-=( const Quaternion& rhs ){
103037     data[0] -= rhs.data[0];
103038     data[1] -= rhs.data[1];
103039     data[2] -= rhs.data[2];
103040     data[3] -= rhs.data[3];
103041     return *this;
103042   }
103043
103044
103045   template< class Scalar > Quaternion< Scalar >& Quaternion< Scalar >::operator*=( const Scalar& rhs ){
103046     data[0] *= rhs;
103047     data[1] *= rhs;
103048     data[2] *= rhs;
103049     data[3] *= rhs;
103050     return *this;
103051  }
103052
103053
103054  template< class T >
103055  Quaternion< T > operator*( const Quaternion< T >& lhs,
103056                const Quaternion< T >& rhs )
103057  {
103058    return Quaternion< T >(
103059    lhs[ 0 ] * rhs[ 0 ] - ( lhs[ 1 ] * rhs[ 1 ] + lhs[ 2 ] * rhs[ 2 ] + lhs[ 3 ] * rhs[ 3 ] ),
103060    lhs[ 2 ] * rhs[ 3 ] - lhs[ 3 ] * rhs[ 2 ] + rhs[ 0 ] * lhs[ 1 ] + lhs[ 0 ] * rhs[ 1 ],
103061    lhs[ 3 ] * rhs[ 1 ] - lhs[ 1 ] * rhs[ 3 ] + rhs[ 0 ] * lhs[ 2 ] + lhs[ 0 ] * rhs[ 2 ],
103062    lhs[ 1 ] * rhs[ 2 ] - lhs[ 2 ] * rhs[ 1 ] + rhs[ 0 ] * lhs[ 3 ] + lhs[ 0 ] * rhs[ 3 ] );
103063  }
103064
103065  template< class T >
103066  Quaternion< T > operator+( const Quaternion< T >& lhs,
103067                const Quaternion< T >& rhs )
103068  {
103069   return Quaternion< T >( lhs[0] + rhs[0] , lhs[1] + rhs[1] , lhs[2] + rhs[2] , lhs[3] + rhs[3] );
103070  }
103071
103072
103073
103074
103075
103076   template< class Scalar > Quaternion< Scalar > operator*( const Quaternion< Scalar >& lhs , const Scalar & rhs )
103077  {
103078   return Quaternion< Scalar >( lhs(0) * rhs,
103079          lhs(1) * rhs,
103080          lhs(2) * rhs,
103081          lhs(3) * rhs );
103082  }
103083  template< class Scalar > Quaternion< Scalar > operator*( const Scalar & lhs , const Quaternion< Scalar >& rhs )
103084  {
103085   return Quaternion< Scalar >( rhs(0) * lhs,
103086                  rhs(1) * lhs,
103087                  rhs(2) * lhs,
103088                  rhs(3) * lhs );
103089  }
103090
103091  template< class T >
103092  Vector< T, 3 > operator *( const Quaternion< T > & lhs,
103093  const Vector< T, 3 >& rhs )
103094  {
103095
103096   (static_cast<void> ((fabs(1-lhs.length())<1e-4) ? 0 : (__assert_fail ("fabs(1-lhs.length())<1e-4", "/home/emanuel/DIKU/3dot/source/math/quaternion.inl", 164, __PRETTY_FUNCTION__), 0)));
103097   Quaternion< T > temp = lhs.conjugate();
103098   Quaternion< T > t1( 0.0f , rhs[ 0 ], rhs[ 1 ], rhs[ 2 ] );
103099   Quaternion< T > ftemp0 = t1 * temp;
103100   Quaternion< T > ftemp = lhs * ftemp0;
103101
103102   Vector< T, 3 > res;
103103   for( int i = 0; i != 3; ++i )
103104    res[ i ] = ftemp[ 1 + i ];
103105   return res;
103106  }
103107
103108
103109
103110   template< class Scalar > Quaternion< Scalar > Quaternion< Scalar >::conjugate() const {
103111     Quaternion< Scalar > res;
103112     res.data[0] = data[0]; res.data[1] = -data[1]; res.data[2] = -data[2]; res.data[3] = -data[3];
103113     return res;
103114   }
103115
103116   template< class Scalar > Quaternion< Scalar > Quaternion< Scalar >::normalize() {
103117   Scalar mag = length();
103118    for( int i = 0; i < 4; ++i )
103119     (*this)[ i ] = (*this)[ i ] / mag;
103120    return *this;
103121   }
103122
103123  template< class Scalar > Quaternion< Scalar > Quaternion< Scalar >::normalized() const {
103124   Scalar mag = length();
103125   Quaternion< Scalar > result;
103126   for( int i = 0; i < 4; ++i )
103127    result[ i ] = (*this)[ i ] / mag;
103128   return result;
103129   }
103130
103131  template< class Scalar > bool Quaternion< Scalar >::HasRotation() const
103132  {
103133   return !( length() == 1 && (*this)[0] == 1 );
103134  }
103135
103136  template< class Scalar >
103137  Scalar Quaternion< Scalar >::length() const
103138  {
103139   return sqrt( (*this)(0)*(*this)(0) +
103140    (*this)(1)*(*this)(1) +
103141    (*this)(2)*(*this)(2) +
103142    (*this)(3)*(*this)(3) );
103143  }
103144
103145
103146  namespace
103147  {
103148   template< class T, class MAT >
103149   inline
103150   void convertToMat( const Quaternion< T >& q, MAT& m )
103151   {
103152 # 231 "/home/emanuel/DIKU/3dot/source/math/quaternion.inl"
103153    T x2 = q[ 1 ] * q[ 1 ];
103154    T y2 = q[ 2 ] * q[ 2 ];
103155    T z2 = q[ 3 ] * q[ 3 ];
103156    T xy = q[ 1 ] * q[ 2 ];
103157    T xz = q[ 1 ] * q[ 3 ];
103158    T xw = q[ 1 ] * q[ 0 ];
103159    T yz = q[ 2 ] * q[ 3 ];
103160    T yw = q[ 2 ] * q[ 0 ];
103161    T zw = q[ 3 ] * q[ 0 ];
103162    m( 0, 0 ) = 1 - 2 * (y2 + z2 );
103163    m( 0, 1 ) = 2 * xy - 2 * zw;
103164    m( 0, 2 ) = 2 * yw + 2 * xz;
103165    m( 1, 0 ) = 2 * xy + 2 * zw;
103166    m( 1, 1 ) = 1 - 2 * ( x2 + z2 );
103167    m( 1, 2 ) = 2 * yz - 2 * xw;
103168    m( 2, 0 ) = 2 * xz - 2 * yw;
103169    m( 2, 1 ) = 2 * xw + 2 * yz;
103170    m( 2, 2 ) = 1 - 2 * ( x2 + y2 );
103171   }
103172  }
103173
103174
103175  template< class Scalar >
103176  Matrix< Scalar, 4, 4 > Quaternion< Scalar >::toMatrix() const
103177  {
103178   Matrix< Scalar, 4, 4 > t = Matrix< Scalar, 4, 4 >::IDENTITY();
103179   convertToMat( *this, t );
103180   return t;
103181
103182  }
103183
103184  template< class Scalar >
103185  Matrix< Scalar, 3, 3 > Quaternion< Scalar >::toMatrix3() const
103186  {
103187   Matrix< Scalar, 3, 3 > t = Matrix< Scalar, 3, 3 >::IDENTITY();
103188   convertToMat( *this, t );
103189   return t;
103190
103191  }
103192
103193  template< class Scalar > Scalar dot( const Quaternion< Scalar >& lhs , const Quaternion< Scalar >& rhs ){
103194     return lhs[0]*rhs[0] + lhs[1]*rhs[1] + lhs[2]*rhs[2] + lhs[3]*rhs[3];
103195   }
103196
103197
103198   template< class Scalar > std::ostream& operator<<( std::ostream& ostr , const Quaternion< Scalar >& rhs ){
103199     ostr << rhs[0] << " " << rhs[1] << " " << rhs[2] << " " << rhs[3];
103200     return ostr;
103201   }
103202
103203   template< class Scalar > std::istream& operator>>( std::istream& istr , Quaternion< Scalar >& rhs ){
103204     istr >> rhs.data[0] >> rhs.data[1] >> rhs.data[2] >> rhs.data[3];
103205     return istr;
103206   }
103207
103208
103209  template< class Scalar > bool operator ==( const Quaternion< Scalar >& l , const Quaternion< Scalar >& r )
103210  {
103211   for( int i = 0; i != 4; ++i )
103212    if( l[ i ] != r[ i ] )
103213     return false;
103214   return true;
103215  }
103216  template< class Scalar > bool operator !=( const Quaternion< Scalar >& l , const Quaternion< Scalar >& r )
103217  {
103218   return !(l==r);
103219  }
103220
103221  template< class T >
103222   Quaternion< T > ToQuaternion( const Matrix< T, 4, 4 >& m ){
103223   Quaternion< T > q;
103224   T tr, s;
103225
103226   if( m == Matrix< T, 4, 4 >::ZERO() ) {
103227    q[ 0 ] = q[ 1 ] = q[ 2 ] = q[ 3 ] = T( 0.0 );
103228   }
103229   else {
103230    tr = m(0,0) + m(1,1) + m(2,2);
103231    if( tr >= 0 ) {
103232     s = sqrt(tr + 1);
103233     q[ 0 ] = 0.5 * s;
103234     s = 0.5 / s;
103235     q[1] = ( m(2,1) - m(1,2) ) * s;
103236     q[2] = ( m(0,2) - m(2,0) ) * s;
103237     q[3] = ( m(1,0) - m(0,1) ) * s;
103238    }
103239    else {
103240     int i = 0;
103241     if( m(1,1) > m(0,0) )
103242      i = 1;
103243     if( m(2,2) > m(i,i) )
103244      i = 2;
103245
103246     switch ( i ) {
103247      case 0 :
103248       s = sqrt( (m(0,0) - (m(1,1) + m(2,2))) + 1);
103249       q[1] = 0.5 * s;
103250       s = 0.5 / s;
103251       q[2] = ( m(0,1) + m(1,0) ) * s;
103252       q[3] = ( m(2,0) + m(0,2) ) * s;
103253       q[0] = ( m(2,1) - m(1,2) ) * s;
103254       break;
103255
103256      case 1 :
103257       s = sqrt( (m(1,1) - (m(2,2) + m(0,0))) + 1);
103258       q[2] = 0.5 * s;
103259       s = 0.5 / s;
103260       q[3] = ( m(1,2) + m(2,1) ) * s;
103261       q[1] = ( m(0,1) + m(1,0) ) * s;
103262       q[0] = ( m(0,2) - m(2,0) ) * s;
103263       break;
103264
103265      case 2 :
103266       s = sqrt( (m(2,2) - (m(0,0) + m(1,1)) ) + 1);
103267       q[3] = 0.5 * s;
103268       s = 0.5 / s;
103269       q[1] = ( m(2,0) + m(0,2) ) * s;
103270       q[2] = ( m(1,2) + m(2,1) ) * s;
103271       q[0] = ( m(1,0) - m(0,1) ) * s;
103272       break;
103273     }
103274    }
103275   }
103276
103277   return q;
103278   }
103279
103280
103281  template< class T >
103282  Quaternion< T > toQuaternion( const Matrix< T, 3, 3 >& m )
103283  {
103284   Quaternion< T > q;
103285   T tr, s;
103286
103287   if( m == Matrix< T, 3, 3 >::ZERO() ) {
103288    q[ 0 ] = q[ 1 ] = q[ 2 ] = q[ 3 ] = T( 0.0 );
103289   }
103290   else {
103291    tr = m(0,0) + m(1,1) + m(2,2);
103292    if( tr >= 0 ) {
103293     s = sqrt(tr + 1);
103294     q[ 0 ] = 0.5 * s;
103295     s = 0.5 / s;
103296     q[1] = ( m(2,1) - m(1,2) ) * s;
103297     q[2] = ( m(0,2) - m(2,0) ) * s;
103298     q[3] = ( m(1,0) - m(0,1) ) * s;
103299    }
103300    else {
103301     int i = 0;
103302     if( m(1,1) > m(0,0) )
103303      i = 1;
103304     if( m(2,2) > m(i,i) )
103305      i = 2;
103306
103307     switch ( i ) {
103308      case 0 :
103309       s = sqrt( (m(0,0) - (m(1,1) + m(2,2))) + 1);
103310       q[1] = 0.5 * s;
103311       s = 0.5 / s;
103312       q[2] = ( m(0,1) + m(1,0) ) * s;
103313       q[3] = ( m(2,0) + m(0,2) ) * s;
103314       q[0] = ( m(2,1) - m(1,2) ) * s;
103315       break;
103316
103317      case 1 :
103318       s = sqrt( (m(1,1) - (m(2,2) + m(0,0))) + 1);
103319       q[2] = 0.5 * s;
103320       s = 0.5 / s;
103321       q[3] = ( m(1,2) + m(2,1) ) * s;
103322       q[1] = ( m(0,1) + m(1,0) ) * s;
103323       q[0] = ( m(0,2) - m(2,0) ) * s;
103324       break;
103325
103326      case 2 :
103327       s = sqrt( (m(2,2) - (m(0,0) + m(1,1)) ) + 1);
103328       q[3] = 0.5 * s;
103329       s = 0.5 / s;
103330       q[1] = ( m(2,0) + m(0,2) ) * s;
103331       q[2] = ( m(1,2) + m(2,1) ) * s;
103332       q[0] = ( m(1,0) - m(0,1) ) * s;
103333       break;
103334     }
103335    }
103336   }
103337
103338   return q;
103339  }
103340
103341
103342
103343  template< class Scalar >
103344   vec3 Quaternion< Scalar >::ToEulerAngles()
103345  {
103346   quat t = quat( data[0] * data[0], data[1] * data[1], data[2] * data[2], data[3] * data[3] );
103347   float m = t[0] + t[1] + t[2] + t[3];
103348   if( m == 0.0 )
103349    return vec3(0,0,0);
103350   float n = 2 * ( data[1] * data[3] + data[0] * data[2] );
103351   float p = m * m - n * n;
103352
103353   if( p > 0 )
103354    return vec3( atan2( 2.0f * (data[0] * data[3] - data[1] * data[2]), (-t[0] - t[1] + t[2] + t[3]) ),
103355        atan2( n, sqrt(p) ),
103356        atan2( 2.0f * (data[2] * data[3] - data[0] * data[1]), (t[0] - t[1] - t[2] + t[3]) ) );
103357   float pi = PI / 2;
103358   if( n <= 0 )
103359    pi = -pi;
103360   return vec3( 0, pi, atan2( (data[2] * data[3] + data[0] * data[1]), 0.5f - t[0] - t[2] ) );
103361
103362   return vec3(0,0,0);
103363
103364  }
103365
103366 }
103367 # 148 "/home/emanuel/DIKU/3dot/source/math/quaternion.hpp" 2
103368 # 8 "/home/emanuel/DIKU/3dot/source/render/scene/transform.h" 2
103369 # 1 "/home/emanuel/DIKU/3dot/source/math/transform.hpp" 1
103370
103371 #define OPENENGINE_TRANSFORM_HPP 
103372 # 11 "/home/emanuel/DIKU/3dot/source/math/transform.hpp"
103373 # 1 "/home/emanuel/DIKU/3dot/source/math/quaternion.hpp" 1
103374 # 12 "/home/emanuel/DIKU/3dot/source/math/transform.hpp" 2
103375
103376
103377
103378 namespace Math
103379 {
103380  inline
103381   void Translate( mat4& matrix, float x, float y, float z )
103382   {
103383    mat4 temp = mat4::IDENTITY();
103384    temp(0,3) = x;
103385    temp(1,3) = y;
103386    temp(2,3) = z;
103387    matrix = matrix * temp;
103388   }
103389   inline
103390   void Translate( mat4& matrix, const vec3& v )
103391   {
103392    mat4 temp = mat4::IDENTITY();
103393    temp(0,3) = v[ 0 ];
103394    temp(1,3) = v[ 1 ];
103395    temp(2,3) = v[ 2 ];
103396    matrix = matrix * temp;
103397   }
103398   inline
103399   void Rotate( mat4& matrix, float degrees, float x, float y, float z )
103400   {
103401
103402
103403    float len = 1.0f / sqrtf( x * x + y * y + z * z );
103404    x *= len;
103405    y *= len;
103406    z *= len;
103407    float radians = degrees * static_cast< float>( PIOVER180 );
103408    float c = cosf( radians );
103409    float s = sinf( radians );
103410    float xx = x * x;
103411    float xy = x * y;
103412    float xz = x * z;
103413    float yy = y * y;
103414    float yz = y * z;
103415    float zz = z * z;
103416    float onec = 1 - c;
103417    float mat[] =
103418    {
103419     xx + c * ( 1 - xx ), xy * onec + z * s, xz * onec - y * s, 0,
103420     xy * onec - z * s, yy + c * ( 1 - yy ), yz * onec + x * s, 0,
103421     xz * onec + y * s, yz * onec - x * s, zz + c * ( 1 - zz ), 0,
103422     0, 0, 0, 1
103423    };
103424    mat4 rot( mat );
103425    matrix = matrix * rot;
103426   }
103427
103428   mat4 RotateRet( const mat4& matrix, float degrees, float x, float y, float z );
103429
103430   inline
103431   void Rotate( mat4& matrix, float degrees, const vec3& v )
103432   {
103433    Rotate( matrix, degrees, v[ 0 ], v[ 1 ], v[ 2 ] );
103434   }
103435   inline
103436   void Rotate( mat4& matrix, const quat& q )
103437   {
103438    mat4 r = q.toMatrix();
103439    matrix = matrix * r;
103440   }
103441   inline
103442   void Scale( mat4& matrix, float x, float y, float z )
103443   {
103444    float scl[] =
103445    {
103446     x, 0, 0, 0,
103447     0, y, 0, 0,
103448     0, 0, z, 0,
103449     0, 0, 0, 1
103450    };
103451    mat4 scale = mat4( scl );
103452    matrix = matrix * scale;
103453   }
103454   inline
103455   void ToBasis( mat4& matrix, const vec3& origin, const vec3& x, const vec3& y, const vec3& z )
103456   {
103457    float mat[] =
103458    {
103459     x[ 0 ], y[ 0 ], z[ 0 ], 0,
103460     x[ 1 ], y[ 1 ], z[ 1 ], 0,
103461     x[ 2 ], y[ 2 ], z[ 2 ], 0,
103462     0, 0, 0, 1,
103463    };
103464
103465    mat4 trans = mat4::IDENTITY();
103466    trans( 0, 3 ) = -origin[ 0 ];
103467    trans( 1, 3 ) = -origin[ 1 ];
103468    trans( 2, 3 ) = -origin[ 2 ];
103469    mat4 rot( mat );
103470    mat4 matrix_ = rot * trans;
103471    matrix = matrix * matrix_;
103472   }
103473   inline
103474   void ToBasis( mat3& matrix, const vec3& x, const vec3& y, const vec3& z )
103475   {
103476    float mat[] =
103477    {
103478     x[ 0 ], y[ 0 ], z[ 0 ],
103479     x[ 1 ], y[ 1 ], z[ 1 ],
103480     x[ 2 ], y[ 2 ], z[ 2 ]
103481    };
103482
103483    mat3 rot( mat );
103484    matrix = matrix * rot;
103485   }
103486   inline
103487   void FromBasis( mat4& matrix, const vec3& origin, const vec3& x, const vec3& y, const vec3& z )
103488   {
103489    float mat[] =
103490    {
103491     x[ 0 ], x[ 1 ], x[ 2 ], 0,
103492     y[ 0 ], y[ 1 ], y[ 2 ], 0,
103493     z[ 0 ], z[ 1 ], z[ 2 ], 0,
103494     0, 0, 0, 1
103495    };
103496    mat4 trans = mat4::IDENTITY();
103497    trans( 0, 3 ) = origin[ 0 ];
103498    trans( 1, 3 ) = origin[ 1 ];
103499    trans( 2, 3 ) = origin[ 2 ];
103500    mat4 rot( mat );
103501    mat4 matrix_ = trans * rot;
103502    matrix = matrix * matrix_;
103503   }
103504
103505   inline
103506   void Frustum( mat4& matrix, float left, float right, float bottom, float top, float near_, float far_ )
103507   {
103508    mat4 m = mat4::IDENTITY();
103509    m(0,0) = 2*near_/(right-left);
103510    m(1,1) = 2*near_/(top-bottom);
103511    m(2,2) = -(far_+near_)/(far_-near_);
103512    m(0,2) = (right+left)/(right-left);
103513    m(1,2) = (top+bottom)/(top-bottom);
103514    m(2,3) = -2*far_* near_ /(far_-near_);
103515    m(3,3) = 0;
103516    m(3,2) = -1;
103517    matrix = matrix * m;
103518   }
103519
103520   inline
103521   void FrustumCenter( mat4& matrix, float width_, float height_, float near_, float far_ )
103522   {
103523    mat4 m = mat4::IDENTITY();
103524    m(0,0) = 2*near_/width_;
103525    m(1,1) = 2*near_/height_;
103526    m(2,2) = far_/(far_-near_);
103527    m(2,3) = -far_* near_ /(far_-near_);
103528    m(3,3) = 0;
103529    m(3,2) = 1;
103530    matrix = matrix * m;
103531   }
103532
103533   inline
103534   void Ortho( mat4& matrix, float left, float right, float bottom, float top, float near_, float far_ )
103535   {
103536    mat4 m = mat4::IDENTITY();
103537    m(0,0) = 2 /(right-left);
103538    m(1,1) = 2 /(top-bottom);
103539    m(2,2) = -2 /(far_-near_);
103540    m(0,3) = -(right+left)/(right-left);
103541    m(1,3) = -(top+bottom)/(top-bottom);
103542    m(2,3) = -(far_+near_)/(far_-near_);
103543    matrix = matrix * m;
103544   }
103545
103546   inline void LookAt( mat4& matrix, const vec3& eye, const vec3& center, const vec3& up )
103547   {
103548    vec3 z = (eye-center).normalized();
103549    vec3 x = cross(up,z).normalized();
103550    vec3 y = cross( z,x );
103551
103552    ToBasis( matrix, eye, x, y, z );
103553   }
103554
103555
103556
103557
103558
103559
103560
103561   float InverseRotation( const mat4& matrix , const vec3& axis , const vec3& tester );
103562 }
103563 # 9 "/home/emanuel/DIKU/3dot/source/render/scene/transform.h" 2
103564 # 1 "/usr/include/boost/shared_ptr.hpp" 1 3 4
103565
103566 #define BOOST_SHARED_PTR_HPP_INCLUDED 
103567 # 23 "/usr/include/boost/shared_ptr.hpp" 3 4
103568 # 1 "/usr/include/boost/assert.hpp" 1 3 4
103569 # 15 "/usr/include/boost/assert.hpp" 3 4
103570 #undef BOOST_ASSERT
103571 # 35 "/usr/include/boost/assert.hpp" 3 4
103572 # 1 "/usr/include/assert.h" 1 3 4
103573 # 25 "/usr/include/assert.h" 3 4
103574 #undef _ASSERT_H
103575 #undef assert
103576 #undef __ASSERT_VOID_CAST
103577
103578
103579 #undef assert_perror
103580
103581
103582
103583
103584 #define _ASSERT_H 1
103585
103586
103587
103588 #define __ASSERT_VOID_CAST static_cast<void>
103589 # 65 "/usr/include/assert.h" 3 4
103590 extern "C" {
103591
103592
103593 extern void __assert_fail (__const char *__assertion, __const char *__file,
103594       unsigned int __line, __const char *__function)
103595      throw () __attribute__ ((__noreturn__));
103596
103597
103598 extern void __assert_perror_fail (int __errnum, __const char *__file,
103599       unsigned int __line,
103600       __const char *__function)
103601      throw () __attribute__ ((__noreturn__));
103602
103603
103604
103605
103606 extern void __assert (const char *__assertion, const char *__file, int __line)
103607      throw () __attribute__ ((__noreturn__));
103608
103609
103610 }
103611
103612 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
103613
103614
103615
103616
103617
103618 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
103619 # 105 "/usr/include/assert.h" 3 4
103620 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
103621 # 36 "/usr/include/boost/assert.hpp" 2 3 4
103622 #define BOOST_ASSERT(expr) assert(expr)
103623 # 24 "/usr/include/boost/shared_ptr.hpp" 2 3 4
103624 # 1 "/usr/include/boost/checked_delete.hpp" 1 3 4
103625
103626 #define BOOST_CHECKED_DELETE_HPP_INCLUDED 
103627 # 24 "/usr/include/boost/checked_delete.hpp" 3 4
103628 namespace boost
103629 {
103630
103631
103632
103633 template<class T> inline void checked_delete(T * x)
103634 {
103635
103636     typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
103637     (void) sizeof(type_must_be_complete);
103638     delete x;
103639 }
103640
103641 template<class T> inline void checked_array_delete(T * x)
103642 {
103643     typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
103644     (void) sizeof(type_must_be_complete);
103645     delete [] x;
103646 }
103647
103648 template<class T> struct checked_deleter
103649 {
103650     typedef void result_type;
103651     typedef T * argument_type;
103652
103653     void operator()(T * x) const
103654     {
103655
103656         boost::checked_delete(x);
103657     }
103658 };
103659
103660 template<class T> struct checked_array_deleter
103661 {
103662     typedef void result_type;
103663     typedef T * argument_type;
103664
103665     void operator()(T * x) const
103666     {
103667         boost::checked_array_delete(x);
103668     }
103669 };
103670
103671 }
103672 # 25 "/usr/include/boost/shared_ptr.hpp" 2 3 4
103673
103674 # 1 "/usr/include/boost/detail/shared_count.hpp" 1 3 4
103675
103676 #define BOOST_DETAIL_SHARED_COUNT_HPP_INCLUDED 
103677 # 28 "/usr/include/boost/detail/shared_count.hpp" 3 4
103678 # 1 "/usr/include/boost/detail/bad_weak_ptr.hpp" 1 3 4
103679
103680 #define BOOST_BAD_WEAK_PTR_HPP_INCLUDED 
103681 # 26 "/usr/include/boost/detail/bad_weak_ptr.hpp" 3 4
103682 namespace boost
103683 {
103684 # 39 "/usr/include/boost/detail/bad_weak_ptr.hpp" 3 4
103685 class bad_weak_ptr: public std::exception
103686 {
103687 public:
103688
103689     virtual char const * what() const throw()
103690     {
103691         return "boost::bad_weak_ptr";
103692     }
103693 };
103694
103695
103696
103697
103698
103699 }
103700 # 29 "/usr/include/boost/detail/shared_count.hpp" 2 3 4
103701 # 1 "/usr/include/boost/detail/sp_counted_base.hpp" 1 3 4
103702
103703 #define BOOST_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED 
103704 # 32 "/usr/include/boost/detail/sp_counted_base.hpp" 3 4
103705 # 1 "/usr/include/boost/detail/sp_counted_base_gcc_x86.hpp" 1 3 4
103706
103707 #define BOOST_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED 
103708 # 29 "/usr/include/boost/detail/sp_counted_base_gcc_x86.hpp" 3 4
103709 namespace boost
103710 {
103711
103712 namespace detail
103713 {
103714
103715 inline int atomic_exchange_and_add( int * pw, int dv )
103716 {
103717
103718
103719
103720
103721     int r;
103722
103723     __asm__ __volatile__
103724     (
103725         "lock\n\t"
103726         "xadd %1, %0":
103727         "=m"( *pw ), "=r"( r ):
103728         "m"( *pw ), "1"( dv ):
103729         "memory", "cc"
103730     );
103731
103732     return r;
103733 }
103734
103735 inline void atomic_increment( int * pw )
103736 {
103737
103738
103739     __asm__
103740     (
103741         "lock\n\t"
103742         "incl %0":
103743         "=m"( *pw ):
103744         "m"( *pw ):
103745         "cc"
103746     );
103747 }
103748
103749 inline int atomic_conditional_increment( int * pw )
103750 {
103751
103752
103753
103754
103755     int rv, tmp;
103756
103757     __asm__
103758     (
103759         "movl %0, %%eax\n\t"
103760         "0:\n\t"
103761         "test %%eax, %%eax\n\t"
103762         "je 1f\n\t"
103763         "movl %%eax, %2\n\t"
103764         "incl %2\n\t"
103765         "lock\n\t"
103766         "cmpxchgl %2, %0\n\t"
103767         "jne 0b\n\t"
103768         "1:":
103769         "=m"( *pw ), "=&a"( rv ), "=&r"( tmp ):
103770         "m"( *pw ):
103771         "cc"
103772     );
103773
103774     return rv;
103775 }
103776
103777 class sp_counted_base
103778 {
103779 private:
103780
103781     sp_counted_base( sp_counted_base const & );
103782     sp_counted_base & operator= ( sp_counted_base const & );
103783
103784     int use_count_;
103785     int weak_count_;
103786
103787 public:
103788
103789     sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
103790     {
103791     }
103792
103793     virtual ~sp_counted_base()
103794     {
103795     }
103796
103797
103798
103799
103800     virtual void dispose() = 0;
103801
103802
103803
103804     virtual void destroy()
103805     {
103806         delete this;
103807     }
103808
103809     virtual void * get_deleter( std::type_info const & ti ) = 0;
103810
103811     void add_ref_copy()
103812     {
103813         atomic_increment( &use_count_ );
103814     }
103815
103816     bool add_ref_lock()
103817     {
103818         return atomic_conditional_increment( &use_count_ ) != 0;
103819     }
103820
103821     void release()
103822     {
103823         if( atomic_exchange_and_add( &use_count_, -1 ) == 1 )
103824         {
103825             dispose();
103826             weak_release();
103827         }
103828     }
103829
103830     void weak_add_ref()
103831     {
103832         atomic_increment( &weak_count_ );
103833     }
103834
103835     void weak_release()
103836     {
103837         if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 )
103838         {
103839             destroy();
103840         }
103841     }
103842
103843     long use_count() const
103844     {
103845         return static_cast<int const volatile &>( use_count_ );
103846     }
103847 };
103848
103849 }
103850
103851 }
103852 # 33 "/usr/include/boost/detail/sp_counted_base.hpp" 2 3 4
103853 # 30 "/usr/include/boost/detail/shared_count.hpp" 2 3 4
103854 # 1 "/usr/include/boost/detail/sp_counted_impl.hpp" 1 3 4
103855
103856 #define BOOST_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED 
103857 # 38 "/usr/include/boost/detail/sp_counted_impl.hpp" 3 4
103858 namespace boost
103859 {
103860 # 48 "/usr/include/boost/detail/sp_counted_impl.hpp" 3 4
103861 namespace detail
103862 {
103863
103864 template<class X> class sp_counted_impl_p: public sp_counted_base
103865 {
103866 private:
103867
103868     X * px_;
103869
103870     sp_counted_impl_p( sp_counted_impl_p const & );
103871     sp_counted_impl_p & operator= ( sp_counted_impl_p const & );
103872
103873     typedef sp_counted_impl_p<X> this_type;
103874
103875 public:
103876
103877     explicit sp_counted_impl_p( X * px ): px_( px )
103878     {
103879
103880
103881
103882     }
103883
103884     virtual void dispose()
103885     {
103886
103887
103888
103889         boost::checked_delete( px_ );
103890     }
103891
103892     virtual void * get_deleter( std::type_info const & )
103893     {
103894         return 0;
103895     }
103896 # 111 "/usr/include/boost/detail/sp_counted_impl.hpp" 3 4
103897 };
103898 # 120 "/usr/include/boost/detail/sp_counted_impl.hpp" 3 4
103899 template<class P, class D> class sp_counted_impl_pd: public sp_counted_base
103900 {
103901 private:
103902
103903     P ptr;
103904     D del;
103905
103906     sp_counted_impl_pd( sp_counted_impl_pd const & );
103907     sp_counted_impl_pd & operator= ( sp_counted_impl_pd const & );
103908
103909     typedef sp_counted_impl_pd<P, D> this_type;
103910
103911 public:
103912
103913
103914
103915     sp_counted_impl_pd( P p, D d ): ptr(p), del(d)
103916     {
103917     }
103918
103919     virtual void dispose()
103920     {
103921         del( ptr );
103922     }
103923
103924     virtual void * get_deleter( std::type_info const & ti )
103925     {
103926         return ti == typeid(D)? &del: 0;
103927     }
103928 # 177 "/usr/include/boost/detail/sp_counted_impl.hpp" 3 4
103929 };
103930
103931
103932
103933
103934
103935 }
103936
103937 }
103938 # 31 "/usr/include/boost/detail/shared_count.hpp" 2 3 4
103939
103940
103941
103942
103943
103944
103945 namespace boost
103946 {
103947
103948 namespace detail
103949 {
103950 # 50 "/usr/include/boost/detail/shared_count.hpp" 3 4
103951 class weak_count;
103952
103953 class shared_count
103954 {
103955 private:
103956
103957     sp_counted_base * pi_;
103958
103959
103960
103961
103962
103963     friend class weak_count;
103964
103965 public:
103966
103967     shared_count(): pi_(0)
103968
103969
103970
103971     {
103972     }
103973
103974     template<class Y> explicit shared_count( Y * p ): pi_( 0 )
103975
103976
103977
103978     {
103979
103980
103981         try
103982         {
103983             pi_ = new sp_counted_impl_p<Y>( p );
103984         }
103985         catch(...)
103986         {
103987             boost::checked_delete( p );
103988             throw;
103989         }
103990 # 101 "/usr/include/boost/detail/shared_count.hpp" 3 4
103991     }
103992
103993     template<class P, class D> shared_count(P p, D d): pi_(0)
103994
103995
103996
103997     {
103998
103999
104000         try
104001         {
104002             pi_ = new sp_counted_impl_pd<P, D>(p, d);
104003         }
104004         catch(...)
104005         {
104006             d(p);
104007             throw;
104008         }
104009 # 131 "/usr/include/boost/detail/shared_count.hpp" 3 4
104010     }
104011
104012
104013
104014
104015
104016     template<class Y>
104017     explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) )
104018
104019
104020
104021     {
104022 # 152 "/usr/include/boost/detail/shared_count.hpp" 3 4
104023         r.release();
104024     }
104025
104026
104027
104028     ~shared_count()
104029     {
104030         if( pi_ != 0 ) pi_->release();
104031
104032
104033
104034     }
104035
104036     shared_count(shared_count const & r): pi_(r.pi_)
104037
104038
104039
104040     {
104041         if( pi_ != 0 ) pi_->add_ref_copy();
104042     }
104043
104044     explicit shared_count(weak_count const & r);
104045
104046     shared_count & operator= (shared_count const & r)
104047     {
104048         sp_counted_base * tmp = r.pi_;
104049
104050         if( tmp != pi_ )
104051         {
104052             if( tmp != 0 ) tmp->add_ref_copy();
104053             if( pi_ != 0 ) pi_->release();
104054             pi_ = tmp;
104055         }
104056
104057         return *this;
104058     }
104059
104060     void swap(shared_count & r)
104061     {
104062         sp_counted_base * tmp = r.pi_;
104063         r.pi_ = pi_;
104064         pi_ = tmp;
104065     }
104066
104067     long use_count() const
104068     {
104069         return pi_ != 0? pi_->use_count(): 0;
104070     }
104071
104072     bool unique() const
104073     {
104074         return use_count() == 1;
104075     }
104076
104077     friend inline bool operator==(shared_count const & a, shared_count const & b)
104078     {
104079         return a.pi_ == b.pi_;
104080     }
104081
104082     friend inline bool operator<(shared_count const & a, shared_count const & b)
104083     {
104084         return std::less<sp_counted_base *>()( a.pi_, b.pi_ );
104085     }
104086
104087     void * get_deleter(std::type_info const & ti) const
104088     {
104089         return pi_? pi_->get_deleter( ti ): 0;
104090     }
104091 };
104092
104093
104094 class weak_count
104095 {
104096 private:
104097
104098     sp_counted_base * pi_;
104099
104100
104101
104102
104103
104104     friend class shared_count;
104105
104106 public:
104107
104108     weak_count(): pi_(0)
104109
104110
104111
104112     {
104113     }
104114
104115     weak_count(shared_count const & r): pi_(r.pi_)
104116
104117
104118
104119     {
104120         if(pi_ != 0) pi_->weak_add_ref();
104121     }
104122
104123     weak_count(weak_count const & r): pi_(r.pi_)
104124
104125
104126
104127     {
104128         if(pi_ != 0) pi_->weak_add_ref();
104129     }
104130
104131     ~weak_count()
104132     {
104133         if(pi_ != 0) pi_->weak_release();
104134
104135
104136
104137     }
104138
104139     weak_count & operator= (shared_count const & r)
104140     {
104141         sp_counted_base * tmp = r.pi_;
104142         if(tmp != 0) tmp->weak_add_ref();
104143         if(pi_ != 0) pi_->weak_release();
104144         pi_ = tmp;
104145
104146         return *this;
104147     }
104148
104149     weak_count & operator= (weak_count const & r)
104150     {
104151         sp_counted_base * tmp = r.pi_;
104152         if(tmp != 0) tmp->weak_add_ref();
104153         if(pi_ != 0) pi_->weak_release();
104154         pi_ = tmp;
104155
104156         return *this;
104157     }
104158
104159     void swap(weak_count & r)
104160     {
104161         sp_counted_base * tmp = r.pi_;
104162         r.pi_ = pi_;
104163         pi_ = tmp;
104164     }
104165
104166     long use_count() const
104167     {
104168         return pi_ != 0? pi_->use_count(): 0;
104169     }
104170
104171     friend inline bool operator==(weak_count const & a, weak_count const & b)
104172     {
104173         return a.pi_ == b.pi_;
104174     }
104175
104176     friend inline bool operator<(weak_count const & a, weak_count const & b)
104177     {
104178         return std::less<sp_counted_base *>()(a.pi_, b.pi_);
104179     }
104180 };
104181
104182 inline shared_count::shared_count( weak_count const & r ): pi_( r.pi_ )
104183
104184
104185
104186 {
104187     if( pi_ == 0 || !pi_->add_ref_lock() )
104188     {
104189         boost::throw_exception( boost::bad_weak_ptr() );
104190     }
104191 }
104192
104193 }
104194
104195 }
104196 # 27 "/usr/include/boost/shared_ptr.hpp" 2 3 4
104197 # 40 "/usr/include/boost/shared_ptr.hpp" 3 4
104198 namespace boost
104199 {
104200
104201 template<class T> class weak_ptr;
104202 template<class T> class enable_shared_from_this;
104203
104204 namespace detail
104205 {
104206
104207 struct static_cast_tag {};
104208 struct const_cast_tag {};
104209 struct dynamic_cast_tag {};
104210 struct polymorphic_cast_tag {};
104211
104212 template<class T> struct shared_ptr_traits
104213 {
104214     typedef T & reference;
104215 };
104216
104217 template<> struct shared_ptr_traits<void>
104218 {
104219     typedef void reference;
104220 };
104221
104222
104223
104224 template<> struct shared_ptr_traits<void const>
104225 {
104226     typedef void reference;
104227 };
104228
104229 template<> struct shared_ptr_traits<void volatile>
104230 {
104231     typedef void reference;
104232 };
104233
104234 template<> struct shared_ptr_traits<void const volatile>
104235 {
104236     typedef void reference;
104237 };
104238
104239
104240
104241
104242
104243 template<class T, class Y> void sp_enable_shared_from_this( shared_count const & pn, boost::enable_shared_from_this<T> const * pe, Y const * px )
104244 {
104245     if(pe != 0) pe->_internal_weak_this._internal_assign(const_cast<Y*>(px), pn);
104246 }
104247
104248 inline void sp_enable_shared_from_this( shared_count const & , ... )
104249 {
104250 }
104251
104252 }
104253 # 105 "/usr/include/boost/shared_ptr.hpp" 3 4
104254 template<class T> class shared_ptr
104255 {
104256 private:
104257
104258
104259     typedef shared_ptr<T> this_type;
104260
104261 public:
104262
104263     typedef T element_type;
104264     typedef T value_type;
104265     typedef T * pointer;
104266     typedef typename detail::shared_ptr_traits<T>::reference reference;
104267
104268     shared_ptr(): px(0), pn()
104269     {
104270     }
104271
104272     template<class Y>
104273     explicit shared_ptr( Y * p ): px( p ), pn( p )
104274     {
104275         detail::sp_enable_shared_from_this( pn, p, p );
104276     }
104277
104278
104279
104280
104281
104282
104283
104284     template<class Y, class D> shared_ptr(Y * p, D d): px(p), pn(p, d)
104285     {
104286         detail::sp_enable_shared_from_this( pn, p, p );
104287     }
104288
104289
104290
104291
104292
104293
104294     shared_ptr & operator=(shared_ptr const & r)
104295     {
104296         px = r.px;
104297         pn = r.pn;
104298         return *this;
104299     }
104300
104301
104302
104303     template<class Y>
104304     explicit shared_ptr(weak_ptr<Y> const & r): pn(r.pn)
104305     {
104306
104307         px = r.px;
104308     }
104309
104310     template<class Y>
104311     shared_ptr(shared_ptr<Y> const & r): px(r.px), pn(r.pn)
104312     {
104313     }
104314
104315     template<class Y>
104316     shared_ptr(shared_ptr<Y> const & r, detail::static_cast_tag): px(static_cast<element_type *>(r.px)), pn(r.pn)
104317     {
104318     }
104319
104320     template<class Y>
104321     shared_ptr(shared_ptr<Y> const & r, detail::const_cast_tag): px(const_cast<element_type *>(r.px)), pn(r.pn)
104322     {
104323     }
104324
104325     template<class Y>
104326     shared_ptr(shared_ptr<Y> const & r, detail::dynamic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)
104327     {
104328         if(px == 0)
104329         {
104330             pn = detail::shared_count();
104331         }
104332     }
104333
104334     template<class Y>
104335     shared_ptr(shared_ptr<Y> const & r, detail::polymorphic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)
104336     {
104337         if(px == 0)
104338         {
104339             boost::throw_exception(std::bad_cast());
104340         }
104341     }
104342
104343
104344
104345     template<class Y>
104346     explicit shared_ptr(std::auto_ptr<Y> & r): px(r.get()), pn()
104347     {
104348         Y * tmp = r.get();
104349         pn = detail::shared_count(r);
104350         detail::sp_enable_shared_from_this( pn, tmp, tmp );
104351     }
104352
104353
104354
104355
104356
104357     template<class Y>
104358     shared_ptr & operator=(shared_ptr<Y> const & r)
104359     {
104360         px = r.px;
104361         pn = r.pn;
104362         return *this;
104363     }
104364
104365
104366
104367
104368
104369     template<class Y>
104370     shared_ptr & operator=(std::auto_ptr<Y> & r)
104371     {
104372         this_type(r).swap(*this);
104373         return *this;
104374     }
104375
104376
104377
104378     void reset()
104379     {
104380         this_type().swap(*this);
104381     }
104382
104383     template<class Y> void reset(Y * p)
104384     {
104385         (static_cast<void> ((p == 0 || p != px) ? 0 : (__assert_fail ("p == 0 || p != px", "/usr/include/boost/shared_ptr.hpp", 236, __PRETTY_FUNCTION__), 0)));
104386         this_type(p).swap(*this);
104387     }
104388
104389     template<class Y, class D> void reset(Y * p, D d)
104390     {
104391         this_type(p, d).swap(*this);
104392     }
104393
104394     reference operator* () const
104395     {
104396         (static_cast<void> ((px != 0) ? 0 : (__assert_fail ("px != 0", "/usr/include/boost/shared_ptr.hpp", 247, __PRETTY_FUNCTION__), 0)));
104397         return *px;
104398     }
104399
104400     T * operator-> () const
104401     {
104402         (static_cast<void> ((px != 0) ? 0 : (__assert_fail ("px != 0", "/usr/include/boost/shared_ptr.hpp", 253, __PRETTY_FUNCTION__), 0)));
104403         return px;
104404     }
104405
104406     T * get() const
104407     {
104408         return px;
104409     }
104410 # 284 "/usr/include/boost/shared_ptr.hpp" 3 4
104411     typedef T * this_type::*unspecified_bool_type;
104412
104413     operator unspecified_bool_type() const
104414     {
104415         return px == 0? 0: &this_type::px;
104416     }
104417
104418
104419
104420
104421
104422     bool operator! () const
104423     {
104424         return px == 0;
104425     }
104426
104427     bool unique() const
104428     {
104429         return pn.unique();
104430     }
104431
104432     long use_count() const
104433     {
104434         return pn.use_count();
104435     }
104436
104437     void swap(shared_ptr<T> & other)
104438     {
104439         std::swap(px, other.px);
104440         pn.swap(other.pn);
104441     }
104442
104443     template<class Y> bool _internal_less(shared_ptr<Y> const & rhs) const
104444     {
104445         return pn < rhs.pn;
104446     }
104447
104448     void * _internal_get_deleter(std::type_info const & ti) const
104449     {
104450         return pn.get_deleter(ti);
104451     }
104452
104453
104454
104455
104456
104457
104458 private:
104459
104460     template<class Y> friend class shared_ptr;
104461     template<class Y> friend class weak_ptr;
104462
104463
104464
104465
104466     T * px;
104467     detail::shared_count pn;
104468
104469 };
104470
104471 template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b)
104472 {
104473     return a.get() == b.get();
104474 }
104475
104476 template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b)
104477 {
104478     return a.get() != b.get();
104479 }
104480 # 365 "/usr/include/boost/shared_ptr.hpp" 3 4
104481 template<class T, class U> inline bool operator<(shared_ptr<T> const & a, shared_ptr<U> const & b)
104482 {
104483     return a._internal_less(b);
104484 }
104485
104486 template<class T> inline void swap(shared_ptr<T> & a, shared_ptr<T> & b)
104487 {
104488     a.swap(b);
104489 }
104490
104491 template<class T, class U> shared_ptr<T> static_pointer_cast(shared_ptr<U> const & r)
104492 {
104493     return shared_ptr<T>(r, detail::static_cast_tag());
104494 }
104495
104496 template<class T, class U> shared_ptr<T> const_pointer_cast(shared_ptr<U> const & r)
104497 {
104498     return shared_ptr<T>(r, detail::const_cast_tag());
104499 }
104500
104501 template<class T, class U> shared_ptr<T> dynamic_pointer_cast(shared_ptr<U> const & r)
104502 {
104503     return shared_ptr<T>(r, detail::dynamic_cast_tag());
104504 }
104505
104506
104507
104508 template<class T, class U> shared_ptr<T> shared_static_cast(shared_ptr<U> const & r)
104509 {
104510     return shared_ptr<T>(r, detail::static_cast_tag());
104511 }
104512
104513 template<class T, class U> shared_ptr<T> shared_dynamic_cast(shared_ptr<U> const & r)
104514 {
104515     return shared_ptr<T>(r, detail::dynamic_cast_tag());
104516 }
104517
104518 template<class T, class U> shared_ptr<T> shared_polymorphic_cast(shared_ptr<U> const & r)
104519 {
104520     return shared_ptr<T>(r, detail::polymorphic_cast_tag());
104521 }
104522
104523 template<class T, class U> shared_ptr<T> shared_polymorphic_downcast(shared_ptr<U> const & r)
104524 {
104525     (static_cast<void> ((dynamic_cast<T *>(r.get()) == r.get()) ? 0 : (__assert_fail ("dynamic_cast<T *>(r.get()) == r.get()", "/usr/include/boost/shared_ptr.hpp", 409, __PRETTY_FUNCTION__), 0)));
104526     return shared_static_cast<T>(r);
104527 }
104528
104529
104530
104531 template<class T> inline T * get_pointer(shared_ptr<T> const & p)
104532 {
104533     return p.get();
104534 }
104535 # 437 "/usr/include/boost/shared_ptr.hpp" 3 4
104536 template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)
104537
104538 {
104539     os << p.get();
104540     return os;
104541 }
104542 # 463 "/usr/include/boost/shared_ptr.hpp" 3 4
104543 template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
104544 {
104545     return static_cast<D *>(p._internal_get_deleter(typeid(D)));
104546 }
104547
104548
104549
104550 }
104551 # 10 "/home/emanuel/DIKU/3dot/source/render/scene/transform.h" 2
104552
104553 namespace Graphics
104554 {
104555  class Transform;
104556  typedef boost::shared_ptr<Transform> TransformPtr;
104557
104558
104559  class Transform
104560  {
104561  public:
104562   Transform(void);
104563   ~Transform(void);
104564   void Translate(const Math::vec3& vector);
104565   void Translate(float x, float y, float z);
104566   void Scale(float x, float y, float z);
104567   void Rotate(float angle, float x, float y, float z);
104568   void Rotate(const Math::quat& q);
104569
104570   void SetRotation( const Math::quat& q_ );
104571
104572   void SetPos(const Math::vec3& vector);
104573   void SetPos(float x, float y, float z);
104574
104575   Math::vec3 GetPos();
104576
104577
104578   Math::mat4 GetMatrix();
104579   void SetMatrix(Math::mat4 m);
104580
104581   void operator* (Transform t);
104582   void operator* (Math::mat4& m);
104583   void MultMatrix (Math::mat4& m);
104584
104585   void Identity();
104586
104587   void SetParent(TransformPtr parent);
104588   TransformPtr GetParent();
104589
104590  protected:
104591   Math::mat4 transform;
104592   TransformPtr parent;
104593  };
104594
104595
104596 }
104597 # 5 "/home/emanuel/DIKU/3dot/source/render/scene/node.h" 2
104598
104599
104600 namespace Graphics
104601 {
104602  class Node
104603  {
104604  public:
104605   Node(void);
104606   ~Node(void);
104607   TransformPtr local;
104608   TransformPtr world;
104609
104610   Node* GetParent();
104611
104612   Math::vec3 pivot;
104613
104614
104615   void AddChild(Node* child);
104616   void RemoveChild(Node* child);
104617   void UpdateGS();
104618
104619   std::list<Node*> children;
104620  protected:
104621
104622   void SetParent(Node* parent);
104623   Node* parent;
104624
104625  };
104626 }
104627 # 5 "/home/emanuel/DIKU/3dot/source/render/scene/leaf.h" 2
104628
104629 namespace Graphics
104630 {
104631  class Leaf : public Node
104632  {
104633  public:
104634   Leaf(void);
104635   ~Leaf(void);
104636  };
104637 }
104638 # 7 "/home/emanuel/DIKU/3dot/source/render/scene/geometry.h" 2
104639 # 1 "/home/emanuel/DIKU/3dot/source/render/scene/material.h" 1
104640
104641 #define SCENE_MATERIAL_H 
104642
104643 # 1 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/xmlserialize.hpp" 1
104644
104645 #define XMLSERIALIZE_HPP 
104646 # 120 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/xmlserialize.hpp"
104647 # 1 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/parser.hpp" 1
104648
104649 #define PARSER_HPP 
104650
104651
104652
104653
104654
104655
104656 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 1 3
104657 # 47 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
104658        
104659 # 48 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 3
104660 #pragma GCC visibility push(default)
104661
104662 # 1 "/usr/include/assert.h" 1 3 4
104663 # 25 "/usr/include/assert.h" 3 4
104664 #undef _ASSERT_H
104665 #undef assert
104666 #undef __ASSERT_VOID_CAST
104667
104668
104669 #undef assert_perror
104670
104671
104672
104673
104674 #define _ASSERT_H 1
104675
104676
104677
104678 #define __ASSERT_VOID_CAST static_cast<void>
104679 # 65 "/usr/include/assert.h" 3 4
104680 extern "C" {
104681
104682
104683 extern void __assert_fail (__const char *__assertion, __const char *__file,
104684       unsigned int __line, __const char *__function)
104685      throw () __attribute__ ((__noreturn__));
104686
104687
104688 extern void __assert_perror_fail (int __errnum, __const char *__file,
104689       unsigned int __line,
104690       __const char *__function)
104691      throw () __attribute__ ((__noreturn__));
104692
104693
104694
104695
104696 extern void __assert (const char *__assertion, const char *__file, int __line)
104697      throw () __attribute__ ((__noreturn__));
104698
104699
104700 }
104701
104702 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
104703
104704
104705
104706
104707
104708 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
104709 # 105 "/usr/include/assert.h" 3 4
104710 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
104711 # 51 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/cassert" 2 3
104712
104713 #pragma GCC visibility pop
104714 # 10 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/parser.hpp" 2
104715
104716
104717 namespace XMLSerialize
104718 {
104719   typedef std::pair< std::string, std::string > attrib;
104720   typedef std::vector< int >::size_type vsize;
104721
104722
104723   struct XMLNode
104724   {
104725     std::string name;
104726     std::string text;
104727     std::vector< XMLNode > nodes;
104728     std::vector< attrib > attributes;
104729     std::map< std::string, vsize > attrib_offsets;
104730     typedef std::map< std::string, std::vector< XMLNode* > > OffsetMap;
104731     OffsetMap node_offsets;
104732
104733   XMLNode& addChildNode( const std::string& name, const std::string& text = "" );
104734   attrib& setAttrib( const std::string& name, const std::string& value );
104735     const attrib* getAttrib( const std::string& s ) const;
104736     template< typename T >
104737     bool getNodeValue( const std::string& name, T& out ) const;
104738 # 58 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/parser.hpp"
104739     template< typename T >
104740     bool getNodeValues( const std::string& name, std::vector< T >& out ) const
104741     {
104742       std::map< std::string, std::vector< XMLNode* > >::const_iterator i = node_offsets.find( name );
104743       if( i == node_offsets.end() )
104744  return false;
104745       T tmp;
104746       for( typename std::vector< T >::size_type j = 0; j < i->second.size(); ++j )
104747  {
104748
104749    std::stringstream s( nodes[ i->second[ j ] ].text );
104750    s >> tmp;
104751    out.push_back( tmp );
104752  }
104753       return true;
104754     }
104755
104756     const XMLNode& getFirstNode( const std::string& name ) const
104757     {
104758       std::map< std::string, std::vector< XMLNode* > >::const_iterator i = node_offsets.find( name );
104759       if( i == node_offsets.end() )
104760  return *this;
104761       return (*i->second.front());
104762
104763     }
104764   };
104765
104766   void debugPrint( XMLNode& n );
104767
104768   bool XMLParse( const char* filename, XMLNode& out );
104769   inline
104770   bool XMLParse( const std::string& file, XMLNode& out )
104771   {
104772     return XMLParse( file.c_str(), out );
104773   }
104774   void XMLSave( const char* filename, XMLNode& tosave );
104775   inline
104776   void XMLSave( const std::string& file, XMLNode& tosave )
104777   {
104778     XMLSave( file.c_str(), tosave );
104779   }
104780   void XMLSave( std::ostream& s, XMLNode& tosave );
104781
104782   void print( XMLNode& );
104783
104784   template< typename T >
104785   bool XMLLoadSeq( const std::string& file, const std::string& rootname, const std::string& element, std::vector< T >& out )
104786   {
104787     XMLNode n;
104788     if( !XMLParse( file, n ) )
104789       return false;
104790     const XMLNode& r = n.getFirstNode( rootname );
104791     return XMLLoadSeq( r, element, out );
104792   }
104793
104794   template< typename T >
104795   bool XMLLoadSeq( const XMLNode& r, const std::string& element, std::vector< T >& out )
104796   {
104797     std::map< std::string, std::vector< XMLNode* > >::const_iterator i = r.node_offsets.find( element );
104798     if( i == r.node_offsets.end() )
104799       return false;
104800     for( typename std::vector< T >::size_type j = 0; j < i->second.size(); ++j )
104801       {
104802  T temp;
104803  if( !temp.load( r.nodes[ i->second[ j ] ] ) )
104804    {
104805      std::cout << "the " << j << " element didnt load correctly" << std::endl;
104806
104807    }
104808  out.push_back( temp );
104809       }
104810     return out.size() != 0;
104811   }
104812
104813
104814
104815   template< typename T >
104816   bool XMLNode::getNodeValue( const std::string& name, T& out ) const
104817   {
104818     std::map< std::string, std::vector< XMLNode* > >::const_iterator i = node_offsets.find( name );
104819     if( i == node_offsets.end() )
104820       return false;
104821
104822     std::stringstream s( nodes[ i->second.front() ].text );
104823     s >> out;
104824     return true;
104825   }
104826 # 165 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/parser.hpp"
104827 }
104828 # 121 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/xmlserialize.hpp" 2
104829 # 1 "/usr/include/boost/function.hpp" 1 3 4
104830 # 61 "/usr/include/boost/function.hpp" 3 4
104831 #define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
104832 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
104833 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
104834 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
104835 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
104836 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
104837 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
104838 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104839 #undef BOOST_PP_SLOT_TEMP_1
104840 #undef BOOST_PP_SLOT_TEMP_2
104841 #undef BOOST_PP_SLOT_TEMP_3
104842 #undef BOOST_PP_SLOT_TEMP_4
104843 #undef BOOST_PP_SLOT_TEMP_5
104844 #undef BOOST_PP_SLOT_TEMP_6
104845 #undef BOOST_PP_SLOT_TEMP_7
104846 #undef BOOST_PP_SLOT_TEMP_8
104847 #undef BOOST_PP_SLOT_TEMP_9
104848 #undef BOOST_PP_SLOT_TEMP_10
104849
104850
104851 #define BOOST_PP_SLOT_TEMP_10 0
104852 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104853 #define BOOST_PP_SLOT_TEMP_9 0
104854 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104855 #define BOOST_PP_SLOT_TEMP_8 0
104856 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104857 #define BOOST_PP_SLOT_TEMP_7 0
104858 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104859 #define BOOST_PP_SLOT_TEMP_6 0
104860 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104861 #define BOOST_PP_SLOT_TEMP_5 0
104862 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104863 #define BOOST_PP_SLOT_TEMP_4 0
104864 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104865 #define BOOST_PP_SLOT_TEMP_3 0
104866 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104867 #define BOOST_PP_SLOT_TEMP_2 0
104868 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104869 #define BOOST_PP_SLOT_TEMP_1 0
104870 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104871 #undef BOOST_PP_VALUE
104872 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
104873
104874 #undef BOOST_PP_ITERATION_START_1
104875
104876 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
104877 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
104878 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
104879 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
104880 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
104881 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
104882 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
104883 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
104884 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
104885 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
104886
104887
104888 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
104889 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
104890 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
104891 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
104892 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
104893 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
104894 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
104895 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
104896 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
104897 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
104898 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
104899 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
104900 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104901 #undef BOOST_PP_SLOT_TEMP_1
104902 #undef BOOST_PP_SLOT_TEMP_2
104903 #undef BOOST_PP_SLOT_TEMP_3
104904 #undef BOOST_PP_SLOT_TEMP_4
104905 #undef BOOST_PP_SLOT_TEMP_5
104906 #undef BOOST_PP_SLOT_TEMP_6
104907 #undef BOOST_PP_SLOT_TEMP_7
104908 #undef BOOST_PP_SLOT_TEMP_8
104909 #undef BOOST_PP_SLOT_TEMP_9
104910 #undef BOOST_PP_SLOT_TEMP_10
104911
104912
104913 #define BOOST_PP_SLOT_TEMP_10 0
104914 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104915 #define BOOST_PP_SLOT_TEMP_9 0
104916 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104917 #define BOOST_PP_SLOT_TEMP_8 0
104918 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104919 #define BOOST_PP_SLOT_TEMP_7 0
104920 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104921 #define BOOST_PP_SLOT_TEMP_6 0
104922 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104923 #define BOOST_PP_SLOT_TEMP_5 0
104924 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104925 #define BOOST_PP_SLOT_TEMP_4 0
104926 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104927 #define BOOST_PP_SLOT_TEMP_3 0
104928 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104929 #define BOOST_PP_SLOT_TEMP_2 1
104930 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104931 #define BOOST_PP_SLOT_TEMP_1 0
104932 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
104933 #undef BOOST_PP_VALUE
104934 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
104935
104936 #undef BOOST_PP_ITERATION_FINISH_1
104937
104938 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
104939 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
104940 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
104941 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
104942 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
104943 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
104944 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
104945 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
104946 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
104947 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
104948
104949
104950 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
104951 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
104952 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
104953 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
104954 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
104955 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
104956 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
104957 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
104958 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
104959
104960
104961
104962 #define BOOST_PP_ITERATION_FLAGS_1 0
104963
104964
104965
104966
104967
104968 #undef BOOST_PP_ITERATION_DEPTH
104969 #define BOOST_PP_ITERATION_DEPTH() 1
104970
104971 #define BOOST_PP_IS_ITERATING 1
104972
104973
104974
104975
104976
104977 #define BOOST_PP_ITERATION_1 0
104978 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
104979 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
104980 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
104981 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
104982 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
104983 #undef BOOST_FUNCTION_NUM_ARGS
104984 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
104985 #undef BOOST_PP_ITERATION_1
104986
104987
104988 #define BOOST_PP_ITERATION_1 1
104989 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
104990 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
104991 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
104992 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
104993 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
104994 #undef BOOST_FUNCTION_NUM_ARGS
104995 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
104996 #undef BOOST_PP_ITERATION_1
104997
104998
104999 #define BOOST_PP_ITERATION_1 2
105000 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
105001 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
105002 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
105003 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
105004 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
105005 #undef BOOST_FUNCTION_NUM_ARGS
105006 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
105007 #undef BOOST_PP_ITERATION_1
105008
105009
105010 #define BOOST_PP_ITERATION_1 3
105011 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
105012 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
105013 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
105014 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
105015 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
105016 #undef BOOST_FUNCTION_NUM_ARGS
105017 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
105018 #undef BOOST_PP_ITERATION_1
105019
105020
105021 #define BOOST_PP_ITERATION_1 4
105022 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
105023 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
105024 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
105025 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
105026 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
105027 #undef BOOST_FUNCTION_NUM_ARGS
105028 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
105029 #undef BOOST_PP_ITERATION_1
105030
105031
105032 #define BOOST_PP_ITERATION_1 5
105033 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
105034 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
105035 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
105036 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
105037 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
105038 #undef BOOST_FUNCTION_NUM_ARGS
105039 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
105040 #undef BOOST_PP_ITERATION_1
105041
105042
105043 #define BOOST_PP_ITERATION_1 6
105044 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
105045 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
105046 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
105047 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
105048 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
105049 #undef BOOST_FUNCTION_NUM_ARGS
105050 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
105051 #undef BOOST_PP_ITERATION_1
105052
105053
105054 #define BOOST_PP_ITERATION_1 7
105055 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
105056 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
105057 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
105058 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
105059 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
105060 #undef BOOST_FUNCTION_NUM_ARGS
105061 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
105062 #undef BOOST_PP_ITERATION_1
105063
105064
105065 #define BOOST_PP_ITERATION_1 8
105066 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
105067 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
105068 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
105069 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
105070 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
105071 #undef BOOST_FUNCTION_NUM_ARGS
105072 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
105073 #undef BOOST_PP_ITERATION_1
105074
105075
105076 #define BOOST_PP_ITERATION_1 9
105077 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
105078 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
105079 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
105080 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
105081 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
105082 #undef BOOST_FUNCTION_NUM_ARGS
105083 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
105084 #undef BOOST_PP_ITERATION_1
105085
105086
105087 #define BOOST_PP_ITERATION_1 10
105088 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
105089 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
105090 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
105091 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
105092 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
105093 #undef BOOST_FUNCTION_NUM_ARGS
105094 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
105095 #undef BOOST_PP_ITERATION_1
105096 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
105097 #undef BOOST_PP_IS_ITERATING
105098
105099 #undef BOOST_PP_ITERATION_DEPTH
105100 #define BOOST_PP_ITERATION_DEPTH() 0
105101
105102 #undef BOOST_PP_ITERATION_START_1
105103 #undef BOOST_PP_ITERATION_FINISH_1
105104 #undef BOOST_PP_FILENAME_1
105105
105106 #undef BOOST_PP_ITERATION_FLAGS_1
105107 #undef BOOST_PP_ITERATION_PARAMS_1
105108 # 63 "/usr/include/boost/function.hpp" 2 3 4
105109 #undef BOOST_PP_ITERATION_PARAMS_1
105110 # 122 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/xmlserialize.hpp" 2
105111
105112 #define ATTR(s,v) s.attr(#v,v)
105113 #define NODE(s,v) s.node(#v,v)
105114 #define NODE_REF(s,v) s.nodeRef(#v,v)
105115 #define NODE_DYN_REF(s,v) s.nodeDynRef(#v,v)
105116 #define ATTR_RANGE(s,v) s.attrRange(#v,v)
105117 #define NODE_RANGE(s,v) s.nodeRange(#v,v)
105118 #define NODE_REF_RANGE(s,v) s.nodeRefRange(#v,v)
105119 #define NODE_DYN_REF_RANGE(s,v) s.nodeDynRefRange(#v,v)
105120
105121 namespace XMLSerialize
105122 {
105123
105124
105125  class XMLSerializeable;
105126  class XMLSerializer;
105127  class XMLSerializeStream;
105128
105129
105130  typedef boost::function< XMLSerializeable* ( const std::string& ) > FactoryFunction;
105131  typedef boost::function< std::list< std::string >& ( ) > FactoryObjects;
105132
105133  class XMLSerializeFailure
105134  {
105135  public:
105136   std::string where;
105137   XMLSerializeFailure( const std::string& where ) : where( where )
105138   {
105139   }
105140  };
105141
105142  class XMLSerializeable
105143  {
105144  public:
105145   virtual void serialize( XMLSerializeStream& s ) = 0;
105146
105147
105148   virtual void Update(){}
105149  };
105150
105151  typedef void (XMLSerializeable::*CallbackFunction)( const XMLNode&, XMLSerializeStream& );
105152  typedef boost::function< XMLSerializeable* ( const XMLNode&, XMLSerializeStream& ) > Callback;
105153
105154  typedef unsigned int ID;
105155
105156
105157  class XMLSerializeStream
105158  {
105159  protected:
105160
105161   typedef std::map< XMLSerializeable*, ID > IdMap;
105162   typedef std::map< ID, XMLSerializeable* > ObjectMap;
105163
105164   public:
105165   virtual void text( std::string& value ) = 0;
105166
105167   virtual void attr( const std::string& name, std::string& value, bool asNode = false ) = 0;
105168   virtual void attr( const std::string& name, float& value, bool asNode = false ) = 0;
105169   virtual void attr( const std::string& name, double& value, bool asNode = false ) = 0;
105170   virtual void attr( const std::string& name, unsigned int& value, bool asNode = false ) = 0;
105171   virtual void attr( const std::string& name, int& value, bool asNode = false ) = 0;
105172   virtual void attr( const std::string& name, bool& value, bool asNode = false ) = 0;
105173   virtual void attr( const std::string& name, Math::quat& value, bool asNode = false ) = 0;
105174   virtual void attr( const std::string& name, Math::mat3& value, bool asNode = false ) = 0;
105175   virtual void attr( const std::string& name, Math::vec6& value, bool asNode = false ) = 0;
105176   virtual void attr( const std::string& name, Math::vec5& value, bool asNode = false ) = 0;
105177   virtual void attr( const std::string& name, Math::vec4& value, bool asNode = false ) = 0;
105178   virtual void attr( const std::string& name, Math::vec3& value, bool asNode = false ) = 0;
105179   virtual void attr( const std::string& name, Math::vec2& value, bool asNode = false ) = 0;
105180   virtual void attr( const std::string& name, Math::vec1& value, bool asNode = false ) = 0;
105181   virtual void attr( const std::string& name, Math::ivec2& value, bool asNode = false ) = 0;
105182   virtual void attr( const std::string& name, Math::uivec5& value, bool asNode = false ) = 0;
105183   virtual void attr( const std::string& name, Math::uivec4& value, bool asNode = false ) = 0;
105184   virtual void attr( const std::string& name, Math::uivec3& value, bool asNode = false ) = 0;
105185   virtual void attr( const std::string& name, Math::uivec2& value, bool asNode = false ) = 0;
105186   virtual void attr( const std::string& name, Math::uivec1& value, bool asNode = false ) = 0;
105187   virtual void node( const std::string& name, XMLSerializeable& sub,
105188                     const std::string* type = 0 ) = 0;
105189
105190
105191   virtual bool loading() = 0;
105192
105193   template< typename T >
105194    void nodeDynRef( const std::string& name, T*& t );
105195     template< typename T >
105196    void nodeRef( const std::string& name, T*& t );
105197
105198
105199
105200   virtual void nodeCallback( const std::string& name,
105201                             CallbackFunction f,
105202                 XMLSerializeable& owner )=0;
105203
105204   virtual void nodeCallback( const std::string& name,
105205                         Callback cb ) = 0;
105206
105207
105208
105209
105210    virtual XMLSerializeable* nodeDynamic( const std::string& name, XMLSerializeable* sub ) = 0;
105211
105212
105213   template< typename T >
105214   void nodeRange( const std::string& name, T& range );
105215
105216   template< typename T >
105217   void nodeRangeWrap( const std::string& name, T& range );
105218
105219   template< typename T >
105220   void nodeDynRefRange( const std::string& name, T& range );
105221
105222   template< typename T >
105223   void attrRange( const std::string& name, T& range );
105224
105225
105226   template< typename T >
105227   void nodeSet( const std::string& name, T& set );
105228   template< typename T >
105229   void nodeRefSet( const std::string& name, T& set );
105230
105231   template< typename T >
105232   void AttrMapRange( const std::string& name, T& range );
105233
105234
105235
105236  protected:
105237   virtual bool push( const std::string& ) = 0;
105238   virtual void pop() = 0;
105239
105240
105241   virtual void nodeRef_( const std::string& name, void* ptr ) = 0;
105242   virtual void nodeDynRef_( const std::string& name, void* ptr ) = 0;
105243  public:
105244
105245
105246   virtual XMLSerializeable* getObject( ID id )
105247   {
105248    return 0;
105249   }
105250
105251   virtual int getObjectCount( const std::string& )
105252   {
105253    return 0;
105254   }
105255
105256
105257   virtual void CreateDynamicIf(XMLSerializeable** pobj ) { throw 0; }
105258
105259  };
105260
105261  void save( const std::string& file, XMLSerializeable& s );
105262  void load( const std::string& file, XMLSerializeable& s, bool requireValues = false );
105263  void save( std::ostream& out, XMLSerializeable& s );
105264
105265  void Init();
105266
105267 }
105268
105269 # 1 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/xmlserializeimpl.hpp" 1
105270
105271 #define XMLS_XMLSERIALIZEIMPL_HPP 
105272
105273
105274
105275 # 1 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/serializewrap.hpp" 1
105276
105277 #define SERIALIZE_WRAP_HPP 
105278
105279
105280
105281
105282 namespace XMLSerialize
105283 {
105284   template< typename T >
105285   struct SerializeForwarder : public XMLSerialize::XMLSerializeable
105286   {
105287     T& t;
105288  SerializeForwarder( T& t_ ) : t( t_ ){}
105289     void serialize( XMLSerialize::XMLSerializeStream& s_ )
105290     { t.serialize( s_ ); }
105291   };
105292
105293   template< typename T >
105294   struct SerializeContainer : public XMLSerialize::XMLSerializeable
105295   {
105296     T t;
105297  SerializeContainer() { }
105298  SerializeContainer( const T& t ): t(t) { }
105299  void serialize( XMLSerialize::XMLSerializeStream& s_ )
105300     { t.serialize( s_ ); }
105301   };
105302
105303
105304   template< typename T >
105305   void NodeForward( XMLSerialize::XMLSerializeStream& s_, const std::string& nodename, T& t_ )
105306   {
105307     SerializeForwarder< T > fwd( t_ );
105308     s_.node( nodename, fwd );
105309   }
105310 }
105311 # 7 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/xmlserializeimpl.hpp" 2
105312
105313
105314
105315
105316
105317 namespace XMLSerialize
105318 {
105319  extern bool UseNewVersion;
105320
105321  template< typename T >
105322  void XMLSerializeStream::nodeDynRef( const std::string& name, T*& t )
105323   {
105324 # 28 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/xmlserializeimpl.hpp"
105325   void* ptr = &t;
105326   typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( sizeof( T* ) == sizeof( XMLSerializeable* ) ) >)> boost_static_assert_typedef_29;
105327
105328
105329
105330     nodeDynRef_( name, ptr );
105331   }
105332  template< typename T >
105333  void XMLSerializeStream::nodeRef( const std::string& name, T*& t )
105334   {
105335 # 48 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/xmlserializeimpl.hpp"
105336   void* ptr = &t;
105337   typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( sizeof( T* ) == sizeof( XMLSerializeable* ) ) >)> boost_static_assert_typedef_49;
105338
105339
105340
105341     nodeRef_( name, ptr );
105342   }
105343
105344  template< typename T >
105345  class RangeAppender
105346  {
105347  public:
105348   typedef typename T::iterator itr;
105349   itr cur;
105350
105351   T& range;
105352   RangeAppender( T& range, size_t size )
105353     :
105354   range( range )
105355   {
105356    range.resize( size );
105357    cur = range.begin();
105358   }
105359
105360   XMLSerializeable* callback( const XMLNode& n, XMLSerializeStream& s )
105361   {
105362    typedef typename T::value_type value;
105363    (static_cast<void> ((cur != range.end()) ? 0 : (__assert_fail ("cur != range.end()", "/home/emanuel/DIKU/3dot/source/util/xmlserialize/xmlserializeimpl.hpp", 75, __PRETTY_FUNCTION__), 0)));
105364    cur->serialize( s );
105365    return &(*cur++);
105366   }
105367  };
105368
105369
105370
105371
105372
105373
105374  template< typename T >
105375  class RangeAppenderWrapper
105376  {
105377  public:
105378   typedef typename T::iterator itr;
105379   itr cur;
105380
105381   T& range;
105382   RangeAppenderWrapper( T& range, size_t size )
105383     :
105384   range( range )
105385   {
105386    range.resize( size );
105387    cur = range.begin();
105388   }
105389
105390   XMLSerializeable* callback( const XMLNode& n, XMLSerializeStream& s )
105391   {
105392    typedef typename T::value_type value;
105393    (static_cast<void> ((cur != range.end()) ? 0 : (__assert_fail ("cur != range.end()", "/home/emanuel/DIKU/3dot/source/util/xmlserialize/xmlserializeimpl.hpp", 105, __PRETTY_FUNCTION__), 0)));
105394    cur->serialize( s );
105395
105396    return (XMLSerializeable*)&(*cur++);
105397   }
105398  };
105399
105400
105401
105402  template< typename T >
105403  class RangeRefAppender
105404  {
105405  public:
105406   typedef typename T::iterator itr;
105407   itr cur;
105408   T& range;
105409   RangeRefAppender( T& range, size_t size ) :
105410   range( range )
105411   {
105412    range.resize( size );
105413    cur = range.begin();
105414
105415   }
105416
105417   XMLSerializeable* callback( const XMLNode& n, XMLSerializeStream& s )
105418   {
105419
105420    typedef typename T::value_type value_type;
105421    if( !UseNewVersion )
105422    {
105423     ID id;
105424     s.attr( "ref", id );
105425     (*cur) = dynamic_cast< value_type >( s.getObject( id ) );
105426    }
105427    else
105428    {
105429
105430
105431     XMLSerialize::XMLSerializeable** cp = reinterpret_cast< XMLSerialize::XMLSerializeable** >( &(*cur) );
105432     s.CreateDynamicIf( cp );
105433    }
105434
105435
105436    return dynamic_cast<XMLSerializeable*>(*cur++);
105437   }
105438
105439  };
105440
105441  template< typename T >
105442  class RangeAttrAppender
105443  {
105444  public:
105445   typedef typename T::iterator itr;
105446   typedef typename T::value_type vt;
105447   itr cur;
105448   T& range;
105449   RangeAttrAppender( T& range, size_t size ) :
105450   range( range )
105451   {
105452    range.resize( size );
105453    cur = range.begin();
105454   }
105455
105456   XMLSerializeable* callback( const XMLNode& n, XMLSerializeStream& s )
105457   {
105458    typedef typename T::value_type value_type;
105459
105460    s.attr( "value", *cur );
105461    ++cur;
105462    return 0;
105463   }
105464
105465  };
105466
105467
105468  template< typename T >
105469  class RangeAttrMapAppender
105470  {
105471  public:
105472   typedef typename T::iterator itr;
105473   typedef typename T::mapped_type value_type;
105474   typedef typename T::key_type key_type;
105475   itr cur;
105476   T& range;
105477   RangeAttrMapAppender( T& range, size_t size ) :
105478   range( range )
105479   {
105480
105481
105482   }
105483
105484   XMLSerializeable* callback( const XMLNode& n, XMLSerializeStream& s )
105485   {
105486    value_type value;
105487    key_type key;
105488    s.attr( "value", value );
105489    s.attr( "key", key );
105490
105491    range[ key ] = value;
105492    return 0;
105493   }
105494
105495  };
105496
105497
105498  template< typename T >
105499  void XMLSerializeStream::nodeRangeWrap( const std::string& name, T& range )
105500  {
105501   typedef typename T::value_type value;
105502   typedef typename T::size_type size_type;
105503   typedef typename T::iterator itr;
105504
105505   if( !push( name ) )
105506    return;
105507
105508   if( loading() )
105509   {
105510
105511    RangeAppenderWrapper< T > a( range, getObjectCount( "item" ) );
105512    Callback cb = boost::bind( &RangeAppenderWrapper< T >::callback, &a, _1, _2 );
105513    nodeCallback( "item", cb );
105514   }
105515   else
105516   {
105517    for( itr i = range.begin(); i != range.end(); ++i )
105518    {
105519     SerializeForwarder<value> f( *i );
105520     node( "item", f );
105521    }
105522   }
105523   pop();
105524
105525  }
105526
105527
105528  template< typename T >
105529  void XMLSerializeStream::nodeRange( const std::string& name, T& range )
105530  {
105531   typedef typename T::value_type value;
105532   typedef typename T::size_type size_type;
105533   typedef typename T::iterator itr;
105534
105535
105536   if( !push( name ) )
105537    return;
105538   if( loading() )
105539   {
105540
105541    RangeAppender< T > a( range, getObjectCount( "item" ) );
105542    Callback cb = boost::bind( &RangeAppender< T >::callback, &a, _1, _2 );
105543    nodeCallback( "item", cb );
105544   }
105545   else
105546   {
105547    for( itr i = range.begin(); i != range.end(); ++i )
105548    {
105549     node( "item", *i );
105550    }
105551   }
105552   pop();
105553
105554  }
105555
105556  template< typename T >
105557  void XMLSerializeStream::nodeDynRefRange( const std::string& name, T& range )
105558  {
105559   typedef typename T::value_type value;
105560   typedef typename T::size_type size_type;
105561   typedef typename T::iterator itr;
105562
105563   if( !push( name ) )
105564    return;
105565   if( loading() )
105566   {
105567    int count = getObjectCount( "item" );
105568    RangeRefAppender< T > a( range, count );
105569
105570
105571
105572    Callback cb = boost::bind( &RangeRefAppender< T >::callback, &a, _1, _2 );
105573    nodeCallback( "item", cb );
105574   }
105575   else
105576   {
105577    for( itr i = range.begin(); i != range.end(); ++i )
105578     nodeDynRef( "item", *i );
105579   }
105580   pop();
105581  }
105582
105583  template< typename T >
105584  void XMLSerializeStream::attrRange( const std::string& name, T& range )
105585  {
105586   typedef typename T::value_type value;
105587   typedef typename T::size_type size_type;
105588   typedef typename T::iterator itr;
105589
105590   if( !push( name ) )
105591    return;
105592   if( loading() )
105593   {
105594    int count = getObjectCount( "item" );
105595    RangeAttrAppender< T > a( range, count );
105596    Callback cb = boost::bind( &RangeAttrAppender< T >::callback, &a, _1, _2 );
105597    nodeCallback( "item", cb );
105598   }
105599   else
105600   {
105601    for( itr i = range.begin(); i != range.end(); ++i )
105602    {
105603     push( "item" );
105604     attr( "value", *i );
105605     pop();
105606    }
105607   }
105608   pop();
105609  }
105610
105611
105612  template< typename T >
105613  void XMLSerializeStream::AttrMapRange( const std::string& name, T& range )
105614  {
105615   typedef typename T::key_type key;
105616   typedef typename T::size_type size_typ;
105617   typedef typename T::value_type value;
105618   typedef typename T::iterator itr;
105619
105620   if( !push( name ) )
105621    return;
105622   if( loading() )
105623   {
105624    int count = getObjectCount( "item" );
105625    RangeAttrMapAppender< T > a( range, count );
105626    Callback cb = boost::bind( &RangeAttrMapAppender< T >::callback, &a, _1, _2 );
105627    nodeCallback( "item", cb );
105628   }
105629   else
105630   {
105631    for( itr i = range.begin(); i != range.end(); ++i )
105632    {
105633     push( "item" );
105634
105635
105636     key key = i->first;
105637     attr( "key", key );
105638     attr( "value", i->second );
105639     pop();
105640    }
105641   }
105642   pop();
105643  }
105644
105645
105646
105647  template< typename T >
105648  void XMLSerializeStream::nodeSet( const std::string& name, T& set )
105649  {
105650   throw 0;
105651  }
105652  template< typename T >
105653  void XMLSerializeStream::nodeRefSet( const std::string& name, T& set )
105654  {
105655   throw 0;
105656  }
105657
105658
105659 }
105660 # 281 "/home/emanuel/DIKU/3dot/source/util/xmlserialize/xmlserialize.hpp" 2
105661 # 5 "/home/emanuel/DIKU/3dot/source/render/scene/material.h" 2
105662 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcgvertexshader.h" 1
105663
105664 #define OPENGL_CG_VERTEX_SHADER_H 
105665
105666 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
105667 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
105668 #define APIENTRY 
105669 #define GLUT_APIENTRY_DEFINED 
105670 #define CALLBACK 
105671
105672
105673 # 1 "/usr/include/GL/gl.h" 1 3 4
105674
105675 #define __gl_h_ 
105676
105677
105678 extern "C" {
105679 # 39 "/usr/include/GL/gl.h" 3 4
105680 #define WINGDIAPI 
105681
105682
105683
105684
105685
105686
105687 #define GLAPI 
105688
105689 #define __DEFINED_GLAPI 
105690
105691
105692
105693
105694 typedef unsigned int GLenum;
105695 typedef unsigned char GLboolean;
105696 typedef unsigned int GLbitfield;
105697 typedef signed char GLbyte;
105698 typedef short GLshort;
105699 typedef int GLint;
105700 typedef int GLsizei;
105701 typedef unsigned char GLubyte;
105702 typedef unsigned short GLushort;
105703 typedef unsigned int GLuint;
105704 typedef float GLfloat;
105705 typedef float GLclampf;
105706 typedef double GLdouble;
105707 typedef double GLclampd;
105708 typedef void GLvoid;
105709
105710
105711
105712 # 1 "/usr/include/GL/glext.h" 1 3 4
105713
105714 #define __glext_h_ 
105715
105716
105717 extern "C" {
105718 # 46 "/usr/include/GL/glext.h" 3 4
105719 #define APIENTRYP APIENTRY *
105720 # 57 "/usr/include/GL/glext.h" 3 4
105721 #define GL_GLEXT_VERSION 29
105722
105723
105724 #define GL_UNSIGNED_BYTE_3_3_2 0x8032
105725 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
105726 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
105727 #define GL_UNSIGNED_INT_8_8_8_8 0x8035
105728 #define GL_UNSIGNED_INT_10_10_10_2 0x8036
105729 #define GL_RESCALE_NORMAL 0x803A
105730 #define GL_TEXTURE_BINDING_3D 0x806A
105731 #define GL_PACK_SKIP_IMAGES 0x806B
105732 #define GL_PACK_IMAGE_HEIGHT 0x806C
105733 #define GL_UNPACK_SKIP_IMAGES 0x806D
105734 #define GL_UNPACK_IMAGE_HEIGHT 0x806E
105735 #define GL_TEXTURE_3D 0x806F
105736 #define GL_PROXY_TEXTURE_3D 0x8070
105737 #define GL_TEXTURE_DEPTH 0x8071
105738 #define GL_TEXTURE_WRAP_R 0x8072
105739 #define GL_MAX_3D_TEXTURE_SIZE 0x8073
105740 #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
105741 #define GL_UNSIGNED_SHORT_5_6_5 0x8363
105742 #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
105743 #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
105744 #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
105745 #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
105746 #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
105747 #define GL_BGR 0x80E0
105748 #define GL_BGRA 0x80E1
105749 #define GL_MAX_ELEMENTS_VERTICES 0x80E8
105750 #define GL_MAX_ELEMENTS_INDICES 0x80E9
105751 #define GL_CLAMP_TO_EDGE 0x812F
105752 #define GL_TEXTURE_MIN_LOD 0x813A
105753 #define GL_TEXTURE_MAX_LOD 0x813B
105754 #define GL_TEXTURE_BASE_LEVEL 0x813C
105755 #define GL_TEXTURE_MAX_LEVEL 0x813D
105756 #define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
105757 #define GL_SINGLE_COLOR 0x81F9
105758 #define GL_SEPARATE_SPECULAR_COLOR 0x81FA
105759 #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
105760 #define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
105761 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
105762 #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
105763 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D
105764 #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
105765
105766
105767
105768 #define GL_CONSTANT_COLOR 0x8001
105769 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
105770 #define GL_CONSTANT_ALPHA 0x8003
105771 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
105772 #define GL_BLEND_COLOR 0x8005
105773 #define GL_FUNC_ADD 0x8006
105774 #define GL_MIN 0x8007
105775 #define GL_MAX 0x8008
105776 #define GL_BLEND_EQUATION 0x8009
105777 #define GL_FUNC_SUBTRACT 0x800A
105778 #define GL_FUNC_REVERSE_SUBTRACT 0x800B
105779 #define GL_CONVOLUTION_1D 0x8010
105780 #define GL_CONVOLUTION_2D 0x8011
105781 #define GL_SEPARABLE_2D 0x8012
105782 #define GL_CONVOLUTION_BORDER_MODE 0x8013
105783 #define GL_CONVOLUTION_FILTER_SCALE 0x8014
105784 #define GL_CONVOLUTION_FILTER_BIAS 0x8015
105785 #define GL_REDUCE 0x8016
105786 #define GL_CONVOLUTION_FORMAT 0x8017
105787 #define GL_CONVOLUTION_WIDTH 0x8018
105788 #define GL_CONVOLUTION_HEIGHT 0x8019
105789 #define GL_MAX_CONVOLUTION_WIDTH 0x801A
105790 #define GL_MAX_CONVOLUTION_HEIGHT 0x801B
105791 #define GL_POST_CONVOLUTION_RED_SCALE 0x801C
105792 #define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
105793 #define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
105794 #define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
105795 #define GL_POST_CONVOLUTION_RED_BIAS 0x8020
105796 #define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
105797 #define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
105798 #define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
105799 #define GL_HISTOGRAM 0x8024
105800 #define GL_PROXY_HISTOGRAM 0x8025
105801 #define GL_HISTOGRAM_WIDTH 0x8026
105802 #define GL_HISTOGRAM_FORMAT 0x8027
105803 #define GL_HISTOGRAM_RED_SIZE 0x8028
105804 #define GL_HISTOGRAM_GREEN_SIZE 0x8029
105805 #define GL_HISTOGRAM_BLUE_SIZE 0x802A
105806 #define GL_HISTOGRAM_ALPHA_SIZE 0x802B
105807 #define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
105808 #define GL_HISTOGRAM_SINK 0x802D
105809 #define GL_MINMAX 0x802E
105810 #define GL_MINMAX_FORMAT 0x802F
105811 #define GL_MINMAX_SINK 0x8030
105812 #define GL_TABLE_TOO_LARGE 0x8031
105813 #define GL_COLOR_MATRIX 0x80B1
105814 #define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
105815 #define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
105816 #define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
105817 #define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
105818 #define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
105819 #define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
105820 #define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
105821 #define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
105822 #define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
105823 #define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
105824 #define GL_COLOR_TABLE 0x80D0
105825 #define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
105826 #define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
105827 #define GL_PROXY_COLOR_TABLE 0x80D3
105828 #define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
105829 #define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
105830 #define GL_COLOR_TABLE_SCALE 0x80D6
105831 #define GL_COLOR_TABLE_BIAS 0x80D7
105832 #define GL_COLOR_TABLE_FORMAT 0x80D8
105833 #define GL_COLOR_TABLE_WIDTH 0x80D9
105834 #define GL_COLOR_TABLE_RED_SIZE 0x80DA
105835 #define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
105836 #define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
105837 #define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
105838 #define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
105839 #define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
105840 #define GL_CONSTANT_BORDER 0x8151
105841 #define GL_REPLICATE_BORDER 0x8153
105842 #define GL_CONVOLUTION_BORDER_COLOR 0x8154
105843
105844
105845
105846 #define GL_TEXTURE0 0x84C0
105847 #define GL_TEXTURE1 0x84C1
105848 #define GL_TEXTURE2 0x84C2
105849 #define GL_TEXTURE3 0x84C3
105850 #define GL_TEXTURE4 0x84C4
105851 #define GL_TEXTURE5 0x84C5
105852 #define GL_TEXTURE6 0x84C6
105853 #define GL_TEXTURE7 0x84C7
105854 #define GL_TEXTURE8 0x84C8
105855 #define GL_TEXTURE9 0x84C9
105856 #define GL_TEXTURE10 0x84CA
105857 #define GL_TEXTURE11 0x84CB
105858 #define GL_TEXTURE12 0x84CC
105859 #define GL_TEXTURE13 0x84CD
105860 #define GL_TEXTURE14 0x84CE
105861 #define GL_TEXTURE15 0x84CF
105862 #define GL_TEXTURE16 0x84D0
105863 #define GL_TEXTURE17 0x84D1
105864 #define GL_TEXTURE18 0x84D2
105865 #define GL_TEXTURE19 0x84D3
105866 #define GL_TEXTURE20 0x84D4
105867 #define GL_TEXTURE21 0x84D5
105868 #define GL_TEXTURE22 0x84D6
105869 #define GL_TEXTURE23 0x84D7
105870 #define GL_TEXTURE24 0x84D8
105871 #define GL_TEXTURE25 0x84D9
105872 #define GL_TEXTURE26 0x84DA
105873 #define GL_TEXTURE27 0x84DB
105874 #define GL_TEXTURE28 0x84DC
105875 #define GL_TEXTURE29 0x84DD
105876 #define GL_TEXTURE30 0x84DE
105877 #define GL_TEXTURE31 0x84DF
105878 #define GL_ACTIVE_TEXTURE 0x84E0
105879 #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
105880 #define GL_MAX_TEXTURE_UNITS 0x84E2
105881 #define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
105882 #define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
105883 #define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
105884 #define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
105885 #define GL_MULTISAMPLE 0x809D
105886 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
105887 #define GL_SAMPLE_ALPHA_TO_ONE 0x809F
105888 #define GL_SAMPLE_COVERAGE 0x80A0
105889 #define GL_SAMPLE_BUFFERS 0x80A8
105890 #define GL_SAMPLES 0x80A9
105891 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
105892 #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
105893 #define GL_MULTISAMPLE_BIT 0x20000000
105894 #define GL_NORMAL_MAP 0x8511
105895 #define GL_REFLECTION_MAP 0x8512
105896 #define GL_TEXTURE_CUBE_MAP 0x8513
105897 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
105898 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
105899 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
105900 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
105901 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
105902 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
105903 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
105904 #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
105905 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
105906 #define GL_COMPRESSED_ALPHA 0x84E9
105907 #define GL_COMPRESSED_LUMINANCE 0x84EA
105908 #define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
105909 #define GL_COMPRESSED_INTENSITY 0x84EC
105910 #define GL_COMPRESSED_RGB 0x84ED
105911 #define GL_COMPRESSED_RGBA 0x84EE
105912 #define GL_TEXTURE_COMPRESSION_HINT 0x84EF
105913 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
105914 #define GL_TEXTURE_COMPRESSED 0x86A1
105915 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
105916 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
105917 #define GL_CLAMP_TO_BORDER 0x812D
105918 #define GL_COMBINE 0x8570
105919 #define GL_COMBINE_RGB 0x8571
105920 #define GL_COMBINE_ALPHA 0x8572
105921 #define GL_SOURCE0_RGB 0x8580
105922 #define GL_SOURCE1_RGB 0x8581
105923 #define GL_SOURCE2_RGB 0x8582
105924 #define GL_SOURCE0_ALPHA 0x8588
105925 #define GL_SOURCE1_ALPHA 0x8589
105926 #define GL_SOURCE2_ALPHA 0x858A
105927 #define GL_OPERAND0_RGB 0x8590
105928 #define GL_OPERAND1_RGB 0x8591
105929 #define GL_OPERAND2_RGB 0x8592
105930 #define GL_OPERAND0_ALPHA 0x8598
105931 #define GL_OPERAND1_ALPHA 0x8599
105932 #define GL_OPERAND2_ALPHA 0x859A
105933 #define GL_RGB_SCALE 0x8573
105934 #define GL_ADD_SIGNED 0x8574
105935 #define GL_INTERPOLATE 0x8575
105936 #define GL_SUBTRACT 0x84E7
105937 #define GL_CONSTANT 0x8576
105938 #define GL_PRIMARY_COLOR 0x8577
105939 #define GL_PREVIOUS 0x8578
105940 #define GL_DOT3_RGB 0x86AE
105941 #define GL_DOT3_RGBA 0x86AF
105942
105943
105944
105945 #define GL_BLEND_DST_RGB 0x80C8
105946 #define GL_BLEND_SRC_RGB 0x80C9
105947 #define GL_BLEND_DST_ALPHA 0x80CA
105948 #define GL_BLEND_SRC_ALPHA 0x80CB
105949 #define GL_POINT_SIZE_MIN 0x8126
105950 #define GL_POINT_SIZE_MAX 0x8127
105951 #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
105952 #define GL_POINT_DISTANCE_ATTENUATION 0x8129
105953 #define GL_GENERATE_MIPMAP 0x8191
105954 #define GL_GENERATE_MIPMAP_HINT 0x8192
105955 #define GL_DEPTH_COMPONENT16 0x81A5
105956 #define GL_DEPTH_COMPONENT24 0x81A6
105957 #define GL_DEPTH_COMPONENT32 0x81A7
105958 #define GL_MIRRORED_REPEAT 0x8370
105959 #define GL_FOG_COORDINATE_SOURCE 0x8450
105960 #define GL_FOG_COORDINATE 0x8451
105961 #define GL_FRAGMENT_DEPTH 0x8452
105962 #define GL_CURRENT_FOG_COORDINATE 0x8453
105963 #define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
105964 #define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
105965 #define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
105966 #define GL_FOG_COORDINATE_ARRAY 0x8457
105967 #define GL_COLOR_SUM 0x8458
105968 #define GL_CURRENT_SECONDARY_COLOR 0x8459
105969 #define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
105970 #define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
105971 #define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
105972 #define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
105973 #define GL_SECONDARY_COLOR_ARRAY 0x845E
105974 #define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
105975 #define GL_TEXTURE_FILTER_CONTROL 0x8500
105976 #define GL_TEXTURE_LOD_BIAS 0x8501
105977 #define GL_INCR_WRAP 0x8507
105978 #define GL_DECR_WRAP 0x8508
105979 #define GL_TEXTURE_DEPTH_SIZE 0x884A
105980 #define GL_DEPTH_TEXTURE_MODE 0x884B
105981 #define GL_TEXTURE_COMPARE_MODE 0x884C
105982 #define GL_TEXTURE_COMPARE_FUNC 0x884D
105983 #define GL_COMPARE_R_TO_TEXTURE 0x884E
105984
105985
105986
105987 #define GL_BUFFER_SIZE 0x8764
105988 #define GL_BUFFER_USAGE 0x8765
105989 #define GL_QUERY_COUNTER_BITS 0x8864
105990 #define GL_CURRENT_QUERY 0x8865
105991 #define GL_QUERY_RESULT 0x8866
105992 #define GL_QUERY_RESULT_AVAILABLE 0x8867
105993 #define GL_ARRAY_BUFFER 0x8892
105994 #define GL_ELEMENT_ARRAY_BUFFER 0x8893
105995 #define GL_ARRAY_BUFFER_BINDING 0x8894
105996 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
105997 #define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
105998 #define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
105999 #define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
106000 #define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
106001 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
106002 #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
106003 #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
106004 #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D
106005 #define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E
106006 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
106007 #define GL_READ_ONLY 0x88B8
106008 #define GL_WRITE_ONLY 0x88B9
106009 #define GL_READ_WRITE 0x88BA
106010 #define GL_BUFFER_ACCESS 0x88BB
106011 #define GL_BUFFER_MAPPED 0x88BC
106012 #define GL_BUFFER_MAP_POINTER 0x88BD
106013 #define GL_STREAM_DRAW 0x88E0
106014 #define GL_STREAM_READ 0x88E1
106015 #define GL_STREAM_COPY 0x88E2
106016 #define GL_STATIC_DRAW 0x88E4
106017 #define GL_STATIC_READ 0x88E5
106018 #define GL_STATIC_COPY 0x88E6
106019 #define GL_DYNAMIC_DRAW 0x88E8
106020 #define GL_DYNAMIC_READ 0x88E9
106021 #define GL_DYNAMIC_COPY 0x88EA
106022 #define GL_SAMPLES_PASSED 0x8914
106023 #define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE
106024 #define GL_FOG_COORD GL_FOG_COORDINATE
106025 #define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE
106026 #define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE
106027 #define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE
106028 #define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER
106029 #define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY
106030 #define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
106031 #define GL_SRC0_RGB GL_SOURCE0_RGB
106032 #define GL_SRC1_RGB GL_SOURCE1_RGB
106033 #define GL_SRC2_RGB GL_SOURCE2_RGB
106034 #define GL_SRC0_ALPHA GL_SOURCE0_ALPHA
106035 #define GL_SRC1_ALPHA GL_SOURCE1_ALPHA
106036 #define GL_SRC2_ALPHA GL_SOURCE2_ALPHA
106037
106038
106039
106040 #define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION
106041 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
106042 #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
106043 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
106044 #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
106045 #define GL_CURRENT_VERTEX_ATTRIB 0x8626
106046 #define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
106047 #define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
106048 #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
106049 #define GL_STENCIL_BACK_FUNC 0x8800
106050 #define GL_STENCIL_BACK_FAIL 0x8801
106051 #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
106052 #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
106053 #define GL_MAX_DRAW_BUFFERS 0x8824
106054 #define GL_DRAW_BUFFER0 0x8825
106055 #define GL_DRAW_BUFFER1 0x8826
106056 #define GL_DRAW_BUFFER2 0x8827
106057 #define GL_DRAW_BUFFER3 0x8828
106058 #define GL_DRAW_BUFFER4 0x8829
106059 #define GL_DRAW_BUFFER5 0x882A
106060 #define GL_DRAW_BUFFER6 0x882B
106061 #define GL_DRAW_BUFFER7 0x882C
106062 #define GL_DRAW_BUFFER8 0x882D
106063 #define GL_DRAW_BUFFER9 0x882E
106064 #define GL_DRAW_BUFFER10 0x882F
106065 #define GL_DRAW_BUFFER11 0x8830
106066 #define GL_DRAW_BUFFER12 0x8831
106067 #define GL_DRAW_BUFFER13 0x8832
106068 #define GL_DRAW_BUFFER14 0x8833
106069 #define GL_DRAW_BUFFER15 0x8834
106070 #define GL_BLEND_EQUATION_ALPHA 0x883D
106071 #define GL_POINT_SPRITE 0x8861
106072 #define GL_COORD_REPLACE 0x8862
106073 #define GL_MAX_VERTEX_ATTRIBS 0x8869
106074 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
106075 #define GL_MAX_TEXTURE_COORDS 0x8871
106076 #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
106077 #define GL_FRAGMENT_SHADER 0x8B30
106078 #define GL_VERTEX_SHADER 0x8B31
106079 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
106080 #define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
106081 #define GL_MAX_VARYING_FLOATS 0x8B4B
106082 #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
106083 #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
106084 #define GL_SHADER_TYPE 0x8B4F
106085 #define GL_FLOAT_VEC2 0x8B50
106086 #define GL_FLOAT_VEC3 0x8B51
106087 #define GL_FLOAT_VEC4 0x8B52
106088 #define GL_INT_VEC2 0x8B53
106089 #define GL_INT_VEC3 0x8B54
106090 #define GL_INT_VEC4 0x8B55
106091 #define GL_BOOL 0x8B56
106092 #define GL_BOOL_VEC2 0x8B57
106093 #define GL_BOOL_VEC3 0x8B58
106094 #define GL_BOOL_VEC4 0x8B59
106095 #define GL_FLOAT_MAT2 0x8B5A
106096 #define GL_FLOAT_MAT3 0x8B5B
106097 #define GL_FLOAT_MAT4 0x8B5C
106098 #define GL_SAMPLER_1D 0x8B5D
106099 #define GL_SAMPLER_2D 0x8B5E
106100 #define GL_SAMPLER_3D 0x8B5F
106101 #define GL_SAMPLER_CUBE 0x8B60
106102 #define GL_SAMPLER_1D_SHADOW 0x8B61
106103 #define GL_SAMPLER_2D_SHADOW 0x8B62
106104 #define GL_DELETE_STATUS 0x8B80
106105 #define GL_COMPILE_STATUS 0x8B81
106106 #define GL_LINK_STATUS 0x8B82
106107 #define GL_VALIDATE_STATUS 0x8B83
106108 #define GL_INFO_LOG_LENGTH 0x8B84
106109 #define GL_ATTACHED_SHADERS 0x8B85
106110 #define GL_ACTIVE_UNIFORMS 0x8B86
106111 #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
106112 #define GL_SHADER_SOURCE_LENGTH 0x8B88
106113 #define GL_ACTIVE_ATTRIBUTES 0x8B89
106114 #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
106115 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
106116 #define GL_SHADING_LANGUAGE_VERSION 0x8B8C
106117 #define GL_CURRENT_PROGRAM 0x8B8D
106118 #define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
106119 #define GL_LOWER_LEFT 0x8CA1
106120 #define GL_UPPER_LEFT 0x8CA2
106121 #define GL_STENCIL_BACK_REF 0x8CA3
106122 #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
106123 #define GL_STENCIL_BACK_WRITEMASK 0x8CA5
106124
106125
106126
106127 #define GL_TEXTURE0_ARB 0x84C0
106128 #define GL_TEXTURE1_ARB 0x84C1
106129 #define GL_TEXTURE2_ARB 0x84C2
106130 #define GL_TEXTURE3_ARB 0x84C3
106131 #define GL_TEXTURE4_ARB 0x84C4
106132 #define GL_TEXTURE5_ARB 0x84C5
106133 #define GL_TEXTURE6_ARB 0x84C6
106134 #define GL_TEXTURE7_ARB 0x84C7
106135 #define GL_TEXTURE8_ARB 0x84C8
106136 #define GL_TEXTURE9_ARB 0x84C9
106137 #define GL_TEXTURE10_ARB 0x84CA
106138 #define GL_TEXTURE11_ARB 0x84CB
106139 #define GL_TEXTURE12_ARB 0x84CC
106140 #define GL_TEXTURE13_ARB 0x84CD
106141 #define GL_TEXTURE14_ARB 0x84CE
106142 #define GL_TEXTURE15_ARB 0x84CF
106143 #define GL_TEXTURE16_ARB 0x84D0
106144 #define GL_TEXTURE17_ARB 0x84D1
106145 #define GL_TEXTURE18_ARB 0x84D2
106146 #define GL_TEXTURE19_ARB 0x84D3
106147 #define GL_TEXTURE20_ARB 0x84D4
106148 #define GL_TEXTURE21_ARB 0x84D5
106149 #define GL_TEXTURE22_ARB 0x84D6
106150 #define GL_TEXTURE23_ARB 0x84D7
106151 #define GL_TEXTURE24_ARB 0x84D8
106152 #define GL_TEXTURE25_ARB 0x84D9
106153 #define GL_TEXTURE26_ARB 0x84DA
106154 #define GL_TEXTURE27_ARB 0x84DB
106155 #define GL_TEXTURE28_ARB 0x84DC
106156 #define GL_TEXTURE29_ARB 0x84DD
106157 #define GL_TEXTURE30_ARB 0x84DE
106158 #define GL_TEXTURE31_ARB 0x84DF
106159 #define GL_ACTIVE_TEXTURE_ARB 0x84E0
106160 #define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
106161 #define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
106162
106163
106164
106165 #define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
106166 #define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
106167 #define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5
106168 #define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6
106169
106170
106171
106172 #define GL_MULTISAMPLE_ARB 0x809D
106173 #define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
106174 #define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
106175 #define GL_SAMPLE_COVERAGE_ARB 0x80A0
106176 #define GL_SAMPLE_BUFFERS_ARB 0x80A8
106177 #define GL_SAMPLES_ARB 0x80A9
106178 #define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
106179 #define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
106180 #define GL_MULTISAMPLE_BIT_ARB 0x20000000
106181
106182
106183
106184
106185
106186
106187 #define GL_NORMAL_MAP_ARB 0x8511
106188 #define GL_REFLECTION_MAP_ARB 0x8512
106189 #define GL_TEXTURE_CUBE_MAP_ARB 0x8513
106190 #define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
106191 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
106192 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
106193 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
106194 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
106195 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
106196 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
106197 #define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
106198 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C
106199
106200
106201
106202 #define GL_COMPRESSED_ALPHA_ARB 0x84E9
106203 #define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
106204 #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
106205 #define GL_COMPRESSED_INTENSITY_ARB 0x84EC
106206 #define GL_COMPRESSED_RGB_ARB 0x84ED
106207 #define GL_COMPRESSED_RGBA_ARB 0x84EE
106208 #define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
106209 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
106210 #define GL_TEXTURE_COMPRESSED_ARB 0x86A1
106211 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
106212 #define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
106213
106214
106215
106216 #define GL_CLAMP_TO_BORDER_ARB 0x812D
106217
106218
106219
106220 #define GL_POINT_SIZE_MIN_ARB 0x8126
106221 #define GL_POINT_SIZE_MAX_ARB 0x8127
106222 #define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
106223 #define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
106224
106225
106226
106227 #define GL_MAX_VERTEX_UNITS_ARB 0x86A4
106228 #define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
106229 #define GL_WEIGHT_SUM_UNITY_ARB 0x86A6
106230 #define GL_VERTEX_BLEND_ARB 0x86A7
106231 #define GL_CURRENT_WEIGHT_ARB 0x86A8
106232 #define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9
106233 #define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA
106234 #define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB
106235 #define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC
106236 #define GL_WEIGHT_ARRAY_ARB 0x86AD
106237 #define GL_MODELVIEW0_ARB 0x1700
106238 #define GL_MODELVIEW1_ARB 0x850A
106239 #define GL_MODELVIEW2_ARB 0x8722
106240 #define GL_MODELVIEW3_ARB 0x8723
106241 #define GL_MODELVIEW4_ARB 0x8724
106242 #define GL_MODELVIEW5_ARB 0x8725
106243 #define GL_MODELVIEW6_ARB 0x8726
106244 #define GL_MODELVIEW7_ARB 0x8727
106245 #define GL_MODELVIEW8_ARB 0x8728
106246 #define GL_MODELVIEW9_ARB 0x8729
106247 #define GL_MODELVIEW10_ARB 0x872A
106248 #define GL_MODELVIEW11_ARB 0x872B
106249 #define GL_MODELVIEW12_ARB 0x872C
106250 #define GL_MODELVIEW13_ARB 0x872D
106251 #define GL_MODELVIEW14_ARB 0x872E
106252 #define GL_MODELVIEW15_ARB 0x872F
106253 #define GL_MODELVIEW16_ARB 0x8730
106254 #define GL_MODELVIEW17_ARB 0x8731
106255 #define GL_MODELVIEW18_ARB 0x8732
106256 #define GL_MODELVIEW19_ARB 0x8733
106257 #define GL_MODELVIEW20_ARB 0x8734
106258 #define GL_MODELVIEW21_ARB 0x8735
106259 #define GL_MODELVIEW22_ARB 0x8736
106260 #define GL_MODELVIEW23_ARB 0x8737
106261 #define GL_MODELVIEW24_ARB 0x8738
106262 #define GL_MODELVIEW25_ARB 0x8739
106263 #define GL_MODELVIEW26_ARB 0x873A
106264 #define GL_MODELVIEW27_ARB 0x873B
106265 #define GL_MODELVIEW28_ARB 0x873C
106266 #define GL_MODELVIEW29_ARB 0x873D
106267 #define GL_MODELVIEW30_ARB 0x873E
106268 #define GL_MODELVIEW31_ARB 0x873F
106269
106270
106271
106272 #define GL_MATRIX_PALETTE_ARB 0x8840
106273 #define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
106274 #define GL_MAX_PALETTE_MATRICES_ARB 0x8842
106275 #define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843
106276 #define GL_MATRIX_INDEX_ARRAY_ARB 0x8844
106277 #define GL_CURRENT_MATRIX_INDEX_ARB 0x8845
106278 #define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846
106279 #define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847
106280 #define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
106281 #define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
106282
106283
106284
106285 #define GL_COMBINE_ARB 0x8570
106286 #define GL_COMBINE_RGB_ARB 0x8571
106287 #define GL_COMBINE_ALPHA_ARB 0x8572
106288 #define GL_SOURCE0_RGB_ARB 0x8580
106289 #define GL_SOURCE1_RGB_ARB 0x8581
106290 #define GL_SOURCE2_RGB_ARB 0x8582
106291 #define GL_SOURCE0_ALPHA_ARB 0x8588
106292 #define GL_SOURCE1_ALPHA_ARB 0x8589
106293 #define GL_SOURCE2_ALPHA_ARB 0x858A
106294 #define GL_OPERAND0_RGB_ARB 0x8590
106295 #define GL_OPERAND1_RGB_ARB 0x8591
106296 #define GL_OPERAND2_RGB_ARB 0x8592
106297 #define GL_OPERAND0_ALPHA_ARB 0x8598
106298 #define GL_OPERAND1_ALPHA_ARB 0x8599
106299 #define GL_OPERAND2_ALPHA_ARB 0x859A
106300 #define GL_RGB_SCALE_ARB 0x8573
106301 #define GL_ADD_SIGNED_ARB 0x8574
106302 #define GL_INTERPOLATE_ARB 0x8575
106303 #define GL_SUBTRACT_ARB 0x84E7
106304 #define GL_CONSTANT_ARB 0x8576
106305 #define GL_PRIMARY_COLOR_ARB 0x8577
106306 #define GL_PREVIOUS_ARB 0x8578
106307
106308
106309
106310
106311
106312
106313 #define GL_DOT3_RGB_ARB 0x86AE
106314 #define GL_DOT3_RGBA_ARB 0x86AF
106315
106316
106317
106318 #define GL_MIRRORED_REPEAT_ARB 0x8370
106319
106320
106321
106322 #define GL_DEPTH_COMPONENT16_ARB 0x81A5
106323 #define GL_DEPTH_COMPONENT24_ARB 0x81A6
106324 #define GL_DEPTH_COMPONENT32_ARB 0x81A7
106325 #define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
106326 #define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
106327
106328
106329
106330 #define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
106331 #define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
106332 #define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E
106333
106334
106335
106336 #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
106337
106338
106339
106340
106341
106342
106343 #define GL_COLOR_SUM_ARB 0x8458
106344 #define GL_VERTEX_PROGRAM_ARB 0x8620
106345 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
106346 #define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
106347 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
106348 #define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
106349 #define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
106350 #define GL_PROGRAM_LENGTH_ARB 0x8627
106351 #define GL_PROGRAM_STRING_ARB 0x8628
106352 #define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
106353 #define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
106354 #define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
106355 #define GL_CURRENT_MATRIX_ARB 0x8641
106356 #define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
106357 #define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
106358 #define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
106359 #define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
106360 #define GL_PROGRAM_BINDING_ARB 0x8677
106361 #define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
106362 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
106363 #define GL_PROGRAM_ERROR_STRING_ARB 0x8874
106364 #define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
106365 #define GL_PROGRAM_FORMAT_ARB 0x8876
106366 #define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
106367 #define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
106368 #define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
106369 #define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
106370 #define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
106371 #define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
106372 #define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
106373 #define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
106374 #define GL_PROGRAM_PARAMETERS_ARB 0x88A8
106375 #define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
106376 #define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
106377 #define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
106378 #define GL_PROGRAM_ATTRIBS_ARB 0x88AC
106379 #define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
106380 #define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
106381 #define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
106382 #define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
106383 #define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
106384 #define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
106385 #define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
106386 #define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
106387 #define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
106388 #define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
106389 #define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
106390 #define GL_MATRIX0_ARB 0x88C0
106391 #define GL_MATRIX1_ARB 0x88C1
106392 #define GL_MATRIX2_ARB 0x88C2
106393 #define GL_MATRIX3_ARB 0x88C3
106394 #define GL_MATRIX4_ARB 0x88C4
106395 #define GL_MATRIX5_ARB 0x88C5
106396 #define GL_MATRIX6_ARB 0x88C6
106397 #define GL_MATRIX7_ARB 0x88C7
106398 #define GL_MATRIX8_ARB 0x88C8
106399 #define GL_MATRIX9_ARB 0x88C9
106400 #define GL_MATRIX10_ARB 0x88CA
106401 #define GL_MATRIX11_ARB 0x88CB
106402 #define GL_MATRIX12_ARB 0x88CC
106403 #define GL_MATRIX13_ARB 0x88CD
106404 #define GL_MATRIX14_ARB 0x88CE
106405 #define GL_MATRIX15_ARB 0x88CF
106406 #define GL_MATRIX16_ARB 0x88D0
106407 #define GL_MATRIX17_ARB 0x88D1
106408 #define GL_MATRIX18_ARB 0x88D2
106409 #define GL_MATRIX19_ARB 0x88D3
106410 #define GL_MATRIX20_ARB 0x88D4
106411 #define GL_MATRIX21_ARB 0x88D5
106412 #define GL_MATRIX22_ARB 0x88D6
106413 #define GL_MATRIX23_ARB 0x88D7
106414 #define GL_MATRIX24_ARB 0x88D8
106415 #define GL_MATRIX25_ARB 0x88D9
106416 #define GL_MATRIX26_ARB 0x88DA
106417 #define GL_MATRIX27_ARB 0x88DB
106418 #define GL_MATRIX28_ARB 0x88DC
106419 #define GL_MATRIX29_ARB 0x88DD
106420 #define GL_MATRIX30_ARB 0x88DE
106421 #define GL_MATRIX31_ARB 0x88DF
106422
106423
106424
106425 #define GL_FRAGMENT_PROGRAM_ARB 0x8804
106426 #define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
106427 #define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
106428 #define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
106429 #define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
106430 #define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
106431 #define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
106432 #define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
106433 #define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
106434 #define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
106435 #define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
106436 #define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
106437 #define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
106438 #define GL_MAX_TEXTURE_COORDS_ARB 0x8871
106439 #define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872
106440
106441
106442
106443 #define GL_BUFFER_SIZE_ARB 0x8764
106444 #define GL_BUFFER_USAGE_ARB 0x8765
106445 #define GL_ARRAY_BUFFER_ARB 0x8892
106446 #define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
106447 #define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
106448 #define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
106449 #define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
106450 #define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
106451 #define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
106452 #define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
106453 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
106454 #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
106455 #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
106456 #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
106457 #define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
106458 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
106459 #define GL_READ_ONLY_ARB 0x88B8
106460 #define GL_WRITE_ONLY_ARB 0x88B9
106461 #define GL_READ_WRITE_ARB 0x88BA
106462 #define GL_BUFFER_ACCESS_ARB 0x88BB
106463 #define GL_BUFFER_MAPPED_ARB 0x88BC
106464 #define GL_BUFFER_MAP_POINTER_ARB 0x88BD
106465 #define GL_STREAM_DRAW_ARB 0x88E0
106466 #define GL_STREAM_READ_ARB 0x88E1
106467 #define GL_STREAM_COPY_ARB 0x88E2
106468 #define GL_STATIC_DRAW_ARB 0x88E4
106469 #define GL_STATIC_READ_ARB 0x88E5
106470 #define GL_STATIC_COPY_ARB 0x88E6
106471 #define GL_DYNAMIC_DRAW_ARB 0x88E8
106472 #define GL_DYNAMIC_READ_ARB 0x88E9
106473 #define GL_DYNAMIC_COPY_ARB 0x88EA
106474
106475
106476
106477 #define GL_QUERY_COUNTER_BITS_ARB 0x8864
106478 #define GL_CURRENT_QUERY_ARB 0x8865
106479 #define GL_QUERY_RESULT_ARB 0x8866
106480 #define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
106481 #define GL_SAMPLES_PASSED_ARB 0x8914
106482
106483
106484
106485 #define GL_PROGRAM_OBJECT_ARB 0x8B40
106486 #define GL_SHADER_OBJECT_ARB 0x8B48
106487 #define GL_OBJECT_TYPE_ARB 0x8B4E
106488 #define GL_OBJECT_SUBTYPE_ARB 0x8B4F
106489 #define GL_FLOAT_VEC2_ARB 0x8B50
106490 #define GL_FLOAT_VEC3_ARB 0x8B51
106491 #define GL_FLOAT_VEC4_ARB 0x8B52
106492 #define GL_INT_VEC2_ARB 0x8B53
106493 #define GL_INT_VEC3_ARB 0x8B54
106494 #define GL_INT_VEC4_ARB 0x8B55
106495 #define GL_BOOL_ARB 0x8B56
106496 #define GL_BOOL_VEC2_ARB 0x8B57
106497 #define GL_BOOL_VEC3_ARB 0x8B58
106498 #define GL_BOOL_VEC4_ARB 0x8B59
106499 #define GL_FLOAT_MAT2_ARB 0x8B5A
106500 #define GL_FLOAT_MAT3_ARB 0x8B5B
106501 #define GL_FLOAT_MAT4_ARB 0x8B5C
106502 #define GL_SAMPLER_1D_ARB 0x8B5D
106503 #define GL_SAMPLER_2D_ARB 0x8B5E
106504 #define GL_SAMPLER_3D_ARB 0x8B5F
106505 #define GL_SAMPLER_CUBE_ARB 0x8B60
106506 #define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
106507 #define GL_SAMPLER_2D_SHADOW_ARB 0x8B62
106508 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
106509 #define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
106510 #define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
106511 #define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
106512 #define GL_OBJECT_LINK_STATUS_ARB 0x8B82
106513 #define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
106514 #define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
106515 #define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
106516 #define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
106517 #define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
106518 #define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
106519
106520
106521
106522 #define GL_VERTEX_SHADER_ARB 0x8B31
106523 #define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
106524 #define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
106525 #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
106526 #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
106527 #define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
106528 #define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
106529
106530
106531
106532 #define GL_FRAGMENT_SHADER_ARB 0x8B30
106533 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
106534 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
106535
106536
106537
106538 #define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
106539
106540
106541
106542
106543
106544
106545 #define GL_POINT_SPRITE_ARB 0x8861
106546 #define GL_COORD_REPLACE_ARB 0x8862
106547
106548
106549
106550
106551
106552
106553 #define GL_MAX_DRAW_BUFFERS_ARB 0x8824
106554 #define GL_DRAW_BUFFER0_ARB 0x8825
106555 #define GL_DRAW_BUFFER1_ARB 0x8826
106556 #define GL_DRAW_BUFFER2_ARB 0x8827
106557 #define GL_DRAW_BUFFER3_ARB 0x8828
106558 #define GL_DRAW_BUFFER4_ARB 0x8829
106559 #define GL_DRAW_BUFFER5_ARB 0x882A
106560 #define GL_DRAW_BUFFER6_ARB 0x882B
106561 #define GL_DRAW_BUFFER7_ARB 0x882C
106562 #define GL_DRAW_BUFFER8_ARB 0x882D
106563 #define GL_DRAW_BUFFER9_ARB 0x882E
106564 #define GL_DRAW_BUFFER10_ARB 0x882F
106565 #define GL_DRAW_BUFFER11_ARB 0x8830
106566 #define GL_DRAW_BUFFER12_ARB 0x8831
106567 #define GL_DRAW_BUFFER13_ARB 0x8832
106568 #define GL_DRAW_BUFFER14_ARB 0x8833
106569 #define GL_DRAW_BUFFER15_ARB 0x8834
106570
106571
106572
106573 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
106574 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
106575 #define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
106576 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
106577
106578
106579
106580 #define GL_RGBA_FLOAT_MODE_ARB 0x8820
106581 #define GL_CLAMP_VERTEX_COLOR_ARB 0x891A
106582 #define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B
106583 #define GL_CLAMP_READ_COLOR_ARB 0x891C
106584 #define GL_FIXED_ONLY_ARB 0x891D
106585
106586
106587
106588 #define GL_HALF_FLOAT_ARB 0x140B
106589
106590
106591
106592 #define GL_TEXTURE_RED_TYPE_ARB 0x8C10
106593 #define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11
106594 #define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12
106595 #define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13
106596 #define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14
106597 #define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15
106598 #define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16
106599 #define GL_UNSIGNED_NORMALIZED_ARB 0x8C17
106600 #define GL_RGBA32F_ARB 0x8814
106601 #define GL_RGB32F_ARB 0x8815
106602 #define GL_ALPHA32F_ARB 0x8816
106603 #define GL_INTENSITY32F_ARB 0x8817
106604 #define GL_LUMINANCE32F_ARB 0x8818
106605 #define GL_LUMINANCE_ALPHA32F_ARB 0x8819
106606 #define GL_RGBA16F_ARB 0x881A
106607 #define GL_RGB16F_ARB 0x881B
106608 #define GL_ALPHA16F_ARB 0x881C
106609 #define GL_INTENSITY16F_ARB 0x881D
106610 #define GL_LUMINANCE16F_ARB 0x881E
106611 #define GL_LUMINANCE_ALPHA16F_ARB 0x881F
106612
106613
106614
106615 #define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
106616 #define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
106617 #define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED
106618 #define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
106619
106620
106621
106622 #define GL_ABGR_EXT 0x8000
106623
106624
106625
106626 #define GL_CONSTANT_COLOR_EXT 0x8001
106627 #define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
106628 #define GL_CONSTANT_ALPHA_EXT 0x8003
106629 #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
106630 #define GL_BLEND_COLOR_EXT 0x8005
106631
106632
106633
106634 #define GL_POLYGON_OFFSET_EXT 0x8037
106635 #define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038
106636 #define GL_POLYGON_OFFSET_BIAS_EXT 0x8039
106637
106638
106639
106640 #define GL_ALPHA4_EXT 0x803B
106641 #define GL_ALPHA8_EXT 0x803C
106642 #define GL_ALPHA12_EXT 0x803D
106643 #define GL_ALPHA16_EXT 0x803E
106644 #define GL_LUMINANCE4_EXT 0x803F
106645 #define GL_LUMINANCE8_EXT 0x8040
106646 #define GL_LUMINANCE12_EXT 0x8041
106647 #define GL_LUMINANCE16_EXT 0x8042
106648 #define GL_LUMINANCE4_ALPHA4_EXT 0x8043
106649 #define GL_LUMINANCE6_ALPHA2_EXT 0x8044
106650 #define GL_LUMINANCE8_ALPHA8_EXT 0x8045
106651 #define GL_LUMINANCE12_ALPHA4_EXT 0x8046
106652 #define GL_LUMINANCE12_ALPHA12_EXT 0x8047
106653 #define GL_LUMINANCE16_ALPHA16_EXT 0x8048
106654 #define GL_INTENSITY_EXT 0x8049
106655 #define GL_INTENSITY4_EXT 0x804A
106656 #define GL_INTENSITY8_EXT 0x804B
106657 #define GL_INTENSITY12_EXT 0x804C
106658 #define GL_INTENSITY16_EXT 0x804D
106659 #define GL_RGB2_EXT 0x804E
106660 #define GL_RGB4_EXT 0x804F
106661 #define GL_RGB5_EXT 0x8050
106662 #define GL_RGB8_EXT 0x8051
106663 #define GL_RGB10_EXT 0x8052
106664 #define GL_RGB12_EXT 0x8053
106665 #define GL_RGB16_EXT 0x8054
106666 #define GL_RGBA2_EXT 0x8055
106667 #define GL_RGBA4_EXT 0x8056
106668 #define GL_RGB5_A1_EXT 0x8057
106669 #define GL_RGBA8_EXT 0x8058
106670 #define GL_RGB10_A2_EXT 0x8059
106671 #define GL_RGBA12_EXT 0x805A
106672 #define GL_RGBA16_EXT 0x805B
106673 #define GL_TEXTURE_RED_SIZE_EXT 0x805C
106674 #define GL_TEXTURE_GREEN_SIZE_EXT 0x805D
106675 #define GL_TEXTURE_BLUE_SIZE_EXT 0x805E
106676 #define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F
106677 #define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060
106678 #define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061
106679 #define GL_REPLACE_EXT 0x8062
106680 #define GL_PROXY_TEXTURE_1D_EXT 0x8063
106681 #define GL_PROXY_TEXTURE_2D_EXT 0x8064
106682 #define GL_TEXTURE_TOO_LARGE_EXT 0x8065
106683
106684
106685
106686 #define GL_PACK_SKIP_IMAGES_EXT 0x806B
106687 #define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
106688 #define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
106689 #define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
106690 #define GL_TEXTURE_3D_EXT 0x806F
106691 #define GL_PROXY_TEXTURE_3D_EXT 0x8070
106692 #define GL_TEXTURE_DEPTH_EXT 0x8071
106693 #define GL_TEXTURE_WRAP_R_EXT 0x8072
106694 #define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
106695
106696
106697
106698 #define GL_FILTER4_SGIS 0x8146
106699 #define GL_TEXTURE_FILTER4_SIZE_SGIS 0x8147
106700 # 1045 "/usr/include/GL/glext.h" 3 4
106701 #define GL_HISTOGRAM_EXT 0x8024
106702 #define GL_PROXY_HISTOGRAM_EXT 0x8025
106703 #define GL_HISTOGRAM_WIDTH_EXT 0x8026
106704 #define GL_HISTOGRAM_FORMAT_EXT 0x8027
106705 #define GL_HISTOGRAM_RED_SIZE_EXT 0x8028
106706 #define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029
106707 #define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A
106708 #define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B
106709 #define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C
106710 #define GL_HISTOGRAM_SINK_EXT 0x802D
106711 #define GL_MINMAX_EXT 0x802E
106712 #define GL_MINMAX_FORMAT_EXT 0x802F
106713 #define GL_MINMAX_SINK_EXT 0x8030
106714 #define GL_TABLE_TOO_LARGE_EXT 0x8031
106715
106716
106717
106718 #define GL_CONVOLUTION_1D_EXT 0x8010
106719 #define GL_CONVOLUTION_2D_EXT 0x8011
106720 #define GL_SEPARABLE_2D_EXT 0x8012
106721 #define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013
106722 #define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014
106723 #define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015
106724 #define GL_REDUCE_EXT 0x8016
106725 #define GL_CONVOLUTION_FORMAT_EXT 0x8017
106726 #define GL_CONVOLUTION_WIDTH_EXT 0x8018
106727 #define GL_CONVOLUTION_HEIGHT_EXT 0x8019
106728 #define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A
106729 #define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B
106730 #define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C
106731 #define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D
106732 #define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E
106733 #define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F
106734 #define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020
106735 #define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021
106736 #define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022
106737 #define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023
106738
106739
106740
106741 #define GL_COLOR_MATRIX_SGI 0x80B1
106742 #define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2
106743 #define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3
106744 #define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4
106745 #define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5
106746 #define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6
106747 #define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7
106748 #define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8
106749 #define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9
106750 #define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA
106751 #define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB
106752
106753
106754
106755 #define GL_COLOR_TABLE_SGI 0x80D0
106756 #define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1
106757 #define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2
106758 #define GL_PROXY_COLOR_TABLE_SGI 0x80D3
106759 #define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4
106760 #define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5
106761 #define GL_COLOR_TABLE_SCALE_SGI 0x80D6
106762 #define GL_COLOR_TABLE_BIAS_SGI 0x80D7
106763 #define GL_COLOR_TABLE_FORMAT_SGI 0x80D8
106764 #define GL_COLOR_TABLE_WIDTH_SGI 0x80D9
106765 #define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA
106766 #define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB
106767 #define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC
106768 #define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD
106769 #define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE
106770 #define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF
106771
106772
106773
106774 #define GL_PIXEL_TEXTURE_SGIS 0x8353
106775 #define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS 0x8354
106776 #define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS 0x8355
106777 #define GL_PIXEL_GROUP_COLOR_SGIS 0x8356
106778
106779
106780
106781 #define GL_PIXEL_TEX_GEN_SGIX 0x8139
106782 #define GL_PIXEL_TEX_GEN_MODE_SGIX 0x832B
106783
106784
106785
106786 #define GL_PACK_SKIP_VOLUMES_SGIS 0x8130
106787 #define GL_PACK_IMAGE_DEPTH_SGIS 0x8131
106788 #define GL_UNPACK_SKIP_VOLUMES_SGIS 0x8132
106789 #define GL_UNPACK_IMAGE_DEPTH_SGIS 0x8133
106790 #define GL_TEXTURE_4D_SGIS 0x8134
106791 #define GL_PROXY_TEXTURE_4D_SGIS 0x8135
106792 #define GL_TEXTURE_4DSIZE_SGIS 0x8136
106793 #define GL_TEXTURE_WRAP_Q_SGIS 0x8137
106794 #define GL_MAX_4D_TEXTURE_SIZE_SGIS 0x8138
106795 #define GL_TEXTURE_4D_BINDING_SGIS 0x814F
106796
106797
106798
106799 #define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC
106800 #define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD
106801
106802
106803
106804 #define GL_CMYK_EXT 0x800C
106805 #define GL_CMYKA_EXT 0x800D
106806 #define GL_PACK_CMYK_HINT_EXT 0x800E
106807 #define GL_UNPACK_CMYK_HINT_EXT 0x800F
106808
106809
106810
106811 #define GL_TEXTURE_PRIORITY_EXT 0x8066
106812 #define GL_TEXTURE_RESIDENT_EXT 0x8067
106813 #define GL_TEXTURE_1D_BINDING_EXT 0x8068
106814 #define GL_TEXTURE_2D_BINDING_EXT 0x8069
106815 #define GL_TEXTURE_3D_BINDING_EXT 0x806A
106816
106817
106818
106819 #define GL_DETAIL_TEXTURE_2D_SGIS 0x8095
106820 #define GL_DETAIL_TEXTURE_2D_BINDING_SGIS 0x8096
106821 #define GL_LINEAR_DETAIL_SGIS 0x8097
106822 #define GL_LINEAR_DETAIL_ALPHA_SGIS 0x8098
106823 #define GL_LINEAR_DETAIL_COLOR_SGIS 0x8099
106824 #define GL_DETAIL_TEXTURE_LEVEL_SGIS 0x809A
106825 #define GL_DETAIL_TEXTURE_MODE_SGIS 0x809B
106826 #define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809C
106827
106828
106829
106830 #define GL_LINEAR_SHARPEN_SGIS 0x80AD
106831 #define GL_LINEAR_SHARPEN_ALPHA_SGIS 0x80AE
106832 #define GL_LINEAR_SHARPEN_COLOR_SGIS 0x80AF
106833 #define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS 0x80B0
106834
106835
106836
106837 #define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032
106838 #define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033
106839 #define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034
106840 #define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035
106841 #define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036
106842
106843
106844
106845 #define GL_TEXTURE_MIN_LOD_SGIS 0x813A
106846 #define GL_TEXTURE_MAX_LOD_SGIS 0x813B
106847 #define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C
106848 #define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D
106849
106850
106851
106852 #define GL_MULTISAMPLE_SGIS 0x809D
106853 #define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E
106854 #define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F
106855 #define GL_SAMPLE_MASK_SGIS 0x80A0
106856 #define GL_1PASS_SGIS 0x80A1
106857 #define GL_2PASS_0_SGIS 0x80A2
106858 #define GL_2PASS_1_SGIS 0x80A3
106859 #define GL_4PASS_0_SGIS 0x80A4
106860 #define GL_4PASS_1_SGIS 0x80A5
106861 #define GL_4PASS_2_SGIS 0x80A6
106862 #define GL_4PASS_3_SGIS 0x80A7
106863 #define GL_SAMPLE_BUFFERS_SGIS 0x80A8
106864 #define GL_SAMPLES_SGIS 0x80A9
106865 #define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA
106866 #define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB
106867 #define GL_SAMPLE_PATTERN_SGIS 0x80AC
106868
106869
106870
106871 #define GL_RESCALE_NORMAL_EXT 0x803A
106872
106873
106874
106875 #define GL_VERTEX_ARRAY_EXT 0x8074
106876 #define GL_NORMAL_ARRAY_EXT 0x8075
106877 #define GL_COLOR_ARRAY_EXT 0x8076
106878 #define GL_INDEX_ARRAY_EXT 0x8077
106879 #define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
106880 #define GL_EDGE_FLAG_ARRAY_EXT 0x8079
106881 #define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
106882 #define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
106883 #define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
106884 #define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
106885 #define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
106886 #define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
106887 #define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
106888 #define GL_COLOR_ARRAY_SIZE_EXT 0x8081
106889 #define GL_COLOR_ARRAY_TYPE_EXT 0x8082
106890 #define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
106891 #define GL_COLOR_ARRAY_COUNT_EXT 0x8084
106892 #define GL_INDEX_ARRAY_TYPE_EXT 0x8085
106893 #define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
106894 #define GL_INDEX_ARRAY_COUNT_EXT 0x8087
106895 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
106896 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
106897 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
106898 #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
106899 #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
106900 #define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
106901 #define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
106902 #define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
106903 #define GL_COLOR_ARRAY_POINTER_EXT 0x8090
106904 #define GL_INDEX_ARRAY_POINTER_EXT 0x8091
106905 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
106906 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
106907
106908
106909
106910
106911
106912
106913 #define GL_GENERATE_MIPMAP_SGIS 0x8191
106914 #define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
106915
106916
106917
106918 #define GL_LINEAR_CLIPMAP_LINEAR_SGIX 0x8170
106919 #define GL_TEXTURE_CLIPMAP_CENTER_SGIX 0x8171
106920 #define GL_TEXTURE_CLIPMAP_FRAME_SGIX 0x8172
106921 #define GL_TEXTURE_CLIPMAP_OFFSET_SGIX 0x8173
106922 #define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8174
106923 #define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX 0x8175
106924 #define GL_TEXTURE_CLIPMAP_DEPTH_SGIX 0x8176
106925 #define GL_MAX_CLIPMAP_DEPTH_SGIX 0x8177
106926 #define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8178
106927 #define GL_NEAREST_CLIPMAP_NEAREST_SGIX 0x844D
106928 #define GL_NEAREST_CLIPMAP_LINEAR_SGIX 0x844E
106929 #define GL_LINEAR_CLIPMAP_NEAREST_SGIX 0x844F
106930
106931
106932
106933 #define GL_TEXTURE_COMPARE_SGIX 0x819A
106934 #define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B
106935 #define GL_TEXTURE_LEQUAL_R_SGIX 0x819C
106936 #define GL_TEXTURE_GEQUAL_R_SGIX 0x819D
106937
106938
106939
106940 #define GL_CLAMP_TO_EDGE_SGIS 0x812F
106941
106942
106943
106944 #define GL_CLAMP_TO_BORDER_SGIS 0x812D
106945
106946
106947
106948 #define GL_FUNC_ADD_EXT 0x8006
106949 #define GL_MIN_EXT 0x8007
106950 #define GL_MAX_EXT 0x8008
106951 #define GL_BLEND_EQUATION_EXT 0x8009
106952
106953
106954
106955 #define GL_FUNC_SUBTRACT_EXT 0x800A
106956 #define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B
106957
106958
106959
106960
106961
106962
106963 #define GL_INTERLACE_SGIX 0x8094
106964
106965
106966
106967 #define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E
106968 #define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F
106969 #define GL_PIXEL_TILE_WIDTH_SGIX 0x8140
106970 #define GL_PIXEL_TILE_HEIGHT_SGIX 0x8141
106971 #define GL_PIXEL_TILE_GRID_WIDTH_SGIX 0x8142
106972 #define GL_PIXEL_TILE_GRID_HEIGHT_SGIX 0x8143
106973 #define GL_PIXEL_TILE_GRID_DEPTH_SGIX 0x8144
106974 #define GL_PIXEL_TILE_CACHE_SIZE_SGIX 0x8145
106975
106976
106977
106978 #define GL_DUAL_ALPHA4_SGIS 0x8110
106979 #define GL_DUAL_ALPHA8_SGIS 0x8111
106980 #define GL_DUAL_ALPHA12_SGIS 0x8112
106981 #define GL_DUAL_ALPHA16_SGIS 0x8113
106982 #define GL_DUAL_LUMINANCE4_SGIS 0x8114
106983 #define GL_DUAL_LUMINANCE8_SGIS 0x8115
106984 #define GL_DUAL_LUMINANCE12_SGIS 0x8116
106985 #define GL_DUAL_LUMINANCE16_SGIS 0x8117
106986 #define GL_DUAL_INTENSITY4_SGIS 0x8118
106987 #define GL_DUAL_INTENSITY8_SGIS 0x8119
106988 #define GL_DUAL_INTENSITY12_SGIS 0x811A
106989 #define GL_DUAL_INTENSITY16_SGIS 0x811B
106990 #define GL_DUAL_LUMINANCE_ALPHA4_SGIS 0x811C
106991 #define GL_DUAL_LUMINANCE_ALPHA8_SGIS 0x811D
106992 #define GL_QUAD_ALPHA4_SGIS 0x811E
106993 #define GL_QUAD_ALPHA8_SGIS 0x811F
106994 #define GL_QUAD_LUMINANCE4_SGIS 0x8120
106995 #define GL_QUAD_LUMINANCE8_SGIS 0x8121
106996 #define GL_QUAD_INTENSITY4_SGIS 0x8122
106997 #define GL_QUAD_INTENSITY8_SGIS 0x8123
106998 #define GL_DUAL_TEXTURE_SELECT_SGIS 0x8124
106999 #define GL_QUAD_TEXTURE_SELECT_SGIS 0x8125
107000
107001
107002
107003 #define GL_SPRITE_SGIX 0x8148
107004 #define GL_SPRITE_MODE_SGIX 0x8149
107005 #define GL_SPRITE_AXIS_SGIX 0x814A
107006 #define GL_SPRITE_TRANSLATION_SGIX 0x814B
107007 #define GL_SPRITE_AXIAL_SGIX 0x814C
107008 #define GL_SPRITE_OBJECT_ALIGNED_SGIX 0x814D
107009 #define GL_SPRITE_EYE_ALIGNED_SGIX 0x814E
107010
107011
107012
107013 #define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
107014
107015
107016
107017 #define GL_POINT_SIZE_MIN_EXT 0x8126
107018 #define GL_POINT_SIZE_MAX_EXT 0x8127
107019 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
107020 #define GL_DISTANCE_ATTENUATION_EXT 0x8129
107021
107022
107023
107024 #define GL_POINT_SIZE_MIN_SGIS 0x8126
107025 #define GL_POINT_SIZE_MAX_SGIS 0x8127
107026 #define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128
107027 #define GL_DISTANCE_ATTENUATION_SGIS 0x8129
107028
107029
107030
107031 #define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180
107032 #define GL_INSTRUMENT_MEASUREMENTS_SGIX 0x8181
107033
107034
107035
107036 #define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179
107037 #define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A
107038 #define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B
107039 #define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C
107040
107041
107042
107043 #define GL_FRAMEZOOM_SGIX 0x818B
107044 #define GL_FRAMEZOOM_FACTOR_SGIX 0x818C
107045 #define GL_MAX_FRAMEZOOM_FACTOR_SGIX 0x818D
107046
107047
107048
107049
107050
107051
107052 #define GL_TEXTURE_DEFORMATION_BIT_SGIX 0x00000001
107053 #define GL_GEOMETRY_DEFORMATION_BIT_SGIX 0x00000002
107054
107055
107056
107057 #define GL_GEOMETRY_DEFORMATION_SGIX 0x8194
107058 #define GL_TEXTURE_DEFORMATION_SGIX 0x8195
107059 #define GL_DEFORMATIONS_MASK_SGIX 0x8196
107060 #define GL_MAX_DEFORMATION_ORDER_SGIX 0x8197
107061
107062
107063
107064 #define GL_REFERENCE_PLANE_SGIX 0x817D
107065 #define GL_REFERENCE_PLANE_EQUATION_SGIX 0x817E
107066
107067
107068
107069
107070
107071
107072 #define GL_DEPTH_COMPONENT16_SGIX 0x81A5
107073 #define GL_DEPTH_COMPONENT24_SGIX 0x81A6
107074 #define GL_DEPTH_COMPONENT32_SGIX 0x81A7
107075
107076
107077
107078 #define GL_FOG_FUNC_SGIS 0x812A
107079 #define GL_FOG_FUNC_POINTS_SGIS 0x812B
107080 #define GL_MAX_FOG_FUNC_POINTS_SGIS 0x812C
107081
107082
107083
107084 #define GL_FOG_OFFSET_SGIX 0x8198
107085 #define GL_FOG_OFFSET_VALUE_SGIX 0x8199
107086
107087
107088
107089 #define GL_IMAGE_SCALE_X_HP 0x8155
107090 #define GL_IMAGE_SCALE_Y_HP 0x8156
107091 #define GL_IMAGE_TRANSLATE_X_HP 0x8157
107092 #define GL_IMAGE_TRANSLATE_Y_HP 0x8158
107093 #define GL_IMAGE_ROTATE_ANGLE_HP 0x8159
107094 #define GL_IMAGE_ROTATE_ORIGIN_X_HP 0x815A
107095 #define GL_IMAGE_ROTATE_ORIGIN_Y_HP 0x815B
107096 #define GL_IMAGE_MAG_FILTER_HP 0x815C
107097 #define GL_IMAGE_MIN_FILTER_HP 0x815D
107098 #define GL_IMAGE_CUBIC_WEIGHT_HP 0x815E
107099 #define GL_CUBIC_HP 0x815F
107100 #define GL_AVERAGE_HP 0x8160
107101 #define GL_IMAGE_TRANSFORM_2D_HP 0x8161
107102 #define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162
107103 #define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163
107104
107105
107106
107107 #define GL_IGNORE_BORDER_HP 0x8150
107108 #define GL_CONSTANT_BORDER_HP 0x8151
107109 #define GL_REPLICATE_BORDER_HP 0x8153
107110 #define GL_CONVOLUTION_BORDER_COLOR_HP 0x8154
107111
107112
107113
107114
107115
107116
107117 #define GL_TEXTURE_ENV_BIAS_SGIX 0x80BE
107118
107119
107120
107121
107122
107123
107124 #define GL_VERTEX_DATA_HINT_PGI 0x1A22A
107125 #define GL_VERTEX_CONSISTENT_HINT_PGI 0x1A22B
107126 #define GL_MATERIAL_SIDE_HINT_PGI 0x1A22C
107127 #define GL_MAX_VERTEX_HINT_PGI 0x1A22D
107128 #define GL_COLOR3_BIT_PGI 0x00010000
107129 #define GL_COLOR4_BIT_PGI 0x00020000
107130 #define GL_EDGEFLAG_BIT_PGI 0x00040000
107131 #define GL_INDEX_BIT_PGI 0x00080000
107132 #define GL_MAT_AMBIENT_BIT_PGI 0x00100000
107133 #define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000
107134 #define GL_MAT_DIFFUSE_BIT_PGI 0x00400000
107135 #define GL_MAT_EMISSION_BIT_PGI 0x00800000
107136 #define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000
107137 #define GL_MAT_SHININESS_BIT_PGI 0x02000000
107138 #define GL_MAT_SPECULAR_BIT_PGI 0x04000000
107139 #define GL_NORMAL_BIT_PGI 0x08000000
107140 #define GL_TEXCOORD1_BIT_PGI 0x10000000
107141 #define GL_TEXCOORD2_BIT_PGI 0x20000000
107142 #define GL_TEXCOORD3_BIT_PGI 0x40000000
107143 #define GL_TEXCOORD4_BIT_PGI 0x80000000
107144 #define GL_VERTEX23_BIT_PGI 0x00000004
107145 #define GL_VERTEX4_BIT_PGI 0x00000008
107146
107147
107148
107149 #define GL_PREFER_DOUBLEBUFFER_HINT_PGI 0x1A1F8
107150 #define GL_CONSERVE_MEMORY_HINT_PGI 0x1A1FD
107151 #define GL_RECLAIM_MEMORY_HINT_PGI 0x1A1FE
107152 #define GL_NATIVE_GRAPHICS_HANDLE_PGI 0x1A202
107153 #define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203
107154 #define GL_NATIVE_GRAPHICS_END_HINT_PGI 0x1A204
107155 #define GL_ALWAYS_FAST_HINT_PGI 0x1A20C
107156 #define GL_ALWAYS_SOFT_HINT_PGI 0x1A20D
107157 #define GL_ALLOW_DRAW_OBJ_HINT_PGI 0x1A20E
107158 #define GL_ALLOW_DRAW_WIN_HINT_PGI 0x1A20F
107159 #define GL_ALLOW_DRAW_FRG_HINT_PGI 0x1A210
107160 #define GL_ALLOW_DRAW_MEM_HINT_PGI 0x1A211
107161 #define GL_STRICT_DEPTHFUNC_HINT_PGI 0x1A216
107162 #define GL_STRICT_LIGHTING_HINT_PGI 0x1A217
107163 #define GL_STRICT_SCISSOR_HINT_PGI 0x1A218
107164 #define GL_FULL_STIPPLE_HINT_PGI 0x1A219
107165 #define GL_CLIP_NEAR_HINT_PGI 0x1A220
107166 #define GL_CLIP_FAR_HINT_PGI 0x1A221
107167 #define GL_WIDE_LINE_HINT_PGI 0x1A222
107168 #define GL_BACK_NORMALS_HINT_PGI 0x1A223
107169
107170
107171
107172 #define GL_COLOR_INDEX1_EXT 0x80E2
107173 #define GL_COLOR_INDEX2_EXT 0x80E3
107174 #define GL_COLOR_INDEX4_EXT 0x80E4
107175 #define GL_COLOR_INDEX8_EXT 0x80E5
107176 #define GL_COLOR_INDEX12_EXT 0x80E6
107177 #define GL_COLOR_INDEX16_EXT 0x80E7
107178 #define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED
107179
107180
107181
107182 #define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0
107183
107184
107185
107186 #define GL_LIST_PRIORITY_SGIX 0x8182
107187
107188
107189
107190 #define GL_IR_INSTRUMENT1_SGIX 0x817F
107191
107192
107193
107194 #define GL_CALLIGRAPHIC_FRAGMENT_SGIX 0x8183
107195
107196
107197
107198 #define GL_TEXTURE_LOD_BIAS_S_SGIX 0x818E
107199 #define GL_TEXTURE_LOD_BIAS_T_SGIX 0x818F
107200 #define GL_TEXTURE_LOD_BIAS_R_SGIX 0x8190
107201
107202
107203
107204 #define GL_SHADOW_AMBIENT_SGIX 0x80BF
107205
107206
107207
107208
107209
107210
107211 #define GL_INDEX_MATERIAL_EXT 0x81B8
107212 #define GL_INDEX_MATERIAL_PARAMETER_EXT 0x81B9
107213 #define GL_INDEX_MATERIAL_FACE_EXT 0x81BA
107214
107215
107216
107217 #define GL_INDEX_TEST_EXT 0x81B5
107218 #define GL_INDEX_TEST_FUNC_EXT 0x81B6
107219 #define GL_INDEX_TEST_REF_EXT 0x81B7
107220
107221
107222
107223 #define GL_IUI_V2F_EXT 0x81AD
107224 #define GL_IUI_V3F_EXT 0x81AE
107225 #define GL_IUI_N3F_V2F_EXT 0x81AF
107226 #define GL_IUI_N3F_V3F_EXT 0x81B0
107227 #define GL_T2F_IUI_V2F_EXT 0x81B1
107228 #define GL_T2F_IUI_V3F_EXT 0x81B2
107229 #define GL_T2F_IUI_N3F_V2F_EXT 0x81B3
107230 #define GL_T2F_IUI_N3F_V3F_EXT 0x81B4
107231
107232
107233
107234 #define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8
107235 #define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9
107236
107237
107238
107239 #define GL_CULL_VERTEX_EXT 0x81AA
107240 #define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB
107241 #define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC
107242
107243
107244
107245 #define GL_YCRCB_422_SGIX 0x81BB
107246 #define GL_YCRCB_444_SGIX 0x81BC
107247
107248
107249
107250 #define GL_FRAGMENT_LIGHTING_SGIX 0x8400
107251 #define GL_FRAGMENT_COLOR_MATERIAL_SGIX 0x8401
107252 #define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX 0x8402
107253 #define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX 0x8403
107254 #define GL_MAX_FRAGMENT_LIGHTS_SGIX 0x8404
107255 #define GL_MAX_ACTIVE_LIGHTS_SGIX 0x8405
107256 #define GL_CURRENT_RASTER_NORMAL_SGIX 0x8406
107257 #define GL_LIGHT_ENV_MODE_SGIX 0x8407
107258 #define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX 0x8408
107259 #define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX 0x8409
107260 #define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX 0x840A
107261 #define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840B
107262 #define GL_FRAGMENT_LIGHT0_SGIX 0x840C
107263 #define GL_FRAGMENT_LIGHT1_SGIX 0x840D
107264 #define GL_FRAGMENT_LIGHT2_SGIX 0x840E
107265 #define GL_FRAGMENT_LIGHT3_SGIX 0x840F
107266 #define GL_FRAGMENT_LIGHT4_SGIX 0x8410
107267 #define GL_FRAGMENT_LIGHT5_SGIX 0x8411
107268 #define GL_FRAGMENT_LIGHT6_SGIX 0x8412
107269 #define GL_FRAGMENT_LIGHT7_SGIX 0x8413
107270
107271
107272
107273 #define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262
107274
107275
107276
107277 #define GL_TEXTURE_LIGHTING_MODE_HP 0x8167
107278 #define GL_TEXTURE_POST_SPECULAR_HP 0x8168
107279 #define GL_TEXTURE_PRE_SPECULAR_HP 0x8169
107280
107281
107282
107283 #define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8
107284 #define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9
107285
107286
107287
107288 #define GL_PHONG_WIN 0x80EA
107289 #define GL_PHONG_HINT_WIN 0x80EB
107290
107291
107292
107293 #define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC
107294
107295
107296
107297 #define GL_FRAGMENT_MATERIAL_EXT 0x8349
107298 #define GL_FRAGMENT_NORMAL_EXT 0x834A
107299 #define GL_FRAGMENT_COLOR_EXT 0x834C
107300 #define GL_ATTENUATION_EXT 0x834D
107301 #define GL_SHADOW_ATTENUATION_EXT 0x834E
107302 #define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F
107303 #define GL_TEXTURE_LIGHT_EXT 0x8350
107304 #define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351
107305 #define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352
107306
107307
107308
107309
107310 #define GL_ALPHA_MIN_SGIX 0x8320
107311 #define GL_ALPHA_MAX_SGIX 0x8321
107312
107313
107314
107315 #define GL_PIXEL_TEX_GEN_Q_CEILING_SGIX 0x8184
107316 #define GL_PIXEL_TEX_GEN_Q_ROUND_SGIX 0x8185
107317 #define GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX 0x8186
107318 #define GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX 0x8187
107319 #define GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX 0x8188
107320 #define GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX 0x8189
107321 #define GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX 0x818A
107322
107323
107324
107325 #define GL_BGR_EXT 0x80E0
107326 #define GL_BGRA_EXT 0x80E1
107327
107328
107329
107330 #define GL_ASYNC_MARKER_SGIX 0x8329
107331
107332
107333
107334 #define GL_ASYNC_TEX_IMAGE_SGIX 0x835C
107335 #define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D
107336 #define GL_ASYNC_READ_PIXELS_SGIX 0x835E
107337 #define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F
107338 #define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360
107339 #define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361
107340
107341
107342
107343 #define GL_ASYNC_HISTOGRAM_SGIX 0x832C
107344 #define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D
107345
107346
107347
107348
107349
107350
107351 #define GL_PARALLEL_ARRAYS_INTEL 0x83F4
107352 #define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5
107353 #define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6
107354 #define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7
107355 #define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8
107356
107357
107358
107359 #define GL_OCCLUSION_TEST_HP 0x8165
107360 #define GL_OCCLUSION_TEST_RESULT_HP 0x8166
107361
107362
107363
107364 #define GL_PIXEL_TRANSFORM_2D_EXT 0x8330
107365 #define GL_PIXEL_MAG_FILTER_EXT 0x8331
107366 #define GL_PIXEL_MIN_FILTER_EXT 0x8332
107367 #define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333
107368 #define GL_CUBIC_EXT 0x8334
107369 #define GL_AVERAGE_EXT 0x8335
107370 #define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336
107371 #define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337
107372 #define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338
107373
107374
107375
107376
107377
107378
107379 #define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB
107380
107381
107382
107383 #define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8
107384 #define GL_SINGLE_COLOR_EXT 0x81F9
107385 #define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA
107386
107387
107388
107389 #define GL_COLOR_SUM_EXT 0x8458
107390 #define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
107391 #define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
107392 #define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
107393 #define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
107394 #define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
107395 #define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E
107396
107397
107398
107399 #define GL_PERTURB_EXT 0x85AE
107400 #define GL_TEXTURE_NORMAL_EXT 0x85AF
107401
107402
107403
107404
107405
107406
107407 #define GL_FOG_COORDINATE_SOURCE_EXT 0x8450
107408 #define GL_FOG_COORDINATE_EXT 0x8451
107409 #define GL_FRAGMENT_DEPTH_EXT 0x8452
107410 #define GL_CURRENT_FOG_COORDINATE_EXT 0x8453
107411 #define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454
107412 #define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
107413 #define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
107414 #define GL_FOG_COORDINATE_ARRAY_EXT 0x8457
107415
107416
107417
107418 #define GL_SCREEN_COORDINATES_REND 0x8490
107419 #define GL_INVERTED_SCREEN_W_REND 0x8491
107420
107421
107422
107423 #define GL_TANGENT_ARRAY_EXT 0x8439
107424 #define GL_BINORMAL_ARRAY_EXT 0x843A
107425 #define GL_CURRENT_TANGENT_EXT 0x843B
107426 #define GL_CURRENT_BINORMAL_EXT 0x843C
107427 #define GL_TANGENT_ARRAY_TYPE_EXT 0x843E
107428 #define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F
107429 #define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440
107430 #define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441
107431 #define GL_TANGENT_ARRAY_POINTER_EXT 0x8442
107432 #define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443
107433 #define GL_MAP1_TANGENT_EXT 0x8444
107434 #define GL_MAP2_TANGENT_EXT 0x8445
107435 #define GL_MAP1_BINORMAL_EXT 0x8446
107436 #define GL_MAP2_BINORMAL_EXT 0x8447
107437
107438
107439
107440 #define GL_COMBINE_EXT 0x8570
107441 #define GL_COMBINE_RGB_EXT 0x8571
107442 #define GL_COMBINE_ALPHA_EXT 0x8572
107443 #define GL_RGB_SCALE_EXT 0x8573
107444 #define GL_ADD_SIGNED_EXT 0x8574
107445 #define GL_INTERPOLATE_EXT 0x8575
107446 #define GL_CONSTANT_EXT 0x8576
107447 #define GL_PRIMARY_COLOR_EXT 0x8577
107448 #define GL_PREVIOUS_EXT 0x8578
107449 #define GL_SOURCE0_RGB_EXT 0x8580
107450 #define GL_SOURCE1_RGB_EXT 0x8581
107451 #define GL_SOURCE2_RGB_EXT 0x8582
107452 #define GL_SOURCE0_ALPHA_EXT 0x8588
107453 #define GL_SOURCE1_ALPHA_EXT 0x8589
107454 #define GL_SOURCE2_ALPHA_EXT 0x858A
107455 #define GL_OPERAND0_RGB_EXT 0x8590
107456 #define GL_OPERAND1_RGB_EXT 0x8591
107457 #define GL_OPERAND2_RGB_EXT 0x8592
107458 #define GL_OPERAND0_ALPHA_EXT 0x8598
107459 #define GL_OPERAND1_ALPHA_EXT 0x8599
107460 #define GL_OPERAND2_ALPHA_EXT 0x859A
107461
107462
107463
107464 #define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0
107465
107466
107467
107468 #define GL_TRANSFORM_HINT_APPLE 0x85B1
107469
107470
107471
107472 #define GL_FOG_SCALE_SGIX 0x81FC
107473 #define GL_FOG_SCALE_VALUE_SGIX 0x81FD
107474
107475
107476
107477 #define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5
107478 #define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6
107479
107480
107481
107482 #define GL_GLOBAL_ALPHA_SUN 0x81D9
107483 #define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA
107484
107485
107486
107487 #define GL_RESTART_SUN 0x0001
107488 #define GL_REPLACE_MIDDLE_SUN 0x0002
107489 #define GL_REPLACE_OLDEST_SUN 0x0003
107490 #define GL_TRIANGLE_LIST_SUN 0x81D7
107491 #define GL_REPLACEMENT_CODE_SUN 0x81D8
107492 #define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0
107493 #define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1
107494 #define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2
107495 #define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3
107496 #define GL_R1UI_V3F_SUN 0x85C4
107497 #define GL_R1UI_C4UB_V3F_SUN 0x85C5
107498 #define GL_R1UI_C3F_V3F_SUN 0x85C6
107499 #define GL_R1UI_N3F_V3F_SUN 0x85C7
107500 #define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8
107501 #define GL_R1UI_T2F_V3F_SUN 0x85C9
107502 #define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA
107503 #define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB
107504
107505
107506
107507
107508
107509
107510 #define GL_BLEND_DST_RGB_EXT 0x80C8
107511 #define GL_BLEND_SRC_RGB_EXT 0x80C9
107512 #define GL_BLEND_DST_ALPHA_EXT 0x80CA
107513 #define GL_BLEND_SRC_ALPHA_EXT 0x80CB
107514
107515
107516
107517 #define GL_RED_MIN_CLAMP_INGR 0x8560
107518 #define GL_GREEN_MIN_CLAMP_INGR 0x8561
107519 #define GL_BLUE_MIN_CLAMP_INGR 0x8562
107520 #define GL_ALPHA_MIN_CLAMP_INGR 0x8563
107521 #define GL_RED_MAX_CLAMP_INGR 0x8564
107522 #define GL_GREEN_MAX_CLAMP_INGR 0x8565
107523 #define GL_BLUE_MAX_CLAMP_INGR 0x8566
107524 #define GL_ALPHA_MAX_CLAMP_INGR 0x8567
107525
107526
107527
107528 #define GL_INTERLACE_READ_INGR 0x8568
107529
107530
107531
107532 #define GL_INCR_WRAP_EXT 0x8507
107533 #define GL_DECR_WRAP_EXT 0x8508
107534
107535
107536
107537 #define GL_422_EXT 0x80CC
107538 #define GL_422_REV_EXT 0x80CD
107539 #define GL_422_AVERAGE_EXT 0x80CE
107540 #define GL_422_REV_AVERAGE_EXT 0x80CF
107541
107542
107543
107544 #define GL_NORMAL_MAP_NV 0x8511
107545 #define GL_REFLECTION_MAP_NV 0x8512
107546
107547
107548
107549 #define GL_NORMAL_MAP_EXT 0x8511
107550 #define GL_REFLECTION_MAP_EXT 0x8512
107551 #define GL_TEXTURE_CUBE_MAP_EXT 0x8513
107552 #define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514
107553 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
107554 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
107555 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
107556 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
107557 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
107558 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
107559 #define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B
107560 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C
107561
107562
107563
107564 #define GL_WRAP_BORDER_SUN 0x81D4
107565
107566
107567
107568
107569
107570
107571 #define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
107572 #define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
107573 #define GL_TEXTURE_LOD_BIAS_EXT 0x8501
107574
107575
107576
107577 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
107578 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
107579
107580
107581
107582 #define GL_MODELVIEW0_STACK_DEPTH_EXT GL_MODELVIEW_STACK_DEPTH
107583 #define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502
107584 #define GL_MODELVIEW0_MATRIX_EXT GL_MODELVIEW_MATRIX
107585 #define GL_MODELVIEW1_MATRIX_EXT 0x8506
107586 #define GL_VERTEX_WEIGHTING_EXT 0x8509
107587 #define GL_MODELVIEW0_EXT GL_MODELVIEW
107588 #define GL_MODELVIEW1_EXT 0x850A
107589 #define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B
107590 #define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C
107591 #define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D
107592 #define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E
107593 #define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F
107594 #define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510
107595
107596
107597
107598 #define GL_MAX_SHININESS_NV 0x8504
107599 #define GL_MAX_SPOT_EXPONENT_NV 0x8505
107600
107601
107602
107603 #define GL_VERTEX_ARRAY_RANGE_NV 0x851D
107604 #define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E
107605 #define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F
107606 #define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
107607 #define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521
107608
107609
107610
107611 #define GL_REGISTER_COMBINERS_NV 0x8522
107612 #define GL_VARIABLE_A_NV 0x8523
107613 #define GL_VARIABLE_B_NV 0x8524
107614 #define GL_VARIABLE_C_NV 0x8525
107615 #define GL_VARIABLE_D_NV 0x8526
107616 #define GL_VARIABLE_E_NV 0x8527
107617 #define GL_VARIABLE_F_NV 0x8528
107618 #define GL_VARIABLE_G_NV 0x8529
107619 #define GL_CONSTANT_COLOR0_NV 0x852A
107620 #define GL_CONSTANT_COLOR1_NV 0x852B
107621 #define GL_PRIMARY_COLOR_NV 0x852C
107622 #define GL_SECONDARY_COLOR_NV 0x852D
107623 #define GL_SPARE0_NV 0x852E
107624 #define GL_SPARE1_NV 0x852F
107625 #define GL_DISCARD_NV 0x8530
107626 #define GL_E_TIMES_F_NV 0x8531
107627 #define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
107628 #define GL_UNSIGNED_IDENTITY_NV 0x8536
107629 #define GL_UNSIGNED_INVERT_NV 0x8537
107630 #define GL_EXPAND_NORMAL_NV 0x8538
107631 #define GL_EXPAND_NEGATE_NV 0x8539
107632 #define GL_HALF_BIAS_NORMAL_NV 0x853A
107633 #define GL_HALF_BIAS_NEGATE_NV 0x853B
107634 #define GL_SIGNED_IDENTITY_NV 0x853C
107635 #define GL_SIGNED_NEGATE_NV 0x853D
107636 #define GL_SCALE_BY_TWO_NV 0x853E
107637 #define GL_SCALE_BY_FOUR_NV 0x853F
107638 #define GL_SCALE_BY_ONE_HALF_NV 0x8540
107639 #define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541
107640 #define GL_COMBINER_INPUT_NV 0x8542
107641 #define GL_COMBINER_MAPPING_NV 0x8543
107642 #define GL_COMBINER_COMPONENT_USAGE_NV 0x8544
107643 #define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545
107644 #define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546
107645 #define GL_COMBINER_MUX_SUM_NV 0x8547
107646 #define GL_COMBINER_SCALE_NV 0x8548
107647 #define GL_COMBINER_BIAS_NV 0x8549
107648 #define GL_COMBINER_AB_OUTPUT_NV 0x854A
107649 #define GL_COMBINER_CD_OUTPUT_NV 0x854B
107650 #define GL_COMBINER_SUM_OUTPUT_NV 0x854C
107651 #define GL_MAX_GENERAL_COMBINERS_NV 0x854D
107652 #define GL_NUM_GENERAL_COMBINERS_NV 0x854E
107653 #define GL_COLOR_SUM_CLAMP_NV 0x854F
107654 #define GL_COMBINER0_NV 0x8550
107655 #define GL_COMBINER1_NV 0x8551
107656 #define GL_COMBINER2_NV 0x8552
107657 #define GL_COMBINER3_NV 0x8553
107658 #define GL_COMBINER4_NV 0x8554
107659 #define GL_COMBINER5_NV 0x8555
107660 #define GL_COMBINER6_NV 0x8556
107661 #define GL_COMBINER7_NV 0x8557
107662 # 2014 "/usr/include/GL/glext.h" 3 4
107663 #define GL_FOG_DISTANCE_MODE_NV 0x855A
107664 #define GL_EYE_RADIAL_NV 0x855B
107665 #define GL_EYE_PLANE_ABSOLUTE_NV 0x855C
107666
107667
107668
107669
107670 #define GL_EMBOSS_LIGHT_NV 0x855D
107671 #define GL_EMBOSS_CONSTANT_NV 0x855E
107672 #define GL_EMBOSS_MAP_NV 0x855F
107673
107674
107675
107676
107677
107678
107679 #define GL_COMBINE4_NV 0x8503
107680 #define GL_SOURCE3_RGB_NV 0x8583
107681 #define GL_SOURCE3_ALPHA_NV 0x858B
107682 #define GL_OPERAND3_RGB_NV 0x8593
107683 #define GL_OPERAND3_ALPHA_NV 0x859B
107684 # 2044 "/usr/include/GL/glext.h" 3 4
107685 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
107686 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
107687 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
107688 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
107689
107690
107691
107692 #define GL_CULL_VERTEX_IBM 103050
107693
107694
107695
107696
107697
107698
107699 #define GL_VERTEX_ARRAY_LIST_IBM 103070
107700 #define GL_NORMAL_ARRAY_LIST_IBM 103071
107701 #define GL_COLOR_ARRAY_LIST_IBM 103072
107702 #define GL_INDEX_ARRAY_LIST_IBM 103073
107703 #define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074
107704 #define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075
107705 #define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076
107706 #define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077
107707 #define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080
107708 #define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081
107709 #define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082
107710 #define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083
107711 #define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084
107712 #define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085
107713 #define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086
107714 #define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087
107715
107716
107717
107718 #define GL_PACK_SUBSAMPLE_RATE_SGIX 0x85A0
107719 #define GL_UNPACK_SUBSAMPLE_RATE_SGIX 0x85A1
107720 #define GL_PIXEL_SUBSAMPLE_4444_SGIX 0x85A2
107721 #define GL_PIXEL_SUBSAMPLE_2424_SGIX 0x85A3
107722 #define GL_PIXEL_SUBSAMPLE_4242_SGIX 0x85A4
107723
107724
107725
107726
107727
107728
107729 #define GL_YCRCB_SGIX 0x8318
107730 #define GL_YCRCBA_SGIX 0x8319
107731
107732
107733
107734 #define GL_DEPTH_PASS_INSTRUMENT_SGIX 0x8310
107735 #define GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX 0x8311
107736 #define GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX 0x8312
107737
107738
107739
107740 #define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0
107741 #define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1
107742
107743
107744
107745 #define GL_MULTISAMPLE_3DFX 0x86B2
107746 #define GL_SAMPLE_BUFFERS_3DFX 0x86B3
107747 #define GL_SAMPLES_3DFX 0x86B4
107748 #define GL_MULTISAMPLE_BIT_3DFX 0x20000000
107749
107750
107751
107752
107753
107754
107755 #define GL_MULTISAMPLE_EXT 0x809D
107756 #define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E
107757 #define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F
107758 #define GL_SAMPLE_MASK_EXT 0x80A0
107759 #define GL_1PASS_EXT 0x80A1
107760 #define GL_2PASS_0_EXT 0x80A2
107761 #define GL_2PASS_1_EXT 0x80A3
107762 #define GL_4PASS_0_EXT 0x80A4
107763 #define GL_4PASS_1_EXT 0x80A5
107764 #define GL_4PASS_2_EXT 0x80A6
107765 #define GL_4PASS_3_EXT 0x80A7
107766 #define GL_SAMPLE_BUFFERS_EXT 0x80A8
107767 #define GL_SAMPLES_EXT 0x80A9
107768 #define GL_SAMPLE_MASK_VALUE_EXT 0x80AA
107769 #define GL_SAMPLE_MASK_INVERT_EXT 0x80AB
107770 #define GL_SAMPLE_PATTERN_EXT 0x80AC
107771 #define GL_MULTISAMPLE_BIT_EXT 0x20000000
107772
107773
107774
107775 #define GL_VERTEX_PRECLIP_SGIX 0x83EE
107776 #define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF
107777
107778
107779
107780 #define GL_CONVOLUTION_HINT_SGIX 0x8316
107781
107782
107783
107784 #define GL_PACK_RESAMPLE_SGIX 0x842C
107785 #define GL_UNPACK_RESAMPLE_SGIX 0x842D
107786 #define GL_RESAMPLE_REPLICATE_SGIX 0x842E
107787 #define GL_RESAMPLE_ZERO_FILL_SGIX 0x842F
107788 #define GL_RESAMPLE_DECIMATE_SGIX 0x8430
107789
107790
107791
107792 #define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0
107793 #define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1
107794 #define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2
107795 #define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3
107796 #define GL_EYE_POINT_SGIS 0x81F4
107797 #define GL_OBJECT_POINT_SGIS 0x81F5
107798 #define GL_EYE_LINE_SGIS 0x81F6
107799 #define GL_OBJECT_LINE_SGIS 0x81F7
107800
107801
107802
107803 #define GL_TEXTURE_COLOR_WRITEMASK_SGIS 0x81EF
107804
107805
107806
107807 #define GL_DOT3_RGB_EXT 0x8740
107808 #define GL_DOT3_RGBA_EXT 0x8741
107809
107810
107811
107812 #define GL_MIRROR_CLAMP_ATI 0x8742
107813 #define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
107814
107815
107816
107817 #define GL_ALL_COMPLETED_NV 0x84F2
107818 #define GL_FENCE_STATUS_NV 0x84F3
107819 #define GL_FENCE_CONDITION_NV 0x84F4
107820
107821
107822
107823 #define GL_MIRRORED_REPEAT_IBM 0x8370
107824
107825
107826
107827 #define GL_EVAL_2D_NV 0x86C0
107828 #define GL_EVAL_TRIANGULAR_2D_NV 0x86C1
107829 #define GL_MAP_TESSELLATION_NV 0x86C2
107830 #define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3
107831 #define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4
107832 #define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5
107833 #define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6
107834 #define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7
107835 #define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8
107836 #define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9
107837 #define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA
107838 #define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB
107839 #define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC
107840 #define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD
107841 #define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE
107842 #define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF
107843 #define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0
107844 #define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1
107845 #define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2
107846 #define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3
107847 #define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4
107848 #define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5
107849 #define GL_MAX_MAP_TESSELLATION_NV 0x86D6
107850 #define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7
107851
107852
107853
107854 #define GL_DEPTH_STENCIL_NV 0x84F9
107855 #define GL_UNSIGNED_INT_24_8_NV 0x84FA
107856
107857
107858
107859 #define GL_PER_STAGE_CONSTANTS_NV 0x8535
107860
107861
107862
107863
107864
107865
107866 #define GL_TEXTURE_RECTANGLE_NV 0x84F5
107867 #define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
107868 #define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
107869 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
107870
107871
107872
107873 #define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C
107874 #define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
107875 #define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
107876 #define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
107877 #define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
107878 #define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
107879 #define GL_DSDT_MAG_INTENSITY_NV 0x86DC
107880 #define GL_SHADER_CONSISTENT_NV 0x86DD
107881 #define GL_TEXTURE_SHADER_NV 0x86DE
107882 #define GL_SHADER_OPERATION_NV 0x86DF
107883 #define GL_CULL_MODES_NV 0x86E0
107884 #define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1
107885 #define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2
107886 #define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3
107887 #define GL_OFFSET_TEXTURE_2D_MATRIX_NV GL_OFFSET_TEXTURE_MATRIX_NV
107888 #define GL_OFFSET_TEXTURE_2D_SCALE_NV GL_OFFSET_TEXTURE_SCALE_NV
107889 #define GL_OFFSET_TEXTURE_2D_BIAS_NV GL_OFFSET_TEXTURE_BIAS_NV
107890 #define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4
107891 #define GL_CONST_EYE_NV 0x86E5
107892 #define GL_PASS_THROUGH_NV 0x86E6
107893 #define GL_CULL_FRAGMENT_NV 0x86E7
107894 #define GL_OFFSET_TEXTURE_2D_NV 0x86E8
107895 #define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9
107896 #define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA
107897 #define GL_DOT_PRODUCT_NV 0x86EC
107898 #define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED
107899 #define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE
107900 #define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
107901 #define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
107902 #define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
107903 #define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
107904 #define GL_HILO_NV 0x86F4
107905 #define GL_DSDT_NV 0x86F5
107906 #define GL_DSDT_MAG_NV 0x86F6
107907 #define GL_DSDT_MAG_VIB_NV 0x86F7
107908 #define GL_HILO16_NV 0x86F8
107909 #define GL_SIGNED_HILO_NV 0x86F9
107910 #define GL_SIGNED_HILO16_NV 0x86FA
107911 #define GL_SIGNED_RGBA_NV 0x86FB
107912 #define GL_SIGNED_RGBA8_NV 0x86FC
107913 #define GL_SIGNED_RGB_NV 0x86FE
107914 #define GL_SIGNED_RGB8_NV 0x86FF
107915 #define GL_SIGNED_LUMINANCE_NV 0x8701
107916 #define GL_SIGNED_LUMINANCE8_NV 0x8702
107917 #define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
107918 #define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
107919 #define GL_SIGNED_ALPHA_NV 0x8705
107920 #define GL_SIGNED_ALPHA8_NV 0x8706
107921 #define GL_SIGNED_INTENSITY_NV 0x8707
107922 #define GL_SIGNED_INTENSITY8_NV 0x8708
107923 #define GL_DSDT8_NV 0x8709
107924 #define GL_DSDT8_MAG8_NV 0x870A
107925 #define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
107926 #define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
107927 #define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
107928 #define GL_HI_SCALE_NV 0x870E
107929 #define GL_LO_SCALE_NV 0x870F
107930 #define GL_DS_SCALE_NV 0x8710
107931 #define GL_DT_SCALE_NV 0x8711
107932 #define GL_MAGNITUDE_SCALE_NV 0x8712
107933 #define GL_VIBRANCE_SCALE_NV 0x8713
107934 #define GL_HI_BIAS_NV 0x8714
107935 #define GL_LO_BIAS_NV 0x8715
107936 #define GL_DS_BIAS_NV 0x8716
107937 #define GL_DT_BIAS_NV 0x8717
107938 #define GL_MAGNITUDE_BIAS_NV 0x8718
107939 #define GL_VIBRANCE_BIAS_NV 0x8719
107940 #define GL_TEXTURE_BORDER_VALUES_NV 0x871A
107941 #define GL_TEXTURE_HI_SIZE_NV 0x871B
107942 #define GL_TEXTURE_LO_SIZE_NV 0x871C
107943 #define GL_TEXTURE_DS_SIZE_NV 0x871D
107944 #define GL_TEXTURE_DT_SIZE_NV 0x871E
107945 #define GL_TEXTURE_MAG_SIZE_NV 0x871F
107946
107947
107948
107949 #define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF
107950
107951
107952
107953 #define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
107954
107955
107956
107957 #define GL_VERTEX_PROGRAM_NV 0x8620
107958 #define GL_VERTEX_STATE_PROGRAM_NV 0x8621
107959 #define GL_ATTRIB_ARRAY_SIZE_NV 0x8623
107960 #define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
107961 #define GL_ATTRIB_ARRAY_TYPE_NV 0x8625
107962 #define GL_CURRENT_ATTRIB_NV 0x8626
107963 #define GL_PROGRAM_LENGTH_NV 0x8627
107964 #define GL_PROGRAM_STRING_NV 0x8628
107965 #define GL_MODELVIEW_PROJECTION_NV 0x8629
107966 #define GL_IDENTITY_NV 0x862A
107967 #define GL_INVERSE_NV 0x862B
107968 #define GL_TRANSPOSE_NV 0x862C
107969 #define GL_INVERSE_TRANSPOSE_NV 0x862D
107970 #define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
107971 #define GL_MAX_TRACK_MATRICES_NV 0x862F
107972 #define GL_MATRIX0_NV 0x8630
107973 #define GL_MATRIX1_NV 0x8631
107974 #define GL_MATRIX2_NV 0x8632
107975 #define GL_MATRIX3_NV 0x8633
107976 #define GL_MATRIX4_NV 0x8634
107977 #define GL_MATRIX5_NV 0x8635
107978 #define GL_MATRIX6_NV 0x8636
107979 #define GL_MATRIX7_NV 0x8637
107980 #define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
107981 #define GL_CURRENT_MATRIX_NV 0x8641
107982 #define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
107983 #define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
107984 #define GL_PROGRAM_PARAMETER_NV 0x8644
107985 #define GL_ATTRIB_ARRAY_POINTER_NV 0x8645
107986 #define GL_PROGRAM_TARGET_NV 0x8646
107987 #define GL_PROGRAM_RESIDENT_NV 0x8647
107988 #define GL_TRACK_MATRIX_NV 0x8648
107989 #define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
107990 #define GL_VERTEX_PROGRAM_BINDING_NV 0x864A
107991 #define GL_PROGRAM_ERROR_POSITION_NV 0x864B
107992 #define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
107993 #define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
107994 #define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
107995 #define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
107996 #define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
107997 #define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
107998 #define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
107999 #define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
108000 #define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
108001 #define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
108002 #define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
108003 #define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
108004 #define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
108005 #define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
108006 #define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
108007 #define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
108008 #define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
108009 #define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
108010 #define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
108011 #define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
108012 #define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
108013 #define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
108014 #define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
108015 #define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
108016 #define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
108017 #define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
108018 #define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
108019 #define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
108020 #define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
108021 #define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
108022 #define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
108023 #define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
108024 #define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
108025 #define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
108026 #define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
108027 #define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
108028 #define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
108029 #define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
108030 #define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
108031 #define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
108032 #define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
108033 #define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
108034 #define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
108035 #define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
108036 #define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
108037 #define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
108038 #define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
108039 #define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F
108040
108041
108042
108043 #define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369
108044 #define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A
108045 #define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B
108046
108047
108048
108049 #define GL_SCALEBIAS_HINT_SGIX 0x8322
108050
108051
108052
108053 #define GL_INTERLACE_OML 0x8980
108054 #define GL_INTERLACE_READ_OML 0x8981
108055
108056
108057
108058 #define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982
108059 #define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983
108060
108061
108062
108063 #define GL_PACK_RESAMPLE_OML 0x8984
108064 #define GL_UNPACK_RESAMPLE_OML 0x8985
108065 #define GL_RESAMPLE_REPLICATE_OML 0x8986
108066 #define GL_RESAMPLE_ZERO_FILL_OML 0x8987
108067 #define GL_RESAMPLE_AVERAGE_OML 0x8988
108068 #define GL_RESAMPLE_DECIMATE_OML 0x8989
108069
108070
108071
108072 #define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
108073 #define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F
108074
108075
108076
108077 #define GL_BUMP_ROT_MATRIX_ATI 0x8775
108078 #define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
108079 #define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
108080 #define GL_BUMP_TEX_UNITS_ATI 0x8778
108081 #define GL_DUDV_ATI 0x8779
108082 #define GL_DU8DV8_ATI 0x877A
108083 #define GL_BUMP_ENVMAP_ATI 0x877B
108084 #define GL_BUMP_TARGET_ATI 0x877C
108085
108086
108087
108088 #define GL_FRAGMENT_SHADER_ATI 0x8920
108089 #define GL_REG_0_ATI 0x8921
108090 #define GL_REG_1_ATI 0x8922
108091 #define GL_REG_2_ATI 0x8923
108092 #define GL_REG_3_ATI 0x8924
108093 #define GL_REG_4_ATI 0x8925
108094 #define GL_REG_5_ATI 0x8926
108095 #define GL_REG_6_ATI 0x8927
108096 #define GL_REG_7_ATI 0x8928
108097 #define GL_REG_8_ATI 0x8929
108098 #define GL_REG_9_ATI 0x892A
108099 #define GL_REG_10_ATI 0x892B
108100 #define GL_REG_11_ATI 0x892C
108101 #define GL_REG_12_ATI 0x892D
108102 #define GL_REG_13_ATI 0x892E
108103 #define GL_REG_14_ATI 0x892F
108104 #define GL_REG_15_ATI 0x8930
108105 #define GL_REG_16_ATI 0x8931
108106 #define GL_REG_17_ATI 0x8932
108107 #define GL_REG_18_ATI 0x8933
108108 #define GL_REG_19_ATI 0x8934
108109 #define GL_REG_20_ATI 0x8935
108110 #define GL_REG_21_ATI 0x8936
108111 #define GL_REG_22_ATI 0x8937
108112 #define GL_REG_23_ATI 0x8938
108113 #define GL_REG_24_ATI 0x8939
108114 #define GL_REG_25_ATI 0x893A
108115 #define GL_REG_26_ATI 0x893B
108116 #define GL_REG_27_ATI 0x893C
108117 #define GL_REG_28_ATI 0x893D
108118 #define GL_REG_29_ATI 0x893E
108119 #define GL_REG_30_ATI 0x893F
108120 #define GL_REG_31_ATI 0x8940
108121 #define GL_CON_0_ATI 0x8941
108122 #define GL_CON_1_ATI 0x8942
108123 #define GL_CON_2_ATI 0x8943
108124 #define GL_CON_3_ATI 0x8944
108125 #define GL_CON_4_ATI 0x8945
108126 #define GL_CON_5_ATI 0x8946
108127 #define GL_CON_6_ATI 0x8947
108128 #define GL_CON_7_ATI 0x8948
108129 #define GL_CON_8_ATI 0x8949
108130 #define GL_CON_9_ATI 0x894A
108131 #define GL_CON_10_ATI 0x894B
108132 #define GL_CON_11_ATI 0x894C
108133 #define GL_CON_12_ATI 0x894D
108134 #define GL_CON_13_ATI 0x894E
108135 #define GL_CON_14_ATI 0x894F
108136 #define GL_CON_15_ATI 0x8950
108137 #define GL_CON_16_ATI 0x8951
108138 #define GL_CON_17_ATI 0x8952
108139 #define GL_CON_18_ATI 0x8953
108140 #define GL_CON_19_ATI 0x8954
108141 #define GL_CON_20_ATI 0x8955
108142 #define GL_CON_21_ATI 0x8956
108143 #define GL_CON_22_ATI 0x8957
108144 #define GL_CON_23_ATI 0x8958
108145 #define GL_CON_24_ATI 0x8959
108146 #define GL_CON_25_ATI 0x895A
108147 #define GL_CON_26_ATI 0x895B
108148 #define GL_CON_27_ATI 0x895C
108149 #define GL_CON_28_ATI 0x895D
108150 #define GL_CON_29_ATI 0x895E
108151 #define GL_CON_30_ATI 0x895F
108152 #define GL_CON_31_ATI 0x8960
108153 #define GL_MOV_ATI 0x8961
108154 #define GL_ADD_ATI 0x8963
108155 #define GL_MUL_ATI 0x8964
108156 #define GL_SUB_ATI 0x8965
108157 #define GL_DOT3_ATI 0x8966
108158 #define GL_DOT4_ATI 0x8967
108159 #define GL_MAD_ATI 0x8968
108160 #define GL_LERP_ATI 0x8969
108161 #define GL_CND_ATI 0x896A
108162 #define GL_CND0_ATI 0x896B
108163 #define GL_DOT2_ADD_ATI 0x896C
108164 #define GL_SECONDARY_INTERPOLATOR_ATI 0x896D
108165 #define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
108166 #define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F
108167 #define GL_NUM_PASSES_ATI 0x8970
108168 #define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971
108169 #define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972
108170 #define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
108171 #define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974
108172 #define GL_COLOR_ALPHA_PAIRING_ATI 0x8975
108173 #define GL_SWIZZLE_STR_ATI 0x8976
108174 #define GL_SWIZZLE_STQ_ATI 0x8977
108175 #define GL_SWIZZLE_STR_DR_ATI 0x8978
108176 #define GL_SWIZZLE_STQ_DQ_ATI 0x8979
108177 #define GL_SWIZZLE_STRQ_ATI 0x897A
108178 #define GL_SWIZZLE_STRQ_DQ_ATI 0x897B
108179 #define GL_RED_BIT_ATI 0x00000001
108180 #define GL_GREEN_BIT_ATI 0x00000002
108181 #define GL_BLUE_BIT_ATI 0x00000004
108182 #define GL_2X_BIT_ATI 0x00000001
108183 #define GL_4X_BIT_ATI 0x00000002
108184 #define GL_8X_BIT_ATI 0x00000004
108185 #define GL_HALF_BIT_ATI 0x00000008
108186 #define GL_QUARTER_BIT_ATI 0x00000010
108187 #define GL_EIGHTH_BIT_ATI 0x00000020
108188 #define GL_SATURATE_BIT_ATI 0x00000040
108189 #define GL_COMP_BIT_ATI 0x00000002
108190 #define GL_NEGATE_BIT_ATI 0x00000004
108191 #define GL_BIAS_BIT_ATI 0x00000008
108192
108193
108194
108195 #define GL_PN_TRIANGLES_ATI 0x87F0
108196 #define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
108197 #define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2
108198 #define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3
108199 #define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4
108200 #define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5
108201 #define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6
108202 #define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7
108203 #define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8
108204
108205
108206
108207 #define GL_STATIC_ATI 0x8760
108208 #define GL_DYNAMIC_ATI 0x8761
108209 #define GL_PRESERVE_ATI 0x8762
108210 #define GL_DISCARD_ATI 0x8763
108211 #define GL_OBJECT_BUFFER_SIZE_ATI 0x8764
108212 #define GL_OBJECT_BUFFER_USAGE_ATI 0x8765
108213 #define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766
108214 #define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767
108215
108216
108217
108218 #define GL_VERTEX_SHADER_EXT 0x8780
108219 #define GL_VERTEX_SHADER_BINDING_EXT 0x8781
108220 #define GL_OP_INDEX_EXT 0x8782
108221 #define GL_OP_NEGATE_EXT 0x8783
108222 #define GL_OP_DOT3_EXT 0x8784
108223 #define GL_OP_DOT4_EXT 0x8785
108224 #define GL_OP_MUL_EXT 0x8786
108225 #define GL_OP_ADD_EXT 0x8787
108226 #define GL_OP_MADD_EXT 0x8788
108227 #define GL_OP_FRAC_EXT 0x8789
108228 #define GL_OP_MAX_EXT 0x878A
108229 #define GL_OP_MIN_EXT 0x878B
108230 #define GL_OP_SET_GE_EXT 0x878C
108231 #define GL_OP_SET_LT_EXT 0x878D
108232 #define GL_OP_CLAMP_EXT 0x878E
108233 #define GL_OP_FLOOR_EXT 0x878F
108234 #define GL_OP_ROUND_EXT 0x8790
108235 #define GL_OP_EXP_BASE_2_EXT 0x8791
108236 #define GL_OP_LOG_BASE_2_EXT 0x8792
108237 #define GL_OP_POWER_EXT 0x8793
108238 #define GL_OP_RECIP_EXT 0x8794
108239 #define GL_OP_RECIP_SQRT_EXT 0x8795
108240 #define GL_OP_SUB_EXT 0x8796
108241 #define GL_OP_CROSS_PRODUCT_EXT 0x8797
108242 #define GL_OP_MULTIPLY_MATRIX_EXT 0x8798
108243 #define GL_OP_MOV_EXT 0x8799
108244 #define GL_OUTPUT_VERTEX_EXT 0x879A
108245 #define GL_OUTPUT_COLOR0_EXT 0x879B
108246 #define GL_OUTPUT_COLOR1_EXT 0x879C
108247 #define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D
108248 #define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E
108249 #define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F
108250 #define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0
108251 #define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1
108252 #define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2
108253 #define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3
108254 #define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4
108255 #define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5
108256 #define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6
108257 #define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7
108258 #define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8
108259 #define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9
108260 #define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA
108261 #define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB
108262 #define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC
108263 #define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD
108264 #define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE
108265 #define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF
108266 #define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0
108267 #define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1
108268 #define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2
108269 #define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3
108270 #define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4
108271 #define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5
108272 #define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6
108273 #define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7
108274 #define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8
108275 #define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9
108276 #define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA
108277 #define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB
108278 #define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC
108279 #define GL_OUTPUT_FOG_EXT 0x87BD
108280 #define GL_SCALAR_EXT 0x87BE
108281 #define GL_VECTOR_EXT 0x87BF
108282 #define GL_MATRIX_EXT 0x87C0
108283 #define GL_VARIANT_EXT 0x87C1
108284 #define GL_INVARIANT_EXT 0x87C2
108285 #define GL_LOCAL_CONSTANT_EXT 0x87C3
108286 #define GL_LOCAL_EXT 0x87C4
108287 #define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5
108288 #define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6
108289 #define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7
108290 #define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8
108291 #define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9
108292 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA
108293 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB
108294 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC
108295 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CD
108296 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE
108297 #define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF
108298 #define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0
108299 #define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1
108300 #define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2
108301 #define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3
108302 #define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4
108303 #define GL_X_EXT 0x87D5
108304 #define GL_Y_EXT 0x87D6
108305 #define GL_Z_EXT 0x87D7
108306 #define GL_W_EXT 0x87D8
108307 #define GL_NEGATIVE_X_EXT 0x87D9
108308 #define GL_NEGATIVE_Y_EXT 0x87DA
108309 #define GL_NEGATIVE_Z_EXT 0x87DB
108310 #define GL_NEGATIVE_W_EXT 0x87DC
108311 #define GL_ZERO_EXT 0x87DD
108312 #define GL_ONE_EXT 0x87DE
108313 #define GL_NEGATIVE_ONE_EXT 0x87DF
108314 #define GL_NORMALIZED_RANGE_EXT 0x87E0
108315 #define GL_FULL_RANGE_EXT 0x87E1
108316 #define GL_CURRENT_VERTEX_EXT 0x87E2
108317 #define GL_MVP_MATRIX_EXT 0x87E3
108318 #define GL_VARIANT_VALUE_EXT 0x87E4
108319 #define GL_VARIANT_DATATYPE_EXT 0x87E5
108320 #define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6
108321 #define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7
108322 #define GL_VARIANT_ARRAY_EXT 0x87E8
108323 #define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9
108324 #define GL_INVARIANT_VALUE_EXT 0x87EA
108325 #define GL_INVARIANT_DATATYPE_EXT 0x87EB
108326 #define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC
108327 #define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED
108328
108329
108330
108331 #define GL_MAX_VERTEX_STREAMS_ATI 0x876B
108332 #define GL_VERTEX_STREAM0_ATI 0x876C
108333 #define GL_VERTEX_STREAM1_ATI 0x876D
108334 #define GL_VERTEX_STREAM2_ATI 0x876E
108335 #define GL_VERTEX_STREAM3_ATI 0x876F
108336 #define GL_VERTEX_STREAM4_ATI 0x8770
108337 #define GL_VERTEX_STREAM5_ATI 0x8771
108338 #define GL_VERTEX_STREAM6_ATI 0x8772
108339 #define GL_VERTEX_STREAM7_ATI 0x8773
108340 #define GL_VERTEX_SOURCE_ATI 0x8774
108341
108342
108343
108344 #define GL_ELEMENT_ARRAY_ATI 0x8768
108345 #define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769
108346 #define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A
108347
108348
108349
108350 #define GL_QUAD_MESH_SUN 0x8614
108351 #define GL_TRIANGLE_MESH_SUN 0x8615
108352
108353
108354
108355 #define GL_SLICE_ACCUM_SUN 0x85CC
108356
108357
108358
108359 #define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534
108360
108361
108362
108363 #define GL_DEPTH_CLAMP_NV 0x864F
108364
108365
108366
108367 #define GL_PIXEL_COUNTER_BITS_NV 0x8864
108368 #define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865
108369 #define GL_PIXEL_COUNT_NV 0x8866
108370 #define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867
108371
108372
108373
108374 #define GL_POINT_SPRITE_NV 0x8861
108375 #define GL_COORD_REPLACE_NV 0x8862
108376 #define GL_POINT_SPRITE_R_MODE_NV 0x8863
108377
108378
108379
108380 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
108381 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
108382 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
108383 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
108384 #define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854
108385 #define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
108386 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
108387 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
108388 #define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858
108389 #define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859
108390 #define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
108391 #define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B
108392 #define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C
108393 #define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
108394 #define GL_HILO8_NV 0x885E
108395 #define GL_SIGNED_HILO8_NV 0x885F
108396 #define GL_FORCE_BLUE_TO_ONE_NV 0x8860
108397 # 2765 "/usr/include/GL/glext.h" 3 4
108398 #define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
108399 #define GL_ACTIVE_STENCIL_FACE_EXT 0x8911
108400
108401
108402
108403 #define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200
108404
108405
108406
108407 #define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
108408
108409
108410
108411 #define GL_ELEMENT_ARRAY_APPLE 0x8768
108412 #define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8769
108413 #define GL_ELEMENT_ARRAY_POINTER_APPLE 0x876A
108414
108415
108416
108417 #define GL_DRAW_PIXELS_APPLE 0x8A0A
108418 #define GL_FENCE_APPLE 0x8A0B
108419
108420
108421
108422 #define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5
108423
108424
108425
108426 #define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D
108427 #define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E
108428 #define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F
108429 #define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521
108430 #define GL_STORAGE_CACHED_APPLE 0x85BE
108431 #define GL_STORAGE_SHARED_APPLE 0x85BF
108432
108433
108434
108435 #define GL_YCBCR_422_APPLE 0x85B9
108436 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
108437 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
108438
108439
108440
108441 #define GL_RGB_S3TC 0x83A0
108442 #define GL_RGB4_S3TC 0x83A1
108443 #define GL_RGBA_S3TC 0x83A2
108444 #define GL_RGBA4_S3TC 0x83A3
108445
108446
108447
108448 #define GL_MAX_DRAW_BUFFERS_ATI 0x8824
108449 #define GL_DRAW_BUFFER0_ATI 0x8825
108450 #define GL_DRAW_BUFFER1_ATI 0x8826
108451 #define GL_DRAW_BUFFER2_ATI 0x8827
108452 #define GL_DRAW_BUFFER3_ATI 0x8828
108453 #define GL_DRAW_BUFFER4_ATI 0x8829
108454 #define GL_DRAW_BUFFER5_ATI 0x882A
108455 #define GL_DRAW_BUFFER6_ATI 0x882B
108456 #define GL_DRAW_BUFFER7_ATI 0x882C
108457 #define GL_DRAW_BUFFER8_ATI 0x882D
108458 #define GL_DRAW_BUFFER9_ATI 0x882E
108459 #define GL_DRAW_BUFFER10_ATI 0x882F
108460 #define GL_DRAW_BUFFER11_ATI 0x8830
108461 #define GL_DRAW_BUFFER12_ATI 0x8831
108462 #define GL_DRAW_BUFFER13_ATI 0x8832
108463 #define GL_DRAW_BUFFER14_ATI 0x8833
108464 #define GL_DRAW_BUFFER15_ATI 0x8834
108465
108466
108467
108468 #define GL_TYPE_RGBA_FLOAT_ATI 0x8820
108469 #define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
108470
108471
108472
108473 #define GL_MODULATE_ADD_ATI 0x8744
108474 #define GL_MODULATE_SIGNED_ADD_ATI 0x8745
108475 #define GL_MODULATE_SUBTRACT_ATI 0x8746
108476
108477
108478
108479 #define GL_RGBA_FLOAT32_ATI 0x8814
108480 #define GL_RGB_FLOAT32_ATI 0x8815
108481 #define GL_ALPHA_FLOAT32_ATI 0x8816
108482 #define GL_INTENSITY_FLOAT32_ATI 0x8817
108483 #define GL_LUMINANCE_FLOAT32_ATI 0x8818
108484 #define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819
108485 #define GL_RGBA_FLOAT16_ATI 0x881A
108486 #define GL_RGB_FLOAT16_ATI 0x881B
108487 #define GL_ALPHA_FLOAT16_ATI 0x881C
108488 #define GL_INTENSITY_FLOAT16_ATI 0x881D
108489 #define GL_LUMINANCE_FLOAT16_ATI 0x881E
108490 #define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F
108491
108492
108493
108494 #define GL_FLOAT_R_NV 0x8880
108495 #define GL_FLOAT_RG_NV 0x8881
108496 #define GL_FLOAT_RGB_NV 0x8882
108497 #define GL_FLOAT_RGBA_NV 0x8883
108498 #define GL_FLOAT_R16_NV 0x8884
108499 #define GL_FLOAT_R32_NV 0x8885
108500 #define GL_FLOAT_RG16_NV 0x8886
108501 #define GL_FLOAT_RG32_NV 0x8887
108502 #define GL_FLOAT_RGB16_NV 0x8888
108503 #define GL_FLOAT_RGB32_NV 0x8889
108504 #define GL_FLOAT_RGBA16_NV 0x888A
108505 #define GL_FLOAT_RGBA32_NV 0x888B
108506 #define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C
108507 #define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D
108508 #define GL_FLOAT_RGBA_MODE_NV 0x888E
108509
108510
108511
108512 #define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
108513 #define GL_FRAGMENT_PROGRAM_NV 0x8870
108514 #define GL_MAX_TEXTURE_COORDS_NV 0x8871
108515 #define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872
108516 #define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873
108517 #define GL_PROGRAM_ERROR_STRING_NV 0x8874
108518
108519
108520
108521 #define GL_HALF_FLOAT_NV 0x140B
108522
108523
108524
108525 #define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878
108526 #define GL_READ_PIXEL_DATA_RANGE_NV 0x8879
108527 #define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A
108528 #define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B
108529 #define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C
108530 #define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D
108531
108532
108533
108534 #define GL_PRIMITIVE_RESTART_NV 0x8558
108535 #define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559
108536
108537
108538
108539 #define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F
108540 # 2916 "/usr/include/GL/glext.h" 3 4
108541 #define GL_STENCIL_BACK_FUNC_ATI 0x8800
108542 #define GL_STENCIL_BACK_FAIL_ATI 0x8801
108543 #define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
108544 #define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803
108545
108546
108547
108548
108549
108550
108551 #define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A
108552 #define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B
108553
108554
108555
108556 #define GL_DEPTH_BOUNDS_TEST_EXT 0x8890
108557 #define GL_DEPTH_BOUNDS_EXT 0x8891
108558
108559
108560
108561 #define GL_MIRROR_CLAMP_EXT 0x8742
108562 #define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743
108563 #define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912
108564
108565
108566
108567 #define GL_BLEND_EQUATION_RGB_EXT GL_BLEND_EQUATION
108568 #define GL_BLEND_EQUATION_ALPHA_EXT 0x883D
108569
108570
108571
108572 #define GL_PACK_INVERT_MESA 0x8758
108573
108574
108575
108576 #define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA
108577 #define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB
108578 #define GL_YCBCR_MESA 0x8757
108579
108580
108581
108582 #define GL_PIXEL_PACK_BUFFER_EXT 0x88EB
108583 #define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
108584 #define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
108585 #define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF
108586
108587
108588
108589
108590
108591
108592 #define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
108593 #define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
108594 #define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6
108595 #define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7
108596 #define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8
108597 # 2984 "/usr/include/GL/glext.h" 3 4
108598 #define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
108599 #define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
108600 #define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
108601 #define GL_RENDERBUFFER_BINDING_EXT 0x8CA7
108602 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
108603 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
108604 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
108605 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
108606 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
108607 #define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
108608 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
108609 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
108610 #define GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT 0x8CD8
108611 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
108612 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
108613 #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
108614 #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
108615 #define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
108616 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
108617 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
108618 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
108619 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
108620 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
108621 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
108622 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
108623 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
108624 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
108625 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
108626 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
108627 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
108628 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
108629 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
108630 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
108631 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
108632 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
108633 #define GL_DEPTH_ATTACHMENT_EXT 0x8D00
108634 #define GL_STENCIL_ATTACHMENT_EXT 0x8D20
108635 #define GL_FRAMEBUFFER_EXT 0x8D40
108636 #define GL_RENDERBUFFER_EXT 0x8D41
108637 #define GL_RENDERBUFFER_WIDTH_EXT 0x8D42
108638 #define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43
108639 #define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
108640 #define GL_STENCIL_INDEX1_EXT 0x8D46
108641 #define GL_STENCIL_INDEX4_EXT 0x8D47
108642 #define GL_STENCIL_INDEX8_EXT 0x8D48
108643 #define GL_STENCIL_INDEX16_EXT 0x8D49
108644 #define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50
108645 #define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51
108646 #define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52
108647 #define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
108648 #define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
108649 #define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55
108650 # 3044 "/usr/include/GL/glext.h" 3 4
108651 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
108652 # 3045 "/usr/include/GL/glext.h" 2 3 4
108653
108654
108655 typedef char GLchar;
108656
108657
108658
108659
108660 typedef ptrdiff_t GLintptr;
108661 typedef ptrdiff_t GLsizeiptr;
108662
108663
108664
108665
108666 typedef ptrdiff_t GLintptrARB;
108667 typedef ptrdiff_t GLsizeiptrARB;
108668
108669
108670
108671
108672 typedef char GLcharARB;
108673 typedef unsigned int GLhandleARB;
108674
108675
108676
108677
108678 typedef unsigned short GLhalfARB;
108679
108680
108681
108682 typedef unsigned short GLhalfNV;
108683
108684
108685
108686 #define GL_VERSION_1_2 1
108687 # 3119 "/usr/include/GL/glext.h" 3 4
108688 typedef void ( * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
108689 typedef void ( * PFNGLBLENDEQUATIONPROC) (GLenum mode);
108690 typedef void ( * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
108691 typedef void ( * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
108692 typedef void ( * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
108693 typedef void ( * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
108694 typedef void ( * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
108695 typedef void ( * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
108696 typedef void ( * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
108697 typedef void ( * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
108698 typedef void ( * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
108699 typedef void ( * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
108700 typedef void ( * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
108701 typedef void ( * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
108702 typedef void ( * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
108703 typedef void ( * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
108704 typedef void ( * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
108705 typedef void ( * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
108706 typedef void ( * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
108707 typedef void ( * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
108708 typedef void ( * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
108709 typedef void ( * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
108710 typedef void ( * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
108711 typedef void ( * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
108712 typedef void ( * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
108713 typedef void ( * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
108714 typedef void ( * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
108715 typedef void ( * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
108716 typedef void ( * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
108717 typedef void ( * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
108718 typedef void ( * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
108719 typedef void ( * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
108720 typedef void ( * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
108721 typedef void ( * PFNGLRESETHISTOGRAMPROC) (GLenum target);
108722 typedef void ( * PFNGLRESETMINMAXPROC) (GLenum target);
108723 typedef void ( * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
108724 typedef void ( * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
108725 typedef void ( * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
108726
108727
108728
108729 #define GL_VERSION_1_3 1
108730 # 3209 "/usr/include/GL/glext.h" 3 4
108731 typedef void ( * PFNGLACTIVETEXTUREPROC) (GLenum texture);
108732 typedef void ( * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
108733 typedef void ( * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
108734 typedef void ( * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
108735 typedef void ( * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
108736 typedef void ( * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
108737 typedef void ( * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
108738 typedef void ( * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
108739 typedef void ( * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
108740 typedef void ( * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
108741 typedef void ( * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
108742 typedef void ( * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
108743 typedef void ( * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
108744 typedef void ( * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
108745 typedef void ( * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
108746 typedef void ( * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
108747 typedef void ( * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
108748 typedef void ( * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
108749 typedef void ( * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
108750 typedef void ( * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
108751 typedef void ( * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
108752 typedef void ( * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
108753 typedef void ( * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
108754 typedef void ( * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
108755 typedef void ( * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
108756 typedef void ( * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
108757 typedef void ( * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
108758 typedef void ( * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
108759 typedef void ( * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
108760 typedef void ( * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
108761 typedef void ( * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
108762 typedef void ( * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
108763 typedef void ( * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
108764 typedef void ( * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
108765 typedef void ( * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
108766 typedef void ( * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
108767 typedef void ( * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
108768 typedef void ( * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
108769 typedef void ( * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
108770 typedef void ( * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
108771 typedef void ( * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
108772 typedef void ( * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
108773 typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
108774 typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
108775 typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
108776 typedef void ( * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);
108777
108778
108779
108780 #define GL_VERSION_1_4 1
108781 # 3306 "/usr/include/GL/glext.h" 3 4
108782 typedef void ( * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
108783 typedef void ( * PFNGLFOGCOORDFPROC) (GLfloat coord);
108784 typedef void ( * PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
108785 typedef void ( * PFNGLFOGCOORDDPROC) (GLdouble coord);
108786 typedef void ( * PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
108787 typedef void ( * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
108788 typedef void ( * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
108789 typedef void ( * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
108790 typedef void ( * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
108791 typedef void ( * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
108792 typedef void ( * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
108793 typedef void ( * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
108794 typedef void ( * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
108795 typedef void ( * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
108796 typedef void ( * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
108797 typedef void ( * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
108798 typedef void ( * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
108799 typedef void ( * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
108800 typedef void ( * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
108801 typedef void ( * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
108802 typedef void ( * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
108803 typedef void ( * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
108804 typedef void ( * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
108805 typedef void ( * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
108806 typedef void ( * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
108807 typedef void ( * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
108808 typedef void ( * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
108809 typedef void ( * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
108810 typedef void ( * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
108811 typedef void ( * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
108812 typedef void ( * PFNGLWINDOWPOS2DVPROC) (const GLdouble *v);
108813 typedef void ( * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
108814 typedef void ( * PFNGLWINDOWPOS2FVPROC) (const GLfloat *v);
108815 typedef void ( * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
108816 typedef void ( * PFNGLWINDOWPOS2IVPROC) (const GLint *v);
108817 typedef void ( * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
108818 typedef void ( * PFNGLWINDOWPOS2SVPROC) (const GLshort *v);
108819 typedef void ( * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
108820 typedef void ( * PFNGLWINDOWPOS3DVPROC) (const GLdouble *v);
108821 typedef void ( * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
108822 typedef void ( * PFNGLWINDOWPOS3FVPROC) (const GLfloat *v);
108823 typedef void ( * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
108824 typedef void ( * PFNGLWINDOWPOS3IVPROC) (const GLint *v);
108825 typedef void ( * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
108826 typedef void ( * PFNGLWINDOWPOS3SVPROC) (const GLshort *v);
108827
108828
108829
108830 #define GL_VERSION_1_5 1
108831 # 3376 "/usr/include/GL/glext.h" 3 4
108832 typedef void ( * PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
108833 typedef void ( * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
108834 typedef GLboolean ( * PFNGLISQUERYPROC) (GLuint id);
108835 typedef void ( * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
108836 typedef void ( * PFNGLENDQUERYPROC) (GLenum target);
108837 typedef void ( * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
108838 typedef void ( * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);
108839 typedef void ( * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
108840 typedef void ( * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
108841 typedef void ( * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
108842 typedef void ( * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
108843 typedef GLboolean ( * PFNGLISBUFFERPROC) (GLuint buffer);
108844 typedef void ( * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
108845 typedef void ( * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
108846 typedef void ( * PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
108847 typedef GLvoid* ( * PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
108848 typedef GLboolean ( * PFNGLUNMAPBUFFERPROC) (GLenum target);
108849 typedef void ( * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
108850 typedef void ( * PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params);
108851
108852
108853
108854 #define GL_VERSION_2_0 1
108855 # 3494 "/usr/include/GL/glext.h" 3 4
108856 typedef void ( * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
108857 typedef void ( * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
108858 typedef void ( * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
108859 typedef void ( * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
108860 typedef void ( * PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
108861 typedef void ( * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
108862 typedef void ( * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
108863 typedef void ( * PFNGLCOMPILESHADERPROC) (GLuint shader);
108864 typedef GLuint ( * PFNGLCREATEPROGRAMPROC) (void);
108865 typedef GLuint ( * PFNGLCREATESHADERPROC) (GLenum type);
108866 typedef void ( * PFNGLDELETEPROGRAMPROC) (GLuint program);
108867 typedef void ( * PFNGLDELETESHADERPROC) (GLuint shader);
108868 typedef void ( * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
108869 typedef void ( * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
108870 typedef void ( * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
108871 typedef void ( * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
108872 typedef void ( * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
108873 typedef void ( * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
108874 typedef GLint ( * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
108875 typedef void ( * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
108876 typedef void ( * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
108877 typedef void ( * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
108878 typedef void ( * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
108879 typedef void ( * PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
108880 typedef GLint ( * PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
108881 typedef void ( * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
108882 typedef void ( * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
108883 typedef void ( * PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);
108884 typedef void ( * PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
108885 typedef void ( * PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
108886 typedef void ( * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
108887 typedef GLboolean ( * PFNGLISPROGRAMPROC) (GLuint program);
108888 typedef GLboolean ( * PFNGLISSHADERPROC) (GLuint shader);
108889 typedef void ( * PFNGLLINKPROGRAMPROC) (GLuint program);
108890 typedef void ( * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
108891 typedef void ( * PFNGLUSEPROGRAMPROC) (GLuint program);
108892 typedef void ( * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
108893 typedef void ( * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
108894 typedef void ( * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
108895 typedef void ( * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
108896 typedef void ( * PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
108897 typedef void ( * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
108898 typedef void ( * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
108899 typedef void ( * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
108900 typedef void ( * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
108901 typedef void ( * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
108902 typedef void ( * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
108903 typedef void ( * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
108904 typedef void ( * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
108905 typedef void ( * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
108906 typedef void ( * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
108907 typedef void ( * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
108908 typedef void ( * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
108909 typedef void ( * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
108910 typedef void ( * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
108911 typedef void ( * PFNGLVALIDATEPROGRAMPROC) (GLuint program);
108912 typedef void ( * PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
108913 typedef void ( * PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);
108914 typedef void ( * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
108915 typedef void ( * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
108916 typedef void ( * PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
108917 typedef void ( * PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);
108918 typedef void ( * PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
108919 typedef void ( * PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);
108920 typedef void ( * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
108921 typedef void ( * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
108922 typedef void ( * PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
108923 typedef void ( * PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);
108924 typedef void ( * PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
108925 typedef void ( * PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);
108926 typedef void ( * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
108927 typedef void ( * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
108928 typedef void ( * PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
108929 typedef void ( * PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);
108930 typedef void ( * PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);
108931 typedef void ( * PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);
108932 typedef void ( * PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);
108933 typedef void ( * PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
108934 typedef void ( * PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);
108935 typedef void ( * PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);
108936 typedef void ( * PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);
108937 typedef void ( * PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);
108938 typedef void ( * PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
108939 typedef void ( * PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);
108940 typedef void ( * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
108941 typedef void ( * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
108942 typedef void ( * PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);
108943 typedef void ( * PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
108944 typedef void ( * PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);
108945 typedef void ( * PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);
108946 typedef void ( * PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);
108947 typedef void ( * PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);
108948 typedef void ( * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
108949
108950
108951
108952 #define GL_ARB_multitexture 1
108953 # 3627 "/usr/include/GL/glext.h" 3 4
108954 typedef void ( * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
108955 typedef void ( * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
108956 typedef void ( * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
108957 typedef void ( * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
108958 typedef void ( * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
108959 typedef void ( * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
108960 typedef void ( * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
108961 typedef void ( * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
108962 typedef void ( * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
108963 typedef void ( * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
108964 typedef void ( * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
108965 typedef void ( * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
108966 typedef void ( * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
108967 typedef void ( * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
108968 typedef void ( * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
108969 typedef void ( * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
108970 typedef void ( * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
108971 typedef void ( * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
108972 typedef void ( * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
108973 typedef void ( * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
108974 typedef void ( * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
108975 typedef void ( * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
108976 typedef void ( * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
108977 typedef void ( * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
108978 typedef void ( * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
108979 typedef void ( * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
108980 typedef void ( * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
108981 typedef void ( * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
108982 typedef void ( * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
108983 typedef void ( * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
108984 typedef void ( * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
108985 typedef void ( * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
108986 typedef void ( * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
108987 typedef void ( * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
108988
108989
108990
108991 #define GL_ARB_transpose_matrix 1
108992
108993
108994
108995
108996
108997
108998 typedef void ( * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
108999 typedef void ( * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
109000 typedef void ( * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
109001 typedef void ( * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
109002
109003
109004
109005 #define GL_ARB_multisample 1
109006
109007
109008
109009 typedef void ( * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
109010
109011
109012
109013 #define GL_ARB_texture_env_add 1
109014
109015
109016
109017 #define GL_ARB_texture_cube_map 1
109018
109019
109020
109021 #define GL_ARB_texture_compression 1
109022 # 3704 "/usr/include/GL/glext.h" 3 4
109023 typedef void ( * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
109024 typedef void ( * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
109025 typedef void ( * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
109026 typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
109027 typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
109028 typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
109029 typedef void ( * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, GLvoid *img);
109030
109031
109032
109033 #define GL_ARB_texture_border_clamp 1
109034
109035
109036
109037 #define GL_ARB_point_parameters 1
109038
109039
109040
109041
109042 typedef void ( * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
109043 typedef void ( * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);
109044
109045
109046
109047 #define GL_ARB_vertex_blend 1
109048 # 3741 "/usr/include/GL/glext.h" 3 4
109049 typedef void ( * PFNGLWEIGHTBVARBPROC) (GLint size, const GLbyte *weights);
109050 typedef void ( * PFNGLWEIGHTSVARBPROC) (GLint size, const GLshort *weights);
109051 typedef void ( * PFNGLWEIGHTIVARBPROC) (GLint size, const GLint *weights);
109052 typedef void ( * PFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat *weights);
109053 typedef void ( * PFNGLWEIGHTDVARBPROC) (GLint size, const GLdouble *weights);
109054 typedef void ( * PFNGLWEIGHTUBVARBPROC) (GLint size, const GLubyte *weights);
109055 typedef void ( * PFNGLWEIGHTUSVARBPROC) (GLint size, const GLushort *weights);
109056 typedef void ( * PFNGLWEIGHTUIVARBPROC) (GLint size, const GLuint *weights);
109057 typedef void ( * PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
109058 typedef void ( * PFNGLVERTEXBLENDARBPROC) (GLint count);
109059
109060
109061
109062 #define GL_ARB_matrix_palette 1
109063
109064
109065
109066
109067
109068
109069
109070 typedef void ( * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
109071 typedef void ( * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, const GLubyte *indices);
109072 typedef void ( * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, const GLushort *indices);
109073 typedef void ( * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, const GLuint *indices);
109074 typedef void ( * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
109075
109076
109077
109078 #define GL_ARB_texture_env_combine 1
109079
109080
109081
109082 #define GL_ARB_texture_env_crossbar 1
109083
109084
109085
109086 #define GL_ARB_texture_env_dot3 1
109087
109088
109089
109090 #define GL_ARB_texture_mirrored_repeat 1
109091
109092
109093
109094 #define GL_ARB_depth_texture 1
109095
109096
109097
109098 #define GL_ARB_shadow 1
109099
109100
109101
109102 #define GL_ARB_shadow_ambient 1
109103
109104
109105
109106 #define GL_ARB_window_pos 1
109107 # 3817 "/usr/include/GL/glext.h" 3 4
109108 typedef void ( * PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);
109109 typedef void ( * PFNGLWINDOWPOS2DVARBPROC) (const GLdouble *v);
109110 typedef void ( * PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);
109111 typedef void ( * PFNGLWINDOWPOS2FVARBPROC) (const GLfloat *v);
109112 typedef void ( * PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);
109113 typedef void ( * PFNGLWINDOWPOS2IVARBPROC) (const GLint *v);
109114 typedef void ( * PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);
109115 typedef void ( * PFNGLWINDOWPOS2SVARBPROC) (const GLshort *v);
109116 typedef void ( * PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);
109117 typedef void ( * PFNGLWINDOWPOS3DVARBPROC) (const GLdouble *v);
109118 typedef void ( * PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);
109119 typedef void ( * PFNGLWINDOWPOS3FVARBPROC) (const GLfloat *v);
109120 typedef void ( * PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);
109121 typedef void ( * PFNGLWINDOWPOS3IVARBPROC) (const GLint *v);
109122 typedef void ( * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);
109123 typedef void ( * PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);
109124
109125
109126
109127 #define GL_ARB_vertex_program 1
109128 # 3901 "/usr/include/GL/glext.h" 3 4
109129 typedef void ( * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
109130 typedef void ( * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);
109131 typedef void ( * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
109132 typedef void ( * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);
109133 typedef void ( * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
109134 typedef void ( * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);
109135 typedef void ( * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
109136 typedef void ( * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);
109137 typedef void ( * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
109138 typedef void ( * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);
109139 typedef void ( * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
109140 typedef void ( * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);
109141 typedef void ( * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
109142 typedef void ( * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);
109143 typedef void ( * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
109144 typedef void ( * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);
109145 typedef void ( * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
109146 typedef void ( * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);
109147 typedef void ( * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);
109148 typedef void ( * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);
109149 typedef void ( * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);
109150 typedef void ( * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
109151 typedef void ( * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);
109152 typedef void ( * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);
109153 typedef void ( * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);
109154 typedef void ( * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);
109155 typedef void ( * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
109156 typedef void ( * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);
109157 typedef void ( * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
109158 typedef void ( * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);
109159 typedef void ( * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);
109160 typedef void ( * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
109161 typedef void ( * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);
109162 typedef void ( * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);
109163 typedef void ( * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);
109164 typedef void ( * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);
109165 typedef void ( * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
109166 typedef void ( * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
109167 typedef void ( * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
109168 typedef void ( * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
109169 typedef void ( * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
109170 typedef void ( * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);
109171 typedef void ( * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);
109172 typedef void ( * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
109173 typedef void ( * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
109174 typedef void ( * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
109175 typedef void ( * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
109176 typedef void ( * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
109177 typedef void ( * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
109178 typedef void ( * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
109179 typedef void ( * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
109180 typedef void ( * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
109181 typedef void ( * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
109182 typedef void ( * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
109183 typedef void ( * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
109184 typedef void ( * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);
109185 typedef void ( * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string);
109186 typedef void ( * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);
109187 typedef void ( * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);
109188 typedef void ( * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);
109189 typedef void ( * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
109190 typedef GLboolean ( * PFNGLISPROGRAMARBPROC) (GLuint program);
109191
109192
109193
109194 #define GL_ARB_fragment_program 1
109195
109196
109197
109198
109199 #define GL_ARB_vertex_buffer_object 1
109200 # 3985 "/usr/include/GL/glext.h" 3 4
109201 typedef void ( * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
109202 typedef void ( * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);
109203 typedef void ( * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
109204 typedef GLboolean ( * PFNGLISBUFFERARBPROC) (GLuint buffer);
109205 typedef void ( * PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
109206 typedef void ( * PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
109207 typedef void ( * PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
109208 typedef GLvoid* ( * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
109209 typedef GLboolean ( * PFNGLUNMAPBUFFERARBPROC) (GLenum target);
109210 typedef void ( * PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);
109211 typedef void ( * PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params);
109212
109213
109214
109215 #define GL_ARB_occlusion_query 1
109216 # 4010 "/usr/include/GL/glext.h" 3 4
109217 typedef void ( * PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint *ids);
109218 typedef void ( * PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint *ids);
109219 typedef GLboolean ( * PFNGLISQUERYARBPROC) (GLuint id);
109220 typedef void ( * PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id);
109221 typedef void ( * PFNGLENDQUERYARBPROC) (GLenum target);
109222 typedef void ( * PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint *params);
109223 typedef void ( * PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint *params);
109224 typedef void ( * PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint *params);
109225
109226
109227
109228 #define GL_ARB_shader_objects 1
109229 # 4063 "/usr/include/GL/glext.h" 3 4
109230 typedef void ( * PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
109231 typedef GLhandleARB ( * PFNGLGETHANDLEARBPROC) (GLenum pname);
109232 typedef void ( * PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
109233 typedef GLhandleARB ( * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
109234 typedef void ( * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
109235 typedef void ( * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
109236 typedef GLhandleARB ( * PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
109237 typedef void ( * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
109238 typedef void ( * PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
109239 typedef void ( * PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
109240 typedef void ( * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
109241 typedef void ( * PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
109242 typedef void ( * PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
109243 typedef void ( * PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
109244 typedef void ( * PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
109245 typedef void ( * PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
109246 typedef void ( * PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
109247 typedef void ( * PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
109248 typedef void ( * PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
109249 typedef void ( * PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
109250 typedef void ( * PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
109251 typedef void ( * PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
109252 typedef void ( * PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
109253 typedef void ( * PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value);
109254 typedef void ( * PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value);
109255 typedef void ( * PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value);
109256 typedef void ( * PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value);
109257 typedef void ( * PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
109258 typedef void ( * PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
109259 typedef void ( * PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
109260 typedef void ( * PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);
109261 typedef void ( * PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
109262 typedef void ( * PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
109263 typedef void ( * PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
109264 typedef GLint ( * PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
109265 typedef void ( * PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
109266 typedef void ( * PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);
109267 typedef void ( * PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params);
109268 typedef void ( * PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
109269
109270
109271
109272 #define GL_ARB_vertex_shader 1
109273
109274
109275
109276
109277
109278 typedef void ( * PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name);
109279 typedef void ( * PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
109280 typedef GLint ( * PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
109281
109282
109283
109284 #define GL_ARB_fragment_shader 1
109285
109286
109287
109288 #define GL_ARB_shading_language_100 1
109289
109290
109291
109292 #define GL_ARB_texture_non_power_of_two 1
109293
109294
109295
109296 #define GL_ARB_point_sprite 1
109297
109298
109299
109300 #define GL_ARB_fragment_program_shadow 1
109301
109302
109303
109304 #define GL_ARB_draw_buffers 1
109305
109306
109307
109308 typedef void ( * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum *bufs);
109309
109310
109311
109312 #define GL_ARB_texture_rectangle 1
109313
109314
109315
109316 #define GL_ARB_color_buffer_float 1
109317
109318
109319
109320 typedef void ( * PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);
109321
109322
109323
109324 #define GL_ARB_half_float_pixel 1
109325
109326
109327
109328 #define GL_ARB_texture_float 1
109329
109330
109331
109332 #define GL_ARB_pixel_buffer_object 1
109333
109334
109335
109336 #define GL_EXT_abgr 1
109337
109338
109339
109340 #define GL_EXT_blend_color 1
109341
109342
109343
109344 typedef void ( * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
109345
109346
109347
109348 #define GL_EXT_polygon_offset 1
109349
109350
109351
109352 typedef void ( * PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias);
109353
109354
109355
109356 #define GL_EXT_texture 1
109357
109358
109359
109360 #define GL_EXT_texture3D 1
109361
109362
109363
109364
109365 typedef void ( * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
109366 typedef void ( * PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
109367
109368
109369
109370 #define GL_SGIS_texture_filter4 1
109371
109372
109373
109374
109375 typedef void ( * PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat *weights);
109376 typedef void ( * PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);
109377
109378
109379
109380 #define GL_EXT_subtexture 1
109381
109382
109383
109384
109385 typedef void ( * PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
109386 typedef void ( * PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
109387
109388
109389
109390 #define GL_EXT_copy_texture 1
109391
109392
109393
109394
109395
109396
109397
109398 typedef void ( * PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
109399 typedef void ( * PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
109400 typedef void ( * PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
109401 typedef void ( * PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
109402 typedef void ( * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
109403
109404
109405
109406 #define GL_EXT_histogram 1
109407 # 4252 "/usr/include/GL/glext.h" 3 4
109408 typedef void ( * PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
109409 typedef void ( * PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
109410 typedef void ( * PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
109411 typedef void ( * PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
109412 typedef void ( * PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
109413 typedef void ( * PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
109414 typedef void ( * PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
109415 typedef void ( * PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink);
109416 typedef void ( * PFNGLRESETHISTOGRAMEXTPROC) (GLenum target);
109417 typedef void ( * PFNGLRESETMINMAXEXTPROC) (GLenum target);
109418
109419
109420
109421 #define GL_EXT_convolution 1
109422 # 4281 "/usr/include/GL/glext.h" 3 4
109423 typedef void ( * PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
109424 typedef void ( * PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
109425 typedef void ( * PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat params);
109426 typedef void ( * PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
109427 typedef void ( * PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint params);
109428 typedef void ( * PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
109429 typedef void ( * PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
109430 typedef void ( * PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
109431 typedef void ( * PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
109432 typedef void ( * PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
109433 typedef void ( * PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
109434 typedef void ( * PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
109435 typedef void ( * PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
109436
109437
109438
109439 #define GL_EXT_color_matrix 1
109440
109441
109442
109443 #define GL_SGI_color_table 1
109444 # 4311 "/usr/include/GL/glext.h" 3 4
109445 typedef void ( * PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
109446 typedef void ( * PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat *params);
109447 typedef void ( * PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint *params);
109448 typedef void ( * PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
109449 typedef void ( * PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
109450 typedef void ( * PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat *params);
109451 typedef void ( * PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint *params);
109452
109453
109454
109455 #define GL_SGIX_pixel_texture 1
109456
109457
109458
109459 typedef void ( * PFNGLPIXELTEXGENSGIXPROC) (GLenum mode);
109460
109461
109462
109463 #define GL_SGIS_pixel_texture 1
109464 # 4338 "/usr/include/GL/glext.h" 3 4
109465 typedef void ( * PFNGLPIXELTEXGENPARAMETERISGISPROC) (GLenum pname, GLint param);
109466 typedef void ( * PFNGLPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, const GLint *params);
109467 typedef void ( * PFNGLPIXELTEXGENPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
109468 typedef void ( * PFNGLPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
109469 typedef void ( * PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, GLint *params);
109470 typedef void ( * PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, GLfloat *params);
109471
109472
109473
109474 #define GL_SGIS_texture4D 1
109475
109476
109477
109478
109479 typedef void ( * PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
109480 typedef void ( * PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);
109481
109482
109483
109484 #define GL_SGI_texture_color_table 1
109485
109486
109487
109488 #define GL_EXT_cmyka 1
109489
109490
109491
109492 #define GL_EXT_texture_object 1
109493 # 4374 "/usr/include/GL/glext.h" 3 4
109494 typedef GLboolean ( * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint *textures, GLboolean *residences);
109495 typedef void ( * PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);
109496 typedef void ( * PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint *textures);
109497 typedef void ( * PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint *textures);
109498 typedef GLboolean ( * PFNGLISTEXTUREEXTPROC) (GLuint texture);
109499 typedef void ( * PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint *textures, const GLclampf *priorities);
109500
109501
109502
109503 #define GL_SGIS_detail_texture 1
109504
109505
109506
109507
109508 typedef void ( * PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
109509 typedef void ( * PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
109510
109511
109512
109513 #define GL_SGIS_sharpen_texture 1
109514
109515
109516
109517
109518 typedef void ( * PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
109519 typedef void ( * PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
109520
109521
109522
109523 #define GL_EXT_packed_pixels 1
109524
109525
109526
109527 #define GL_SGIS_texture_lod 1
109528
109529
109530
109531 #define GL_SGIS_multisample 1
109532
109533
109534
109535
109536 typedef void ( * PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);
109537 typedef void ( * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);
109538
109539
109540
109541 #define GL_EXT_rescale_normal 1
109542
109543
109544
109545 #define GL_EXT_vertex_array 1
109546 # 4437 "/usr/include/GL/glext.h" 3 4
109547 typedef void ( * PFNGLARRAYELEMENTEXTPROC) (GLint i);
109548 typedef void ( * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
109549 typedef void ( * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
109550 typedef void ( * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
109551 typedef void ( * PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
109552 typedef void ( * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
109553 typedef void ( * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
109554 typedef void ( * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
109555 typedef void ( * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
109556
109557
109558
109559 #define GL_EXT_misc_attribute 1
109560
109561
109562
109563 #define GL_SGIS_generate_mipmap 1
109564
109565
109566
109567 #define GL_SGIX_clipmap 1
109568
109569
109570
109571 #define GL_SGIX_shadow 1
109572
109573
109574
109575 #define GL_SGIS_texture_edge_clamp 1
109576
109577
109578
109579 #define GL_SGIS_texture_border_clamp 1
109580
109581
109582
109583 #define GL_EXT_blend_minmax 1
109584
109585
109586
109587 typedef void ( * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
109588
109589
109590
109591 #define GL_EXT_blend_subtract 1
109592
109593
109594
109595 #define GL_EXT_blend_logic_op 1
109596
109597
109598
109599 #define GL_SGIX_interlace 1
109600
109601
109602
109603 #define GL_SGIX_pixel_tiles 1
109604
109605
109606
109607 #define GL_SGIX_texture_select 1
109608
109609
109610
109611 #define GL_SGIX_sprite 1
109612
109613
109614
109615
109616
109617
109618 typedef void ( * PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param);
109619 typedef void ( * PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, const GLfloat *params);
109620 typedef void ( * PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param);
109621 typedef void ( * PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, const GLint *params);
109622
109623
109624
109625 #define GL_SGIX_texture_multi_buffer 1
109626
109627
109628
109629 #define GL_EXT_point_parameters 1
109630
109631
109632
109633
109634 typedef void ( * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
109635 typedef void ( * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);
109636
109637
109638
109639 #define GL_SGIS_point_parameters 1
109640
109641
109642
109643
109644 typedef void ( * PFNGLPOINTPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
109645 typedef void ( * PFNGLPOINTPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
109646
109647
109648
109649 #define GL_SGIX_instruments 1
109650 # 4548 "/usr/include/GL/glext.h" 3 4
109651 typedef GLint ( * PFNGLGETINSTRUMENTSSGIXPROC) (void);
109652 typedef void ( * PFNGLINSTRUMENTSBUFFERSGIXPROC) (GLsizei size, GLint *buffer);
109653 typedef GLint ( * PFNGLPOLLINSTRUMENTSSGIXPROC) (GLint *marker_p);
109654 typedef void ( * PFNGLREADINSTRUMENTSSGIXPROC) (GLint marker);
109655 typedef void ( * PFNGLSTARTINSTRUMENTSSGIXPROC) (void);
109656 typedef void ( * PFNGLSTOPINSTRUMENTSSGIXPROC) (GLint marker);
109657
109658
109659
109660 #define GL_SGIX_texture_scale_bias 1
109661
109662
109663
109664 #define GL_SGIX_framezoom 1
109665
109666
109667
109668 typedef void ( * PFNGLFRAMEZOOMSGIXPROC) (GLint factor);
109669
109670
109671
109672 #define GL_SGIX_tag_sample_buffer 1
109673
109674
109675
109676 typedef void ( * PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);
109677
109678
109679
109680 #define GL_SGIX_polynomial_ffd 1
109681
109682
109683
109684
109685
109686
109687 typedef void ( * PFNGLDEFORMATIONMAP3DSGIXPROC) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);
109688 typedef void ( * PFNGLDEFORMATIONMAP3FSGIXPROC) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);
109689 typedef void ( * PFNGLDEFORMSGIXPROC) (GLbitfield mask);
109690 typedef void ( * PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask);
109691
109692
109693
109694 #define GL_SGIX_reference_plane 1
109695
109696
109697
109698 typedef void ( * PFNGLREFERENCEPLANESGIXPROC) (const GLdouble *equation);
109699
109700
109701
109702 #define GL_SGIX_flush_raster 1
109703
109704
109705
109706 typedef void ( * PFNGLFLUSHRASTERSGIXPROC) (void);
109707
109708
109709
109710 #define GL_SGIX_depth_texture 1
109711
109712
109713
109714 #define GL_SGIS_fog_function 1
109715
109716
109717
109718
109719 typedef void ( * PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat *points);
109720 typedef void ( * PFNGLGETFOGFUNCSGISPROC) (GLfloat *points);
109721
109722
109723
109724 #define GL_SGIX_fog_offset 1
109725
109726
109727
109728 #define GL_HP_image_transform 1
109729 # 4634 "/usr/include/GL/glext.h" 3 4
109730 typedef void ( * PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, GLint param);
109731 typedef void ( * PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, GLfloat param);
109732 typedef void ( * PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint *params);
109733 typedef void ( * PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat *params);
109734 typedef void ( * PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, GLint *params);
109735 typedef void ( * PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, GLfloat *params);
109736
109737
109738
109739 #define GL_HP_convolution_border_modes 1
109740
109741
109742
109743 #define GL_SGIX_texture_add_env 1
109744
109745
109746
109747 #define GL_EXT_color_subtable 1
109748
109749
109750
109751
109752 typedef void ( * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
109753 typedef void ( * PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
109754
109755
109756
109757 #define GL_PGI_vertex_hints 1
109758
109759
109760
109761 #define GL_PGI_misc_hints 1
109762
109763
109764
109765 typedef void ( * PFNGLHINTPGIPROC) (GLenum target, GLint mode);
109766
109767
109768
109769 #define GL_EXT_paletted_texture 1
109770
109771
109772
109773
109774
109775
109776 typedef void ( * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
109777 typedef void ( * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *data);
109778 typedef void ( * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
109779 typedef void ( * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
109780
109781
109782
109783 #define GL_EXT_clip_volume_hint 1
109784
109785
109786
109787 #define GL_SGIX_list_priority 1
109788 # 4700 "/usr/include/GL/glext.h" 3 4
109789 typedef void ( * PFNGLGETLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, GLfloat *params);
109790 typedef void ( * PFNGLGETLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, GLint *params);
109791 typedef void ( * PFNGLLISTPARAMETERFSGIXPROC) (GLuint list, GLenum pname, GLfloat param);
109792 typedef void ( * PFNGLLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, const GLfloat *params);
109793 typedef void ( * PFNGLLISTPARAMETERISGIXPROC) (GLuint list, GLenum pname, GLint param);
109794 typedef void ( * PFNGLLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, const GLint *params);
109795
109796
109797
109798 #define GL_SGIX_ir_instrument1 1
109799
109800
109801
109802 #define GL_SGIX_calligraphic_fragment 1
109803
109804
109805
109806 #define GL_SGIX_texture_lod_bias 1
109807
109808
109809
109810 #define GL_SGIX_shadow_ambient 1
109811
109812
109813
109814 #define GL_EXT_index_texture 1
109815
109816
109817
109818 #define GL_EXT_index_material 1
109819
109820
109821
109822 typedef void ( * PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode);
109823
109824
109825
109826 #define GL_EXT_index_func 1
109827
109828
109829
109830 typedef void ( * PFNGLINDEXFUNCEXTPROC) (GLenum func, GLclampf ref);
109831
109832
109833
109834 #define GL_EXT_index_array_formats 1
109835
109836
109837
109838 #define GL_EXT_compiled_vertex_array 1
109839
109840
109841
109842
109843 typedef void ( * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
109844 typedef void ( * PFNGLUNLOCKARRAYSEXTPROC) (void);
109845
109846
109847
109848 #define GL_EXT_cull_vertex 1
109849
109850
109851
109852
109853 typedef void ( * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble *params);
109854 typedef void ( * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat *params);
109855
109856
109857
109858 #define GL_SGIX_ycrcb 1
109859
109860
109861
109862 #define GL_SGIX_fragment_lighting 1
109863 # 4794 "/usr/include/GL/glext.h" 3 4
109864 typedef void ( * PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode);
109865 typedef void ( * PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param);
109866 typedef void ( * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);
109867 typedef void ( * PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param);
109868 typedef void ( * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);
109869 typedef void ( * PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param);
109870 typedef void ( * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params);
109871 typedef void ( * PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param);
109872 typedef void ( * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params);
109873 typedef void ( * PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, GLfloat param);
109874 typedef void ( * PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat *params);
109875 typedef void ( * PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, GLint param);
109876 typedef void ( * PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint *params);
109877 typedef void ( * PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat *params);
109878 typedef void ( * PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint *params);
109879 typedef void ( * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params);
109880 typedef void ( * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);
109881 typedef void ( * PFNGLLIGHTENVISGIXPROC) (GLenum pname, GLint param);
109882
109883
109884
109885 #define GL_IBM_rasterpos_clip 1
109886
109887
109888
109889 #define GL_HP_texture_lighting 1
109890
109891
109892
109893 #define GL_EXT_draw_range_elements 1
109894
109895
109896
109897 typedef void ( * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
109898
109899
109900
109901 #define GL_WIN_phong_shading 1
109902
109903
109904
109905 #define GL_WIN_specular_fog 1
109906
109907
109908
109909 #define GL_EXT_light_texture 1
109910
109911
109912
109913
109914
109915 typedef void ( * PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);
109916 typedef void ( * PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);
109917 typedef void ( * PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode);
109918
109919
109920
109921 #define GL_SGIX_blend_alpha_minmax 1
109922
109923
109924
109925 #define GL_EXT_bgra 1
109926
109927
109928
109929 #define GL_SGIX_async 1
109930 # 4868 "/usr/include/GL/glext.h" 3 4
109931 typedef void ( * PFNGLASYNCMARKERSGIXPROC) (GLuint marker);
109932 typedef GLint ( * PFNGLFINISHASYNCSGIXPROC) (GLuint *markerp);
109933 typedef GLint ( * PFNGLPOLLASYNCSGIXPROC) (GLuint *markerp);
109934 typedef GLuint ( * PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range);
109935 typedef void ( * PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range);
109936 typedef GLboolean ( * PFNGLISASYNCMARKERSGIXPROC) (GLuint marker);
109937
109938
109939
109940 #define GL_SGIX_async_pixel 1
109941
109942
109943
109944 #define GL_SGIX_async_histogram 1
109945
109946
109947
109948 #define GL_INTEL_parallel_arrays 1
109949
109950
109951
109952
109953
109954
109955 typedef void ( * PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
109956 typedef void ( * PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const GLvoid* *pointer);
109957 typedef void ( * PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
109958 typedef void ( * PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
109959
109960
109961
109962 #define GL_HP_occlusion_test 1
109963
109964
109965
109966 #define GL_EXT_pixel_transform 1
109967
109968
109969
109970
109971
109972
109973 typedef void ( * PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param);
109974 typedef void ( * PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param);
109975 typedef void ( * PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
109976 typedef void ( * PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
109977
109978
109979
109980 #define GL_EXT_pixel_transform_color_table 1
109981
109982
109983
109984 #define GL_EXT_shared_texture_palette 1
109985
109986
109987
109988 #define GL_EXT_separate_specular_color 1
109989
109990
109991
109992 #define GL_EXT_secondary_color 1
109993 # 4949 "/usr/include/GL/glext.h" 3 4
109994 typedef void ( * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
109995 typedef void ( * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
109996 typedef void ( * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
109997 typedef void ( * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
109998 typedef void ( * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
109999 typedef void ( * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
110000 typedef void ( * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
110001 typedef void ( * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
110002 typedef void ( * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
110003 typedef void ( * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
110004 typedef void ( * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
110005 typedef void ( * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
110006 typedef void ( * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
110007 typedef void ( * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
110008 typedef void ( * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
110009 typedef void ( * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
110010 typedef void ( * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
110011
110012
110013
110014 #define GL_EXT_texture_perturb_normal 1
110015
110016
110017
110018 typedef void ( * PFNGLTEXTURENORMALEXTPROC) (GLenum mode);
110019
110020
110021
110022 #define GL_EXT_multi_draw_arrays 1
110023
110024
110025
110026
110027 typedef void ( * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
110028 typedef void ( * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
110029
110030
110031
110032 #define GL_EXT_fog_coord 1
110033
110034
110035
110036
110037
110038
110039
110040 typedef void ( * PFNGLFOGCOORDFEXTPROC) (GLfloat coord);
110041 typedef void ( * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);
110042 typedef void ( * PFNGLFOGCOORDDEXTPROC) (GLdouble coord);
110043 typedef void ( * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);
110044 typedef void ( * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
110045
110046
110047
110048 #define GL_REND_screen_coordinates 1
110049
110050
110051
110052 #define GL_EXT_coordinate_frame 1
110053 # 5032 "/usr/include/GL/glext.h" 3 4
110054 typedef void ( * PFNGLTANGENT3BEXTPROC) (GLbyte tx, GLbyte ty, GLbyte tz);
110055 typedef void ( * PFNGLTANGENT3BVEXTPROC) (const GLbyte *v);
110056 typedef void ( * PFNGLTANGENT3DEXTPROC) (GLdouble tx, GLdouble ty, GLdouble tz);
110057 typedef void ( * PFNGLTANGENT3DVEXTPROC) (const GLdouble *v);
110058 typedef void ( * PFNGLTANGENT3FEXTPROC) (GLfloat tx, GLfloat ty, GLfloat tz);
110059 typedef void ( * PFNGLTANGENT3FVEXTPROC) (const GLfloat *v);
110060 typedef void ( * PFNGLTANGENT3IEXTPROC) (GLint tx, GLint ty, GLint tz);
110061 typedef void ( * PFNGLTANGENT3IVEXTPROC) (const GLint *v);
110062 typedef void ( * PFNGLTANGENT3SEXTPROC) (GLshort tx, GLshort ty, GLshort tz);
110063 typedef void ( * PFNGLTANGENT3SVEXTPROC) (const GLshort *v);
110064 typedef void ( * PFNGLBINORMAL3BEXTPROC) (GLbyte bx, GLbyte by, GLbyte bz);
110065 typedef void ( * PFNGLBINORMAL3BVEXTPROC) (const GLbyte *v);
110066 typedef void ( * PFNGLBINORMAL3DEXTPROC) (GLdouble bx, GLdouble by, GLdouble bz);
110067 typedef void ( * PFNGLBINORMAL3DVEXTPROC) (const GLdouble *v);
110068 typedef void ( * PFNGLBINORMAL3FEXTPROC) (GLfloat bx, GLfloat by, GLfloat bz);
110069 typedef void ( * PFNGLBINORMAL3FVEXTPROC) (const GLfloat *v);
110070 typedef void ( * PFNGLBINORMAL3IEXTPROC) (GLint bx, GLint by, GLint bz);
110071 typedef void ( * PFNGLBINORMAL3IVEXTPROC) (const GLint *v);
110072 typedef void ( * PFNGLBINORMAL3SEXTPROC) (GLshort bx, GLshort by, GLshort bz);
110073 typedef void ( * PFNGLBINORMAL3SVEXTPROC) (const GLshort *v);
110074 typedef void ( * PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
110075 typedef void ( * PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
110076
110077
110078
110079 #define GL_EXT_texture_env_combine 1
110080
110081
110082
110083 #define GL_APPLE_specular_vector 1
110084
110085
110086
110087 #define GL_APPLE_transform_hint 1
110088
110089
110090
110091 #define GL_SGIX_fog_scale 1
110092
110093
110094
110095 #define GL_SUNX_constant_data 1
110096
110097
110098
110099 typedef void ( * PFNGLFINISHTEXTURESUNXPROC) (void);
110100
110101
110102
110103 #define GL_SUN_global_alpha 1
110104 # 5092 "/usr/include/GL/glext.h" 3 4
110105 typedef void ( * PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor);
110106 typedef void ( * PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor);
110107 typedef void ( * PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor);
110108 typedef void ( * PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor);
110109 typedef void ( * PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor);
110110 typedef void ( * PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor);
110111 typedef void ( * PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor);
110112 typedef void ( * PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor);
110113
110114
110115
110116 #define GL_SUN_triangle_list 1
110117 # 5113 "/usr/include/GL/glext.h" 3 4
110118 typedef void ( * PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code);
110119 typedef void ( * PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code);
110120 typedef void ( * PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code);
110121 typedef void ( * PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint *code);
110122 typedef void ( * PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort *code);
110123 typedef void ( * PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte *code);
110124 typedef void ( * PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const GLvoid* *pointer);
110125
110126
110127
110128 #define GL_SUN_vertex 1
110129 # 5166 "/usr/include/GL/glext.h" 3 4
110130 typedef void ( * PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
110131 typedef void ( * PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte *c, const GLfloat *v);
110132 typedef void ( * PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
110133 typedef void ( * PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte *c, const GLfloat *v);
110134 typedef void ( * PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
110135 typedef void ( * PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *v);
110136 typedef void ( * PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
110137 typedef void ( * PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *n, const GLfloat *v);
110138 typedef void ( * PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
110139 typedef void ( * PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *n, const GLfloat *v);
110140 typedef void ( * PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
110141 typedef void ( * PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
110142 typedef void ( * PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
110143 typedef void ( * PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
110144 typedef void ( * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
110145 typedef void ( * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat *tc, const GLubyte *c, const GLfloat *v);
110146 typedef void ( * PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
110147 typedef void ( * PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *v);
110148 typedef void ( * PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
110149 typedef void ( * PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *n, const GLfloat *v);
110150 typedef void ( * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
110151 typedef void ( * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
110152 typedef void ( * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
110153 typedef void ( * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
110154 typedef void ( * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z);
110155 typedef void ( * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *v);
110156 typedef void ( * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
110157 typedef void ( * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint *rc, const GLubyte *c, const GLfloat *v);
110158 typedef void ( * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
110159 typedef void ( * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *v);
110160 typedef void ( * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
110161 typedef void ( * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *n, const GLfloat *v);
110162 typedef void ( * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
110163 typedef void ( * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
110164 typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
110165 typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *v);
110166 typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
110167 typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
110168 typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
110169 typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
110170
110171
110172
110173 #define GL_EXT_blend_func_separate 1
110174
110175
110176
110177 typedef void ( * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
110178
110179
110180
110181 #define GL_INGR_blend_func_separate 1
110182
110183
110184
110185 typedef void ( * PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
110186
110187
110188
110189 #define GL_INGR_color_clamp 1
110190
110191
110192
110193 #define GL_INGR_interlace_read 1
110194
110195
110196
110197 #define GL_EXT_stencil_wrap 1
110198
110199
110200
110201 #define GL_EXT_422_pixels 1
110202
110203
110204
110205 #define GL_NV_texgen_reflection 1
110206
110207
110208
110209 #define GL_SUN_convolution_border_modes 1
110210
110211
110212
110213 #define GL_EXT_texture_env_add 1
110214
110215
110216
110217 #define GL_EXT_texture_lod_bias 1
110218
110219
110220
110221 #define GL_EXT_texture_filter_anisotropic 1
110222
110223
110224
110225 #define GL_EXT_vertex_weighting 1
110226
110227
110228
110229
110230
110231 typedef void ( * PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
110232 typedef void ( * PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);
110233 typedef void ( * PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
110234
110235
110236
110237 #define GL_NV_light_max_exponent 1
110238
110239
110240
110241 #define GL_NV_vertex_array_range 1
110242
110243
110244
110245
110246 typedef void ( * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
110247 typedef void ( * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, const GLvoid *pointer);
110248
110249
110250
110251 #define GL_NV_register_combiners 1
110252 # 5303 "/usr/include/GL/glext.h" 3 4
110253 typedef void ( * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
110254 typedef void ( * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
110255 typedef void ( * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
110256 typedef void ( * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
110257 typedef void ( * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
110258 typedef void ( * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
110259 typedef void ( * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
110260 typedef void ( * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
110261 typedef void ( * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
110262 typedef void ( * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
110263 typedef void ( * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
110264 typedef void ( * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
110265 typedef void ( * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);
110266
110267
110268
110269 #define GL_NV_fog_distance 1
110270
110271
110272
110273 #define GL_NV_texgen_emboss 1
110274
110275
110276
110277 #define GL_NV_blend_square 1
110278
110279
110280
110281 #define GL_NV_texture_env_combine4 1
110282
110283
110284
110285 #define GL_MESA_resize_buffers 1
110286
110287
110288
110289 typedef void ( * PFNGLRESIZEBUFFERSMESAPROC) (void);
110290
110291
110292
110293 #define GL_MESA_window_pos 1
110294 # 5370 "/usr/include/GL/glext.h" 3 4
110295 typedef void ( * PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);
110296 typedef void ( * PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble *v);
110297 typedef void ( * PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y);
110298 typedef void ( * PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat *v);
110299 typedef void ( * PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y);
110300 typedef void ( * PFNGLWINDOWPOS2IVMESAPROC) (const GLint *v);
110301 typedef void ( * PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y);
110302 typedef void ( * PFNGLWINDOWPOS2SVMESAPROC) (const GLshort *v);
110303 typedef void ( * PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z);
110304 typedef void ( * PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble *v);
110305 typedef void ( * PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z);
110306 typedef void ( * PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat *v);
110307 typedef void ( * PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z);
110308 typedef void ( * PFNGLWINDOWPOS3IVMESAPROC) (const GLint *v);
110309 typedef void ( * PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z);
110310 typedef void ( * PFNGLWINDOWPOS3SVMESAPROC) (const GLshort *v);
110311 typedef void ( * PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
110312 typedef void ( * PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble *v);
110313 typedef void ( * PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
110314 typedef void ( * PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat *v);
110315 typedef void ( * PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w);
110316 typedef void ( * PFNGLWINDOWPOS4IVMESAPROC) (const GLint *v);
110317 typedef void ( * PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w);
110318 typedef void ( * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort *v);
110319
110320
110321
110322 #define GL_IBM_cull_vertex 1
110323
110324
110325
110326 #define GL_IBM_multimode_draw_arrays 1
110327
110328
110329
110330
110331 typedef void ( * PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);
110332 typedef void ( * PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount, GLint modestride);
110333
110334
110335
110336 #define GL_IBM_vertex_array_lists 1
110337 # 5422 "/usr/include/GL/glext.h" 3 4
110338 typedef void ( * PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
110339 typedef void ( * PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
110340 typedef void ( * PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean* *pointer, GLint ptrstride);
110341 typedef void ( * PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
110342 typedef void ( * PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
110343 typedef void ( * PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
110344 typedef void ( * PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
110345 typedef void ( * PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
110346
110347
110348
110349 #define GL_SGIX_subsample 1
110350
110351
110352
110353 #define GL_SGIX_ycrcba 1
110354
110355
110356
110357 #define GL_SGIX_ycrcb_subsample 1
110358
110359
110360
110361 #define GL_SGIX_depth_pass_instrument 1
110362
110363
110364
110365 #define GL_3DFX_texture_compression_FXT1 1
110366
110367
110368
110369 #define GL_3DFX_multisample 1
110370
110371
110372
110373 #define GL_3DFX_tbuffer 1
110374
110375
110376
110377 typedef void ( * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
110378
110379
110380
110381 #define GL_EXT_multisample 1
110382
110383
110384
110385
110386 typedef void ( * PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert);
110387 typedef void ( * PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);
110388
110389
110390
110391 #define GL_SGIX_vertex_preclip 1
110392
110393
110394
110395 #define GL_SGIX_convolution_accuracy 1
110396
110397
110398
110399 #define GL_SGIX_resample 1
110400
110401
110402
110403 #define GL_SGIS_point_line_texgen 1
110404
110405
110406
110407 #define GL_SGIS_texture_color_mask 1
110408
110409
110410
110411 typedef void ( * PFNGLTEXTURECOLORMASKSGISPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
110412
110413
110414
110415 #define GL_SGIX_igloo_interface 1
110416
110417
110418
110419 typedef void ( * PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const GLvoid *params);
110420
110421
110422
110423 #define GL_EXT_texture_env_dot3 1
110424
110425
110426
110427 #define GL_ATI_texture_mirror_once 1
110428
110429
110430
110431 #define GL_NV_fence 1
110432 # 5525 "/usr/include/GL/glext.h" 3 4
110433 typedef void ( * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
110434 typedef void ( * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
110435 typedef GLboolean ( * PFNGLISFENCENVPROC) (GLuint fence);
110436 typedef GLboolean ( * PFNGLTESTFENCENVPROC) (GLuint fence);
110437 typedef void ( * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
110438 typedef void ( * PFNGLFINISHFENCENVPROC) (GLuint fence);
110439 typedef void ( * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
110440
110441
110442
110443 #define GL_NV_evaluators 1
110444 # 5547 "/usr/include/GL/glext.h" 3 4
110445 typedef void ( * PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);
110446 typedef void ( * PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint *params);
110447 typedef void ( * PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat *params);
110448 typedef void ( * PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);
110449 typedef void ( * PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint *params);
110450 typedef void ( * PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat *params);
110451 typedef void ( * PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
110452 typedef void ( * PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
110453 typedef void ( * PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode);
110454
110455
110456
110457 #define GL_NV_packed_depth_stencil 1
110458
110459
110460
110461 #define GL_NV_register_combiners2 1
110462
110463
110464
110465
110466 typedef void ( * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
110467 typedef void ( * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
110468
110469
110470
110471 #define GL_NV_texture_compression_vtc 1
110472
110473
110474
110475 #define GL_NV_texture_rectangle 1
110476
110477
110478
110479 #define GL_NV_texture_shader 1
110480
110481
110482
110483 #define GL_NV_texture_shader2 1
110484
110485
110486
110487 #define GL_NV_vertex_array_range2 1
110488
110489
110490
110491 #define GL_NV_vertex_program 1
110492 # 5660 "/usr/include/GL/glext.h" 3 4
110493 typedef GLboolean ( * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
110494 typedef void ( * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
110495 typedef void ( * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
110496 typedef void ( * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
110497 typedef void ( * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
110498 typedef void ( * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
110499 typedef void ( * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
110500 typedef void ( * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
110501 typedef void ( * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
110502 typedef void ( * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
110503 typedef void ( * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
110504 typedef void ( * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
110505 typedef void ( * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
110506 typedef void ( * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
110507 typedef GLboolean ( * PFNGLISPROGRAMNVPROC) (GLuint id);
110508 typedef void ( * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
110509 typedef void ( * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
110510 typedef void ( * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
110511 typedef void ( * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
110512 typedef void ( * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
110513 typedef void ( * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLuint count, const GLdouble *v);
110514 typedef void ( * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLuint count, const GLfloat *v);
110515 typedef void ( * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
110516 typedef void ( * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
110517 typedef void ( * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
110518 typedef void ( * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
110519 typedef void ( * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
110520 typedef void ( * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
110521 typedef void ( * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
110522 typedef void ( * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
110523 typedef void ( * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
110524 typedef void ( * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
110525 typedef void ( * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
110526 typedef void ( * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
110527 typedef void ( * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
110528 typedef void ( * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
110529 typedef void ( * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
110530 typedef void ( * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
110531 typedef void ( * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
110532 typedef void ( * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
110533 typedef void ( * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
110534 typedef void ( * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
110535 typedef void ( * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
110536 typedef void ( * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
110537 typedef void ( * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
110538 typedef void ( * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
110539 typedef void ( * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
110540 typedef void ( * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
110541 typedef void ( * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
110542 typedef void ( * PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
110543 typedef void ( * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
110544 typedef void ( * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
110545 typedef void ( * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
110546 typedef void ( * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
110547 typedef void ( * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
110548 typedef void ( * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
110549 typedef void ( * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
110550 typedef void ( * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
110551 typedef void ( * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
110552 typedef void ( * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
110553 typedef void ( * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
110554 typedef void ( * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
110555 typedef void ( * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
110556 typedef void ( * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
110557
110558
110559
110560 #define GL_SGIX_texture_coordinate_clamp 1
110561
110562
110563
110564 #define GL_SGIX_scalebias_hint 1
110565
110566
110567
110568 #define GL_OML_interlace 1
110569
110570
110571
110572 #define GL_OML_subsample 1
110573
110574
110575
110576 #define GL_OML_resample 1
110577
110578
110579
110580 #define GL_NV_copy_depth_to_color 1
110581
110582
110583
110584 #define GL_ATI_envmap_bumpmap 1
110585
110586
110587
110588
110589
110590
110591 typedef void ( * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, const GLint *param);
110592 typedef void ( * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, const GLfloat *param);
110593 typedef void ( * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
110594 typedef void ( * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
110595
110596
110597
110598 #define GL_ATI_fragment_shader 1
110599 # 5782 "/usr/include/GL/glext.h" 3 4
110600 typedef GLuint ( * PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range);
110601 typedef void ( * PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id);
110602 typedef void ( * PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id);
110603 typedef void ( * PFNGLBEGINFRAGMENTSHADERATIPROC) (void);
110604 typedef void ( * PFNGLENDFRAGMENTSHADERATIPROC) (void);
110605 typedef void ( * PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);
110606 typedef void ( * PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);
110607 typedef void ( * PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
110608 typedef void ( * PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
110609 typedef void ( * PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
110610 typedef void ( * PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
110611 typedef void ( * PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
110612 typedef void ( * PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
110613 typedef void ( * PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat *value);
110614
110615
110616
110617 #define GL_ATI_pn_triangles 1
110618
110619
110620
110621
110622 typedef void ( * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);
110623 typedef void ( * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);
110624
110625
110626
110627 #define GL_ATI_vertex_array_object 1
110628 # 5824 "/usr/include/GL/glext.h" 3 4
110629 typedef GLuint ( * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);
110630 typedef GLboolean ( * PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
110631 typedef void ( * PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
110632 typedef void ( * PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);
110633 typedef void ( * PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);
110634 typedef void ( * PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer);
110635 typedef void ( * PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
110636 typedef void ( * PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);
110637 typedef void ( * PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);
110638 typedef void ( * PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
110639 typedef void ( * PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);
110640 typedef void ( * PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);
110641
110642
110643
110644 #define GL_EXT_vertex_shader 1
110645 # 5884 "/usr/include/GL/glext.h" 3 4
110646 typedef void ( * PFNGLBEGINVERTEXSHADEREXTPROC) (void);
110647 typedef void ( * PFNGLENDVERTEXSHADEREXTPROC) (void);
110648 typedef void ( * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);
110649 typedef GLuint ( * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);
110650 typedef void ( * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);
110651 typedef void ( * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
110652 typedef void ( * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
110653 typedef void ( * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
110654 typedef void ( * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
110655 typedef void ( * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
110656 typedef void ( * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
110657 typedef void ( * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
110658 typedef GLuint ( * PFNGLGENSYMBOLSEXTPROC) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
110659 typedef void ( * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);
110660 typedef void ( * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);
110661 typedef void ( * PFNGLVARIANTBVEXTPROC) (GLuint id, const GLbyte *addr);
110662 typedef void ( * PFNGLVARIANTSVEXTPROC) (GLuint id, const GLshort *addr);
110663 typedef void ( * PFNGLVARIANTIVEXTPROC) (GLuint id, const GLint *addr);
110664 typedef void ( * PFNGLVARIANTFVEXTPROC) (GLuint id, const GLfloat *addr);
110665 typedef void ( * PFNGLVARIANTDVEXTPROC) (GLuint id, const GLdouble *addr);
110666 typedef void ( * PFNGLVARIANTUBVEXTPROC) (GLuint id, const GLubyte *addr);
110667 typedef void ( * PFNGLVARIANTUSVEXTPROC) (GLuint id, const GLushort *addr);
110668 typedef void ( * PFNGLVARIANTUIVEXTPROC) (GLuint id, const GLuint *addr);
110669 typedef void ( * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, const GLvoid *addr);
110670 typedef void ( * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
110671 typedef void ( * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
110672 typedef GLuint ( * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);
110673 typedef GLuint ( * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);
110674 typedef GLuint ( * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value);
110675 typedef GLuint ( * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);
110676 typedef GLuint ( * PFNGLBINDPARAMETEREXTPROC) (GLenum value);
110677 typedef GLboolean ( * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);
110678 typedef void ( * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
110679 typedef void ( * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
110680 typedef void ( * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
110681 typedef void ( * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid* *data);
110682 typedef void ( * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
110683 typedef void ( * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
110684 typedef void ( * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
110685 typedef void ( * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
110686 typedef void ( * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
110687 typedef void ( * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
110688
110689
110690
110691 #define GL_ATI_vertex_streams 1
110692 # 5977 "/usr/include/GL/glext.h" 3 4
110693 typedef void ( * PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x);
110694 typedef void ( * PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords);
110695 typedef void ( * PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x);
110696 typedef void ( * PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords);
110697 typedef void ( * PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x);
110698 typedef void ( * PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords);
110699 typedef void ( * PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x);
110700 typedef void ( * PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords);
110701 typedef void ( * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
110702 typedef void ( * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords);
110703 typedef void ( * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
110704 typedef void ( * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords);
110705 typedef void ( * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
110706 typedef void ( * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords);
110707 typedef void ( * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
110708 typedef void ( * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords);
110709 typedef void ( * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
110710 typedef void ( * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
110711 typedef void ( * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
110712 typedef void ( * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
110713 typedef void ( * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
110714 typedef void ( * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
110715 typedef void ( * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
110716 typedef void ( * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
110717 typedef void ( * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
110718 typedef void ( * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords);
110719 typedef void ( * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
110720 typedef void ( * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords);
110721 typedef void ( * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
110722 typedef void ( * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords);
110723 typedef void ( * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
110724 typedef void ( * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords);
110725 typedef void ( * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);
110726 typedef void ( * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords);
110727 typedef void ( * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort nx, GLshort ny, GLshort nz);
110728 typedef void ( * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
110729 typedef void ( * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint nx, GLint ny, GLint nz);
110730 typedef void ( * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
110731 typedef void ( * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);
110732 typedef void ( * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
110733 typedef void ( * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);
110734 typedef void ( * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
110735 typedef void ( * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
110736 typedef void ( * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
110737 typedef void ( * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
110738
110739
110740
110741 #define GL_ATI_element_array 1
110742
110743
110744
110745
110746
110747 typedef void ( * PFNGLELEMENTPOINTERATIPROC) (GLenum type, const GLvoid *pointer);
110748 typedef void ( * PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count);
110749 typedef void ( * PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);
110750
110751
110752
110753 #define GL_SUN_mesh_array 1
110754
110755
110756
110757 typedef void ( * PFNGLDRAWMESHARRAYSSUNPROC) (GLenum mode, GLint first, GLsizei count, GLsizei width);
110758
110759
110760
110761 #define GL_SUN_slice_accum 1
110762
110763
110764
110765 #define GL_NV_multisample_filter_hint 1
110766
110767
110768
110769 #define GL_NV_depth_clamp 1
110770
110771
110772
110773 #define GL_NV_occlusion_query 1
110774 # 6067 "/usr/include/GL/glext.h" 3 4
110775 typedef void ( * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
110776 typedef void ( * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
110777 typedef GLboolean ( * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
110778 typedef void ( * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
110779 typedef void ( * PFNGLENDOCCLUSIONQUERYNVPROC) (void);
110780 typedef void ( * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
110781 typedef void ( * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
110782
110783
110784
110785 #define GL_NV_point_sprite 1
110786
110787
110788
110789
110790 typedef void ( * PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);
110791 typedef void ( * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
110792
110793
110794
110795 #define GL_NV_texture_shader3 1
110796
110797
110798
110799 #define GL_NV_vertex_program1_1 1
110800
110801
110802
110803 #define GL_EXT_shadow_funcs 1
110804
110805
110806
110807 #define GL_EXT_stencil_two_side 1
110808
110809
110810
110811 typedef void ( * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);
110812
110813
110814
110815 #define GL_ATI_text_fragment_shader 1
110816
110817
110818
110819 #define GL_APPLE_client_storage 1
110820
110821
110822
110823 #define GL_APPLE_element_array 1
110824
110825
110826
110827
110828
110829
110830
110831 typedef void ( * PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const GLvoid *pointer);
110832 typedef void ( * PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count);
110833 typedef void ( * PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
110834 typedef void ( * PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
110835 typedef void ( * PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
110836
110837
110838
110839 #define GL_APPLE_fence 1
110840 # 6142 "/usr/include/GL/glext.h" 3 4
110841 typedef void ( * PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint *fences);
110842 typedef void ( * PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint *fences);
110843 typedef void ( * PFNGLSETFENCEAPPLEPROC) (GLuint fence);
110844 typedef GLboolean ( * PFNGLISFENCEAPPLEPROC) (GLuint fence);
110845 typedef GLboolean ( * PFNGLTESTFENCEAPPLEPROC) (GLuint fence);
110846 typedef void ( * PFNGLFINISHFENCEAPPLEPROC) (GLuint fence);
110847 typedef GLboolean ( * PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name);
110848 typedef void ( * PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name);
110849
110850
110851
110852 #define GL_APPLE_vertex_array_object 1
110853
110854
110855
110856
110857
110858
110859 typedef void ( * PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);
110860 typedef void ( * PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays);
110861 typedef void ( * PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays);
110862 typedef GLboolean ( * PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);
110863
110864
110865
110866 #define GL_APPLE_vertex_array_range 1
110867
110868
110869
110870
110871
110872 typedef void ( * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);
110873 typedef void ( * PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);
110874 typedef void ( * PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param);
110875
110876
110877
110878 #define GL_APPLE_ycbcr_422 1
110879
110880
110881
110882 #define GL_S3_s3tc 1
110883
110884
110885
110886 #define GL_ATI_draw_buffers 1
110887
110888
110889
110890 typedef void ( * PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum *bufs);
110891
110892
110893
110894 #define GL_ATI_pixel_format_float 1
110895
110896
110897
110898
110899
110900
110901 #define GL_ATI_texture_env_combine3 1
110902
110903
110904
110905 #define GL_ATI_texture_float 1
110906
110907
110908
110909 #define GL_NV_float_buffer 1
110910
110911
110912
110913 #define GL_NV_fragment_program 1
110914 # 6224 "/usr/include/GL/glext.h" 3 4
110915 typedef void ( * PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
110916 typedef void ( * PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
110917 typedef void ( * PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);
110918 typedef void ( * PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);
110919 typedef void ( * PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);
110920 typedef void ( * PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);
110921
110922
110923
110924 #define GL_NV_half_float 1
110925 # 6282 "/usr/include/GL/glext.h" 3 4
110926 typedef void ( * PFNGLVERTEX2HNVPROC) (GLhalfNV x, GLhalfNV y);
110927 typedef void ( * PFNGLVERTEX2HVNVPROC) (const GLhalfNV *v);
110928 typedef void ( * PFNGLVERTEX3HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z);
110929 typedef void ( * PFNGLVERTEX3HVNVPROC) (const GLhalfNV *v);
110930 typedef void ( * PFNGLVERTEX4HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
110931 typedef void ( * PFNGLVERTEX4HVNVPROC) (const GLhalfNV *v);
110932 typedef void ( * PFNGLNORMAL3HNVPROC) (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);
110933 typedef void ( * PFNGLNORMAL3HVNVPROC) (const GLhalfNV *v);
110934 typedef void ( * PFNGLCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
110935 typedef void ( * PFNGLCOLOR3HVNVPROC) (const GLhalfNV *v);
110936 typedef void ( * PFNGLCOLOR4HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);
110937 typedef void ( * PFNGLCOLOR4HVNVPROC) (const GLhalfNV *v);
110938 typedef void ( * PFNGLTEXCOORD1HNVPROC) (GLhalfNV s);
110939 typedef void ( * PFNGLTEXCOORD1HVNVPROC) (const GLhalfNV *v);
110940 typedef void ( * PFNGLTEXCOORD2HNVPROC) (GLhalfNV s, GLhalfNV t);
110941 typedef void ( * PFNGLTEXCOORD2HVNVPROC) (const GLhalfNV *v);
110942 typedef void ( * PFNGLTEXCOORD3HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r);
110943 typedef void ( * PFNGLTEXCOORD3HVNVPROC) (const GLhalfNV *v);
110944 typedef void ( * PFNGLTEXCOORD4HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
110945 typedef void ( * PFNGLTEXCOORD4HVNVPROC) (const GLhalfNV *v);
110946 typedef void ( * PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalfNV s);
110947 typedef void ( * PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalfNV *v);
110948 typedef void ( * PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t);
110949 typedef void ( * PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalfNV *v);
110950 typedef void ( * PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);
110951 typedef void ( * PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalfNV *v);
110952 typedef void ( * PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
110953 typedef void ( * PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalfNV *v);
110954 typedef void ( * PFNGLFOGCOORDHNVPROC) (GLhalfNV fog);
110955 typedef void ( * PFNGLFOGCOORDHVNVPROC) (const GLhalfNV *fog);
110956 typedef void ( * PFNGLSECONDARYCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
110957 typedef void ( * PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalfNV *v);
110958 typedef void ( * PFNGLVERTEXWEIGHTHNVPROC) (GLhalfNV weight);
110959 typedef void ( * PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalfNV *weight);
110960 typedef void ( * PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalfNV x);
110961 typedef void ( * PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalfNV *v);
110962 typedef void ( * PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y);
110963 typedef void ( * PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalfNV *v);
110964 typedef void ( * PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);
110965 typedef void ( * PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalfNV *v);
110966 typedef void ( * PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
110967 typedef void ( * PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalfNV *v);
110968 typedef void ( * PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
110969 typedef void ( * PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
110970 typedef void ( * PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
110971 typedef void ( * PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
110972
110973
110974
110975 #define GL_NV_pixel_data_range 1
110976
110977
110978
110979
110980 typedef void ( * PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, GLvoid *pointer);
110981 typedef void ( * PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target);
110982
110983
110984
110985 #define GL_NV_primitive_restart 1
110986
110987
110988
110989
110990 typedef void ( * PFNGLPRIMITIVERESTARTNVPROC) (void);
110991 typedef void ( * PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index);
110992
110993
110994
110995 #define GL_NV_texture_expand_normal 1
110996
110997
110998
110999 #define GL_NV_vertex_program2 1
111000
111001
111002
111003 #define GL_ATI_map_object_buffer 1
111004
111005
111006
111007
111008 typedef GLvoid* ( * PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);
111009 typedef void ( * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer);
111010
111011
111012
111013 #define GL_ATI_separate_stencil 1
111014
111015
111016
111017
111018 typedef void ( * PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
111019 typedef void ( * PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
111020
111021
111022
111023 #define GL_ATI_vertex_attrib_array_object 1
111024
111025
111026
111027
111028
111029 typedef void ( * PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
111030 typedef void ( * PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat *params);
111031 typedef void ( * PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint *params);
111032
111033
111034
111035 #define GL_OES_read_format 1
111036
111037
111038
111039 #define GL_EXT_depth_bounds_test 1
111040
111041
111042
111043 typedef void ( * PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);
111044
111045
111046
111047 #define GL_EXT_texture_mirror_clamp 1
111048
111049
111050
111051 #define GL_EXT_blend_equation_separate 1
111052
111053
111054
111055 typedef void ( * PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha);
111056
111057
111058
111059 #define GL_MESA_pack_invert 1
111060
111061
111062
111063 #define GL_MESA_ycbcr_texture 1
111064
111065
111066
111067 #define GL_EXT_pixel_buffer_object 1
111068
111069
111070
111071 #define GL_NV_fragment_program_option 1
111072
111073
111074
111075 #define GL_NV_fragment_program2 1
111076
111077
111078
111079 #define GL_NV_vertex_program2_option 1
111080
111081
111082
111083 #define GL_NV_vertex_program3 1
111084
111085
111086
111087 #define GL_EXT_framebuffer_object 1
111088 # 6463 "/usr/include/GL/glext.h" 3 4
111089 typedef GLboolean ( * PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);
111090 typedef void ( * PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);
111091 typedef void ( * PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers);
111092 typedef void ( * PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers);
111093 typedef void ( * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
111094 typedef void ( * PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
111095 typedef GLboolean ( * PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);
111096 typedef void ( * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);
111097 typedef void ( * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers);
111098 typedef void ( * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers);
111099 typedef GLenum ( * PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);
111100 typedef void ( * PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
111101 typedef void ( * PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
111102 typedef void ( * PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
111103 typedef void ( * PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
111104 typedef void ( * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
111105 typedef void ( * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);
111106
111107
111108
111109 #define GL_GREMEDY_string_marker 1
111110
111111
111112
111113 typedef void ( * PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid *string);
111114
111115
111116
111117
111118 }
111119 # 72 "/usr/include/GL/gl.h" 2 3 4
111120
111121
111122
111123
111124
111125 #define GL_VERSION_1_1 1
111126
111127
111128 #define GL_CURRENT_BIT 0x00000001
111129 #define GL_POINT_BIT 0x00000002
111130 #define GL_LINE_BIT 0x00000004
111131 #define GL_POLYGON_BIT 0x00000008
111132 #define GL_POLYGON_STIPPLE_BIT 0x00000010
111133 #define GL_PIXEL_MODE_BIT 0x00000020
111134 #define GL_LIGHTING_BIT 0x00000040
111135 #define GL_FOG_BIT 0x00000080
111136 #define GL_DEPTH_BUFFER_BIT 0x00000100
111137 #define GL_ACCUM_BUFFER_BIT 0x00000200
111138 #define GL_STENCIL_BUFFER_BIT 0x00000400
111139 #define GL_VIEWPORT_BIT 0x00000800
111140 #define GL_TRANSFORM_BIT 0x00001000
111141 #define GL_ENABLE_BIT 0x00002000
111142 #define GL_COLOR_BUFFER_BIT 0x00004000
111143 #define GL_HINT_BIT 0x00008000
111144 #define GL_EVAL_BIT 0x00010000
111145 #define GL_LIST_BIT 0x00020000
111146 #define GL_TEXTURE_BIT 0x00040000
111147 #define GL_SCISSOR_BIT 0x00080000
111148 #define GL_ALL_ATTRIB_BITS 0xFFFFFFFF
111149 # 109 "/usr/include/GL/gl.h" 3 4
111150 #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
111151 #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
111152 #define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
111153
111154
111155 #define GL_FALSE 0
111156 #define GL_TRUE 1
111157
111158
111159 #define GL_POINTS 0x0000
111160 #define GL_LINES 0x0001
111161 #define GL_LINE_LOOP 0x0002
111162 #define GL_LINE_STRIP 0x0003
111163 #define GL_TRIANGLES 0x0004
111164 #define GL_TRIANGLE_STRIP 0x0005
111165 #define GL_TRIANGLE_FAN 0x0006
111166 #define GL_QUADS 0x0007
111167 #define GL_QUAD_STRIP 0x0008
111168 #define GL_POLYGON 0x0009
111169
111170
111171 #define GL_ACCUM 0x0100
111172 #define GL_LOAD 0x0101
111173 #define GL_RETURN 0x0102
111174 #define GL_MULT 0x0103
111175 #define GL_ADD 0x0104
111176
111177
111178 #define GL_NEVER 0x0200
111179 #define GL_LESS 0x0201
111180 #define GL_EQUAL 0x0202
111181 #define GL_LEQUAL 0x0203
111182 #define GL_GREATER 0x0204
111183 #define GL_NOTEQUAL 0x0205
111184 #define GL_GEQUAL 0x0206
111185 #define GL_ALWAYS 0x0207
111186
111187
111188 #define GL_ZERO 0
111189 #define GL_ONE 1
111190 #define GL_SRC_COLOR 0x0300
111191 #define GL_ONE_MINUS_SRC_COLOR 0x0301
111192 #define GL_SRC_ALPHA 0x0302
111193 #define GL_ONE_MINUS_SRC_ALPHA 0x0303
111194 #define GL_DST_ALPHA 0x0304
111195 #define GL_ONE_MINUS_DST_ALPHA 0x0305
111196
111197
111198
111199
111200 #define GL_DST_COLOR 0x0306
111201 #define GL_ONE_MINUS_DST_COLOR 0x0307
111202 #define GL_SRC_ALPHA_SATURATE 0x0308
111203 # 205 "/usr/include/GL/gl.h" 3 4
111204 #define GL_NONE 0
111205 #define GL_FRONT_LEFT 0x0400
111206 #define GL_FRONT_RIGHT 0x0401
111207 #define GL_BACK_LEFT 0x0402
111208 #define GL_BACK_RIGHT 0x0403
111209 #define GL_FRONT 0x0404
111210 #define GL_BACK 0x0405
111211 #define GL_LEFT 0x0406
111212 #define GL_RIGHT 0x0407
111213 #define GL_FRONT_AND_BACK 0x0408
111214 #define GL_AUX0 0x0409
111215 #define GL_AUX1 0x040A
111216 #define GL_AUX2 0x040B
111217 #define GL_AUX3 0x040C
111218 # 289 "/usr/include/GL/gl.h" 3 4
111219 #define GL_NO_ERROR 0
111220 #define GL_INVALID_ENUM 0x0500
111221 #define GL_INVALID_VALUE 0x0501
111222 #define GL_INVALID_OPERATION 0x0502
111223 #define GL_STACK_OVERFLOW 0x0503
111224 #define GL_STACK_UNDERFLOW 0x0504
111225 #define GL_OUT_OF_MEMORY 0x0505
111226 #define GL_TABLE_TOO_LARGE 0x8031
111227
111228
111229 #define GL_2D 0x0600
111230 #define GL_3D 0x0601
111231 #define GL_3D_COLOR 0x0602
111232 #define GL_3D_COLOR_TEXTURE 0x0603
111233 #define GL_4D_COLOR_TEXTURE 0x0604
111234
111235
111236 #define GL_PASS_THROUGH_TOKEN 0x0700
111237 #define GL_POINT_TOKEN 0x0701
111238 #define GL_LINE_TOKEN 0x0702
111239 #define GL_POLYGON_TOKEN 0x0703
111240 #define GL_BITMAP_TOKEN 0x0704
111241 #define GL_DRAW_PIXEL_TOKEN 0x0705
111242 #define GL_COPY_PIXEL_TOKEN 0x0706
111243 #define GL_LINE_RESET_TOKEN 0x0707
111244
111245
111246
111247 #define GL_EXP 0x0800
111248 #define GL_EXP2 0x0801
111249 # 329 "/usr/include/GL/gl.h" 3 4
111250 #define GL_CW 0x0900
111251 #define GL_CCW 0x0901
111252
111253
111254 #define GL_COEFF 0x0A00
111255 #define GL_ORDER 0x0A01
111256 #define GL_DOMAIN 0x0A02
111257
111258
111259 #define GL_PIXEL_MAP_I_TO_I 0x0C70
111260 #define GL_PIXEL_MAP_S_TO_S 0x0C71
111261 #define GL_PIXEL_MAP_I_TO_R 0x0C72
111262 #define GL_PIXEL_MAP_I_TO_G 0x0C73
111263 #define GL_PIXEL_MAP_I_TO_B 0x0C74
111264 #define GL_PIXEL_MAP_I_TO_A 0x0C75
111265 #define GL_PIXEL_MAP_R_TO_R 0x0C76
111266 #define GL_PIXEL_MAP_G_TO_G 0x0C77
111267 #define GL_PIXEL_MAP_B_TO_B 0x0C78
111268 #define GL_PIXEL_MAP_A_TO_A 0x0C79
111269
111270
111271 #define GL_VERTEX_ARRAY_POINTER 0x808E
111272 #define GL_NORMAL_ARRAY_POINTER 0x808F
111273 #define GL_COLOR_ARRAY_POINTER 0x8090
111274 #define GL_INDEX_ARRAY_POINTER 0x8091
111275 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
111276 #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
111277
111278
111279 #define GL_CURRENT_COLOR 0x0B00
111280 #define GL_CURRENT_INDEX 0x0B01
111281 #define GL_CURRENT_NORMAL 0x0B02
111282 #define GL_CURRENT_TEXTURE_COORDS 0x0B03
111283 #define GL_CURRENT_RASTER_COLOR 0x0B04
111284 #define GL_CURRENT_RASTER_INDEX 0x0B05
111285 #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
111286 #define GL_CURRENT_RASTER_POSITION 0x0B07
111287 #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
111288 #define GL_CURRENT_RASTER_DISTANCE 0x0B09
111289 #define GL_POINT_SMOOTH 0x0B10
111290 #define GL_POINT_SIZE 0x0B11
111291 #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
111292 #define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
111293 #define GL_POINT_SIZE_RANGE GL_SMOOTH_POINT_SIZE_RANGE
111294 #define GL_POINT_SIZE_GRANULARITY GL_SMOOTH_POINT_SIZE_GRANULARITY
111295 #define GL_LINE_SMOOTH 0x0B20
111296 #define GL_LINE_WIDTH 0x0B21
111297 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
111298 #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
111299 #define GL_LINE_WIDTH_RANGE GL_SMOOTH_LINE_WIDTH_RANGE
111300 #define GL_LINE_WIDTH_GRANULARITY GL_SMOOTH_LINE_WIDTH_GRANULARITY
111301 #define GL_LINE_STIPPLE 0x0B24
111302 #define GL_LINE_STIPPLE_PATTERN 0x0B25
111303 #define GL_LINE_STIPPLE_REPEAT 0x0B26
111304 #define GL_LIST_MODE 0x0B30
111305 #define GL_MAX_LIST_NESTING 0x0B31
111306 #define GL_LIST_BASE 0x0B32
111307 #define GL_LIST_INDEX 0x0B33
111308 #define GL_POLYGON_MODE 0x0B40
111309 #define GL_POLYGON_SMOOTH 0x0B41
111310 #define GL_POLYGON_STIPPLE 0x0B42
111311 #define GL_EDGE_FLAG 0x0B43
111312 #define GL_CULL_FACE 0x0B44
111313 #define GL_CULL_FACE_MODE 0x0B45
111314 #define GL_FRONT_FACE 0x0B46
111315 #define GL_LIGHTING 0x0B50
111316 #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
111317 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
111318 #define GL_LIGHT_MODEL_AMBIENT 0x0B53
111319 #define GL_SHADE_MODEL 0x0B54
111320 #define GL_COLOR_MATERIAL_FACE 0x0B55
111321 #define GL_COLOR_MATERIAL_PARAMETER 0x0B56
111322 #define GL_COLOR_MATERIAL 0x0B57
111323 #define GL_FOG 0x0B60
111324 #define GL_FOG_INDEX 0x0B61
111325 #define GL_FOG_DENSITY 0x0B62
111326 #define GL_FOG_START 0x0B63
111327 #define GL_FOG_END 0x0B64
111328 #define GL_FOG_MODE 0x0B65
111329 #define GL_FOG_COLOR 0x0B66
111330 #define GL_DEPTH_RANGE 0x0B70
111331 #define GL_DEPTH_TEST 0x0B71
111332 #define GL_DEPTH_WRITEMASK 0x0B72
111333 #define GL_DEPTH_CLEAR_VALUE 0x0B73
111334 #define GL_DEPTH_FUNC 0x0B74
111335 #define GL_ACCUM_CLEAR_VALUE 0x0B80
111336 #define GL_STENCIL_TEST 0x0B90
111337 #define GL_STENCIL_CLEAR_VALUE 0x0B91
111338 #define GL_STENCIL_FUNC 0x0B92
111339 #define GL_STENCIL_VALUE_MASK 0x0B93
111340 #define GL_STENCIL_FAIL 0x0B94
111341 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
111342 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
111343 #define GL_STENCIL_REF 0x0B97
111344 #define GL_STENCIL_WRITEMASK 0x0B98
111345 #define GL_MATRIX_MODE 0x0BA0
111346 #define GL_NORMALIZE 0x0BA1
111347 #define GL_VIEWPORT 0x0BA2
111348 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3
111349 #define GL_PROJECTION_STACK_DEPTH 0x0BA4
111350 #define GL_TEXTURE_STACK_DEPTH 0x0BA5
111351 #define GL_MODELVIEW_MATRIX 0x0BA6
111352 #define GL_PROJECTION_MATRIX 0x0BA7
111353 #define GL_TEXTURE_MATRIX 0x0BA8
111354 #define GL_ATTRIB_STACK_DEPTH 0x0BB0
111355 #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
111356 #define GL_ALPHA_TEST 0x0BC0
111357 #define GL_ALPHA_TEST_FUNC 0x0BC1
111358 #define GL_ALPHA_TEST_REF 0x0BC2
111359 #define GL_DITHER 0x0BD0
111360 #define GL_BLEND_DST 0x0BE0
111361 #define GL_BLEND_SRC 0x0BE1
111362 #define GL_BLEND 0x0BE2
111363 #define GL_LOGIC_OP_MODE 0x0BF0
111364 #define GL_INDEX_LOGIC_OP 0x0BF1
111365 #define GL_LOGIC_OP GL_INDEX_LOGIC_OP
111366 #define GL_COLOR_LOGIC_OP 0x0BF2
111367 #define GL_AUX_BUFFERS 0x0C00
111368 #define GL_DRAW_BUFFER 0x0C01
111369 #define GL_READ_BUFFER 0x0C02
111370 #define GL_SCISSOR_BOX 0x0C10
111371 #define GL_SCISSOR_TEST 0x0C11
111372 #define GL_INDEX_CLEAR_VALUE 0x0C20
111373 #define GL_INDEX_WRITEMASK 0x0C21
111374 #define GL_COLOR_CLEAR_VALUE 0x0C22
111375 #define GL_COLOR_WRITEMASK 0x0C23
111376 #define GL_INDEX_MODE 0x0C30
111377 #define GL_RGBA_MODE 0x0C31
111378 #define GL_DOUBLEBUFFER 0x0C32
111379 #define GL_STEREO 0x0C33
111380 #define GL_RENDER_MODE 0x0C40
111381 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
111382 #define GL_POINT_SMOOTH_HINT 0x0C51
111383 #define GL_LINE_SMOOTH_HINT 0x0C52
111384 #define GL_POLYGON_SMOOTH_HINT 0x0C53
111385 #define GL_FOG_HINT 0x0C54
111386 #define GL_TEXTURE_GEN_S 0x0C60
111387 #define GL_TEXTURE_GEN_T 0x0C61
111388 #define GL_TEXTURE_GEN_R 0x0C62
111389 #define GL_TEXTURE_GEN_Q 0x0C63
111390 #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
111391 #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
111392 #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
111393 #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
111394 #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
111395 #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
111396 #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
111397 #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
111398 #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
111399 #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
111400 #define GL_UNPACK_SWAP_BYTES 0x0CF0
111401 #define GL_UNPACK_LSB_FIRST 0x0CF1
111402 #define GL_UNPACK_ROW_LENGTH 0x0CF2
111403 #define GL_UNPACK_SKIP_ROWS 0x0CF3
111404 #define GL_UNPACK_SKIP_PIXELS 0x0CF4
111405 #define GL_UNPACK_ALIGNMENT 0x0CF5
111406 #define GL_PACK_SWAP_BYTES 0x0D00
111407 #define GL_PACK_LSB_FIRST 0x0D01
111408 #define GL_PACK_ROW_LENGTH 0x0D02
111409 #define GL_PACK_SKIP_ROWS 0x0D03
111410 #define GL_PACK_SKIP_PIXELS 0x0D04
111411 #define GL_PACK_ALIGNMENT 0x0D05
111412 #define GL_MAP_COLOR 0x0D10
111413 #define GL_MAP_STENCIL 0x0D11
111414 #define GL_INDEX_SHIFT 0x0D12
111415 #define GL_INDEX_OFFSET 0x0D13
111416 #define GL_RED_SCALE 0x0D14
111417 #define GL_RED_BIAS 0x0D15
111418 #define GL_ZOOM_X 0x0D16
111419 #define GL_ZOOM_Y 0x0D17
111420 #define GL_GREEN_SCALE 0x0D18
111421 #define GL_GREEN_BIAS 0x0D19
111422 #define GL_BLUE_SCALE 0x0D1A
111423 #define GL_BLUE_BIAS 0x0D1B
111424 #define GL_ALPHA_SCALE 0x0D1C
111425 #define GL_ALPHA_BIAS 0x0D1D
111426 #define GL_DEPTH_SCALE 0x0D1E
111427 #define GL_DEPTH_BIAS 0x0D1F
111428 #define GL_MAX_EVAL_ORDER 0x0D30
111429 #define GL_MAX_LIGHTS 0x0D31
111430 #define GL_MAX_CLIP_PLANES 0x0D32
111431 #define GL_MAX_TEXTURE_SIZE 0x0D33
111432 #define GL_MAX_PIXEL_MAP_TABLE 0x0D34
111433 #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
111434 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
111435 #define GL_MAX_NAME_STACK_DEPTH 0x0D37
111436 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
111437 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
111438 #define GL_MAX_VIEWPORT_DIMS 0x0D3A
111439 #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
111440 #define GL_SUBPIXEL_BITS 0x0D50
111441 #define GL_INDEX_BITS 0x0D51
111442 #define GL_RED_BITS 0x0D52
111443 #define GL_GREEN_BITS 0x0D53
111444 #define GL_BLUE_BITS 0x0D54
111445 #define GL_ALPHA_BITS 0x0D55
111446 #define GL_DEPTH_BITS 0x0D56
111447 #define GL_STENCIL_BITS 0x0D57
111448 #define GL_ACCUM_RED_BITS 0x0D58
111449 #define GL_ACCUM_GREEN_BITS 0x0D59
111450 #define GL_ACCUM_BLUE_BITS 0x0D5A
111451 #define GL_ACCUM_ALPHA_BITS 0x0D5B
111452 #define GL_NAME_STACK_DEPTH 0x0D70
111453 #define GL_AUTO_NORMAL 0x0D80
111454 #define GL_MAP1_COLOR_4 0x0D90
111455 #define GL_MAP1_INDEX 0x0D91
111456 #define GL_MAP1_NORMAL 0x0D92
111457 #define GL_MAP1_TEXTURE_COORD_1 0x0D93
111458 #define GL_MAP1_TEXTURE_COORD_2 0x0D94
111459 #define GL_MAP1_TEXTURE_COORD_3 0x0D95
111460 #define GL_MAP1_TEXTURE_COORD_4 0x0D96
111461 #define GL_MAP1_VERTEX_3 0x0D97
111462 #define GL_MAP1_VERTEX_4 0x0D98
111463 #define GL_MAP2_COLOR_4 0x0DB0
111464 #define GL_MAP2_INDEX 0x0DB1
111465 #define GL_MAP2_NORMAL 0x0DB2
111466 #define GL_MAP2_TEXTURE_COORD_1 0x0DB3
111467 #define GL_MAP2_TEXTURE_COORD_2 0x0DB4
111468 #define GL_MAP2_TEXTURE_COORD_3 0x0DB5
111469 #define GL_MAP2_TEXTURE_COORD_4 0x0DB6
111470 #define GL_MAP2_VERTEX_3 0x0DB7
111471 #define GL_MAP2_VERTEX_4 0x0DB8
111472 #define GL_MAP1_GRID_DOMAIN 0x0DD0
111473 #define GL_MAP1_GRID_SEGMENTS 0x0DD1
111474 #define GL_MAP2_GRID_DOMAIN 0x0DD2
111475 #define GL_MAP2_GRID_SEGMENTS 0x0DD3
111476 #define GL_TEXTURE_1D 0x0DE0
111477 #define GL_TEXTURE_2D 0x0DE1
111478 #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
111479 #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
111480 #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
111481 #define GL_SELECTION_BUFFER_POINTER 0x0DF3
111482 #define GL_SELECTION_BUFFER_SIZE 0x0DF4
111483 #define GL_POLYGON_OFFSET_UNITS 0x2A00
111484 #define GL_POLYGON_OFFSET_POINT 0x2A01
111485 #define GL_POLYGON_OFFSET_LINE 0x2A02
111486 #define GL_POLYGON_OFFSET_FILL 0x8037
111487 #define GL_POLYGON_OFFSET_FACTOR 0x8038
111488 #define GL_TEXTURE_BINDING_1D 0x8068
111489 #define GL_TEXTURE_BINDING_2D 0x8069
111490 #define GL_TEXTURE_BINDING_3D 0x806A
111491 #define GL_VERTEX_ARRAY 0x8074
111492 #define GL_NORMAL_ARRAY 0x8075
111493 #define GL_COLOR_ARRAY 0x8076
111494 #define GL_INDEX_ARRAY 0x8077
111495 #define GL_TEXTURE_COORD_ARRAY 0x8078
111496 #define GL_EDGE_FLAG_ARRAY 0x8079
111497 #define GL_VERTEX_ARRAY_SIZE 0x807A
111498 #define GL_VERTEX_ARRAY_TYPE 0x807B
111499 #define GL_VERTEX_ARRAY_STRIDE 0x807C
111500 #define GL_NORMAL_ARRAY_TYPE 0x807E
111501 #define GL_NORMAL_ARRAY_STRIDE 0x807F
111502 #define GL_COLOR_ARRAY_SIZE 0x8081
111503 #define GL_COLOR_ARRAY_TYPE 0x8082
111504 #define GL_COLOR_ARRAY_STRIDE 0x8083
111505 #define GL_INDEX_ARRAY_TYPE 0x8085
111506 #define GL_INDEX_ARRAY_STRIDE 0x8086
111507 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
111508 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
111509 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
111510 #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
111511 # 602 "/usr/include/GL/gl.h" 3 4
111512 #define GL_TEXTURE_WIDTH 0x1000
111513 #define GL_TEXTURE_HEIGHT 0x1001
111514 #define GL_TEXTURE_INTERNAL_FORMAT 0x1003
111515 #define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT
111516 #define GL_TEXTURE_BORDER_COLOR 0x1004
111517 #define GL_TEXTURE_BORDER 0x1005
111518 #define GL_TEXTURE_RED_SIZE 0x805C
111519 #define GL_TEXTURE_GREEN_SIZE 0x805D
111520 #define GL_TEXTURE_BLUE_SIZE 0x805E
111521 #define GL_TEXTURE_ALPHA_SIZE 0x805F
111522 #define GL_TEXTURE_LUMINANCE_SIZE 0x8060
111523 #define GL_TEXTURE_INTENSITY_SIZE 0x8061
111524 #define GL_TEXTURE_PRIORITY 0x8066
111525 #define GL_TEXTURE_RESIDENT 0x8067
111526
111527
111528 #define GL_DONT_CARE 0x1100
111529 #define GL_FASTEST 0x1101
111530 #define GL_NICEST 0x1102
111531 # 654 "/usr/include/GL/gl.h" 3 4
111532 #define GL_AMBIENT 0x1200
111533 #define GL_DIFFUSE 0x1201
111534 #define GL_SPECULAR 0x1202
111535 #define GL_POSITION 0x1203
111536 #define GL_SPOT_DIRECTION 0x1204
111537 #define GL_SPOT_EXPONENT 0x1205
111538 #define GL_SPOT_CUTOFF 0x1206
111539 #define GL_CONSTANT_ATTENUATION 0x1207
111540 #define GL_LINEAR_ATTENUATION 0x1208
111541 #define GL_QUADRATIC_ATTENUATION 0x1209
111542
111543
111544 #define GL_COMPILE 0x1300
111545 #define GL_COMPILE_AND_EXECUTE 0x1301
111546
111547
111548 #define GL_BYTE 0x1400
111549 #define GL_UNSIGNED_BYTE 0x1401
111550 #define GL_SHORT 0x1402
111551 #define GL_UNSIGNED_SHORT 0x1403
111552 #define GL_INT 0x1404
111553 #define GL_UNSIGNED_INT 0x1405
111554 #define GL_FLOAT 0x1406
111555 #define GL_2_BYTES 0x1407
111556 #define GL_3_BYTES 0x1408
111557 #define GL_4_BYTES 0x1409
111558 #define GL_DOUBLE 0x140A
111559 #define GL_DOUBLE_EXT 0x140A
111560 # 696 "/usr/include/GL/gl.h" 3 4
111561 #define GL_CLEAR 0x1500
111562 #define GL_AND 0x1501
111563 #define GL_AND_REVERSE 0x1502
111564 #define GL_COPY 0x1503
111565 #define GL_AND_INVERTED 0x1504
111566 #define GL_NOOP 0x1505
111567 #define GL_XOR 0x1506
111568 #define GL_OR 0x1507
111569 #define GL_NOR 0x1508
111570 #define GL_EQUIV 0x1509
111571 #define GL_INVERT 0x150A
111572 #define GL_OR_REVERSE 0x150B
111573 #define GL_COPY_INVERTED 0x150C
111574 #define GL_OR_INVERTED 0x150D
111575 #define GL_NAND 0x150E
111576 #define GL_SET 0x150F
111577 # 739 "/usr/include/GL/gl.h" 3 4
111578 #define GL_EMISSION 0x1600
111579 #define GL_SHININESS 0x1601
111580 #define GL_AMBIENT_AND_DIFFUSE 0x1602
111581 #define GL_COLOR_INDEXES 0x1603
111582
111583
111584
111585
111586
111587 #define GL_MODELVIEW 0x1700
111588 #define GL_PROJECTION 0x1701
111589 #define GL_TEXTURE 0x1702
111590 # 769 "/usr/include/GL/gl.h" 3 4
111591 #define GL_COLOR 0x1800
111592 #define GL_DEPTH 0x1801
111593 #define GL_STENCIL 0x1802
111594
111595
111596 #define GL_COLOR_INDEX 0x1900
111597 #define GL_STENCIL_INDEX 0x1901
111598 #define GL_DEPTH_COMPONENT 0x1902
111599 #define GL_RED 0x1903
111600 #define GL_GREEN 0x1904
111601 #define GL_BLUE 0x1905
111602 #define GL_ALPHA 0x1906
111603 #define GL_RGB 0x1907
111604 #define GL_RGBA 0x1908
111605 #define GL_LUMINANCE 0x1909
111606 #define GL_LUMINANCE_ALPHA 0x190A
111607 # 830 "/usr/include/GL/gl.h" 3 4
111608 #define GL_BITMAP 0x1A00
111609 # 845 "/usr/include/GL/gl.h" 3 4
111610 #define GL_POINT 0x1B00
111611 #define GL_LINE 0x1B01
111612 #define GL_FILL 0x1B02
111613 # 864 "/usr/include/GL/gl.h" 3 4
111614 #define GL_RENDER 0x1C00
111615 #define GL_FEEDBACK 0x1C01
111616 #define GL_SELECT 0x1C02
111617
111618
111619 #define GL_FLAT 0x1D00
111620 #define GL_SMOOTH 0x1D01
111621 # 884 "/usr/include/GL/gl.h" 3 4
111622 #define GL_KEEP 0x1E00
111623 #define GL_REPLACE 0x1E01
111624 #define GL_INCR 0x1E02
111625 #define GL_DECR 0x1E03
111626
111627
111628
111629 #define GL_VENDOR 0x1F00
111630 #define GL_RENDERER 0x1F01
111631 #define GL_VERSION 0x1F02
111632 #define GL_EXTENSIONS 0x1F03
111633 # 903 "/usr/include/GL/gl.h" 3 4
111634 #define GL_S 0x2000
111635 #define GL_T 0x2001
111636 #define GL_R 0x2002
111637 #define GL_Q 0x2003
111638
111639
111640 #define GL_MODULATE 0x2100
111641 #define GL_DECAL 0x2101
111642
111643
111644
111645
111646
111647 #define GL_TEXTURE_ENV_MODE 0x2200
111648 #define GL_TEXTURE_ENV_COLOR 0x2201
111649
111650
111651 #define GL_TEXTURE_ENV 0x2300
111652
111653
111654 #define GL_EYE_LINEAR 0x2400
111655 #define GL_OBJECT_LINEAR 0x2401
111656 #define GL_SPHERE_MAP 0x2402
111657
111658
111659 #define GL_TEXTURE_GEN_MODE 0x2500
111660 #define GL_OBJECT_PLANE 0x2501
111661 #define GL_EYE_PLANE 0x2502
111662
111663
111664 #define GL_NEAREST 0x2600
111665 #define GL_LINEAR 0x2601
111666
111667
111668
111669
111670 #define GL_NEAREST_MIPMAP_NEAREST 0x2700
111671 #define GL_LINEAR_MIPMAP_NEAREST 0x2701
111672 #define GL_NEAREST_MIPMAP_LINEAR 0x2702
111673 #define GL_LINEAR_MIPMAP_LINEAR 0x2703
111674
111675
111676 #define GL_TEXTURE_MAG_FILTER 0x2800
111677 #define GL_TEXTURE_MIN_FILTER 0x2801
111678 #define GL_TEXTURE_WRAP_S 0x2802
111679 #define GL_TEXTURE_WRAP_T 0x2803
111680
111681
111682
111683
111684
111685
111686 #define GL_PROXY_TEXTURE_1D 0x8063
111687 #define GL_PROXY_TEXTURE_2D 0x8064
111688
111689
111690 #define GL_CLAMP 0x2900
111691 #define GL_REPEAT 0x2901
111692
111693
111694 #define GL_R3_G3_B2 0x2A10
111695 #define GL_ALPHA4 0x803B
111696 #define GL_ALPHA8 0x803C
111697 #define GL_ALPHA12 0x803D
111698 #define GL_ALPHA16 0x803E
111699 #define GL_LUMINANCE4 0x803F
111700 #define GL_LUMINANCE8 0x8040
111701 #define GL_LUMINANCE12 0x8041
111702 #define GL_LUMINANCE16 0x8042
111703 #define GL_LUMINANCE4_ALPHA4 0x8043
111704 #define GL_LUMINANCE6_ALPHA2 0x8044
111705 #define GL_LUMINANCE8_ALPHA8 0x8045
111706 #define GL_LUMINANCE12_ALPHA4 0x8046
111707 #define GL_LUMINANCE12_ALPHA12 0x8047
111708 #define GL_LUMINANCE16_ALPHA16 0x8048
111709 #define GL_INTENSITY 0x8049
111710 #define GL_INTENSITY4 0x804A
111711 #define GL_INTENSITY8 0x804B
111712 #define GL_INTENSITY12 0x804C
111713 #define GL_INTENSITY16 0x804D
111714 #define GL_RGB4 0x804F
111715 #define GL_RGB5 0x8050
111716 #define GL_RGB8 0x8051
111717 #define GL_RGB10 0x8052
111718 #define GL_RGB12 0x8053
111719 #define GL_RGB16 0x8054
111720 #define GL_RGBA2 0x8055
111721 #define GL_RGBA4 0x8056
111722 #define GL_RGB5_A1 0x8057
111723 #define GL_RGBA8 0x8058
111724 #define GL_RGB10_A2 0x8059
111725 #define GL_RGBA12 0x805A
111726 #define GL_RGBA16 0x805B
111727
111728
111729 #define GL_V2F 0x2A20
111730 #define GL_V3F 0x2A21
111731 #define GL_C4UB_V2F 0x2A22
111732 #define GL_C4UB_V3F 0x2A23
111733 #define GL_C3F_V3F 0x2A24
111734 #define GL_N3F_V3F 0x2A25
111735 #define GL_C4F_N3F_V3F 0x2A26
111736 #define GL_T2F_V3F 0x2A27
111737 #define GL_T4F_V4F 0x2A28
111738 #define GL_T2F_C4UB_V3F 0x2A29
111739 #define GL_T2F_C3F_V3F 0x2A2A
111740 #define GL_T2F_N3F_V3F 0x2A2B
111741 #define GL_T2F_C4F_N3F_V3F 0x2A2C
111742 #define GL_T4F_C4F_N3F_V4F 0x2A2D
111743 # 1020 "/usr/include/GL/gl.h" 3 4
111744 #define GL_CLIP_PLANE0 0x3000
111745 #define GL_CLIP_PLANE1 0x3001
111746 #define GL_CLIP_PLANE2 0x3002
111747 #define GL_CLIP_PLANE3 0x3003
111748 #define GL_CLIP_PLANE4 0x3004
111749 #define GL_CLIP_PLANE5 0x3005
111750
111751
111752 #define GL_LIGHT0 0x4000
111753 #define GL_LIGHT1 0x4001
111754 #define GL_LIGHT2 0x4002
111755 #define GL_LIGHT3 0x4003
111756 #define GL_LIGHT4 0x4004
111757 #define GL_LIGHT5 0x4005
111758 #define GL_LIGHT6 0x4006
111759 #define GL_LIGHT7 0x4007
111760
111761
111762 #define GL_ABGR_EXT 0x8000
111763
111764
111765 #define GL_FUNC_SUBTRACT_EXT 0x800A
111766 #define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B
111767
111768
111769 #define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032
111770 #define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033
111771 #define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034
111772 #define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035
111773 #define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036
111774
111775
111776 #define GL_PACK_SKIP_IMAGES 0x806B
111777 #define GL_PACK_IMAGE_HEIGHT 0x806C
111778 #define GL_UNPACK_SKIP_IMAGES 0x806D
111779 #define GL_UNPACK_IMAGE_HEIGHT 0x806E
111780 #define GL_TEXTURE_3D 0x806F
111781 #define GL_PROXY_TEXTURE_3D 0x8070
111782 #define GL_TEXTURE_DEPTH 0x8071
111783 #define GL_TEXTURE_WRAP_R 0x8072
111784 #define GL_MAX_3D_TEXTURE_SIZE 0x8073
111785 #define GL_BGR 0x80E0
111786 #define GL_BGRA 0x80E1
111787 #define GL_UNSIGNED_BYTE_3_3_2 0x8032
111788 #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
111789 #define GL_UNSIGNED_SHORT_5_6_5 0x8363
111790 #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
111791 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
111792 #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
111793 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
111794 #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
111795 #define GL_UNSIGNED_INT_8_8_8_8 0x8035
111796 #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
111797 #define GL_UNSIGNED_INT_10_10_10_2 0x8036
111798 #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
111799 #define GL_RESCALE_NORMAL 0x803A
111800 #define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
111801 #define GL_SINGLE_COLOR 0x81F9
111802 #define GL_SEPARATE_SPECULAR_COLOR 0x81FA
111803 #define GL_CLAMP_TO_EDGE 0x812F
111804 #define GL_TEXTURE_MIN_LOD 0x813A
111805 #define GL_TEXTURE_MAX_LOD 0x813B
111806 #define GL_TEXTURE_BASE_LEVEL 0x813C
111807 #define GL_TEXTURE_MAX_LEVEL 0x813D
111808 #define GL_MAX_ELEMENTS_VERTICES 0x80E8
111809 #define GL_MAX_ELEMENTS_INDICES 0x80E9
111810 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D
111811 #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
111812
111813
111814 #define GL_ACTIVE_TEXTURE 0x84E0
111815 #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
111816 #define GL_MAX_TEXTURE_UNITS 0x84E2
111817 #define GL_TEXTURE0 0x84C0
111818 #define GL_TEXTURE1 0x84C1
111819 #define GL_TEXTURE2 0x84C2
111820 #define GL_TEXTURE3 0x84C3
111821 #define GL_TEXTURE4 0x84C4
111822 #define GL_TEXTURE5 0x84C5
111823 #define GL_TEXTURE6 0x84C6
111824 #define GL_TEXTURE7 0x84C7
111825 #define GL_TEXTURE8 0x84C8
111826 #define GL_TEXTURE9 0x84C9
111827 #define GL_TEXTURE10 0x84CA
111828 #define GL_TEXTURE11 0x84CB
111829 #define GL_TEXTURE12 0x84CC
111830 #define GL_TEXTURE13 0x84CD
111831 #define GL_TEXTURE14 0x84CE
111832 #define GL_TEXTURE15 0x84CF
111833 #define GL_TEXTURE16 0x84D0
111834 #define GL_TEXTURE17 0x84D1
111835 #define GL_TEXTURE18 0x84D2
111836 #define GL_TEXTURE19 0x84D3
111837 #define GL_TEXTURE20 0x84D4
111838 #define GL_TEXTURE21 0x84D5
111839 #define GL_TEXTURE22 0x84D6
111840 #define GL_TEXTURE23 0x84D7
111841 #define GL_TEXTURE24 0x84D8
111842 #define GL_TEXTURE25 0x84D9
111843 #define GL_TEXTURE26 0x84DA
111844 #define GL_TEXTURE27 0x84DB
111845 #define GL_TEXTURE28 0x84DC
111846 #define GL_TEXTURE29 0x84DD
111847 #define GL_TEXTURE30 0x84DE
111848 #define GL_TEXTURE31 0x84DF
111849 #define GL_NORMAL_MAP 0x8511
111850 #define GL_REFLECTION_MAP 0x8512
111851 #define GL_TEXTURE_CUBE_MAP 0x8513
111852 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
111853 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
111854 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
111855 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
111856 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
111857 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
111858 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
111859 #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
111860 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
111861 #define GL_COMBINE 0x8570
111862 #define GL_COMBINE_RGB 0x8571
111863 #define GL_COMBINE_ALPHA 0x8572
111864 #define GL_RGB_SCALE 0x8573
111865 #define GL_ADD_SIGNED 0x8574
111866 #define GL_INTERPOLATE 0x8575
111867 #define GL_CONSTANT 0x8576
111868 #define GL_PRIMARY_COLOR 0x8577
111869 #define GL_PREVIOUS 0x8578
111870 #define GL_SOURCE0_RGB 0x8580
111871 #define GL_SOURCE1_RGB 0x8581
111872 #define GL_SOURCE2_RGB 0x8582
111873 #define GL_SOURCE0_ALPHA 0x8588
111874 #define GL_SOURCE1_ALPHA 0x8589
111875 #define GL_SOURCE2_ALPHA 0x858A
111876 #define GL_OPERAND0_RGB 0x8590
111877 #define GL_OPERAND1_RGB 0x8591
111878 #define GL_OPERAND2_RGB 0x8592
111879 #define GL_OPERAND0_ALPHA 0x8598
111880 #define GL_OPERAND1_ALPHA 0x8599
111881 #define GL_OPERAND2_ALPHA 0x859A
111882 #define GL_SUBTRACT 0x84E7
111883 #define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
111884 #define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
111885 #define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
111886 #define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
111887 #define GL_COMPRESSED_ALPHA 0x84E9
111888 #define GL_COMPRESSED_LUMINANCE 0x84EA
111889 #define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
111890 #define GL_COMPRESSED_INTENSITY 0x84EC
111891 #define GL_COMPRESSED_RGB 0x84ED
111892 #define GL_COMPRESSED_RGBA 0x84EE
111893 #define GL_TEXTURE_COMPRESSION_HINT 0x84EF
111894 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
111895 #define GL_TEXTURE_COMPRESSED 0x86A1
111896 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
111897 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
111898 #define GL_DOT3_RGB 0x86AE
111899 #define GL_DOT3_RGBA 0x86AF
111900 #define GL_CLAMP_TO_BORDER 0x812D
111901 #define GL_MULTISAMPLE 0x809D
111902 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
111903 #define GL_SAMPLE_ALPHA_TO_ONE 0x809F
111904 #define GL_SAMPLE_COVERAGE 0x80A0
111905 #define GL_SAMPLE_BUFFERS 0x80A8
111906 #define GL_SAMPLES 0x80A9
111907 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
111908 #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
111909 #define GL_MULTISAMPLE_BIT 0x20000000
111910
111911
111912 #define GL_VERTEX_ARRAY_EXT 0x8074
111913 #define GL_NORMAL_ARRAY_EXT 0x8075
111914 #define GL_COLOR_ARRAY_EXT 0x8076
111915 #define GL_INDEX_ARRAY_EXT 0x8077
111916 #define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
111917 #define GL_EDGE_FLAG_ARRAY_EXT 0x8079
111918 #define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
111919 #define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
111920 #define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
111921 #define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
111922 #define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
111923 #define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
111924 #define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
111925 #define GL_COLOR_ARRAY_SIZE_EXT 0x8081
111926 #define GL_COLOR_ARRAY_TYPE_EXT 0x8082
111927 #define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
111928 #define GL_COLOR_ARRAY_COUNT_EXT 0x8084
111929 #define GL_INDEX_ARRAY_TYPE_EXT 0x8085
111930 #define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
111931 #define GL_INDEX_ARRAY_COUNT_EXT 0x8087
111932 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
111933 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
111934 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
111935 #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
111936 #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
111937 #define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
111938 #define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
111939 #define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
111940 #define GL_COLOR_ARRAY_POINTER_EXT 0x8090
111941 #define GL_INDEX_ARRAY_POINTER_EXT 0x8091
111942 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
111943 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
111944
111945
111946 #define GL_TEXTURE_MIN_LOD_SGIS 0x813A
111947 #define GL_TEXTURE_MAX_LOD_SGIS 0x813B
111948 #define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C
111949 #define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D
111950
111951
111952 #define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB
111953
111954
111955 #define GL_RESCALE_NORMAL_EXT 0x803A
111956
111957
111958 #define GL_TEXTURE_COMPARE_SGIX 0x819A
111959 #define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B
111960 #define GL_TEXTURE_LEQUAL_R_SGIX 0x819C
111961 #define GL_TEXTURE_GEQUAL_R_SGIX 0x819D
111962
111963
111964 #define GL_DEPTH_COMPONENT16_SGIX 0x81A5
111965 #define GL_DEPTH_COMPONENT24_SGIX 0x81A6
111966 #define GL_DEPTH_COMPONENT32_SGIX 0x81A7
111967
111968
111969 #define GL_GENERATE_MIPMAP_SGIS 0x8191
111970 #define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
111971
111972
111973 #define GL_POINT_SIZE_MIN 0x8126
111974 #define GL_POINT_SIZE_MAX 0x8127
111975 #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
111976 #define GL_POINT_DISTANCE_ATTENUATION 0x8129
111977 #define GL_FOG_COORDINATE_SOURCE 0x8450
111978 #define GL_FOG_COORDINATE 0x8451
111979 #define GL_FRAGMENT_DEPTH 0x8452
111980 #define GL_CURRENT_FOG_COORDINATE 0x8453
111981 #define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
111982 #define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
111983 #define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
111984 #define GL_FOG_COORDINATE_ARRAY 0x8457
111985 #define GL_COLOR_SUM 0x8458
111986 #define GL_CURRENT_SECONDARY_COLOR 0x8459
111987 #define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
111988 #define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
111989 #define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
111990 #define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
111991 #define GL_SECONDARY_COLOR_ARRAY 0x845E
111992 #define GL_INCR_WRAP 0x8507
111993 #define GL_DECR_WRAP 0x8508
111994 #define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
111995 #define GL_TEXTURE_FILTER_CONTROL 0x8500
111996 #define GL_TEXTURE_LOD_BIAS 0x8501
111997 #define GL_GENERATE_MIPMAP 0x8191
111998 #define GL_GENERATE_MIPMAP_HINT 0x8192
111999 #define GL_BLEND_DST_RGB 0x80C8
112000 #define GL_BLEND_SRC_RGB 0x80C9
112001 #define GL_BLEND_DST_ALPHA 0x80CA
112002 #define GL_BLEND_SRC_ALPHA 0x80CB
112003 #define GL_MIRRORED_REPEAT 0x8370
112004 #define GL_DEPTH_COMPONENT16 0x81A5
112005 #define GL_DEPTH_COMPONENT24 0x81A6
112006 #define GL_DEPTH_COMPONENT32 0x81A7
112007 #define GL_TEXTURE_DEPTH_SIZE 0x884A
112008 #define GL_DEPTH_TEXTURE_MODE 0x884B
112009 #define GL_TEXTURE_COMPARE_MODE 0x884C
112010 #define GL_TEXTURE_COMPARE_FUNC 0x884D
112011 #define GL_COMPARE_R_TO_TEXTURE 0x884E
112012
112013
112014
112015  void glAccum (GLenum op, GLfloat value);
112016  void glAlphaFunc (GLenum func, GLclampf ref);
112017  GLboolean glAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences);
112018  void glArrayElement (GLint i);
112019  void glBegin (GLenum mode);
112020  void glBindTexture (GLenum target, GLuint texture);
112021  void glBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
112022  void glBlendFunc (GLenum sfactor, GLenum dfactor);
112023  void glCallList (GLuint list);
112024  void glCallLists (GLsizei n, GLenum type, const GLvoid *lists);
112025  void glClear (GLbitfield mask);
112026  void glClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
112027  void glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
112028  void glClearDepth (GLclampd depth);
112029  void glClearIndex (GLfloat c);
112030  void glClearStencil (GLint s);
112031  void glClipPlane (GLenum plane, const GLdouble *equation);
112032  void glColor3b (GLbyte red, GLbyte green, GLbyte blue);
112033  void glColor3bv (const GLbyte *v);
112034  void glColor3d (GLdouble red, GLdouble green, GLdouble blue);
112035  void glColor3dv (const GLdouble *v);
112036  void glColor3f (GLfloat red, GLfloat green, GLfloat blue);
112037  void glColor3fv (const GLfloat *v);
112038  void glColor3i (GLint red, GLint green, GLint blue);
112039  void glColor3iv (const GLint *v);
112040  void glColor3s (GLshort red, GLshort green, GLshort blue);
112041  void glColor3sv (const GLshort *v);
112042  void glColor3ub (GLubyte red, GLubyte green, GLubyte blue);
112043  void glColor3ubv (const GLubyte *v);
112044  void glColor3ui (GLuint red, GLuint green, GLuint blue);
112045  void glColor3uiv (const GLuint *v);
112046  void glColor3us (GLushort red, GLushort green, GLushort blue);
112047  void glColor3usv (const GLushort *v);
112048  void glColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
112049  void glColor4bv (const GLbyte *v);
112050  void glColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
112051  void glColor4dv (const GLdouble *v);
112052  void glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
112053  void glColor4fv (const GLfloat *v);
112054  void glColor4i (GLint red, GLint green, GLint blue, GLint alpha);
112055  void glColor4iv (const GLint *v);
112056  void glColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha);
112057  void glColor4sv (const GLshort *v);
112058  void glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
112059  void glColor4ubv (const GLubyte *v);
112060  void glColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha);
112061  void glColor4uiv (const GLuint *v);
112062  void glColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha);
112063  void glColor4usv (const GLushort *v);
112064  void glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
112065  void glColorMaterial (GLenum face, GLenum mode);
112066  void glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
112067  void glCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
112068  void glCopyTexImage1D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
112069  void glCopyTexImage2D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
112070  void glCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
112071  void glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
112072  void glCullFace (GLenum mode);
112073  void glDeleteLists (GLuint list, GLsizei range);
112074  void glDeleteTextures (GLsizei n, const GLuint *textures);
112075  void glDepthFunc (GLenum func);
112076  void glDepthMask (GLboolean flag);
112077  void glDepthRange (GLclampd zNear, GLclampd zFar);
112078  void glDisable (GLenum cap);
112079  void glDisableClientState (GLenum array);
112080  void glDrawArrays (GLenum mode, GLint first, GLsizei count);
112081  void glDrawBuffer (GLenum mode);
112082  void glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
112083  void glDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
112084  void glEdgeFlag (GLboolean flag);
112085  void glEdgeFlagPointer (GLsizei stride, const GLvoid *pointer);
112086  void glEdgeFlagv (const GLboolean *flag);
112087  void glEnable (GLenum cap);
112088  void glEnableClientState (GLenum array);
112089  void glEnd (void);
112090  void glEndList (void);
112091  void glEvalCoord1d (GLdouble u);
112092  void glEvalCoord1dv (const GLdouble *u);
112093  void glEvalCoord1f (GLfloat u);
112094  void glEvalCoord1fv (const GLfloat *u);
112095  void glEvalCoord2d (GLdouble u, GLdouble v);
112096  void glEvalCoord2dv (const GLdouble *u);
112097  void glEvalCoord2f (GLfloat u, GLfloat v);
112098  void glEvalCoord2fv (const GLfloat *u);
112099  void glEvalMesh1 (GLenum mode, GLint i1, GLint i2);
112100  void glEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
112101  void glEvalPoint1 (GLint i);
112102  void glEvalPoint2 (GLint i, GLint j);
112103  void glFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer);
112104  void glFinish (void);
112105  void glFlush (void);
112106  void glFogf (GLenum pname, GLfloat param);
112107  void glFogfv (GLenum pname, const GLfloat *params);
112108  void glFogi (GLenum pname, GLint param);
112109  void glFogiv (GLenum pname, const GLint *params);
112110  void glFrontFace (GLenum mode);
112111  void glFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
112112  GLuint glGenLists (GLsizei range);
112113  void glGenTextures (GLsizei n, GLuint *textures);
112114  void glGetBooleanv (GLenum pname, GLboolean *params);
112115  void glGetClipPlane (GLenum plane, GLdouble *equation);
112116  void glGetDoublev (GLenum pname, GLdouble *params);
112117  GLenum glGetError (void);
112118  void glGetFloatv (GLenum pname, GLfloat *params);
112119  void glGetIntegerv (GLenum pname, GLint *params);
112120  void glGetLightfv (GLenum light, GLenum pname, GLfloat *params);
112121  void glGetLightiv (GLenum light, GLenum pname, GLint *params);
112122  void glGetMapdv (GLenum target, GLenum query, GLdouble *v);
112123  void glGetMapfv (GLenum target, GLenum query, GLfloat *v);
112124  void glGetMapiv (GLenum target, GLenum query, GLint *v);
112125  void glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params);
112126  void glGetMaterialiv (GLenum face, GLenum pname, GLint *params);
112127  void glGetPixelMapfv (GLenum map, GLfloat *values);
112128  void glGetPixelMapuiv (GLenum map, GLuint *values);
112129  void glGetPixelMapusv (GLenum map, GLushort *values);
112130  void glGetPointerv (GLenum pname, GLvoid* *params);
112131  void glGetPolygonStipple (GLubyte *mask);
112132  const GLubyte * glGetString (GLenum name);
112133  void glGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params);
112134  void glGetTexEnviv (GLenum target, GLenum pname, GLint *params);
112135  void glGetTexGendv (GLenum coord, GLenum pname, GLdouble *params);
112136  void glGetTexGenfv (GLenum coord, GLenum pname, GLfloat *params);
112137  void glGetTexGeniv (GLenum coord, GLenum pname, GLint *params);
112138  void glGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
112139  void glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params);
112140  void glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params);
112141  void glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
112142  void glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
112143  void glHint (GLenum target, GLenum mode);
112144  void glIndexMask (GLuint mask);
112145  void glIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
112146  void glIndexd (GLdouble c);
112147  void glIndexdv (const GLdouble *c);
112148  void glIndexf (GLfloat c);
112149  void glIndexfv (const GLfloat *c);
112150  void glIndexi (GLint c);
112151  void glIndexiv (const GLint *c);
112152  void glIndexs (GLshort c);
112153  void glIndexsv (const GLshort *c);
112154  void glIndexub (GLubyte c);
112155  void glIndexubv (const GLubyte *c);
112156  void glInitNames (void);
112157  void glInterleavedArrays (GLenum format, GLsizei stride, const GLvoid *pointer);
112158  GLboolean glIsEnabled (GLenum cap);
112159  GLboolean glIsList (GLuint list);
112160  GLboolean glIsTexture (GLuint texture);
112161  void glLightModelf (GLenum pname, GLfloat param);
112162  void glLightModelfv (GLenum pname, const GLfloat *params);
112163  void glLightModeli (GLenum pname, GLint param);
112164  void glLightModeliv (GLenum pname, const GLint *params);
112165  void glLightf (GLenum light, GLenum pname, GLfloat param);
112166  void glLightfv (GLenum light, GLenum pname, const GLfloat *params);
112167  void glLighti (GLenum light, GLenum pname, GLint param);
112168  void glLightiv (GLenum light, GLenum pname, const GLint *params);
112169  void glLineStipple (GLint factor, GLushort pattern);
112170  void glLineWidth (GLfloat width);
112171  void glListBase (GLuint base);
112172  void glLoadIdentity (void);
112173  void glLoadMatrixd (const GLdouble *m);
112174  void glLoadMatrixf (const GLfloat *m);
112175  void glLoadName (GLuint name);
112176  void glLogicOp (GLenum opcode);
112177  void glMap1d (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
112178  void glMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
112179  void glMap2d (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
112180  void glMap2f (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
112181  void glMapGrid1d (GLint un, GLdouble u1, GLdouble u2);
112182  void glMapGrid1f (GLint un, GLfloat u1, GLfloat u2);
112183  void glMapGrid2d (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
112184  void glMapGrid2f (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
112185  void glMaterialf (GLenum face, GLenum pname, GLfloat param);
112186  void glMaterialfv (GLenum face, GLenum pname, const GLfloat *params);
112187  void glMateriali (GLenum face, GLenum pname, GLint param);
112188  void glMaterialiv (GLenum face, GLenum pname, const GLint *params);
112189  void glMatrixMode (GLenum mode);
112190  void glMultMatrixd (const GLdouble *m);
112191  void glMultMatrixf (const GLfloat *m);
112192  void glNewList (GLuint list, GLenum mode);
112193  void glNormal3b (GLbyte nx, GLbyte ny, GLbyte nz);
112194  void glNormal3bv (const GLbyte *v);
112195  void glNormal3d (GLdouble nx, GLdouble ny, GLdouble nz);
112196  void glNormal3dv (const GLdouble *v);
112197  void glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz);
112198  void glNormal3fv (const GLfloat *v);
112199  void glNormal3i (GLint nx, GLint ny, GLint nz);
112200  void glNormal3iv (const GLint *v);
112201  void glNormal3s (GLshort nx, GLshort ny, GLshort nz);
112202  void glNormal3sv (const GLshort *v);
112203  void glNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
112204  void glOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
112205  void glPassThrough (GLfloat token);
112206  void glPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values);
112207  void glPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values);
112208  void glPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values);
112209  void glPixelStoref (GLenum pname, GLfloat param);
112210  void glPixelStorei (GLenum pname, GLint param);
112211  void glPixelTransferf (GLenum pname, GLfloat param);
112212  void glPixelTransferi (GLenum pname, GLint param);
112213  void glPixelZoom (GLfloat xfactor, GLfloat yfactor);
112214  void glPointSize (GLfloat size);
112215  void glPolygonMode (GLenum face, GLenum mode);
112216  void glPolygonOffset (GLfloat factor, GLfloat units);
112217  void glPolygonStipple (const GLubyte *mask);
112218  void glPopAttrib (void);
112219  void glPopClientAttrib (void);
112220  void glPopMatrix (void);
112221  void glPopName (void);
112222  void glPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities);
112223  void glPushAttrib (GLbitfield mask);
112224  void glPushClientAttrib (GLbitfield mask);
112225  void glPushMatrix (void);
112226  void glPushName (GLuint name);
112227  void glRasterPos2d (GLdouble x, GLdouble y);
112228  void glRasterPos2dv (const GLdouble *v);
112229  void glRasterPos2f (GLfloat x, GLfloat y);
112230  void glRasterPos2fv (const GLfloat *v);
112231  void glRasterPos2i (GLint x, GLint y);
112232  void glRasterPos2iv (const GLint *v);
112233  void glRasterPos2s (GLshort x, GLshort y);
112234  void glRasterPos2sv (const GLshort *v);
112235  void glRasterPos3d (GLdouble x, GLdouble y, GLdouble z);
112236  void glRasterPos3dv (const GLdouble *v);
112237  void glRasterPos3f (GLfloat x, GLfloat y, GLfloat z);
112238  void glRasterPos3fv (const GLfloat *v);
112239  void glRasterPos3i (GLint x, GLint y, GLint z);
112240  void glRasterPos3iv (const GLint *v);
112241  void glRasterPos3s (GLshort x, GLshort y, GLshort z);
112242  void glRasterPos3sv (const GLshort *v);
112243  void glRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
112244  void glRasterPos4dv (const GLdouble *v);
112245  void glRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
112246  void glRasterPos4fv (const GLfloat *v);
112247  void glRasterPos4i (GLint x, GLint y, GLint z, GLint w);
112248  void glRasterPos4iv (const GLint *v);
112249  void glRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w);
112250  void glRasterPos4sv (const GLshort *v);
112251  void glReadBuffer (GLenum mode);
112252  void glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
112253  void glRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
112254  void glRectdv (const GLdouble *v1, const GLdouble *v2);
112255  void glRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
112256  void glRectfv (const GLfloat *v1, const GLfloat *v2);
112257  void glRecti (GLint x1, GLint y1, GLint x2, GLint y2);
112258  void glRectiv (const GLint *v1, const GLint *v2);
112259  void glRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2);
112260  void glRectsv (const GLshort *v1, const GLshort *v2);
112261  GLint glRenderMode (GLenum mode);
112262  void glRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
112263  void glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
112264  void glScaled (GLdouble x, GLdouble y, GLdouble z);
112265  void glScalef (GLfloat x, GLfloat y, GLfloat z);
112266  void glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
112267  void glSelectBuffer (GLsizei size, GLuint *buffer);
112268  void glShadeModel (GLenum mode);
112269  void glStencilFunc (GLenum func, GLint ref, GLuint mask);
112270  void glStencilMask (GLuint mask);
112271  void glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
112272  void glTexCoord1d (GLdouble s);
112273  void glTexCoord1dv (const GLdouble *v);
112274  void glTexCoord1f (GLfloat s);
112275  void glTexCoord1fv (const GLfloat *v);
112276  void glTexCoord1i (GLint s);
112277  void glTexCoord1iv (const GLint *v);
112278  void glTexCoord1s (GLshort s);
112279  void glTexCoord1sv (const GLshort *v);
112280  void glTexCoord2d (GLdouble s, GLdouble t);
112281  void glTexCoord2dv (const GLdouble *v);
112282  void glTexCoord2f (GLfloat s, GLfloat t);
112283  void glTexCoord2fv (const GLfloat *v);
112284  void glTexCoord2i (GLint s, GLint t);
112285  void glTexCoord2iv (const GLint *v);
112286  void glTexCoord2s (GLshort s, GLshort t);
112287  void glTexCoord2sv (const GLshort *v);
112288  void glTexCoord3d (GLdouble s, GLdouble t, GLdouble r);
112289  void glTexCoord3dv (const GLdouble *v);
112290  void glTexCoord3f (GLfloat s, GLfloat t, GLfloat r);
112291  void glTexCoord3fv (const GLfloat *v);
112292  void glTexCoord3i (GLint s, GLint t, GLint r);
112293  void glTexCoord3iv (const GLint *v);
112294  void glTexCoord3s (GLshort s, GLshort t, GLshort r);
112295  void glTexCoord3sv (const GLshort *v);
112296  void glTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q);
112297  void glTexCoord4dv (const GLdouble *v);
112298  void glTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q);
112299  void glTexCoord4fv (const GLfloat *v);
112300  void glTexCoord4i (GLint s, GLint t, GLint r, GLint q);
112301  void glTexCoord4iv (const GLint *v);
112302  void glTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q);
112303  void glTexCoord4sv (const GLshort *v);
112304  void glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
112305  void glTexEnvf (GLenum target, GLenum pname, GLfloat param);
112306  void glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params);
112307  void glTexEnvi (GLenum target, GLenum pname, GLint param);
112308  void glTexEnviv (GLenum target, GLenum pname, const GLint *params);
112309  void glTexGend (GLenum coord, GLenum pname, GLdouble param);
112310  void glTexGendv (GLenum coord, GLenum pname, const GLdouble *params);
112311  void glTexGenf (GLenum coord, GLenum pname, GLfloat param);
112312  void glTexGenfv (GLenum coord, GLenum pname, const GLfloat *params);
112313  void glTexGeni (GLenum coord, GLenum pname, GLint param);
112314  void glTexGeniv (GLenum coord, GLenum pname, const GLint *params);
112315  void glTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
112316  void glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
112317  void glTexParameterf (GLenum target, GLenum pname, GLfloat param);
112318  void glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
112319  void glTexParameteri (GLenum target, GLenum pname, GLint param);
112320  void glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
112321  void glTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
112322  void glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
112323  void glTranslated (GLdouble x, GLdouble y, GLdouble z);
112324  void glTranslatef (GLfloat x, GLfloat y, GLfloat z);
112325  void glVertex2d (GLdouble x, GLdouble y);
112326  void glVertex2dv (const GLdouble *v);
112327  void glVertex2f (GLfloat x, GLfloat y);
112328  void glVertex2fv (const GLfloat *v);
112329  void glVertex2i (GLint x, GLint y);
112330  void glVertex2iv (const GLint *v);
112331  void glVertex2s (GLshort x, GLshort y);
112332  void glVertex2sv (const GLshort *v);
112333  void glVertex3d (GLdouble x, GLdouble y, GLdouble z);
112334  void glVertex3dv (const GLdouble *v);
112335  void glVertex3f (GLfloat x, GLfloat y, GLfloat z);
112336  void glVertex3fv (const GLfloat *v);
112337  void glVertex3i (GLint x, GLint y, GLint z);
112338  void glVertex3iv (const GLint *v);
112339  void glVertex3s (GLshort x, GLshort y, GLshort z);
112340  void glVertex3sv (const GLshort *v);
112341  void glVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
112342  void glVertex4dv (const GLdouble *v);
112343  void glVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
112344  void glVertex4fv (const GLfloat *v);
112345  void glVertex4i (GLint x, GLint y, GLint z, GLint w);
112346  void glVertex4iv (const GLint *v);
112347  void glVertex4s (GLshort x, GLshort y, GLshort z, GLshort w);
112348  void glVertex4sv (const GLshort *v);
112349  void glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
112350  void glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
112351
112352
112353 #undef GLAPI
112354 #undef __DEFINED_GLAPI
112355
112356
112357
112358
112359
112360
112361
112362 }
112363 # 53 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 2
112364 # 1 "/usr/include/GL/glu.h" 1 3 4
112365 # 31 "/usr/include/GL/glu.h" 3 4
112366 #define __glu_h__ 
112367 # 40 "/usr/include/GL/glu.h" 3 4
112368 #define GLAPIENTRY 
112369
112370
112371
112372 #define GLAPIENTRYP GLAPIENTRY *
112373
112374
112375
112376 #define GLAPI 
112377
112378
112379
112380 extern "C" {
112381
112382
112383
112384
112385
112386 #define GLU_EXT_object_space_tess 1
112387 #define GLU_EXT_nurbs_tessellator 1
112388
112389
112390 #define GLU_FALSE 0
112391 #define GLU_TRUE 1
112392
112393
112394 #define GLU_VERSION_1_1 1
112395 #define GLU_VERSION_1_2 1
112396 #define GLU_VERSION_1_3 1
112397
112398
112399 #define GLU_VERSION 100800
112400 #define GLU_EXTENSIONS 100801
112401
112402
112403 #define GLU_INVALID_ENUM 100900
112404 #define GLU_INVALID_VALUE 100901
112405 #define GLU_OUT_OF_MEMORY 100902
112406 #define GLU_INCOMPATIBLE_GL_VERSION 100903
112407 #define GLU_INVALID_OPERATION 100904
112408
112409
112410
112411 #define GLU_OUTLINE_POLYGON 100240
112412 #define GLU_OUTLINE_PATCH 100241
112413
112414
112415 #define GLU_NURBS_ERROR 100103
112416 #define GLU_ERROR 100103
112417 #define GLU_NURBS_BEGIN 100164
112418 #define GLU_NURBS_BEGIN_EXT 100164
112419 #define GLU_NURBS_VERTEX 100165
112420 #define GLU_NURBS_VERTEX_EXT 100165
112421 #define GLU_NURBS_NORMAL 100166
112422 #define GLU_NURBS_NORMAL_EXT 100166
112423 #define GLU_NURBS_COLOR 100167
112424 #define GLU_NURBS_COLOR_EXT 100167
112425 #define GLU_NURBS_TEXTURE_COORD 100168
112426 #define GLU_NURBS_TEX_COORD_EXT 100168
112427 #define GLU_NURBS_END 100169
112428 #define GLU_NURBS_END_EXT 100169
112429 #define GLU_NURBS_BEGIN_DATA 100170
112430 #define GLU_NURBS_BEGIN_DATA_EXT 100170
112431 #define GLU_NURBS_VERTEX_DATA 100171
112432 #define GLU_NURBS_VERTEX_DATA_EXT 100171
112433 #define GLU_NURBS_NORMAL_DATA 100172
112434 #define GLU_NURBS_NORMAL_DATA_EXT 100172
112435 #define GLU_NURBS_COLOR_DATA 100173
112436 #define GLU_NURBS_COLOR_DATA_EXT 100173
112437 #define GLU_NURBS_TEXTURE_COORD_DATA 100174
112438 #define GLU_NURBS_TEX_COORD_DATA_EXT 100174
112439 #define GLU_NURBS_END_DATA 100175
112440 #define GLU_NURBS_END_DATA_EXT 100175
112441
112442
112443 #define GLU_NURBS_ERROR1 100251
112444 #define GLU_NURBS_ERROR2 100252
112445 #define GLU_NURBS_ERROR3 100253
112446 #define GLU_NURBS_ERROR4 100254
112447 #define GLU_NURBS_ERROR5 100255
112448 #define GLU_NURBS_ERROR6 100256
112449 #define GLU_NURBS_ERROR7 100257
112450 #define GLU_NURBS_ERROR8 100258
112451 #define GLU_NURBS_ERROR9 100259
112452 #define GLU_NURBS_ERROR10 100260
112453 #define GLU_NURBS_ERROR11 100261
112454 #define GLU_NURBS_ERROR12 100262
112455 #define GLU_NURBS_ERROR13 100263
112456 #define GLU_NURBS_ERROR14 100264
112457 #define GLU_NURBS_ERROR15 100265
112458 #define GLU_NURBS_ERROR16 100266
112459 #define GLU_NURBS_ERROR17 100267
112460 #define GLU_NURBS_ERROR18 100268
112461 #define GLU_NURBS_ERROR19 100269
112462 #define GLU_NURBS_ERROR20 100270
112463 #define GLU_NURBS_ERROR21 100271
112464 #define GLU_NURBS_ERROR22 100272
112465 #define GLU_NURBS_ERROR23 100273
112466 #define GLU_NURBS_ERROR24 100274
112467 #define GLU_NURBS_ERROR25 100275
112468 #define GLU_NURBS_ERROR26 100276
112469 #define GLU_NURBS_ERROR27 100277
112470 #define GLU_NURBS_ERROR28 100278
112471 #define GLU_NURBS_ERROR29 100279
112472 #define GLU_NURBS_ERROR30 100280
112473 #define GLU_NURBS_ERROR31 100281
112474 #define GLU_NURBS_ERROR32 100282
112475 #define GLU_NURBS_ERROR33 100283
112476 #define GLU_NURBS_ERROR34 100284
112477 #define GLU_NURBS_ERROR35 100285
112478 #define GLU_NURBS_ERROR36 100286
112479 #define GLU_NURBS_ERROR37 100287
112480
112481
112482 #define GLU_AUTO_LOAD_MATRIX 100200
112483 #define GLU_CULLING 100201
112484 #define GLU_SAMPLING_TOLERANCE 100203
112485 #define GLU_DISPLAY_MODE 100204
112486 #define GLU_PARAMETRIC_TOLERANCE 100202
112487 #define GLU_SAMPLING_METHOD 100205
112488 #define GLU_U_STEP 100206
112489 #define GLU_V_STEP 100207
112490 #define GLU_NURBS_MODE 100160
112491 #define GLU_NURBS_MODE_EXT 100160
112492 #define GLU_NURBS_TESSELLATOR 100161
112493 #define GLU_NURBS_TESSELLATOR_EXT 100161
112494 #define GLU_NURBS_RENDERER 100162
112495 #define GLU_NURBS_RENDERER_EXT 100162
112496
112497
112498 #define GLU_OBJECT_PARAMETRIC_ERROR 100208
112499 #define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208
112500 #define GLU_OBJECT_PATH_LENGTH 100209
112501 #define GLU_OBJECT_PATH_LENGTH_EXT 100209
112502 #define GLU_PATH_LENGTH 100215
112503 #define GLU_PARAMETRIC_ERROR 100216
112504 #define GLU_DOMAIN_DISTANCE 100217
112505
112506
112507 #define GLU_MAP1_TRIM_2 100210
112508 #define GLU_MAP1_TRIM_3 100211
112509
112510
112511 #define GLU_POINT 100010
112512 #define GLU_LINE 100011
112513 #define GLU_FILL 100012
112514 #define GLU_SILHOUETTE 100013
112515
112516
112517
112518
112519
112520 #define GLU_SMOOTH 100000
112521 #define GLU_FLAT 100001
112522 #define GLU_NONE 100002
112523
112524
112525 #define GLU_OUTSIDE 100020
112526 #define GLU_INSIDE 100021
112527
112528
112529 #define GLU_TESS_BEGIN 100100
112530 #define GLU_BEGIN 100100
112531 #define GLU_TESS_VERTEX 100101
112532 #define GLU_VERTEX 100101
112533 #define GLU_TESS_END 100102
112534 #define GLU_END 100102
112535 #define GLU_TESS_ERROR 100103
112536 #define GLU_TESS_EDGE_FLAG 100104
112537 #define GLU_EDGE_FLAG 100104
112538 #define GLU_TESS_COMBINE 100105
112539 #define GLU_TESS_BEGIN_DATA 100106
112540 #define GLU_TESS_VERTEX_DATA 100107
112541 #define GLU_TESS_END_DATA 100108
112542 #define GLU_TESS_ERROR_DATA 100109
112543 #define GLU_TESS_EDGE_FLAG_DATA 100110
112544 #define GLU_TESS_COMBINE_DATA 100111
112545
112546
112547 #define GLU_CW 100120
112548 #define GLU_CCW 100121
112549 #define GLU_INTERIOR 100122
112550 #define GLU_EXTERIOR 100123
112551 #define GLU_UNKNOWN 100124
112552
112553
112554 #define GLU_TESS_WINDING_RULE 100140
112555 #define GLU_TESS_BOUNDARY_ONLY 100141
112556 #define GLU_TESS_TOLERANCE 100142
112557
112558
112559 #define GLU_TESS_ERROR1 100151
112560 #define GLU_TESS_ERROR2 100152
112561 #define GLU_TESS_ERROR3 100153
112562 #define GLU_TESS_ERROR4 100154
112563 #define GLU_TESS_ERROR5 100155
112564 #define GLU_TESS_ERROR6 100156
112565 #define GLU_TESS_ERROR7 100157
112566 #define GLU_TESS_ERROR8 100158
112567 #define GLU_TESS_MISSING_BEGIN_POLYGON 100151
112568 #define GLU_TESS_MISSING_BEGIN_CONTOUR 100152
112569 #define GLU_TESS_MISSING_END_POLYGON 100153
112570 #define GLU_TESS_MISSING_END_CONTOUR 100154
112571 #define GLU_TESS_COORD_TOO_LARGE 100155
112572 #define GLU_TESS_NEED_COMBINE_CALLBACK 100156
112573
112574
112575 #define GLU_TESS_WINDING_ODD 100130
112576 #define GLU_TESS_WINDING_NONZERO 100131
112577 #define GLU_TESS_WINDING_POSITIVE 100132
112578 #define GLU_TESS_WINDING_NEGATIVE 100133
112579 #define GLU_TESS_WINDING_ABS_GEQ_TWO 100134
112580
112581
112582
112583
112584
112585 class GLUnurbs;
112586 class GLUquadric;
112587 class GLUtesselator;
112588
112589
112590
112591
112592
112593
112594 typedef GLUnurbs GLUnurbsObj;
112595 typedef GLUquadric GLUquadricObj;
112596 typedef GLUtesselator GLUtesselatorObj;
112597 typedef GLUtesselator GLUtriangulatorObj;
112598
112599 #define GLU_TESS_MAX_COORD 1.0e150
112600
112601
112602 typedef void ( * _GLUfuncptr)();
112603
112604  void gluBeginCurve (GLUnurbs* nurb);
112605  void gluBeginPolygon (GLUtesselator* tess);
112606  void gluBeginSurface (GLUnurbs* nurb);
112607  void gluBeginTrim (GLUnurbs* nurb);
112608  GLint gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
112609  GLint gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
112610  GLint gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
112611  GLint gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
112612  GLint gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
112613  GLint gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
112614  GLboolean gluCheckExtension (const GLubyte *extName, const GLubyte *extString);
112615  void gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks);
112616  void gluDeleteNurbsRenderer (GLUnurbs* nurb);
112617  void gluDeleteQuadric (GLUquadric* quad);
112618  void gluDeleteTess (GLUtesselator* tess);
112619  void gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
112620  void gluEndCurve (GLUnurbs* nurb);
112621  void gluEndPolygon (GLUtesselator* tess);
112622  void gluEndSurface (GLUnurbs* nurb);
112623  void gluEndTrim (GLUnurbs* nurb);
112624  const GLubyte * gluErrorString (GLenum error);
112625  void gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data);
112626  const GLubyte * gluGetString (GLenum name);
112627  void gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data);
112628  void gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view);
112629  void gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
112630  GLUnurbs* gluNewNurbsRenderer (void);
112631  GLUquadric* gluNewQuadric (void);
112632  GLUtesselator* gluNewTess (void);
112633  void gluNextContour (GLUtesselator* tess, GLenum type);
112634  void gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc);
112635  void gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData);
112636  void gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
112637  void gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type);
112638  void gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value);
112639  void gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type);
112640  void gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
112641  void gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
112642  void gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
112643  void gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
112644  GLint gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
112645  void gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type);
112646  void gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc);
112647  void gluQuadricDrawStyle (GLUquadric* quad, GLenum draw);
112648  void gluQuadricNormals (GLUquadric* quad, GLenum normal);
112649  void gluQuadricOrientation (GLUquadric* quad, GLenum orientation);
112650  void gluQuadricTexture (GLUquadric* quad, GLboolean texture);
112651  GLint gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut);
112652  void gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks);
112653  void gluTessBeginContour (GLUtesselator* tess);
112654  void gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data);
112655  void gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
112656  void gluTessEndContour (GLUtesselator* tess);
112657  void gluTessEndPolygon (GLUtesselator* tess);
112658  void gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
112659  void gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data);
112660  void gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data);
112661  GLint gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
112662  GLint gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW);
112663
112664
112665 }
112666 # 54 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 2
112667
112668
112669 #undef GLUT_APIENTRY_DEFINED
112670 #undef APIENTRY
112671 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcgvertexshader.h" 2
112672 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/shader.hpp" 1
112673
112674 #define GRAPHICS_SHADER_HPP 
112675
112676
112677 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/texture2d.hpp" 1
112678
112679 #define GRAPHICS_TEXTURE2D_HPP 
112680 # 24 "/home/emanuel/DIKU/3dot/source/api/graphics/texture2d.hpp"
112681 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/resource.hpp" 1
112682
112683 #define GRAPHICS_RESOURCE_HPP 
112684
112685
112686
112687 namespace Graphics
112688 {
112689
112690  class Resource
112691  {
112692  public:
112693   Resource(void) {}
112694   virtual ~Resource(void) {}
112695  };
112696
112697 }
112698 # 25 "/home/emanuel/DIKU/3dot/source/api/graphics/texture2d.hpp" 2
112699
112700 namespace Graphics
112701 {
112702  class ITexture2D : public Resource
112703  {
112704  public:
112705   ITexture2D(){}
112706   ITexture2D(int width, int height, const void* data, unsigned int dataFormat, unsigned int textureFormat, unsigned int type){}
112707
112708   virtual void WrapS(unsigned int parameter) = 0;
112709   virtual void WrapT(unsigned int parameter) = 0;
112710
112711   virtual void MagFilter(unsigned int parameter) = 0;
112712   virtual void MinFilter(unsigned int parameter) = 0;
112713
112714   virtual void GenerateMipMap(int levels) = 0;
112715
112716   virtual const unsigned char LookupUByte( float u, float v, int offset) = 0;
112717 # 53 "/home/emanuel/DIKU/3dot/source/api/graphics/texture2d.hpp"
112718  };
112719
112720  typedef boost::shared_ptr<ITexture2D> Texture2D;
112721 }
112722 # 6 "/home/emanuel/DIKU/3dot/source/api/graphics/shader.hpp" 2
112723
112724 namespace Graphics
112725 {
112726  class IShader
112727  {
112728  public:
112729   virtual void LoadFromFile(std::string filename) = 0;
112730   virtual void LoadFromString(std::string& source) = 0;
112731
112732   virtual void Enable() = 0;
112733   virtual void Disable() = 0;
112734
112735   virtual void SetUniform(std::string const & name, float const v0) = 0;
112736   virtual void SetUniform(std::string const & name, float const v0, float const v1) = 0;
112737   virtual void SetUniform(std::string const & name, float const v0, float const v1, float const v2) = 0;
112738   virtual void SetUniform(std::string const & name, float const v0, float const v1, float const v2, float const v3) = 0;
112739
112740
112741   virtual void SetUniform(std::string const & name, Texture2D texture) = 0;
112742
112743
112744
112745   virtual void SetModelviewProjectionMatrix( std::string const & name ) = 0;
112746   virtual void SetModelviewInverseTranspose( std::string const & name ) = 0;
112747   virtual void SetModelviewInverse( std::string const & name ) = 0;
112748   virtual void SetModelview( std::string const & name ) = 0;
112749   virtual void SetTextureMatrix( std::string const & name ) = 0;
112750
112751   virtual void setFloatArray(std::string const & name, int const size, float const values) = 0;
112752
112753
112754
112755
112756  };
112757 }
112758 # 6 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcgvertexshader.h" 2
112759
112760
112761
112762 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengltexture2d.h" 1
112763
112764 #define OPENGL_TEXTURE_2D_H 
112765
112766 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 1
112767 # 10 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h"
112768 #define OPENGL_API_H 
112769
112770 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
112771 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
112772 #define APIENTRY 
112773 #define GLUT_APIENTRY_DEFINED 
112774 #define CALLBACK 
112775
112776
112777
112778
112779
112780
112781 #undef GLUT_APIENTRY_DEFINED
112782 #undef APIENTRY
112783 # 13 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
112784
112785 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 1
112786
112787 #define M_GRAPHICS_IAPI_HPP 
112788
112789 #define GRAPHICS_API_OPENGL 
112790
112791
112792
112793 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/vertexbuffer.hpp" 1
112794
112795 #define GRAPHICS_VERTEX_BUFFER_HPP 
112796
112797
112798
112799 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/vertexformat.hpp" 1
112800
112801 #define GRAPHICS_VERTEX_FORMAT_H 
112802
112803
112804
112805 namespace Graphics
112806 {
112807  enum VertexAttribute
112808  {
112809   VB_POS = 1,
112810   VB_COLOR0 = 2,
112811   VB_COLOR1 = 4,
112812   VB_NORMAL = 8,
112813   VB_TEXCOORD0 = 16,
112814   VB_TEXCOORD1 = 32,
112815   VB_TEXCOORD2 = 64,
112816   VB_TEXCOORD3 = 128,
112817   VB_TEXCOORD4 = 256,
112818   VB_TEXCOORD5 = 512,
112819   VB_TEXCOORD6 = 1024,
112820   VB_TEXCOORD7 = 2048,
112821   VB_FOGCOORD = 4096,
112822   VB_ATTRIB = 8192,
112823   VB_WEIGHT = 16384,
112824   VB_INDEX = 32768
112825  };
112826 # 48 "/home/emanuel/DIKU/3dot/source/api/graphics/vertexformat.hpp"
112827  enum VertexType
112828  {
112829   float1,
112830   float2,
112831   float3,
112832   float4,
112833  };
112834
112835  class IVertexFormat
112836  {
112837
112838  public:
112839   struct Format
112840   {
112841    unsigned int attribute;
112842    unsigned int type;
112843   };
112844
112845  public:
112846   virtual void SetAttribute(unsigned int attribute, unsigned int type) = 0;
112847   virtual bool Using(unsigned int attribute) = 0;
112848
112849   typedef std::vector<IVertexFormat::Format>::iterator iterator;
112850   virtual std::vector<Format>::iterator begin() = 0;
112851   virtual std::vector<Format>::iterator end() = 0;
112852
112853
112854
112855  protected:
112856   std::vector<Format> formats;
112857   bool* use;
112858
112859  };
112860 }
112861 # 7 "/home/emanuel/DIKU/3dot/source/api/graphics/vertexbuffer.hpp" 2
112862
112863
112864 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/indexbuffer.hpp" 1
112865
112866 #define GRAPHICS_INDEX_BUFFER_HPP 
112867
112868
112869
112870
112871 namespace Graphics
112872 {
112873  class IIndexBuffer : public Resource
112874  {
112875  public:
112876   IIndexBuffer(){}
112877   virtual ~IIndexBuffer(){}
112878   virtual void SetIndexData(std::vector<int> indexData) = 0;
112879   virtual std::vector<int> GetIndexData() = 0;
112880
112881  protected:
112882   std::vector<int> indexData;
112883  };
112884
112885  typedef boost::shared_ptr<IIndexBuffer> IndexBuffer;
112886 }
112887 # 10 "/home/emanuel/DIKU/3dot/source/api/graphics/vertexbuffer.hpp" 2
112888
112889 namespace Graphics
112890 {
112891
112892
112893
112894
112895
112896
112897  enum Access
112898  {
112899   VB_READ_ONLY,
112900   VB_WRITE_ONLY,
112901   VB_READ_WRITE
112902  };
112903
112904  class IVertexBuffer : public Resource
112905  {
112906  public:
112907
112908   IVertexBuffer( ){};
112909   virtual void Clear() = 0;
112910   virtual void SetUsage(unsigned int usage) = 0;
112911
112912
112913   virtual void SetVertexData(unsigned int attribute, boost::shared_ptr< float > vertexData ) = 0;
112914   virtual void SetVertexData(unsigned int attribute, boost::shared_ptr< std::vector<float> > vertexData ) = 0;
112915   virtual void SetVertexData(unsigned int attribute, boost::shared_ptr< std::vector<Math::vec2> > vertexData ) = 0;
112916   virtual void SetVertexData(unsigned int attribute, boost::shared_ptr< std::vector<Math::vec3> > vertexData ) = 0;
112917   virtual void SetVertexData(unsigned int attribute, boost::shared_ptr< std::vector<Math::vec4> > vertexData ) = 0;
112918
112919
112920
112921   virtual void Draw(unsigned int drawMode) = 0;
112922   virtual void Draw(unsigned int drawMode, IndexBuffer indexBuffer) = 0;
112923
112924   virtual void SetSize(int vertices) = 0;
112925   virtual int GetSize() = 0;
112926
112927
112928
112929
112930  };
112931
112932  typedef boost::shared_ptr<IVertexBuffer> VertexBuffer;
112933 }
112934 # 9 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 2
112935
112936 # 1 "/home/emanuel/DIKU/3dot/source/api/os/os.hpp" 1
112937 # 12 "/home/emanuel/DIKU/3dot/source/api/os/os.hpp"
112938 #define OPERATING_SYSTEM_API_HPP 
112939
112940 # 1 "/usr/include/boost/function.hpp" 1 3 4
112941 # 61 "/usr/include/boost/function.hpp" 3 4
112942 #define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
112943 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
112944 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
112945 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
112946 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
112947 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
112948 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
112949 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
112950 #undef BOOST_PP_SLOT_TEMP_1
112951 #undef BOOST_PP_SLOT_TEMP_2
112952 #undef BOOST_PP_SLOT_TEMP_3
112953 #undef BOOST_PP_SLOT_TEMP_4
112954 #undef BOOST_PP_SLOT_TEMP_5
112955 #undef BOOST_PP_SLOT_TEMP_6
112956 #undef BOOST_PP_SLOT_TEMP_7
112957 #undef BOOST_PP_SLOT_TEMP_8
112958 #undef BOOST_PP_SLOT_TEMP_9
112959 #undef BOOST_PP_SLOT_TEMP_10
112960
112961
112962 #define BOOST_PP_SLOT_TEMP_10 0
112963 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
112964 #define BOOST_PP_SLOT_TEMP_9 0
112965 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
112966 #define BOOST_PP_SLOT_TEMP_8 0
112967 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
112968 #define BOOST_PP_SLOT_TEMP_7 0
112969 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
112970 #define BOOST_PP_SLOT_TEMP_6 0
112971 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
112972 #define BOOST_PP_SLOT_TEMP_5 0
112973 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
112974 #define BOOST_PP_SLOT_TEMP_4 0
112975 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
112976 #define BOOST_PP_SLOT_TEMP_3 0
112977 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
112978 #define BOOST_PP_SLOT_TEMP_2 0
112979 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
112980 #define BOOST_PP_SLOT_TEMP_1 0
112981 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
112982 #undef BOOST_PP_VALUE
112983 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
112984
112985 #undef BOOST_PP_ITERATION_START_1
112986
112987 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
112988 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
112989 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
112990 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
112991 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
112992 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
112993 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
112994 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
112995 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
112996 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
112997
112998
112999 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
113000 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
113001 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
113002 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
113003 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
113004 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
113005 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
113006 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113007 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
113008 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
113009 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
113010 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
113011 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
113012 #undef BOOST_PP_SLOT_TEMP_1
113013 #undef BOOST_PP_SLOT_TEMP_2
113014 #undef BOOST_PP_SLOT_TEMP_3
113015 #undef BOOST_PP_SLOT_TEMP_4
113016 #undef BOOST_PP_SLOT_TEMP_5
113017 #undef BOOST_PP_SLOT_TEMP_6
113018 #undef BOOST_PP_SLOT_TEMP_7
113019 #undef BOOST_PP_SLOT_TEMP_8
113020 #undef BOOST_PP_SLOT_TEMP_9
113021 #undef BOOST_PP_SLOT_TEMP_10
113022
113023
113024 #define BOOST_PP_SLOT_TEMP_10 0
113025 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
113026 #define BOOST_PP_SLOT_TEMP_9 0
113027 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
113028 #define BOOST_PP_SLOT_TEMP_8 0
113029 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
113030 #define BOOST_PP_SLOT_TEMP_7 0
113031 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
113032 #define BOOST_PP_SLOT_TEMP_6 0
113033 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
113034 #define BOOST_PP_SLOT_TEMP_5 0
113035 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
113036 #define BOOST_PP_SLOT_TEMP_4 0
113037 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
113038 #define BOOST_PP_SLOT_TEMP_3 0
113039 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
113040 #define BOOST_PP_SLOT_TEMP_2 1
113041 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
113042 #define BOOST_PP_SLOT_TEMP_1 0
113043 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
113044 #undef BOOST_PP_VALUE
113045 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
113046
113047 #undef BOOST_PP_ITERATION_FINISH_1
113048
113049 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
113050 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
113051 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
113052 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
113053 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
113054 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
113055 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
113056 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
113057 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
113058 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
113059
113060
113061 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
113062 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
113063 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
113064 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
113065 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
113066 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
113067 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
113068 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113069 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
113070
113071
113072
113073 #define BOOST_PP_ITERATION_FLAGS_1 0
113074
113075
113076
113077
113078
113079 #undef BOOST_PP_ITERATION_DEPTH
113080 #define BOOST_PP_ITERATION_DEPTH() 1
113081
113082 #define BOOST_PP_IS_ITERATING 1
113083
113084
113085
113086
113087
113088 #define BOOST_PP_ITERATION_1 0
113089 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
113090 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
113091 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
113092 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
113093 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
113094 #undef BOOST_FUNCTION_NUM_ARGS
113095 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113096 #undef BOOST_PP_ITERATION_1
113097
113098
113099 #define BOOST_PP_ITERATION_1 1
113100 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
113101 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
113102 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
113103 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
113104 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
113105 #undef BOOST_FUNCTION_NUM_ARGS
113106 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113107 #undef BOOST_PP_ITERATION_1
113108
113109
113110 #define BOOST_PP_ITERATION_1 2
113111 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
113112 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
113113 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
113114 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
113115 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
113116 #undef BOOST_FUNCTION_NUM_ARGS
113117 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113118 #undef BOOST_PP_ITERATION_1
113119
113120
113121 #define BOOST_PP_ITERATION_1 3
113122 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
113123 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
113124 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
113125 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
113126 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
113127 #undef BOOST_FUNCTION_NUM_ARGS
113128 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113129 #undef BOOST_PP_ITERATION_1
113130
113131
113132 #define BOOST_PP_ITERATION_1 4
113133 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
113134 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
113135 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
113136 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
113137 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
113138 #undef BOOST_FUNCTION_NUM_ARGS
113139 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113140 #undef BOOST_PP_ITERATION_1
113141
113142
113143 #define BOOST_PP_ITERATION_1 5
113144 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
113145 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
113146 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
113147 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
113148 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
113149 #undef BOOST_FUNCTION_NUM_ARGS
113150 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113151 #undef BOOST_PP_ITERATION_1
113152
113153
113154 #define BOOST_PP_ITERATION_1 6
113155 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
113156 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
113157 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
113158 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
113159 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
113160 #undef BOOST_FUNCTION_NUM_ARGS
113161 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113162 #undef BOOST_PP_ITERATION_1
113163
113164
113165 #define BOOST_PP_ITERATION_1 7
113166 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
113167 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
113168 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
113169 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
113170 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
113171 #undef BOOST_FUNCTION_NUM_ARGS
113172 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113173 #undef BOOST_PP_ITERATION_1
113174
113175
113176 #define BOOST_PP_ITERATION_1 8
113177 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
113178 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
113179 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
113180 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
113181 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
113182 #undef BOOST_FUNCTION_NUM_ARGS
113183 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113184 #undef BOOST_PP_ITERATION_1
113185
113186
113187 #define BOOST_PP_ITERATION_1 9
113188 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
113189 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
113190 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
113191 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
113192 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
113193 #undef BOOST_FUNCTION_NUM_ARGS
113194 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113195 #undef BOOST_PP_ITERATION_1
113196
113197
113198 #define BOOST_PP_ITERATION_1 10
113199 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
113200 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
113201 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
113202 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
113203 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
113204 #undef BOOST_FUNCTION_NUM_ARGS
113205 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
113206 #undef BOOST_PP_ITERATION_1
113207 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
113208 #undef BOOST_PP_IS_ITERATING
113209
113210 #undef BOOST_PP_ITERATION_DEPTH
113211 #define BOOST_PP_ITERATION_DEPTH() 0
113212
113213 #undef BOOST_PP_ITERATION_START_1
113214 #undef BOOST_PP_ITERATION_FINISH_1
113215 #undef BOOST_PP_FILENAME_1
113216
113217 #undef BOOST_PP_ITERATION_FLAGS_1
113218 #undef BOOST_PP_ITERATION_PARAMS_1
113219 # 63 "/usr/include/boost/function.hpp" 2 3 4
113220 #undef BOOST_PP_ITERATION_PARAMS_1
113221 # 15 "/home/emanuel/DIKU/3dot/source/api/os/os.hpp" 2
113222
113223
113224 # 1 "/home/emanuel/DIKU/3dot/source/api/os/osforward.hpp" 1
113225 # 11 "/home/emanuel/DIKU/3dot/source/api/os/osforward.hpp"
113226 #define OS_API_FORWARD_3DIKU 
113227
113228
113229
113230
113231
113232
113233 # 1 "/usr/include/X11/X.h" 1 3 4
113234
113235
113236
113237
113238
113239
113240
113241 #define X_H 
113242 # 58 "/usr/include/X11/X.h" 3 4
113243 #define X_PROTOCOL 11
113244 #define X_PROTOCOL_REVISION 0
113245 # 70 "/usr/include/X11/X.h" 3 4
113246 #define _XTYPEDEF_XID 
113247 typedef unsigned long XID;
113248
113249
113250 #define _XTYPEDEF_MASK 
113251 typedef unsigned long Mask;
113252
113253
113254 #define _XTYPEDEF_ATOM 
113255 typedef unsigned long Atom;
113256
113257 typedef unsigned long VisualID;
113258 typedef unsigned long Time;
113259 # 101 "/usr/include/X11/X.h" 3 4
113260 typedef XID Window;
113261 typedef XID Drawable;
113262
113263 #define _XTYPEDEF_FONT 
113264 typedef XID Font;
113265
113266 typedef XID Pixmap;
113267 typedef XID Cursor;
113268 typedef XID Colormap;
113269 typedef XID GContext;
113270 typedef XID KeySym;
113271
113272 typedef unsigned char KeyCode;
113273
113274
113275
113276
113277
113278
113279 #define None 0L
113280
113281
113282 #define ParentRelative 1L
113283
113284
113285 #define CopyFromParent 0L
113286
113287
113288
113289
113290 #define PointerWindow 0L
113291 #define InputFocus 1L
113292
113293 #define PointerRoot 1L
113294
113295 #define AnyPropertyType 0L
113296
113297 #define AnyKey 0L
113298
113299 #define AnyButton 0L
113300
113301 #define AllTemporary 0L
113302
113303 #define CurrentTime 0L
113304
113305 #define NoSymbol 0L
113306 # 155 "/usr/include/X11/X.h" 3 4
113307 #define NoEventMask 0L
113308 #define KeyPressMask (1L<<0)
113309 #define KeyReleaseMask (1L<<1)
113310 #define ButtonPressMask (1L<<2)
113311 #define ButtonReleaseMask (1L<<3)
113312 #define EnterWindowMask (1L<<4)
113313 #define LeaveWindowMask (1L<<5)
113314 #define PointerMotionMask (1L<<6)
113315 #define PointerMotionHintMask (1L<<7)
113316 #define Button1MotionMask (1L<<8)
113317 #define Button2MotionMask (1L<<9)
113318 #define Button3MotionMask (1L<<10)
113319 #define Button4MotionMask (1L<<11)
113320 #define Button5MotionMask (1L<<12)
113321 #define ButtonMotionMask (1L<<13)
113322 #define KeymapStateMask (1L<<14)
113323 #define ExposureMask (1L<<15)
113324 #define VisibilityChangeMask (1L<<16)
113325 #define StructureNotifyMask (1L<<17)
113326 #define ResizeRedirectMask (1L<<18)
113327 #define SubstructureNotifyMask (1L<<19)
113328 #define SubstructureRedirectMask (1L<<20)
113329 #define FocusChangeMask (1L<<21)
113330 #define PropertyChangeMask (1L<<22)
113331 #define ColormapChangeMask (1L<<23)
113332 #define OwnerGrabButtonMask (1L<<24)
113333
113334
113335
113336
113337
113338 #define KeyPress 2
113339 #define KeyRelease 3
113340 #define ButtonPress 4
113341 #define ButtonRelease 5
113342 #define MotionNotify 6
113343 #define EnterNotify 7
113344 #define LeaveNotify 8
113345 #define FocusIn 9
113346 #define FocusOut 10
113347 #define KeymapNotify 11
113348 #define Expose 12
113349 #define GraphicsExpose 13
113350 #define NoExpose 14
113351 #define VisibilityNotify 15
113352 #define CreateNotify 16
113353 #define DestroyNotify 17
113354 #define UnmapNotify 18
113355 #define MapNotify 19
113356 #define MapRequest 20
113357 #define ReparentNotify 21
113358 #define ConfigureNotify 22
113359 #define ConfigureRequest 23
113360 #define GravityNotify 24
113361 #define ResizeRequest 25
113362 #define CirculateNotify 26
113363 #define CirculateRequest 27
113364 #define PropertyNotify 28
113365 #define SelectionClear 29
113366 #define SelectionRequest 30
113367 #define SelectionNotify 31
113368 #define ColormapNotify 32
113369 #define ClientMessage 33
113370 #define MappingNotify 34
113371 #define LASTEvent 35
113372
113373
113374
113375
113376
113377 #define ShiftMask (1<<0)
113378 #define LockMask (1<<1)
113379 #define ControlMask (1<<2)
113380 #define Mod1Mask (1<<3)
113381 #define Mod2Mask (1<<4)
113382 #define Mod3Mask (1<<5)
113383 #define Mod4Mask (1<<6)
113384 #define Mod5Mask (1<<7)
113385
113386
113387
113388
113389 #define ShiftMapIndex 0
113390 #define LockMapIndex 1
113391 #define ControlMapIndex 2
113392 #define Mod1MapIndex 3
113393 #define Mod2MapIndex 4
113394 #define Mod3MapIndex 5
113395 #define Mod4MapIndex 6
113396 #define Mod5MapIndex 7
113397
113398
113399
113400
113401
113402 #define Button1Mask (1<<8)
113403 #define Button2Mask (1<<9)
113404 #define Button3Mask (1<<10)
113405 #define Button4Mask (1<<11)
113406 #define Button5Mask (1<<12)
113407
113408 #define AnyModifier (1<<15)
113409
113410
113411
113412
113413
113414
113415 #define Button1 1
113416 #define Button2 2
113417 #define Button3 3
113418 #define Button4 4
113419 #define Button5 5
113420
113421
113422
113423 #define NotifyNormal 0
113424 #define NotifyGrab 1
113425 #define NotifyUngrab 2
113426 #define NotifyWhileGrabbed 3
113427
113428 #define NotifyHint 1
113429
113430
113431
113432 #define NotifyAncestor 0
113433 #define NotifyVirtual 1
113434 #define NotifyInferior 2
113435 #define NotifyNonlinear 3
113436 #define NotifyNonlinearVirtual 4
113437 #define NotifyPointer 5
113438 #define NotifyPointerRoot 6
113439 #define NotifyDetailNone 7
113440
113441
113442
113443 #define VisibilityUnobscured 0
113444 #define VisibilityPartiallyObscured 1
113445 #define VisibilityFullyObscured 2
113446
113447
113448
113449 #define PlaceOnTop 0
113450 #define PlaceOnBottom 1
113451
113452
113453
113454 #define FamilyInternet 0
113455 #define FamilyDECnet 1
113456 #define FamilyChaos 2
113457 #define FamilyInternet6 6
113458
113459
113460 #define FamilyServerInterpreted 5
113461
113462
113463
113464 #define PropertyNewValue 0
113465 #define PropertyDelete 1
113466
113467
113468
113469 #define ColormapUninstalled 0
113470 #define ColormapInstalled 1
113471
113472
113473
113474 #define GrabModeSync 0
113475 #define GrabModeAsync 1
113476
113477
113478
113479 #define GrabSuccess 0
113480 #define AlreadyGrabbed 1
113481 #define GrabInvalidTime 2
113482 #define GrabNotViewable 3
113483 #define GrabFrozen 4
113484
113485
113486
113487 #define AsyncPointer 0
113488 #define SyncPointer 1
113489 #define ReplayPointer 2
113490 #define AsyncKeyboard 3
113491 #define SyncKeyboard 4
113492 #define ReplayKeyboard 5
113493 #define AsyncBoth 6
113494 #define SyncBoth 7
113495
113496
113497
113498 #define RevertToNone (int)None
113499 #define RevertToPointerRoot (int)PointerRoot
113500 #define RevertToParent 2
113501
113502
113503
113504
113505
113506 #define Success 0
113507 #define BadRequest 1
113508 #define BadValue 2
113509 #define BadWindow 3
113510 #define BadPixmap 4
113511 #define BadAtom 5
113512 #define BadCursor 6
113513 #define BadFont 7
113514 #define BadMatch 8
113515 #define BadDrawable 9
113516 #define BadAccess 10
113517 # 373 "/usr/include/X11/X.h" 3 4
113518 #define BadAlloc 11
113519 #define BadColor 12
113520 #define BadGC 13
113521 #define BadIDChoice 14
113522 #define BadName 15
113523 #define BadLength 16
113524 #define BadImplementation 17
113525
113526 #define FirstExtensionError 128
113527 #define LastExtensionError 255
113528 # 391 "/usr/include/X11/X.h" 3 4
113529 #define InputOutput 1
113530 #define InputOnly 2
113531
113532
113533
113534 #define CWBackPixmap (1L<<0)
113535 #define CWBackPixel (1L<<1)
113536 #define CWBorderPixmap (1L<<2)
113537 #define CWBorderPixel (1L<<3)
113538 #define CWBitGravity (1L<<4)
113539 #define CWWinGravity (1L<<5)
113540 #define CWBackingStore (1L<<6)
113541 #define CWBackingPlanes (1L<<7)
113542 #define CWBackingPixel (1L<<8)
113543 #define CWOverrideRedirect (1L<<9)
113544 #define CWSaveUnder (1L<<10)
113545 #define CWEventMask (1L<<11)
113546 #define CWDontPropagate (1L<<12)
113547 #define CWColormap (1L<<13)
113548 #define CWCursor (1L<<14)
113549
113550
113551
113552 #define CWX (1<<0)
113553 #define CWY (1<<1)
113554 #define CWWidth (1<<2)
113555 #define CWHeight (1<<3)
113556 #define CWBorderWidth (1<<4)
113557 #define CWSibling (1<<5)
113558 #define CWStackMode (1<<6)
113559
113560
113561
113562
113563 #define ForgetGravity 0
113564 #define NorthWestGravity 1
113565 #define NorthGravity 2
113566 #define NorthEastGravity 3
113567 #define WestGravity 4
113568 #define CenterGravity 5
113569 #define EastGravity 6
113570 #define SouthWestGravity 7
113571 #define SouthGravity 8
113572 #define SouthEastGravity 9
113573 #define StaticGravity 10
113574
113575
113576
113577 #define UnmapGravity 0
113578
113579
113580
113581 #define NotUseful 0
113582 #define WhenMapped 1
113583 #define Always 2
113584
113585
113586
113587 #define IsUnmapped 0
113588 #define IsUnviewable 1
113589 #define IsViewable 2
113590
113591
113592
113593 #define SetModeInsert 0
113594 #define SetModeDelete 1
113595
113596
113597
113598 #define DestroyAll 0
113599 #define RetainPermanent 1
113600 #define RetainTemporary 2
113601
113602
113603
113604 #define Above 0
113605 #define Below 1
113606 #define TopIf 2
113607 #define BottomIf 3
113608 #define Opposite 4
113609
113610
113611
113612 #define RaiseLowest 0
113613 #define LowerHighest 1
113614
113615
113616
113617 #define PropModeReplace 0
113618 #define PropModePrepend 1
113619 #define PropModeAppend 2
113620
113621
113622
113623
113624
113625
113626
113627 #define GXclear 0x0
113628 #define GXand 0x1
113629 #define GXandReverse 0x2
113630 #define GXcopy 0x3
113631 #define GXandInverted 0x4
113632 #define GXnoop 0x5
113633 #define GXxor 0x6
113634 #define GXor 0x7
113635 #define GXnor 0x8
113636 #define GXequiv 0x9
113637 #define GXinvert 0xa
113638 #define GXorReverse 0xb
113639 #define GXcopyInverted 0xc
113640 #define GXorInverted 0xd
113641 #define GXnand 0xe
113642 #define GXset 0xf
113643
113644
113645
113646 #define LineSolid 0
113647 #define LineOnOffDash 1
113648 #define LineDoubleDash 2
113649
113650
113651
113652 #define CapNotLast 0
113653 #define CapButt 1
113654 #define CapRound 2
113655 #define CapProjecting 3
113656
113657
113658
113659 #define JoinMiter 0
113660 #define JoinRound 1
113661 #define JoinBevel 2
113662
113663
113664
113665 #define FillSolid 0
113666 #define FillTiled 1
113667 #define FillStippled 2
113668 #define FillOpaqueStippled 3
113669
113670
113671
113672 #define EvenOddRule 0
113673 #define WindingRule 1
113674
113675
113676
113677 #define ClipByChildren 0
113678 #define IncludeInferiors 1
113679
113680
113681
113682 #define Unsorted 0
113683 #define YSorted 1
113684 #define YXSorted 2
113685 #define YXBanded 3
113686
113687
113688
113689 #define CoordModeOrigin 0
113690 #define CoordModePrevious 1
113691
113692
113693
113694 #define Complex 0
113695 #define Nonconvex 1
113696 #define Convex 2
113697
113698
113699
113700 #define ArcChord 0
113701 #define ArcPieSlice 1
113702
113703
113704
113705
113706 #define GCFunction (1L<<0)
113707 #define GCPlaneMask (1L<<1)
113708 #define GCForeground (1L<<2)
113709 #define GCBackground (1L<<3)
113710 #define GCLineWidth (1L<<4)
113711 #define GCLineStyle (1L<<5)
113712 #define GCCapStyle (1L<<6)
113713 #define GCJoinStyle (1L<<7)
113714 #define GCFillStyle (1L<<8)
113715 #define GCFillRule (1L<<9)
113716 #define GCTile (1L<<10)
113717 #define GCStipple (1L<<11)
113718 #define GCTileStipXOrigin (1L<<12)
113719 #define GCTileStipYOrigin (1L<<13)
113720 #define GCFont (1L<<14)
113721 #define GCSubwindowMode (1L<<15)
113722 #define GCGraphicsExposures (1L<<16)
113723 #define GCClipXOrigin (1L<<17)
113724 #define GCClipYOrigin (1L<<18)
113725 #define GCClipMask (1L<<19)
113726 #define GCDashOffset (1L<<20)
113727 #define GCDashList (1L<<21)
113728 #define GCArcMode (1L<<22)
113729
113730 #define GCLastBit 22
113731
113732
113733
113734
113735
113736
113737 #define FontLeftToRight 0
113738 #define FontRightToLeft 1
113739
113740 #define FontChange 255
113741
113742
113743
113744
113745
113746
113747
113748 #define XYBitmap 0
113749 #define XYPixmap 1
113750 #define ZPixmap 2
113751
113752
113753
113754
113755
113756
113757
113758 #define AllocNone 0
113759 #define AllocAll 1
113760
113761
113762
113763
113764 #define DoRed (1<<0)
113765 #define DoGreen (1<<1)
113766 #define DoBlue (1<<2)
113767
113768
113769
113770
113771
113772
113773
113774 #define CursorShape 0
113775 #define TileShape 1
113776 #define StippleShape 2
113777
113778
113779
113780
113781
113782 #define AutoRepeatModeOff 0
113783 #define AutoRepeatModeOn 1
113784 #define AutoRepeatModeDefault 2
113785
113786 #define LedModeOff 0
113787 #define LedModeOn 1
113788
113789
113790
113791 #define KBKeyClickPercent (1L<<0)
113792 #define KBBellPercent (1L<<1)
113793 #define KBBellPitch (1L<<2)
113794 #define KBBellDuration (1L<<3)
113795 #define KBLed (1L<<4)
113796 #define KBLedMode (1L<<5)
113797 #define KBKey (1L<<6)
113798 #define KBAutoRepeatMode (1L<<7)
113799
113800 #define MappingSuccess 0
113801 #define MappingBusy 1
113802 #define MappingFailed 2
113803
113804 #define MappingModifier 0
113805 #define MappingKeyboard 1
113806 #define MappingPointer 2
113807
113808
113809
113810
113811
113812 #define DontPreferBlanking 0
113813 #define PreferBlanking 1
113814 #define DefaultBlanking 2
113815
113816 #define DisableScreenSaver 0
113817 #define DisableScreenInterval 0
113818
113819 #define DontAllowExposures 0
113820 #define AllowExposures 1
113821 #define DefaultExposures 2
113822
113823
113824
113825 #define ScreenSaverReset 0
113826 #define ScreenSaverActive 1
113827
113828
113829
113830
113831
113832
113833
113834 #define HostInsert 0
113835 #define HostDelete 1
113836
113837
113838
113839 #define EnableAccess 1
113840 #define DisableAccess 0
113841
113842
113843
113844
113845
113846 #define StaticGray 0
113847 #define GrayScale 1
113848 #define StaticColor 2
113849 #define PseudoColor 3
113850 #define TrueColor 4
113851 #define DirectColor 5
113852
113853
113854
113855
113856 #define LSBFirst 0
113857 #define MSBFirst 1
113858 # 19 "/home/emanuel/DIKU/3dot/source/api/os/osforward.hpp" 2
113859 # 1 "/usr/include/X11/Xlib.h" 1 3 4
113860 # 37 "/usr/include/X11/Xlib.h" 3 4
113861 #define _XLIB_H_ 
113862
113863 #define XlibSpecificationRelease 6
113864 # 63 "/usr/include/X11/Xlib.h" 3 4
113865 # 1 "/usr/include/X11/Xfuncproto.h" 1 3 4
113866 # 33 "/usr/include/X11/Xfuncproto.h" 3 4
113867 #define _XFUNCPROTO_H_ 
113868
113869
113870 #define NeedFunctionPrototypes 1
113871
113872
113873
113874 #define NeedVarargsPrototypes 1
113875
113876
113877
113878
113879
113880 #define NeedNestedPrototypes 1
113881
113882
113883
113884 #define _Xconst const
113885
113886
113887
113888
113889 #define NARROWPROTO 
113890
113891
113892 #define FUNCPROTO 15
113893
113894
113895
113896
113897 #define NeedWidePrototypes 0
113898 # 73 "/usr/include/X11/Xfuncproto.h" 3 4
113899 #define _XFUNCPROTOBEGIN extern "C" {
113900 #define _XFUNCPROTOEND }
113901
113902
113903
113904
113905
113906
113907
113908 #define _X_SENTINEL(x) __attribute__ ((__sentinel__(x)))
113909 #define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y)))
113910
113911
113912
113913
113914
113915
113916 #define _X_EXPORT __attribute__((visibility("default")))
113917 #define _X_HIDDEN __attribute__((visibility("hidden")))
113918 #define _X_INTERNAL __attribute__((visibility("internal")))
113919 # 104 "/usr/include/X11/Xfuncproto.h" 3 4
113920 #define _X_DEPRECATED __attribute__((deprecated))
113921 # 64 "/usr/include/X11/Xlib.h" 2 3 4
113922 # 1 "/usr/include/X11/Xosdefs.h" 1 3 4
113923 # 32 "/usr/include/X11/Xosdefs.h" 3 4
113924 #define _XOSDEFS_H_ 
113925 # 65 "/usr/include/X11/Xlib.h" 2 3 4
113926 # 75 "/usr/include/X11/Xlib.h" 3 4
113927 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
113928 # 76 "/usr/include/X11/Xlib.h" 2 3 4
113929 # 93 "/usr/include/X11/Xlib.h" 3 4
113930 extern int
113931 _Xmblen(
113932
113933
113934
113935
113936     char *str,
113937     int len
113938
113939     );
113940
113941
113942
113943 #define X_HAVE_UTF8_STRING 1
113944
113945 typedef char *XPointer;
113946
113947 #define Bool int
113948 #define Status int
113949 #define True 1
113950 #define False 0
113951
113952 #define QueuedAlready 0
113953 #define QueuedAfterReading 1
113954 #define QueuedAfterFlush 2
113955
113956 #define ConnectionNumber(dpy) (((_XPrivDisplay)dpy)->fd)
113957 #define RootWindow(dpy,scr) (ScreenOfDisplay(dpy,scr)->root)
113958 #define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen)
113959 #define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
113960 #define DefaultVisual(dpy,scr) (ScreenOfDisplay(dpy,scr)->root_visual)
113961 #define DefaultGC(dpy,scr) (ScreenOfDisplay(dpy,scr)->default_gc)
113962 #define BlackPixel(dpy,scr) (ScreenOfDisplay(dpy,scr)->black_pixel)
113963 #define WhitePixel(dpy,scr) (ScreenOfDisplay(dpy,scr)->white_pixel)
113964 #define AllPlanes ((unsigned long)~0L)
113965 #define QLength(dpy) (((_XPrivDisplay)dpy)->qlen)
113966 #define DisplayWidth(dpy,scr) (ScreenOfDisplay(dpy,scr)->width)
113967 #define DisplayHeight(dpy,scr) (ScreenOfDisplay(dpy,scr)->height)
113968 #define DisplayWidthMM(dpy,scr) (ScreenOfDisplay(dpy,scr)->mwidth)
113969 #define DisplayHeightMM(dpy,scr) (ScreenOfDisplay(dpy,scr)->mheight)
113970 #define DisplayPlanes(dpy,scr) (ScreenOfDisplay(dpy,scr)->root_depth)
113971 #define DisplayCells(dpy,scr) (DefaultVisual(dpy,scr)->map_entries)
113972 #define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens)
113973 #define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor)
113974 #define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version)
113975 #define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version)
113976 #define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release)
113977 #define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name)
113978 #define DefaultDepth(dpy,scr) (ScreenOfDisplay(dpy,scr)->root_depth)
113979 #define DefaultColormap(dpy,scr) (ScreenOfDisplay(dpy,scr)->cmap)
113980 #define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit)
113981 #define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order)
113982 #define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad)
113983 #define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order)
113984
113985
113986
113987 #define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1)
113988
113989 #define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read)
113990
113991
113992 #define ScreenOfDisplay(dpy,scr) (&((_XPrivDisplay)dpy)->screens[scr])
113993 #define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))
113994 #define DisplayOfScreen(s) ((s)->display)
113995 #define RootWindowOfScreen(s) ((s)->root)
113996 #define BlackPixelOfScreen(s) ((s)->black_pixel)
113997 #define WhitePixelOfScreen(s) ((s)->white_pixel)
113998 #define DefaultColormapOfScreen(s) ((s)->cmap)
113999 #define DefaultDepthOfScreen(s) ((s)->root_depth)
114000 #define DefaultGCOfScreen(s) ((s)->default_gc)
114001 #define DefaultVisualOfScreen(s) ((s)->root_visual)
114002 #define WidthOfScreen(s) ((s)->width)
114003 #define HeightOfScreen(s) ((s)->height)
114004 #define WidthMMOfScreen(s) ((s)->mwidth)
114005 #define HeightMMOfScreen(s) ((s)->mheight)
114006 #define PlanesOfScreen(s) ((s)->root_depth)
114007 #define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries)
114008 #define MinCmapsOfScreen(s) ((s)->min_maps)
114009 #define MaxCmapsOfScreen(s) ((s)->max_maps)
114010 #define DoesSaveUnders(s) ((s)->save_unders)
114011 #define DoesBackingStore(s) ((s)->backing_store)
114012 #define EventMaskOfScreen(s) ((s)->root_input_mask)
114013
114014
114015
114016
114017 typedef struct _XExtData {
114018  int number;
114019  struct _XExtData *next;
114020  int (*free_private)(
114021  struct _XExtData *extension
114022  );
114023  XPointer private_data;
114024 } XExtData;
114025
114026
114027
114028
114029 typedef struct {
114030  int extension;
114031  int major_opcode;
114032  int first_event;
114033  int first_error;
114034 } XExtCodes;
114035
114036
114037
114038
114039
114040 typedef struct {
114041     int depth;
114042     int bits_per_pixel;
114043     int scanline_pad;
114044 } XPixmapFormatValues;
114045
114046
114047
114048
114049
114050 typedef struct {
114051  int function;
114052  unsigned long plane_mask;
114053  unsigned long foreground;
114054  unsigned long background;
114055  int line_width;
114056  int line_style;
114057  int cap_style;
114058
114059  int join_style;
114060  int fill_style;
114061
114062  int fill_rule;
114063  int arc_mode;
114064  Pixmap tile;
114065  Pixmap stipple;
114066  int ts_x_origin;
114067  int ts_y_origin;
114068         Font font;
114069  int subwindow_mode;
114070  int graphics_exposures;
114071  int clip_x_origin;
114072  int clip_y_origin;
114073  Pixmap clip_mask;
114074  int dash_offset;
114075  char dashes;
114076 } XGCValues;
114077
114078
114079
114080
114081
114082
114083 typedef struct _XGC
114084
114085
114086
114087
114088
114089
114090
114091 *GC;
114092
114093
114094
114095
114096 typedef struct {
114097  XExtData *ext_data;
114098  VisualID visualid;
114099
114100  int c_class;
114101
114102
114103
114104  unsigned long red_mask, green_mask, blue_mask;
114105  int bits_per_rgb;
114106  int map_entries;
114107 } Visual;
114108
114109
114110
114111
114112 typedef struct {
114113  int depth;
114114  int nvisuals;
114115  Visual *visuals;
114116 } Depth;
114117
114118
114119
114120
114121
114122
114123
114124 struct _XDisplay;
114125
114126 typedef struct {
114127  XExtData *ext_data;
114128  struct _XDisplay *display;
114129  Window root;
114130  int width, height;
114131  int mwidth, mheight;
114132  int ndepths;
114133  Depth *depths;
114134  int root_depth;
114135  Visual *root_visual;
114136  GC default_gc;
114137  Colormap cmap;
114138  unsigned long white_pixel;
114139  unsigned long black_pixel;
114140  int max_maps, min_maps;
114141  int backing_store;
114142  int save_unders;
114143  long root_input_mask;
114144 } Screen;
114145
114146
114147
114148
114149 typedef struct {
114150  XExtData *ext_data;
114151  int depth;
114152  int bits_per_pixel;
114153  int scanline_pad;
114154 } ScreenFormat;
114155
114156
114157
114158
114159 typedef struct {
114160     Pixmap background_pixmap;
114161     unsigned long background_pixel;
114162     Pixmap border_pixmap;
114163     unsigned long border_pixel;
114164     int bit_gravity;
114165     int win_gravity;
114166     int backing_store;
114167     unsigned long backing_planes;
114168     unsigned long backing_pixel;
114169     int save_under;
114170     long event_mask;
114171     long do_not_propagate_mask;
114172     int override_redirect;
114173     Colormap colormap;
114174     Cursor cursor;
114175 } XSetWindowAttributes;
114176
114177 typedef struct {
114178     int x, y;
114179     int width, height;
114180     int border_width;
114181     int depth;
114182     Visual *visual;
114183     Window root;
114184
114185     int c_class;
114186
114187
114188
114189     int bit_gravity;
114190     int win_gravity;
114191     int backing_store;
114192     unsigned long backing_planes;
114193     unsigned long backing_pixel;
114194     int save_under;
114195     Colormap colormap;
114196     int map_installed;
114197     int map_state;
114198     long all_event_masks;
114199     long your_event_mask;
114200     long do_not_propagate_mask;
114201     int override_redirect;
114202     Screen *screen;
114203 } XWindowAttributes;
114204
114205
114206
114207
114208
114209
114210 typedef struct {
114211  int family;
114212  int length;
114213  char *address;
114214 } XHostAddress;
114215
114216
114217
114218
114219 typedef struct {
114220  int typelength;
114221  int valuelength;
114222  char *type;
114223  char *value;
114224 } XServerInterpretedAddress;
114225
114226
114227
114228
114229 typedef struct _XImage {
114230     int width, height;
114231     int xoffset;
114232     int format;
114233     char *data;
114234     int byte_order;
114235     int bitmap_unit;
114236     int bitmap_bit_order;
114237     int bitmap_pad;
114238     int depth;
114239     int bytes_per_line;
114240     int bits_per_pixel;
114241     unsigned long red_mask;
114242     unsigned long green_mask;
114243     unsigned long blue_mask;
114244     XPointer obdata;
114245     struct funcs {
114246  struct _XImage *(*create_image)(
114247   struct _XDisplay* ,
114248   Visual* ,
114249   unsigned int ,
114250   int ,
114251   int ,
114252   char* ,
114253   unsigned int ,
114254   unsigned int ,
114255   int ,
114256   int );
114257  int (*destroy_image) (struct _XImage *);
114258  unsigned long (*get_pixel) (struct _XImage *, int, int);
114259  int (*put_pixel) (struct _XImage *, int, int, unsigned long);
114260  struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
114261  int (*add_pixel) (struct _XImage *, long);
114262  } f;
114263 } XImage;
114264
114265
114266
114267
114268 typedef struct {
114269     int x, y;
114270     int width, height;
114271     int border_width;
114272     Window sibling;
114273     int stack_mode;
114274 } XWindowChanges;
114275
114276
114277
114278
114279 typedef struct {
114280  unsigned long pixel;
114281  unsigned short red, green, blue;
114282  char flags;
114283  char pad;
114284 } XColor;
114285
114286
114287
114288
114289
114290
114291 typedef struct {
114292     short x1, y1, x2, y2;
114293 } XSegment;
114294
114295 typedef struct {
114296     short x, y;
114297 } XPoint;
114298
114299 typedef struct {
114300     short x, y;
114301     unsigned short width, height;
114302 } XRectangle;
114303
114304 typedef struct {
114305     short x, y;
114306     unsigned short width, height;
114307     short angle1, angle2;
114308 } XArc;
114309
114310
114311
114312
114313 typedef struct {
114314         int key_click_percent;
114315         int bell_percent;
114316         int bell_pitch;
114317         int bell_duration;
114318         int led;
114319         int led_mode;
114320         int key;
114321         int auto_repeat_mode;
114322 } XKeyboardControl;
114323
114324
114325
114326 typedef struct {
114327         int key_click_percent;
114328  int bell_percent;
114329  unsigned int bell_pitch, bell_duration;
114330  unsigned long led_mask;
114331  int global_auto_repeat;
114332  char auto_repeats[32];
114333 } XKeyboardState;
114334
114335
114336
114337 typedef struct {
114338         Time time;
114339  short x, y;
114340 } XTimeCoord;
114341
114342
114343
114344 typedef struct {
114345   int max_keypermod;
114346   KeyCode *modifiermap;
114347 } XModifierKeymap;
114348 # 519 "/usr/include/X11/Xlib.h" 3 4
114349 typedef struct _XDisplay Display;
114350
114351
114352 struct _XPrivate;
114353 struct _XrmHashBucketRec;
114354
114355 typedef struct
114356
114357
114358
114359 {
114360  XExtData *ext_data;
114361  struct _XPrivate *private1;
114362  int fd;
114363  int private2;
114364  int proto_major_version;
114365  int proto_minor_version;
114366  char *vendor;
114367         XID private3;
114368  XID private4;
114369  XID private5;
114370  int private6;
114371  XID (*resource_alloc)(
114372   struct _XDisplay*
114373  );
114374  int byte_order;
114375  int bitmap_unit;
114376  int bitmap_pad;
114377  int bitmap_bit_order;
114378  int nformats;
114379  ScreenFormat *pixmap_format;
114380  int private8;
114381  int release;
114382  struct _XPrivate *private9, *private10;
114383  int qlen;
114384  unsigned long last_request_read;
114385  unsigned long request;
114386  XPointer private11;
114387  XPointer private12;
114388  XPointer private13;
114389  XPointer private14;
114390  unsigned max_request_size;
114391  struct _XrmHashBucketRec *db;
114392  int (*private15)(
114393   struct _XDisplay*
114394   );
114395  char *display_name;
114396  int default_screen;
114397  int nscreens;
114398  Screen *screens;
114399  unsigned long motion_buffer;
114400  unsigned long private16;
114401  int min_keycode;
114402  int max_keycode;
114403  XPointer private17;
114404  XPointer private18;
114405  int private19;
114406  char *xdefaults;
114407
114408 }
114409
114410
114411
114412 *_XPrivDisplay;
114413
114414 #undef _XEVENT_
114415
114416
114417
114418
114419 typedef struct {
114420  int type;
114421  unsigned long serial;
114422  int send_event;
114423  Display *display;
114424  Window window;
114425  Window root;
114426  Window subwindow;
114427  Time time;
114428  int x, y;
114429  int x_root, y_root;
114430  unsigned int state;
114431  unsigned int keycode;
114432  int same_screen;
114433 } XKeyEvent;
114434 typedef XKeyEvent XKeyPressedEvent;
114435 typedef XKeyEvent XKeyReleasedEvent;
114436
114437 typedef struct {
114438  int type;
114439  unsigned long serial;
114440  int send_event;
114441  Display *display;
114442  Window window;
114443  Window root;
114444  Window subwindow;
114445  Time time;
114446  int x, y;
114447  int x_root, y_root;
114448  unsigned int state;
114449  unsigned int button;
114450  int same_screen;
114451 } XButtonEvent;
114452 typedef XButtonEvent XButtonPressedEvent;
114453 typedef XButtonEvent XButtonReleasedEvent;
114454
114455 typedef struct {
114456  int type;
114457  unsigned long serial;
114458  int send_event;
114459  Display *display;
114460  Window window;
114461  Window root;
114462  Window subwindow;
114463  Time time;
114464  int x, y;
114465  int x_root, y_root;
114466  unsigned int state;
114467  char is_hint;
114468  int same_screen;
114469 } XMotionEvent;
114470 typedef XMotionEvent XPointerMovedEvent;
114471
114472 typedef struct {
114473  int type;
114474  unsigned long serial;
114475  int send_event;
114476  Display *display;
114477  Window window;
114478  Window root;
114479  Window subwindow;
114480  Time time;
114481  int x, y;
114482  int x_root, y_root;
114483  int mode;
114484  int detail;
114485
114486
114487
114488
114489  int same_screen;
114490  int focus;
114491  unsigned int state;
114492 } XCrossingEvent;
114493 typedef XCrossingEvent XEnterWindowEvent;
114494 typedef XCrossingEvent XLeaveWindowEvent;
114495
114496 typedef struct {
114497  int type;
114498  unsigned long serial;
114499  int send_event;
114500  Display *display;
114501  Window window;
114502  int mode;
114503
114504  int detail;
114505
114506
114507
114508
114509
114510 } XFocusChangeEvent;
114511 typedef XFocusChangeEvent XFocusInEvent;
114512 typedef XFocusChangeEvent XFocusOutEvent;
114513
114514
114515 typedef struct {
114516  int type;
114517  unsigned long serial;
114518  int send_event;
114519  Display *display;
114520  Window window;
114521  char key_vector[32];
114522 } XKeymapEvent;
114523
114524 typedef struct {
114525  int type;
114526  unsigned long serial;
114527  int send_event;
114528  Display *display;
114529  Window window;
114530  int x, y;
114531  int width, height;
114532  int count;
114533 } XExposeEvent;
114534
114535 typedef struct {
114536  int type;
114537  unsigned long serial;
114538  int send_event;
114539  Display *display;
114540  Drawable drawable;
114541  int x, y;
114542  int width, height;
114543  int count;
114544  int major_code;
114545  int minor_code;
114546 } XGraphicsExposeEvent;
114547
114548 typedef struct {
114549  int type;
114550  unsigned long serial;
114551  int send_event;
114552  Display *display;
114553  Drawable drawable;
114554  int major_code;
114555  int minor_code;
114556 } XNoExposeEvent;
114557
114558 typedef struct {
114559  int type;
114560  unsigned long serial;
114561  int send_event;
114562  Display *display;
114563  Window window;
114564  int state;
114565 } XVisibilityEvent;
114566
114567 typedef struct {
114568  int type;
114569  unsigned long serial;
114570  int send_event;
114571  Display *display;
114572  Window parent;
114573  Window window;
114574  int x, y;
114575  int width, height;
114576  int border_width;
114577  int override_redirect;
114578 } XCreateWindowEvent;
114579
114580 typedef struct {
114581  int type;
114582  unsigned long serial;
114583  int send_event;
114584  Display *display;
114585  Window event;
114586  Window window;
114587 } XDestroyWindowEvent;
114588
114589 typedef struct {
114590  int type;
114591  unsigned long serial;
114592  int send_event;
114593  Display *display;
114594  Window event;
114595  Window window;
114596  int from_configure;
114597 } XUnmapEvent;
114598
114599 typedef struct {
114600  int type;
114601  unsigned long serial;
114602  int send_event;
114603  Display *display;
114604  Window event;
114605  Window window;
114606  int override_redirect;
114607 } XMapEvent;
114608
114609 typedef struct {
114610  int type;
114611  unsigned long serial;
114612  int send_event;
114613  Display *display;
114614  Window parent;
114615  Window window;
114616 } XMapRequestEvent;
114617
114618 typedef struct {
114619  int type;
114620  unsigned long serial;
114621  int send_event;
114622  Display *display;
114623  Window event;
114624  Window window;
114625  Window parent;
114626  int x, y;
114627  int override_redirect;
114628 } XReparentEvent;
114629
114630 typedef struct {
114631  int type;
114632  unsigned long serial;
114633  int send_event;
114634  Display *display;
114635  Window event;
114636  Window window;
114637  int x, y;
114638  int width, height;
114639  int border_width;
114640  Window above;
114641  int override_redirect;
114642 } XConfigureEvent;
114643
114644 typedef struct {
114645  int type;
114646  unsigned long serial;
114647  int send_event;
114648  Display *display;
114649  Window event;
114650  Window window;
114651  int x, y;
114652 } XGravityEvent;
114653
114654 typedef struct {
114655  int type;
114656  unsigned long serial;
114657  int send_event;
114658  Display *display;
114659  Window window;
114660  int width, height;
114661 } XResizeRequestEvent;
114662
114663 typedef struct {
114664  int type;
114665  unsigned long serial;
114666  int send_event;
114667  Display *display;
114668  Window parent;
114669  Window window;
114670  int x, y;
114671  int width, height;
114672  int border_width;
114673  Window above;
114674  int detail;
114675  unsigned long value_mask;
114676 } XConfigureRequestEvent;
114677
114678 typedef struct {
114679  int type;
114680  unsigned long serial;
114681  int send_event;
114682  Display *display;
114683  Window event;
114684  Window window;
114685  int place;
114686 } XCirculateEvent;
114687
114688 typedef struct {
114689  int type;
114690  unsigned long serial;
114691  int send_event;
114692  Display *display;
114693  Window parent;
114694  Window window;
114695  int place;
114696 } XCirculateRequestEvent;
114697
114698 typedef struct {
114699  int type;
114700  unsigned long serial;
114701  int send_event;
114702  Display *display;
114703  Window window;
114704  Atom atom;
114705  Time time;
114706  int state;
114707 } XPropertyEvent;
114708
114709 typedef struct {
114710  int type;
114711  unsigned long serial;
114712  int send_event;
114713  Display *display;
114714  Window window;
114715  Atom selection;
114716  Time time;
114717 } XSelectionClearEvent;
114718
114719 typedef struct {
114720  int type;
114721  unsigned long serial;
114722  int send_event;
114723  Display *display;
114724  Window owner;
114725  Window requestor;
114726  Atom selection;
114727  Atom target;
114728  Atom property;
114729  Time time;
114730 } XSelectionRequestEvent;
114731
114732 typedef struct {
114733  int type;
114734  unsigned long serial;
114735  int send_event;
114736  Display *display;
114737  Window requestor;
114738  Atom selection;
114739  Atom target;
114740  Atom property;
114741  Time time;
114742 } XSelectionEvent;
114743
114744 typedef struct {
114745  int type;
114746  unsigned long serial;
114747  int send_event;
114748  Display *display;
114749  Window window;
114750  Colormap colormap;
114751
114752  int c_new;
114753
114754
114755
114756  int state;
114757 } XColormapEvent;
114758
114759 typedef struct {
114760  int type;
114761  unsigned long serial;
114762  int send_event;
114763  Display *display;
114764  Window window;
114765  Atom message_type;
114766  int format;
114767  union {
114768   char b[20];
114769   short s[10];
114770   long l[5];
114771   } data;
114772 } XClientMessageEvent;
114773
114774 typedef struct {
114775  int type;
114776  unsigned long serial;
114777  int send_event;
114778  Display *display;
114779  Window window;
114780  int request;
114781
114782  int first_keycode;
114783  int count;
114784 } XMappingEvent;
114785
114786 typedef struct {
114787  int type;
114788  Display *display;
114789  XID resourceid;
114790  unsigned long serial;
114791  unsigned char error_code;
114792  unsigned char request_code;
114793  unsigned char minor_code;
114794 } XErrorEvent;
114795
114796 typedef struct {
114797  int type;
114798  unsigned long serial;
114799  int send_event;
114800  Display *display;
114801  Window window;
114802 } XAnyEvent;
114803
114804
114805
114806
114807
114808 typedef union _XEvent {
114809         int type;
114810  XAnyEvent xany;
114811  XKeyEvent xkey;
114812  XButtonEvent xbutton;
114813  XMotionEvent xmotion;
114814  XCrossingEvent xcrossing;
114815  XFocusChangeEvent xfocus;
114816  XExposeEvent xexpose;
114817  XGraphicsExposeEvent xgraphicsexpose;
114818  XNoExposeEvent xnoexpose;
114819  XVisibilityEvent xvisibility;
114820  XCreateWindowEvent xcreatewindow;
114821  XDestroyWindowEvent xdestroywindow;
114822  XUnmapEvent xunmap;
114823  XMapEvent xmap;
114824  XMapRequestEvent xmaprequest;
114825  XReparentEvent xreparent;
114826  XConfigureEvent xconfigure;
114827  XGravityEvent xgravity;
114828  XResizeRequestEvent xresizerequest;
114829  XConfigureRequestEvent xconfigurerequest;
114830  XCirculateEvent xcirculate;
114831  XCirculateRequestEvent xcirculaterequest;
114832  XPropertyEvent xproperty;
114833  XSelectionClearEvent xselectionclear;
114834  XSelectionRequestEvent xselectionrequest;
114835  XSelectionEvent xselection;
114836  XColormapEvent xcolormap;
114837  XClientMessageEvent xclient;
114838  XMappingEvent xmapping;
114839  XErrorEvent xerror;
114840  XKeymapEvent xkeymap;
114841  long pad[24];
114842 } XEvent;
114843
114844
114845 #define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
114846
114847
114848
114849
114850 typedef struct {
114851     short lbearing;
114852     short rbearing;
114853     short width;
114854     short ascent;
114855     short descent;
114856     unsigned short attributes;
114857 } XCharStruct;
114858
114859
114860
114861
114862
114863 typedef struct {
114864     Atom name;
114865     unsigned long card32;
114866 } XFontProp;
114867
114868 typedef struct {
114869     XExtData *ext_data;
114870     Font fid;
114871     unsigned direction;
114872     unsigned min_char_or_byte2;
114873     unsigned max_char_or_byte2;
114874     unsigned min_byte1;
114875     unsigned max_byte1;
114876     int all_chars_exist;
114877     unsigned default_char;
114878     int n_properties;
114879     XFontProp *properties;
114880     XCharStruct min_bounds;
114881     XCharStruct max_bounds;
114882     XCharStruct *per_char;
114883     int ascent;
114884     int descent;
114885 } XFontStruct;
114886
114887
114888
114889
114890 typedef struct {
114891     char *chars;
114892     int nchars;
114893     int delta;
114894     Font font;
114895 } XTextItem;
114896
114897 typedef struct {
114898     unsigned char byte1;
114899     unsigned char byte2;
114900 } XChar2b;
114901
114902 typedef struct {
114903     XChar2b *chars;
114904     int nchars;
114905     int delta;
114906     Font font;
114907 } XTextItem16;
114908
114909
114910 typedef union { Display *display;
114911   GC gc;
114912   Visual *visual;
114913   Screen *screen;
114914   ScreenFormat *pixmap_format;
114915   XFontStruct *font; } XEDataObject;
114916
114917 typedef struct {
114918     XRectangle max_ink_extent;
114919     XRectangle max_logical_extent;
114920 } XFontSetExtents;
114921
114922
114923
114924
114925
114926 typedef struct _XOM *XOM;
114927 typedef struct _XOC *XOC, *XFontSet;
114928
114929 typedef struct {
114930     char *chars;
114931     int nchars;
114932     int delta;
114933     XFontSet font_set;
114934 } XmbTextItem;
114935
114936 typedef struct {
114937     wchar_t *chars;
114938     int nchars;
114939     int delta;
114940     XFontSet font_set;
114941 } XwcTextItem;
114942
114943 #define XNRequiredCharSet "requiredCharSet"
114944 #define XNQueryOrientation "queryOrientation"
114945 #define XNBaseFontName "baseFontName"
114946 #define XNOMAutomatic "omAutomatic"
114947 #define XNMissingCharSet "missingCharSet"
114948 #define XNDefaultString "defaultString"
114949 #define XNOrientation "orientation"
114950 #define XNDirectionalDependentDrawing "directionalDependentDrawing"
114951 #define XNContextualDrawing "contextualDrawing"
114952 #define XNFontInfo "fontInfo"
114953
114954 typedef struct {
114955     int charset_count;
114956     char **charset_list;
114957 } XOMCharSetList;
114958
114959 typedef enum {
114960     XOMOrientation_LTR_TTB,
114961     XOMOrientation_RTL_TTB,
114962     XOMOrientation_TTB_LTR,
114963     XOMOrientation_TTB_RTL,
114964     XOMOrientation_Context
114965 } XOrientation;
114966
114967 typedef struct {
114968     int num_orientation;
114969     XOrientation *orientation;
114970 } XOMOrientation;
114971
114972 typedef struct {
114973     int num_font;
114974     XFontStruct **font_struct_list;
114975     char **font_name_list;
114976 } XOMFontInfo;
114977
114978 typedef struct _XIM *XIM;
114979 typedef struct _XIC *XIC;
114980
114981 typedef void (*XIMProc)(
114982     XIM,
114983     XPointer,
114984     XPointer
114985 );
114986
114987 typedef int (*XICProc)(
114988     XIC,
114989     XPointer,
114990     XPointer
114991 );
114992
114993 typedef void (*XIDProc)(
114994     Display*,
114995     XPointer,
114996     XPointer
114997 );
114998
114999 typedef unsigned long XIMStyle;
115000
115001 typedef struct {
115002     unsigned short count_styles;
115003     XIMStyle *supported_styles;
115004 } XIMStyles;
115005
115006 #define XIMPreeditArea 0x0001L
115007 #define XIMPreeditCallbacks 0x0002L
115008 #define XIMPreeditPosition 0x0004L
115009 #define XIMPreeditNothing 0x0008L
115010 #define XIMPreeditNone 0x0010L
115011 #define XIMStatusArea 0x0100L
115012 #define XIMStatusCallbacks 0x0200L
115013 #define XIMStatusNothing 0x0400L
115014 #define XIMStatusNone 0x0800L
115015
115016 #define XNVaNestedList "XNVaNestedList"
115017 #define XNQueryInputStyle "queryInputStyle"
115018 #define XNClientWindow "clientWindow"
115019 #define XNInputStyle "inputStyle"
115020 #define XNFocusWindow "focusWindow"
115021 #define XNResourceName "resourceName"
115022 #define XNResourceClass "resourceClass"
115023 #define XNGeometryCallback "geometryCallback"
115024 #define XNDestroyCallback "destroyCallback"
115025 #define XNFilterEvents "filterEvents"
115026 #define XNPreeditStartCallback "preeditStartCallback"
115027 #define XNPreeditDoneCallback "preeditDoneCallback"
115028 #define XNPreeditDrawCallback "preeditDrawCallback"
115029 #define XNPreeditCaretCallback "preeditCaretCallback"
115030 #define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"
115031 #define XNPreeditAttributes "preeditAttributes"
115032 #define XNStatusStartCallback "statusStartCallback"
115033 #define XNStatusDoneCallback "statusDoneCallback"
115034 #define XNStatusDrawCallback "statusDrawCallback"
115035 #define XNStatusAttributes "statusAttributes"
115036 #define XNArea "area"
115037 #define XNAreaNeeded "areaNeeded"
115038 #define XNSpotLocation "spotLocation"
115039 #define XNColormap "colorMap"
115040 #define XNStdColormap "stdColorMap"
115041 #define XNForeground "foreground"
115042 #define XNBackground "background"
115043 #define XNBackgroundPixmap "backgroundPixmap"
115044 #define XNFontSet "fontSet"
115045 #define XNLineSpace "lineSpace"
115046 #define XNCursor "cursor"
115047
115048 #define XNQueryIMValuesList "queryIMValuesList"
115049 #define XNQueryICValuesList "queryICValuesList"
115050 #define XNVisiblePosition "visiblePosition"
115051 #define XNR6PreeditCallback "r6PreeditCallback"
115052 #define XNStringConversionCallback "stringConversionCallback"
115053 #define XNStringConversion "stringConversion"
115054 #define XNResetState "resetState"
115055 #define XNHotKey "hotKey"
115056 #define XNHotKeyState "hotKeyState"
115057 #define XNPreeditState "preeditState"
115058 #define XNSeparatorofNestedList "separatorofNestedList"
115059
115060 #define XBufferOverflow -1
115061 #define XLookupNone 1
115062 #define XLookupChars 2
115063 #define XLookupKeySym 3
115064 #define XLookupBoth 4
115065
115066 typedef void *XVaNestedList;
115067
115068 typedef struct {
115069     XPointer client_data;
115070     XIMProc callback;
115071 } XIMCallback;
115072
115073 typedef struct {
115074     XPointer client_data;
115075     XICProc callback;
115076 } XICCallback;
115077
115078 typedef unsigned long XIMFeedback;
115079
115080 #define XIMReverse 1L
115081 #define XIMUnderline (1L<<1)
115082 #define XIMHighlight (1L<<2)
115083 #define XIMPrimary (1L<<5)
115084 #define XIMSecondary (1L<<6)
115085 #define XIMTertiary (1L<<7)
115086 #define XIMVisibleToForward (1L<<8)
115087 #define XIMVisibleToBackword (1L<<9)
115088 #define XIMVisibleToCenter (1L<<10)
115089
115090 typedef struct _XIMText {
115091     unsigned short length;
115092     XIMFeedback *feedback;
115093     int encoding_is_wchar;
115094     union {
115095  char *multi_byte;
115096  wchar_t *wide_char;
115097     } string;
115098 } XIMText;
115099
115100 typedef unsigned long XIMPreeditState;
115101
115102 #define XIMPreeditUnKnown 0L
115103 #define XIMPreeditEnable 1L
115104 #define XIMPreeditDisable (1L<<1)
115105
115106 typedef struct _XIMPreeditStateNotifyCallbackStruct {
115107     XIMPreeditState state;
115108 } XIMPreeditStateNotifyCallbackStruct;
115109
115110 typedef unsigned long XIMResetState;
115111
115112 #define XIMInitialState 1L
115113 #define XIMPreserveState (1L<<1)
115114
115115 typedef unsigned long XIMStringConversionFeedback;
115116
115117 #define XIMStringConversionLeftEdge (0x00000001)
115118 #define XIMStringConversionRightEdge (0x00000002)
115119 #define XIMStringConversionTopEdge (0x00000004)
115120 #define XIMStringConversionBottomEdge (0x00000008)
115121 #define XIMStringConversionConcealed (0x00000010)
115122 #define XIMStringConversionWrapped (0x00000020)
115123
115124 typedef struct _XIMStringConversionText {
115125     unsigned short length;
115126     XIMStringConversionFeedback *feedback;
115127     int encoding_is_wchar;
115128     union {
115129  char *mbs;
115130  wchar_t *wcs;
115131     } string;
115132 } XIMStringConversionText;
115133
115134 typedef unsigned short XIMStringConversionPosition;
115135
115136 typedef unsigned short XIMStringConversionType;
115137
115138 #define XIMStringConversionBuffer (0x0001)
115139 #define XIMStringConversionLine (0x0002)
115140 #define XIMStringConversionWord (0x0003)
115141 #define XIMStringConversionChar (0x0004)
115142
115143 typedef unsigned short XIMStringConversionOperation;
115144
115145 #define XIMStringConversionSubstitution (0x0001)
115146 #define XIMStringConversionRetrieval (0x0002)
115147
115148 typedef enum {
115149     XIMForwardChar, XIMBackwardChar,
115150     XIMForwardWord, XIMBackwardWord,
115151     XIMCaretUp, XIMCaretDown,
115152     XIMNextLine, XIMPreviousLine,
115153     XIMLineStart, XIMLineEnd,
115154     XIMAbsolutePosition,
115155     XIMDontChange
115156 } XIMCaretDirection;
115157
115158 typedef struct _XIMStringConversionCallbackStruct {
115159     XIMStringConversionPosition position;
115160     XIMCaretDirection direction;
115161     XIMStringConversionOperation operation;
115162     unsigned short factor;
115163     XIMStringConversionText *text;
115164 } XIMStringConversionCallbackStruct;
115165
115166 typedef struct _XIMPreeditDrawCallbackStruct {
115167     int caret;
115168     int chg_first;
115169     int chg_length;
115170     XIMText *text;
115171 } XIMPreeditDrawCallbackStruct;
115172
115173 typedef enum {
115174     XIMIsInvisible,
115175     XIMIsPrimary,
115176     XIMIsSecondary
115177 } XIMCaretStyle;
115178
115179 typedef struct _XIMPreeditCaretCallbackStruct {
115180     int position;
115181     XIMCaretDirection direction;
115182     XIMCaretStyle style;
115183 } XIMPreeditCaretCallbackStruct;
115184
115185 typedef enum {
115186     XIMTextType,
115187     XIMBitmapType
115188 } XIMStatusDataType;
115189
115190 typedef struct _XIMStatusDrawCallbackStruct {
115191     XIMStatusDataType type;
115192     union {
115193  XIMText *text;
115194  Pixmap bitmap;
115195     } data;
115196 } XIMStatusDrawCallbackStruct;
115197
115198 typedef struct _XIMHotKeyTrigger {
115199     KeySym keysym;
115200     int modifier;
115201     int modifier_mask;
115202 } XIMHotKeyTrigger;
115203
115204 typedef struct _XIMHotKeyTriggers {
115205     int num_hot_key;
115206     XIMHotKeyTrigger *key;
115207 } XIMHotKeyTriggers;
115208
115209 typedef unsigned long XIMHotKeyState;
115210
115211 #define XIMHotKeyStateON (0x0001L)
115212 #define XIMHotKeyStateOFF (0x0002L)
115213
115214 typedef struct {
115215     unsigned short count_values;
115216     char **supported_values;
115217 } XIMValuesList;
115218
115219 extern "C" {
115220
115221
115222
115223
115224
115225 extern int _Xdebug;
115226
115227 extern XFontStruct *XLoadQueryFont(
115228     Display* ,
115229     const char*
115230 );
115231
115232 extern XFontStruct *XQueryFont(
115233     Display* ,
115234     XID
115235 );
115236
115237
115238 extern XTimeCoord *XGetMotionEvents(
115239     Display* ,
115240     Window ,
115241     Time ,
115242     Time ,
115243     int*
115244 );
115245
115246 extern XModifierKeymap *XDeleteModifiermapEntry(
115247     XModifierKeymap* ,
115248
115249
115250
115251     KeyCode ,
115252
115253     int
115254 );
115255
115256 extern XModifierKeymap *XGetModifierMapping(
115257     Display*
115258 );
115259
115260 extern XModifierKeymap *XInsertModifiermapEntry(
115261     XModifierKeymap* ,
115262
115263
115264
115265     KeyCode ,
115266
115267     int
115268 );
115269
115270 extern XModifierKeymap *XNewModifiermap(
115271     int
115272 );
115273
115274 extern XImage *XCreateImage(
115275     Display* ,
115276     Visual* ,
115277     unsigned int ,
115278     int ,
115279     int ,
115280     char* ,
115281     unsigned int ,
115282     unsigned int ,
115283     int ,
115284     int
115285 );
115286 extern int XInitImage(
115287     XImage*
115288 );
115289 extern XImage *XGetImage(
115290     Display* ,
115291     Drawable ,
115292     int ,
115293     int ,
115294     unsigned int ,
115295     unsigned int ,
115296     unsigned long ,
115297     int
115298 );
115299 extern XImage *XGetSubImage(
115300     Display* ,
115301     Drawable ,
115302     int ,
115303     int ,
115304     unsigned int ,
115305     unsigned int ,
115306     unsigned long ,
115307     int ,
115308     XImage* ,
115309     int ,
115310     int
115311 );
115312
115313
115314
115315
115316 extern Display *XOpenDisplay(
115317     const char*
115318 );
115319
115320 extern void XrmInitialize(
115321     void
115322 );
115323
115324 extern char *XFetchBytes(
115325     Display* ,
115326     int*
115327 );
115328 extern char *XFetchBuffer(
115329     Display* ,
115330     int* ,
115331     int
115332 );
115333 extern char *XGetAtomName(
115334     Display* ,
115335     Atom
115336 );
115337 extern int XGetAtomNames(
115338     Display* ,
115339     Atom* ,
115340     int ,
115341     char**
115342 );
115343 extern char *XGetDefault(
115344     Display* ,
115345     const char* ,
115346     const char*
115347 );
115348 extern char *XDisplayName(
115349     const char*
115350 );
115351 extern char *XKeysymToString(
115352     KeySym
115353 );
115354
115355 extern int (*XSynchronize(
115356     Display* ,
115357     int
115358 ))(
115359     Display*
115360 );
115361 extern int (*XSetAfterFunction(
115362     Display* ,
115363     int (*) (
115364       Display*
115365             )
115366 ))(
115367     Display*
115368 );
115369 extern Atom XInternAtom(
115370     Display* ,
115371     const char* ,
115372     int
115373 );
115374 extern int XInternAtoms(
115375     Display* ,
115376     char** ,
115377     int ,
115378     int ,
115379     Atom*
115380 );
115381 extern Colormap XCopyColormapAndFree(
115382     Display* ,
115383     Colormap
115384 );
115385 extern Colormap XCreateColormap(
115386     Display* ,
115387     Window ,
115388     Visual* ,
115389     int
115390 );
115391 extern Cursor XCreatePixmapCursor(
115392     Display* ,
115393     Pixmap ,
115394     Pixmap ,
115395     XColor* ,
115396     XColor* ,
115397     unsigned int ,
115398     unsigned int
115399 );
115400 extern Cursor XCreateGlyphCursor(
115401     Display* ,
115402     Font ,
115403     Font ,
115404     unsigned int ,
115405     unsigned int ,
115406     XColor const * ,
115407     XColor const *
115408 );
115409 extern Cursor XCreateFontCursor(
115410     Display* ,
115411     unsigned int
115412 );
115413 extern Font XLoadFont(
115414     Display* ,
115415     const char*
115416 );
115417 extern GC XCreateGC(
115418     Display* ,
115419     Drawable ,
115420     unsigned long ,
115421     XGCValues*
115422 );
115423 extern GContext XGContextFromGC(
115424     GC
115425 );
115426 extern void XFlushGC(
115427     Display* ,
115428     GC
115429 );
115430 extern Pixmap XCreatePixmap(
115431     Display* ,
115432     Drawable ,
115433     unsigned int ,
115434     unsigned int ,
115435     unsigned int
115436 );
115437 extern Pixmap XCreateBitmapFromData(
115438     Display* ,
115439     Drawable ,
115440     const char* ,
115441     unsigned int ,
115442     unsigned int
115443 );
115444 extern Pixmap XCreatePixmapFromBitmapData(
115445     Display* ,
115446     Drawable ,
115447     char* ,
115448     unsigned int ,
115449     unsigned int ,
115450     unsigned long ,
115451     unsigned long ,
115452     unsigned int
115453 );
115454 extern Window XCreateSimpleWindow(
115455     Display* ,
115456     Window ,
115457     int ,
115458     int ,
115459     unsigned int ,
115460     unsigned int ,
115461     unsigned int ,
115462     unsigned long ,
115463     unsigned long
115464 );
115465 extern Window XGetSelectionOwner(
115466     Display* ,
115467     Atom
115468 );
115469 extern Window XCreateWindow(
115470     Display* ,
115471     Window ,
115472     int ,
115473     int ,
115474     unsigned int ,
115475     unsigned int ,
115476     unsigned int ,
115477     int ,
115478     unsigned int ,
115479     Visual* ,
115480     unsigned long ,
115481     XSetWindowAttributes*
115482 );
115483 extern Colormap *XListInstalledColormaps(
115484     Display* ,
115485     Window ,
115486     int*
115487 );
115488 extern char **XListFonts(
115489     Display* ,
115490     const char* ,
115491     int ,
115492     int*
115493 );
115494 extern char **XListFontsWithInfo(
115495     Display* ,
115496     const char* ,
115497     int ,
115498     int* ,
115499     XFontStruct**
115500 );
115501 extern char **XGetFontPath(
115502     Display* ,
115503     int*
115504 );
115505 extern char **XListExtensions(
115506     Display* ,
115507     int*
115508 );
115509 extern Atom *XListProperties(
115510     Display* ,
115511     Window ,
115512     int*
115513 );
115514 extern XHostAddress *XListHosts(
115515     Display* ,
115516     int* ,
115517     int*
115518 );
115519 extern KeySym XKeycodeToKeysym(
115520     Display* ,
115521
115522
115523
115524     KeyCode ,
115525
115526     int
115527 );
115528 extern KeySym XLookupKeysym(
115529     XKeyEvent* ,
115530     int
115531 );
115532 extern KeySym *XGetKeyboardMapping(
115533     Display* ,
115534
115535
115536
115537     KeyCode ,
115538
115539     int ,
115540     int*
115541 );
115542 extern KeySym XStringToKeysym(
115543     const char*
115544 );
115545 extern long XMaxRequestSize(
115546     Display*
115547 );
115548 extern long XExtendedMaxRequestSize(
115549     Display*
115550 );
115551 extern char *XResourceManagerString(
115552     Display*
115553 );
115554 extern char *XScreenResourceString(
115555  Screen*
115556 );
115557 extern unsigned long XDisplayMotionBufferSize(
115558     Display*
115559 );
115560 extern VisualID XVisualIDFromVisual(
115561     Visual*
115562 );
115563
115564
115565
115566 extern int XInitThreads(
115567     void
115568 );
115569
115570 extern void XLockDisplay(
115571     Display*
115572 );
115573
115574 extern void XUnlockDisplay(
115575     Display*
115576 );
115577
115578
115579
115580 extern XExtCodes *XInitExtension(
115581     Display* ,
115582     const char*
115583 );
115584
115585 extern XExtCodes *XAddExtension(
115586     Display*
115587 );
115588 extern XExtData *XFindOnExtensionList(
115589     XExtData** ,
115590     int
115591 );
115592 extern XExtData **XEHeadOfExtensionList(
115593     XEDataObject
115594 );
115595
115596
115597 extern Window XRootWindow(
115598     Display* ,
115599     int
115600 );
115601 extern Window XDefaultRootWindow(
115602     Display*
115603 );
115604 extern Window XRootWindowOfScreen(
115605     Screen*
115606 );
115607 extern Visual *XDefaultVisual(
115608     Display* ,
115609     int
115610 );
115611 extern Visual *XDefaultVisualOfScreen(
115612     Screen*
115613 );
115614 extern GC XDefaultGC(
115615     Display* ,
115616     int
115617 );
115618 extern GC XDefaultGCOfScreen(
115619     Screen*
115620 );
115621 extern unsigned long XBlackPixel(
115622     Display* ,
115623     int
115624 );
115625 extern unsigned long XWhitePixel(
115626     Display* ,
115627     int
115628 );
115629 extern unsigned long XAllPlanes(
115630     void
115631 );
115632 extern unsigned long XBlackPixelOfScreen(
115633     Screen*
115634 );
115635 extern unsigned long XWhitePixelOfScreen(
115636     Screen*
115637 );
115638 extern unsigned long XNextRequest(
115639     Display*
115640 );
115641 extern unsigned long XLastKnownRequestProcessed(
115642     Display*
115643 );
115644 extern char *XServerVendor(
115645     Display*
115646 );
115647 extern char *XDisplayString(
115648     Display*
115649 );
115650 extern Colormap XDefaultColormap(
115651     Display* ,
115652     int
115653 );
115654 extern Colormap XDefaultColormapOfScreen(
115655     Screen*
115656 );
115657 extern Display *XDisplayOfScreen(
115658     Screen*
115659 );
115660 extern Screen *XScreenOfDisplay(
115661     Display* ,
115662     int
115663 );
115664 extern Screen *XDefaultScreenOfDisplay(
115665     Display*
115666 );
115667 extern long XEventMaskOfScreen(
115668     Screen*
115669 );
115670
115671 extern int XScreenNumberOfScreen(
115672     Screen*
115673 );
115674
115675 typedef int (*XErrorHandler) (
115676     Display* ,
115677     XErrorEvent*
115678 );
115679
115680 extern XErrorHandler XSetErrorHandler (
115681     XErrorHandler
115682 );
115683
115684
115685 typedef int (*XIOErrorHandler) (
115686     Display*
115687 );
115688
115689 extern XIOErrorHandler XSetIOErrorHandler (
115690     XIOErrorHandler
115691 );
115692
115693
115694 extern XPixmapFormatValues *XListPixmapFormats(
115695     Display* ,
115696     int*
115697 );
115698 extern int *XListDepths(
115699     Display* ,
115700     int ,
115701     int*
115702 );
115703
115704
115705
115706 extern int XReconfigureWMWindow(
115707     Display* ,
115708     Window ,
115709     int ,
115710     unsigned int ,
115711     XWindowChanges*
115712 );
115713
115714 extern int XGetWMProtocols(
115715     Display* ,
115716     Window ,
115717     Atom** ,
115718     int*
115719 );
115720 extern int XSetWMProtocols(
115721     Display* ,
115722     Window ,
115723     Atom* ,
115724     int
115725 );
115726 extern int XIconifyWindow(
115727     Display* ,
115728     Window ,
115729     int
115730 );
115731 extern int XWithdrawWindow(
115732     Display* ,
115733     Window ,
115734     int
115735 );
115736 extern int XGetCommand(
115737     Display* ,
115738     Window ,
115739     char*** ,
115740     int*
115741 );
115742 extern int XGetWMColormapWindows(
115743     Display* ,
115744     Window ,
115745     Window** ,
115746     int*
115747 );
115748 extern int XSetWMColormapWindows(
115749     Display* ,
115750     Window ,
115751     Window* ,
115752     int
115753 );
115754 extern void XFreeStringList(
115755     char**
115756 );
115757 extern int XSetTransientForHint(
115758     Display* ,
115759     Window ,
115760     Window
115761 );
115762
115763
115764
115765 extern int XActivateScreenSaver(
115766     Display*
115767 );
115768
115769 extern int XAddHost(
115770     Display* ,
115771     XHostAddress*
115772 );
115773
115774 extern int XAddHosts(
115775     Display* ,
115776     XHostAddress* ,
115777     int
115778 );
115779
115780 extern int XAddToExtensionList(
115781     struct _XExtData** ,
115782     XExtData*
115783 );
115784
115785 extern int XAddToSaveSet(
115786     Display* ,
115787     Window
115788 );
115789
115790 extern int XAllocColor(
115791     Display* ,
115792     Colormap ,
115793     XColor*
115794 );
115795
115796 extern int XAllocColorCells(
115797     Display* ,
115798     Colormap ,
115799     int ,
115800     unsigned long* ,
115801     unsigned int ,
115802     unsigned long* ,
115803     unsigned int
115804 );
115805
115806 extern int XAllocColorPlanes(
115807     Display* ,
115808     Colormap ,
115809     int ,
115810     unsigned long* ,
115811     int ,
115812     int ,
115813     int ,
115814     int ,
115815     unsigned long* ,
115816     unsigned long* ,
115817     unsigned long*
115818 );
115819
115820 extern int XAllocNamedColor(
115821     Display* ,
115822     Colormap ,
115823     const char* ,
115824     XColor* ,
115825     XColor*
115826 );
115827
115828 extern int XAllowEvents(
115829     Display* ,
115830     int ,
115831     Time
115832 );
115833
115834 extern int XAutoRepeatOff(
115835     Display*
115836 );
115837
115838 extern int XAutoRepeatOn(
115839     Display*
115840 );
115841
115842 extern int XBell(
115843     Display* ,
115844     int
115845 );
115846
115847 extern int XBitmapBitOrder(
115848     Display*
115849 );
115850
115851 extern int XBitmapPad(
115852     Display*
115853 );
115854
115855 extern int XBitmapUnit(
115856     Display*
115857 );
115858
115859 extern int XCellsOfScreen(
115860     Screen*
115861 );
115862
115863 extern int XChangeActivePointerGrab(
115864     Display* ,
115865     unsigned int ,
115866     Cursor ,
115867     Time
115868 );
115869
115870 extern int XChangeGC(
115871     Display* ,
115872     GC ,
115873     unsigned long ,
115874     XGCValues*
115875 );
115876
115877 extern int XChangeKeyboardControl(
115878     Display* ,
115879     unsigned long ,
115880     XKeyboardControl*
115881 );
115882
115883 extern int XChangeKeyboardMapping(
115884     Display* ,
115885     int ,
115886     int ,
115887     KeySym* ,
115888     int
115889 );
115890
115891 extern int XChangePointerControl(
115892     Display* ,
115893     int ,
115894     int ,
115895     int ,
115896     int ,
115897     int
115898 );
115899
115900 extern int XChangeProperty(
115901     Display* ,
115902     Window ,
115903     Atom ,
115904     Atom ,
115905     int ,
115906     int ,
115907     const unsigned char* ,
115908     int
115909 );
115910
115911 extern int XChangeSaveSet(
115912     Display* ,
115913     Window ,
115914     int
115915 );
115916
115917 extern int XChangeWindowAttributes(
115918     Display* ,
115919     Window ,
115920     unsigned long ,
115921     XSetWindowAttributes*
115922 );
115923
115924 extern int XCheckIfEvent(
115925     Display* ,
115926     XEvent* ,
115927     int (*) (
115928         Display* ,
115929                XEvent* ,
115930                XPointer
115931              ) ,
115932     XPointer
115933 );
115934
115935 extern int XCheckMaskEvent(
115936     Display* ,
115937     long ,
115938     XEvent*
115939 );
115940
115941 extern int XCheckTypedEvent(
115942     Display* ,
115943     int ,
115944     XEvent*
115945 );
115946
115947 extern int XCheckTypedWindowEvent(
115948     Display* ,
115949     Window ,
115950     int ,
115951     XEvent*
115952 );
115953
115954 extern int XCheckWindowEvent(
115955     Display* ,
115956     Window ,
115957     long ,
115958     XEvent*
115959 );
115960
115961 extern int XCirculateSubwindows(
115962     Display* ,
115963     Window ,
115964     int
115965 );
115966
115967 extern int XCirculateSubwindowsDown(
115968     Display* ,
115969     Window
115970 );
115971
115972 extern int XCirculateSubwindowsUp(
115973     Display* ,
115974     Window
115975 );
115976
115977 extern int XClearArea(
115978     Display* ,
115979     Window ,
115980     int ,
115981     int ,
115982     unsigned int ,
115983     unsigned int ,
115984     int
115985 );
115986
115987 extern int XClearWindow(
115988     Display* ,
115989     Window
115990 );
115991
115992 extern int XCloseDisplay(
115993     Display*
115994 );
115995
115996 extern int XConfigureWindow(
115997     Display* ,
115998     Window ,
115999     unsigned int ,
116000     XWindowChanges*
116001 );
116002
116003 extern int XConnectionNumber(
116004     Display*
116005 );
116006
116007 extern int XConvertSelection(
116008     Display* ,
116009     Atom ,
116010     Atom ,
116011     Atom ,
116012     Window ,
116013     Time
116014 );
116015
116016 extern int XCopyArea(
116017     Display* ,
116018     Drawable ,
116019     Drawable ,
116020     GC ,
116021     int ,
116022     int ,
116023     unsigned int ,
116024     unsigned int ,
116025     int ,
116026     int
116027 );
116028
116029 extern int XCopyGC(
116030     Display* ,
116031     GC ,
116032     unsigned long ,
116033     GC
116034 );
116035
116036 extern int XCopyPlane(
116037     Display* ,
116038     Drawable ,
116039     Drawable ,
116040     GC ,
116041     int ,
116042     int ,
116043     unsigned int ,
116044     unsigned int ,
116045     int ,
116046     int ,
116047     unsigned long
116048 );
116049
116050 extern int XDefaultDepth(
116051     Display* ,
116052     int
116053 );
116054
116055 extern int XDefaultDepthOfScreen(
116056     Screen*
116057 );
116058
116059 extern int XDefaultScreen(
116060     Display*
116061 );
116062
116063 extern int XDefineCursor(
116064     Display* ,
116065     Window ,
116066     Cursor
116067 );
116068
116069 extern int XDeleteProperty(
116070     Display* ,
116071     Window ,
116072     Atom
116073 );
116074
116075 extern int XDestroyWindow(
116076     Display* ,
116077     Window
116078 );
116079
116080 extern int XDestroySubwindows(
116081     Display* ,
116082     Window
116083 );
116084
116085 extern int XDoesBackingStore(
116086     Screen*
116087 );
116088
116089 extern int XDoesSaveUnders(
116090     Screen*
116091 );
116092
116093 extern int XDisableAccessControl(
116094     Display*
116095 );
116096
116097
116098 extern int XDisplayCells(
116099     Display* ,
116100     int
116101 );
116102
116103 extern int XDisplayHeight(
116104     Display* ,
116105     int
116106 );
116107
116108 extern int XDisplayHeightMM(
116109     Display* ,
116110     int
116111 );
116112
116113 extern int XDisplayKeycodes(
116114     Display* ,
116115     int* ,
116116     int*
116117 );
116118
116119 extern int XDisplayPlanes(
116120     Display* ,
116121     int
116122 );
116123
116124 extern int XDisplayWidth(
116125     Display* ,
116126     int
116127 );
116128
116129 extern int XDisplayWidthMM(
116130     Display* ,
116131     int
116132 );
116133
116134 extern int XDrawArc(
116135     Display* ,
116136     Drawable ,
116137     GC ,
116138     int ,
116139     int ,
116140     unsigned int ,
116141     unsigned int ,
116142     int ,
116143     int
116144 );
116145
116146 extern int XDrawArcs(
116147     Display* ,
116148     Drawable ,
116149     GC ,
116150     XArc* ,
116151     int
116152 );
116153
116154 extern int XDrawImageString(
116155     Display* ,
116156     Drawable ,
116157     GC ,
116158     int ,
116159     int ,
116160     const char* ,
116161     int
116162 );
116163
116164 extern int XDrawImageString16(
116165     Display* ,
116166     Drawable ,
116167     GC ,
116168     int ,
116169     int ,
116170     const XChar2b* ,
116171     int
116172 );
116173
116174 extern int XDrawLine(
116175     Display* ,
116176     Drawable ,
116177     GC ,
116178     int ,
116179     int ,
116180     int ,
116181     int
116182 );
116183
116184 extern int XDrawLines(
116185     Display* ,
116186     Drawable ,
116187     GC ,
116188     XPoint* ,
116189     int ,
116190     int
116191 );
116192
116193 extern int XDrawPoint(
116194     Display* ,
116195     Drawable ,
116196     GC ,
116197     int ,
116198     int
116199 );
116200
116201 extern int XDrawPoints(
116202     Display* ,
116203     Drawable ,
116204     GC ,
116205     XPoint* ,
116206     int ,
116207     int
116208 );
116209
116210 extern int XDrawRectangle(
116211     Display* ,
116212     Drawable ,
116213     GC ,
116214     int ,
116215     int ,
116216     unsigned int ,
116217     unsigned int
116218 );
116219
116220 extern int XDrawRectangles(
116221     Display* ,
116222     Drawable ,
116223     GC ,
116224     XRectangle* ,
116225     int
116226 );
116227
116228 extern int XDrawSegments(
116229     Display* ,
116230     Drawable ,
116231     GC ,
116232     XSegment* ,
116233     int
116234 );
116235
116236 extern int XDrawString(
116237     Display* ,
116238     Drawable ,
116239     GC ,
116240     int ,
116241     int ,
116242     const char* ,
116243     int
116244 );
116245
116246 extern int XDrawString16(
116247     Display* ,
116248     Drawable ,
116249     GC ,
116250     int ,
116251     int ,
116252     const XChar2b* ,
116253     int
116254 );
116255
116256 extern int XDrawText(
116257     Display* ,
116258     Drawable ,
116259     GC ,
116260     int ,
116261     int ,
116262     XTextItem* ,
116263     int
116264 );
116265
116266 extern int XDrawText16(
116267     Display* ,
116268     Drawable ,
116269     GC ,
116270     int ,
116271     int ,
116272     XTextItem16* ,
116273     int
116274 );
116275
116276 extern int XEnableAccessControl(
116277     Display*
116278 );
116279
116280 extern int XEventsQueued(
116281     Display* ,
116282     int
116283 );
116284
116285 extern int XFetchName(
116286     Display* ,
116287     Window ,
116288     char**
116289 );
116290
116291 extern int XFillArc(
116292     Display* ,
116293     Drawable ,
116294     GC ,
116295     int ,
116296     int ,
116297     unsigned int ,
116298     unsigned int ,
116299     int ,
116300     int
116301 );
116302
116303 extern int XFillArcs(
116304     Display* ,
116305     Drawable ,
116306     GC ,
116307     XArc* ,
116308     int
116309 );
116310
116311 extern int XFillPolygon(
116312     Display* ,
116313     Drawable ,
116314     GC ,
116315     XPoint* ,
116316     int ,
116317     int ,
116318     int
116319 );
116320
116321 extern int XFillRectangle(
116322     Display* ,
116323     Drawable ,
116324     GC ,
116325     int ,
116326     int ,
116327     unsigned int ,
116328     unsigned int
116329 );
116330
116331 extern int XFillRectangles(
116332     Display* ,
116333     Drawable ,
116334     GC ,
116335     XRectangle* ,
116336     int
116337 );
116338
116339 extern int XFlush(
116340     Display*
116341 );
116342
116343 extern int XForceScreenSaver(
116344     Display* ,
116345     int
116346 );
116347
116348 extern int XFree(
116349     void*
116350 );
116351
116352 extern int XFreeColormap(
116353     Display* ,
116354     Colormap
116355 );
116356
116357 extern int XFreeColors(
116358     Display* ,
116359     Colormap ,
116360     unsigned long* ,
116361     int ,
116362     unsigned long
116363 );
116364
116365 extern int XFreeCursor(
116366     Display* ,
116367     Cursor
116368 );
116369
116370 extern int XFreeExtensionList(
116371     char**
116372 );
116373
116374 extern int XFreeFont(
116375     Display* ,
116376     XFontStruct*
116377 );
116378
116379 extern int XFreeFontInfo(
116380     char** ,
116381     XFontStruct* ,
116382     int
116383 );
116384
116385 extern int XFreeFontNames(
116386     char**
116387 );
116388
116389 extern int XFreeFontPath(
116390     char**
116391 );
116392
116393 extern int XFreeGC(
116394     Display* ,
116395     GC
116396 );
116397
116398 extern int XFreeModifiermap(
116399     XModifierKeymap*
116400 );
116401
116402 extern int XFreePixmap(
116403     Display* ,
116404     Pixmap
116405 );
116406
116407 extern int XGeometry(
116408     Display* ,
116409     int ,
116410     const char* ,
116411     const char* ,
116412     unsigned int ,
116413     unsigned int ,
116414     unsigned int ,
116415     int ,
116416     int ,
116417     int* ,
116418     int* ,
116419     int* ,
116420     int*
116421 );
116422
116423 extern int XGetErrorDatabaseText(
116424     Display* ,
116425     const char* ,
116426     const char* ,
116427     const char* ,
116428     char* ,
116429     int
116430 );
116431
116432 extern int XGetErrorText(
116433     Display* ,
116434     int ,
116435     char* ,
116436     int
116437 );
116438
116439 extern int XGetFontProperty(
116440     XFontStruct* ,
116441     Atom ,
116442     unsigned long*
116443 );
116444
116445 extern int XGetGCValues(
116446     Display* ,
116447     GC ,
116448     unsigned long ,
116449     XGCValues*
116450 );
116451
116452 extern int XGetGeometry(
116453     Display* ,
116454     Drawable ,
116455     Window* ,
116456     int* ,
116457     int* ,
116458     unsigned int* ,
116459     unsigned int* ,
116460     unsigned int* ,
116461     unsigned int*
116462 );
116463
116464 extern int XGetIconName(
116465     Display* ,
116466     Window ,
116467     char**
116468 );
116469
116470 extern int XGetInputFocus(
116471     Display* ,
116472     Window* ,
116473     int*
116474 );
116475
116476 extern int XGetKeyboardControl(
116477     Display* ,
116478     XKeyboardState*
116479 );
116480
116481 extern int XGetPointerControl(
116482     Display* ,
116483     int* ,
116484     int* ,
116485     int*
116486 );
116487
116488 extern int XGetPointerMapping(
116489     Display* ,
116490     unsigned char* ,
116491     int
116492 );
116493
116494 extern int XGetScreenSaver(
116495     Display* ,
116496     int* ,
116497     int* ,
116498     int* ,
116499     int*
116500 );
116501
116502 extern int XGetTransientForHint(
116503     Display* ,
116504     Window ,
116505     Window*
116506 );
116507
116508 extern int XGetWindowProperty(
116509     Display* ,
116510     Window ,
116511     Atom ,
116512     long ,
116513     long ,
116514     int ,
116515     Atom ,
116516     Atom* ,
116517     int* ,
116518     unsigned long* ,
116519     unsigned long* ,
116520     unsigned char**
116521 );
116522
116523 extern int XGetWindowAttributes(
116524     Display* ,
116525     Window ,
116526     XWindowAttributes*
116527 );
116528
116529 extern int XGrabButton(
116530     Display* ,
116531     unsigned int ,
116532     unsigned int ,
116533     Window ,
116534     int ,
116535     unsigned int ,
116536     int ,
116537     int ,
116538     Window ,
116539     Cursor
116540 );
116541
116542 extern int XGrabKey(
116543     Display* ,
116544     int ,
116545     unsigned int ,
116546     Window ,
116547     int ,
116548     int ,
116549     int
116550 );
116551
116552 extern int XGrabKeyboard(
116553     Display* ,
116554     Window ,
116555     int ,
116556     int ,
116557     int ,
116558     Time
116559 );
116560
116561 extern int XGrabPointer(
116562     Display* ,
116563     Window ,
116564     int ,
116565     unsigned int ,
116566     int ,
116567     int ,
116568     Window ,
116569     Cursor ,
116570     Time
116571 );
116572
116573 extern int XGrabServer(
116574     Display*
116575 );
116576
116577 extern int XHeightMMOfScreen(
116578     Screen*
116579 );
116580
116581 extern int XHeightOfScreen(
116582     Screen*
116583 );
116584
116585 extern int XIfEvent(
116586     Display* ,
116587     XEvent* ,
116588     int (*) (
116589         Display* ,
116590                XEvent* ,
116591                XPointer
116592              ) ,
116593     XPointer
116594 );
116595
116596 extern int XImageByteOrder(
116597     Display*
116598 );
116599
116600 extern int XInstallColormap(
116601     Display* ,
116602     Colormap
116603 );
116604
116605 extern KeyCode XKeysymToKeycode(
116606     Display* ,
116607     KeySym
116608 );
116609
116610 extern int XKillClient(
116611     Display* ,
116612     XID
116613 );
116614
116615 extern int XLookupColor(
116616     Display* ,
116617     Colormap ,
116618     const char* ,
116619     XColor* ,
116620     XColor*
116621 );
116622
116623 extern int XLowerWindow(
116624     Display* ,
116625     Window
116626 );
116627
116628 extern int XMapRaised(
116629     Display* ,
116630     Window
116631 );
116632
116633 extern int XMapSubwindows(
116634     Display* ,
116635     Window
116636 );
116637
116638 extern int XMapWindow(
116639     Display* ,
116640     Window
116641 );
116642
116643 extern int XMaskEvent(
116644     Display* ,
116645     long ,
116646     XEvent*
116647 );
116648
116649 extern int XMaxCmapsOfScreen(
116650     Screen*
116651 );
116652
116653 extern int XMinCmapsOfScreen(
116654     Screen*
116655 );
116656
116657 extern int XMoveResizeWindow(
116658     Display* ,
116659     Window ,
116660     int ,
116661     int ,
116662     unsigned int ,
116663     unsigned int
116664 );
116665
116666 extern int XMoveWindow(
116667     Display* ,
116668     Window ,
116669     int ,
116670     int
116671 );
116672
116673 extern int XNextEvent(
116674     Display* ,
116675     XEvent*
116676 );
116677
116678 extern int XNoOp(
116679     Display*
116680 );
116681
116682 extern int XParseColor(
116683     Display* ,
116684     Colormap ,
116685     const char* ,
116686     XColor*
116687 );
116688
116689 extern int XParseGeometry(
116690     const char* ,
116691     int* ,
116692     int* ,
116693     unsigned int* ,
116694     unsigned int*
116695 );
116696
116697 extern int XPeekEvent(
116698     Display* ,
116699     XEvent*
116700 );
116701
116702 extern int XPeekIfEvent(
116703     Display* ,
116704     XEvent* ,
116705     int (*) (
116706         Display* ,
116707                XEvent* ,
116708                XPointer
116709              ) ,
116710     XPointer
116711 );
116712
116713 extern int XPending(
116714     Display*
116715 );
116716
116717 extern int XPlanesOfScreen(
116718     Screen*
116719 );
116720
116721 extern int XProtocolRevision(
116722     Display*
116723 );
116724
116725 extern int XProtocolVersion(
116726     Display*
116727 );
116728
116729
116730 extern int XPutBackEvent(
116731     Display* ,
116732     XEvent*
116733 );
116734
116735 extern int XPutImage(
116736     Display* ,
116737     Drawable ,
116738     GC ,
116739     XImage* ,
116740     int ,
116741     int ,
116742     int ,
116743     int ,
116744     unsigned int ,
116745     unsigned int
116746 );
116747
116748 extern int XQLength(
116749     Display*
116750 );
116751
116752 extern int XQueryBestCursor(
116753     Display* ,
116754     Drawable ,
116755     unsigned int ,
116756     unsigned int ,
116757     unsigned int* ,
116758     unsigned int*
116759 );
116760
116761 extern int XQueryBestSize(
116762     Display* ,
116763     int ,
116764     Drawable ,
116765     unsigned int ,
116766     unsigned int ,
116767     unsigned int* ,
116768     unsigned int*
116769 );
116770
116771 extern int XQueryBestStipple(
116772     Display* ,
116773     Drawable ,
116774     unsigned int ,
116775     unsigned int ,
116776     unsigned int* ,
116777     unsigned int*
116778 );
116779
116780 extern int XQueryBestTile(
116781     Display* ,
116782     Drawable ,
116783     unsigned int ,
116784     unsigned int ,
116785     unsigned int* ,
116786     unsigned int*
116787 );
116788
116789 extern int XQueryColor(
116790     Display* ,
116791     Colormap ,
116792     XColor*
116793 );
116794
116795 extern int XQueryColors(
116796     Display* ,
116797     Colormap ,
116798     XColor* ,
116799     int
116800 );
116801
116802 extern int XQueryExtension(
116803     Display* ,
116804     const char* ,
116805     int* ,
116806     int* ,
116807     int*
116808 );
116809
116810 extern int XQueryKeymap(
116811     Display* ,
116812     char [32]
116813 );
116814
116815 extern int XQueryPointer(
116816     Display* ,
116817     Window ,
116818     Window* ,
116819     Window* ,
116820     int* ,
116821     int* ,
116822     int* ,
116823     int* ,
116824     unsigned int*
116825 );
116826
116827 extern int XQueryTextExtents(
116828     Display* ,
116829     XID ,
116830     const char* ,
116831     int ,
116832     int* ,
116833     int* ,
116834     int* ,
116835     XCharStruct*
116836 );
116837
116838 extern int XQueryTextExtents16(
116839     Display* ,
116840     XID ,
116841     const XChar2b* ,
116842     int ,
116843     int* ,
116844     int* ,
116845     int* ,
116846     XCharStruct*
116847 );
116848
116849 extern int XQueryTree(
116850     Display* ,
116851     Window ,
116852     Window* ,
116853     Window* ,
116854     Window** ,
116855     unsigned int*
116856 );
116857
116858 extern int XRaiseWindow(
116859     Display* ,
116860     Window
116861 );
116862
116863 extern int XReadBitmapFile(
116864     Display* ,
116865     Drawable ,
116866     const char* ,
116867     unsigned int* ,
116868     unsigned int* ,
116869     Pixmap* ,
116870     int* ,
116871     int*
116872 );
116873
116874 extern int XReadBitmapFileData(
116875     const char* ,
116876     unsigned int* ,
116877     unsigned int* ,
116878     unsigned char** ,
116879     int* ,
116880     int*
116881 );
116882
116883 extern int XRebindKeysym(
116884     Display* ,
116885     KeySym ,
116886     KeySym* ,
116887     int ,
116888     const unsigned char* ,
116889     int
116890 );
116891
116892 extern int XRecolorCursor(
116893     Display* ,
116894     Cursor ,
116895     XColor* ,
116896     XColor*
116897 );
116898
116899 extern int XRefreshKeyboardMapping(
116900     XMappingEvent*
116901 );
116902
116903 extern int XRemoveFromSaveSet(
116904     Display* ,
116905     Window
116906 );
116907
116908 extern int XRemoveHost(
116909     Display* ,
116910     XHostAddress*
116911 );
116912
116913 extern int XRemoveHosts(
116914     Display* ,
116915     XHostAddress* ,
116916     int
116917 );
116918
116919 extern int XReparentWindow(
116920     Display* ,
116921     Window ,
116922     Window ,
116923     int ,
116924     int
116925 );
116926
116927 extern int XResetScreenSaver(
116928     Display*
116929 );
116930
116931 extern int XResizeWindow(
116932     Display* ,
116933     Window ,
116934     unsigned int ,
116935     unsigned int
116936 );
116937
116938 extern int XRestackWindows(
116939     Display* ,
116940     Window* ,
116941     int
116942 );
116943
116944 extern int XRotateBuffers(
116945     Display* ,
116946     int
116947 );
116948
116949 extern int XRotateWindowProperties(
116950     Display* ,
116951     Window ,
116952     Atom* ,
116953     int ,
116954     int
116955 );
116956
116957 extern int XScreenCount(
116958     Display*
116959 );
116960
116961 extern int XSelectInput(
116962     Display* ,
116963     Window ,
116964     long
116965 );
116966
116967 extern int XSendEvent(
116968     Display* ,
116969     Window ,
116970     int ,
116971     long ,
116972     XEvent*
116973 );
116974
116975 extern int XSetAccessControl(
116976     Display* ,
116977     int
116978 );
116979
116980 extern int XSetArcMode(
116981     Display* ,
116982     GC ,
116983     int
116984 );
116985
116986 extern int XSetBackground(
116987     Display* ,
116988     GC ,
116989     unsigned long
116990 );
116991
116992 extern int XSetClipMask(
116993     Display* ,
116994     GC ,
116995     Pixmap
116996 );
116997
116998 extern int XSetClipOrigin(
116999     Display* ,
117000     GC ,
117001     int ,
117002     int
117003 );
117004
117005 extern int XSetClipRectangles(
117006     Display* ,
117007     GC ,
117008     int ,
117009     int ,
117010     XRectangle* ,
117011     int ,
117012     int
117013 );
117014
117015 extern int XSetCloseDownMode(
117016     Display* ,
117017     int
117018 );
117019
117020 extern int XSetCommand(
117021     Display* ,
117022     Window ,
117023     char** ,
117024     int
117025 );
117026
117027 extern int XSetDashes(
117028     Display* ,
117029     GC ,
117030     int ,
117031     const char* ,
117032     int
117033 );
117034
117035 extern int XSetFillRule(
117036     Display* ,
117037     GC ,
117038     int
117039 );
117040
117041 extern int XSetFillStyle(
117042     Display* ,
117043     GC ,
117044     int
117045 );
117046
117047 extern int XSetFont(
117048     Display* ,
117049     GC ,
117050     Font
117051 );
117052
117053 extern int XSetFontPath(
117054     Display* ,
117055     char** ,
117056     int
117057 );
117058
117059 extern int XSetForeground(
117060     Display* ,
117061     GC ,
117062     unsigned long
117063 );
117064
117065 extern int XSetFunction(
117066     Display* ,
117067     GC ,
117068     int
117069 );
117070
117071 extern int XSetGraphicsExposures(
117072     Display* ,
117073     GC ,
117074     int
117075 );
117076
117077 extern int XSetIconName(
117078     Display* ,
117079     Window ,
117080     const char*
117081 );
117082
117083 extern int XSetInputFocus(
117084     Display* ,
117085     Window ,
117086     int ,
117087     Time
117088 );
117089
117090 extern int XSetLineAttributes(
117091     Display* ,
117092     GC ,
117093     unsigned int ,
117094     int ,
117095     int ,
117096     int
117097 );
117098
117099 extern int XSetModifierMapping(
117100     Display* ,
117101     XModifierKeymap*
117102 );
117103
117104 extern int XSetPlaneMask(
117105     Display* ,
117106     GC ,
117107     unsigned long
117108 );
117109
117110 extern int XSetPointerMapping(
117111     Display* ,
117112     const unsigned char* ,
117113     int
117114 );
117115
117116 extern int XSetScreenSaver(
117117     Display* ,
117118     int ,
117119     int ,
117120     int ,
117121     int
117122 );
117123
117124 extern int XSetSelectionOwner(
117125     Display* ,
117126     Atom ,
117127     Window ,
117128     Time
117129 );
117130
117131 extern int XSetState(
117132     Display* ,
117133     GC ,
117134     unsigned long ,
117135     unsigned long ,
117136     int ,
117137     unsigned long
117138 );
117139
117140 extern int XSetStipple(
117141     Display* ,
117142     GC ,
117143     Pixmap
117144 );
117145
117146 extern int XSetSubwindowMode(
117147     Display* ,
117148     GC ,
117149     int
117150 );
117151
117152 extern int XSetTSOrigin(
117153     Display* ,
117154     GC ,
117155     int ,
117156     int
117157 );
117158
117159 extern int XSetTile(
117160     Display* ,
117161     GC ,
117162     Pixmap
117163 );
117164
117165 extern int XSetWindowBackground(
117166     Display* ,
117167     Window ,
117168     unsigned long
117169 );
117170
117171 extern int XSetWindowBackgroundPixmap(
117172     Display* ,
117173     Window ,
117174     Pixmap
117175 );
117176
117177 extern int XSetWindowBorder(
117178     Display* ,
117179     Window ,
117180     unsigned long
117181 );
117182
117183 extern int XSetWindowBorderPixmap(
117184     Display* ,
117185     Window ,
117186     Pixmap
117187 );
117188
117189 extern int XSetWindowBorderWidth(
117190     Display* ,
117191     Window ,
117192     unsigned int
117193 );
117194
117195 extern int XSetWindowColormap(
117196     Display* ,
117197     Window ,
117198     Colormap
117199 );
117200
117201 extern int XStoreBuffer(
117202     Display* ,
117203     const char* ,
117204     int ,
117205     int
117206 );
117207
117208 extern int XStoreBytes(
117209     Display* ,
117210     const char* ,
117211     int
117212 );
117213
117214 extern int XStoreColor(
117215     Display* ,
117216     Colormap ,
117217     XColor*
117218 );
117219
117220 extern int XStoreColors(
117221     Display* ,
117222     Colormap ,
117223     XColor* ,
117224     int
117225 );
117226
117227 extern int XStoreName(
117228     Display* ,
117229     Window ,
117230     const char*
117231 );
117232
117233 extern int XStoreNamedColor(
117234     Display* ,
117235     Colormap ,
117236     const char* ,
117237     unsigned long ,
117238     int
117239 );
117240
117241 extern int XSync(
117242     Display* ,
117243     int
117244 );
117245
117246 extern int XTextExtents(
117247     XFontStruct* ,
117248     const char* ,
117249     int ,
117250     int* ,
117251     int* ,
117252     int* ,
117253     XCharStruct*
117254 );
117255
117256 extern int XTextExtents16(
117257     XFontStruct* ,
117258     const XChar2b* ,
117259     int ,
117260     int* ,
117261     int* ,
117262     int* ,
117263     XCharStruct*
117264 );
117265
117266 extern int XTextWidth(
117267     XFontStruct* ,
117268     const char* ,
117269     int
117270 );
117271
117272 extern int XTextWidth16(
117273     XFontStruct* ,
117274     const XChar2b* ,
117275     int
117276 );
117277
117278 extern int XTranslateCoordinates(
117279     Display* ,
117280     Window ,
117281     Window ,
117282     int ,
117283     int ,
117284     int* ,
117285     int* ,
117286     Window*
117287 );
117288
117289 extern int XUndefineCursor(
117290     Display* ,
117291     Window
117292 );
117293
117294 extern int XUngrabButton(
117295     Display* ,
117296     unsigned int ,
117297     unsigned int ,
117298     Window
117299 );
117300
117301 extern int XUngrabKey(
117302     Display* ,
117303     int ,
117304     unsigned int ,
117305     Window
117306 );
117307
117308 extern int XUngrabKeyboard(
117309     Display* ,
117310     Time
117311 );
117312
117313 extern int XUngrabPointer(
117314     Display* ,
117315     Time
117316 );
117317
117318 extern int XUngrabServer(
117319     Display*
117320 );
117321
117322 extern int XUninstallColormap(
117323     Display* ,
117324     Colormap
117325 );
117326
117327 extern int XUnloadFont(
117328     Display* ,
117329     Font
117330 );
117331
117332 extern int XUnmapSubwindows(
117333     Display* ,
117334     Window
117335 );
117336
117337 extern int XUnmapWindow(
117338     Display* ,
117339     Window
117340 );
117341
117342 extern int XVendorRelease(
117343     Display*
117344 );
117345
117346 extern int XWarpPointer(
117347     Display* ,
117348     Window ,
117349     Window ,
117350     int ,
117351     int ,
117352     unsigned int ,
117353     unsigned int ,
117354     int ,
117355     int
117356 );
117357
117358 extern int XWidthMMOfScreen(
117359     Screen*
117360 );
117361
117362 extern int XWidthOfScreen(
117363     Screen*
117364 );
117365
117366 extern int XWindowEvent(
117367     Display* ,
117368     Window ,
117369     long ,
117370     XEvent*
117371 );
117372
117373 extern int XWriteBitmapFile(
117374     Display* ,
117375     const char* ,
117376     Pixmap ,
117377     unsigned int ,
117378     unsigned int ,
117379     int ,
117380     int
117381 );
117382
117383 extern int XSupportsLocale (void);
117384
117385 extern char *XSetLocaleModifiers(
117386     const char*
117387 );
117388
117389 extern XOM XOpenOM(
117390     Display* ,
117391     struct _XrmHashBucketRec* ,
117392     const char* ,
117393     const char*
117394 );
117395
117396 extern int XCloseOM(
117397     XOM
117398 );
117399
117400 extern char *XSetOMValues(
117401     XOM ,
117402     ...
117403 ) __attribute__ ((__sentinel__(0)));
117404
117405 extern char *XGetOMValues(
117406     XOM ,
117407     ...
117408 ) __attribute__ ((__sentinel__(0)));
117409
117410 extern Display *XDisplayOfOM(
117411     XOM
117412 );
117413
117414 extern char *XLocaleOfOM(
117415     XOM
117416 );
117417
117418 extern XOC XCreateOC(
117419     XOM ,
117420     ...
117421 ) __attribute__ ((__sentinel__(0)));
117422
117423 extern void XDestroyOC(
117424     XOC
117425 );
117426
117427 extern XOM XOMOfOC(
117428     XOC
117429 );
117430
117431 extern char *XSetOCValues(
117432     XOC ,
117433     ...
117434 ) __attribute__ ((__sentinel__(0)));
117435
117436 extern char *XGetOCValues(
117437     XOC ,
117438     ...
117439 ) __attribute__ ((__sentinel__(0)));
117440
117441 extern XFontSet XCreateFontSet(
117442     Display* ,
117443     const char* ,
117444     char*** ,
117445     int* ,
117446     char**
117447 );
117448
117449 extern void XFreeFontSet(
117450     Display* ,
117451     XFontSet
117452 );
117453
117454 extern int XFontsOfFontSet(
117455     XFontSet ,
117456     XFontStruct*** ,
117457     char***
117458 );
117459
117460 extern char *XBaseFontNameListOfFontSet(
117461     XFontSet
117462 );
117463
117464 extern char *XLocaleOfFontSet(
117465     XFontSet
117466 );
117467
117468 extern int XContextDependentDrawing(
117469     XFontSet
117470 );
117471
117472 extern int XDirectionalDependentDrawing(
117473     XFontSet
117474 );
117475
117476 extern int XContextualDrawing(
117477     XFontSet
117478 );
117479
117480 extern XFontSetExtents *XExtentsOfFontSet(
117481     XFontSet
117482 );
117483
117484 extern int XmbTextEscapement(
117485     XFontSet ,
117486     const char* ,
117487     int
117488 );
117489
117490 extern int XwcTextEscapement(
117491     XFontSet ,
117492     const wchar_t* ,
117493     int
117494 );
117495
117496 extern int Xutf8TextEscapement(
117497     XFontSet ,
117498     const char* ,
117499     int
117500 );
117501
117502 extern int XmbTextExtents(
117503     XFontSet ,
117504     const char* ,
117505     int ,
117506     XRectangle* ,
117507     XRectangle*
117508 );
117509
117510 extern int XwcTextExtents(
117511     XFontSet ,
117512     const wchar_t* ,
117513     int ,
117514     XRectangle* ,
117515     XRectangle*
117516 );
117517
117518 extern int Xutf8TextExtents(
117519     XFontSet ,
117520     const char* ,
117521     int ,
117522     XRectangle* ,
117523     XRectangle*
117524 );
117525
117526 extern int XmbTextPerCharExtents(
117527     XFontSet ,
117528     const char* ,
117529     int ,
117530     XRectangle* ,
117531     XRectangle* ,
117532     int ,
117533     int* ,
117534     XRectangle* ,
117535     XRectangle*
117536 );
117537
117538 extern int XwcTextPerCharExtents(
117539     XFontSet ,
117540     const wchar_t* ,
117541     int ,
117542     XRectangle* ,
117543     XRectangle* ,
117544     int ,
117545     int* ,
117546     XRectangle* ,
117547     XRectangle*
117548 );
117549
117550 extern int Xutf8TextPerCharExtents(
117551     XFontSet ,
117552     const char* ,
117553     int ,
117554     XRectangle* ,
117555     XRectangle* ,
117556     int ,
117557     int* ,
117558     XRectangle* ,
117559     XRectangle*
117560 );
117561
117562 extern void XmbDrawText(
117563     Display* ,
117564     Drawable ,
117565     GC ,
117566     int ,
117567     int ,
117568     XmbTextItem* ,
117569     int
117570 );
117571
117572 extern void XwcDrawText(
117573     Display* ,
117574     Drawable ,
117575     GC ,
117576     int ,
117577     int ,
117578     XwcTextItem* ,
117579     int
117580 );
117581
117582 extern void Xutf8DrawText(
117583     Display* ,
117584     Drawable ,
117585     GC ,
117586     int ,
117587     int ,
117588     XmbTextItem* ,
117589     int
117590 );
117591
117592 extern void XmbDrawString(
117593     Display* ,
117594     Drawable ,
117595     XFontSet ,
117596     GC ,
117597     int ,
117598     int ,
117599     const char* ,
117600     int
117601 );
117602
117603 extern void XwcDrawString(
117604     Display* ,
117605     Drawable ,
117606     XFontSet ,
117607     GC ,
117608     int ,
117609     int ,
117610     const wchar_t* ,
117611     int
117612 );
117613
117614 extern void Xutf8DrawString(
117615     Display* ,
117616     Drawable ,
117617     XFontSet ,
117618     GC ,
117619     int ,
117620     int ,
117621     const char* ,
117622     int
117623 );
117624
117625 extern void XmbDrawImageString(
117626     Display* ,
117627     Drawable ,
117628     XFontSet ,
117629     GC ,
117630     int ,
117631     int ,
117632     const char* ,
117633     int
117634 );
117635
117636 extern void XwcDrawImageString(
117637     Display* ,
117638     Drawable ,
117639     XFontSet ,
117640     GC ,
117641     int ,
117642     int ,
117643     const wchar_t* ,
117644     int
117645 );
117646
117647 extern void Xutf8DrawImageString(
117648     Display* ,
117649     Drawable ,
117650     XFontSet ,
117651     GC ,
117652     int ,
117653     int ,
117654     const char* ,
117655     int
117656 );
117657
117658 extern XIM XOpenIM(
117659     Display* ,
117660     struct _XrmHashBucketRec* ,
117661     char* ,
117662     char*
117663 );
117664
117665 extern int XCloseIM(
117666     XIM
117667 );
117668
117669 extern char *XGetIMValues(
117670     XIM , ...
117671 ) __attribute__ ((__sentinel__(0)));
117672
117673 extern char *XSetIMValues(
117674     XIM , ...
117675 ) __attribute__ ((__sentinel__(0)));
117676
117677 extern Display *XDisplayOfIM(
117678     XIM
117679 );
117680
117681 extern char *XLocaleOfIM(
117682     XIM
117683 );
117684
117685 extern XIC XCreateIC(
117686     XIM , ...
117687 ) __attribute__ ((__sentinel__(0)));
117688
117689 extern void XDestroyIC(
117690     XIC
117691 );
117692
117693 extern void XSetICFocus(
117694     XIC
117695 );
117696
117697 extern void XUnsetICFocus(
117698     XIC
117699 );
117700
117701 extern wchar_t *XwcResetIC(
117702     XIC
117703 );
117704
117705 extern char *XmbResetIC(
117706     XIC
117707 );
117708
117709 extern char *Xutf8ResetIC(
117710     XIC
117711 );
117712
117713 extern char *XSetICValues(
117714     XIC , ...
117715 ) __attribute__ ((__sentinel__(0)));
117716
117717 extern char *XGetICValues(
117718     XIC , ...
117719 ) __attribute__ ((__sentinel__(0)));
117720
117721 extern XIM XIMOfIC(
117722     XIC
117723 );
117724
117725 extern int XFilterEvent(
117726     XEvent* ,
117727     Window
117728 );
117729
117730 extern int XmbLookupString(
117731     XIC ,
117732     XKeyPressedEvent* ,
117733     char* ,
117734     int ,
117735     KeySym* ,
117736     int*
117737 );
117738
117739 extern int XwcLookupString(
117740     XIC ,
117741     XKeyPressedEvent* ,
117742     wchar_t* ,
117743     int ,
117744     KeySym* ,
117745     int*
117746 );
117747
117748 extern int Xutf8LookupString(
117749     XIC ,
117750     XKeyPressedEvent* ,
117751     char* ,
117752     int ,
117753     KeySym* ,
117754     int*
117755 );
117756
117757 extern XVaNestedList XVaCreateNestedList(
117758     int , ...
117759 ) __attribute__ ((__sentinel__(0)));
117760
117761
117762
117763 extern int XRegisterIMInstantiateCallback(
117764     Display* ,
117765     struct _XrmHashBucketRec* ,
117766     char* ,
117767     char* ,
117768     XIDProc ,
117769     XPointer
117770 );
117771
117772 extern int XUnregisterIMInstantiateCallback(
117773     Display* ,
117774     struct _XrmHashBucketRec* ,
117775     char* ,
117776     char* ,
117777     XIDProc ,
117778     XPointer
117779 );
117780
117781 typedef void (*XConnectionWatchProc)(
117782     Display* ,
117783     XPointer ,
117784     int ,
117785     int ,
117786     XPointer*
117787 );
117788
117789
117790 extern int XInternalConnectionNumbers(
117791     Display* ,
117792     int** ,
117793     int*
117794 );
117795
117796 extern void XProcessInternalConnection(
117797     Display* ,
117798     int
117799 );
117800
117801 extern int XAddConnectionWatch(
117802     Display* ,
117803     XConnectionWatchProc ,
117804     XPointer
117805 );
117806
117807 extern void XRemoveConnectionWatch(
117808     Display* ,
117809     XConnectionWatchProc ,
117810     XPointer
117811 );
117812
117813 extern void XSetAuthorization(
117814     char * ,
117815     int ,
117816     char * ,
117817     int
117818 );
117819
117820 extern int _Xmbtowc(
117821     wchar_t * ,
117822
117823
117824
117825
117826     char * ,
117827     int
117828
117829 );
117830
117831 extern int _Xwctomb(
117832     char * ,
117833     wchar_t
117834 );
117835
117836 }
117837 # 20 "/home/emanuel/DIKU/3dot/source/api/os/osforward.hpp" 2
117838 # 1 "/usr/include/X11/Xutil.h" 1 3 4
117839 # 52 "/usr/include/X11/Xutil.h" 3 4
117840 #define _XUTIL_H_ 
117841
117842
117843
117844 # 1 "/usr/include/X11/keysym.h" 1 3 4
117845 # 52 "/usr/include/X11/keysym.h" 3 4
117846 #define XK_MISCELLANY 
117847 #define XK_XKB_KEYS 
117848 #define XK_LATIN1 
117849 #define XK_LATIN2 
117850 #define XK_LATIN3 
117851 #define XK_LATIN4 
117852 #define XK_LATIN8 
117853 #define XK_LATIN9 
117854 #define XK_CAUCASUS 
117855 #define XK_GREEK 
117856 #define XK_KATAKANA 
117857 #define XK_ARABIC 
117858 #define XK_CYRILLIC 
117859 #define XK_HEBREW 
117860 #define XK_THAI 
117861 #define XK_KOREAN 
117862 #define XK_ARMENIAN 
117863 #define XK_GEORGIAN 
117864 #define XK_VIETNAMESE 
117865 #define XK_CURRENCY 
117866 #define XK_MATHEMATICAL 
117867 #define XK_BRAILLE 
117868
117869 # 1 "/usr/include/X11/keysymdef.h" 1 3 4
117870 # 101 "/usr/include/X11/keysymdef.h" 3 4
117871 #define XK_VoidSymbol 0xffffff
117872 # 110 "/usr/include/X11/keysymdef.h" 3 4
117873 #define XK_BackSpace 0xff08
117874 #define XK_Tab 0xff09
117875 #define XK_Linefeed 0xff0a
117876 #define XK_Clear 0xff0b
117877 #define XK_Return 0xff0d
117878 #define XK_Pause 0xff13
117879 #define XK_Scroll_Lock 0xff14
117880 #define XK_Sys_Req 0xff15
117881 #define XK_Escape 0xff1b
117882 #define XK_Delete 0xffff
117883
117884
117885
117886
117887
117888 #define XK_Multi_key 0xff20
117889 #define XK_Codeinput 0xff37
117890 #define XK_SingleCandidate 0xff3c
117891 #define XK_MultipleCandidate 0xff3d
117892 #define XK_PreviousCandidate 0xff3e
117893
117894
117895
117896 #define XK_Kanji 0xff21
117897 #define XK_Muhenkan 0xff22
117898 #define XK_Henkan_Mode 0xff23
117899 #define XK_Henkan 0xff23
117900 #define XK_Romaji 0xff24
117901 #define XK_Hiragana 0xff25
117902 #define XK_Katakana 0xff26
117903 #define XK_Hiragana_Katakana 0xff27
117904 #define XK_Zenkaku 0xff28
117905 #define XK_Hankaku 0xff29
117906 #define XK_Zenkaku_Hankaku 0xff2a
117907 #define XK_Touroku 0xff2b
117908 #define XK_Massyo 0xff2c
117909 #define XK_Kana_Lock 0xff2d
117910 #define XK_Kana_Shift 0xff2e
117911 #define XK_Eisu_Shift 0xff2f
117912 #define XK_Eisu_toggle 0xff30
117913 #define XK_Kanji_Bangou 0xff37
117914 #define XK_Zen_Koho 0xff3d
117915 #define XK_Mae_Koho 0xff3e
117916
117917
117918
117919
117920
117921 #define XK_Home 0xff50
117922 #define XK_Left 0xff51
117923 #define XK_Up 0xff52
117924 #define XK_Right 0xff53
117925 #define XK_Down 0xff54
117926 #define XK_Prior 0xff55
117927 #define XK_Page_Up 0xff55
117928 #define XK_Next 0xff56
117929 #define XK_Page_Down 0xff56
117930 #define XK_End 0xff57
117931 #define XK_Begin 0xff58
117932
117933
117934
117935
117936 #define XK_Select 0xff60
117937 #define XK_Print 0xff61
117938 #define XK_Execute 0xff62
117939 #define XK_Insert 0xff63
117940 #define XK_Undo 0xff65
117941 #define XK_Redo 0xff66
117942 #define XK_Menu 0xff67
117943 #define XK_Find 0xff68
117944 #define XK_Cancel 0xff69
117945 #define XK_Help 0xff6a
117946 #define XK_Break 0xff6b
117947 #define XK_Mode_switch 0xff7e
117948 #define XK_script_switch 0xff7e
117949 #define XK_Num_Lock 0xff7f
117950
117951
117952
117953 #define XK_KP_Space 0xff80
117954 #define XK_KP_Tab 0xff89
117955 #define XK_KP_Enter 0xff8d
117956 #define XK_KP_F1 0xff91
117957 #define XK_KP_F2 0xff92
117958 #define XK_KP_F3 0xff93
117959 #define XK_KP_F4 0xff94
117960 #define XK_KP_Home 0xff95
117961 #define XK_KP_Left 0xff96
117962 #define XK_KP_Up 0xff97
117963 #define XK_KP_Right 0xff98
117964 #define XK_KP_Down 0xff99
117965 #define XK_KP_Prior 0xff9a
117966 #define XK_KP_Page_Up 0xff9a
117967 #define XK_KP_Next 0xff9b
117968 #define XK_KP_Page_Down 0xff9b
117969 #define XK_KP_End 0xff9c
117970 #define XK_KP_Begin 0xff9d
117971 #define XK_KP_Insert 0xff9e
117972 #define XK_KP_Delete 0xff9f
117973 #define XK_KP_Equal 0xffbd
117974 #define XK_KP_Multiply 0xffaa
117975 #define XK_KP_Add 0xffab
117976 #define XK_KP_Separator 0xffac
117977 #define XK_KP_Subtract 0xffad
117978 #define XK_KP_Decimal 0xffae
117979 #define XK_KP_Divide 0xffaf
117980
117981 #define XK_KP_0 0xffb0
117982 #define XK_KP_1 0xffb1
117983 #define XK_KP_2 0xffb2
117984 #define XK_KP_3 0xffb3
117985 #define XK_KP_4 0xffb4
117986 #define XK_KP_5 0xffb5
117987 #define XK_KP_6 0xffb6
117988 #define XK_KP_7 0xffb7
117989 #define XK_KP_8 0xffb8
117990 #define XK_KP_9 0xffb9
117991 # 238 "/usr/include/X11/keysymdef.h" 3 4
117992 #define XK_F1 0xffbe
117993 #define XK_F2 0xffbf
117994 #define XK_F3 0xffc0
117995 #define XK_F4 0xffc1
117996 #define XK_F5 0xffc2
117997 #define XK_F6 0xffc3
117998 #define XK_F7 0xffc4
117999 #define XK_F8 0xffc5
118000 #define XK_F9 0xffc6
118001 #define XK_F10 0xffc7
118002 #define XK_F11 0xffc8
118003 #define XK_L1 0xffc8
118004 #define XK_F12 0xffc9
118005 #define XK_L2 0xffc9
118006 #define XK_F13 0xffca
118007 #define XK_L3 0xffca
118008 #define XK_F14 0xffcb
118009 #define XK_L4 0xffcb
118010 #define XK_F15 0xffcc
118011 #define XK_L5 0xffcc
118012 #define XK_F16 0xffcd
118013 #define XK_L6 0xffcd
118014 #define XK_F17 0xffce
118015 #define XK_L7 0xffce
118016 #define XK_F18 0xffcf
118017 #define XK_L8 0xffcf
118018 #define XK_F19 0xffd0
118019 #define XK_L9 0xffd0
118020 #define XK_F20 0xffd1
118021 #define XK_L10 0xffd1
118022 #define XK_F21 0xffd2
118023 #define XK_R1 0xffd2
118024 #define XK_F22 0xffd3
118025 #define XK_R2 0xffd3
118026 #define XK_F23 0xffd4
118027 #define XK_R3 0xffd4
118028 #define XK_F24 0xffd5
118029 #define XK_R4 0xffd5
118030 #define XK_F25 0xffd6
118031 #define XK_R5 0xffd6
118032 #define XK_F26 0xffd7
118033 #define XK_R6 0xffd7
118034 #define XK_F27 0xffd8
118035 #define XK_R7 0xffd8
118036 #define XK_F28 0xffd9
118037 #define XK_R8 0xffd9
118038 #define XK_F29 0xffda
118039 #define XK_R9 0xffda
118040 #define XK_F30 0xffdb
118041 #define XK_R10 0xffdb
118042 #define XK_F31 0xffdc
118043 #define XK_R11 0xffdc
118044 #define XK_F32 0xffdd
118045 #define XK_R12 0xffdd
118046 #define XK_F33 0xffde
118047 #define XK_R13 0xffde
118048 #define XK_F34 0xffdf
118049 #define XK_R14 0xffdf
118050 #define XK_F35 0xffe0
118051 #define XK_R15 0xffe0
118052
118053
118054
118055 #define XK_Shift_L 0xffe1
118056 #define XK_Shift_R 0xffe2
118057 #define XK_Control_L 0xffe3
118058 #define XK_Control_R 0xffe4
118059 #define XK_Caps_Lock 0xffe5
118060 #define XK_Shift_Lock 0xffe6
118061
118062 #define XK_Meta_L 0xffe7
118063 #define XK_Meta_R 0xffe8
118064 #define XK_Alt_L 0xffe9
118065 #define XK_Alt_R 0xffea
118066 #define XK_Super_L 0xffeb
118067 #define XK_Super_R 0xffec
118068 #define XK_Hyper_L 0xffed
118069 #define XK_Hyper_R 0xffee
118070 # 325 "/usr/include/X11/keysymdef.h" 3 4
118071 #define XK_ISO_Lock 0xfe01
118072 #define XK_ISO_Level2_Latch 0xfe02
118073 #define XK_ISO_Level3_Shift 0xfe03
118074 #define XK_ISO_Level3_Latch 0xfe04
118075 #define XK_ISO_Level3_Lock 0xfe05
118076 #define XK_ISO_Group_Shift 0xff7e
118077 #define XK_ISO_Group_Latch 0xfe06
118078 #define XK_ISO_Group_Lock 0xfe07
118079 #define XK_ISO_Next_Group 0xfe08
118080 #define XK_ISO_Next_Group_Lock 0xfe09
118081 #define XK_ISO_Prev_Group 0xfe0a
118082 #define XK_ISO_Prev_Group_Lock 0xfe0b
118083 #define XK_ISO_First_Group 0xfe0c
118084 #define XK_ISO_First_Group_Lock 0xfe0d
118085 #define XK_ISO_Last_Group 0xfe0e
118086 #define XK_ISO_Last_Group_Lock 0xfe0f
118087
118088 #define XK_ISO_Left_Tab 0xfe20
118089 #define XK_ISO_Move_Line_Up 0xfe21
118090 #define XK_ISO_Move_Line_Down 0xfe22
118091 #define XK_ISO_Partial_Line_Up 0xfe23
118092 #define XK_ISO_Partial_Line_Down 0xfe24
118093 #define XK_ISO_Partial_Space_Left 0xfe25
118094 #define XK_ISO_Partial_Space_Right 0xfe26
118095 #define XK_ISO_Set_Margin_Left 0xfe27
118096 #define XK_ISO_Set_Margin_Right 0xfe28
118097 #define XK_ISO_Release_Margin_Left 0xfe29
118098 #define XK_ISO_Release_Margin_Right 0xfe2a
118099 #define XK_ISO_Release_Both_Margins 0xfe2b
118100 #define XK_ISO_Fast_Cursor_Left 0xfe2c
118101 #define XK_ISO_Fast_Cursor_Right 0xfe2d
118102 #define XK_ISO_Fast_Cursor_Up 0xfe2e
118103 #define XK_ISO_Fast_Cursor_Down 0xfe2f
118104 #define XK_ISO_Continuous_Underline 0xfe30
118105 #define XK_ISO_Discontinuous_Underline 0xfe31
118106 #define XK_ISO_Emphasize 0xfe32
118107 #define XK_ISO_Center_Object 0xfe33
118108 #define XK_ISO_Enter 0xfe34
118109
118110 #define XK_dead_grave 0xfe50
118111 #define XK_dead_acute 0xfe51
118112 #define XK_dead_circumflex 0xfe52
118113 #define XK_dead_tilde 0xfe53
118114 #define XK_dead_macron 0xfe54
118115 #define XK_dead_breve 0xfe55
118116 #define XK_dead_abovedot 0xfe56
118117 #define XK_dead_diaeresis 0xfe57
118118 #define XK_dead_abovering 0xfe58
118119 #define XK_dead_doubleacute 0xfe59
118120 #define XK_dead_caron 0xfe5a
118121 #define XK_dead_cedilla 0xfe5b
118122 #define XK_dead_ogonek 0xfe5c
118123 #define XK_dead_iota 0xfe5d
118124 #define XK_dead_voiced_sound 0xfe5e
118125 #define XK_dead_semivoiced_sound 0xfe5f
118126 #define XK_dead_belowdot 0xfe60
118127 #define XK_dead_hook 0xfe61
118128 #define XK_dead_horn 0xfe62
118129 #define XK_dead_stroke 0xfe63
118130
118131 #define XK_First_Virtual_Screen 0xfed0
118132 #define XK_Prev_Virtual_Screen 0xfed1
118133 #define XK_Next_Virtual_Screen 0xfed2
118134 #define XK_Last_Virtual_Screen 0xfed4
118135 #define XK_Terminate_Server 0xfed5
118136
118137 #define XK_AccessX_Enable 0xfe70
118138 #define XK_AccessX_Feedback_Enable 0xfe71
118139 #define XK_RepeatKeys_Enable 0xfe72
118140 #define XK_SlowKeys_Enable 0xfe73
118141 #define XK_BounceKeys_Enable 0xfe74
118142 #define XK_StickyKeys_Enable 0xfe75
118143 #define XK_MouseKeys_Enable 0xfe76
118144 #define XK_MouseKeys_Accel_Enable 0xfe77
118145 #define XK_Overlay1_Enable 0xfe78
118146 #define XK_Overlay2_Enable 0xfe79
118147 #define XK_AudibleBell_Enable 0xfe7a
118148
118149 #define XK_Pointer_Left 0xfee0
118150 #define XK_Pointer_Right 0xfee1
118151 #define XK_Pointer_Up 0xfee2
118152 #define XK_Pointer_Down 0xfee3
118153 #define XK_Pointer_UpLeft 0xfee4
118154 #define XK_Pointer_UpRight 0xfee5
118155 #define XK_Pointer_DownLeft 0xfee6
118156 #define XK_Pointer_DownRight 0xfee7
118157 #define XK_Pointer_Button_Dflt 0xfee8
118158 #define XK_Pointer_Button1 0xfee9
118159 #define XK_Pointer_Button2 0xfeea
118160 #define XK_Pointer_Button3 0xfeeb
118161 #define XK_Pointer_Button4 0xfeec
118162 #define XK_Pointer_Button5 0xfeed
118163 #define XK_Pointer_DblClick_Dflt 0xfeee
118164 #define XK_Pointer_DblClick1 0xfeef
118165 #define XK_Pointer_DblClick2 0xfef0
118166 #define XK_Pointer_DblClick3 0xfef1
118167 #define XK_Pointer_DblClick4 0xfef2
118168 #define XK_Pointer_DblClick5 0xfef3
118169 #define XK_Pointer_Drag_Dflt 0xfef4
118170 #define XK_Pointer_Drag1 0xfef5
118171 #define XK_Pointer_Drag2 0xfef6
118172 #define XK_Pointer_Drag3 0xfef7
118173 #define XK_Pointer_Drag4 0xfef8
118174 #define XK_Pointer_Drag5 0xfefd
118175
118176 #define XK_Pointer_EnableKeys 0xfef9
118177 #define XK_Pointer_Accelerate 0xfefa
118178 #define XK_Pointer_DfltBtnNext 0xfefb
118179 #define XK_Pointer_DfltBtnPrev 0xfefc
118180 # 481 "/usr/include/X11/keysymdef.h" 3 4
118181 #define XK_space 0x0020
118182 #define XK_exclam 0x0021
118183 #define XK_quotedbl 0x0022
118184 #define XK_numbersign 0x0023
118185 #define XK_dollar 0x0024
118186 #define XK_percent 0x0025
118187 #define XK_ampersand 0x0026
118188 #define XK_apostrophe 0x0027
118189 #define XK_quoteright 0x0027
118190 #define XK_parenleft 0x0028
118191 #define XK_parenright 0x0029
118192 #define XK_asterisk 0x002a
118193 #define XK_plus 0x002b
118194 #define XK_comma 0x002c
118195 #define XK_minus 0x002d
118196 #define XK_period 0x002e
118197 #define XK_slash 0x002f
118198 #define XK_0 0x0030
118199 #define XK_1 0x0031
118200 #define XK_2 0x0032
118201 #define XK_3 0x0033
118202 #define XK_4 0x0034
118203 #define XK_5 0x0035
118204 #define XK_6 0x0036
118205 #define XK_7 0x0037
118206 #define XK_8 0x0038
118207 #define XK_9 0x0039
118208 #define XK_colon 0x003a
118209 #define XK_semicolon 0x003b
118210 #define XK_less 0x003c
118211 #define XK_equal 0x003d
118212 #define XK_greater 0x003e
118213 #define XK_question 0x003f
118214 #define XK_at 0x0040
118215 #define XK_A 0x0041
118216 #define XK_B 0x0042
118217 #define XK_C 0x0043
118218 #define XK_D 0x0044
118219 #define XK_E 0x0045
118220 #define XK_F 0x0046
118221 #define XK_G 0x0047
118222 #define XK_H 0x0048
118223 #define XK_I 0x0049
118224 #define XK_J 0x004a
118225 #define XK_K 0x004b
118226 #define XK_L 0x004c
118227 #define XK_M 0x004d
118228 #define XK_N 0x004e
118229 #define XK_O 0x004f
118230 #define XK_P 0x0050
118231 #define XK_Q 0x0051
118232 #define XK_R 0x0052
118233 #define XK_S 0x0053
118234 #define XK_T 0x0054
118235 #define XK_U 0x0055
118236 #define XK_V 0x0056
118237 #define XK_W 0x0057
118238 #define XK_X 0x0058
118239 #define XK_Y 0x0059
118240 #define XK_Z 0x005a
118241 #define XK_bracketleft 0x005b
118242 #define XK_backslash 0x005c
118243 #define XK_bracketright 0x005d
118244 #define XK_asciicircum 0x005e
118245 #define XK_underscore 0x005f
118246 #define XK_grave 0x0060
118247 #define XK_quoteleft 0x0060
118248 #define XK_a 0x0061
118249 #define XK_b 0x0062
118250 #define XK_c 0x0063
118251 #define XK_d 0x0064
118252 #define XK_e 0x0065
118253 #define XK_f 0x0066
118254 #define XK_g 0x0067
118255 #define XK_h 0x0068
118256 #define XK_i 0x0069
118257 #define XK_j 0x006a
118258 #define XK_k 0x006b
118259 #define XK_l 0x006c
118260 #define XK_m 0x006d
118261 #define XK_n 0x006e
118262 #define XK_o 0x006f
118263 #define XK_p 0x0070
118264 #define XK_q 0x0071
118265 #define XK_r 0x0072
118266 #define XK_s 0x0073
118267 #define XK_t 0x0074
118268 #define XK_u 0x0075
118269 #define XK_v 0x0076
118270 #define XK_w 0x0077
118271 #define XK_x 0x0078
118272 #define XK_y 0x0079
118273 #define XK_z 0x007a
118274 #define XK_braceleft 0x007b
118275 #define XK_bar 0x007c
118276 #define XK_braceright 0x007d
118277 #define XK_asciitilde 0x007e
118278
118279 #define XK_nobreakspace 0x00a0
118280 #define XK_exclamdown 0x00a1
118281 #define XK_cent 0x00a2
118282 #define XK_sterling 0x00a3
118283 #define XK_currency 0x00a4
118284 #define XK_yen 0x00a5
118285 #define XK_brokenbar 0x00a6
118286 #define XK_section 0x00a7
118287 #define XK_diaeresis 0x00a8
118288 #define XK_copyright 0x00a9
118289 #define XK_ordfeminine 0x00aa
118290 #define XK_guillemotleft 0x00ab
118291 #define XK_notsign 0x00ac
118292 #define XK_hyphen 0x00ad
118293 #define XK_registered 0x00ae
118294 #define XK_macron 0x00af
118295 #define XK_degree 0x00b0
118296 #define XK_plusminus 0x00b1
118297 #define XK_twosuperior 0x00b2
118298 #define XK_threesuperior 0x00b3
118299 #define XK_acute 0x00b4
118300 #define XK_mu 0x00b5
118301 #define XK_paragraph 0x00b6
118302 #define XK_periodcentered 0x00b7
118303 #define XK_cedilla 0x00b8
118304 #define XK_onesuperior 0x00b9
118305 #define XK_masculine 0x00ba
118306 #define XK_guillemotright 0x00bb
118307 #define XK_onequarter 0x00bc
118308 #define XK_onehalf 0x00bd
118309 #define XK_threequarters 0x00be
118310 #define XK_questiondown 0x00bf
118311 #define XK_Agrave 0x00c0
118312 #define XK_Aacute 0x00c1
118313 #define XK_Acircumflex 0x00c2
118314 #define XK_Atilde 0x00c3
118315 #define XK_Adiaeresis 0x00c4
118316 #define XK_Aring 0x00c5
118317 #define XK_AE 0x00c6
118318 #define XK_Ccedilla 0x00c7
118319 #define XK_Egrave 0x00c8
118320 #define XK_Eacute 0x00c9
118321 #define XK_Ecircumflex 0x00ca
118322 #define XK_Ediaeresis 0x00cb
118323 #define XK_Igrave 0x00cc
118324 #define XK_Iacute 0x00cd
118325 #define XK_Icircumflex 0x00ce
118326 #define XK_Idiaeresis 0x00cf
118327 #define XK_ETH 0x00d0
118328 #define XK_Eth 0x00d0
118329 #define XK_Ntilde 0x00d1
118330 #define XK_Ograve 0x00d2
118331 #define XK_Oacute 0x00d3
118332 #define XK_Ocircumflex 0x00d4
118333 #define XK_Otilde 0x00d5
118334 #define XK_Odiaeresis 0x00d6
118335 #define XK_multiply 0x00d7
118336 #define XK_Oslash 0x00d8
118337 #define XK_Ooblique 0x00d8
118338 #define XK_Ugrave 0x00d9
118339 #define XK_Uacute 0x00da
118340 #define XK_Ucircumflex 0x00db
118341 #define XK_Udiaeresis 0x00dc
118342 #define XK_Yacute 0x00dd
118343 #define XK_THORN 0x00de
118344 #define XK_Thorn 0x00de
118345 #define XK_ssharp 0x00df
118346 #define XK_agrave 0x00e0
118347 #define XK_aacute 0x00e1
118348 #define XK_acircumflex 0x00e2
118349 #define XK_atilde 0x00e3
118350 #define XK_adiaeresis 0x00e4
118351 #define XK_aring 0x00e5
118352 #define XK_ae 0x00e6
118353 #define XK_ccedilla 0x00e7
118354 #define XK_egrave 0x00e8
118355 #define XK_eacute 0x00e9
118356 #define XK_ecircumflex 0x00ea
118357 #define XK_ediaeresis 0x00eb
118358 #define XK_igrave 0x00ec
118359 #define XK_iacute 0x00ed
118360 #define XK_icircumflex 0x00ee
118361 #define XK_idiaeresis 0x00ef
118362 #define XK_eth 0x00f0
118363 #define XK_ntilde 0x00f1
118364 #define XK_ograve 0x00f2
118365 #define XK_oacute 0x00f3
118366 #define XK_ocircumflex 0x00f4
118367 #define XK_otilde 0x00f5
118368 #define XK_odiaeresis 0x00f6
118369 #define XK_division 0x00f7
118370 #define XK_oslash 0x00f8
118371 #define XK_ooblique 0x00f8
118372 #define XK_ugrave 0x00f9
118373 #define XK_uacute 0x00fa
118374 #define XK_ucircumflex 0x00fb
118375 #define XK_udiaeresis 0x00fc
118376 #define XK_yacute 0x00fd
118377 #define XK_thorn 0x00fe
118378 #define XK_ydiaeresis 0x00ff
118379 # 687 "/usr/include/X11/keysymdef.h" 3 4
118380 #define XK_Aogonek 0x01a1
118381 #define XK_breve 0x01a2
118382 #define XK_Lstroke 0x01a3
118383 #define XK_Lcaron 0x01a5
118384 #define XK_Sacute 0x01a6
118385 #define XK_Scaron 0x01a9
118386 #define XK_Scedilla 0x01aa
118387 #define XK_Tcaron 0x01ab
118388 #define XK_Zacute 0x01ac
118389 #define XK_Zcaron 0x01ae
118390 #define XK_Zabovedot 0x01af
118391 #define XK_aogonek 0x01b1
118392 #define XK_ogonek 0x01b2
118393 #define XK_lstroke 0x01b3
118394 #define XK_lcaron 0x01b5
118395 #define XK_sacute 0x01b6
118396 #define XK_caron 0x01b7
118397 #define XK_scaron 0x01b9
118398 #define XK_scedilla 0x01ba
118399 #define XK_tcaron 0x01bb
118400 #define XK_zacute 0x01bc
118401 #define XK_doubleacute 0x01bd
118402 #define XK_zcaron 0x01be
118403 #define XK_zabovedot 0x01bf
118404 #define XK_Racute 0x01c0
118405 #define XK_Abreve 0x01c3
118406 #define XK_Lacute 0x01c5
118407 #define XK_Cacute 0x01c6
118408 #define XK_Ccaron 0x01c8
118409 #define XK_Eogonek 0x01ca
118410 #define XK_Ecaron 0x01cc
118411 #define XK_Dcaron 0x01cf
118412 #define XK_Dstroke 0x01d0
118413 #define XK_Nacute 0x01d1
118414 #define XK_Ncaron 0x01d2
118415 #define XK_Odoubleacute 0x01d5
118416 #define XK_Rcaron 0x01d8
118417 #define XK_Uring 0x01d9
118418 #define XK_Udoubleacute 0x01db
118419 #define XK_Tcedilla 0x01de
118420 #define XK_racute 0x01e0
118421 #define XK_abreve 0x01e3
118422 #define XK_lacute 0x01e5
118423 #define XK_cacute 0x01e6
118424 #define XK_ccaron 0x01e8
118425 #define XK_eogonek 0x01ea
118426 #define XK_ecaron 0x01ec
118427 #define XK_dcaron 0x01ef
118428 #define XK_dstroke 0x01f0
118429 #define XK_nacute 0x01f1
118430 #define XK_ncaron 0x01f2
118431 #define XK_odoubleacute 0x01f5
118432 #define XK_udoubleacute 0x01fb
118433 #define XK_rcaron 0x01f8
118434 #define XK_uring 0x01f9
118435 #define XK_tcedilla 0x01fe
118436 #define XK_abovedot 0x01ff
118437 # 752 "/usr/include/X11/keysymdef.h" 3 4
118438 #define XK_Hstroke 0x02a1
118439 #define XK_Hcircumflex 0x02a6
118440 #define XK_Iabovedot 0x02a9
118441 #define XK_Gbreve 0x02ab
118442 #define XK_Jcircumflex 0x02ac
118443 #define XK_hstroke 0x02b1
118444 #define XK_hcircumflex 0x02b6
118445 #define XK_idotless 0x02b9
118446 #define XK_gbreve 0x02bb
118447 #define XK_jcircumflex 0x02bc
118448 #define XK_Cabovedot 0x02c5
118449 #define XK_Ccircumflex 0x02c6
118450 #define XK_Gabovedot 0x02d5
118451 #define XK_Gcircumflex 0x02d8
118452 #define XK_Ubreve 0x02dd
118453 #define XK_Scircumflex 0x02de
118454 #define XK_cabovedot 0x02e5
118455 #define XK_ccircumflex 0x02e6
118456 #define XK_gabovedot 0x02f5
118457 #define XK_gcircumflex 0x02f8
118458 #define XK_ubreve 0x02fd
118459 #define XK_scircumflex 0x02fe
118460 # 783 "/usr/include/X11/keysymdef.h" 3 4
118461 #define XK_kra 0x03a2
118462 #define XK_kappa 0x03a2
118463 #define XK_Rcedilla 0x03a3
118464 #define XK_Itilde 0x03a5
118465 #define XK_Lcedilla 0x03a6
118466 #define XK_Emacron 0x03aa
118467 #define XK_Gcedilla 0x03ab
118468 #define XK_Tslash 0x03ac
118469 #define XK_rcedilla 0x03b3
118470 #define XK_itilde 0x03b5
118471 #define XK_lcedilla 0x03b6
118472 #define XK_emacron 0x03ba
118473 #define XK_gcedilla 0x03bb
118474 #define XK_tslash 0x03bc
118475 #define XK_ENG 0x03bd
118476 #define XK_eng 0x03bf
118477 #define XK_Amacron 0x03c0
118478 #define XK_Iogonek 0x03c7
118479 #define XK_Eabovedot 0x03cc
118480 #define XK_Imacron 0x03cf
118481 #define XK_Ncedilla 0x03d1
118482 #define XK_Omacron 0x03d2
118483 #define XK_Kcedilla 0x03d3
118484 #define XK_Uogonek 0x03d9
118485 #define XK_Utilde 0x03dd
118486 #define XK_Umacron 0x03de
118487 #define XK_amacron 0x03e0
118488 #define XK_iogonek 0x03e7
118489 #define XK_eabovedot 0x03ec
118490 #define XK_imacron 0x03ef
118491 #define XK_ncedilla 0x03f1
118492 #define XK_omacron 0x03f2
118493 #define XK_kcedilla 0x03f3
118494 #define XK_uogonek 0x03f9
118495 #define XK_utilde 0x03fd
118496 #define XK_umacron 0x03fe
118497
118498
118499
118500
118501
118502
118503 #define XK_Babovedot 0x1001e02
118504 #define XK_babovedot 0x1001e03
118505 #define XK_Dabovedot 0x1001e0a
118506 #define XK_Wgrave 0x1001e80
118507 #define XK_Wacute 0x1001e82
118508 #define XK_dabovedot 0x1001e0b
118509 #define XK_Ygrave 0x1001ef2
118510 #define XK_Fabovedot 0x1001e1e
118511 #define XK_fabovedot 0x1001e1f
118512 #define XK_Mabovedot 0x1001e40
118513 #define XK_mabovedot 0x1001e41
118514 #define XK_Pabovedot 0x1001e56
118515 #define XK_wgrave 0x1001e81
118516 #define XK_pabovedot 0x1001e57
118517 #define XK_wacute 0x1001e83
118518 #define XK_Sabovedot 0x1001e60
118519 #define XK_ygrave 0x1001ef3
118520 #define XK_Wdiaeresis 0x1001e84
118521 #define XK_wdiaeresis 0x1001e85
118522 #define XK_sabovedot 0x1001e61
118523 #define XK_Wcircumflex 0x1000174
118524 #define XK_Tabovedot 0x1001e6a
118525 #define XK_Ycircumflex 0x1000176
118526 #define XK_wcircumflex 0x1000175
118527 #define XK_tabovedot 0x1001e6b
118528 #define XK_ycircumflex 0x1000177
118529 # 859 "/usr/include/X11/keysymdef.h" 3 4
118530 #define XK_OE 0x13bc
118531 #define XK_oe 0x13bd
118532 #define XK_Ydiaeresis 0x13be
118533 # 870 "/usr/include/X11/keysymdef.h" 3 4
118534 #define XK_overline 0x047e
118535 #define XK_kana_fullstop 0x04a1
118536 #define XK_kana_openingbracket 0x04a2
118537 #define XK_kana_closingbracket 0x04a3
118538 #define XK_kana_comma 0x04a4
118539 #define XK_kana_conjunctive 0x04a5
118540 #define XK_kana_middledot 0x04a5
118541 #define XK_kana_WO 0x04a6
118542 #define XK_kana_a 0x04a7
118543 #define XK_kana_i 0x04a8
118544 #define XK_kana_u 0x04a9
118545 #define XK_kana_e 0x04aa
118546 #define XK_kana_o 0x04ab
118547 #define XK_kana_ya 0x04ac
118548 #define XK_kana_yu 0x04ad
118549 #define XK_kana_yo 0x04ae
118550 #define XK_kana_tsu 0x04af
118551 #define XK_kana_tu 0x04af
118552 #define XK_prolongedsound 0x04b0
118553 #define XK_kana_A 0x04b1
118554 #define XK_kana_I 0x04b2
118555 #define XK_kana_U 0x04b3
118556 #define XK_kana_E 0x04b4
118557 #define XK_kana_O 0x04b5
118558 #define XK_kana_KA 0x04b6
118559 #define XK_kana_KI 0x04b7
118560 #define XK_kana_KU 0x04b8
118561 #define XK_kana_KE 0x04b9
118562 #define XK_kana_KO 0x04ba
118563 #define XK_kana_SA 0x04bb
118564 #define XK_kana_SHI 0x04bc
118565 #define XK_kana_SU 0x04bd
118566 #define XK_kana_SE 0x04be
118567 #define XK_kana_SO 0x04bf
118568 #define XK_kana_TA 0x04c0
118569 #define XK_kana_CHI 0x04c1
118570 #define XK_kana_TI 0x04c1
118571 #define XK_kana_TSU 0x04c2
118572 #define XK_kana_TU 0x04c2
118573 #define XK_kana_TE 0x04c3
118574 #define XK_kana_TO 0x04c4
118575 #define XK_kana_NA 0x04c5
118576 #define XK_kana_NI 0x04c6
118577 #define XK_kana_NU 0x04c7
118578 #define XK_kana_NE 0x04c8
118579 #define XK_kana_NO 0x04c9
118580 #define XK_kana_HA 0x04ca
118581 #define XK_kana_HI 0x04cb
118582 #define XK_kana_FU 0x04cc
118583 #define XK_kana_HU 0x04cc
118584 #define XK_kana_HE 0x04cd
118585 #define XK_kana_HO 0x04ce
118586 #define XK_kana_MA 0x04cf
118587 #define XK_kana_MI 0x04d0
118588 #define XK_kana_MU 0x04d1
118589 #define XK_kana_ME 0x04d2
118590 #define XK_kana_MO 0x04d3
118591 #define XK_kana_YA 0x04d4
118592 #define XK_kana_YU 0x04d5
118593 #define XK_kana_YO 0x04d6
118594 #define XK_kana_RA 0x04d7
118595 #define XK_kana_RI 0x04d8
118596 #define XK_kana_RU 0x04d9
118597 #define XK_kana_RE 0x04da
118598 #define XK_kana_RO 0x04db
118599 #define XK_kana_WA 0x04dc
118600 #define XK_kana_N 0x04dd
118601 #define XK_voicedsound 0x04de
118602 #define XK_semivoicedsound 0x04df
118603 #define XK_kana_switch 0xff7e
118604 # 948 "/usr/include/X11/keysymdef.h" 3 4
118605 #define XK_Farsi_0 0x10006f0
118606 #define XK_Farsi_1 0x10006f1
118607 #define XK_Farsi_2 0x10006f2
118608 #define XK_Farsi_3 0x10006f3
118609 #define XK_Farsi_4 0x10006f4
118610 #define XK_Farsi_5 0x10006f5
118611 #define XK_Farsi_6 0x10006f6
118612 #define XK_Farsi_7 0x10006f7
118613 #define XK_Farsi_8 0x10006f8
118614 #define XK_Farsi_9 0x10006f9
118615 #define XK_Arabic_percent 0x100066a
118616 #define XK_Arabic_superscript_alef 0x1000670
118617 #define XK_Arabic_tteh 0x1000679
118618 #define XK_Arabic_peh 0x100067e
118619 #define XK_Arabic_tcheh 0x1000686
118620 #define XK_Arabic_ddal 0x1000688
118621 #define XK_Arabic_rreh 0x1000691
118622 #define XK_Arabic_comma 0x05ac
118623 #define XK_Arabic_fullstop 0x10006d4
118624 #define XK_Arabic_0 0x1000660
118625 #define XK_Arabic_1 0x1000661
118626 #define XK_Arabic_2 0x1000662
118627 #define XK_Arabic_3 0x1000663
118628 #define XK_Arabic_4 0x1000664
118629 #define XK_Arabic_5 0x1000665
118630 #define XK_Arabic_6 0x1000666
118631 #define XK_Arabic_7 0x1000667
118632 #define XK_Arabic_8 0x1000668
118633 #define XK_Arabic_9 0x1000669
118634 #define XK_Arabic_semicolon 0x05bb
118635 #define XK_Arabic_question_mark 0x05bf
118636 #define XK_Arabic_hamza 0x05c1
118637 #define XK_Arabic_maddaonalef 0x05c2
118638 #define XK_Arabic_hamzaonalef 0x05c3
118639 #define XK_Arabic_hamzaonwaw 0x05c4
118640 #define XK_Arabic_hamzaunderalef 0x05c5
118641 #define XK_Arabic_hamzaonyeh 0x05c6
118642 #define XK_Arabic_alef 0x05c7
118643 #define XK_Arabic_beh 0x05c8
118644 #define XK_Arabic_tehmarbuta 0x05c9
118645 #define XK_Arabic_teh 0x05ca
118646 #define XK_Arabic_theh 0x05cb
118647 #define XK_Arabic_jeem 0x05cc
118648 #define XK_Arabic_hah 0x05cd
118649 #define XK_Arabic_khah 0x05ce
118650 #define XK_Arabic_dal 0x05cf
118651 #define XK_Arabic_thal 0x05d0
118652 #define XK_Arabic_ra 0x05d1
118653 #define XK_Arabic_zain 0x05d2
118654 #define XK_Arabic_seen 0x05d3
118655 #define XK_Arabic_sheen 0x05d4
118656 #define XK_Arabic_sad 0x05d5
118657 #define XK_Arabic_dad 0x05d6
118658 #define XK_Arabic_tah 0x05d7
118659 #define XK_Arabic_zah 0x05d8
118660 #define XK_Arabic_ain 0x05d9
118661 #define XK_Arabic_ghain 0x05da
118662 #define XK_Arabic_tatweel 0x05e0
118663 #define XK_Arabic_feh 0x05e1
118664 #define XK_Arabic_qaf 0x05e2
118665 #define XK_Arabic_kaf 0x05e3
118666 #define XK_Arabic_lam 0x05e4
118667 #define XK_Arabic_meem 0x05e5
118668 #define XK_Arabic_noon 0x05e6
118669 #define XK_Arabic_ha 0x05e7
118670 #define XK_Arabic_heh 0x05e7
118671 #define XK_Arabic_waw 0x05e8
118672 #define XK_Arabic_alefmaksura 0x05e9
118673 #define XK_Arabic_yeh 0x05ea
118674 #define XK_Arabic_fathatan 0x05eb
118675 #define XK_Arabic_dammatan 0x05ec
118676 #define XK_Arabic_kasratan 0x05ed
118677 #define XK_Arabic_fatha 0x05ee
118678 #define XK_Arabic_damma 0x05ef
118679 #define XK_Arabic_kasra 0x05f0
118680 #define XK_Arabic_shadda 0x05f1
118681 #define XK_Arabic_sukun 0x05f2
118682 #define XK_Arabic_madda_above 0x1000653
118683 #define XK_Arabic_hamza_above 0x1000654
118684 #define XK_Arabic_hamza_below 0x1000655
118685 #define XK_Arabic_jeh 0x1000698
118686 #define XK_Arabic_veh 0x10006a4
118687 #define XK_Arabic_keheh 0x10006a9
118688 #define XK_Arabic_gaf 0x10006af
118689 #define XK_Arabic_noon_ghunna 0x10006ba
118690 #define XK_Arabic_heh_doachashmee 0x10006be
118691 #define XK_Farsi_yeh 0x10006cc
118692 #define XK_Arabic_farsi_yeh 0x10006cc
118693 #define XK_Arabic_yeh_baree 0x10006d2
118694 #define XK_Arabic_heh_goal 0x10006c1
118695 #define XK_Arabic_switch 0xff7e
118696
118697
118698
118699
118700
118701
118702
118703 #define XK_Cyrillic_GHE_bar 0x1000492
118704 #define XK_Cyrillic_ghe_bar 0x1000493
118705 #define XK_Cyrillic_ZHE_descender 0x1000496
118706 #define XK_Cyrillic_zhe_descender 0x1000497
118707 #define XK_Cyrillic_KA_descender 0x100049a
118708 #define XK_Cyrillic_ka_descender 0x100049b
118709 #define XK_Cyrillic_KA_vertstroke 0x100049c
118710 #define XK_Cyrillic_ka_vertstroke 0x100049d
118711 #define XK_Cyrillic_EN_descender 0x10004a2
118712 #define XK_Cyrillic_en_descender 0x10004a3
118713 #define XK_Cyrillic_U_straight 0x10004ae
118714 #define XK_Cyrillic_u_straight 0x10004af
118715 #define XK_Cyrillic_U_straight_bar 0x10004b0
118716 #define XK_Cyrillic_u_straight_bar 0x10004b1
118717 #define XK_Cyrillic_HA_descender 0x10004b2
118718 #define XK_Cyrillic_ha_descender 0x10004b3
118719 #define XK_Cyrillic_CHE_descender 0x10004b6
118720 #define XK_Cyrillic_che_descender 0x10004b7
118721 #define XK_Cyrillic_CHE_vertstroke 0x10004b8
118722 #define XK_Cyrillic_che_vertstroke 0x10004b9
118723 #define XK_Cyrillic_SHHA 0x10004ba
118724 #define XK_Cyrillic_shha 0x10004bb
118725
118726 #define XK_Cyrillic_SCHWA 0x10004d8
118727 #define XK_Cyrillic_schwa 0x10004d9
118728 #define XK_Cyrillic_I_macron 0x10004e2
118729 #define XK_Cyrillic_i_macron 0x10004e3
118730 #define XK_Cyrillic_O_bar 0x10004e8
118731 #define XK_Cyrillic_o_bar 0x10004e9
118732 #define XK_Cyrillic_U_macron 0x10004ee
118733 #define XK_Cyrillic_u_macron 0x10004ef
118734
118735 #define XK_Serbian_dje 0x06a1
118736 #define XK_Macedonia_gje 0x06a2
118737 #define XK_Cyrillic_io 0x06a3
118738 #define XK_Ukrainian_ie 0x06a4
118739 #define XK_Ukranian_je 0x06a4
118740 #define XK_Macedonia_dse 0x06a5
118741 #define XK_Ukrainian_i 0x06a6
118742 #define XK_Ukranian_i 0x06a6
118743 #define XK_Ukrainian_yi 0x06a7
118744 #define XK_Ukranian_yi 0x06a7
118745 #define XK_Cyrillic_je 0x06a8
118746 #define XK_Serbian_je 0x06a8
118747 #define XK_Cyrillic_lje 0x06a9
118748 #define XK_Serbian_lje 0x06a9
118749 #define XK_Cyrillic_nje 0x06aa
118750 #define XK_Serbian_nje 0x06aa
118751 #define XK_Serbian_tshe 0x06ab
118752 #define XK_Macedonia_kje 0x06ac
118753 #define XK_Ukrainian_ghe_with_upturn 0x06ad
118754 #define XK_Byelorussian_shortu 0x06ae
118755 #define XK_Cyrillic_dzhe 0x06af
118756 #define XK_Serbian_dze 0x06af
118757 #define XK_numerosign 0x06b0
118758 #define XK_Serbian_DJE 0x06b1
118759 #define XK_Macedonia_GJE 0x06b2
118760 #define XK_Cyrillic_IO 0x06b3
118761 #define XK_Ukrainian_IE 0x06b4
118762 #define XK_Ukranian_JE 0x06b4
118763 #define XK_Macedonia_DSE 0x06b5
118764 #define XK_Ukrainian_I 0x06b6
118765 #define XK_Ukranian_I 0x06b6
118766 #define XK_Ukrainian_YI 0x06b7
118767 #define XK_Ukranian_YI 0x06b7
118768 #define XK_Cyrillic_JE 0x06b8
118769 #define XK_Serbian_JE 0x06b8
118770 #define XK_Cyrillic_LJE 0x06b9
118771 #define XK_Serbian_LJE 0x06b9
118772 #define XK_Cyrillic_NJE 0x06ba
118773 #define XK_Serbian_NJE 0x06ba
118774 #define XK_Serbian_TSHE 0x06bb
118775 #define XK_Macedonia_KJE 0x06bc
118776 #define XK_Ukrainian_GHE_WITH_UPTURN 0x06bd
118777 #define XK_Byelorussian_SHORTU 0x06be
118778 #define XK_Cyrillic_DZHE 0x06bf
118779 #define XK_Serbian_DZE 0x06bf
118780 #define XK_Cyrillic_yu 0x06c0
118781 #define XK_Cyrillic_a 0x06c1
118782 #define XK_Cyrillic_be 0x06c2
118783 #define XK_Cyrillic_tse 0x06c3
118784 #define XK_Cyrillic_de 0x06c4
118785 #define XK_Cyrillic_ie 0x06c5
118786 #define XK_Cyrillic_ef 0x06c6
118787 #define XK_Cyrillic_ghe 0x06c7
118788 #define XK_Cyrillic_ha 0x06c8
118789 #define XK_Cyrillic_i 0x06c9
118790 #define XK_Cyrillic_shorti 0x06ca
118791 #define XK_Cyrillic_ka 0x06cb
118792 #define XK_Cyrillic_el 0x06cc
118793 #define XK_Cyrillic_em 0x06cd
118794 #define XK_Cyrillic_en 0x06ce
118795 #define XK_Cyrillic_o 0x06cf
118796 #define XK_Cyrillic_pe 0x06d0
118797 #define XK_Cyrillic_ya 0x06d1
118798 #define XK_Cyrillic_er 0x06d2
118799 #define XK_Cyrillic_es 0x06d3
118800 #define XK_Cyrillic_te 0x06d4
118801 #define XK_Cyrillic_u 0x06d5
118802 #define XK_Cyrillic_zhe 0x06d6
118803 #define XK_Cyrillic_ve 0x06d7
118804 #define XK_Cyrillic_softsign 0x06d8
118805 #define XK_Cyrillic_yeru 0x06d9
118806 #define XK_Cyrillic_ze 0x06da
118807 #define XK_Cyrillic_sha 0x06db
118808 #define XK_Cyrillic_e 0x06dc
118809 #define XK_Cyrillic_shcha 0x06dd
118810 #define XK_Cyrillic_che 0x06de
118811 #define XK_Cyrillic_hardsign 0x06df
118812 #define XK_Cyrillic_YU 0x06e0
118813 #define XK_Cyrillic_A 0x06e1
118814 #define XK_Cyrillic_BE 0x06e2
118815 #define XK_Cyrillic_TSE 0x06e3
118816 #define XK_Cyrillic_DE 0x06e4
118817 #define XK_Cyrillic_IE 0x06e5
118818 #define XK_Cyrillic_EF 0x06e6
118819 #define XK_Cyrillic_GHE 0x06e7
118820 #define XK_Cyrillic_HA 0x06e8
118821 #define XK_Cyrillic_I 0x06e9
118822 #define XK_Cyrillic_SHORTI 0x06ea
118823 #define XK_Cyrillic_KA 0x06eb
118824 #define XK_Cyrillic_EL 0x06ec
118825 #define XK_Cyrillic_EM 0x06ed
118826 #define XK_Cyrillic_EN 0x06ee
118827 #define XK_Cyrillic_O 0x06ef
118828 #define XK_Cyrillic_PE 0x06f0
118829 #define XK_Cyrillic_YA 0x06f1
118830 #define XK_Cyrillic_ER 0x06f2
118831 #define XK_Cyrillic_ES 0x06f3
118832 #define XK_Cyrillic_TE 0x06f4
118833 #define XK_Cyrillic_U 0x06f5
118834 #define XK_Cyrillic_ZHE 0x06f6
118835 #define XK_Cyrillic_VE 0x06f7
118836 #define XK_Cyrillic_SOFTSIGN 0x06f8
118837 #define XK_Cyrillic_YERU 0x06f9
118838 #define XK_Cyrillic_ZE 0x06fa
118839 #define XK_Cyrillic_SHA 0x06fb
118840 #define XK_Cyrillic_E 0x06fc
118841 #define XK_Cyrillic_SHCHA 0x06fd
118842 #define XK_Cyrillic_CHE 0x06fe
118843 #define XK_Cyrillic_HARDSIGN 0x06ff
118844 # 1196 "/usr/include/X11/keysymdef.h" 3 4
118845 #define XK_Greek_ALPHAaccent 0x07a1
118846 #define XK_Greek_EPSILONaccent 0x07a2
118847 #define XK_Greek_ETAaccent 0x07a3
118848 #define XK_Greek_IOTAaccent 0x07a4
118849 #define XK_Greek_IOTAdieresis 0x07a5
118850 #define XK_Greek_IOTAdiaeresis 0x07a5
118851 #define XK_Greek_OMICRONaccent 0x07a7
118852 #define XK_Greek_UPSILONaccent 0x07a8
118853 #define XK_Greek_UPSILONdieresis 0x07a9
118854 #define XK_Greek_OMEGAaccent 0x07ab
118855 #define XK_Greek_accentdieresis 0x07ae
118856 #define XK_Greek_horizbar 0x07af
118857 #define XK_Greek_alphaaccent 0x07b1
118858 #define XK_Greek_epsilonaccent 0x07b2
118859 #define XK_Greek_etaaccent 0x07b3
118860 #define XK_Greek_iotaaccent 0x07b4
118861 #define XK_Greek_iotadieresis 0x07b5
118862 #define XK_Greek_iotaaccentdieresis 0x07b6
118863 #define XK_Greek_omicronaccent 0x07b7
118864 #define XK_Greek_upsilonaccent 0x07b8
118865 #define XK_Greek_upsilondieresis 0x07b9
118866 #define XK_Greek_upsilonaccentdieresis 0x07ba
118867 #define XK_Greek_omegaaccent 0x07bb
118868 #define XK_Greek_ALPHA 0x07c1
118869 #define XK_Greek_BETA 0x07c2
118870 #define XK_Greek_GAMMA 0x07c3
118871 #define XK_Greek_DELTA 0x07c4
118872 #define XK_Greek_EPSILON 0x07c5
118873 #define XK_Greek_ZETA 0x07c6
118874 #define XK_Greek_ETA 0x07c7
118875 #define XK_Greek_THETA 0x07c8
118876 #define XK_Greek_IOTA 0x07c9
118877 #define XK_Greek_KAPPA 0x07ca
118878 #define XK_Greek_LAMDA 0x07cb
118879 #define XK_Greek_LAMBDA 0x07cb
118880 #define XK_Greek_MU 0x07cc
118881 #define XK_Greek_NU 0x07cd
118882 #define XK_Greek_XI 0x07ce
118883 #define XK_Greek_OMICRON 0x07cf
118884 #define XK_Greek_PI 0x07d0
118885 #define XK_Greek_RHO 0x07d1
118886 #define XK_Greek_SIGMA 0x07d2
118887 #define XK_Greek_TAU 0x07d4
118888 #define XK_Greek_UPSILON 0x07d5
118889 #define XK_Greek_PHI 0x07d6
118890 #define XK_Greek_CHI 0x07d7
118891 #define XK_Greek_PSI 0x07d8
118892 #define XK_Greek_OMEGA 0x07d9
118893 #define XK_Greek_alpha 0x07e1
118894 #define XK_Greek_beta 0x07e2
118895 #define XK_Greek_gamma 0x07e3
118896 #define XK_Greek_delta 0x07e4
118897 #define XK_Greek_epsilon 0x07e5
118898 #define XK_Greek_zeta 0x07e6
118899 #define XK_Greek_eta 0x07e7
118900 #define XK_Greek_theta 0x07e8
118901 #define XK_Greek_iota 0x07e9
118902 #define XK_Greek_kappa 0x07ea
118903 #define XK_Greek_lamda 0x07eb
118904 #define XK_Greek_lambda 0x07eb
118905 #define XK_Greek_mu 0x07ec
118906 #define XK_Greek_nu 0x07ed
118907 #define XK_Greek_xi 0x07ee
118908 #define XK_Greek_omicron 0x07ef
118909 #define XK_Greek_pi 0x07f0
118910 #define XK_Greek_rho 0x07f1
118911 #define XK_Greek_sigma 0x07f2
118912 #define XK_Greek_finalsmallsigma 0x07f3
118913 #define XK_Greek_tau 0x07f4
118914 #define XK_Greek_upsilon 0x07f5
118915 #define XK_Greek_phi 0x07f6
118916 #define XK_Greek_chi 0x07f7
118917 #define XK_Greek_psi 0x07f8
118918 #define XK_Greek_omega 0x07f9
118919 #define XK_Greek_switch 0xff7e
118920 # 1490 "/usr/include/X11/keysymdef.h" 3 4
118921 #define XK_hebrew_doublelowline 0x0cdf
118922 #define XK_hebrew_aleph 0x0ce0
118923 #define XK_hebrew_bet 0x0ce1
118924 #define XK_hebrew_beth 0x0ce1
118925 #define XK_hebrew_gimel 0x0ce2
118926 #define XK_hebrew_gimmel 0x0ce2
118927 #define XK_hebrew_dalet 0x0ce3
118928 #define XK_hebrew_daleth 0x0ce3
118929 #define XK_hebrew_he 0x0ce4
118930 #define XK_hebrew_waw 0x0ce5
118931 #define XK_hebrew_zain 0x0ce6
118932 #define XK_hebrew_zayin 0x0ce6
118933 #define XK_hebrew_chet 0x0ce7
118934 #define XK_hebrew_het 0x0ce7
118935 #define XK_hebrew_tet 0x0ce8
118936 #define XK_hebrew_teth 0x0ce8
118937 #define XK_hebrew_yod 0x0ce9
118938 #define XK_hebrew_finalkaph 0x0cea
118939 #define XK_hebrew_kaph 0x0ceb
118940 #define XK_hebrew_lamed 0x0cec
118941 #define XK_hebrew_finalmem 0x0ced
118942 #define XK_hebrew_mem 0x0cee
118943 #define XK_hebrew_finalnun 0x0cef
118944 #define XK_hebrew_nun 0x0cf0
118945 #define XK_hebrew_samech 0x0cf1
118946 #define XK_hebrew_samekh 0x0cf1
118947 #define XK_hebrew_ayin 0x0cf2
118948 #define XK_hebrew_finalpe 0x0cf3
118949 #define XK_hebrew_pe 0x0cf4
118950 #define XK_hebrew_finalzade 0x0cf5
118951 #define XK_hebrew_finalzadi 0x0cf5
118952 #define XK_hebrew_zade 0x0cf6
118953 #define XK_hebrew_zadi 0x0cf6
118954 #define XK_hebrew_qoph 0x0cf7
118955 #define XK_hebrew_kuf 0x0cf7
118956 #define XK_hebrew_resh 0x0cf8
118957 #define XK_hebrew_shin 0x0cf9
118958 #define XK_hebrew_taw 0x0cfa
118959 #define XK_hebrew_taf 0x0cfa
118960 #define XK_Hebrew_switch 0xff7e
118961 # 1538 "/usr/include/X11/keysymdef.h" 3 4
118962 #define XK_Thai_kokai 0x0da1
118963 #define XK_Thai_khokhai 0x0da2
118964 #define XK_Thai_khokhuat 0x0da3
118965 #define XK_Thai_khokhwai 0x0da4
118966 #define XK_Thai_khokhon 0x0da5
118967 #define XK_Thai_khorakhang 0x0da6
118968 #define XK_Thai_ngongu 0x0da7
118969 #define XK_Thai_chochan 0x0da8
118970 #define XK_Thai_choching 0x0da9
118971 #define XK_Thai_chochang 0x0daa
118972 #define XK_Thai_soso 0x0dab
118973 #define XK_Thai_chochoe 0x0dac
118974 #define XK_Thai_yoying 0x0dad
118975 #define XK_Thai_dochada 0x0dae
118976 #define XK_Thai_topatak 0x0daf
118977 #define XK_Thai_thothan 0x0db0
118978 #define XK_Thai_thonangmontho 0x0db1
118979 #define XK_Thai_thophuthao 0x0db2
118980 #define XK_Thai_nonen 0x0db3
118981 #define XK_Thai_dodek 0x0db4
118982 #define XK_Thai_totao 0x0db5
118983 #define XK_Thai_thothung 0x0db6
118984 #define XK_Thai_thothahan 0x0db7
118985 #define XK_Thai_thothong 0x0db8
118986 #define XK_Thai_nonu 0x0db9
118987 #define XK_Thai_bobaimai 0x0dba
118988 #define XK_Thai_popla 0x0dbb
118989 #define XK_Thai_phophung 0x0dbc
118990 #define XK_Thai_fofa 0x0dbd
118991 #define XK_Thai_phophan 0x0dbe
118992 #define XK_Thai_fofan 0x0dbf
118993 #define XK_Thai_phosamphao 0x0dc0
118994 #define XK_Thai_moma 0x0dc1
118995 #define XK_Thai_yoyak 0x0dc2
118996 #define XK_Thai_rorua 0x0dc3
118997 #define XK_Thai_ru 0x0dc4
118998 #define XK_Thai_loling 0x0dc5
118999 #define XK_Thai_lu 0x0dc6
119000 #define XK_Thai_wowaen 0x0dc7
119001 #define XK_Thai_sosala 0x0dc8
119002 #define XK_Thai_sorusi 0x0dc9
119003 #define XK_Thai_sosua 0x0dca
119004 #define XK_Thai_hohip 0x0dcb
119005 #define XK_Thai_lochula 0x0dcc
119006 #define XK_Thai_oang 0x0dcd
119007 #define XK_Thai_honokhuk 0x0dce
119008 #define XK_Thai_paiyannoi 0x0dcf
119009 #define XK_Thai_saraa 0x0dd0
119010 #define XK_Thai_maihanakat 0x0dd1
119011 #define XK_Thai_saraaa 0x0dd2
119012 #define XK_Thai_saraam 0x0dd3
119013 #define XK_Thai_sarai 0x0dd4
119014 #define XK_Thai_saraii 0x0dd5
119015 #define XK_Thai_saraue 0x0dd6
119016 #define XK_Thai_sarauee 0x0dd7
119017 #define XK_Thai_sarau 0x0dd8
119018 #define XK_Thai_sarauu 0x0dd9
119019 #define XK_Thai_phinthu 0x0dda
119020 #define XK_Thai_maihanakat_maitho 0x0dde
119021 #define XK_Thai_baht 0x0ddf
119022 #define XK_Thai_sarae 0x0de0
119023 #define XK_Thai_saraae 0x0de1
119024 #define XK_Thai_sarao 0x0de2
119025 #define XK_Thai_saraaimaimuan 0x0de3
119026 #define XK_Thai_saraaimaimalai 0x0de4
119027 #define XK_Thai_lakkhangyao 0x0de5
119028 #define XK_Thai_maiyamok 0x0de6
119029 #define XK_Thai_maitaikhu 0x0de7
119030 #define XK_Thai_maiek 0x0de8
119031 #define XK_Thai_maitho 0x0de9
119032 #define XK_Thai_maitri 0x0dea
119033 #define XK_Thai_maichattawa 0x0deb
119034 #define XK_Thai_thanthakhat 0x0dec
119035 #define XK_Thai_nikhahit 0x0ded
119036 #define XK_Thai_leksun 0x0df0
119037 #define XK_Thai_leknung 0x0df1
119038 #define XK_Thai_leksong 0x0df2
119039 #define XK_Thai_leksam 0x0df3
119040 #define XK_Thai_leksi 0x0df4
119041 #define XK_Thai_lekha 0x0df5
119042 #define XK_Thai_lekhok 0x0df6
119043 #define XK_Thai_lekchet 0x0df7
119044 #define XK_Thai_lekpaet 0x0df8
119045 #define XK_Thai_lekkao 0x0df9
119046 # 1631 "/usr/include/X11/keysymdef.h" 3 4
119047 #define XK_Hangul 0xff31
119048 #define XK_Hangul_Start 0xff32
119049 #define XK_Hangul_End 0xff33
119050 #define XK_Hangul_Hanja 0xff34
119051 #define XK_Hangul_Jamo 0xff35
119052 #define XK_Hangul_Romaja 0xff36
119053 #define XK_Hangul_Codeinput 0xff37
119054 #define XK_Hangul_Jeonja 0xff38
119055 #define XK_Hangul_Banja 0xff39
119056 #define XK_Hangul_PreHanja 0xff3a
119057 #define XK_Hangul_PostHanja 0xff3b
119058 #define XK_Hangul_SingleCandidate 0xff3c
119059 #define XK_Hangul_MultipleCandidate 0xff3d
119060 #define XK_Hangul_PreviousCandidate 0xff3e
119061 #define XK_Hangul_Special 0xff3f
119062 #define XK_Hangul_switch 0xff7e
119063
119064
119065 #define XK_Hangul_Kiyeog 0x0ea1
119066 #define XK_Hangul_SsangKiyeog 0x0ea2
119067 #define XK_Hangul_KiyeogSios 0x0ea3
119068 #define XK_Hangul_Nieun 0x0ea4
119069 #define XK_Hangul_NieunJieuj 0x0ea5
119070 #define XK_Hangul_NieunHieuh 0x0ea6
119071 #define XK_Hangul_Dikeud 0x0ea7
119072 #define XK_Hangul_SsangDikeud 0x0ea8
119073 #define XK_Hangul_Rieul 0x0ea9
119074 #define XK_Hangul_RieulKiyeog 0x0eaa
119075 #define XK_Hangul_RieulMieum 0x0eab
119076 #define XK_Hangul_RieulPieub 0x0eac
119077 #define XK_Hangul_RieulSios 0x0ead
119078 #define XK_Hangul_RieulTieut 0x0eae
119079 #define XK_Hangul_RieulPhieuf 0x0eaf
119080 #define XK_Hangul_RieulHieuh 0x0eb0
119081 #define XK_Hangul_Mieum 0x0eb1
119082 #define XK_Hangul_Pieub 0x0eb2
119083 #define XK_Hangul_SsangPieub 0x0eb3
119084 #define XK_Hangul_PieubSios 0x0eb4
119085 #define XK_Hangul_Sios 0x0eb5
119086 #define XK_Hangul_SsangSios 0x0eb6
119087 #define XK_Hangul_Ieung 0x0eb7
119088 #define XK_Hangul_Jieuj 0x0eb8
119089 #define XK_Hangul_SsangJieuj 0x0eb9
119090 #define XK_Hangul_Cieuc 0x0eba
119091 #define XK_Hangul_Khieuq 0x0ebb
119092 #define XK_Hangul_Tieut 0x0ebc
119093 #define XK_Hangul_Phieuf 0x0ebd
119094 #define XK_Hangul_Hieuh 0x0ebe
119095
119096
119097 #define XK_Hangul_A 0x0ebf
119098 #define XK_Hangul_AE 0x0ec0
119099 #define XK_Hangul_YA 0x0ec1
119100 #define XK_Hangul_YAE 0x0ec2
119101 #define XK_Hangul_EO 0x0ec3
119102 #define XK_Hangul_E 0x0ec4
119103 #define XK_Hangul_YEO 0x0ec5
119104 #define XK_Hangul_YE 0x0ec6
119105 #define XK_Hangul_O 0x0ec7
119106 #define XK_Hangul_WA 0x0ec8
119107 #define XK_Hangul_WAE 0x0ec9
119108 #define XK_Hangul_OE 0x0eca
119109 #define XK_Hangul_YO 0x0ecb
119110 #define XK_Hangul_U 0x0ecc
119111 #define XK_Hangul_WEO 0x0ecd
119112 #define XK_Hangul_WE 0x0ece
119113 #define XK_Hangul_WI 0x0ecf
119114 #define XK_Hangul_YU 0x0ed0
119115 #define XK_Hangul_EU 0x0ed1
119116 #define XK_Hangul_YI 0x0ed2
119117 #define XK_Hangul_I 0x0ed3
119118
119119
119120 #define XK_Hangul_J_Kiyeog 0x0ed4
119121 #define XK_Hangul_J_SsangKiyeog 0x0ed5
119122 #define XK_Hangul_J_KiyeogSios 0x0ed6
119123 #define XK_Hangul_J_Nieun 0x0ed7
119124 #define XK_Hangul_J_NieunJieuj 0x0ed8
119125 #define XK_Hangul_J_NieunHieuh 0x0ed9
119126 #define XK_Hangul_J_Dikeud 0x0eda
119127 #define XK_Hangul_J_Rieul 0x0edb
119128 #define XK_Hangul_J_RieulKiyeog 0x0edc
119129 #define XK_Hangul_J_RieulMieum 0x0edd
119130 #define XK_Hangul_J_RieulPieub 0x0ede
119131 #define XK_Hangul_J_RieulSios 0x0edf
119132 #define XK_Hangul_J_RieulTieut 0x0ee0
119133 #define XK_Hangul_J_RieulPhieuf 0x0ee1
119134 #define XK_Hangul_J_RieulHieuh 0x0ee2
119135 #define XK_Hangul_J_Mieum 0x0ee3
119136 #define XK_Hangul_J_Pieub 0x0ee4
119137 #define XK_Hangul_J_PieubSios 0x0ee5
119138 #define XK_Hangul_J_Sios 0x0ee6
119139 #define XK_Hangul_J_SsangSios 0x0ee7
119140 #define XK_Hangul_J_Ieung 0x0ee8
119141 #define XK_Hangul_J_Jieuj 0x0ee9
119142 #define XK_Hangul_J_Cieuc 0x0eea
119143 #define XK_Hangul_J_Khieuq 0x0eeb
119144 #define XK_Hangul_J_Tieut 0x0eec
119145 #define XK_Hangul_J_Phieuf 0x0eed
119146 #define XK_Hangul_J_Hieuh 0x0eee
119147
119148
119149 #define XK_Hangul_RieulYeorinHieuh 0x0eef
119150 #define XK_Hangul_SunkyeongeumMieum 0x0ef0
119151 #define XK_Hangul_SunkyeongeumPieub 0x0ef1
119152 #define XK_Hangul_PanSios 0x0ef2
119153 #define XK_Hangul_KkogjiDalrinIeung 0x0ef3
119154 #define XK_Hangul_SunkyeongeumPhieuf 0x0ef4
119155 #define XK_Hangul_YeorinHieuh 0x0ef5
119156
119157
119158 #define XK_Hangul_AraeA 0x0ef6
119159 #define XK_Hangul_AraeAE 0x0ef7
119160
119161
119162 #define XK_Hangul_J_PanSios 0x0ef8
119163 #define XK_Hangul_J_KkogjiDalrinIeung 0x0ef9
119164 #define XK_Hangul_J_YeorinHieuh 0x0efa
119165
119166
119167 #define XK_Korean_Won 0x0eff
119168 # 1760 "/usr/include/X11/keysymdef.h" 3 4
119169 #define XK_Armenian_ligature_ew 0x1000587
119170 #define XK_Armenian_full_stop 0x1000589
119171 #define XK_Armenian_verjaket 0x1000589
119172 #define XK_Armenian_separation_mark 0x100055d
119173 #define XK_Armenian_but 0x100055d
119174 #define XK_Armenian_hyphen 0x100058a
119175 #define XK_Armenian_yentamna 0x100058a
119176 #define XK_Armenian_exclam 0x100055c
119177 #define XK_Armenian_amanak 0x100055c
119178 #define XK_Armenian_accent 0x100055b
119179 #define XK_Armenian_shesht 0x100055b
119180 #define XK_Armenian_question 0x100055e
119181 #define XK_Armenian_paruyk 0x100055e
119182 #define XK_Armenian_AYB 0x1000531
119183 #define XK_Armenian_ayb 0x1000561
119184 #define XK_Armenian_BEN 0x1000532
119185 #define XK_Armenian_ben 0x1000562
119186 #define XK_Armenian_GIM 0x1000533
119187 #define XK_Armenian_gim 0x1000563
119188 #define XK_Armenian_DA 0x1000534
119189 #define XK_Armenian_da 0x1000564
119190 #define XK_Armenian_YECH 0x1000535
119191 #define XK_Armenian_yech 0x1000565
119192 #define XK_Armenian_ZA 0x1000536
119193 #define XK_Armenian_za 0x1000566
119194 #define XK_Armenian_E 0x1000537
119195 #define XK_Armenian_e 0x1000567
119196 #define XK_Armenian_AT 0x1000538
119197 #define XK_Armenian_at 0x1000568
119198 #define XK_Armenian_TO 0x1000539
119199 #define XK_Armenian_to 0x1000569
119200 #define XK_Armenian_ZHE 0x100053a
119201 #define XK_Armenian_zhe 0x100056a
119202 #define XK_Armenian_INI 0x100053b
119203 #define XK_Armenian_ini 0x100056b
119204 #define XK_Armenian_LYUN 0x100053c
119205 #define XK_Armenian_lyun 0x100056c
119206 #define XK_Armenian_KHE 0x100053d
119207 #define XK_Armenian_khe 0x100056d
119208 #define XK_Armenian_TSA 0x100053e
119209 #define XK_Armenian_tsa 0x100056e
119210 #define XK_Armenian_KEN 0x100053f
119211 #define XK_Armenian_ken 0x100056f
119212 #define XK_Armenian_HO 0x1000540
119213 #define XK_Armenian_ho 0x1000570
119214 #define XK_Armenian_DZA 0x1000541
119215 #define XK_Armenian_dza 0x1000571
119216 #define XK_Armenian_GHAT 0x1000542
119217 #define XK_Armenian_ghat 0x1000572
119218 #define XK_Armenian_TCHE 0x1000543
119219 #define XK_Armenian_tche 0x1000573
119220 #define XK_Armenian_MEN 0x1000544
119221 #define XK_Armenian_men 0x1000574
119222 #define XK_Armenian_HI 0x1000545
119223 #define XK_Armenian_hi 0x1000575
119224 #define XK_Armenian_NU 0x1000546
119225 #define XK_Armenian_nu 0x1000576
119226 #define XK_Armenian_SHA 0x1000547
119227 #define XK_Armenian_sha 0x1000577
119228 #define XK_Armenian_VO 0x1000548
119229 #define XK_Armenian_vo 0x1000578
119230 #define XK_Armenian_CHA 0x1000549
119231 #define XK_Armenian_cha 0x1000579
119232 #define XK_Armenian_PE 0x100054a
119233 #define XK_Armenian_pe 0x100057a
119234 #define XK_Armenian_JE 0x100054b
119235 #define XK_Armenian_je 0x100057b
119236 #define XK_Armenian_RA 0x100054c
119237 #define XK_Armenian_ra 0x100057c
119238 #define XK_Armenian_SE 0x100054d
119239 #define XK_Armenian_se 0x100057d
119240 #define XK_Armenian_VEV 0x100054e
119241 #define XK_Armenian_vev 0x100057e
119242 #define XK_Armenian_TYUN 0x100054f
119243 #define XK_Armenian_tyun 0x100057f
119244 #define XK_Armenian_RE 0x1000550
119245 #define XK_Armenian_re 0x1000580
119246 #define XK_Armenian_TSO 0x1000551
119247 #define XK_Armenian_tso 0x1000581
119248 #define XK_Armenian_VYUN 0x1000552
119249 #define XK_Armenian_vyun 0x1000582
119250 #define XK_Armenian_PYUR 0x1000553
119251 #define XK_Armenian_pyur 0x1000583
119252 #define XK_Armenian_KE 0x1000554
119253 #define XK_Armenian_ke 0x1000584
119254 #define XK_Armenian_O 0x1000555
119255 #define XK_Armenian_o 0x1000585
119256 #define XK_Armenian_FE 0x1000556
119257 #define XK_Armenian_fe 0x1000586
119258 #define XK_Armenian_apostrophe 0x100055a
119259
119260
119261
119262
119263
119264
119265
119266 #define XK_Georgian_an 0x10010d0
119267 #define XK_Georgian_ban 0x10010d1
119268 #define XK_Georgian_gan 0x10010d2
119269 #define XK_Georgian_don 0x10010d3
119270 #define XK_Georgian_en 0x10010d4
119271 #define XK_Georgian_vin 0x10010d5
119272 #define XK_Georgian_zen 0x10010d6
119273 #define XK_Georgian_tan 0x10010d7
119274 #define XK_Georgian_in 0x10010d8
119275 #define XK_Georgian_kan 0x10010d9
119276 #define XK_Georgian_las 0x10010da
119277 #define XK_Georgian_man 0x10010db
119278 #define XK_Georgian_nar 0x10010dc
119279 #define XK_Georgian_on 0x10010dd
119280 #define XK_Georgian_par 0x10010de
119281 #define XK_Georgian_zhar 0x10010df
119282 #define XK_Georgian_rae 0x10010e0
119283 #define XK_Georgian_san 0x10010e1
119284 #define XK_Georgian_tar 0x10010e2
119285 #define XK_Georgian_un 0x10010e3
119286 #define XK_Georgian_phar 0x10010e4
119287 #define XK_Georgian_khar 0x10010e5
119288 #define XK_Georgian_ghan 0x10010e6
119289 #define XK_Georgian_qar 0x10010e7
119290 #define XK_Georgian_shin 0x10010e8
119291 #define XK_Georgian_chin 0x10010e9
119292 #define XK_Georgian_can 0x10010ea
119293 #define XK_Georgian_jil 0x10010eb
119294 #define XK_Georgian_cil 0x10010ec
119295 #define XK_Georgian_char 0x10010ed
119296 #define XK_Georgian_xan 0x10010ee
119297 #define XK_Georgian_jhan 0x10010ef
119298 #define XK_Georgian_hae 0x10010f0
119299 #define XK_Georgian_he 0x10010f1
119300 #define XK_Georgian_hie 0x10010f2
119301 #define XK_Georgian_we 0x10010f3
119302 #define XK_Georgian_har 0x10010f4
119303 #define XK_Georgian_hoe 0x10010f5
119304 #define XK_Georgian_fi 0x10010f6
119305 # 1904 "/usr/include/X11/keysymdef.h" 3 4
119306 #define XK_Xabovedot 0x1001e8a
119307 #define XK_Ibreve 0x100012c
119308 #define XK_Zstroke 0x10001b5
119309 #define XK_Gcaron 0x10001e6
119310 #define XK_Ocaron 0x10001d1
119311 #define XK_Obarred 0x100019f
119312 #define XK_xabovedot 0x1001e8b
119313 #define XK_ibreve 0x100012d
119314 #define XK_zstroke 0x10001b6
119315 #define XK_gcaron 0x10001e7
119316 #define XK_ocaron 0x10001d2
119317 #define XK_obarred 0x1000275
119318 #define XK_SCHWA 0x100018f
119319 #define XK_schwa 0x1000259
119320
119321
119322 #define XK_Lbelowdot 0x1001e36
119323 #define XK_lbelowdot 0x1001e37
119324
119325
119326
119327
119328
119329
119330
119331 #define XK_Abelowdot 0x1001ea0
119332 #define XK_abelowdot 0x1001ea1
119333 #define XK_Ahook 0x1001ea2
119334 #define XK_ahook 0x1001ea3
119335 #define XK_Acircumflexacute 0x1001ea4
119336 #define XK_acircumflexacute 0x1001ea5
119337 #define XK_Acircumflexgrave 0x1001ea6
119338 #define XK_acircumflexgrave 0x1001ea7
119339 #define XK_Acircumflexhook 0x1001ea8
119340 #define XK_acircumflexhook 0x1001ea9
119341 #define XK_Acircumflextilde 0x1001eaa
119342 #define XK_acircumflextilde 0x1001eab
119343 #define XK_Acircumflexbelowdot 0x1001eac
119344 #define XK_acircumflexbelowdot 0x1001ead
119345 #define XK_Abreveacute 0x1001eae
119346 #define XK_abreveacute 0x1001eaf
119347 #define XK_Abrevegrave 0x1001eb0
119348 #define XK_abrevegrave 0x1001eb1
119349 #define XK_Abrevehook 0x1001eb2
119350 #define XK_abrevehook 0x1001eb3
119351 #define XK_Abrevetilde 0x1001eb4
119352 #define XK_abrevetilde 0x1001eb5
119353 #define XK_Abrevebelowdot 0x1001eb6
119354 #define XK_abrevebelowdot 0x1001eb7
119355 #define XK_Ebelowdot 0x1001eb8
119356 #define XK_ebelowdot 0x1001eb9
119357 #define XK_Ehook 0x1001eba
119358 #define XK_ehook 0x1001ebb
119359 #define XK_Etilde 0x1001ebc
119360 #define XK_etilde 0x1001ebd
119361 #define XK_Ecircumflexacute 0x1001ebe
119362 #define XK_ecircumflexacute 0x1001ebf
119363 #define XK_Ecircumflexgrave 0x1001ec0
119364 #define XK_ecircumflexgrave 0x1001ec1
119365 #define XK_Ecircumflexhook 0x1001ec2
119366 #define XK_ecircumflexhook 0x1001ec3
119367 #define XK_Ecircumflextilde 0x1001ec4
119368 #define XK_ecircumflextilde 0x1001ec5
119369 #define XK_Ecircumflexbelowdot 0x1001ec6
119370 #define XK_ecircumflexbelowdot 0x1001ec7
119371 #define XK_Ihook 0x1001ec8
119372 #define XK_ihook 0x1001ec9
119373 #define XK_Ibelowdot 0x1001eca
119374 #define XK_ibelowdot 0x1001ecb
119375 #define XK_Obelowdot 0x1001ecc
119376 #define XK_obelowdot 0x1001ecd
119377 #define XK_Ohook 0x1001ece
119378 #define XK_ohook 0x1001ecf
119379 #define XK_Ocircumflexacute 0x1001ed0
119380 #define XK_ocircumflexacute 0x1001ed1
119381 #define XK_Ocircumflexgrave 0x1001ed2
119382 #define XK_ocircumflexgrave 0x1001ed3
119383 #define XK_Ocircumflexhook 0x1001ed4
119384 #define XK_ocircumflexhook 0x1001ed5
119385 #define XK_Ocircumflextilde 0x1001ed6
119386 #define XK_ocircumflextilde 0x1001ed7
119387 #define XK_Ocircumflexbelowdot 0x1001ed8
119388 #define XK_ocircumflexbelowdot 0x1001ed9
119389 #define XK_Ohornacute 0x1001eda
119390 #define XK_ohornacute 0x1001edb
119391 #define XK_Ohorngrave 0x1001edc
119392 #define XK_ohorngrave 0x1001edd
119393 #define XK_Ohornhook 0x1001ede
119394 #define XK_ohornhook 0x1001edf
119395 #define XK_Ohorntilde 0x1001ee0
119396 #define XK_ohorntilde 0x1001ee1
119397 #define XK_Ohornbelowdot 0x1001ee2
119398 #define XK_ohornbelowdot 0x1001ee3
119399 #define XK_Ubelowdot 0x1001ee4
119400 #define XK_ubelowdot 0x1001ee5
119401 #define XK_Uhook 0x1001ee6
119402 #define XK_uhook 0x1001ee7
119403 #define XK_Uhornacute 0x1001ee8
119404 #define XK_uhornacute 0x1001ee9
119405 #define XK_Uhorngrave 0x1001eea
119406 #define XK_uhorngrave 0x1001eeb
119407 #define XK_Uhornhook 0x1001eec
119408 #define XK_uhornhook 0x1001eed
119409 #define XK_Uhorntilde 0x1001eee
119410 #define XK_uhorntilde 0x1001eef
119411 #define XK_Uhornbelowdot 0x1001ef0
119412 #define XK_uhornbelowdot 0x1001ef1
119413 #define XK_Ybelowdot 0x1001ef4
119414 #define XK_ybelowdot 0x1001ef5
119415 #define XK_Yhook 0x1001ef6
119416 #define XK_yhook 0x1001ef7
119417 #define XK_Ytilde 0x1001ef8
119418 #define XK_ytilde 0x1001ef9
119419 #define XK_Ohorn 0x10001a0
119420 #define XK_ohorn 0x10001a1
119421 #define XK_Uhorn 0x10001af
119422 #define XK_uhorn 0x10001b0
119423
119424
119425
119426
119427 #define XK_EcuSign 0x10020a0
119428 #define XK_ColonSign 0x10020a1
119429 #define XK_CruzeiroSign 0x10020a2
119430 #define XK_FFrancSign 0x10020a3
119431 #define XK_LiraSign 0x10020a4
119432 #define XK_MillSign 0x10020a5
119433 #define XK_NairaSign 0x10020a6
119434 #define XK_PesetaSign 0x10020a7
119435 #define XK_RupeeSign 0x10020a8
119436 #define XK_WonSign 0x10020a9
119437 #define XK_NewSheqelSign 0x10020aa
119438 #define XK_DongSign 0x10020ab
119439 #define XK_EuroSign 0x20ac
119440
119441
119442
119443
119444 #define XK_zerosuperior 0x1002070
119445 #define XK_foursuperior 0x1002074
119446 #define XK_fivesuperior 0x1002075
119447 #define XK_sixsuperior 0x1002076
119448 #define XK_sevensuperior 0x1002077
119449 #define XK_eightsuperior 0x1002078
119450 #define XK_ninesuperior 0x1002079
119451 #define XK_zerosubscript 0x1002080
119452 #define XK_onesubscript 0x1002081
119453 #define XK_twosubscript 0x1002082
119454 #define XK_threesubscript 0x1002083
119455 #define XK_foursubscript 0x1002084
119456 #define XK_fivesubscript 0x1002085
119457 #define XK_sixsubscript 0x1002086
119458 #define XK_sevensubscript 0x1002087
119459 #define XK_eightsubscript 0x1002088
119460 #define XK_ninesubscript 0x1002089
119461 #define XK_partdifferential 0x1002202
119462 #define XK_emptyset 0x1002205
119463 #define XK_elementof 0x1002208
119464 #define XK_notelementof 0x1002209
119465 #define XK_containsas 0x100220B
119466 #define XK_squareroot 0x100221A
119467 #define XK_cuberoot 0x100221B
119468 #define XK_fourthroot 0x100221C
119469 #define XK_dintegral 0x100222C
119470 #define XK_tintegral 0x100222D
119471 #define XK_because 0x1002235
119472 #define XK_approxeq 0x1002248
119473 #define XK_notapproxeq 0x1002247
119474 #define XK_notidentical 0x1002262
119475 #define XK_stricteq 0x1002263
119476
119477
119478
119479 #define XK_braille_dot_1 0xfff1
119480 #define XK_braille_dot_2 0xfff2
119481 #define XK_braille_dot_3 0xfff3
119482 #define XK_braille_dot_4 0xfff4
119483 #define XK_braille_dot_5 0xfff5
119484 #define XK_braille_dot_6 0xfff6
119485 #define XK_braille_dot_7 0xfff7
119486 #define XK_braille_dot_8 0xfff8
119487 #define XK_braille_dot_9 0xfff9
119488 #define XK_braille_dot_10 0xfffa
119489 #define XK_braille_blank 0x1002800
119490 #define XK_braille_dots_1 0x1002801
119491 #define XK_braille_dots_2 0x1002802
119492 #define XK_braille_dots_12 0x1002803
119493 #define XK_braille_dots_3 0x1002804
119494 #define XK_braille_dots_13 0x1002805
119495 #define XK_braille_dots_23 0x1002806
119496 #define XK_braille_dots_123 0x1002807
119497 #define XK_braille_dots_4 0x1002808
119498 #define XK_braille_dots_14 0x1002809
119499 #define XK_braille_dots_24 0x100280a
119500 #define XK_braille_dots_124 0x100280b
119501 #define XK_braille_dots_34 0x100280c
119502 #define XK_braille_dots_134 0x100280d
119503 #define XK_braille_dots_234 0x100280e
119504 #define XK_braille_dots_1234 0x100280f
119505 #define XK_braille_dots_5 0x1002810
119506 #define XK_braille_dots_15 0x1002811
119507 #define XK_braille_dots_25 0x1002812
119508 #define XK_braille_dots_125 0x1002813
119509 #define XK_braille_dots_35 0x1002814
119510 #define XK_braille_dots_135 0x1002815
119511 #define XK_braille_dots_235 0x1002816
119512 #define XK_braille_dots_1235 0x1002817
119513 #define XK_braille_dots_45 0x1002818
119514 #define XK_braille_dots_145 0x1002819
119515 #define XK_braille_dots_245 0x100281a
119516 #define XK_braille_dots_1245 0x100281b
119517 #define XK_braille_dots_345 0x100281c
119518 #define XK_braille_dots_1345 0x100281d
119519 #define XK_braille_dots_2345 0x100281e
119520 #define XK_braille_dots_12345 0x100281f
119521 #define XK_braille_dots_6 0x1002820
119522 #define XK_braille_dots_16 0x1002821
119523 #define XK_braille_dots_26 0x1002822
119524 #define XK_braille_dots_126 0x1002823
119525 #define XK_braille_dots_36 0x1002824
119526 #define XK_braille_dots_136 0x1002825
119527 #define XK_braille_dots_236 0x1002826
119528 #define XK_braille_dots_1236 0x1002827
119529 #define XK_braille_dots_46 0x1002828
119530 #define XK_braille_dots_146 0x1002829
119531 #define XK_braille_dots_246 0x100282a
119532 #define XK_braille_dots_1246 0x100282b
119533 #define XK_braille_dots_346 0x100282c
119534 #define XK_braille_dots_1346 0x100282d
119535 #define XK_braille_dots_2346 0x100282e
119536 #define XK_braille_dots_12346 0x100282f
119537 #define XK_braille_dots_56 0x1002830
119538 #define XK_braille_dots_156 0x1002831
119539 #define XK_braille_dots_256 0x1002832
119540 #define XK_braille_dots_1256 0x1002833
119541 #define XK_braille_dots_356 0x1002834
119542 #define XK_braille_dots_1356 0x1002835
119543 #define XK_braille_dots_2356 0x1002836
119544 #define XK_braille_dots_12356 0x1002837
119545 #define XK_braille_dots_456 0x1002838
119546 #define XK_braille_dots_1456 0x1002839
119547 #define XK_braille_dots_2456 0x100283a
119548 #define XK_braille_dots_12456 0x100283b
119549 #define XK_braille_dots_3456 0x100283c
119550 #define XK_braille_dots_13456 0x100283d
119551 #define XK_braille_dots_23456 0x100283e
119552 #define XK_braille_dots_123456 0x100283f
119553 #define XK_braille_dots_7 0x1002840
119554 #define XK_braille_dots_17 0x1002841
119555 #define XK_braille_dots_27 0x1002842
119556 #define XK_braille_dots_127 0x1002843
119557 #define XK_braille_dots_37 0x1002844
119558 #define XK_braille_dots_137 0x1002845
119559 #define XK_braille_dots_237 0x1002846
119560 #define XK_braille_dots_1237 0x1002847
119561 #define XK_braille_dots_47 0x1002848
119562 #define XK_braille_dots_147 0x1002849
119563 #define XK_braille_dots_247 0x100284a
119564 #define XK_braille_dots_1247 0x100284b
119565 #define XK_braille_dots_347 0x100284c
119566 #define XK_braille_dots_1347 0x100284d
119567 #define XK_braille_dots_2347 0x100284e
119568 #define XK_braille_dots_12347 0x100284f
119569 #define XK_braille_dots_57 0x1002850
119570 #define XK_braille_dots_157 0x1002851
119571 #define XK_braille_dots_257 0x1002852
119572 #define XK_braille_dots_1257 0x1002853
119573 #define XK_braille_dots_357 0x1002854
119574 #define XK_braille_dots_1357 0x1002855
119575 #define XK_braille_dots_2357 0x1002856
119576 #define XK_braille_dots_12357 0x1002857
119577 #define XK_braille_dots_457 0x1002858
119578 #define XK_braille_dots_1457 0x1002859
119579 #define XK_braille_dots_2457 0x100285a
119580 #define XK_braille_dots_12457 0x100285b
119581 #define XK_braille_dots_3457 0x100285c
119582 #define XK_braille_dots_13457 0x100285d
119583 #define XK_braille_dots_23457 0x100285e
119584 #define XK_braille_dots_123457 0x100285f
119585 #define XK_braille_dots_67 0x1002860
119586 #define XK_braille_dots_167 0x1002861
119587 #define XK_braille_dots_267 0x1002862
119588 #define XK_braille_dots_1267 0x1002863
119589 #define XK_braille_dots_367 0x1002864
119590 #define XK_braille_dots_1367 0x1002865
119591 #define XK_braille_dots_2367 0x1002866
119592 #define XK_braille_dots_12367 0x1002867
119593 #define XK_braille_dots_467 0x1002868
119594 #define XK_braille_dots_1467 0x1002869
119595 #define XK_braille_dots_2467 0x100286a
119596 #define XK_braille_dots_12467 0x100286b
119597 #define XK_braille_dots_3467 0x100286c
119598 #define XK_braille_dots_13467 0x100286d
119599 #define XK_braille_dots_23467 0x100286e
119600 #define XK_braille_dots_123467 0x100286f
119601 #define XK_braille_dots_567 0x1002870
119602 #define XK_braille_dots_1567 0x1002871
119603 #define XK_braille_dots_2567 0x1002872
119604 #define XK_braille_dots_12567 0x1002873
119605 #define XK_braille_dots_3567 0x1002874
119606 #define XK_braille_dots_13567 0x1002875
119607 #define XK_braille_dots_23567 0x1002876
119608 #define XK_braille_dots_123567 0x1002877
119609 #define XK_braille_dots_4567 0x1002878
119610 #define XK_braille_dots_14567 0x1002879
119611 #define XK_braille_dots_24567 0x100287a
119612 #define XK_braille_dots_124567 0x100287b
119613 #define XK_braille_dots_34567 0x100287c
119614 #define XK_braille_dots_134567 0x100287d
119615 #define XK_braille_dots_234567 0x100287e
119616 #define XK_braille_dots_1234567 0x100287f
119617 #define XK_braille_dots_8 0x1002880
119618 #define XK_braille_dots_18 0x1002881
119619 #define XK_braille_dots_28 0x1002882
119620 #define XK_braille_dots_128 0x1002883
119621 #define XK_braille_dots_38 0x1002884
119622 #define XK_braille_dots_138 0x1002885
119623 #define XK_braille_dots_238 0x1002886
119624 #define XK_braille_dots_1238 0x1002887
119625 #define XK_braille_dots_48 0x1002888
119626 #define XK_braille_dots_148 0x1002889
119627 #define XK_braille_dots_248 0x100288a
119628 #define XK_braille_dots_1248 0x100288b
119629 #define XK_braille_dots_348 0x100288c
119630 #define XK_braille_dots_1348 0x100288d
119631 #define XK_braille_dots_2348 0x100288e
119632 #define XK_braille_dots_12348 0x100288f
119633 #define XK_braille_dots_58 0x1002890
119634 #define XK_braille_dots_158 0x1002891
119635 #define XK_braille_dots_258 0x1002892
119636 #define XK_braille_dots_1258 0x1002893
119637 #define XK_braille_dots_358 0x1002894
119638 #define XK_braille_dots_1358 0x1002895
119639 #define XK_braille_dots_2358 0x1002896
119640 #define XK_braille_dots_12358 0x1002897
119641 #define XK_braille_dots_458 0x1002898
119642 #define XK_braille_dots_1458 0x1002899
119643 #define XK_braille_dots_2458 0x100289a
119644 #define XK_braille_dots_12458 0x100289b
119645 #define XK_braille_dots_3458 0x100289c
119646 #define XK_braille_dots_13458 0x100289d
119647 #define XK_braille_dots_23458 0x100289e
119648 #define XK_braille_dots_123458 0x100289f
119649 #define XK_braille_dots_68 0x10028a0
119650 #define XK_braille_dots_168 0x10028a1
119651 #define XK_braille_dots_268 0x10028a2
119652 #define XK_braille_dots_1268 0x10028a3
119653 #define XK_braille_dots_368 0x10028a4
119654 #define XK_braille_dots_1368 0x10028a5
119655 #define XK_braille_dots_2368 0x10028a6
119656 #define XK_braille_dots_12368 0x10028a7
119657 #define XK_braille_dots_468 0x10028a8
119658 #define XK_braille_dots_1468 0x10028a9
119659 #define XK_braille_dots_2468 0x10028aa
119660 #define XK_braille_dots_12468 0x10028ab
119661 #define XK_braille_dots_3468 0x10028ac
119662 #define XK_braille_dots_13468 0x10028ad
119663 #define XK_braille_dots_23468 0x10028ae
119664 #define XK_braille_dots_123468 0x10028af
119665 #define XK_braille_dots_568 0x10028b0
119666 #define XK_braille_dots_1568 0x10028b1
119667 #define XK_braille_dots_2568 0x10028b2
119668 #define XK_braille_dots_12568 0x10028b3
119669 #define XK_braille_dots_3568 0x10028b4
119670 #define XK_braille_dots_13568 0x10028b5
119671 #define XK_braille_dots_23568 0x10028b6
119672 #define XK_braille_dots_123568 0x10028b7
119673 #define XK_braille_dots_4568 0x10028b8
119674 #define XK_braille_dots_14568 0x10028b9
119675 #define XK_braille_dots_24568 0x10028ba
119676 #define XK_braille_dots_124568 0x10028bb
119677 #define XK_braille_dots_34568 0x10028bc
119678 #define XK_braille_dots_134568 0x10028bd
119679 #define XK_braille_dots_234568 0x10028be
119680 #define XK_braille_dots_1234568 0x10028bf
119681 #define XK_braille_dots_78 0x10028c0
119682 #define XK_braille_dots_178 0x10028c1
119683 #define XK_braille_dots_278 0x10028c2
119684 #define XK_braille_dots_1278 0x10028c3
119685 #define XK_braille_dots_378 0x10028c4
119686 #define XK_braille_dots_1378 0x10028c5
119687 #define XK_braille_dots_2378 0x10028c6
119688 #define XK_braille_dots_12378 0x10028c7
119689 #define XK_braille_dots_478 0x10028c8
119690 #define XK_braille_dots_1478 0x10028c9
119691 #define XK_braille_dots_2478 0x10028ca
119692 #define XK_braille_dots_12478 0x10028cb
119693 #define XK_braille_dots_3478 0x10028cc
119694 #define XK_braille_dots_13478 0x10028cd
119695 #define XK_braille_dots_23478 0x10028ce
119696 #define XK_braille_dots_123478 0x10028cf
119697 #define XK_braille_dots_578 0x10028d0
119698 #define XK_braille_dots_1578 0x10028d1
119699 #define XK_braille_dots_2578 0x10028d2
119700 #define XK_braille_dots_12578 0x10028d3
119701 #define XK_braille_dots_3578 0x10028d4
119702 #define XK_braille_dots_13578 0x10028d5
119703 #define XK_braille_dots_23578 0x10028d6
119704 #define XK_braille_dots_123578 0x10028d7
119705 #define XK_braille_dots_4578 0x10028d8
119706 #define XK_braille_dots_14578 0x10028d9
119707 #define XK_braille_dots_24578 0x10028da
119708 #define XK_braille_dots_124578 0x10028db
119709 #define XK_braille_dots_34578 0x10028dc
119710 #define XK_braille_dots_134578 0x10028dd
119711 #define XK_braille_dots_234578 0x10028de
119712 #define XK_braille_dots_1234578 0x10028df
119713 #define XK_braille_dots_678 0x10028e0
119714 #define XK_braille_dots_1678 0x10028e1
119715 #define XK_braille_dots_2678 0x10028e2
119716 #define XK_braille_dots_12678 0x10028e3
119717 #define XK_braille_dots_3678 0x10028e4
119718 #define XK_braille_dots_13678 0x10028e5
119719 #define XK_braille_dots_23678 0x10028e6
119720 #define XK_braille_dots_123678 0x10028e7
119721 #define XK_braille_dots_4678 0x10028e8
119722 #define XK_braille_dots_14678 0x10028e9
119723 #define XK_braille_dots_24678 0x10028ea
119724 #define XK_braille_dots_124678 0x10028eb
119725 #define XK_braille_dots_34678 0x10028ec
119726 #define XK_braille_dots_134678 0x10028ed
119727 #define XK_braille_dots_234678 0x10028ee
119728 #define XK_braille_dots_1234678 0x10028ef
119729 #define XK_braille_dots_5678 0x10028f0
119730 #define XK_braille_dots_15678 0x10028f1
119731 #define XK_braille_dots_25678 0x10028f2
119732 #define XK_braille_dots_125678 0x10028f3
119733 #define XK_braille_dots_35678 0x10028f4
119734 #define XK_braille_dots_135678 0x10028f5
119735 #define XK_braille_dots_235678 0x10028f6
119736 #define XK_braille_dots_1235678 0x10028f7
119737 #define XK_braille_dots_45678 0x10028f8
119738 #define XK_braille_dots_145678 0x10028f9
119739 #define XK_braille_dots_245678 0x10028fa
119740 #define XK_braille_dots_1245678 0x10028fb
119741 #define XK_braille_dots_345678 0x10028fc
119742 #define XK_braille_dots_1345678 0x10028fd
119743 #define XK_braille_dots_2345678 0x10028fe
119744 #define XK_braille_dots_12345678 0x10028ff
119745 # 76 "/usr/include/X11/keysym.h" 2 3 4
119746 # 57 "/usr/include/X11/Xutil.h" 2 3 4
119747
119748
119749
119750
119751
119752 #define NoValue 0x0000
119753 #define XValue 0x0001
119754 #define YValue 0x0002
119755 #define WidthValue 0x0004
119756 #define HeightValue 0x0008
119757 #define AllValues 0x000F
119758 #define XNegative 0x0010
119759 #define YNegative 0x0020
119760
119761
119762
119763
119764
119765 typedef struct {
119766      long flags;
119767  int x, y;
119768  int width, height;
119769  int min_width, min_height;
119770  int max_width, max_height;
119771      int width_inc, height_inc;
119772  struct {
119773   int x;
119774   int y;
119775  } min_aspect, max_aspect;
119776  int base_width, base_height;
119777  int win_gravity;
119778 } XSizeHints;
119779
119780
119781
119782
119783
119784
119785
119786 #define USPosition (1L << 0)
119787 #define USSize (1L << 1)
119788
119789 #define PPosition (1L << 2)
119790 #define PSize (1L << 3)
119791 #define PMinSize (1L << 4)
119792 #define PMaxSize (1L << 5)
119793 #define PResizeInc (1L << 6)
119794 #define PAspect (1L << 7)
119795 #define PBaseSize (1L << 8)
119796 #define PWinGravity (1L << 9)
119797
119798
119799 #define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
119800
119801
119802
119803 typedef struct {
119804  long flags;
119805  int input;
119806
119807  int initial_state;
119808  Pixmap icon_pixmap;
119809  Window icon_window;
119810  int icon_x, icon_y;
119811  Pixmap icon_mask;
119812  XID window_group;
119813
119814 } XWMHints;
119815
119816
119817
119818 #define InputHint (1L << 0)
119819 #define StateHint (1L << 1)
119820 #define IconPixmapHint (1L << 2)
119821 #define IconWindowHint (1L << 3)
119822 #define IconPositionHint (1L << 4)
119823 #define IconMaskHint (1L << 5)
119824 #define WindowGroupHint (1L << 6)
119825 #define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| IconPositionHint|IconMaskHint|WindowGroupHint)
119826
119827 #define XUrgencyHint (1L << 8)
119828
119829
119830 #define WithdrawnState 0
119831 #define NormalState 1
119832 #define IconicState 3
119833
119834
119835
119836
119837 #define DontCareState 0
119838 #define ZoomState 2
119839 #define InactiveState 4
119840
119841
119842
119843
119844
119845
119846
119847 typedef struct {
119848     unsigned char *value;
119849     Atom encoding;
119850     int format;
119851     unsigned long nitems;
119852 } XTextProperty;
119853
119854 #define XNoMemory -1
119855 #define XLocaleNotSupported -2
119856 #define XConverterNotFound -3
119857
119858 typedef enum {
119859     XStringStyle,
119860     XCompoundTextStyle,
119861     XTextStyle,
119862     XStdICCTextStyle,
119863
119864     XUTF8StringStyle
119865 } XICCEncodingStyle;
119866
119867 typedef struct {
119868  int min_width, min_height;
119869  int max_width, max_height;
119870  int width_inc, height_inc;
119871 } XIconSize;
119872
119873 typedef struct {
119874  char *res_name;
119875  char *res_class;
119876 } XClassHint;
119877 # 210 "/usr/include/X11/Xutil.h" 3 4
119878 #define XDestroyImage(ximage) ((*((ximage)->f.destroy_image))((ximage)))
119879
119880 #define XGetPixel(ximage,x,y) ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
119881
119882 #define XPutPixel(ximage,x,y,pixel) ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
119883
119884 #define XSubImage(ximage,x,y,width,height) ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
119885
119886 #define XAddPixel(ximage,value) ((*((ximage)->f.add_pixel))((ximage), (value)))
119887
119888
119889
119890
119891
119892
119893 typedef struct _XComposeStatus {
119894     XPointer compose_ptr;
119895     int chars_matched;
119896 } XComposeStatus;
119897
119898
119899
119900
119901 #define IsKeypadKey(keysym) (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
119902
119903
119904 #define IsPrivateKeypadKey(keysym) (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
119905
119906
119907 #define IsCursorKey(keysym) (((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
119908
119909
119910 #define IsPFKey(keysym) (((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
119911
119912
119913 #define IsFunctionKey(keysym) (((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
119914
119915
119916 #define IsMiscFunctionKey(keysym) (((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
119917
119918
119919
119920 #define IsModifierKey(keysym) ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) || (((KeySym)(keysym) >= XK_ISO_Lock) && ((KeySym)(keysym) <= XK_ISO_Last_Group_Lock)) || ((KeySym)(keysym) == XK_Mode_switch) || ((KeySym)(keysym) == XK_Num_Lock))
119921 # 267 "/usr/include/X11/Xutil.h" 3 4
119922 typedef struct _XRegion *Region;
119923
119924
119925
119926 #define RectangleOut 0
119927 #define RectangleIn 1
119928 #define RectanglePart 2
119929
119930
119931
119932
119933
119934
119935
119936 typedef struct {
119937   Visual *visual;
119938   VisualID visualid;
119939   int screen;
119940   int depth;
119941
119942   int c_class;
119943
119944
119945
119946   unsigned long red_mask;
119947   unsigned long green_mask;
119948   unsigned long blue_mask;
119949   int colormap_size;
119950   int bits_per_rgb;
119951 } XVisualInfo;
119952
119953 #define VisualNoMask 0x0
119954 #define VisualIDMask 0x1
119955 #define VisualScreenMask 0x2
119956 #define VisualDepthMask 0x4
119957 #define VisualClassMask 0x8
119958 #define VisualRedMaskMask 0x10
119959 #define VisualGreenMaskMask 0x20
119960 #define VisualBlueMaskMask 0x40
119961 #define VisualColormapSizeMask 0x80
119962 #define VisualBitsPerRGBMask 0x100
119963 #define VisualAllMask 0x1FF
119964
119965
119966
119967
119968
119969 typedef struct {
119970  Colormap colormap;
119971  unsigned long red_max;
119972  unsigned long red_mult;
119973  unsigned long green_max;
119974  unsigned long green_mult;
119975  unsigned long blue_max;
119976  unsigned long blue_mult;
119977  unsigned long base_pixel;
119978  VisualID visualid;
119979  XID killid;
119980 } XStandardColormap;
119981
119982 #define ReleaseByFreeingColormap ((XID) 1L)
119983
119984
119985
119986
119987
119988 #define BitmapSuccess 0
119989 #define BitmapOpenFailed 1
119990 #define BitmapFileInvalid 2
119991 #define BitmapNoMemory 3
119992 # 347 "/usr/include/X11/Xutil.h" 3 4
119993 #define XCSUCCESS 0
119994 #define XCNOMEM 1
119995 #define XCNOENT 2
119996
119997 typedef int XContext;
119998
119999 #define XUniqueContext() ((XContext) XrmUniqueQuark())
120000 #define XStringToContext(string) ((XContext) XrmStringToQuark(string))
120001
120002 extern "C" {
120003
120004
120005
120006 extern XClassHint *XAllocClassHint (
120007     void
120008 );
120009
120010 extern XIconSize *XAllocIconSize (
120011     void
120012 );
120013
120014 extern XSizeHints *XAllocSizeHints (
120015     void
120016 );
120017
120018 extern XStandardColormap *XAllocStandardColormap (
120019     void
120020 );
120021
120022 extern XWMHints *XAllocWMHints (
120023     void
120024 );
120025
120026 extern int XClipBox(
120027     Region ,
120028     XRectangle*
120029 );
120030
120031 extern Region XCreateRegion(
120032     void
120033 );
120034
120035 extern const char *XDefaultString (void);
120036
120037 extern int XDeleteContext(
120038     Display* ,
120039     XID ,
120040     XContext
120041 );
120042
120043 extern int XDestroyRegion(
120044     Region
120045 );
120046
120047 extern int XEmptyRegion(
120048     Region
120049 );
120050
120051 extern int XEqualRegion(
120052     Region ,
120053     Region
120054 );
120055
120056 extern int XFindContext(
120057     Display* ,
120058     XID ,
120059     XContext ,
120060     XPointer*
120061 );
120062
120063 extern int XGetClassHint(
120064     Display* ,
120065     Window ,
120066     XClassHint*
120067 );
120068
120069 extern int XGetIconSizes(
120070     Display* ,
120071     Window ,
120072     XIconSize** ,
120073     int*
120074 );
120075
120076 extern int XGetNormalHints(
120077     Display* ,
120078     Window ,
120079     XSizeHints*
120080 );
120081
120082 extern int XGetRGBColormaps(
120083     Display* ,
120084     Window ,
120085     XStandardColormap** ,
120086     int* ,
120087     Atom
120088 );
120089
120090 extern int XGetSizeHints(
120091     Display* ,
120092     Window ,
120093     XSizeHints* ,
120094     Atom
120095 );
120096
120097 extern int XGetStandardColormap(
120098     Display* ,
120099     Window ,
120100     XStandardColormap* ,
120101     Atom
120102 );
120103
120104 extern int XGetTextProperty(
120105     Display* ,
120106     Window ,
120107     XTextProperty* ,
120108     Atom
120109 );
120110
120111 extern XVisualInfo *XGetVisualInfo(
120112     Display* ,
120113     long ,
120114     XVisualInfo* ,
120115     int*
120116 );
120117
120118 extern int XGetWMClientMachine(
120119     Display* ,
120120     Window ,
120121     XTextProperty*
120122 );
120123
120124 extern XWMHints *XGetWMHints(
120125     Display* ,
120126     Window
120127 );
120128
120129 extern int XGetWMIconName(
120130     Display* ,
120131     Window ,
120132     XTextProperty*
120133 );
120134
120135 extern int XGetWMName(
120136     Display* ,
120137     Window ,
120138     XTextProperty*
120139 );
120140
120141 extern int XGetWMNormalHints(
120142     Display* ,
120143     Window ,
120144     XSizeHints* ,
120145     long*
120146 );
120147
120148 extern int XGetWMSizeHints(
120149     Display* ,
120150     Window ,
120151     XSizeHints* ,
120152     long* ,
120153     Atom
120154 );
120155
120156 extern int XGetZoomHints(
120157     Display* ,
120158     Window ,
120159     XSizeHints*
120160 );
120161
120162 extern int XIntersectRegion(
120163     Region ,
120164     Region ,
120165     Region
120166 );
120167
120168 extern void XConvertCase(
120169     KeySym ,
120170     KeySym* ,
120171     KeySym*
120172 );
120173
120174 extern int XLookupString(
120175     XKeyEvent* ,
120176     char* ,
120177     int ,
120178     KeySym* ,
120179     XComposeStatus*
120180 );
120181
120182 extern int XMatchVisualInfo(
120183     Display* ,
120184     int ,
120185     int ,
120186     int ,
120187     XVisualInfo*
120188 );
120189
120190 extern int XOffsetRegion(
120191     Region ,
120192     int ,
120193     int
120194 );
120195
120196 extern int XPointInRegion(
120197     Region ,
120198     int ,
120199     int
120200 );
120201
120202 extern Region XPolygonRegion(
120203     XPoint* ,
120204     int ,
120205     int
120206 );
120207
120208 extern int XRectInRegion(
120209     Region ,
120210     int ,
120211     int ,
120212     unsigned int ,
120213     unsigned int
120214 );
120215
120216 extern int XSaveContext(
120217     Display* ,
120218     XID ,
120219     XContext ,
120220     const char*
120221 );
120222
120223 extern int XSetClassHint(
120224     Display* ,
120225     Window ,
120226     XClassHint*
120227 );
120228
120229 extern int XSetIconSizes(
120230     Display* ,
120231     Window ,
120232     XIconSize* ,
120233     int
120234 );
120235
120236 extern int XSetNormalHints(
120237     Display* ,
120238     Window ,
120239     XSizeHints*
120240 );
120241
120242 extern void XSetRGBColormaps(
120243     Display* ,
120244     Window ,
120245     XStandardColormap* ,
120246     int ,
120247     Atom
120248 );
120249
120250 extern int XSetSizeHints(
120251     Display* ,
120252     Window ,
120253     XSizeHints* ,
120254     Atom
120255 );
120256
120257 extern int XSetStandardProperties(
120258     Display* ,
120259     Window ,
120260     const char* ,
120261     const char* ,
120262     Pixmap ,
120263     char** ,
120264     int ,
120265     XSizeHints*
120266 );
120267
120268 extern void XSetTextProperty(
120269     Display* ,
120270     Window ,
120271     XTextProperty* ,
120272     Atom
120273 );
120274
120275 extern void XSetWMClientMachine(
120276     Display* ,
120277     Window ,
120278     XTextProperty*
120279 );
120280
120281 extern int XSetWMHints(
120282     Display* ,
120283     Window ,
120284     XWMHints*
120285 );
120286
120287 extern void XSetWMIconName(
120288     Display* ,
120289     Window ,
120290     XTextProperty*
120291 );
120292
120293 extern void XSetWMName(
120294     Display* ,
120295     Window ,
120296     XTextProperty*
120297 );
120298
120299 extern void XSetWMNormalHints(
120300     Display* ,
120301     Window ,
120302     XSizeHints*
120303 );
120304
120305 extern void XSetWMProperties(
120306     Display* ,
120307     Window ,
120308     XTextProperty* ,
120309     XTextProperty* ,
120310     char** ,
120311     int ,
120312     XSizeHints* ,
120313     XWMHints* ,
120314     XClassHint*
120315 );
120316
120317 extern void XmbSetWMProperties(
120318     Display* ,
120319     Window ,
120320     const char* ,
120321     const char* ,
120322     char** ,
120323     int ,
120324     XSizeHints* ,
120325     XWMHints* ,
120326     XClassHint*
120327 );
120328
120329 extern void Xutf8SetWMProperties(
120330     Display* ,
120331     Window ,
120332     const char* ,
120333     const char* ,
120334     char** ,
120335     int ,
120336     XSizeHints* ,
120337     XWMHints* ,
120338     XClassHint*
120339 );
120340
120341 extern void XSetWMSizeHints(
120342     Display* ,
120343     Window ,
120344     XSizeHints* ,
120345     Atom
120346 );
120347
120348 extern int XSetRegion(
120349     Display* ,
120350     GC ,
120351     Region
120352 );
120353
120354 extern void XSetStandardColormap(
120355     Display* ,
120356     Window ,
120357     XStandardColormap* ,
120358     Atom
120359 );
120360
120361 extern int XSetZoomHints(
120362     Display* ,
120363     Window ,
120364     XSizeHints*
120365 );
120366
120367 extern int XShrinkRegion(
120368     Region ,
120369     int ,
120370     int
120371 );
120372
120373 extern int XStringListToTextProperty(
120374     char** ,
120375     int ,
120376     XTextProperty*
120377 );
120378
120379 extern int XSubtractRegion(
120380     Region ,
120381     Region ,
120382     Region
120383 );
120384
120385 extern int XmbTextListToTextProperty(
120386     Display* display,
120387     char** list,
120388     int count,
120389     XICCEncodingStyle style,
120390     XTextProperty* text_prop_return
120391 );
120392
120393 extern int XwcTextListToTextProperty(
120394     Display* display,
120395     wchar_t** list,
120396     int count,
120397     XICCEncodingStyle style,
120398     XTextProperty* text_prop_return
120399 );
120400
120401 extern int Xutf8TextListToTextProperty(
120402     Display* display,
120403     char** list,
120404     int count,
120405     XICCEncodingStyle style,
120406     XTextProperty* text_prop_return
120407 );
120408
120409 extern void XwcFreeStringList(
120410     wchar_t** list
120411 );
120412
120413 extern int XTextPropertyToStringList(
120414     XTextProperty* ,
120415     char*** ,
120416     int*
120417 );
120418
120419 extern int XmbTextPropertyToTextList(
120420     Display* display,
120421     const XTextProperty* text_prop,
120422     char*** list_return,
120423     int* count_return
120424 );
120425
120426 extern int XwcTextPropertyToTextList(
120427     Display* display,
120428     const XTextProperty* text_prop,
120429     wchar_t*** list_return,
120430     int* count_return
120431 );
120432
120433 extern int Xutf8TextPropertyToTextList(
120434     Display* display,
120435     const XTextProperty* text_prop,
120436     char*** list_return,
120437     int* count_return
120438 );
120439
120440 extern int XUnionRectWithRegion(
120441     XRectangle* ,
120442     Region ,
120443     Region
120444 );
120445
120446 extern int XUnionRegion(
120447     Region ,
120448     Region ,
120449     Region
120450 );
120451
120452 extern int XWMGeometry(
120453     Display* ,
120454     int ,
120455     const char* ,
120456     const char* ,
120457     unsigned int ,
120458     XSizeHints* ,
120459     int* ,
120460     int* ,
120461     int* ,
120462     int* ,
120463     int*
120464 );
120465
120466 extern int XXorRegion(
120467     Region ,
120468     Region ,
120469     Region
120470 );
120471
120472 }
120473 # 21 "/home/emanuel/DIKU/3dot/source/api/os/osforward.hpp" 2
120474 # 1 "/usr/include/X11/extensions/xf86vmode.h" 1 3 4
120475 # 36 "/usr/include/X11/extensions/xf86vmode.h" 3 4
120476 #define _XF86VIDMODE_H_ 
120477
120478
120479 # 1 "/usr/include/X11/Xmd.h" 1 3 4
120480 # 50 "/usr/include/X11/Xmd.h" 3 4
120481 #define XMD_H 1
120482 # 102 "/usr/include/X11/Xmd.h" 3 4
120483 #define _SIZEOF(x) sz_ ##x
120484 #define SIZEOF(x) _SIZEOF(x)
120485 # 131 "/usr/include/X11/Xmd.h" 3 4
120486 #define B32 
120487 #define B16 
120488
120489
120490
120491
120492 typedef long INT32;
120493
120494 typedef short INT16;
120495
120496
120497
120498 typedef signed char INT8;
120499 # 152 "/usr/include/X11/Xmd.h" 3 4
120500 typedef unsigned long CARD32;
120501
120502 typedef unsigned short CARD16;
120503 typedef unsigned char CARD8;
120504
120505 typedef CARD32 BITS32;
120506 typedef CARD16 BITS16;
120507
120508
120509 typedef CARD8 BYTE;
120510 typedef CARD8 BOOL;
120511 # 182 "/usr/include/X11/Xmd.h" 3 4
120512 #define cvtINT8toInt(val) (val)
120513 #define cvtINT16toInt(val) (val)
120514 #define cvtINT32toInt(val) (val)
120515 #define cvtINT8toShort(val) (val)
120516 #define cvtINT16toShort(val) (val)
120517 #define cvtINT32toShort(val) (val)
120518 #define cvtINT8toLong(val) (val)
120519 #define cvtINT16toLong(val) (val)
120520 #define cvtINT32toLong(val) (val)
120521 # 205 "/usr/include/X11/Xmd.h" 3 4
120522 #define NEXTPTR(p,t) (((t *)(p)) + 1)
120523 # 40 "/usr/include/X11/extensions/xf86vmode.h" 2 3 4
120524
120525 #define X_XF86VidModeQueryVersion 0
120526 #define X_XF86VidModeGetModeLine 1
120527 #define X_XF86VidModeModModeLine 2
120528 #define X_XF86VidModeSwitchMode 3
120529 #define X_XF86VidModeGetMonitor 4
120530 #define X_XF86VidModeLockModeSwitch 5
120531 #define X_XF86VidModeGetAllModeLines 6
120532 #define X_XF86VidModeAddModeLine 7
120533 #define X_XF86VidModeDeleteModeLine 8
120534 #define X_XF86VidModeValidateModeLine 9
120535 #define X_XF86VidModeSwitchToMode 10
120536 #define X_XF86VidModeGetViewPort 11
120537 #define X_XF86VidModeSetViewPort 12
120538
120539 #define X_XF86VidModeGetDotClocks 13
120540 #define X_XF86VidModeSetClientVersion 14
120541 #define X_XF86VidModeSetGamma 15
120542 #define X_XF86VidModeGetGamma 16
120543 #define X_XF86VidModeGetGammaRamp 17
120544 #define X_XF86VidModeSetGammaRamp 18
120545 #define X_XF86VidModeGetGammaRampSize 19
120546 #define X_XF86VidModeGetPermissions 20
120547
120548 #define CLKFLAG_PROGRAMABLE 1
120549 # 75 "/usr/include/X11/extensions/xf86vmode.h" 3 4
120550 #define XF86VidModeNumberEvents 0
120551
120552
120553 #define XF86VidModeBadClock 0
120554 #define XF86VidModeBadHTimings 1
120555 #define XF86VidModeBadVTimings 2
120556 #define XF86VidModeModeUnsuitable 3
120557 #define XF86VidModeExtensionDisabled 4
120558 #define XF86VidModeClientNotLocal 5
120559 #define XF86VidModeZoomLocked 6
120560 #define XF86VidModeNumberErrors (XF86VidModeZoomLocked + 1)
120561
120562 #define XF86VM_READ_PERMISSION 1
120563 #define XF86VM_WRITE_PERMISSION 2
120564
120565
120566
120567 typedef struct {
120568     unsigned short hdisplay;
120569     unsigned short hsyncstart;
120570     unsigned short hsyncend;
120571     unsigned short htotal;
120572     unsigned short hskew;
120573     unsigned short vdisplay;
120574     unsigned short vsyncstart;
120575     unsigned short vsyncend;
120576     unsigned short vtotal;
120577     unsigned int flags;
120578     int privsize;
120579
120580
120581     INT32 *c_private;
120582
120583
120584
120585 } XF86VidModeModeLine;
120586
120587 typedef struct {
120588     unsigned int dotclock;
120589     unsigned short hdisplay;
120590     unsigned short hsyncstart;
120591     unsigned short hsyncend;
120592     unsigned short htotal;
120593     unsigned short hskew;
120594     unsigned short vdisplay;
120595     unsigned short vsyncstart;
120596     unsigned short vsyncend;
120597     unsigned short vtotal;
120598     unsigned int flags;
120599     int privsize;
120600
120601
120602     INT32 *c_private;
120603
120604
120605
120606 } XF86VidModeModeInfo;
120607
120608 typedef struct {
120609     float hi;
120610     float lo;
120611 } XF86VidModeSyncRange;
120612
120613 typedef struct {
120614     char* vendor;
120615     char* model;
120616     float EMPTY;
120617     unsigned char nhsync;
120618     XF86VidModeSyncRange* hsync;
120619     unsigned char nvsync;
120620     XF86VidModeSyncRange* vsync;
120621 } XF86VidModeMonitor;
120622
120623 typedef struct {
120624     int type;
120625     unsigned long serial;
120626     int send_event;
120627     Display *display;
120628     Window root;
120629     int state;
120630     int kind;
120631     int forced;
120632     Time time;
120633 } XF86VidModeNotifyEvent;
120634
120635 typedef struct {
120636     float red;
120637     float green;
120638     float blue;
120639 } XF86VidModeGamma;
120640
120641
120642 #define XF86VidModeSelectNextMode(disp,scr) XF86VidModeSwitchMode(disp, scr, 1)
120643
120644 #define XF86VidModeSelectPrevMode(disp,scr) XF86VidModeSwitchMode(disp, scr, -1)
120645
120646
120647 extern "C" {
120648
120649 int XF86VidModeQueryVersion(
120650     Display* ,
120651     int* ,
120652     int*
120653 );
120654
120655 int XF86VidModeQueryExtension(
120656     Display* ,
120657     int* ,
120658     int*
120659 );
120660
120661 int XF86VidModeSetClientVersion(
120662     Display*
120663 );
120664
120665 int XF86VidModeGetModeLine(
120666     Display* ,
120667     int ,
120668     int* ,
120669     XF86VidModeModeLine*
120670 );
120671
120672 int XF86VidModeGetAllModeLines(
120673     Display* ,
120674     int ,
120675     int* ,
120676     XF86VidModeModeInfo***
120677 );
120678
120679 int XF86VidModeAddModeLine(
120680     Display* ,
120681     int ,
120682     XF86VidModeModeInfo* ,
120683     XF86VidModeModeInfo*
120684 );
120685
120686 int XF86VidModeDeleteModeLine(
120687     Display* ,
120688     int ,
120689     XF86VidModeModeInfo*
120690 );
120691
120692 int XF86VidModeModModeLine(
120693     Display* ,
120694     int ,
120695     XF86VidModeModeLine*
120696 );
120697
120698 int XF86VidModeValidateModeLine(
120699     Display* ,
120700     int ,
120701     XF86VidModeModeInfo*
120702 );
120703
120704 int XF86VidModeSwitchMode(
120705     Display* ,
120706     int ,
120707     int
120708 );
120709
120710 int XF86VidModeSwitchToMode(
120711     Display* ,
120712     int ,
120713     XF86VidModeModeInfo*
120714 );
120715
120716 int XF86VidModeLockModeSwitch(
120717     Display* ,
120718     int ,
120719     int
120720 );
120721
120722 int XF86VidModeGetMonitor(
120723     Display* ,
120724     int ,
120725     XF86VidModeMonitor*
120726 );
120727
120728 int XF86VidModeGetViewPort(
120729     Display* ,
120730     int ,
120731     int* ,
120732     int*
120733 );
120734
120735 int XF86VidModeSetViewPort(
120736     Display* ,
120737     int ,
120738     int ,
120739     int
120740 );
120741
120742 int XF86VidModeGetDotClocks(
120743     Display* ,
120744     int ,
120745     int* ,
120746     int* ,
120747     int* ,
120748     int**
120749 );
120750
120751 int XF86VidModeGetGamma(
120752     Display* ,
120753     int ,
120754     XF86VidModeGamma*
120755 );
120756
120757 int XF86VidModeSetGamma(
120758     Display* ,
120759     int ,
120760     XF86VidModeGamma*
120761 );
120762
120763 int XF86VidModeSetGammaRamp(
120764     Display* ,
120765     int ,
120766     int ,
120767     unsigned short* ,
120768     unsigned short* ,
120769     unsigned short*
120770 );
120771
120772 int XF86VidModeGetGammaRamp(
120773     Display* ,
120774     int ,
120775     int ,
120776     unsigned short* ,
120777     unsigned short* ,
120778     unsigned short*
120779 );
120780
120781 int XF86VidModeGetGammaRampSize(
120782     Display* ,
120783     int ,
120784     int*
120785 );
120786
120787 int XF86VidModeGetPermissions(
120788     Display* ,
120789     int ,
120790     int*
120791 );
120792
120793 }
120794 # 22 "/home/emanuel/DIKU/3dot/source/api/os/osforward.hpp" 2
120795 # 32 "/home/emanuel/DIKU/3dot/source/api/os/osforward.hpp"
120796  typedef Display* WindowType;
120797
120798
120799
120800
120801
120802
120803 namespace Utility
120804 {
120805  class IOS;
120806 }
120807
120808 namespace Globals
120809 {
120810
120811  extern WindowType gWindowPointer;
120812
120813
120814
120815
120816  extern Utility::IOS* gOS_API_Pointer;
120817
120818 }
120819 # 18 "/home/emanuel/DIKU/3dot/source/api/os/os.hpp" 2
120820
120821 namespace Utility
120822 {
120823
120824
120825  enum OSType
120826  {
120827   MS_WINDOWS_XP,
120828   LINUX,
120829   MAC_OS
120830  };
120831
120832
120833
120834  struct WindowParameters
120835  {
120836   OSType mOSType;
120837   bool mFullscreen;
120838   bool mResizeable;
120839   std::string mName;
120840   int mHeight,mWidth;
120841
120842   WindowParameters() : mFullscreen( false ), mResizeable( false ), mName( "" ),
120843    mHeight( 480 ), mWidth( 640 ){
120844
120845
120846
120847     mOSType = LINUX;
120848
120849
120850
120851
120852
120853
120854    };
120855
120856  };
120857
120858  class OSException : public std::exception
120859  {
120860  const char * msg;
120861  public:
120862   OSException(const char * msg) : msg(msg)
120863   {
120864   }
120865   virtual const char * what() { return msg; };
120866  };
120867
120868
120869  class IOS
120870  {
120871  protected:
120872   WindowType mWindowHandle;
120873
120874   bool mResizeable;
120875   bool mFullscreen;
120876   int mWidth;
120877   int mHeight;
120878   std::string mName;
120879
120880  public:
120881
120882   typedef boost::function< void ( unsigned, unsigned ) > ResizeCallback;
120883   virtual void SetResizeCallback( ResizeCallback ) = 0;
120884   virtual void Resize( int Width_, int Height_ ) = 0;
120885
120886   virtual void ToggleFullScreen() = 0;
120887
120888
120889
120890   virtual WindowType GetWindowHandle(){ return mWindowHandle; }
120891
120892
120893
120894   virtual void UpdateOS() = 0;
120895
120896
120897   virtual void SetWindowName( std::string name_ ) = 0;
120898
120899   std::pair<int,int> GetWindowSize();
120900   int GetWindowWidth(){return mWidth;}
120901   int GetWindowHeight(){return mHeight;}
120902   bool GetFullScreen(){ return mFullscreen; }
120903
120904  };
120905
120906
120907
120908
120909
120910
120911
120912  IOS* CreateWindow_( WindowParameters& params_, const std::string& name_ = "" );
120913
120914 }
120915 # 11 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 2
120916 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/colorbuffer.hpp" 1
120917
120918 #define GRAPHICS_COLOR_BUFFER_HPP 
120919
120920 namespace Graphics
120921 {
120922  class ColorBuffer
120923  {
120924  public:
120925
120926   virtual void Clear() = 0;
120927   virtual void ClearColor( float r, float g, float b, float a ) = 0;
120928   virtual void WriteTo( bool r, bool g, bool b, bool a ) = 0;
120929  };
120930 }
120931 # 12 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 2
120932 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/depthbuffer.hpp" 1
120933
120934 #define GRAPHICS_DEPTHBUFFER_HPP 
120935
120936 namespace Graphics
120937 {
120938  enum CompareFunc
120939  {
120940   NEVER,
120941   LESS,
120942   LEQUAL,
120943   EQUAL,
120944   GREATER,
120945   NOTEQUAL,
120946   GEQUAL,
120947   ALWAYS
120948  };
120949
120950  class IDepthBuffer
120951  {
120952  public:
120953
120954
120955  public:
120956
120957   virtual void Clear() = 0;
120958   virtual void Enable() = 0;
120959   virtual void Disable() = 0;
120960   virtual void Compare( CompareFunc func ) = 0;
120961   virtual void WriteTo( bool d ) = 0;
120962   virtual void Range( float znear, float zfar) = 0;
120963
120964
120965
120966   virtual void getEnabled() = 0;
120967   virtual void getWriteEnabled() = 0;
120968   virtual void getRange() = 0;
120969   virtual void getMask() = 0;
120970  };
120971
120972 }
120973 # 13 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 2
120974 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/stencilbuffer.hpp" 1
120975
120976 #define GRAPHICS_STENCIL_BUFFER_HPP 
120977
120978 namespace Graphics
120979 {
120980
120981
120982  class StencilBuffer
120983  {
120984  public:
120985    enum StencilFunc
120986  {
120987   NEVER,
120988   LESS,
120989   LEQUAL,
120990   GREATER,
120991   GEQUAL,
120992   EQUAL,
120993   NOTEQUAL,
120994   ALWAYS
120995  };
120996
120997  enum StencilOp
120998  {
120999   KEEP,
121000   ZERO,
121001   REPLACE,
121002   INCR,
121003   DECR,
121004   INVERT,
121005  };
121006
121007   virtual void Clear () = 0;
121008   virtual void Enable() = 0;
121009   virtual void Disable() = 0;
121010   virtual void Func( StencilFunc func, int ref, unsigned int mask ) = 0;
121011   virtual void Mask( unsigned int mask ) = 0;
121012   virtual void Op( StencilOp fail, StencilOp zfail, StencilOp zpass ) = 0;
121013
121014
121015
121016   virtual void getEnabled() = 0;
121017   virtual void getStencilBits() = 0;
121018   virtual void getClearValue() = 0;
121019   virtual void getFail() = 0;
121020   virtual void getFunc() = 0;
121021   virtual void getPassDepthFail() = 0;
121022   virtual void getPassDepthPass() = 0;
121023   virtual void getRef() = 0;
121024   virtual void getTest() = 0;
121025   virtual void getValueMask() = 0;
121026   virtual void getWriteMask() = 0;
121027  };
121028 }
121029 # 14 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 2
121030 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/faceculling.hpp" 1
121031
121032 #define GRAPHICS_FACECULLING_HPP 
121033
121034 namespace Graphics
121035 {
121036
121037  enum FaceMode
121038  {
121039   CCW,
121040   CW
121041  };
121042
121043  enum CullMode
121044  {
121045   FRONT,
121046   BACK,
121047   FRONT_AND_BACK
121048  };
121049  class IFaceCulling
121050  {
121051
121052  public:
121053
121054
121055   virtual void Enable() = 0;
121056   virtual void Disable() = 0;
121057   virtual void SetFrontFace(FaceMode facemode) = 0;
121058   virtual void GetFrontFace() = 0;
121059   virtual void SetCullMode(CullMode cullmode) = 0;
121060   virtual CullMode GetCullMode() = 0;
121061  };
121062 }
121063 # 15 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 2
121064 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/scissor.hpp" 1
121065
121066 #define GRAPHICS_SCISSOR_HPP 
121067
121068 namespace Graphics
121069 {
121070  class Scissor
121071  {
121072  public:
121073
121074   virtual void Enable() = 0;
121075   virtual void Disable() = 0;
121076
121077
121078   virtual void Set( int x, int y, int width, int height ) = 0;
121079
121080
121081   virtual int GetX() = 0;
121082   virtual int GetY() = 0;
121083   virtual int GetWidth() = 0;
121084   virtual int GetHeight() = 0;
121085
121086  protected:
121087   int x;
121088   int y;
121089   int width;
121090   int height;
121091  };
121092 }
121093 # 16 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 2
121094 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/alphablend.hpp" 1
121095
121096 #define GRAPHICS_ALPHABLEND_HPP 
121097
121098 namespace Graphics
121099 {
121100  class AlphaBlend
121101  {
121102  public:
121103
121104   virtual void Enable() = 0;
121105   virtual void Disable() = 0;
121106  };
121107 }
121108 # 17 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 2
121109 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/transformation.hpp" 1
121110
121111 #define GRAPHICS_TRANSFORMATION_HPP 
121112
121113
121114
121115 namespace Graphics
121116 {
121117  class ITransformation
121118  {
121119  public:
121120   virtual void Translate( Math::vec3 in_ ) = 0;
121121   virtual void Rotate( float angle_, Math::vec3 axis_ ) = 0;
121122   virtual void Scale( Math::vec3 in_ ) = 0;
121123   virtual void Identity() = 0;
121124
121125   virtual void Frustum(double left, double right, double bottom, double top, double znear, double zfar) = 0;
121126   virtual void Perspective(double fovy, double aspect, double zNear, double zFar) = 0;
121127   virtual void Ortho(double left, double right, double bottom, double top, double zNear, double zFar) = 0;
121128   virtual void Ortho2D(double left, double right, double bottom, double top) = 0;
121129   virtual void LookAt(double eyex, double eyey, double eyez, double centerx, double centery, double centerz, double upx, double upy, double upz) = 0;
121130
121131   virtual void MultiplyMatrix( Math::mat4* in_ ) = 0;
121132
121133
121134
121135  };
121136 }
121137 # 18 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 2
121138 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/viewport.hpp" 1
121139
121140 #define GRAPHICS_VIEWPORT_HPP 
121141
121142 namespace Graphics
121143 {
121144  class Viewport
121145  {
121146  public:
121147
121148
121149   virtual void Set( int x, int y, int width, int height ) = 0;
121150
121151
121152   virtual int GetX() = 0;
121153   virtual int GetY() = 0;
121154   virtual int GetWidth() = 0;
121155   virtual int GetHeight() = 0;
121156
121157  protected:
121158   int x;
121159   int y;
121160   int width;
121161   int height;
121162  };
121163 }
121164 # 19 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 2
121165
121166 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/shader.hpp" 1
121167 # 21 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 2
121168
121169
121170
121171
121172 #define RI_R GL_RED
121173 #define RI_RGB GL_RGB
121174 #define RI_RGBA GL_RGBA
121175
121176
121177
121178
121179 #define RI_REPEAT GL_REPEAT
121180 #define RI_LINEAR GL_LINEAR
121181
121182
121183
121184 #define RI_NEAREST GL_NEAREST
121185 #define RI_NEAREST_MIPMAP_NEAREST GL_NEAREST_MIPMAP_NEAREST
121186 #define RI_LINEAR_MIPMAP_NEAREST GL_LINEAR_MIPMAP_NEAREST
121187 #define RI_NEAREST_MIPMAP_LINEAR GL_NEAREST_MIPMAP_LINEAR
121188 #define RI_LINEAR_MIPMAP_LINEAR GL_LINEAR_MIPMAP_LINEAR
121189
121190
121191 #define RI_UNSIGNED_BYTE GL_UNSIGNED_BYTE
121192 #define RI_BYTE GL_BYTE
121193 #define RI_UNSIGNED_SHORT GL_UNSIGNED_SHORT
121194 #define RI_SHORT GL_SHORT
121195 #define RI_UNSIGNED_INT GL_UNSIGNED_INT
121196 #define RI_INT GL_INT
121197
121198
121199
121200 #define RI_POINTS GL_POINTS
121201 #define RI_LINES GL_LINES
121202 #define RI_LINE_STRIP GL_LINE_STRIP
121203 #define RI_LINE_LOOP GL_LINE_LOOP
121204 #define RI_TRIANGLES GL_TRIANGLES
121205 #define RI_TRIANGLE_STRIP GL_TRIANGLE_STRIP
121206 #define RI_TRIANGLE_FAN GL_TRIANGLE_FAN
121207 #define RI_QUADS GL_QUADS
121208 #define RI_QUAD_STRIP GL_QUAD_STRIP
121209 #define RI_POLYGON GL_POLYGON
121210 #define RI_POINT_SPRITES GL_POINT_SPRITE_ARB
121211
121212
121213 #define RI_POSITION 0
121214 #define RI_COLOR0 1
121215 #define RI_COLOR1 2
121216 #define RI_NORMAL 3
121217 #define RI_TEXCOORD0 4
121218 #define RI_TEXCOORD1 5
121219 #define RI_TEXCOORD2 6
121220 #define RI_TEXCOORD3 7
121221 #define RI_TEXCOORD4 8
121222 #define RI_TEXCOORD5 9
121223 #define RI_TEXCOORD6 10
121224 #define RI_TEXCOORD7 11
121225 #define RI_FOGCOORD 12
121226 #define RI_TANGENT 13
121227 #define RI_WEIGHT 14
121228 #define RI_INDEX 15
121229
121230
121231 #define RI_FLOAT1 1
121232 #define RI_FLOAT2 2
121233 #define RI_FLOAT3 3
121234 #define RI_FLOAT4 4
121235
121236
121237 #define RI_STATIC GL_STATIC_DRAW_ARB
121238 #define RI_DYNAMIC GL_DYNAMIC_DRAW_ARB
121239
121240
121241
121242
121243 namespace Graphics
121244 {
121245  class IAPI
121246  {
121247  public:
121248
121249   virtual void createWindow(Utility::IOS* mWindow) = 0;
121250   virtual IVertexFormat* CreateVertexFormat() = 0;
121251   virtual IVertexBuffer* CreateVertexBuffer( ) = 0;
121252   virtual IIndexBuffer* CreateIndexBuffer() = 0;
121253   virtual ITexture2D* CreateTexture2D(int width, int height, const void* data, unsigned int dataFormat = 0x1907, unsigned int textureFormat = 0x1907, unsigned int type = 0x1401) = 0;
121254   virtual IShader* CreateCgVertexShader() = 0;
121255   virtual IShader* CreateCgFragmentShader() = 0;
121256
121257
121258   virtual void Swap() = 0;
121259
121260   ColorBuffer* colorBuffer;
121261   IDepthBuffer* depthBuffer;
121262   StencilBuffer* stencilBuffer;
121263   IFaceCulling* faceCulling;
121264   Scissor* scissor;
121265   AlphaBlend* alphablend;
121266   ITransformation* viewMatrix;
121267   ITransformation* projMatrix;
121268   Viewport* viewport;
121269
121270  };
121271 }
121272 # 15 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
121273
121274
121275
121276 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengltexture2d.h" 1
121277 # 19 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
121278 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/colorbuffer.h" 1
121279
121280 #define GRAPHICS_OPENGL_COLOR_BUFFER_HPP 
121281
121282 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/colorbuffer.hpp" 1
121283 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/colorbuffer.h" 2
121284
121285
121286
121287
121288
121289 namespace Graphics
121290 {
121291  class OpenGLColorBuffer : public ColorBuffer
121292  {
121293  public:
121294   OpenGLColorBuffer(void);
121295   ~OpenGLColorBuffer(void);
121296   void Clear();
121297   void ClearColor( float r, float g, float b, float a );
121298   void WriteTo( bool r, bool g, bool b, bool a );
121299  };
121300 }
121301 # 20 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
121302 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengldepthbuffer.h" 1
121303 # 10 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengldepthbuffer.h"
121304 #define OPENGL_DEPTHBUFFER_H 
121305
121306 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
121307 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
121308 #define APIENTRY 
121309 #define GLUT_APIENTRY_DEFINED 
121310 #define CALLBACK 
121311
121312
121313
121314
121315
121316
121317 #undef GLUT_APIENTRY_DEFINED
121318 #undef APIENTRY
121319 # 13 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengldepthbuffer.h" 2
121320 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/depthbuffer.hpp" 1
121321 # 14 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengldepthbuffer.h" 2
121322
121323
121324 namespace Graphics
121325 {
121326  class OpenGLDepthBuffer : public IDepthBuffer
121327  {
121328  public:
121329 # 33 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengldepthbuffer.h"
121330   OpenGLDepthBuffer();
121331  public:
121332
121333   void Clear();
121334   void Enable();
121335   void Disable();
121336   void Compare( CompareFunc func );
121337   void WriteTo( bool d );
121338   void Range( float znear, float zfar);
121339
121340
121341
121342   void getEnabled();
121343   void getWriteEnabled();
121344   void getRange();
121345   void getMask();
121346  };
121347 }
121348 # 21 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
121349 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglstencilbuffer.h" 1
121350
121351 #define OPENGL_STENCIL_BUFFER_H 
121352
121353 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
121354 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
121355 #define APIENTRY 
121356 #define GLUT_APIENTRY_DEFINED 
121357 #define CALLBACK 
121358
121359
121360
121361
121362
121363
121364 #undef GLUT_APIENTRY_DEFINED
121365 #undef APIENTRY
121366 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglstencilbuffer.h" 2
121367 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/stencilbuffer.hpp" 1
121368 # 6 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglstencilbuffer.h" 2
121369
121370 namespace Graphics
121371 {
121372  class OpenGLStencilBuffer : public StencilBuffer
121373  {
121374  public:
121375
121376   void Clear ();
121377   void Enable();
121378   void Disable();
121379   void Func( StencilFunc func, int ref, unsigned int mask );
121380   void Mask( unsigned int mask );
121381   void Op( StencilOp fail, StencilOp zfail, StencilOp zpass );
121382
121383
121384
121385   void getEnabled();
121386   void getStencilBits();
121387   void getClearValue();
121388   void getFail();
121389   void getFunc();
121390   void getPassDepthFail();
121391   void getPassDepthPass();
121392   void getRef();
121393   void getTest();
121394   void getValueMask();
121395   void getWriteMask();
121396  };
121397 }
121398 # 22 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
121399 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglvertexbuffer.h" 1
121400 # 10 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglvertexbuffer.h"
121401 #define OPENGL_VERTEX_BUFFER_H 
121402
121403
121404 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/../../../api/graphics/vertexbuffer.hpp" 1
121405 # 14 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglvertexbuffer.h" 2
121406 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
121407 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
121408 #define APIENTRY 
121409 #define GLUT_APIENTRY_DEFINED 
121410 #define CALLBACK 
121411
121412
121413
121414
121415
121416
121417 #undef GLUT_APIENTRY_DEFINED
121418 #undef APIENTRY
121419 # 15 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglvertexbuffer.h" 2
121420 # 24 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglvertexbuffer.h"
121421 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/glext.h" 1
121422 # 25 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglvertexbuffer.h" 2
121423
121424 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglvertexformat.h" 1
121425
121426 #define OPENGL_VERTEX_FORMAT_H 
121427
121428 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/vertexformat.hpp" 1
121429 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglvertexformat.h" 2
121430
121431 namespace Graphics
121432 {
121433  class OpenGLVertexFormat : public IVertexFormat
121434  {
121435  public:
121436   OpenGLVertexFormat(void);
121437   ~OpenGLVertexFormat(void);
121438   void SetAttribute(unsigned int attribute, unsigned int type);
121439   bool Using(unsigned int attribute);
121440
121441   typedef std::vector<IVertexFormat::Format>::iterator iterator;
121442   iterator begin();
121443   iterator end();
121444
121445
121446
121447  };
121448 }
121449 # 27 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglvertexbuffer.h" 2
121450
121451 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcg.h" 1
121452
121453 #define OPENGL_CG_H 
121454
121455 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
121456 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
121457 #define APIENTRY 
121458 #define GLUT_APIENTRY_DEFINED 
121459 #define CALLBACK 
121460
121461
121462
121463
121464
121465
121466 #undef GLUT_APIENTRY_DEFINED
121467 #undef APIENTRY
121468 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcg.h" 2
121469 # 1 "/usr/include/Cg/cg.h" 1 3 4
121470 # 54 "/usr/include/Cg/cg.h" 3 4
121471 #define _cg_h 
121472
121473
121474 #define CG_VERSION_NUM 1400
121475 # 70 "/usr/include/Cg/cg.h" 3 4
121476 #define CGDLL_API 
121477 # 82 "/usr/include/Cg/cg.h" 3 4
121478 typedef int CGbool;
121479
121480 #define CG_FALSE ((CGbool)0)
121481 #define CG_TRUE ((CGbool)1)
121482
121483 typedef struct _CGcontext *CGcontext;
121484 typedef struct _CGprogram *CGprogram;
121485 typedef struct _CGparameter *CGparameter;
121486 typedef struct _CGeffect *CGeffect;
121487 typedef struct _CGtechnique *CGtechnique;
121488 typedef struct _CGpass *CGpass;
121489 typedef struct _CGstate *CGstate;
121490 typedef struct _CGstateassignment *CGstateassignment;
121491 typedef struct _CGannotation *CGannotation;
121492 typedef void *CGhandle;
121493
121494 typedef CGbool (*CGstatecallback)(CGstateassignment);
121495
121496
121497
121498 typedef enum
121499  {
121500   CG_UNKNOWN_TYPE,
121501   CG_STRUCT,
121502   CG_ARRAY,
121503
121504   CG_TYPE_START_ENUM = 1024,
121505 #define CG_DATATYPE_MACRO(name,compiler_name,enum_name,base_name,ncols,nrows,pc) enum_name ,
121506
121507
121508 # 1 "/usr/include/Cg/cg_datatypes.h" 1 3 4
121509 # 70 "/usr/include/Cg/cg_datatypes.h" 3 4
121510 CG_HALF ,
121511 CG_HALF2 ,
121512 CG_HALF3 ,
121513 CG_HALF4 ,
121514 CG_HALF1x1 ,
121515 CG_HALF1x2 ,
121516 CG_HALF1x3 ,
121517 CG_HALF1x4 ,
121518 CG_HALF2x1 ,
121519 CG_HALF2x2 ,
121520 CG_HALF2x3 ,
121521 CG_HALF2x4 ,
121522 CG_HALF3x1 ,
121523 CG_HALF3x2 ,
121524 CG_HALF3x3 ,
121525 CG_HALF3x4 ,
121526 CG_HALF4x1 ,
121527 CG_HALF4x2 ,
121528 CG_HALF4x3 ,
121529 CG_HALF4x4 ,
121530 CG_FLOAT ,
121531 CG_FLOAT2 ,
121532 CG_FLOAT3 ,
121533 CG_FLOAT4 ,
121534 CG_FLOAT1x1 ,
121535 CG_FLOAT1x2 ,
121536 CG_FLOAT1x3 ,
121537 CG_FLOAT1x4 ,
121538 CG_FLOAT2x1 ,
121539 CG_FLOAT2x2 ,
121540 CG_FLOAT2x3 ,
121541 CG_FLOAT2x4 ,
121542 CG_FLOAT3x1 ,
121543 CG_FLOAT3x2 ,
121544 CG_FLOAT3x3 ,
121545 CG_FLOAT3x4 ,
121546 CG_FLOAT4x1 ,
121547 CG_FLOAT4x2 ,
121548 CG_FLOAT4x3 ,
121549 CG_FLOAT4x4 ,
121550 CG_SAMPLER1D ,
121551 CG_SAMPLER2D ,
121552 CG_SAMPLER3D ,
121553 CG_SAMPLERRECT ,
121554 CG_SAMPLERCUBE ,
121555 CG_FIXED ,
121556 CG_FIXED2 ,
121557 CG_FIXED3 ,
121558 CG_FIXED4 ,
121559 CG_FIXED1x1 ,
121560 CG_FIXED1x2 ,
121561 CG_FIXED1x3 ,
121562 CG_FIXED1x4 ,
121563 CG_FIXED2x1 ,
121564 CG_FIXED2x2 ,
121565 CG_FIXED2x3 ,
121566 CG_FIXED2x4 ,
121567 CG_FIXED3x1 ,
121568 CG_FIXED3x2 ,
121569 CG_FIXED3x3 ,
121570 CG_FIXED3x4 ,
121571 CG_FIXED4x1 ,
121572 CG_FIXED4x2 ,
121573 CG_FIXED4x3 ,
121574 CG_FIXED4x4 ,
121575 CG_HALF1 ,
121576 CG_FLOAT1 ,
121577 CG_FIXED1 ,
121578 CG_INT ,
121579 CG_INT1 ,
121580 CG_INT2 ,
121581 CG_INT3 ,
121582 CG_INT4 ,
121583 CG_INT1x1 ,
121584 CG_INT1x2 ,
121585 CG_INT1x3 ,
121586 CG_INT1x4 ,
121587 CG_INT2x1 ,
121588 CG_INT2x2 ,
121589 CG_INT2x3 ,
121590 CG_INT2x4 ,
121591 CG_INT3x1 ,
121592 CG_INT3x2 ,
121593 CG_INT3x3 ,
121594 CG_INT3x4 ,
121595 CG_INT4x1 ,
121596 CG_INT4x2 ,
121597 CG_INT4x3 ,
121598 CG_INT4x4 ,
121599 CG_BOOL ,
121600 CG_BOOL1 ,
121601 CG_BOOL2 ,
121602 CG_BOOL3 ,
121603 CG_BOOL4 ,
121604 CG_BOOL1x1 ,
121605 CG_BOOL1x2 ,
121606 CG_BOOL1x3 ,
121607 CG_BOOL1x4 ,
121608 CG_BOOL2x1 ,
121609 CG_BOOL2x2 ,
121610 CG_BOOL2x3 ,
121611 CG_BOOL2x4 ,
121612 CG_BOOL3x1 ,
121613 CG_BOOL3x2 ,
121614 CG_BOOL3x3 ,
121615 CG_BOOL3x4 ,
121616 CG_BOOL4x1 ,
121617 CG_BOOL4x2 ,
121618 CG_BOOL4x3 ,
121619 CG_BOOL4x4 ,
121620 CG_STRING ,
121621 CG_PROGRAM_TYPE ,
121622 CG_TEXTURE ,
121623
121624 #undef CG_DATATYPE_MACRO
121625 # 113 "/usr/include/Cg/cg.h" 2 3 4
121626
121627  } CGtype;
121628
121629 typedef enum
121630  {
121631 #define CG_BINDLOCATION_MACRO(name,enum_name,compiler_name,enum_int,addressable,param_type) enum_name = enum_int,
121632
121633
121634
121635 # 1 "/usr/include/Cg/cg_bindlocations.h" 1 3 4
121636 # 74 "/usr/include/Cg/cg_bindlocations.h" 3 4
121637 CG_TEXUNIT0 = 2048,
121638 CG_TEXUNIT1 = 2049,
121639 CG_TEXUNIT2 = 2050,
121640 CG_TEXUNIT3 = 2051,
121641 CG_TEXUNIT4 = 2052,
121642 CG_TEXUNIT5 = 2053,
121643 CG_TEXUNIT6 = 2054,
121644 CG_TEXUNIT7 = 2055,
121645 CG_TEXUNIT8 = 2056,
121646 CG_TEXUNIT9 = 2057,
121647 CG_TEXUNIT10 = 2058,
121648 CG_TEXUNIT11 = 2059,
121649 CG_TEXUNIT12 = 2060,
121650 CG_TEXUNIT13 = 2061,
121651 CG_TEXUNIT14 = 2062,
121652 CG_TEXUNIT15 = 2063,
121653
121654 CG_ATTR0 = 2113,
121655 CG_ATTR1 = 2114,
121656 CG_ATTR2 = 2115,
121657 CG_ATTR3 = 2116,
121658 CG_ATTR4 = 2117,
121659 CG_ATTR5 = 2118,
121660 CG_ATTR6 = 2119,
121661 CG_ATTR7 = 2120,
121662 CG_ATTR8 = 2121,
121663 CG_ATTR9 = 2122,
121664 CG_ATTR10 = 2123,
121665 CG_ATTR11 = 2124,
121666 CG_ATTR12 = 2125,
121667 CG_ATTR13 = 2126,
121668 CG_ATTR14 = 2127,
121669 CG_ATTR15 = 2128,
121670
121671 CG_C = 2178,
121672
121673 CG_TEX0 = 2179,
121674 CG_TEX1 = 2180,
121675 CG_TEX2 = 2181,
121676 CG_TEX3 = 2192,
121677 CG_TEX4 = 2193,
121678 CG_TEX5 = 2194,
121679 CG_TEX6 = 2195,
121680 CG_TEX7 = 2196,
121681
121682 CG_HPOS = 2243,
121683 CG_COL0 = 2245,
121684 CG_COL1 = 2246,
121685 CG_COL2 = 2247,
121686 CG_COL3 = 2248,
121687 CG_PSIZ = 2309,
121688 CG_WPOS = 2373,
121689
121690 CG_POSITION0 = 2437,
121691 CG_POSITION1 = 2438,
121692 CG_POSITION2 = 2439,
121693 CG_POSITION3 = 2440,
121694 CG_POSITION4 = 2441,
121695 CG_POSITION5 = 2442,
121696 CG_POSITION6 = 2443,
121697 CG_POSITION7 = 2444,
121698 CG_POSITION8 = 2445,
121699 CG_POSITION9 = 2446,
121700 CG_POSITION10 = 2447,
121701 CG_POSITION11 = 2448,
121702 CG_POSITION12 = 2449,
121703 CG_POSITION13 = 2450,
121704 CG_POSITION14 = 2451,
121705 CG_POSITION15 = 2452,
121706 CG_DIFFUSE0 = 2501,
121707 CG_TANGENT0 = 2565,
121708 CG_TANGENT1 = 2566,
121709 CG_TANGENT2 = 2567,
121710 CG_TANGENT3 = 2568,
121711 CG_TANGENT4 = 2569,
121712 CG_TANGENT5 = 2570,
121713 CG_TANGENT6 = 2571,
121714 CG_TANGENT7 = 2572,
121715 CG_TANGENT8 = 2573,
121716 CG_TANGENT9 = 2574,
121717 CG_TANGENT10 = 2575,
121718 CG_TANGENT11 = 2576,
121719 CG_TANGENT12 = 2577,
121720 CG_TANGENT13 = 2578,
121721 CG_TANGENT14 = 2579,
121722 CG_TANGENT15 = 2580,
121723 CG_SPECULAR0 = 2629,
121724 CG_BLENDINDICES0 = 2693,
121725 CG_BLENDINDICES1 = 2694,
121726 CG_BLENDINDICES2 = 2695,
121727 CG_BLENDINDICES3 = 2696,
121728 CG_BLENDINDICES4 = 2697,
121729 CG_BLENDINDICES5 = 2698,
121730 CG_BLENDINDICES6 = 2699,
121731 CG_BLENDINDICES7 = 2700,
121732 CG_BLENDINDICES8 = 2701,
121733 CG_BLENDINDICES9 = 2702,
121734 CG_BLENDINDICES10 = 2703,
121735 CG_BLENDINDICES11 = 2704,
121736 CG_BLENDINDICES12 = 2705,
121737 CG_BLENDINDICES13 = 2706,
121738 CG_BLENDINDICES14 = 2707,
121739 CG_BLENDINDICES15 = 2708,
121740 CG_COLOR0 = 2757,
121741 CG_COLOR1 = 2758,
121742 CG_COLOR2 = 2759,
121743 CG_COLOR3 = 2760,
121744 CG_COLOR4 = 2761,
121745 CG_COLOR5 = 2762,
121746 CG_COLOR6 = 2763,
121747 CG_COLOR7 = 2764,
121748 CG_COLOR8 = 2765,
121749 CG_COLOR9 = 2766,
121750 CG_COLOR10 = 2767,
121751 CG_COLOR11 = 2768,
121752 CG_COLOR12 = 2769,
121753 CG_COLOR13 = 2770,
121754 CG_COLOR14 = 2771,
121755 CG_COLOR15 = 2772,
121756 CG_PSIZE0 = 2821,
121757 CG_PSIZE1 = 2822,
121758 CG_PSIZE2 = 2823,
121759 CG_PSIZE3 = 2824,
121760 CG_PSIZE4 = 2825,
121761 CG_PSIZE5 = 2826,
121762 CG_PSIZE6 = 2827,
121763 CG_PSIZE7 = 2828,
121764 CG_PSIZE8 = 2829,
121765 CG_PSIZE9 = 2830,
121766 CG_PSIZE10 = 2831,
121767 CG_PSIZE11 = 2832,
121768 CG_PSIZE12 = 2833,
121769 CG_PSIZE13 = 2834,
121770 CG_PSIZE14 = 2835,
121771 CG_PSIZE15 = 2836,
121772 CG_BINORMAL0 = 2885,
121773 CG_BINORMAL1 = 2886,
121774 CG_BINORMAL2 = 2887,
121775 CG_BINORMAL3 = 2888,
121776 CG_BINORMAL4 = 2889,
121777 CG_BINORMAL5 = 2890,
121778 CG_BINORMAL6 = 2891,
121779 CG_BINORMAL7 = 2892,
121780 CG_BINORMAL8 = 2893,
121781 CG_BINORMAL9 = 2894,
121782 CG_BINORMAL10 = 2895,
121783 CG_BINORMAL11 = 2896,
121784 CG_BINORMAL12 = 2897,
121785 CG_BINORMAL13 = 2898,
121786 CG_BINORMAL14 = 2899,
121787 CG_BINORMAL15 = 2900,
121788 CG_FOG0 = 2917,
121789 CG_FOG1 = 2918,
121790 CG_FOG2 = 2919,
121791 CG_FOG3 = 2920,
121792 CG_FOG4 = 2921,
121793 CG_FOG5 = 2922,
121794 CG_FOG6 = 2923,
121795 CG_FOG7 = 2924,
121796 CG_FOG8 = 2925,
121797 CG_FOG9 = 2926,
121798 CG_FOG10 = 2927,
121799 CG_FOG11 = 2928,
121800 CG_FOG12 = 2929,
121801 CG_FOG13 = 2930,
121802 CG_FOG14 = 2931,
121803 CG_FOG15 = 2932,
121804 CG_DEPTH0 = 2933,
121805 CG_DEPTH1 = 2934,
121806 CG_DEPTH2 = 2935,
121807 CG_DEPTH3 = 2936,
121808 CG_DEPTH4 = 2937,
121809 CG_DEPTH5 = 2938,
121810 CG_DEPTH6 = 2939,
121811 CG_DEPTH7 = 2940,
121812 CG_DEPTH8 = 2941,
121813 CG_DEPTH9 = 29542,
121814 CG_DEPTH10 = 2943,
121815 CG_DEPTH11 = 2944,
121816 CG_DEPTH12 = 2945,
121817 CG_DEPTH13 = 2946,
121818 CG_DEPTH14 = 2947,
121819 CG_DEPTH15 = 2948,
121820 CG_SAMPLE0 = 2949,
121821 CG_SAMPLE1 = 2950,
121822 CG_SAMPLE2 = 2951,
121823 CG_SAMPLE3 = 2952,
121824 CG_SAMPLE4 = 2953,
121825 CG_SAMPLE5 = 2954,
121826 CG_SAMPLE6 = 2955,
121827 CG_SAMPLE7 = 2956,
121828 CG_SAMPLE8 = 2957,
121829 CG_SAMPLE9 = 2958,
121830 CG_SAMPLE10 = 2959,
121831 CG_SAMPLE11 = 2960,
121832 CG_SAMPLE12 = 2961,
121833 CG_SAMPLE13 = 2962,
121834 CG_SAMPLE14 = 2963,
121835 CG_SAMPLE15 = 2964,
121836 CG_BLENDWEIGHT0 = 3028,
121837 CG_BLENDWEIGHT1 = 3029,
121838 CG_BLENDWEIGHT2 = 3030,
121839 CG_BLENDWEIGHT3 = 3031,
121840 CG_BLENDWEIGHT4 = 3032,
121841 CG_BLENDWEIGHT5 = 3033,
121842 CG_BLENDWEIGHT6 = 3034,
121843 CG_BLENDWEIGHT7 = 3035,
121844 CG_BLENDWEIGHT8 = 3036,
121845 CG_BLENDWEIGHT9 = 3037,
121846 CG_BLENDWEIGHT10 = 3038,
121847 CG_BLENDWEIGHT11 = 3039,
121848 CG_BLENDWEIGHT12 = 3040,
121849 CG_BLENDWEIGHT13 = 3041,
121850 CG_BLENDWEIGHT14 = 3042,
121851 CG_BLENDWEIGHT15 = 3043,
121852 CG_NORMAL0 = 3092,
121853 CG_NORMAL1 = 3093,
121854 CG_NORMAL2 = 3094,
121855 CG_NORMAL3 = 3095,
121856 CG_NORMAL4 = 3096,
121857 CG_NORMAL5 = 3097,
121858 CG_NORMAL6 = 3098,
121859 CG_NORMAL7 = 3099,
121860 CG_NORMAL8 = 3100,
121861 CG_NORMAL9 = 3101,
121862 CG_NORMAL10 = 3102,
121863 CG_NORMAL11 = 3103,
121864 CG_NORMAL12 = 3104,
121865 CG_NORMAL13 = 3105,
121866 CG_NORMAL14 = 3106,
121867 CG_NORMAL15 = 3107,
121868 CG_FOGCOORD = 3156,
121869 CG_TEXCOORD0 = 3220,
121870 CG_TEXCOORD1 = 3221,
121871 CG_TEXCOORD2 = 3222,
121872 CG_TEXCOORD3 = 3223,
121873 CG_TEXCOORD4 = 3224,
121874 CG_TEXCOORD5 = 3225,
121875 CG_TEXCOORD6 = 3226,
121876 CG_TEXCOORD7 = 3227,
121877 CG_TEXCOORD8 = 3228,
121878 CG_TEXCOORD9 = 3229,
121879 CG_TEXCOORD10 = 3230,
121880 CG_TEXCOORD11 = 3231,
121881 CG_TEXCOORD12 = 3232,
121882 CG_TEXCOORD13 = 3233,
121883 CG_TEXCOORD14 = 3234,
121884 CG_TEXCOORD15 = 3235,
121885 CG_COMBINER_CONST0 = 3284,
121886 CG_COMBINER_CONST1 = 3285,
121887 CG_COMBINER_STAGE_CONST0 = 3286,
121888 CG_COMBINER_STAGE_CONST1 = 3287,
121889 CG_OFFSET_TEXTURE_MATRIX = 3288,
121890 CG_OFFSET_TEXTURE_SCALE = 3289,
121891 CG_OFFSET_TEXTURE_BIAS = 3290,
121892 CG_CONST_EYE = 3291,
121893 CG_TESSFACTOR = 3255,
121894
121895 #undef CG_BINDLOCATION_MACRO
121896 # 123 "/usr/include/Cg/cg.h" 2 3 4
121897
121898   CG_UNDEFINED,
121899
121900  } CGresource;
121901
121902 typedef enum
121903  {
121904   CG_PROFILE_START = 6144,
121905   CG_PROFILE_UNKNOWN,
121906
121907 #define CG_PROFILE_MACRO(name,compiler_id,compiler_id_caps,compiler_opt,int_id,vertex_profile) CG_PROFILE_ ##compiler_id_caps = int_id,
121908
121909
121910 # 1 "/usr/include/Cg/cg_profiles.h" 1 3 4
121911 # 71 "/usr/include/Cg/cg_profiles.h" 3 4
121912 #define CG_IN_PROFILES_INCLUDE 
121913
121914 # 1 "/usr/include/Cg/cgGL_profiles.h" 1 3 4
121915 # 53 "/usr/include/Cg/cgGL_profiles.h" 3 4
121916 CG_PROFILE_VP20 = 6146,
121917 CG_PROFILE_FP20 = 6147,
121918 CG_PROFILE_VP30 = 6148,
121919 CG_PROFILE_FP30 = 6149,
121920 CG_PROFILE_ARBVP1 = 6150,
121921 CG_PROFILE_FP40 = 6151,
121922 CG_PROFILE_ARBFP1 = 7000,
121923 CG_PROFILE_VP40 = 7001,
121924 # 74 "/usr/include/Cg/cg_profiles.h" 2 3 4
121925
121926
121927 CG_PROFILE_VS_1_1 = 6153,
121928 CG_PROFILE_VS_2_0 = 6154,
121929 CG_PROFILE_VS_2_X = 6155,
121930
121931 CG_PROFILE_PS_1_1 = 6159,
121932 CG_PROFILE_PS_1_2 = 6160,
121933 CG_PROFILE_PS_1_3 = 6161,
121934 CG_PROFILE_PS_2_0 = 6162,
121935 CG_PROFILE_PS_2_X = 6163,
121936
121937 CG_PROFILE_GENERIC = 7002,
121938
121939 #undef CG_PROFILE_MACRO
121940 #undef CG_IN_PROFILES_INCLUDE
121941 # 137 "/usr/include/Cg/cg.h" 2 3 4
121942
121943   CG_PROFILE_MAX = 7100,
121944  } CGprofile;
121945
121946 typedef enum
121947  {
121948 #define CG_ERROR_MACRO(code,enum_name,message) enum_name = code,
121949
121950 # 1 "/usr/include/Cg/cg_errors.h" 1 3 4
121951 # 67 "/usr/include/Cg/cg_errors.h" 3 4
121952 CG_NO_ERROR = 0,
121953
121954
121955
121956 CG_COMPILER_ERROR = 1,
121957
121958
121959
121960 CG_INVALID_PARAMETER_ERROR = 2,
121961
121962
121963
121964 CG_INVALID_PROFILE_ERROR = 3,
121965
121966
121967
121968 CG_PROGRAM_LOAD_ERROR = 4,
121969
121970
121971
121972 CG_PROGRAM_BIND_ERROR = 5,
121973
121974
121975
121976 CG_PROGRAM_NOT_LOADED_ERROR = 6,
121977
121978
121979
121980 CG_UNSUPPORTED_GL_EXTENSION_ERROR = 7,
121981
121982
121983
121984 CG_INVALID_VALUE_TYPE_ERROR = 8,
121985
121986
121987
121988 CG_NOT_MATRIX_PARAM_ERROR = 9,
121989
121990
121991
121992 CG_INVALID_ENUMERANT_ERROR = 10,
121993
121994
121995
121996 CG_NOT_4x4_MATRIX_ERROR = 11,
121997
121998
121999
122000 CG_FILE_READ_ERROR = 12,
122001
122002
122003
122004 CG_FILE_WRITE_ERROR = 13,
122005
122006
122007
122008 CG_NVPARSE_ERROR = 14,
122009
122010
122011
122012
122013 CG_MEMORY_ALLOC_ERROR = 15,
122014
122015
122016
122017 CG_INVALID_CONTEXT_HANDLE_ERROR = 16,
122018
122019
122020
122021 CG_INVALID_PROGRAM_HANDLE_ERROR = 17,
122022
122023
122024
122025 CG_INVALID_PARAM_HANDLE_ERROR = 18,
122026
122027
122028
122029 CG_UNKNOWN_PROFILE_ERROR = 19,
122030
122031
122032
122033 CG_VAR_ARG_ERROR = 20,
122034
122035
122036
122037 CG_INVALID_DIMENSION_ERROR = 21,
122038
122039
122040
122041 CG_ARRAY_PARAM_ERROR = 22,
122042
122043
122044
122045 CG_OUT_OF_ARRAY_BOUNDS_ERROR = 23,
122046
122047
122048
122049 CG_CONFLICTING_TYPES_ERROR = 24,
122050
122051
122052
122053
122054 CG_CONFLICTING_PARAMETER_TYPES_ERROR = 25,
122055
122056
122057
122058 CG_PARAMETER_IS_NOT_SHARED_ERROR = 26,
122059
122060
122061
122062 CG_INVALID_PARAMETER_VARIABILITY_ERROR = 27,
122063
122064
122065
122066 CG_CANNOT_DESTROY_PARAMETER_ERROR = 28,
122067
122068
122069
122070
122071
122072 CG_NOT_ROOT_PARAMETER_ERROR = 29,
122073
122074
122075
122076 CG_PARAMETERS_DO_NOT_MATCH_ERROR = 30,
122077
122078
122079
122080 CG_IS_NOT_PROGRAM_PARAMETER_ERROR = 31,
122081
122082
122083
122084 CG_INVALID_PARAMETER_TYPE_ERROR = 32,
122085
122086
122087
122088 CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR = 33,
122089
122090
122091
122092 CG_INVALID_SIZE_ERROR = 34,
122093
122094
122095
122096 CG_BIND_CREATES_CYCLE_ERROR = 35,
122097
122098
122099
122100 CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR = 36,
122101
122102
122103
122104 CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR = 37,
122105
122106
122107
122108
122109 CG_ARRAY_HAS_WRONG_DIMENSION_ERROR = 38,
122110
122111
122112
122113 CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR = 39,
122114
122115
122116
122117
122118
122119 CG_INVALID_EFFECT_HANDLE_ERROR = 40,
122120
122121
122122
122123 CG_INVALID_STATE_HANDLE_ERROR = 41,
122124
122125
122126
122127 CG_INVALID_STATE_ASSIGNMENT_HANDLE_ERROR = 42,
122128
122129
122130
122131 CG_INVALID_PASS_HANDLE_ERROR = 43,
122132
122133
122134
122135 CG_INVALID_ANNOTATION_HANDLE_ERROR = 44,
122136
122137
122138
122139 CG_INVALID_TECHNIQUE_HANDLE_ERROR = 45,
122140
122141
122142
122143 CG_INVALID_PARAMETER_HANDLE_ERROR = 46,
122144
122145
122146
122147 CG_STATE_ASSIGNMENT_TYPE_MISMATCH_ERROR = 47,
122148
122149
122150
122151 CG_INVALID_FUNCTION_HANDLE_ERROR = 48,
122152
122153
122154
122155 CG_INVALID_TECHNIQUE_ERROR = 49,
122156
122157
122158
122159 CG_INVALID_POINTER_ERROR = 50,
122160
122161
122162
122163 CG_NOT_ENOUGH_DATA_ERROR = 51,
122164
122165
122166
122167 CG_NON_NUMERIC_PARAMETER_ERROR = 52,
122168
122169
122170
122171 CG_ARRAY_SIZE_MISMATCH_ERROR = 53,
122172
122173
122174
122175 #undef CG_ERROR_MACRO
122176 # 146 "/usr/include/Cg/cg.h" 2 3 4
122177  } CGerror;
122178
122179 typedef enum
122180  {
122181   CG_PARAMETERCLASS_UNKNOWN = 0,
122182   CG_PARAMETERCLASS_SCALAR,
122183   CG_PARAMETERCLASS_VECTOR,
122184   CG_PARAMETERCLASS_MATRIX,
122185   CG_PARAMETERCLASS_STRUCT,
122186   CG_PARAMETERCLASS_ARRAY,
122187   CG_PARAMETERCLASS_SAMPLER,
122188   CG_PARAMETERCLASS_OBJECT
122189  } CGparameterclass;
122190
122191
122192
122193 typedef enum
122194  {
122195 #define CG_ENUM_MACRO(enum_name,enum_val) enum_name = enum_val,
122196
122197 # 1 "/usr/include/Cg/cg_enums.h" 1 3 4
122198 # 68 "/usr/include/Cg/cg_enums.h" 3 4
122199 CG_UNKNOWN = 4096,
122200 CG_IN = 4097,
122201 CG_OUT = 4098,
122202 CG_INOUT = 4099,
122203 CG_MIXED = 4100,
122204 CG_VARYING = 4101,
122205 CG_UNIFORM = 4102,
122206 CG_CONSTANT = 4103,
122207 CG_PROGRAM_SOURCE = 4104,
122208 CG_PROGRAM_ENTRY = 4105,
122209 CG_COMPILED_PROGRAM = 4106,
122210 CG_PROGRAM_PROFILE = 4107,
122211 CG_GLOBAL = 4108,
122212 CG_PROGRAM = 4109,
122213 CG_DEFAULT = 4110,
122214 CG_ERROR = 4111,
122215 CG_SOURCE = 4112,
122216 CG_OBJECT = 4113,
122217 CG_COMPILE_MANUAL = 4114,
122218 CG_COMPILE_IMMEDIATE = 4115,
122219 CG_COMPILE_LAZY = 4116,
122220 CG_CURRENT = 4117,
122221 CG_LITERAL = 4118,
122222 CG_VERSION = 4119,
122223 CG_ROW_MAJOR = 4120,
122224 CG_COLUMN_MAJOR = 4121,
122225 #undef CG_ENUM_MACRO
122226 # 167 "/usr/include/Cg/cg.h" 2 3 4
122227  } CGenum;
122228
122229
122230
122231
122232 extern "C" {
122233
122234
122235 typedef void (*CGerrorCallbackFunc)(void);
122236 typedef void (*CGerrorHandlerFunc)(CGcontext ctx, CGerror err, void *data);
122237 # 186 "/usr/include/Cg/cg.h" 3 4
122238  CGcontext cgCreateContext(void);
122239  void cgDestroyContext(CGcontext ctx);
122240  CGbool cgIsContext(CGcontext ctx);
122241  const char *cgGetLastListing(CGcontext ctx);
122242  void cgSetLastListing(CGhandle handle, const char *listing);
122243  void cgSetAutoCompile(CGcontext ctx, CGenum flag);
122244  CGenum cgGetAutoCompile(CGcontext ctx);
122245
122246
122247  CGprogram cgCreateProgram(CGcontext ctx,
122248                                     CGenum program_type,
122249                                     const char *program,
122250                                     CGprofile profile,
122251                                     const char *entry,
122252                                     const char **args);
122253  CGprogram cgCreateProgramFromFile(CGcontext ctx,
122254                                             CGenum program_type,
122255                                             const char *program_file,
122256                                             CGprofile profile,
122257                                             const char *entry,
122258                                             const char **args);
122259  CGprogram cgCopyProgram(CGprogram program);
122260  void cgDestroyProgram(CGprogram program);
122261
122262  CGprogram cgGetFirstProgram(CGcontext ctx);
122263  CGprogram cgGetNextProgram(CGprogram current);
122264  CGcontext cgGetProgramContext(CGprogram prog);
122265  CGbool cgIsProgram(CGprogram program);
122266
122267  void cgCompileProgram(CGprogram program);
122268  CGbool cgIsProgramCompiled(CGprogram program);
122269  const char *cgGetProgramString(CGprogram prog, CGenum pname);
122270  CGprofile cgGetProgramProfile(CGprogram prog);
122271  char const * const *cgGetProgramOptions(CGprogram prog);
122272  void cgSetProgramProfile(CGprogram prog, CGprofile profile);
122273
122274  void cgSetPassProgramParameters(CGprogram);
122275
122276
122277
122278  CGparameter cgCreateParameter(CGcontext ctx, CGtype type);
122279  CGparameter cgCreateParameterArray(CGcontext ctx,
122280                                              CGtype type,
122281                                              int length);
122282  CGparameter cgCreateParameterMultiDimArray(CGcontext ctx,
122283                                                      CGtype type,
122284                                                      int dim,
122285                                                      const int *lengths);
122286  void cgDestroyParameter(CGparameter param);
122287  void cgConnectParameter(CGparameter from, CGparameter to);
122288  void cgDisconnectParameter(CGparameter param);
122289  CGparameter cgGetConnectedParameter(CGparameter param);
122290
122291  int cgGetNumConnectedToParameters(CGparameter param);
122292  CGparameter cgGetConnectedToParameter(CGparameter param, int index);
122293
122294  CGparameter cgGetNamedParameter(CGprogram prog, const char *name);
122295  CGparameter cgGetNamedProgramParameter(CGprogram prog,
122296                                                  CGenum name_space,
122297                                                  const char *name);
122298
122299  CGparameter cgGetFirstParameter(CGprogram prog, CGenum name_space);
122300  CGparameter cgGetNextParameter(CGparameter current);
122301  CGparameter cgGetFirstLeafParameter(CGprogram prog, CGenum name_space);
122302  CGparameter cgGetNextLeafParameter(CGparameter current);
122303
122304  CGparameter cgGetFirstStructParameter(CGparameter param);
122305  CGparameter cgGetNamedStructParameter(CGparameter param,
122306                                                 const char *name);
122307
122308  CGparameter cgGetFirstDependentParameter(CGparameter param);
122309
122310  CGparameter cgGetArrayParameter(CGparameter aparam, int index);
122311  int cgGetArrayDimension(CGparameter param);
122312  CGtype cgGetArrayType(CGparameter param);
122313  int cgGetArraySize(CGparameter param, int dimension);
122314  int cgGetArrayTotalSize(CGparameter param);
122315  void cgSetArraySize(CGparameter param, int size);
122316  void cgSetMultiDimArraySize(CGparameter param, const int *sizes);
122317
122318  CGprogram cgGetParameterProgram(CGparameter param);
122319  CGcontext cgGetParameterContext(CGparameter param);
122320  CGbool cgIsParameter(CGparameter param);
122321  const char *cgGetParameterName(CGparameter param);
122322  CGtype cgGetParameterType(CGparameter param);
122323  CGtype cgGetParameterBaseType(CGparameter param);
122324  CGparameterclass cgGetParameterClass(CGparameter param);
122325  int cgGetParameterRows(CGparameter param);
122326  int cgGetParameterColumns(CGparameter param);
122327  CGtype cgGetParameterNamedType(CGparameter param);
122328  const char *cgGetParameterSemantic(CGparameter param);
122329  CGresource cgGetParameterResource(CGparameter param);
122330  CGresource cgGetParameterBaseResource(CGparameter param);
122331  unsigned long cgGetParameterResourceIndex(CGparameter param);
122332  CGenum cgGetParameterVariability(CGparameter param);
122333  CGenum cgGetParameterDirection(CGparameter param);
122334  CGbool cgIsParameterReferenced(CGparameter param);
122335  CGbool cgIsParameterUsed(CGparameter param, CGhandle handle);
122336  const double *cgGetParameterValues(CGparameter param,
122337                                              CGenum value_type,
122338                                              int *nvalues);
122339  void cgSetParameterValuedr(CGparameter param, int n, const double *vals);
122340  void cgSetParameterValuedc(CGparameter param, int n, const double *vals);
122341  void cgSetParameterValuefr(CGparameter param, int n, const float *vals);
122342  void cgSetParameterValuefc(CGparameter param, int n, const float *vals);
122343  void cgSetParameterValueir(CGparameter param, int n, const int *vals);
122344  void cgSetParameterValueic(CGparameter param, int n, const int *vals);
122345  int cgGetParameterValuedr(CGparameter param, int n, double *vals);
122346  int cgGetParameterValuedc(CGparameter param, int n, double *vals);
122347  int cgGetParameterValuefr(CGparameter param, int n, float *vals);
122348  int cgGetParameterValuefc(CGparameter param, int n, float *vals);
122349  int cgGetParameterValueir(CGparameter param, int n, int *vals);
122350  int cgGetParameterValueic(CGparameter param, int n, int *vals);
122351  const char *cgGetStringParameterValue(CGparameter param);
122352  void cgSetStringParameterValue(CGparameter param, const char *str);
122353
122354  int cgGetParameterOrdinalNumber(CGparameter param);
122355  CGbool cgIsParameterGlobal(CGparameter param);
122356  int cgGetParameterIndex(CGparameter param);
122357
122358  void cgSetParameterVariability(CGparameter param, CGenum vary);
122359  void cgSetParameterSemantic(CGparameter param, const char *semantic);
122360
122361  void cgSetParameter1f(CGparameter param, float x);
122362  void cgSetParameter2f(CGparameter param, float x, float y);
122363  void cgSetParameter3f(CGparameter param, float x, float y, float z);
122364  void cgSetParameter4f(CGparameter param,
122365                                 float x,
122366                                 float y,
122367                                 float z,
122368                                 float w);
122369  void cgSetParameter1d(CGparameter param, double x);
122370  void cgSetParameter2d(CGparameter param, double x, double y);
122371  void cgSetParameter3d(CGparameter param,
122372                                 double x,
122373                                 double y,
122374                                 double z);
122375  void cgSetParameter4d(CGparameter param,
122376                                 double x,
122377                                 double y,
122378                                 double z,
122379                                 double w);
122380  void cgSetParameter1i(CGparameter param, int x);
122381  void cgSetParameter2i(CGparameter param, int x, int y);
122382  void cgSetParameter3i(CGparameter param, int x, int y, int z);
122383  void cgSetParameter4i(CGparameter param,
122384                                 int x,
122385                                 int y,
122386                                 int z,
122387                                 int w);
122388
122389
122390  void cgSetParameter1iv(CGparameter param, const int *v);
122391  void cgSetParameter2iv(CGparameter param, const int *v);
122392  void cgSetParameter3iv(CGparameter param, const int *v);
122393  void cgSetParameter4iv(CGparameter param, const int *v);
122394  void cgSetParameter1fv(CGparameter param, const float *v);
122395  void cgSetParameter2fv(CGparameter param, const float *v);
122396  void cgSetParameter3fv(CGparameter param, const float *v);
122397  void cgSetParameter4fv(CGparameter param, const float *v);
122398  void cgSetParameter1dv(CGparameter param, const double *v);
122399  void cgSetParameter2dv(CGparameter param, const double *v);
122400  void cgSetParameter3dv(CGparameter param, const double *v);
122401  void cgSetParameter4dv(CGparameter param, const double *v);
122402
122403  void cgSetMatrixParameterir(CGparameter param, const int *matrix);
122404  void cgSetMatrixParameterdr(CGparameter param, const double *matrix);
122405  void cgSetMatrixParameterfr(CGparameter param, const float *matrix);
122406  void cgSetMatrixParameteric(CGparameter param, const int *matrix);
122407  void cgSetMatrixParameterdc(CGparameter param, const double *matrix);
122408  void cgSetMatrixParameterfc(CGparameter param, const float *matrix);
122409
122410  void cgGetMatrixParameterir(CGparameter param, int *matrix);
122411  void cgGetMatrixParameterdr(CGparameter param, double *matrix);
122412  void cgGetMatrixParameterfr(CGparameter param, float *matrix);
122413  void cgGetMatrixParameteric(CGparameter param, int *matrix);
122414  void cgGetMatrixParameterdc(CGparameter param, double *matrix);
122415  void cgGetMatrixParameterfc(CGparameter param, float *matrix);
122416
122417
122418
122419  const char *cgGetTypeString(CGtype type);
122420  CGtype cgGetType(const char *type_string);
122421
122422  CGtype cgGetNamedUserType(CGhandle handle, const char *name);
122423
122424  int cgGetNumUserTypes(CGhandle handle);
122425  CGtype cgGetUserType(CGhandle handle, int index);
122426
122427  int cgGetNumParentTypes(CGtype type);
122428  CGtype cgGetParentType(CGtype type, int index);
122429
122430  CGbool cgIsParentType(CGtype parent, CGtype child);
122431  CGbool cgIsInterfaceType(CGtype type);
122432
122433
122434
122435  const char *cgGetResourceString(CGresource resource);
122436  CGresource cgGetResource(const char *resource_string);
122437
122438
122439
122440  const char *cgGetEnumString(CGenum en);
122441  CGenum cgGetEnum(const char *enum_string);
122442
122443
122444
122445  const char *cgGetProfileString(CGprofile profile);
122446  CGprofile cgGetProfile(const char *profile_string);
122447
122448
122449
122450  CGerror cgGetError(void);
122451  CGerror cgGetFirstError(void);
122452  const char *cgGetErrorString(CGerror error);
122453  const char *cgGetLastErrorString(CGerror *error);
122454  void cgSetErrorCallback(CGerrorCallbackFunc func);
122455  CGerrorCallbackFunc cgGetErrorCallback(void);
122456  void cgSetErrorHandler(CGerrorHandlerFunc func, void *data);
122457  CGerrorHandlerFunc cgGetErrorHandler(void **data);
122458
122459
122460
122461  const char *cgGetString(CGenum sname);
122462
122463
122464
122465
122466  CGeffect cgCreateEffect(CGcontext, const char *code, const char **args);
122467  CGeffect cgCreateEffectFromFile(CGcontext, const char *filename,
122468                                           const char **args);
122469  void cgDestroyEffect(CGeffect);
122470  CGcontext cgGetEffectContext(CGeffect);
122471  CGbool cgIsEffect(CGeffect effect);
122472
122473  CGeffect cgGetFirstEffect(CGcontext);
122474  CGeffect cgGetNextEffect(CGeffect);
122475
122476  CGprogram cgCreateProgramFromEffect(CGeffect effect,
122477                                               CGprofile profile,
122478                                               const char *entry,
122479                                               const char **args);
122480
122481  CGtechnique cgGetFirstTechnique(CGeffect);
122482  CGtechnique cgGetNextTechnique(CGtechnique);
122483  CGtechnique cgGetNamedTechnique(CGeffect, const char *name);
122484  const char *cgGetTechniqueName(CGtechnique);
122485  CGbool cgIsTechnique(CGtechnique);
122486  CGbool cgValidateTechnique(CGtechnique);
122487  CGbool cgIsTechniqueValidated(CGtechnique);
122488  CGeffect cgGetTechniqueEffect(CGtechnique);
122489
122490  CGpass cgGetFirstPass(CGtechnique);
122491  CGpass cgGetNamedPass(CGtechnique, const char *name);
122492  CGpass cgGetNextPass(CGpass);
122493  CGbool cgIsPass(CGpass);
122494  const char *cgGetPassName(CGpass);
122495  CGtechnique cgGetPassTechnique(CGpass);
122496
122497  void cgSetPassState(CGpass);
122498  void cgResetPassState(CGpass);
122499
122500  CGstateassignment cgGetFirstStateAssignment(CGpass);
122501  CGstateassignment cgGetNamedStateAssignment(CGpass, const char *name);
122502  CGstateassignment cgGetNextStateAssignment(CGstateassignment);
122503  CGbool cgIsStateAssignment(CGstateassignment);
122504  CGbool cgCallStateSetCallback(CGstateassignment);
122505  CGbool cgCallStateValidateCallback(CGstateassignment);
122506  CGbool cgCallStateResetCallback(CGstateassignment);
122507  CGpass cgGetStateAssignmentPass(CGstateassignment);
122508  CGparameter cgGetSamplerStateAssignmentParameter(CGstateassignment);
122509
122510  const float *cgGetFloatStateAssignmentValues(CGstateassignment, int *nVals);
122511  const int *cgGetIntStateAssignmentValues(CGstateassignment, int *nVals);
122512  const CGbool *cgGetBoolStateAssignmentValues(CGstateassignment, int *nVals);
122513  const char *cgGetStringStateAssignmentValue(CGstateassignment);
122514  CGprogram cgGetProgramStateAssignmentValue(CGstateassignment);
122515  CGparameter cgGetTextureStateAssignmentValue(CGstateassignment);
122516  CGparameter cgGetSamplerStateAssignmentValue(CGstateassignment);
122517  int cgGetStateAssignmentIndex(CGstateassignment);
122518
122519  int cgGetNumDependentStateAssignmentParameters(CGstateassignment);
122520  CGparameter cgGetDependentStateAssignmentParameter(CGstateassignment, int index);
122521
122522  CGstate cgGetStateAssignmentState(CGstateassignment);
122523  CGstate cgGetSamplerStateAssignmentState(CGstateassignment);
122524
122525  CGstate cgCreateState(CGcontext, const char *name, CGtype);
122526  CGstate cgCreateArrayState(CGcontext, const char *name, CGtype, int nelems);
122527  void cgSetStateCallbacks(CGstate, CGstatecallback set, CGstatecallback reset,
122528                                    CGstatecallback validate);
122529  CGstatecallback cgGetStateSetCallback(CGstate);
122530  CGstatecallback cgGetStateResetCallback(CGstate);
122531  CGstatecallback cgGetStateValidateCallback(CGstate);
122532  CGtype cgGetStateType(CGstate);
122533  const char *cgGetStateName(CGstate);
122534  CGstate cgGetNamedState(CGcontext, const char *name);
122535  CGstate cgGetFirstState(CGcontext);
122536  CGstate cgGetNextState(CGstate);
122537  CGbool cgIsState(CGstate);
122538  void cgAddStateEnumerant(CGstate, const char *name, int value);
122539
122540  CGstate cgCreateSamplerState(CGcontext, const char *name, CGtype);
122541  CGstate cgCreateArraySamplerState(CGcontext, const char *name, CGtype, int nelems);
122542  CGstate cgGetNamedSamplerState(CGcontext, const char *name);
122543  CGstate cgGetFirstSamplerState(CGcontext);
122544
122545  CGstateassignment cgGetFirstSamplerStateAssignment(CGparameter);
122546  CGstateassignment cgGetNamedSamplerStateAssignment(CGparameter, const char *);
122547  void cgSetSamplerState(CGparameter);
122548
122549  CGparameter cgGetNamedEffectParameter(CGeffect, const char *);
122550  CGparameter cgGetFirstLeafEffectParameter(CGeffect);
122551  CGparameter cgGetFirstEffectParameter(CGeffect);
122552  CGparameter cgGetEffectParameterBySemantic(CGeffect, const char *);
122553
122554  CGannotation cgGetFirstTechniqueAnnotation(CGtechnique);
122555  CGannotation cgGetFirstPassAnnotation(CGpass);
122556  CGannotation cgGetFirstParameterAnnotation(CGparameter);
122557  CGannotation cgGetFirstProgramAnnotation(CGprogram);
122558  CGannotation cgGetNextAnnotation(CGannotation);
122559
122560  CGannotation cgGetNamedTechniqueAnnotation(CGtechnique, const char *);
122561  CGannotation cgGetNamedPassAnnotation(CGpass, const char *);
122562  CGannotation cgGetNamedParameterAnnotation(CGparameter, const char *);
122563  CGannotation cgGetNamedProgramAnnotation(CGprogram, const char *);
122564
122565  CGbool cgIsAnnotation(CGannotation);
122566
122567  const char *cgGetAnnotationName(CGannotation);
122568  CGtype cgGetAnnotationType(CGannotation);
122569
122570  const float *cgGetFloatAnnotationValues(CGannotation, int *nvalues);
122571  const int *cgGetIntAnnotationValues(CGannotation, int *nvalues);
122572  const char *cgGetStringAnnotationValue(CGannotation);
122573  const int *cgGetBooleanAnnotationValues(CGannotation, int *nvalues);
122574
122575  int cgGetNumDependentAnnotationParameters(CGannotation);
122576  CGparameter cgGetDependentAnnotationParameter(CGannotation, int index);
122577
122578  void cgEvaluateProgram(CGprogram, float *, int ncomps, int nx, int ny, int nz);
122579
122580
122581
122582
122583 }
122584 # 6 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcg.h" 2
122585 # 1 "/usr/include/Cg/cgGL.h" 1 3 4
122586 # 53 "/usr/include/Cg/cgGL.h" 3 4
122587 #define _cggl_h 
122588 # 69 "/usr/include/Cg/cgGL.h" 3 4
122589 #define CGGLDLL_API 
122590 # 80 "/usr/include/Cg/cgGL.h" 3 4
122591 extern "C" {
122592
122593
122594
122595
122596
122597
122598 typedef enum
122599  {
122600   CG_GL_MATRIX_IDENTITY = 0,
122601   CG_GL_MATRIX_TRANSPOSE = 1,
122602   CG_GL_MATRIX_INVERSE = 2,
122603   CG_GL_MATRIX_INVERSE_TRANSPOSE = 3,
122604
122605   CG_GL_MODELVIEW_MATRIX,
122606   CG_GL_PROJECTION_MATRIX,
122607   CG_GL_TEXTURE_MATRIX,
122608   CG_GL_MODELVIEW_PROJECTION_MATRIX,
122609
122610   CG_GL_VERTEX,
122611   CG_GL_FRAGMENT,
122612
122613  } CGGLenum;
122614 # 111 "/usr/include/Cg/cgGL.h" 3 4
122615  CGbool cgGLIsProfileSupported(CGprofile profile);
122616
122617  void cgGLEnableProfile(CGprofile profile);
122618  void cgGLDisableProfile(CGprofile profile);
122619
122620  CGprofile cgGLGetLatestProfile(CGGLenum profile_type);
122621  void cgGLSetOptimalOptions(CGprofile profile);
122622
122623
122624
122625
122626
122627  void cgGLLoadProgram(CGprogram program);
122628  CGbool cgGLIsProgramLoaded(CGprogram program);
122629  void cgGLBindProgram(CGprogram program);
122630  void cgGLUnbindProgram(CGprofile profile);
122631  GLuint cgGLGetProgramID(CGprogram program);
122632
122633
122634
122635
122636
122637  void cgGLSetParameter1f(CGparameter param,
122638                                     float x);
122639
122640  void cgGLSetParameter2f(CGparameter param,
122641                                     float x,
122642                                     float y);
122643
122644  void cgGLSetParameter3f(CGparameter param,
122645                                     float x,
122646                                     float y,
122647                                     float z);
122648
122649  void cgGLSetParameter4f(CGparameter param,
122650                                     float x,
122651                                     float y,
122652                                     float z,
122653                                     float w);
122654
122655  void cgGLSetParameter1fv(CGparameter param, const float *v);
122656
122657  void cgGLSetParameter2fv(CGparameter param, const float *v);
122658
122659  void cgGLSetParameter3fv(CGparameter param, const float *v);
122660
122661  void cgGLSetParameter4fv(CGparameter param, const float *v);
122662
122663  void cgGLSetParameter1d(CGparameter param,
122664                                     double x);
122665
122666  void cgGLSetParameter2d(CGparameter param,
122667                                     double x,
122668                                     double y);
122669
122670  void cgGLSetParameter3d(CGparameter param,
122671                                     double x,
122672                                     double y,
122673                                     double z);
122674
122675  void cgGLSetParameter4d(CGparameter param,
122676                                     double x,
122677                                     double y,
122678                                     double z,
122679                                     double w);
122680
122681  void cgGLSetParameter1dv(CGparameter param, const double *v);
122682
122683  void cgGLSetParameter2dv(CGparameter param, const double *v);
122684
122685  void cgGLSetParameter3dv(CGparameter param, const double *v);
122686
122687  void cgGLSetParameter4dv(CGparameter param, const double *v);
122688
122689  void cgGLSetParameter4dv(CGparameter param, const double *v);
122690
122691  void cgGLGetParameter1f(CGparameter param, float *v);
122692
122693  void cgGLGetParameter2f(CGparameter param, float *v);
122694
122695  void cgGLGetParameter3f(CGparameter param, float *v);
122696
122697  void cgGLGetParameter4f(CGparameter param, float *v);
122698
122699  void cgGLGetParameter1d(CGparameter param, double *v);
122700
122701  void cgGLGetParameter2d(CGparameter param, double *v);
122702
122703  void cgGLGetParameter3d(CGparameter param, double *v);
122704
122705  void cgGLGetParameter4d(CGparameter param, double *v);
122706
122707  void cgGLSetParameterArray1f(CGparameter param,
122708                                          long offset,
122709                                          long nelements,
122710                                          const float *v);
122711
122712  void cgGLSetParameterArray2f(CGparameter param,
122713                                          long offset,
122714                                          long nelements,
122715                                          const float *v);
122716
122717  void cgGLSetParameterArray3f(CGparameter param,
122718                                          long offset,
122719                                          long nelements,
122720                                          const float *v);
122721
122722  void cgGLSetParameterArray4f(CGparameter param,
122723                                          long offset,
122724                                          long nelements,
122725                                          const float *v);
122726
122727  void cgGLSetParameterArray1d(CGparameter param,
122728                                          long offset,
122729                                          long nelements,
122730                                          const double *v);
122731
122732  void cgGLSetParameterArray2d(CGparameter param,
122733                                          long offset,
122734                                          long nelements,
122735                                          const double *v);
122736
122737  void cgGLSetParameterArray3d(CGparameter param,
122738                                          long offset,
122739                                          long nelements,
122740                                          const double *v);
122741
122742  void cgGLSetParameterArray4d(CGparameter param,
122743                                          long offset,
122744                                          long nelements,
122745                                          const double *v);
122746
122747  void cgGLGetParameterArray1f(CGparameter param,
122748                                          long offset,
122749                                          long nelements,
122750                                          float *v);
122751
122752  void cgGLGetParameterArray2f(CGparameter param,
122753                                          long offset,
122754                                          long nelements,
122755                                          float *v);
122756
122757  void cgGLGetParameterArray3f(CGparameter param,
122758                                          long offset,
122759                                          long nelements,
122760                                          float *v);
122761
122762  void cgGLGetParameterArray4f(CGparameter param,
122763                                          long offset,
122764                                          long nelements,
122765                                          float *v);
122766
122767  void cgGLGetParameterArray1d(CGparameter param,
122768                                          long offset,
122769                                          long nelements,
122770                                          double *v);
122771
122772  void cgGLGetParameterArray2d(CGparameter param,
122773                                          long offset,
122774                                          long nelements,
122775                                          double *v);
122776
122777  void cgGLGetParameterArray3d(CGparameter param,
122778                                          long offset,
122779                                          long nelements,
122780                                          double *v);
122781
122782  void cgGLGetParameterArray4d(CGparameter param,
122783                                          long offset,
122784                                          long nelements,
122785                                          double *v);
122786
122787  void cgGLSetParameterPointer(CGparameter param,
122788                                          GLint fsize,
122789                                          GLenum type,
122790                                          GLsizei stride,
122791                                          const GLvoid *pointer);
122792
122793  void cgGLEnableClientState(CGparameter param);
122794  void cgGLDisableClientState(CGparameter param);
122795
122796
122797
122798
122799
122800  void cgGLSetMatrixParameterdr(CGparameter param,
122801                                           const double *matrix);
122802  void cgGLSetMatrixParameterfr(CGparameter param,
122803                                           const float *matrix);
122804  void cgGLSetMatrixParameterdc(CGparameter param,
122805                                           const double *matrix);
122806  void cgGLSetMatrixParameterfc(CGparameter param,
122807                                           const float *matrix);
122808
122809  void cgGLGetMatrixParameterdr(CGparameter param, double *matrix);
122810  void cgGLGetMatrixParameterfr(CGparameter param, float *matrix);
122811  void cgGLGetMatrixParameterdc(CGparameter param, double *matrix);
122812  void cgGLGetMatrixParameterfc(CGparameter param, float *matrix);
122813
122814  void cgGLSetStateMatrixParameter(CGparameter param,
122815                                              CGGLenum matrix,
122816                                              CGGLenum transform);
122817
122818  void cgGLSetMatrixParameterArrayfc(CGparameter param,
122819                                                long offset,
122820                                                long nelements,
122821                                                const float *matrices);
122822
122823  void cgGLSetMatrixParameterArrayfr(CGparameter param,
122824                                                long offset,
122825                                                long nelements,
122826                                                const float *matrices);
122827
122828  void cgGLSetMatrixParameterArraydc(CGparameter param,
122829                                                long offset,
122830                                                long nelements,
122831                                                const double *matrices);
122832
122833  void cgGLSetMatrixParameterArraydr(CGparameter param,
122834                                                long offset,
122835                                                long nelements,
122836                                                const double *matrices);
122837
122838  void cgGLGetMatrixParameterArrayfc(CGparameter param,
122839                                                long offset,
122840                                                long nelements,
122841                                                float *matrices);
122842
122843  void cgGLGetMatrixParameterArrayfr(CGparameter param,
122844                                                long offset,
122845                                                long nelements,
122846                                                float *matrices);
122847
122848  void cgGLGetMatrixParameterArraydc(CGparameter param,
122849                                                long offset,
122850                                                long nelements,
122851                                                double *matrices);
122852
122853  void cgGLGetMatrixParameterArraydr(CGparameter param,
122854                                                long offset,
122855                                                long nelements,
122856                                                double *matrices);
122857
122858
122859
122860
122861
122862  void cgGLSetTextureParameter(CGparameter param, GLuint texobj);
122863  GLuint cgGLGetTextureParameter(CGparameter param);
122864  void cgGLEnableTextureParameter(CGparameter param);
122865  void cgGLDisableTextureParameter(CGparameter param);
122866  GLenum cgGLGetTextureEnum(CGparameter param);
122867
122868  void cgGLSetManageTextureParameters(CGcontext ctx, CGbool flag);
122869  CGbool cgGLGetManageTextureParameters(CGcontext ctx);
122870
122871  void cgGLSetupSampler(CGparameter param, GLuint texobj);
122872  void cgGLRegisterStates(CGcontext);
122873
122874
122875
122876
122877 }
122878 # 7 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcg.h" 2
122879 # 15 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcg.h"
122880 namespace Graphics
122881 {
122882 class Cg
122883 {
122884 public:
122885
122886  static CGcontext GetContex();
122887  static void Error();
122888 private:
122889  static CGcontext context;
122890 };
122891
122892
122893 }
122894 # 29 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglvertexbuffer.h" 2
122895
122896 namespace Graphics
122897 {
122898  class OpenGLVertexBuffer : public IVertexBuffer
122899  {
122900
122901  public:
122902
122903   OpenGLVertexBuffer( );
122904   ~OpenGLVertexBuffer(void);
122905   void Clear();
122906   void SetUsage(unsigned int usage);
122907
122908
122909   void SetVertexData(unsigned int attribute, boost::shared_ptr< float > vertexData );
122910   void SetVertexData(unsigned int attribute, boost::shared_ptr< std::vector<float> > vertexData );
122911   void SetVertexData(unsigned int attribute, boost::shared_ptr< std::vector<Math::vec2> > vertexData );
122912   void SetVertexData(unsigned int attribute, boost::shared_ptr< std::vector<Math::vec3> > vertexData );
122913   void SetVertexData(unsigned int attribute, boost::shared_ptr< std::vector<Math::vec4> > vertexData );
122914
122915
122916
122917
122918   void Draw(unsigned int drawMode);
122919   void Draw(unsigned int drawMode, IndexBuffer indexBuffer);
122920
122921   void SetSize(int vertices);
122922   int GetSize();
122923
122924
122925
122926
122927
122928
122929
122930  private:
122931
122932
122933   void updateBuffer();
122934   void PrepareVertexData(unsigned int attribute, float* vertexData);
122935   void interleave(int attribute, float* vertexData);
122936
122937   void PreDraw();
122938   void PostDraw();
122939
122940
122941
122942   GLuint bufferID;
122943   int* sizes;
122944   GLenum usage;
122945   int* offset;
122946   int stride;
122947   int* sizeOfType;
122948   int vertices;
122949   int combinedOffset;
122950   bool changed;
122951   float* data;
122952   float** vertex;
122953
122954   std::vector < boost::shared_ptr< float > > vertexDataVec1;
122955   std::vector < boost::shared_ptr< std::vector<float> > > vertexDataVec1_2;
122956   std::vector < boost::shared_ptr< std::vector<Math::vec2> > > vertexDataVec2;
122957   std::vector < boost::shared_ptr< std::vector<Math::vec3> > > vertexDataVec3;
122958   std::vector < boost::shared_ptr< std::vector<Math::vec4> > > vertexDataVec4;
122959
122960   bool drawn;
122961
122962   bool* use;
122963
122964
122965
122966  private:
122967   static bool init_GL_ARB_vertex_buffer_object();
122968   static bool init_GL_EXT_fog_coord();
122969   static bool init_GL_ARB_point_sprite();
122970  };
122971
122972 }
122973 # 23 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
122974 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglindexbuffer.h" 1
122975
122976 #define OPENGL_INDEX_BUFFER_H 
122977
122978 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/indexbuffer.hpp" 1
122979 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglindexbuffer.h" 2
122980 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
122981 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
122982 #define APIENTRY 
122983 #define GLUT_APIENTRY_DEFINED 
122984 #define CALLBACK 
122985
122986
122987
122988
122989
122990
122991 #undef GLUT_APIENTRY_DEFINED
122992 #undef APIENTRY
122993 # 6 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglindexbuffer.h" 2
122994
122995 namespace Graphics
122996 {
122997  class OpenGLIndexBuffer : public IIndexBuffer
122998  {
122999  public:
123000   OpenGLIndexBuffer(void);
123001   ~OpenGLIndexBuffer(void);
123002   void SetIndexData(std::vector<int> indexData);
123003   std::vector<int> GetIndexData();
123004
123005
123006
123007  };
123008 }
123009 # 24 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
123010
123011 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglfaceculling.h" 1
123012
123013 #define OPENGL_FACECULLING_H 
123014
123015 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
123016 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
123017 #define APIENTRY 
123018 #define GLUT_APIENTRY_DEFINED 
123019 #define CALLBACK 
123020
123021
123022
123023
123024
123025
123026 #undef GLUT_APIENTRY_DEFINED
123027 #undef APIENTRY
123028 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglfaceculling.h" 2
123029 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/faceculling.hpp" 1
123030 # 6 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglfaceculling.h" 2
123031
123032 namespace Graphics
123033 {
123034  class OpenGLFaceCulling : public IFaceCulling
123035  {
123036
123037  public:
123038   void Enable();
123039   void Disable();
123040   void SetFrontFace(FaceMode facemode);
123041   void SetCullMode(CullMode cullmode);
123042
123043   void GetFrontFace();
123044   CullMode GetCullMode();
123045  };
123046 }
123047 # 26 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
123048
123049 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglviewmatrix.h" 1
123050
123051 #define OPENGL_VIEW_MATRIX_H 
123052
123053 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
123054 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
123055 #define APIENTRY 
123056 #define GLUT_APIENTRY_DEFINED 
123057 #define CALLBACK 
123058
123059
123060
123061
123062
123063
123064 #undef GLUT_APIENTRY_DEFINED
123065 #undef APIENTRY
123066 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglviewmatrix.h" 2
123067
123068 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengltransformation.h" 1
123069
123070 #define OPENGL_TRANSFORMATION_FORMAT_H 
123071
123072 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
123073 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
123074 #define APIENTRY 
123075 #define GLUT_APIENTRY_DEFINED 
123076 #define CALLBACK 
123077
123078
123079
123080
123081
123082
123083 #undef GLUT_APIENTRY_DEFINED
123084 #undef APIENTRY
123085 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengltransformation.h" 2
123086 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/transformation.hpp" 1
123087 # 6 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengltransformation.h" 2
123088
123089 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/../../../math/mathforward.hpp" 1
123090 # 8 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengltransformation.h" 2
123091
123092 namespace Graphics
123093 {
123094  class OpenGLTransformation : public ITransformation
123095  {
123096
123097  protected:
123098  enum MatrixMode
123099  {
123100   PROJECTION_MATRIX,
123101   VIEW_MATRIX
123102  };
123103  protected:
123104   static MatrixMode mode;
123105   virtual void changeMode() = 0;
123106  public:
123107   OpenGLTransformation(){ }
123108
123109   void Translate( Math::vec3 in_ );
123110   void Rotate( float angle_, Math::vec3 axis_ );
123111   void Scale( Math::vec3 in_ );
123112   void Identity();
123113   void Frustum(double left, double right, double bottom, double top, double znear, double zfar);
123114   void Perspective(double fovy, double aspect, double zNear, double zFar);
123115   void Ortho(double left, double right, double bottom, double top, double zNear, double zFar);
123116   void Ortho2D(double left, double right, double bottom, double top);
123117   void LookAt(double eyex, double eyey, double eyez, double centerx, double centery, double centerz, double upx, double upy, double upz);
123118   void MultiplyMatrix( Math::mat4* in_ );
123119
123120
123121
123122
123123  };
123124
123125
123126 }
123127 # 7 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglviewmatrix.h" 2
123128
123129
123130 namespace Graphics
123131 {
123132  class OpenGLViewMatrix : public OpenGLTransformation
123133  {
123134  public:
123135   OpenGLViewMatrix(void);
123136   ~OpenGLViewMatrix(void);
123137
123138  private:
123139   void changeMode();
123140  };
123141 }
123142 # 28 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
123143 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglprojmatrix.h" 1
123144
123145 #define OPENGL_PROJ_MATRIX_H 
123146
123147 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
123148 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
123149 #define APIENTRY 
123150 #define GLUT_APIENTRY_DEFINED 
123151 #define CALLBACK 
123152
123153
123154
123155
123156
123157
123158 #undef GLUT_APIENTRY_DEFINED
123159 #undef APIENTRY
123160 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglprojmatrix.h" 2
123161
123162
123163 namespace Graphics
123164 {
123165  class OpenGLProjMatrix : public OpenGLTransformation
123166  {
123167  public:
123168   OpenGLProjMatrix(void);
123169   ~OpenGLProjMatrix(void);
123170
123171  private:
123172   void changeMode();
123173  };
123174 }
123175 # 29 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
123176
123177 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglviewport.h" 1
123178
123179 #define OPENGL_VIEWPORT_H 
123180
123181 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
123182 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
123183 #define APIENTRY 
123184 #define GLUT_APIENTRY_DEFINED 
123185 #define CALLBACK 
123186
123187
123188
123189
123190
123191
123192 #undef GLUT_APIENTRY_DEFINED
123193 #undef APIENTRY
123194 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglviewport.h" 2
123195 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/viewport.hpp" 1
123196 # 6 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglviewport.h" 2
123197
123198 namespace Graphics
123199 {
123200  class OpenGLViewport : public Viewport
123201  {
123202  public:
123203   OpenGLViewport(void);
123204   ~OpenGLViewport(void);
123205
123206
123207   void Set( int x, int y, int width, int height );
123208
123209
123210   int GetX();
123211   int GetY();
123212   int GetWidth();
123213   int GetHeight();
123214  };
123215 }
123216 # 31 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
123217 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglalphablend.h" 1
123218
123219 #define OPENGL_ALPHABLEND_H 
123220
123221 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
123222 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
123223 #define APIENTRY 
123224 #define GLUT_APIENTRY_DEFINED 
123225 #define CALLBACK 
123226
123227
123228
123229
123230
123231
123232 #undef GLUT_APIENTRY_DEFINED
123233 #undef APIENTRY
123234 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglalphablend.h" 2
123235 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/alphablend.hpp" 1
123236 # 6 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglalphablend.h" 2
123237
123238 namespace Graphics
123239 {
123240  class OpenGLAlphaBlend : public AlphaBlend
123241  {
123242  public:
123243   void Enable();
123244   void Disable();
123245  };
123246 }
123247 # 32 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
123248 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglscissor.h" 1
123249
123250 #define OPENGL_SCISSOR_H 
123251
123252 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
123253 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
123254 #define APIENTRY 
123255 #define GLUT_APIENTRY_DEFINED 
123256 #define CALLBACK 
123257
123258
123259
123260
123261
123262
123263 #undef GLUT_APIENTRY_DEFINED
123264 #undef APIENTRY
123265 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglscissor.h" 2
123266 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/scissor.hpp" 1
123267 # 6 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglscissor.h" 2
123268
123269 namespace Graphics
123270 {
123271  class OpenGLScissor : public Scissor
123272  {
123273  public:
123274   void Enable();
123275   void Disable();
123276
123277
123278   void Set( int x, int y, int width, int height );
123279
123280
123281   int GetX();
123282   int GetY();
123283   int GetWidth();
123284   int GetHeight();
123285  };
123286 }
123287 # 33 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
123288 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcgvertexshader.h" 1
123289 # 34 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
123290
123291 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcgfragmentshader.h" 1
123292
123293 #define OPENGL_CG_FRAGMENT_SHADER_H 
123294
123295 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
123296 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
123297 #define APIENTRY 
123298 #define GLUT_APIENTRY_DEFINED 
123299 #define CALLBACK 
123300
123301
123302
123303
123304
123305
123306 #undef GLUT_APIENTRY_DEFINED
123307 #undef APIENTRY
123308 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcgfragmentshader.h" 2
123309
123310
123311
123312
123313
123314
123315 namespace Graphics
123316 {
123317  class OpenGLCgFragmentShader : public IShader
123318  {
123319  public:
123320   OpenGLCgFragmentShader();
123321   ~OpenGLCgFragmentShader();
123322
123323   void LoadFromFile(std::string filename);
123324   void LoadFromString(std::string& source);
123325
123326   void Enable();
123327   void Disable();
123328
123329   void SetUniform(std::string const & name, float const v0);
123330   void SetUniform(std::string const & name, float const v0, float const v1);
123331   void SetUniform(std::string const & name, float const v0, float const v1, float const v2);
123332   void SetUniform(std::string const & name, float const v0, float const v1, float const v2, float const v3);
123333
123334
123335   void SetUniform(std::string const & name, Texture2D texture);
123336
123337
123338
123339   void SetModelviewProjectionMatrix( std::string const & name );
123340   void SetModelviewInverseTranspose( std::string const & name );
123341   void SetModelviewInverse( std::string const & name );
123342   void SetModelview( std::string const & name );
123343   void SetTextureMatrix( std::string const & name );
123344
123345   void setFloatArray(std::string const & name, int const size, float const values);
123346
123347  private:
123348
123349   void ChooseProfile();
123350
123351   CGprofile m_profile;
123352   CGprogram m_program;
123353
123354
123355  };
123356 }
123357 # 36 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 2
123358 # 58 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h"
123359 namespace Graphics
123360 {
123361
123362
123363  class openglapi : public IAPI
123364  {
123365  public:
123366   openglapi(void);
123367   ~openglapi(void);
123368   void createWindow( Utility::IOS* mWindow );
123369   OpenGLVertexFormat* CreateVertexFormat();
123370   OpenGLVertexBuffer* CreateVertexBuffer();
123371   OpenGLIndexBuffer* CreateIndexBuffer();
123372
123373   ITexture2D* CreateTexture2D( int width, int height, const void* data, unsigned int dataFormat, unsigned int textureFormat, unsigned int type );
123374   IShader* CreateCgVertexShader();
123375   IShader* CreateCgFragmentShader();
123376
123377
123378
123379
123380
123381   void Swap();
123382
123383  private:
123384
123385
123386  protected:
123387
123388
123389  private:
123390
123391
123392
123393
123394
123395
123396
123397  };
123398 }
123399 # 5 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengltexture2d.h" 2
123400 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h" 1
123401 # 47 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengl.h"
123402 #define APIENTRY 
123403 #define GLUT_APIENTRY_DEFINED 
123404 #define CALLBACK 
123405
123406
123407
123408
123409
123410
123411 #undef GLUT_APIENTRY_DEFINED
123412 #undef APIENTRY
123413 # 6 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengltexture2d.h" 2
123414
123415 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/texture2d.hpp" 1
123416 # 8 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/opengltexture2d.h" 2
123417
123418
123419
123420 namespace Graphics
123421 {
123422  class OpenGLTexture2D : public ITexture2D
123423  {
123424  public:
123425   OpenGLTexture2D(){};
123426   OpenGLTexture2D(int width, int height, const void* data, unsigned int dataFormat, unsigned int textureFormat, unsigned int type);
123427   ~OpenGLTexture2D(void);
123428
123429   void WrapS(unsigned int parameter);
123430   void WrapT(unsigned int parameter);
123431
123432   void MagFilter(unsigned int parameter);
123433   void MinFilter(unsigned int parameter);
123434
123435   void GenerateMipMap(int levels);
123436
123437   unsigned int getId();
123438
123439   const unsigned char LookupUByte( float u, float v, int offset);
123440   char LookupByte( int u, int v, int offset );
123441   unsigned short LookupUShort( int u, int v, int offset );
123442   short LookupShort( int u, int v, int offset );
123443   unsigned int LookupUInt( int u, int v, int offset );
123444   int LookupInt( int u, int v, int offset );
123445
123446
123447  private:
123448   unsigned int width;
123449   unsigned int height;
123450   unsigned int dataFormat;
123451   unsigned int textureFormat;
123452   unsigned int type;
123453   unsigned int texId;
123454   unsigned int texelSize;
123455   unsigned int numOfTexels;
123456
123457   unsigned int minFilter;
123458   unsigned int magFilter;
123459
123460   const void* data;
123461
123462  };
123463 }
123464 # 10 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcgvertexshader.h" 2
123465 # 19 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcgvertexshader.h"
123466 namespace Graphics
123467 {
123468  class OpenGLCgVertexShader : public IShader
123469  {
123470  public:
123471   OpenGLCgVertexShader();
123472   ~OpenGLCgVertexShader();
123473
123474   void LoadFromFile(std::string filename);
123475   void LoadFromString(std::string& source);
123476
123477   void Enable();
123478   void Disable();
123479
123480   void SetUniform(std::string const & name, float const v0);
123481   void SetUniform(std::string const & name, float const v0, float const v1);
123482   void SetUniform(std::string const & name, float const v0, float const v1, float const v2);
123483   void SetUniform(std::string const & name, float const v0, float const v1, float const v2, float const v3);
123484
123485
123486   void SetUniform(std::string const & name, Texture2D texture);
123487
123488
123489
123490   void SetModelviewProjectionMatrix( std::string const & name );
123491   void SetModelviewInverseTranspose( std::string const & name );
123492   void SetModelviewInverse( std::string const & name );
123493   void SetModelview( std::string const & name );
123494   void SetTextureMatrix( std::string const & name );
123495
123496   void setFloatArray(std::string const & name, int const size, float const values);
123497
123498  private:
123499
123500   void ChooseProfile();
123501
123502   CGprofile m_profile;
123503   CGprogram m_program;
123504
123505
123506  };
123507 }
123508 # 6 "/home/emanuel/DIKU/3dot/source/render/scene/material.h" 2
123509 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglcgfragmentshader.h" 1
123510 # 7 "/home/emanuel/DIKU/3dot/source/render/scene/material.h" 2
123511
123512 # 1 "/home/emanuel/DIKU/3dot/source/render/scene/shader.h" 1
123513
123514 #define SCENE_SHADER_H 
123515
123516
123517
123518 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/shader.hpp" 1
123519 # 7 "/home/emanuel/DIKU/3dot/source/render/scene/shader.h" 2
123520
123521 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/api.hpp" 1
123522
123523 #define GRAPHICS_API_HEADER_HPP 
123524
123525 # 1 "/home/emanuel/DIKU/3dot/source/render/graphics/opengl/openglapi.h" 1
123526 # 5 "/home/emanuel/DIKU/3dot/source/api/graphics/api.hpp" 2
123527 # 1 "/home/emanuel/DIKU/3dot/source/api/graphics/iapi.hpp" 1
123528 # 6 "/home/emanuel/DIKU/3dot/source/api/graphics/api.hpp" 2
123529
123530
123531
123532
123533 namespace Graphics
123534 {
123535 # 23 "/home/emanuel/DIKU/3dot/source/api/graphics/api.hpp"
123536  class GraphicsAPI
123537  {
123538  private:
123539
123540  public:
123541   static IAPI* getApi( )
123542   {
123543    static IAPI* api = new openglapi();
123544
123545    return api;
123546   }
123547
123548
123549
123550  };
123551 }
123552 # 9 "/home/emanuel/DIKU/3dot/source/render/scene/shader.h" 2
123553
123554
123555 namespace Graphics
123556 {
123557  class Shader : public XMLSerialize::XMLSerializeable
123558  {
123559  public:
123560   void serialize( XMLSerialize::XMLSerializeStream& s_ );
123561   IShader* GetVertexShader();
123562   IShader* GetFragmentShader();
123563
123564  private:
123565   std::string mName;
123566   std::string mVersion;
123567   std::string mLanguage;
123568   std::string mVertexShaderSource;
123569   std::string mFragmentShaderSource;
123570   IShader* mVertexShader;
123571   IShader* mFragmentShader;
123572  };
123573
123574  class ShaderXML : public XMLSerialize::XMLSerializeable
123575  {
123576  public:
123577   void serialize( XMLSerialize::XMLSerializeStream& s_ );
123578   IShader* GetVertexShader();
123579   IShader* GetFragmentShader();
123580  private:
123581
123582   Shader mShader;
123583  };
123584
123585 }
123586 # 9 "/home/emanuel/DIKU/3dot/source/render/scene/material.h" 2
123587
123588 namespace Graphics
123589 {
123590  class Scene;
123591
123592  typedef boost::shared_ptr<ITexture2D> Texture2D;
123593
123594  class Material : public XMLSerialize::XMLSerializeable
123595  {
123596  public:
123597   Material();
123598   Material(Scene* scene);
123599   virtual ~Material(void);
123600
123601   void serialize( XMLSerialize::XMLSerializeStream& s_ );
123602
123603   virtual void Init() = 0;
123604   virtual void Pass() = 0;
123605   virtual bool IsDone() = 0;
123606   virtual void SetScene(Scene* scene);
123607
123608  protected:
123609   Scene* scene;
123610   bool done;
123611  };
123612 }
123613 # 8 "/home/emanuel/DIKU/3dot/source/render/scene/geometry.h" 2
123614
123615
123616 namespace Graphics
123617 {
123618  class Geometry : public Leaf
123619  {
123620  public:
123621   Geometry();
123622   Geometry(std::string name);
123623   ~Geometry(void);
123624   virtual void Draw() = 0;
123625
123626   float mRadius;
123627
123628   void SetMaterial(Material* material);
123629   Material* GetMaterial();
123630   int NumOfVertices();
123631   void SetDrawMode( unsigned int drawMode );
123632
123633   void SetVertexData(unsigned int attribute, boost::shared_ptr< float > vertexData );
123634   void SetVertexData(unsigned int attribute, boost::shared_ptr< std::vector<Math::vec2> > vertexData );
123635   void SetVertexData(unsigned int attribute, boost::shared_ptr< std::vector<Math::vec3> > vertexData );
123636   void SetVertexData(unsigned int attribute, boost::shared_ptr< std::vector<Math::vec4> > vertexData );
123637
123638   void SetIndexBuffer(IndexBuffer indexBuffer);
123639
123640   void SetObjectTM (Math::mat4 m);
123641   Math::mat4 GetObjectTM ( );
123642
123643   void SetWorldTM (Math::mat4 m);
123644   Math::mat4 GetWorldTM ( );
123645
123646   void SetLocalTM (Math::mat4 m);
123647   Math::mat4 GetLocalTM ( );
123648
123649   std::string GetName ();
123650   void SetName (std::string name);
123651
123652  protected:
123653   VertexBuffer resource;
123654   IndexBuffer indexBuffer;
123655   Material* material;
123656   unsigned int drawMode;
123657   Math::mat4 objectTM;
123658   Math::mat4 worldTM;
123659   Math::mat4 localTM;
123660   std::string mName;
123661  };
123662 }
123663 # 5 "/home/emanuel/DIKU/3dot/source/core/entityrepresentation.hpp" 2
123664 # 1 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTIClass.h" 1
123665
123666
123667
123668
123669
123670 #define _RTTICLASS_H 
123671
123672
123673
123674
123675
123676
123677 # 1 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTI.h" 1
123678
123679
123680
123681
123682
123683 #define __RTTI_H__ 
123684
123685
123686
123687
123688 using namespace std;
123689
123690 # 1 "/home/emanuel/DIKU/3dot/source/util/reflection/AbstractProperty.h" 1
123691
123692
123693
123694
123695
123696 #define _ABSTRACT_PROPERTY_H 
123697
123698 # 1 "/home/emanuel/DIKU/3dot/source/util/reflection/PropertyTypes.h" 1
123699
123700
123701
123702
123703
123704 #define _PROPERTY_TYPES_H 
123705
123706
123707
123708
123709 enum ePropertyType
123710 {
123711  eptBOOL,
123712  eptDWORD,
123713  eptINT,
123714  eptFLOAT,
123715  eptSTRING,
123716  eptPTR,
123717  eptMAX_PROPERTY_TYPES,
123718  eptVEC3,
123719  eptQUAT
123720 };
123721 # 32 "/home/emanuel/DIKU/3dot/source/util/reflection/PropertyTypes.h"
123722 template <class T> class CPropertyType
123723 {
123724
123725 public :
123726
123727
123728  static ePropertyType GetTypeID();
123729
123730 private:
123731
123732     static ePropertyType ms_TypeID;
123733
123734 };
123735
123736 template<class T>
123737 ePropertyType CPropertyType<T>::GetTypeID()
123738 {
123739  return ms_TypeID;
123740 }
123741
123742
123743 template<> extern ePropertyType CPropertyType<bool>::ms_TypeID;
123744 template<> extern ePropertyType CPropertyType<int>::ms_TypeID;
123745 template<> extern ePropertyType CPropertyType<float>::ms_TypeID;
123746 template<> extern ePropertyType CPropertyType<std::string>::ms_TypeID;
123747 template<> extern ePropertyType CPropertyType<Math::vec3>::ms_TypeID;
123748 template<> extern ePropertyType CPropertyType<Math::quat>::ms_TypeID;
123749 # 9 "/home/emanuel/DIKU/3dot/source/util/reflection/AbstractProperty.h" 2
123750 # 18 "/home/emanuel/DIKU/3dot/source/util/reflection/AbstractProperty.h"
123751 class CAbstractProperty
123752 {
123753
123754 public:
123755
123756
123757
123758  inline CAbstractProperty( const std::string& szName );
123759
123760
123761
123762  inline const std::string& GetName() const;
123763
123764
123765
123766  virtual ePropertyType GetType() const = 0;
123767
123768 protected :
123769
123770  const std::string m_szName;
123771
123772 };
123773
123774 inline CAbstractProperty::CAbstractProperty( const std::string& szName ) :
123775  m_szName ( szName )
123776 {
123777 }
123778
123779 inline const std::string& CAbstractProperty::GetName() const
123780 {
123781  return m_szName;
123782 }
123783 # 14 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTI.h" 2
123784 # 1 "/usr/include/boost/function.hpp" 1 3 4
123785 # 61 "/usr/include/boost/function.hpp" 3 4
123786 #define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
123787 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
123788 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
123789 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
123790 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
123791 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
123792 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
123793 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123794 #undef BOOST_PP_SLOT_TEMP_1
123795 #undef BOOST_PP_SLOT_TEMP_2
123796 #undef BOOST_PP_SLOT_TEMP_3
123797 #undef BOOST_PP_SLOT_TEMP_4
123798 #undef BOOST_PP_SLOT_TEMP_5
123799 #undef BOOST_PP_SLOT_TEMP_6
123800 #undef BOOST_PP_SLOT_TEMP_7
123801 #undef BOOST_PP_SLOT_TEMP_8
123802 #undef BOOST_PP_SLOT_TEMP_9
123803 #undef BOOST_PP_SLOT_TEMP_10
123804
123805
123806 #define BOOST_PP_SLOT_TEMP_10 0
123807 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123808 #define BOOST_PP_SLOT_TEMP_9 0
123809 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123810 #define BOOST_PP_SLOT_TEMP_8 0
123811 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123812 #define BOOST_PP_SLOT_TEMP_7 0
123813 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123814 #define BOOST_PP_SLOT_TEMP_6 0
123815 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123816 #define BOOST_PP_SLOT_TEMP_5 0
123817 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123818 #define BOOST_PP_SLOT_TEMP_4 0
123819 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123820 #define BOOST_PP_SLOT_TEMP_3 0
123821 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123822 #define BOOST_PP_SLOT_TEMP_2 0
123823 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123824 #define BOOST_PP_SLOT_TEMP_1 0
123825 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123826 #undef BOOST_PP_VALUE
123827 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
123828
123829 #undef BOOST_PP_ITERATION_START_1
123830
123831 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
123832 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
123833 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
123834 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
123835 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
123836 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
123837 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
123838 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
123839 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
123840 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
123841
123842
123843 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
123844 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
123845 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
123846 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
123847 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
123848 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
123849 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
123850 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
123851 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
123852 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
123853 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
123854 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
123855 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123856 #undef BOOST_PP_SLOT_TEMP_1
123857 #undef BOOST_PP_SLOT_TEMP_2
123858 #undef BOOST_PP_SLOT_TEMP_3
123859 #undef BOOST_PP_SLOT_TEMP_4
123860 #undef BOOST_PP_SLOT_TEMP_5
123861 #undef BOOST_PP_SLOT_TEMP_6
123862 #undef BOOST_PP_SLOT_TEMP_7
123863 #undef BOOST_PP_SLOT_TEMP_8
123864 #undef BOOST_PP_SLOT_TEMP_9
123865 #undef BOOST_PP_SLOT_TEMP_10
123866
123867
123868 #define BOOST_PP_SLOT_TEMP_10 0
123869 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123870 #define BOOST_PP_SLOT_TEMP_9 0
123871 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123872 #define BOOST_PP_SLOT_TEMP_8 0
123873 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123874 #define BOOST_PP_SLOT_TEMP_7 0
123875 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123876 #define BOOST_PP_SLOT_TEMP_6 0
123877 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123878 #define BOOST_PP_SLOT_TEMP_5 0
123879 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123880 #define BOOST_PP_SLOT_TEMP_4 0
123881 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123882 #define BOOST_PP_SLOT_TEMP_3 0
123883 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123884 #define BOOST_PP_SLOT_TEMP_2 1
123885 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123886 #define BOOST_PP_SLOT_TEMP_1 0
123887 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
123888 #undef BOOST_PP_VALUE
123889 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
123890
123891 #undef BOOST_PP_ITERATION_FINISH_1
123892
123893 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
123894 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
123895 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
123896 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
123897 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
123898 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
123899 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
123900 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
123901 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
123902 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
123903
123904
123905 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
123906 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
123907 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
123908 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
123909 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
123910 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
123911 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
123912 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
123913 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
123914
123915
123916
123917 #define BOOST_PP_ITERATION_FLAGS_1 0
123918
123919
123920
123921
123922
123923 #undef BOOST_PP_ITERATION_DEPTH
123924 #define BOOST_PP_ITERATION_DEPTH() 1
123925
123926 #define BOOST_PP_IS_ITERATING 1
123927
123928
123929
123930
123931
123932 #define BOOST_PP_ITERATION_1 0
123933 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
123934 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
123935 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
123936 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
123937 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
123938 #undef BOOST_FUNCTION_NUM_ARGS
123939 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
123940 #undef BOOST_PP_ITERATION_1
123941
123942
123943 #define BOOST_PP_ITERATION_1 1
123944 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
123945 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
123946 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
123947 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
123948 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
123949 #undef BOOST_FUNCTION_NUM_ARGS
123950 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
123951 #undef BOOST_PP_ITERATION_1
123952
123953
123954 #define BOOST_PP_ITERATION_1 2
123955 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
123956 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
123957 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
123958 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
123959 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
123960 #undef BOOST_FUNCTION_NUM_ARGS
123961 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
123962 #undef BOOST_PP_ITERATION_1
123963
123964
123965 #define BOOST_PP_ITERATION_1 3
123966 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
123967 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
123968 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
123969 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
123970 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
123971 #undef BOOST_FUNCTION_NUM_ARGS
123972 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
123973 #undef BOOST_PP_ITERATION_1
123974
123975
123976 #define BOOST_PP_ITERATION_1 4
123977 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
123978 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
123979 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
123980 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
123981 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
123982 #undef BOOST_FUNCTION_NUM_ARGS
123983 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
123984 #undef BOOST_PP_ITERATION_1
123985
123986
123987 #define BOOST_PP_ITERATION_1 5
123988 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
123989 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
123990 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
123991 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
123992 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
123993 #undef BOOST_FUNCTION_NUM_ARGS
123994 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
123995 #undef BOOST_PP_ITERATION_1
123996
123997
123998 #define BOOST_PP_ITERATION_1 6
123999 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124000 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124001 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124002 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124003 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124004 #undef BOOST_FUNCTION_NUM_ARGS
124005 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124006 #undef BOOST_PP_ITERATION_1
124007
124008
124009 #define BOOST_PP_ITERATION_1 7
124010 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124011 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124012 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124013 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124014 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124015 #undef BOOST_FUNCTION_NUM_ARGS
124016 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124017 #undef BOOST_PP_ITERATION_1
124018
124019
124020 #define BOOST_PP_ITERATION_1 8
124021 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124022 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124023 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124024 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124025 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124026 #undef BOOST_FUNCTION_NUM_ARGS
124027 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124028 #undef BOOST_PP_ITERATION_1
124029
124030
124031 #define BOOST_PP_ITERATION_1 9
124032 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124033 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124034 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124035 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124036 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124037 #undef BOOST_FUNCTION_NUM_ARGS
124038 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124039 #undef BOOST_PP_ITERATION_1
124040
124041
124042 #define BOOST_PP_ITERATION_1 10
124043 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124044 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124045 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124046 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124047 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124048 #undef BOOST_FUNCTION_NUM_ARGS
124049 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124050 #undef BOOST_PP_ITERATION_1
124051 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
124052 #undef BOOST_PP_IS_ITERATING
124053
124054 #undef BOOST_PP_ITERATION_DEPTH
124055 #define BOOST_PP_ITERATION_DEPTH() 0
124056
124057 #undef BOOST_PP_ITERATION_START_1
124058 #undef BOOST_PP_ITERATION_FINISH_1
124059 #undef BOOST_PP_FILENAME_1
124060
124061 #undef BOOST_PP_ITERATION_FLAGS_1
124062 #undef BOOST_PP_ITERATION_PARAMS_1
124063 # 63 "/usr/include/boost/function.hpp" 2 3 4
124064 #undef BOOST_PP_ITERATION_PARAMS_1
124065 # 15 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTI.h" 2
124066
124067 class CBaseObject;
124068 class CRTTI;
124069
124070
124071
124072 typedef long ClassID;
124073 typedef boost::function< void( void ** ) > ClassFactoryFunc;
124074 typedef bool (*RegisterReflectionFunc)( ClassID );
124075
124076
124077 const long CLASSNAME_LENGTH = 32;
124078 # 36 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTI.h"
124079 class CRTTI
124080 {
124081
124082 public:
124083 # 54 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTI.h"
124084  CRTTI( long dwStub, ClassID CLID, const std::string& szClassName, CRTTI* pBaseClassRTTI,
124085    ClassFactoryFunc pFactory, RegisterReflectionFunc pReflectionFunc );
124086
124087
124088
124089  void EnumProperties( vector<CAbstractProperty*>& o_Result );
124090
124091
124092
124093  inline bool IsTypeOf( ClassID CLID );
124094
124095
124096  inline bool IsDerivedFrom( ClassID CLID );
124097
124098
124099
124100  inline CRTTI* GetAncestorRTTI();
124101
124102
124103
124104  inline ClassID GetCLID();
124105
124106
124107
124108  inline const std::string& GetClassName();
124109
124110
124111
124112  inline ClassFactoryFunc GetClassFactory();
124113
124114
124115
124116
124117  inline list<CAbstractProperty*>::iterator GetFirstProperty();
124118  inline list<CAbstractProperty*>::iterator GetLastProperty();
124119  inline list<CAbstractProperty*>* GetProperties();
124120
124121 private:
124122
124123
124124  ClassID m_CLID;
124125  std::string m_szClassName;
124126  CRTTI* m_pBaseRTTI;
124127  ClassFactoryFunc m_pObjectFactory;
124128  list<CAbstractProperty*> m_Properties;
124129
124130 };
124131
124132 inline CRTTI* CRTTI::GetAncestorRTTI()
124133 {
124134  return m_pBaseRTTI;
124135 }
124136
124137 inline ClassFactoryFunc CRTTI::GetClassFactory()
124138 {
124139  return m_pObjectFactory;
124140 }
124141
124142 inline const std::string& CRTTI::GetClassName()
124143 {
124144  return m_szClassName;
124145 }
124146
124147 inline ClassID CRTTI::GetCLID()
124148 {
124149  return m_CLID;
124150 }
124151
124152 inline list<CAbstractProperty*>::iterator CRTTI::GetFirstProperty()
124153 {
124154  return m_Properties.begin();
124155 }
124156
124157 inline list<CAbstractProperty*>* CRTTI::GetProperties()
124158 {
124159  return &m_Properties;
124160 }
124161
124162 inline bool CRTTI::IsDerivedFrom( ClassID CLID )
124163 {
124164  if( m_CLID == CLID )
124165   return true;
124166  else if( m_pBaseRTTI )
124167   return m_pBaseRTTI->IsDerivedFrom( CLID );
124168
124169  return false;
124170 }
124171
124172 inline bool CRTTI::IsTypeOf( ClassID CLID )
124173 {
124174  return m_CLID == CLID;
124175 }
124176
124177 inline list<CAbstractProperty*>::iterator CRTTI::GetLastProperty()
124178 {
124179  return m_Properties.end();
124180 }
124181 # 14 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTIClass.h" 2
124182 # 1 "/home/emanuel/DIKU/3dot/source/util/reflection/Property.h" 1
124183
124184
124185
124186
124187
124188 #define _PROPERTY_H 
124189
124190 # 1 "/home/emanuel/DIKU/3dot/source/util/reflection/TypedProperty.h" 1
124191
124192
124193
124194
124195
124196 #define _TYPED_PROPERTY_H 
124197
124198
124199
124200 class CBaseObject;
124201 # 21 "/home/emanuel/DIKU/3dot/source/util/reflection/TypedProperty.h"
124202 template <class T> class CTypedProperty: public CAbstractProperty
124203 {
124204
124205 public:
124206
124207
124208
124209  inline CTypedProperty( const std::string& szName );
124210
124211
124212
124213  virtual ePropertyType GetType() const;
124214
124215
124216
124217  virtual T GetValue( CBaseObject* pObject ) = 0;
124218  virtual void SetValue( CBaseObject* pObject, T Value ) = 0;
124219 };
124220
124221 template <class T>
124222 inline CTypedProperty<T>::CTypedProperty( const std::string& szName ) :
124223  CAbstractProperty( szName )
124224 {
124225 }
124226
124227 template <class T>
124228 ePropertyType CTypedProperty<T>::GetType() const
124229 {
124230  return CPropertyType<T>::GetTypeID();
124231 }
124232 # 9 "/home/emanuel/DIKU/3dot/source/util/reflection/Property.h" 2
124233 # 1 "/usr/include/assert.h" 1 3 4
124234 # 25 "/usr/include/assert.h" 3 4
124235 #undef _ASSERT_H
124236 #undef assert
124237 #undef __ASSERT_VOID_CAST
124238
124239
124240 #undef assert_perror
124241
124242
124243
124244
124245 #define _ASSERT_H 1
124246
124247
124248
124249 #define __ASSERT_VOID_CAST static_cast<void>
124250 # 65 "/usr/include/assert.h" 3 4
124251 extern "C" {
124252
124253
124254 extern void __assert_fail (__const char *__assertion, __const char *__file,
124255       unsigned int __line, __const char *__function)
124256      throw () __attribute__ ((__noreturn__));
124257
124258
124259 extern void __assert_perror_fail (int __errnum, __const char *__file,
124260       unsigned int __line,
124261       __const char *__function)
124262      throw () __attribute__ ((__noreturn__));
124263
124264
124265
124266
124267 extern void __assert (const char *__assertion, const char *__file, int __line)
124268      throw () __attribute__ ((__noreturn__));
124269
124270
124271 }
124272
124273 #define assert(expr) (__ASSERT_VOID_CAST ((expr) ? 0 : (__assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
124274
124275
124276
124277
124278
124279 #define assert_perror(errnum) (__ASSERT_VOID_CAST (!(errnum) ? 0 : (__assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
124280 # 105 "/usr/include/assert.h" 3 4
124281 #define __ASSERT_FUNCTION __PRETTY_FUNCTION__
124282 # 10 "/home/emanuel/DIKU/3dot/source/util/reflection/Property.h" 2
124283 # 23 "/home/emanuel/DIKU/3dot/source/util/reflection/Property.h"
124284 template <class OwnerType, class T> class CProperty : public CTypedProperty<T>
124285 {
124286
124287 public:
124288
124289
124290  typedef T (OwnerType::*GetterType)();
124291  typedef void (OwnerType::*SetterType)( T Value );
124292
124293
124294
124295  inline CProperty( const std::string& szName, GetterType Getter, SetterType Setter );
124296
124297
124298
124299  virtual T GetValue( CBaseObject* pObject );
124300  virtual void SetValue( CBaseObject* pObject, T Value );
124301
124302 protected:
124303
124304     GetterType m_Getter;
124305     SetterType m_Setter;
124306
124307 };
124308
124309 template <class OwnerType, class T>
124310 inline CProperty<OwnerType, T>::CProperty( const std::string& szName, GetterType Getter, SetterType Setter ) :
124311  CTypedProperty<T> ( szName ),
124312  m_Getter ( Getter ),
124313  m_Setter ( Setter )
124314 {
124315 }
124316
124317 template <class OwnerType, class T>
124318 T CProperty<OwnerType, T>::GetValue( CBaseObject* pOwner )
124319 {
124320  return (((OwnerType*)pOwner)->*m_Getter)();
124321 }
124322
124323 template <class OwnerType, class T>
124324 void CProperty<OwnerType, T>::SetValue(CBaseObject* pOwner, T Value )
124325 {
124326  if ( !m_Setter)
124327  {
124328   (static_cast<void> ((false) ? 0 : (__assert_fail ("false", "/home/emanuel/DIKU/3dot/source/util/reflection/Property.h", 67, __PRETTY_FUNCTION__), 0)));
124329   return;
124330  }
124331  (((OwnerType*)pOwner)->*m_Setter)( Value );
124332 }
124333 # 15 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTIClass.h" 2
124334 # 1 "/home/emanuel/DIKU/3dot/source/util/reflection/PropertySystem.h" 1
124335
124336
124337
124338
124339
124340 #define _PROPERTY_SYSTEM_H 
124341
124342
124343 # 1 "/home/emanuel/DIKU/3dot/source/util/reflection/Property.h" 1
124344 # 10 "/home/emanuel/DIKU/3dot/source/util/reflection/PropertySystem.h" 2
124345
124346 using namespace std;
124347 # 21 "/home/emanuel/DIKU/3dot/source/util/reflection/PropertySystem.h"
124348 class CPropertySystem
124349 {
124350
124351 public :
124352
124353
124354
124355  CPropertySystem();
124356
124357
124358  virtual ~CPropertySystem();
124359
124360
124361
124362  inline static list<CAbstractProperty*>* GetProperties();
124363
124364 private :
124365
124366  static list<CAbstractProperty*>& ms_Properties();
124367
124368 };
124369
124370 inline list<CAbstractProperty*>* CPropertySystem::GetProperties()
124371 {
124372  return &ms_Properties();
124373 }
124374 # 16 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTIClass.h" 2
124375 # 1 "/usr/include/boost/type_traits/is_abstract.hpp" 1 3 4
124376 # 17 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTIClass.h" 2
124377 # 32 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTIClass.h"
124378 template <class T, class BaseClass, ClassID CLID> class CRTTIClass : public BaseClass
124379 {
124380
124381 public:
124382
124383  static const ClassID ClassCLID = CLID;
124384
124385
124386
124387  CRTTIClass() ;
124388
124389
124390
124391
124392  static T* Create();
124393  static void CreateVoid( void** );
124394
124395
124396
124397
124398  static void RegisterReflection();
124399
124400
124401
124402
124403  template <class PropertyType>
124404   static void RegisterProperty( CAbstractProperty* pProperty )
124405
124406
124407  {
124408
124409   T::GetClassRTTI()->GetProperties()->push_back( pProperty );
124410   CPropertySystem::GetProperties()->push_back( pProperty );
124411  }
124412
124413
124414  template <class PropertyType>
124415   static void RegisterCProperty( const std::string szName, typename CProperty<T, PropertyType>::GetterType Getter, typename CProperty<T, PropertyType>::SetterType Setter )
124416  {
124417   CProperty<T, PropertyType>* pProperty = new CProperty<T, PropertyType>( szName, Getter, Setter );
124418   T::GetClassRTTI()->GetProperties()->push_back( pProperty );
124419   CPropertySystem::GetProperties()->push_back( pProperty );
124420  }
124421
124422
124423
124424
124425  static inline CRTTI* GetClassRTTI()
124426  {
124427   return &ms_RTTI;
124428  }
124429
124430
124431
124432  virtual CRTTI* GetRTTI()
124433  {
124434   return &ms_RTTI;
124435  }
124436
124437 protected :
124438
124439  static CRTTI ms_RTTI;
124440  static T* CreateInstance( boost::false_type );
124441  static T* CreateInstance( boost::true_type ){
124442   (static_cast<void> ((false) ? 0 : (__assert_fail ("false", "/home/emanuel/DIKU/3dot/source/util/reflection/RTTIClass.h", 96, __PRETTY_FUNCTION__), 0)));
124443   return 0;
124444  }
124445
124446
124447 };
124448
124449
124450 template <class T, class BaseClass, ClassID CLID> CRTTI CRTTIClass<T, BaseClass, CLID>::ms_RTTI
124451 ( 0, CLID, typeid(T).name(), BaseClass::GetClassRTTI(), boost::bind( &T::CreateVoid , _1 ) ,
124452  (RegisterReflectionFunc)T::RegisterReflection );
124453
124454 template <class T, class BaseClass, ClassID CLID>
124455 CRTTIClass<T, BaseClass, CLID>::CRTTIClass( )
124456 {
124457 }
124458
124459 template <class T, class BaseClass, ClassID CLID>
124460 T* CRTTIClass<T, BaseClass, CLID>::CreateInstance( boost::false_type ){
124461  return new T( );
124462 }
124463
124464
124465 template <class T, class BaseClass, ClassID CLID>
124466 T* CRTTIClass<T, BaseClass, CLID>::Create( )
124467 {
124468  return CreateInstance( boost::is_abstract<T>() );
124469 }
124470
124471  template <class T, class BaseClass, ClassID CLID>
124472   void CRTTIClass<T, BaseClass, CLID>::CreateVoid( void** ptr_ ){
124473    *ptr_ = reinterpret_cast<void*>(Create());
124474   }
124475
124476
124477 template <class T, class BaseClass, ClassID CLID>
124478 void CRTTIClass<T, BaseClass, CLID>::RegisterReflection()
124479 {
124480 }
124481 # 6 "/home/emanuel/DIKU/3dot/source/core/entityrepresentation.hpp" 2
124482 # 1 "/home/emanuel/DIKU/3dot/source/util/reflection/BaseObject.h" 1
124483
124484
124485
124486
124487
124488 #define _BASEOBJECT_H_ 
124489
124490 # 1 "/home/emanuel/DIKU/3dot/source/util/reflection/RTTIClass.h" 1
124491 # 9 "/home/emanuel/DIKU/3dot/source/util/reflection/BaseObject.h" 2
124492 # 1 "/usr/include/boost/function.hpp" 1 3 4
124493 # 61 "/usr/include/boost/function.hpp" 3 4
124494 #define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
124495 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
124496 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
124497 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
124498 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
124499 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
124500 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
124501 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124502 #undef BOOST_PP_SLOT_TEMP_1
124503 #undef BOOST_PP_SLOT_TEMP_2
124504 #undef BOOST_PP_SLOT_TEMP_3
124505 #undef BOOST_PP_SLOT_TEMP_4
124506 #undef BOOST_PP_SLOT_TEMP_5
124507 #undef BOOST_PP_SLOT_TEMP_6
124508 #undef BOOST_PP_SLOT_TEMP_7
124509 #undef BOOST_PP_SLOT_TEMP_8
124510 #undef BOOST_PP_SLOT_TEMP_9
124511 #undef BOOST_PP_SLOT_TEMP_10
124512
124513
124514 #define BOOST_PP_SLOT_TEMP_10 0
124515 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124516 #define BOOST_PP_SLOT_TEMP_9 0
124517 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124518 #define BOOST_PP_SLOT_TEMP_8 0
124519 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124520 #define BOOST_PP_SLOT_TEMP_7 0
124521 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124522 #define BOOST_PP_SLOT_TEMP_6 0
124523 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124524 #define BOOST_PP_SLOT_TEMP_5 0
124525 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124526 #define BOOST_PP_SLOT_TEMP_4 0
124527 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124528 #define BOOST_PP_SLOT_TEMP_3 0
124529 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124530 #define BOOST_PP_SLOT_TEMP_2 0
124531 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124532 #define BOOST_PP_SLOT_TEMP_1 0
124533 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124534 #undef BOOST_PP_VALUE
124535 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
124536
124537 #undef BOOST_PP_ITERATION_START_1
124538
124539 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
124540 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
124541 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
124542 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
124543 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
124544 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
124545 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
124546 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
124547 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
124548 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
124549
124550
124551 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
124552 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
124553 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
124554 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
124555 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
124556 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
124557 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
124558 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124559 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
124560 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
124561 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
124562 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
124563 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124564 #undef BOOST_PP_SLOT_TEMP_1
124565 #undef BOOST_PP_SLOT_TEMP_2
124566 #undef BOOST_PP_SLOT_TEMP_3
124567 #undef BOOST_PP_SLOT_TEMP_4
124568 #undef BOOST_PP_SLOT_TEMP_5
124569 #undef BOOST_PP_SLOT_TEMP_6
124570 #undef BOOST_PP_SLOT_TEMP_7
124571 #undef BOOST_PP_SLOT_TEMP_8
124572 #undef BOOST_PP_SLOT_TEMP_9
124573 #undef BOOST_PP_SLOT_TEMP_10
124574
124575
124576 #define BOOST_PP_SLOT_TEMP_10 0
124577 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124578 #define BOOST_PP_SLOT_TEMP_9 0
124579 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124580 #define BOOST_PP_SLOT_TEMP_8 0
124581 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124582 #define BOOST_PP_SLOT_TEMP_7 0
124583 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124584 #define BOOST_PP_SLOT_TEMP_6 0
124585 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124586 #define BOOST_PP_SLOT_TEMP_5 0
124587 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124588 #define BOOST_PP_SLOT_TEMP_4 0
124589 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124590 #define BOOST_PP_SLOT_TEMP_3 0
124591 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124592 #define BOOST_PP_SLOT_TEMP_2 1
124593 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124594 #define BOOST_PP_SLOT_TEMP_1 0
124595 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124596 #undef BOOST_PP_VALUE
124597 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
124598
124599 #undef BOOST_PP_ITERATION_FINISH_1
124600
124601 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
124602 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
124603 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
124604 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
124605 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
124606 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
124607 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
124608 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
124609 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
124610 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
124611
124612
124613 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
124614 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
124615 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
124616 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
124617 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
124618 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
124619 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
124620 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124621 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
124622
124623
124624
124625 #define BOOST_PP_ITERATION_FLAGS_1 0
124626
124627
124628
124629
124630
124631 #undef BOOST_PP_ITERATION_DEPTH
124632 #define BOOST_PP_ITERATION_DEPTH() 1
124633
124634 #define BOOST_PP_IS_ITERATING 1
124635
124636
124637
124638
124639
124640 #define BOOST_PP_ITERATION_1 0
124641 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124642 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124643 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124644 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124645 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124646 #undef BOOST_FUNCTION_NUM_ARGS
124647 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124648 #undef BOOST_PP_ITERATION_1
124649
124650
124651 #define BOOST_PP_ITERATION_1 1
124652 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124653 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124654 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124655 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124656 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124657 #undef BOOST_FUNCTION_NUM_ARGS
124658 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124659 #undef BOOST_PP_ITERATION_1
124660
124661
124662 #define BOOST_PP_ITERATION_1 2
124663 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124664 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124665 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124666 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124667 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124668 #undef BOOST_FUNCTION_NUM_ARGS
124669 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124670 #undef BOOST_PP_ITERATION_1
124671
124672
124673 #define BOOST_PP_ITERATION_1 3
124674 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124675 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124676 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124677 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124678 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124679 #undef BOOST_FUNCTION_NUM_ARGS
124680 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124681 #undef BOOST_PP_ITERATION_1
124682
124683
124684 #define BOOST_PP_ITERATION_1 4
124685 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124686 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124687 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124688 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124689 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124690 #undef BOOST_FUNCTION_NUM_ARGS
124691 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124692 #undef BOOST_PP_ITERATION_1
124693
124694
124695 #define BOOST_PP_ITERATION_1 5
124696 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124697 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124698 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124699 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124700 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124701 #undef BOOST_FUNCTION_NUM_ARGS
124702 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124703 #undef BOOST_PP_ITERATION_1
124704
124705
124706 #define BOOST_PP_ITERATION_1 6
124707 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124708 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124709 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124710 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124711 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124712 #undef BOOST_FUNCTION_NUM_ARGS
124713 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124714 #undef BOOST_PP_ITERATION_1
124715
124716
124717 #define BOOST_PP_ITERATION_1 7
124718 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124719 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124720 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124721 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124722 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124723 #undef BOOST_FUNCTION_NUM_ARGS
124724 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124725 #undef BOOST_PP_ITERATION_1
124726
124727
124728 #define BOOST_PP_ITERATION_1 8
124729 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124730 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124731 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124732 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124733 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124734 #undef BOOST_FUNCTION_NUM_ARGS
124735 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124736 #undef BOOST_PP_ITERATION_1
124737
124738
124739 #define BOOST_PP_ITERATION_1 9
124740 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124741 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124742 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124743 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124744 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124745 #undef BOOST_FUNCTION_NUM_ARGS
124746 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124747 #undef BOOST_PP_ITERATION_1
124748
124749
124750 #define BOOST_PP_ITERATION_1 10
124751 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
124752 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
124753 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
124754 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
124755 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
124756 #undef BOOST_FUNCTION_NUM_ARGS
124757 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124758 #undef BOOST_PP_ITERATION_1
124759 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
124760 #undef BOOST_PP_IS_ITERATING
124761
124762 #undef BOOST_PP_ITERATION_DEPTH
124763 #define BOOST_PP_ITERATION_DEPTH() 0
124764
124765 #undef BOOST_PP_ITERATION_START_1
124766 #undef BOOST_PP_ITERATION_FINISH_1
124767 #undef BOOST_PP_FILENAME_1
124768
124769 #undef BOOST_PP_ITERATION_FLAGS_1
124770 #undef BOOST_PP_ITERATION_PARAMS_1
124771 # 63 "/usr/include/boost/function.hpp" 2 3 4
124772 #undef BOOST_PP_ITERATION_PARAMS_1
124773 # 10 "/home/emanuel/DIKU/3dot/source/util/reflection/BaseObject.h" 2
124774 # 22 "/home/emanuel/DIKU/3dot/source/util/reflection/BaseObject.h"
124775 class CNullClass
124776 {
124777 protected :
124778
124779
124780
124781  static inline CRTTI* GetClassRTTI() { return __null; };
124782
124783 };
124784 # 42 "/home/emanuel/DIKU/3dot/source/util/reflection/BaseObject.h"
124785 class CBaseObject : public CRTTIClass<CBaseObject, CNullClass, 0x1622afe>
124786 {
124787 public:
124788  CBaseObject(){
124789   if( mCb ) (*mCb)(this);
124790  }
124791  static boost::function<void(CBaseObject*)>* mCb;
124792 };
124793 # 7 "/home/emanuel/DIKU/3dot/source/core/entityrepresentation.hpp" 2
124794
124795
124796 namespace Core {
124797
124798  class IEntityRepresentation : public CRTTIClass<IEntityRepresentation, CBaseObject, 0x87aeda90>
124799  {
124800  public:
124801   static void RegisterReflection();
124802   int GetId();
124803   void SetId( int id );
124804  };
124805
124806  class MeshNode
124807  {
124808
124809  public:
124810   MeshNode( Graphics::Node* node_ ) : mNode( node_ ){
124811    (static_cast<void> ((mNode) ? 0 : (__assert_fail ("mNode", "/home/emanuel/DIKU/3dot/source/core/entityrepresentation.hpp", 24, __PRETTY_FUNCTION__), 0)));
124812   }
124813
124814
124815   void SetPosition( const Math::vec3& pos_ );
124816 # 37 "/home/emanuel/DIKU/3dot/source/core/entityrepresentation.hpp"
124817   void Orient( const Math::quat& rot_ );
124818
124819  private:
124820   Graphics::Node* mNode;
124821
124822  };
124823
124824  class IEntityMeshRepresentation : public CRTTIClass<IEntityMeshRepresentation, IEntityRepresentation , 0x073eda90>
124825  {
124826
124827  public:
124828   virtual ~IEntityMeshRepresentation(){}
124829
124830   IEntityMeshRepresentation( ) : mResourceId(-1) , mResourceName(""), mRoot("") , mType("") , mNode(0) {}
124831   std::string GetResourceName();
124832   void SetResourceName( std::string name_ );
124833   std::string GetType();
124834   void SetType( std::string name_ );
124835
124836   MeshNode GetNode( const std::string& name_ );
124837
124838   static void RegisterReflection( ClassID id_ );
124839
124840   int mResourceId;
124841
124842   virtual void LoadResource();
124843  private:
124844
124845
124846
124847   std::string mResourceName;
124848   std::string mRoot;
124849   std::string mType;
124850   Graphics::Node* mNode;
124851
124852
124853
124854
124855  };
124856
124857  class IEntityBox : public CRTTIClass<IEntityBox, IEntityMeshRepresentation , 0xa0000019>
124858  {
124859  public:
124860   IEntityBox() : mWidth( 1.0f ), mHeight( 1.0f ) , mLength( 1.0f ) , mMyLoad( false ) {}
124861   virtual ~IEntityBox(){}
124862
124863   float GetWidth(){ return mWidth; }
124864   float GetHeight(){ return mHeight; }
124865   float GetLength(){ return mLength; }
124866   void SetWidth( float in_ ){ mWidth = in_; }
124867   void SetHeigth( float in_ ){ mHeight = in_; }
124868   void SetLength( float in_ );
124869
124870   static void RegisterReflection( ClassID id_ );
124871
124872   virtual void LoadResource();
124873  private:
124874
124875
124876   float mWidth, mHeight, mLength;
124877   bool mMyLoad;
124878
124879  };
124880
124881 }
124882 # 5 "/home/emanuel/DIKU/3dot/source/core/entity.hpp" 2
124883 # 1 "/home/emanuel/DIKU/3dot/source/core/entitymanager.hpp" 1
124884
124885 #define ENTITY_ENTITYMANAGER_HPP 
124886 # 15 "/home/emanuel/DIKU/3dot/source/core/entitymanager.hpp"
124887 # 1 "/home/emanuel/DIKU/3dot/source/core/coreforward.hpp" 1
124888
124889 #define CORE_COREFORWARD_HPP 
124890
124891 # 1 "/usr/include/boost/function.hpp" 1 3 4
124892 # 61 "/usr/include/boost/function.hpp" 3 4
124893 #define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
124894 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
124895 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
124896 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
124897 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
124898 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
124899 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
124900 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124901 #undef BOOST_PP_SLOT_TEMP_1
124902 #undef BOOST_PP_SLOT_TEMP_2
124903 #undef BOOST_PP_SLOT_TEMP_3
124904 #undef BOOST_PP_SLOT_TEMP_4
124905 #undef BOOST_PP_SLOT_TEMP_5
124906 #undef BOOST_PP_SLOT_TEMP_6
124907 #undef BOOST_PP_SLOT_TEMP_7
124908 #undef BOOST_PP_SLOT_TEMP_8
124909 #undef BOOST_PP_SLOT_TEMP_9
124910 #undef BOOST_PP_SLOT_TEMP_10
124911
124912
124913 #define BOOST_PP_SLOT_TEMP_10 0
124914 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124915 #define BOOST_PP_SLOT_TEMP_9 0
124916 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124917 #define BOOST_PP_SLOT_TEMP_8 0
124918 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124919 #define BOOST_PP_SLOT_TEMP_7 0
124920 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124921 #define BOOST_PP_SLOT_TEMP_6 0
124922 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124923 #define BOOST_PP_SLOT_TEMP_5 0
124924 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124925 #define BOOST_PP_SLOT_TEMP_4 0
124926 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124927 #define BOOST_PP_SLOT_TEMP_3 0
124928 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124929 #define BOOST_PP_SLOT_TEMP_2 0
124930 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124931 #define BOOST_PP_SLOT_TEMP_1 0
124932 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124933 #undef BOOST_PP_VALUE
124934 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
124935
124936 #undef BOOST_PP_ITERATION_START_1
124937
124938 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
124939 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
124940 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
124941 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
124942 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
124943 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
124944 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
124945 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
124946 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
124947 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
124948
124949
124950 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
124951 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
124952 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
124953 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
124954 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
124955 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
124956 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
124957 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
124958 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
124959 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
124960 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
124961 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
124962 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124963 #undef BOOST_PP_SLOT_TEMP_1
124964 #undef BOOST_PP_SLOT_TEMP_2
124965 #undef BOOST_PP_SLOT_TEMP_3
124966 #undef BOOST_PP_SLOT_TEMP_4
124967 #undef BOOST_PP_SLOT_TEMP_5
124968 #undef BOOST_PP_SLOT_TEMP_6
124969 #undef BOOST_PP_SLOT_TEMP_7
124970 #undef BOOST_PP_SLOT_TEMP_8
124971 #undef BOOST_PP_SLOT_TEMP_9
124972 #undef BOOST_PP_SLOT_TEMP_10
124973
124974
124975 #define BOOST_PP_SLOT_TEMP_10 0
124976 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124977 #define BOOST_PP_SLOT_TEMP_9 0
124978 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124979 #define BOOST_PP_SLOT_TEMP_8 0
124980 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124981 #define BOOST_PP_SLOT_TEMP_7 0
124982 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124983 #define BOOST_PP_SLOT_TEMP_6 0
124984 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124985 #define BOOST_PP_SLOT_TEMP_5 0
124986 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124987 #define BOOST_PP_SLOT_TEMP_4 0
124988 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124989 #define BOOST_PP_SLOT_TEMP_3 0
124990 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124991 #define BOOST_PP_SLOT_TEMP_2 1
124992 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124993 #define BOOST_PP_SLOT_TEMP_1 0
124994 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
124995 #undef BOOST_PP_VALUE
124996 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
124997
124998 #undef BOOST_PP_ITERATION_FINISH_1
124999
125000 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
125001 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
125002 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
125003 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
125004 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
125005 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
125006 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
125007 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
125008 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
125009 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
125010
125011
125012 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
125013 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
125014 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
125015 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
125016 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
125017 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
125018 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
125019 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125020 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
125021
125022
125023
125024 #define BOOST_PP_ITERATION_FLAGS_1 0
125025
125026
125027
125028
125029
125030 #undef BOOST_PP_ITERATION_DEPTH
125031 #define BOOST_PP_ITERATION_DEPTH() 1
125032
125033 #define BOOST_PP_IS_ITERATING 1
125034
125035
125036
125037
125038
125039 #define BOOST_PP_ITERATION_1 0
125040 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125041 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125042 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125043 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125044 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125045 #undef BOOST_FUNCTION_NUM_ARGS
125046 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125047 #undef BOOST_PP_ITERATION_1
125048
125049
125050 #define BOOST_PP_ITERATION_1 1
125051 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125052 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125053 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125054 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125055 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125056 #undef BOOST_FUNCTION_NUM_ARGS
125057 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125058 #undef BOOST_PP_ITERATION_1
125059
125060
125061 #define BOOST_PP_ITERATION_1 2
125062 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125063 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125064 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125065 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125066 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125067 #undef BOOST_FUNCTION_NUM_ARGS
125068 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125069 #undef BOOST_PP_ITERATION_1
125070
125071
125072 #define BOOST_PP_ITERATION_1 3
125073 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125074 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125075 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125076 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125077 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125078 #undef BOOST_FUNCTION_NUM_ARGS
125079 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125080 #undef BOOST_PP_ITERATION_1
125081
125082
125083 #define BOOST_PP_ITERATION_1 4
125084 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125085 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125086 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125087 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125088 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125089 #undef BOOST_FUNCTION_NUM_ARGS
125090 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125091 #undef BOOST_PP_ITERATION_1
125092
125093
125094 #define BOOST_PP_ITERATION_1 5
125095 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125096 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125097 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125098 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125099 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125100 #undef BOOST_FUNCTION_NUM_ARGS
125101 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125102 #undef BOOST_PP_ITERATION_1
125103
125104
125105 #define BOOST_PP_ITERATION_1 6
125106 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125107 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125108 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125109 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125110 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125111 #undef BOOST_FUNCTION_NUM_ARGS
125112 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125113 #undef BOOST_PP_ITERATION_1
125114
125115
125116 #define BOOST_PP_ITERATION_1 7
125117 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125118 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125119 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125120 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125121 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125122 #undef BOOST_FUNCTION_NUM_ARGS
125123 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125124 #undef BOOST_PP_ITERATION_1
125125
125126
125127 #define BOOST_PP_ITERATION_1 8
125128 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125129 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125130 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125131 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125132 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125133 #undef BOOST_FUNCTION_NUM_ARGS
125134 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125135 #undef BOOST_PP_ITERATION_1
125136
125137
125138 #define BOOST_PP_ITERATION_1 9
125139 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125140 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125141 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125142 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125143 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125144 #undef BOOST_FUNCTION_NUM_ARGS
125145 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125146 #undef BOOST_PP_ITERATION_1
125147
125148
125149 #define BOOST_PP_ITERATION_1 10
125150 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125151 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125152 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125153 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125154 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125155 #undef BOOST_FUNCTION_NUM_ARGS
125156 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125157 #undef BOOST_PP_ITERATION_1
125158 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
125159 #undef BOOST_PP_IS_ITERATING
125160
125161 #undef BOOST_PP_ITERATION_DEPTH
125162 #define BOOST_PP_ITERATION_DEPTH() 0
125163
125164 #undef BOOST_PP_ITERATION_START_1
125165 #undef BOOST_PP_ITERATION_FINISH_1
125166 #undef BOOST_PP_FILENAME_1
125167
125168 #undef BOOST_PP_ITERATION_FLAGS_1
125169 #undef BOOST_PP_ITERATION_PARAMS_1
125170 # 63 "/usr/include/boost/function.hpp" 2 3 4
125171 #undef BOOST_PP_ITERATION_PARAMS_1
125172 # 5 "/home/emanuel/DIKU/3dot/source/core/coreforward.hpp" 2
125173
125174 namespace Core {
125175
125176  class IEntityRepresentation;
125177  class IGameView;
125178  class IEntity;
125179  class SimpleView;
125180  class RepresentationManager;
125181  class EntityManager;
125182  typedef const boost::function<bool(IEntity*)> EntityFilter;
125183
125184 }
125185 # 16 "/home/emanuel/DIKU/3dot/source/core/entitymanager.hpp" 2
125186 # 1 "/usr/include/boost/function.hpp" 1 3 4
125187 # 61 "/usr/include/boost/function.hpp" 3 4
125188 #define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
125189 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
125190 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
125191 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
125192 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
125193 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
125194 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
125195 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125196 #undef BOOST_PP_SLOT_TEMP_1
125197 #undef BOOST_PP_SLOT_TEMP_2
125198 #undef BOOST_PP_SLOT_TEMP_3
125199 #undef BOOST_PP_SLOT_TEMP_4
125200 #undef BOOST_PP_SLOT_TEMP_5
125201 #undef BOOST_PP_SLOT_TEMP_6
125202 #undef BOOST_PP_SLOT_TEMP_7
125203 #undef BOOST_PP_SLOT_TEMP_8
125204 #undef BOOST_PP_SLOT_TEMP_9
125205 #undef BOOST_PP_SLOT_TEMP_10
125206
125207
125208 #define BOOST_PP_SLOT_TEMP_10 0
125209 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125210 #define BOOST_PP_SLOT_TEMP_9 0
125211 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125212 #define BOOST_PP_SLOT_TEMP_8 0
125213 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125214 #define BOOST_PP_SLOT_TEMP_7 0
125215 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125216 #define BOOST_PP_SLOT_TEMP_6 0
125217 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125218 #define BOOST_PP_SLOT_TEMP_5 0
125219 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125220 #define BOOST_PP_SLOT_TEMP_4 0
125221 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125222 #define BOOST_PP_SLOT_TEMP_3 0
125223 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125224 #define BOOST_PP_SLOT_TEMP_2 0
125225 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125226 #define BOOST_PP_SLOT_TEMP_1 0
125227 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125228 #undef BOOST_PP_VALUE
125229 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
125230
125231 #undef BOOST_PP_ITERATION_START_1
125232
125233 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
125234 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
125235 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
125236 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
125237 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
125238 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
125239 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
125240 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
125241 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
125242 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
125243
125244
125245 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
125246 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
125247 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
125248 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
125249 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
125250 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
125251 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
125252 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125253 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
125254 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
125255 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
125256 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
125257 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125258 #undef BOOST_PP_SLOT_TEMP_1
125259 #undef BOOST_PP_SLOT_TEMP_2
125260 #undef BOOST_PP_SLOT_TEMP_3
125261 #undef BOOST_PP_SLOT_TEMP_4
125262 #undef BOOST_PP_SLOT_TEMP_5
125263 #undef BOOST_PP_SLOT_TEMP_6
125264 #undef BOOST_PP_SLOT_TEMP_7
125265 #undef BOOST_PP_SLOT_TEMP_8
125266 #undef BOOST_PP_SLOT_TEMP_9
125267 #undef BOOST_PP_SLOT_TEMP_10
125268
125269
125270 #define BOOST_PP_SLOT_TEMP_10 0
125271 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125272 #define BOOST_PP_SLOT_TEMP_9 0
125273 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125274 #define BOOST_PP_SLOT_TEMP_8 0
125275 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125276 #define BOOST_PP_SLOT_TEMP_7 0
125277 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125278 #define BOOST_PP_SLOT_TEMP_6 0
125279 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125280 #define BOOST_PP_SLOT_TEMP_5 0
125281 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125282 #define BOOST_PP_SLOT_TEMP_4 0
125283 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125284 #define BOOST_PP_SLOT_TEMP_3 0
125285 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125286 #define BOOST_PP_SLOT_TEMP_2 1
125287 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125288 #define BOOST_PP_SLOT_TEMP_1 0
125289 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125290 #undef BOOST_PP_VALUE
125291 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
125292
125293 #undef BOOST_PP_ITERATION_FINISH_1
125294
125295 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
125296 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
125297 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
125298 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
125299 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
125300 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
125301 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
125302 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
125303 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
125304 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
125305
125306
125307 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
125308 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
125309 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
125310 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
125311 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
125312 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
125313 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
125314 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125315 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
125316
125317
125318
125319 #define BOOST_PP_ITERATION_FLAGS_1 0
125320
125321
125322
125323
125324
125325 #undef BOOST_PP_ITERATION_DEPTH
125326 #define BOOST_PP_ITERATION_DEPTH() 1
125327
125328 #define BOOST_PP_IS_ITERATING 1
125329
125330
125331
125332
125333
125334 #define BOOST_PP_ITERATION_1 0
125335 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125336 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125337 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125338 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125339 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125340 #undef BOOST_FUNCTION_NUM_ARGS
125341 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125342 #undef BOOST_PP_ITERATION_1
125343
125344
125345 #define BOOST_PP_ITERATION_1 1
125346 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125347 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125348 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125349 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125350 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125351 #undef BOOST_FUNCTION_NUM_ARGS
125352 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125353 #undef BOOST_PP_ITERATION_1
125354
125355
125356 #define BOOST_PP_ITERATION_1 2
125357 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125358 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125359 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125360 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125361 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125362 #undef BOOST_FUNCTION_NUM_ARGS
125363 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125364 #undef BOOST_PP_ITERATION_1
125365
125366
125367 #define BOOST_PP_ITERATION_1 3
125368 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125369 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125370 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125371 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125372 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125373 #undef BOOST_FUNCTION_NUM_ARGS
125374 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125375 #undef BOOST_PP_ITERATION_1
125376
125377
125378 #define BOOST_PP_ITERATION_1 4
125379 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125380 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125381 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125382 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125383 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125384 #undef BOOST_FUNCTION_NUM_ARGS
125385 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125386 #undef BOOST_PP_ITERATION_1
125387
125388
125389 #define BOOST_PP_ITERATION_1 5
125390 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125391 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125392 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125393 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125394 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125395 #undef BOOST_FUNCTION_NUM_ARGS
125396 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125397 #undef BOOST_PP_ITERATION_1
125398
125399
125400 #define BOOST_PP_ITERATION_1 6
125401 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125402 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125403 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125404 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125405 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125406 #undef BOOST_FUNCTION_NUM_ARGS
125407 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125408 #undef BOOST_PP_ITERATION_1
125409
125410
125411 #define BOOST_PP_ITERATION_1 7
125412 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125413 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125414 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125415 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125416 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125417 #undef BOOST_FUNCTION_NUM_ARGS
125418 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125419 #undef BOOST_PP_ITERATION_1
125420
125421
125422 #define BOOST_PP_ITERATION_1 8
125423 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125424 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125425 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125426 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125427 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125428 #undef BOOST_FUNCTION_NUM_ARGS
125429 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125430 #undef BOOST_PP_ITERATION_1
125431
125432
125433 #define BOOST_PP_ITERATION_1 9
125434 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125435 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125436 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125437 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125438 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125439 #undef BOOST_FUNCTION_NUM_ARGS
125440 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125441 #undef BOOST_PP_ITERATION_1
125442
125443
125444 #define BOOST_PP_ITERATION_1 10
125445 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125446 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125447 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125448 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125449 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125450 #undef BOOST_FUNCTION_NUM_ARGS
125451 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125452 #undef BOOST_PP_ITERATION_1
125453 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
125454 #undef BOOST_PP_IS_ITERATING
125455
125456 #undef BOOST_PP_ITERATION_DEPTH
125457 #define BOOST_PP_ITERATION_DEPTH() 0
125458
125459 #undef BOOST_PP_ITERATION_START_1
125460 #undef BOOST_PP_ITERATION_FINISH_1
125461 #undef BOOST_PP_FILENAME_1
125462
125463 #undef BOOST_PP_ITERATION_FLAGS_1
125464 #undef BOOST_PP_ITERATION_PARAMS_1
125465 # 63 "/usr/include/boost/function.hpp" 2 3 4
125466 #undef BOOST_PP_ITERATION_PARAMS_1
125467 # 17 "/home/emanuel/DIKU/3dot/source/core/entitymanager.hpp" 2
125468 # 1 "/home/emanuel/DIKU/3dot/source/geometry/frustum.hpp" 1
125469
125470 #define SG_FRUSTUM_HPP 
125471
125472
125473
125474
125475
125476
125477
125478 namespace Geometry_NS
125479 {
125480
125481  namespace
125482  {
125483
125484   template< typename T >
125485   struct Rational
125486   {
125487    Rational(){}
125488    Rational( float angle ) : numerator( cosf(angle) ) , denominator( sinf(angle) ){}
125489    Rational( T numerator_, T denominator_ ) : numerator( numerator_ ), denominator( denominator_ ){}
125490
125491    T numerator;
125492    T denominator;
125493
125494    bool operator <( const Rational< T >& other_ ) const
125495    {
125496     return numerator * other_.denominator < other_.numerator * denominator;
125497    }
125498    bool operator >( const Rational< T >& other_ ) const
125499    {
125500     return numerator * other_.denominator > other_.numerator * denominator;
125501    }
125502   };
125503   template< typename T >
125504   std::ostream& operator<<( std::ostream& o_, const Rational< T >& elem_ )
125505   {
125506    o_ << "<" << elem_.numerator << "/" << elem_.denominator << ">";
125507    return o_;
125508   }
125509  }
125510
125511
125512
125513
125514
125515
125516
125517  class Frustum
125518  {
125519  public:
125520   Frustum(){ mBasis[0] = Math::vec3(1,0,0); mBasis[1] = Math::vec3(0,1,0); mBasis[2] = Math::vec3(0,0,1); }
125521  private:
125522   friend std::ostream& operator << ( std::ostream& o, const Frustum& f );
125523
125524
125525
125526
125527
125528   mutable bool mTag;
125529
125530
125531
125532
125533
125534   mutable Math::vec4 mPlanes[ 6 ];
125535
125536
125537   Math::vec3 mBasis[ 3 ];
125538   Math::vec3 mOrigin;
125539   float mNear;
125540   float mFar;
125541
125542
125543   Rational< float > mFovXMin;
125544   Rational< float > mFovXMax;
125545   Rational< float > mFovYMax;
125546   Rational< float > mFovYMin;
125547   mutable float mFovRadXMax;
125548   mutable float mFovRadXMin;
125549   mutable float mFovRadYMax;
125550   mutable float mFovRadYMin;
125551
125552   bool mIsNull;
125553
125554   void createPlane( float ang, int vec, int offset ) const;
125555   void recalc() const;
125556
125557  protected:
125558   void recalcPlanes() const;
125559
125560  public:
125561   float GetNearDist(){ return mNear; }
125562   float GetFarDist(){ return mFar; }
125563
125564   Math::vec4 mBack[4];
125565
125566   Math::mat4 GetMatrix() const;
125567
125568   Math::mat4 GetProjectionMatrix() const;
125569
125570   Math::mat4 GetViewMatrix()const;
125571
125572
125573   const Math::vec3* basis() const;
125574
125575
125576   void setBasis( const Math::vec3* newBasis_ );
125577   const Math::vec3& GetViewDirection() const { return mBasis[2]; }
125578
125579
125580   const Math::vec3& origin() const;
125581
125582
125583   void setOrigo( const Math::vec3 newOrigo_ );
125584
125585
125586   Frustum( const Frustum& f , float fxmin , float fxmax , float fymin , float fymax );
125587
125588
125589
125590
125591
125592
125593   Frustum( Math::vec3 basis[ 3 ], Math::vec3 origin,
125594           float fovx, float fovy, float near, float far );
125595
125596   void ReInit( Math::vec3 basis_[ 3 ], Math::vec3 origin_, float fovx_, float fovy_, float near_, float far_ );
125597   void ReInit( Math::vec3 origin_, float fovx_, float fovy_, float near_, float far_ ){ ReInit(mBasis,origin_,fovx_,fovy_,near_,far_); }
125598
125599
125600   void SetInfo( float fovx_, float fovy_, float near_, float far_, int width_, int height_ );
125601
125602   const Math::vec4* getPlanes() const;
125603   bool narrow( Math::vec3* points, int count );
125604   bool null();
125605
125606   void corners( Math::vec3* near_ , Math::vec3* far_ );
125607
125608
125609
125610
125611   unsigned int mResolutionX;
125612   unsigned int mResolutionY;
125613
125614  };
125615 # 158 "/home/emanuel/DIKU/3dot/source/geometry/frustum.hpp"
125616  Frustum CreateFrustumFromMouse( float x , float y , float dx , float dy , const Frustum& currentViewFrustum );
125617
125618
125619
125620  std::ostream& operator << ( std::ostream& o, const Frustum& f );
125621
125622 }
125623 # 18 "/home/emanuel/DIKU/3dot/source/core/entitymanager.hpp" 2
125624
125625
125626 namespace Core {
125627
125628  typedef std::map<int, IEntity*> EntityContainer;
125629  class EntityManager
125630  {
125631  public:
125632
125633
125634   EntityContainer mEntityList;
125635
125636  private:
125637   EntityContainer::iterator mNonCriticalIterator;
125638
125639
125640
125641   void UpdateCritical(float dt);
125642   void UpdateNonCritical(float dt);
125643   EntityManager() : mNonCriticalIterator(mEntityList.begin()) {}
125644
125645
125646
125647
125648  public:
125649   IEntity* GetEntity( const Geometry_NS::Frustum& frustum_ , EntityFilter& filter_ );
125650   IEntity* GetEntity( int id_ );
125651
125652   static EntityManager& GetInstance(){
125653    static EntityManager manager;
125654    return manager;
125655   }
125656
125657
125658   void AddEntity( IEntity *entity );
125659
125660
125661   void RemoveEntity( IEntity* entity_ );
125662
125663
125664
125665   float UpdateSimple(float dt);
125666   float Update(float dt, boost::function<bool(void)> DoMore);
125667  };
125668
125669
125670
125671 }
125672 # 6 "/home/emanuel/DIKU/3dot/source/core/entity.hpp" 2
125673
125674
125675
125676
125677 namespace Core {
125678
125679  typedef int ID;
125680
125681  class IEntity : public CRTTIClass<IEntity, CBaseObject, 0x87feda90>
125682  {
125683  public:
125684   IEntity( ): mRadius( 0.0 ), mActive(false) {
125685
125686   }
125687
125688   IEntity( const IEntity& ): mRadius( 0.0 ) {
125689
125690   }
125691
125692   virtual ~IEntity(){
125693    if( mActive )
125694     EntityManager::GetInstance().RemoveEntity( this );
125695   }
125696
125697
125698
125699   virtual Math::vec3 GetPosition() = 0;
125700   virtual Math::quat GetOrientation() = 0;
125701   virtual void SetPosition( Math::vec3 pos_ ) = 0;
125702   virtual void SetOrientation( Math::quat orientation_ ) = 0;
125703
125704
125705   ID GetId(){ return mId; }
125706
125707
125708   float GetRadius(){ return mRadius; }
125709   void SetRadius( float in_ ){ mRadius = in_; }
125710
125711
125712
125713   virtual bool ProximityDetect( Math::vec3 pos_ );
125714
125715   static void RegisterReflection( ClassID id_ );
125716
125717  private:
125718   void SetId( ID id_ );
125719   bool mActive;
125720
125721   ID mId;
125722   float mRadius;
125723
125724  };
125725
125726 }
125727 # 6 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp" 2
125728 # 1 "/home/emanuel/DIKU/3dot/source/core/taskmanager.hpp" 1
125729
125730 #define CORE_TASKMANAGER_HPP 
125731
125732 # 1 "/usr/include/boost/function.hpp" 1 3 4
125733 # 61 "/usr/include/boost/function.hpp" 3 4
125734 #define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
125735 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
125736 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
125737 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
125738 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
125739 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
125740 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
125741 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125742 #undef BOOST_PP_SLOT_TEMP_1
125743 #undef BOOST_PP_SLOT_TEMP_2
125744 #undef BOOST_PP_SLOT_TEMP_3
125745 #undef BOOST_PP_SLOT_TEMP_4
125746 #undef BOOST_PP_SLOT_TEMP_5
125747 #undef BOOST_PP_SLOT_TEMP_6
125748 #undef BOOST_PP_SLOT_TEMP_7
125749 #undef BOOST_PP_SLOT_TEMP_8
125750 #undef BOOST_PP_SLOT_TEMP_9
125751 #undef BOOST_PP_SLOT_TEMP_10
125752
125753
125754 #define BOOST_PP_SLOT_TEMP_10 0
125755 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125756 #define BOOST_PP_SLOT_TEMP_9 0
125757 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125758 #define BOOST_PP_SLOT_TEMP_8 0
125759 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125760 #define BOOST_PP_SLOT_TEMP_7 0
125761 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125762 #define BOOST_PP_SLOT_TEMP_6 0
125763 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125764 #define BOOST_PP_SLOT_TEMP_5 0
125765 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125766 #define BOOST_PP_SLOT_TEMP_4 0
125767 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125768 #define BOOST_PP_SLOT_TEMP_3 0
125769 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125770 #define BOOST_PP_SLOT_TEMP_2 0
125771 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125772 #define BOOST_PP_SLOT_TEMP_1 0
125773 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125774 #undef BOOST_PP_VALUE
125775 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
125776
125777 #undef BOOST_PP_ITERATION_START_1
125778
125779 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
125780 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
125781 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
125782 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
125783 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
125784 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
125785 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
125786 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
125787 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
125788 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
125789
125790
125791 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
125792 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
125793 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
125794 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
125795 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
125796 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
125797 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
125798 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125799 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
125800 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
125801 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
125802 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
125803 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125804 #undef BOOST_PP_SLOT_TEMP_1
125805 #undef BOOST_PP_SLOT_TEMP_2
125806 #undef BOOST_PP_SLOT_TEMP_3
125807 #undef BOOST_PP_SLOT_TEMP_4
125808 #undef BOOST_PP_SLOT_TEMP_5
125809 #undef BOOST_PP_SLOT_TEMP_6
125810 #undef BOOST_PP_SLOT_TEMP_7
125811 #undef BOOST_PP_SLOT_TEMP_8
125812 #undef BOOST_PP_SLOT_TEMP_9
125813 #undef BOOST_PP_SLOT_TEMP_10
125814
125815
125816 #define BOOST_PP_SLOT_TEMP_10 0
125817 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125818 #define BOOST_PP_SLOT_TEMP_9 0
125819 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125820 #define BOOST_PP_SLOT_TEMP_8 0
125821 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125822 #define BOOST_PP_SLOT_TEMP_7 0
125823 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125824 #define BOOST_PP_SLOT_TEMP_6 0
125825 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125826 #define BOOST_PP_SLOT_TEMP_5 0
125827 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125828 #define BOOST_PP_SLOT_TEMP_4 0
125829 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125830 #define BOOST_PP_SLOT_TEMP_3 0
125831 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125832 #define BOOST_PP_SLOT_TEMP_2 1
125833 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125834 #define BOOST_PP_SLOT_TEMP_1 0
125835 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
125836 #undef BOOST_PP_VALUE
125837 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
125838
125839 #undef BOOST_PP_ITERATION_FINISH_1
125840
125841 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
125842 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
125843 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
125844 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
125845 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
125846 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
125847 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
125848 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
125849 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
125850 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
125851
125852
125853 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
125854 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
125855 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
125856 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
125857 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
125858 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
125859 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
125860 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125861 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
125862
125863
125864
125865 #define BOOST_PP_ITERATION_FLAGS_1 0
125866
125867
125868
125869
125870
125871 #undef BOOST_PP_ITERATION_DEPTH
125872 #define BOOST_PP_ITERATION_DEPTH() 1
125873
125874 #define BOOST_PP_IS_ITERATING 1
125875
125876
125877
125878
125879
125880 #define BOOST_PP_ITERATION_1 0
125881 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125882 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125883 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125884 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125885 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125886 #undef BOOST_FUNCTION_NUM_ARGS
125887 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125888 #undef BOOST_PP_ITERATION_1
125889
125890
125891 #define BOOST_PP_ITERATION_1 1
125892 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125893 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125894 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125895 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125896 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125897 #undef BOOST_FUNCTION_NUM_ARGS
125898 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125899 #undef BOOST_PP_ITERATION_1
125900
125901
125902 #define BOOST_PP_ITERATION_1 2
125903 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125904 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125905 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125906 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125907 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125908 #undef BOOST_FUNCTION_NUM_ARGS
125909 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125910 #undef BOOST_PP_ITERATION_1
125911
125912
125913 #define BOOST_PP_ITERATION_1 3
125914 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125915 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125916 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125917 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125918 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125919 #undef BOOST_FUNCTION_NUM_ARGS
125920 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125921 #undef BOOST_PP_ITERATION_1
125922
125923
125924 #define BOOST_PP_ITERATION_1 4
125925 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125926 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125927 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125928 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125929 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125930 #undef BOOST_FUNCTION_NUM_ARGS
125931 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125932 #undef BOOST_PP_ITERATION_1
125933
125934
125935 #define BOOST_PP_ITERATION_1 5
125936 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125937 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125938 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125939 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125940 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125941 #undef BOOST_FUNCTION_NUM_ARGS
125942 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125943 #undef BOOST_PP_ITERATION_1
125944
125945
125946 #define BOOST_PP_ITERATION_1 6
125947 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125948 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125949 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125950 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125951 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125952 #undef BOOST_FUNCTION_NUM_ARGS
125953 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125954 #undef BOOST_PP_ITERATION_1
125955
125956
125957 #define BOOST_PP_ITERATION_1 7
125958 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125959 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125960 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125961 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125962 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125963 #undef BOOST_FUNCTION_NUM_ARGS
125964 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125965 #undef BOOST_PP_ITERATION_1
125966
125967
125968 #define BOOST_PP_ITERATION_1 8
125969 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125970 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125971 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125972 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125973 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125974 #undef BOOST_FUNCTION_NUM_ARGS
125975 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125976 #undef BOOST_PP_ITERATION_1
125977
125978
125979 #define BOOST_PP_ITERATION_1 9
125980 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125981 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125982 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125983 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125984 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125985 #undef BOOST_FUNCTION_NUM_ARGS
125986 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125987 #undef BOOST_PP_ITERATION_1
125988
125989
125990 #define BOOST_PP_ITERATION_1 10
125991 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
125992 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
125993 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
125994 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
125995 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
125996 #undef BOOST_FUNCTION_NUM_ARGS
125997 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
125998 #undef BOOST_PP_ITERATION_1
125999 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
126000 #undef BOOST_PP_IS_ITERATING
126001
126002 #undef BOOST_PP_ITERATION_DEPTH
126003 #define BOOST_PP_ITERATION_DEPTH() 0
126004
126005 #undef BOOST_PP_ITERATION_START_1
126006 #undef BOOST_PP_ITERATION_FINISH_1
126007 #undef BOOST_PP_FILENAME_1
126008
126009 #undef BOOST_PP_ITERATION_FLAGS_1
126010 #undef BOOST_PP_ITERATION_PARAMS_1
126011 # 63 "/usr/include/boost/function.hpp" 2 3 4
126012 #undef BOOST_PP_ITERATION_PARAMS_1
126013 # 5 "/home/emanuel/DIKU/3dot/source/core/taskmanager.hpp" 2
126014
126015 namespace Core {
126016
126017
126018
126019  class TaskManager {
126020
126021  public:
126022   TaskManager();
126023
126024
126025
126026   virtual void Sleep( float time_ ){}
126027
126028
126029
126030   virtual void AddTask( const boost::function<void(void)>& task_ , float time_ ){}
126031
126032  private:
126033
126034
126035  };
126036
126037 }
126038 # 7 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp" 2
126039 # 1 "/home/emanuel/DIKU/3dot/source/core/enginestruct.hpp" 1
126040
126041 #define CORE_ENGINESTRUCT_HPP 
126042
126043 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/queue" 1 3
126044 # 61 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/queue" 3
126045 #define _GLIBCXX_QUEUE 1
126046
126047        
126048 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/queue" 3
126049 #pragma GCC visibility push(default)
126050 # 74 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/queue" 3
126051 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/deque" 1 3
126052 # 61 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/deque" 3
126053 #define _GLIBCXX_DEQUE 1
126054
126055        
126056 # 64 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/deque" 3
126057 #pragma GCC visibility push(default)
126058
126059
126060
126061
126062
126063
126064 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 1 3
126065 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126066 #define _DEQUE_H 1
126067
126068
126069
126070
126071
126072 namespace std
126073 {
126074 # 82 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126075   inline size_t
126076   __deque_buf_size(size_t __size)
126077   { return __size < 512 ? size_t(512 / __size) : size_t(1); }
126078 # 100 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126079   template<typename _Tp, typename _Ref, typename _Ptr>
126080     struct _Deque_iterator
126081     {
126082       typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator;
126083       typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> const_iterator;
126084
126085       static size_t _S_buffer_size()
126086       { return __deque_buf_size(sizeof(_Tp)); }
126087
126088       typedef std::random_access_iterator_tag iterator_category;
126089       typedef _Tp value_type;
126090       typedef _Ptr pointer;
126091       typedef _Ref reference;
126092       typedef size_t size_type;
126093       typedef ptrdiff_t difference_type;
126094       typedef _Tp** _Map_pointer;
126095       typedef _Deque_iterator _Self;
126096
126097       _Tp* _M_cur;
126098       _Tp* _M_first;
126099       _Tp* _M_last;
126100       _Map_pointer _M_node;
126101
126102       _Deque_iterator(_Tp* __x, _Map_pointer __y)
126103       : _M_cur(__x), _M_first(*__y),
126104         _M_last(*__y + _S_buffer_size()), _M_node(__y) {}
126105
126106       _Deque_iterator() : _M_cur(0), _M_first(0), _M_last(0), _M_node(0) {}
126107
126108       _Deque_iterator(const iterator& __x)
126109       : _M_cur(__x._M_cur), _M_first(__x._M_first),
126110         _M_last(__x._M_last), _M_node(__x._M_node) {}
126111
126112       reference
126113       operator*() const
126114       { return *_M_cur; }
126115
126116       pointer
126117       operator->() const
126118       { return _M_cur; }
126119
126120       _Self&
126121       operator++()
126122       {
126123  ++_M_cur;
126124  if (_M_cur == _M_last)
126125    {
126126      _M_set_node(_M_node + 1);
126127      _M_cur = _M_first;
126128    }
126129  return *this;
126130       }
126131
126132       _Self
126133       operator++(int)
126134       {
126135  _Self __tmp = *this;
126136  ++*this;
126137  return __tmp;
126138       }
126139
126140       _Self&
126141       operator--()
126142       {
126143  if (_M_cur == _M_first)
126144    {
126145      _M_set_node(_M_node - 1);
126146      _M_cur = _M_last;
126147    }
126148  --_M_cur;
126149  return *this;
126150       }
126151
126152       _Self
126153       operator--(int)
126154       {
126155  _Self __tmp = *this;
126156  --*this;
126157  return __tmp;
126158       }
126159
126160       _Self&
126161       operator+=(difference_type __n)
126162       {
126163  const difference_type __offset = __n + (_M_cur - _M_first);
126164  if (__offset >= 0 && __offset < difference_type(_S_buffer_size()))
126165    _M_cur += __n;
126166  else
126167    {
126168      const difference_type __node_offset =
126169        __offset > 0 ? __offset / difference_type(_S_buffer_size())
126170                     : -difference_type((-__offset - 1)
126171            / _S_buffer_size()) - 1;
126172      _M_set_node(_M_node + __node_offset);
126173      _M_cur = _M_first + (__offset - __node_offset
126174      * difference_type(_S_buffer_size()));
126175    }
126176  return *this;
126177       }
126178
126179       _Self
126180       operator+(difference_type __n) const
126181       {
126182  _Self __tmp = *this;
126183  return __tmp += __n;
126184       }
126185
126186       _Self&
126187       operator-=(difference_type __n)
126188       { return *this += -__n; }
126189
126190       _Self
126191       operator-(difference_type __n) const
126192       {
126193  _Self __tmp = *this;
126194  return __tmp -= __n;
126195       }
126196
126197       reference
126198       operator[](difference_type __n) const
126199       { return *(*this + __n); }
126200
126201
126202
126203
126204
126205
126206
126207       void
126208       _M_set_node(_Map_pointer __new_node)
126209       {
126210  _M_node = __new_node;
126211  _M_first = *__new_node;
126212  _M_last = _M_first + difference_type(_S_buffer_size());
126213       }
126214     };
126215
126216
126217
126218
126219   template<typename _Tp, typename _Ref, typename _Ptr>
126220     inline bool
126221     operator==(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
126222         const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
126223     { return __x._M_cur == __y._M_cur; }
126224
126225   template<typename _Tp, typename _RefL, typename _PtrL,
126226     typename _RefR, typename _PtrR>
126227     inline bool
126228     operator==(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
126229         const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
126230     { return __x._M_cur == __y._M_cur; }
126231
126232   template<typename _Tp, typename _Ref, typename _Ptr>
126233     inline bool
126234     operator!=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
126235         const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
126236     { return !(__x == __y); }
126237
126238   template<typename _Tp, typename _RefL, typename _PtrL,
126239     typename _RefR, typename _PtrR>
126240     inline bool
126241     operator!=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
126242         const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
126243     { return !(__x == __y); }
126244
126245   template<typename _Tp, typename _Ref, typename _Ptr>
126246     inline bool
126247     operator<(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
126248        const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
126249     { return (__x._M_node == __y._M_node) ? (__x._M_cur < __y._M_cur)
126250                                           : (__x._M_node < __y._M_node); }
126251
126252   template<typename _Tp, typename _RefL, typename _PtrL,
126253     typename _RefR, typename _PtrR>
126254     inline bool
126255     operator<(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
126256        const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
126257     { return (__x._M_node == __y._M_node) ? (__x._M_cur < __y._M_cur)
126258                                    : (__x._M_node < __y._M_node); }
126259
126260   template<typename _Tp, typename _Ref, typename _Ptr>
126261     inline bool
126262     operator>(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
126263        const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
126264     { return __y < __x; }
126265
126266   template<typename _Tp, typename _RefL, typename _PtrL,
126267     typename _RefR, typename _PtrR>
126268     inline bool
126269     operator>(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
126270        const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
126271     { return __y < __x; }
126272
126273   template<typename _Tp, typename _Ref, typename _Ptr>
126274     inline bool
126275     operator<=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
126276         const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
126277     { return !(__y < __x); }
126278
126279   template<typename _Tp, typename _RefL, typename _PtrL,
126280     typename _RefR, typename _PtrR>
126281     inline bool
126282     operator<=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
126283         const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
126284     { return !(__y < __x); }
126285
126286   template<typename _Tp, typename _Ref, typename _Ptr>
126287     inline bool
126288     operator>=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
126289         const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
126290     { return !(__x < __y); }
126291
126292   template<typename _Tp, typename _RefL, typename _PtrL,
126293     typename _RefR, typename _PtrR>
126294     inline bool
126295     operator>=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
126296         const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
126297     { return !(__x < __y); }
126298
126299
126300
126301
126302
126303   template<typename _Tp, typename _RefL, typename _PtrL,
126304     typename _RefR, typename _PtrR>
126305     inline typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type
126306     operator-(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
126307        const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
126308     {
126309       return typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type
126310  (_Deque_iterator<_Tp, _RefL, _PtrL>::_S_buffer_size())
126311  * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first)
126312  + (__y._M_last - __y._M_cur);
126313     }
126314
126315   template<typename _Tp, typename _Ref, typename _Ptr>
126316     inline _Deque_iterator<_Tp, _Ref, _Ptr>
126317     operator+(ptrdiff_t __n, const _Deque_iterator<_Tp, _Ref, _Ptr>& __x)
126318     { return __x + __n; }
126319 # 353 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126320   template<typename _Tp, typename _Alloc>
126321     class _Deque_base
126322     {
126323     public:
126324       typedef _Alloc allocator_type;
126325
126326       allocator_type
126327       get_allocator() const
126328       { return _M_get_Tp_allocator(); }
126329
126330       typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator;
126331       typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> const_iterator;
126332
126333       _Deque_base(const allocator_type& __a, size_t __num_elements)
126334       : _M_impl(__a)
126335       { _M_initialize_map(__num_elements); }
126336
126337       _Deque_base(const allocator_type& __a)
126338       : _M_impl(__a)
126339       { }
126340
126341       ~_Deque_base();
126342
126343     protected:
126344
126345
126346
126347       typedef typename _Alloc::template rebind<_Tp*>::other _Map_alloc_type;
126348
126349       typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
126350
126351       struct _Deque_impl
126352       : public _Tp_alloc_type
126353       {
126354  _Tp** _M_map;
126355  size_t _M_map_size;
126356  iterator _M_start;
126357  iterator _M_finish;
126358
126359  _Deque_impl(const _Tp_alloc_type& __a)
126360  : _Tp_alloc_type(__a), _M_map(0), _M_map_size(0),
126361    _M_start(), _M_finish()
126362  { }
126363       };
126364
126365       _Tp_alloc_type&
126366       _M_get_Tp_allocator()
126367       { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); }
126368
126369       const _Tp_alloc_type&
126370       _M_get_Tp_allocator() const
126371       { return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); }
126372
126373       _Map_alloc_type
126374       _M_get_map_allocator() const
126375       { return _M_get_Tp_allocator(); }
126376
126377       _Tp*
126378       _M_allocate_node()
126379       {
126380  return _M_impl._Tp_alloc_type::allocate(__deque_buf_size(sizeof(_Tp)));
126381       }
126382
126383       void
126384       _M_deallocate_node(_Tp* __p)
126385       {
126386  _M_impl._Tp_alloc_type::deallocate(__p, __deque_buf_size(sizeof(_Tp)));
126387       }
126388
126389       _Tp**
126390       _M_allocate_map(size_t __n)
126391       { return _M_get_map_allocator().allocate(__n); }
126392
126393       void
126394       _M_deallocate_map(_Tp** __p, size_t __n)
126395       { _M_get_map_allocator().deallocate(__p, __n); }
126396
126397     protected:
126398       void _M_initialize_map(size_t);
126399       void _M_create_nodes(_Tp** __nstart, _Tp** __nfinish);
126400       void _M_destroy_nodes(_Tp** __nstart, _Tp** __nfinish);
126401       enum { _S_initial_map_size = 8 };
126402
126403       _Deque_impl _M_impl;
126404     };
126405
126406   template<typename _Tp, typename _Alloc>
126407     _Deque_base<_Tp, _Alloc>::
126408     ~_Deque_base()
126409     {
126410       if (this->_M_impl._M_map)
126411  {
126412    _M_destroy_nodes(this->_M_impl._M_start._M_node,
126413       this->_M_impl._M_finish._M_node + 1);
126414    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
126415  }
126416     }
126417 # 461 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126418   template<typename _Tp, typename _Alloc>
126419     void
126420     _Deque_base<_Tp, _Alloc>::
126421     _M_initialize_map(size_t __num_elements)
126422     {
126423       const size_t __num_nodes = (__num_elements/ __deque_buf_size(sizeof(_Tp))
126424       + 1);
126425
126426       this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size,
126427         size_t(__num_nodes + 2));
126428       this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size);
126429
126430
126431
126432
126433
126434
126435       _Tp** __nstart = (this->_M_impl._M_map
126436    + (this->_M_impl._M_map_size - __num_nodes) / 2);
126437       _Tp** __nfinish = __nstart + __num_nodes;
126438
126439       try
126440  { _M_create_nodes(__nstart, __nfinish); }
126441       catch(...)
126442  {
126443    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
126444    this->_M_impl._M_map = 0;
126445    this->_M_impl._M_map_size = 0;
126446    throw;
126447  }
126448
126449       this->_M_impl._M_start._M_set_node(__nstart);
126450       this->_M_impl._M_finish._M_set_node(__nfinish - 1);
126451       this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first;
126452       this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first
126453      + __num_elements
126454      % __deque_buf_size(sizeof(_Tp)));
126455     }
126456
126457   template<typename _Tp, typename _Alloc>
126458     void
126459     _Deque_base<_Tp, _Alloc>::
126460     _M_create_nodes(_Tp** __nstart, _Tp** __nfinish)
126461     {
126462       _Tp** __cur;
126463       try
126464  {
126465    for (__cur = __nstart; __cur < __nfinish; ++__cur)
126466      *__cur = this->_M_allocate_node();
126467  }
126468       catch(...)
126469  {
126470    _M_destroy_nodes(__nstart, __cur);
126471    throw;
126472  }
126473     }
126474
126475   template<typename _Tp, typename _Alloc>
126476     void
126477     _Deque_base<_Tp, _Alloc>::
126478     _M_destroy_nodes(_Tp** __nstart, _Tp** __nfinish)
126479     {
126480       for (_Tp** __n = __nstart; __n < __nfinish; ++__n)
126481  _M_deallocate_node(*__n);
126482     }
126483 # 611 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126484   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
126485     class deque : protected _Deque_base<_Tp, _Alloc>
126486     {
126487
126488       typedef typename _Alloc::value_type _Alloc_value_type;
126489      
126490      
126491
126492       typedef _Deque_base<_Tp, _Alloc> _Base;
126493       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
126494
126495     public:
126496       typedef _Tp value_type;
126497       typedef typename _Tp_alloc_type::pointer pointer;
126498       typedef typename _Tp_alloc_type::const_pointer const_pointer;
126499       typedef typename _Tp_alloc_type::reference reference;
126500       typedef typename _Tp_alloc_type::const_reference const_reference;
126501       typedef typename _Base::iterator iterator;
126502       typedef typename _Base::const_iterator const_iterator;
126503       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
126504       typedef std::reverse_iterator<iterator> reverse_iterator;
126505       typedef size_t size_type;
126506       typedef ptrdiff_t difference_type;
126507       typedef _Alloc allocator_type;
126508
126509     protected:
126510       typedef pointer* _Map_pointer;
126511
126512       static size_t _S_buffer_size()
126513       { return __deque_buf_size(sizeof(_Tp)); }
126514
126515
126516       using _Base::_M_initialize_map;
126517       using _Base::_M_create_nodes;
126518       using _Base::_M_destroy_nodes;
126519       using _Base::_M_allocate_node;
126520       using _Base::_M_deallocate_node;
126521       using _Base::_M_allocate_map;
126522       using _Base::_M_deallocate_map;
126523       using _Base::_M_get_Tp_allocator;
126524
126525
126526
126527
126528
126529
126530       using _Base::_M_impl;
126531
126532     public:
126533
126534
126535
126536
126537
126538       explicit
126539       deque(const allocator_type& __a = allocator_type())
126540       : _Base(__a, 0) {}
126541 # 676 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126542       explicit
126543       deque(size_type __n, const value_type& __value = value_type(),
126544      const allocator_type& __a = allocator_type())
126545       : _Base(__a, __n)
126546       { _M_fill_initialize(__value); }
126547 # 689 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126548       deque(const deque& __x)
126549       : _Base(__x.get_allocator(), __x.size())
126550       { std::__uninitialized_copy_a(__x.begin(), __x.end(),
126551         this->_M_impl._M_start,
126552         _M_get_Tp_allocator()); }
126553 # 709 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126554       template<typename _InputIterator>
126555         deque(_InputIterator __first, _InputIterator __last,
126556        const allocator_type& __a = allocator_type())
126557  : _Base(__a)
126558         {
126559
126560    typedef typename std::__is_integer<_InputIterator>::__type _Integral;
126561    _M_initialize_dispatch(__first, __last, _Integral());
126562  }
126563
126564
126565
126566
126567
126568
126569       ~deque()
126570       { std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
126571         _M_get_Tp_allocator()); }
126572 # 735 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126573       deque&
126574       operator=(const deque& __x);
126575 # 748 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126576       void
126577       assign(size_type __n, const value_type& __val)
126578       { _M_fill_assign(__n, __val); }
126579 # 764 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126580       template<typename _InputIterator>
126581         void
126582         assign(_InputIterator __first, _InputIterator __last)
126583         {
126584    typedef typename std::__is_integer<_InputIterator>::__type _Integral;
126585    _M_assign_dispatch(__first, __last, _Integral());
126586  }
126587
126588
126589       allocator_type
126590       get_allocator() const
126591       { return _Base::get_allocator(); }
126592
126593
126594
126595
126596
126597
126598       iterator
126599       begin()
126600       { return this->_M_impl._M_start; }
126601
126602
126603
126604
126605
126606       const_iterator
126607       begin() const
126608       { return this->_M_impl._M_start; }
126609
126610
126611
126612
126613
126614
126615       iterator
126616       end()
126617       { return this->_M_impl._M_finish; }
126618
126619
126620
126621
126622
126623
126624       const_iterator
126625       end() const
126626       { return this->_M_impl._M_finish; }
126627
126628
126629
126630
126631
126632
126633       reverse_iterator
126634       rbegin()
126635       { return reverse_iterator(this->_M_impl._M_finish); }
126636
126637
126638
126639
126640
126641
126642       const_reverse_iterator
126643       rbegin() const
126644       { return const_reverse_iterator(this->_M_impl._M_finish); }
126645
126646
126647
126648
126649
126650
126651       reverse_iterator
126652       rend() { return reverse_iterator(this->_M_impl._M_start); }
126653
126654
126655
126656
126657
126658
126659       const_reverse_iterator
126660       rend() const
126661       { return const_reverse_iterator(this->_M_impl._M_start); }
126662
126663
126664
126665       size_type
126666       size() const
126667       { return this->_M_impl._M_finish - this->_M_impl._M_start; }
126668
126669
126670       size_type
126671       max_size() const
126672       { return size_type(-1); }
126673 # 869 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126674       void
126675       resize(size_type __new_size, value_type __x = value_type())
126676       {
126677  const size_type __len = size();
126678  if (__new_size < __len)
126679    erase(this->_M_impl._M_start + __new_size, this->_M_impl._M_finish);
126680  else
126681    insert(this->_M_impl._M_finish, __new_size - __len, __x);
126682       }
126683
126684
126685
126686
126687
126688       bool
126689       empty() const
126690       { return this->_M_impl._M_finish == this->_M_impl._M_start; }
126691 # 899 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126692       reference
126693       operator[](size_type __n)
126694       { return this->_M_impl._M_start[difference_type(__n)]; }
126695 # 914 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126696       const_reference
126697       operator[](size_type __n) const
126698       { return this->_M_impl._M_start[difference_type(__n)]; }
126699
126700     protected:
126701
126702       void
126703       _M_range_check(size_type __n) const
126704       {
126705  if (__n >= this->size())
126706    __throw_out_of_range(("deque::_M_range_check"));
126707       }
126708
126709     public:
126710 # 939 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126711       reference
126712       at(size_type __n)
126713       {
126714  _M_range_check(__n);
126715  return (*this)[__n];
126716       }
126717 # 957 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126718       const_reference
126719       at(size_type __n) const
126720       {
126721  _M_range_check(__n);
126722  return (*this)[__n];
126723       }
126724
126725
126726
126727
126728
126729       reference
126730       front()
126731       { return *begin(); }
126732
126733
126734
126735
126736
126737       const_reference
126738       front() const
126739       { return *begin(); }
126740
126741
126742
126743
126744
126745       reference
126746       back()
126747       {
126748  iterator __tmp = end();
126749  --__tmp;
126750  return *__tmp;
126751       }
126752
126753
126754
126755
126756
126757       const_reference
126758       back() const
126759       {
126760  const_iterator __tmp = end();
126761  --__tmp;
126762  return *__tmp;
126763       }
126764 # 1014 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126765       void
126766       push_front(const value_type& __x)
126767       {
126768  if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
126769    {
126770      this->_M_impl.construct(this->_M_impl._M_start._M_cur - 1, __x);
126771      --this->_M_impl._M_start._M_cur;
126772    }
126773  else
126774    _M_push_front_aux(__x);
126775       }
126776 # 1035 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126777       void
126778       push_back(const value_type& __x)
126779       {
126780  if (this->_M_impl._M_finish._M_cur
126781      != this->_M_impl._M_finish._M_last - 1)
126782    {
126783      this->_M_impl.construct(this->_M_impl._M_finish._M_cur, __x);
126784      ++this->_M_impl._M_finish._M_cur;
126785    }
126786  else
126787    _M_push_back_aux(__x);
126788       }
126789 # 1056 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126790       void
126791       pop_front()
126792       {
126793  if (this->_M_impl._M_start._M_cur
126794      != this->_M_impl._M_start._M_last - 1)
126795    {
126796      this->_M_impl.destroy(this->_M_impl._M_start._M_cur);
126797      ++this->_M_impl._M_start._M_cur;
126798    }
126799  else
126800    _M_pop_front_aux();
126801       }
126802 # 1077 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126803       void
126804       pop_back()
126805       {
126806  if (this->_M_impl._M_finish._M_cur
126807      != this->_M_impl._M_finish._M_first)
126808    {
126809      --this->_M_impl._M_finish._M_cur;
126810      this->_M_impl.destroy(this->_M_impl._M_finish._M_cur);
126811    }
126812  else
126813    _M_pop_back_aux();
126814       }
126815 # 1099 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126816       iterator
126817       insert(iterator position, const value_type& __x);
126818 # 1111 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126819       void
126820       insert(iterator __position, size_type __n, const value_type& __x)
126821       { _M_fill_insert(__position, __n, __x); }
126822 # 1125 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126823       template<typename _InputIterator>
126824         void
126825         insert(iterator __position, _InputIterator __first,
126826         _InputIterator __last)
126827         {
126828
126829    typedef typename std::__is_integer<_InputIterator>::__type _Integral;
126830    _M_insert_dispatch(__position, __first, __last, _Integral());
126831  }
126832 # 1148 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126833       iterator
126834       erase(iterator __position);
126835 # 1167 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126836       iterator
126837       erase(iterator __first, iterator __last);
126838 # 1179 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126839       void
126840       swap(deque& __x)
126841       {
126842  std::swap(this->_M_impl._M_start, __x._M_impl._M_start);
126843  std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish);
126844  std::swap(this->_M_impl._M_map, __x._M_impl._M_map);
126845  std::swap(this->_M_impl._M_map_size, __x._M_impl._M_map_size);
126846       }
126847
126848
126849
126850
126851
126852
126853
126854       void clear();
126855
126856     protected:
126857
126858
126859
126860       template<typename _Integer>
126861         void
126862         _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
126863         {
126864    _M_initialize_map(__n);
126865    _M_fill_initialize(__x);
126866  }
126867
126868
126869       template<typename _InputIterator>
126870         void
126871         _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
126872           __false_type)
126873         {
126874    typedef typename std::iterator_traits<_InputIterator>::
126875      iterator_category _IterCategory;
126876    _M_range_initialize(__first, __last, _IterCategory());
126877  }
126878 # 1233 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126879       template<typename _InputIterator>
126880         void
126881         _M_range_initialize(_InputIterator __first, _InputIterator __last,
126882        std::input_iterator_tag);
126883
126884
126885       template<typename _ForwardIterator>
126886         void
126887         _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
126888        std::forward_iterator_tag);
126889 # 1257 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
126890       void
126891       _M_fill_initialize(const value_type& __value);
126892
126893
126894
126895
126896
126897       template<typename _Integer>
126898         void
126899         _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
126900         {
126901    _M_fill_assign(static_cast<size_type>(__n),
126902     static_cast<value_type>(__val));
126903  }
126904
126905
126906       template<typename _InputIterator>
126907         void
126908         _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
126909       __false_type)
126910         {
126911    typedef typename std::iterator_traits<_InputIterator>::
126912      iterator_category _IterCategory;
126913    _M_assign_aux(__first, __last, _IterCategory());
126914  }
126915
126916
126917       template<typename _InputIterator>
126918         void
126919         _M_assign_aux(_InputIterator __first, _InputIterator __last,
126920         std::input_iterator_tag);
126921
126922
126923       template<typename _ForwardIterator>
126924         void
126925         _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
126926         std::forward_iterator_tag)
126927         {
126928    const size_type __len = std::distance(__first, __last);
126929    if (__len > size())
126930      {
126931        _ForwardIterator __mid = __first;
126932        std::advance(__mid, size());
126933        std::copy(__first, __mid, begin());
126934        insert(end(), __mid, __last);
126935      }
126936    else
126937      erase(std::copy(__first, __last, begin()), end());
126938  }
126939
126940
126941
126942       void
126943       _M_fill_assign(size_type __n, const value_type& __val)
126944       {
126945  if (__n > size())
126946    {
126947      std::fill(begin(), end(), __val);
126948      insert(end(), __n - size(), __val);
126949    }
126950  else
126951    {
126952      erase(begin() + __n, end());
126953      std::fill(begin(), end(), __val);
126954    }
126955       }
126956
126957
126958
126959
126960
126961
126962
126963       void _M_push_back_aux(const value_type&);
126964       void _M_push_front_aux(const value_type&);
126965       void _M_pop_back_aux();
126966       void _M_pop_front_aux();
126967
126968
126969
126970
126971
126972
126973       template<typename _Integer>
126974         void
126975         _M_insert_dispatch(iterator __pos,
126976       _Integer __n, _Integer __x, __true_type)
126977         {
126978    _M_fill_insert(__pos, static_cast<size_type>(__n),
126979     static_cast<value_type>(__x));
126980  }
126981
126982
126983       template<typename _InputIterator>
126984         void
126985         _M_insert_dispatch(iterator __pos,
126986       _InputIterator __first, _InputIterator __last,
126987       __false_type)
126988         {
126989    typedef typename std::iterator_traits<_InputIterator>::
126990      iterator_category _IterCategory;
126991           _M_range_insert_aux(__pos, __first, __last, _IterCategory());
126992  }
126993
126994
126995       template<typename _InputIterator>
126996         void
126997         _M_range_insert_aux(iterator __pos, _InputIterator __first,
126998        _InputIterator __last, std::input_iterator_tag);
126999
127000
127001       template<typename _ForwardIterator>
127002         void
127003         _M_range_insert_aux(iterator __pos, _ForwardIterator __first,
127004        _ForwardIterator __last, std::forward_iterator_tag);
127005
127006
127007
127008
127009       void
127010       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
127011
127012
127013       iterator
127014       _M_insert_aux(iterator __pos, const value_type& __x);
127015
127016
127017       void
127018       _M_insert_aux(iterator __pos, size_type __n, const value_type& __x);
127019
127020
127021       template<typename _ForwardIterator>
127022         void
127023         _M_insert_aux(iterator __pos,
127024         _ForwardIterator __first, _ForwardIterator __last,
127025         size_type __n);
127026 # 1401 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
127027       iterator
127028       _M_reserve_elements_at_front(size_type __n)
127029       {
127030  const size_type __vacancies = this->_M_impl._M_start._M_cur
127031                                - this->_M_impl._M_start._M_first;
127032  if (__n > __vacancies)
127033    _M_new_elements_at_front(__n - __vacancies);
127034  return this->_M_impl._M_start - difference_type(__n);
127035       }
127036
127037       iterator
127038       _M_reserve_elements_at_back(size_type __n)
127039       {
127040  const size_type __vacancies = (this->_M_impl._M_finish._M_last
127041            - this->_M_impl._M_finish._M_cur) - 1;
127042  if (__n > __vacancies)
127043    _M_new_elements_at_back(__n - __vacancies);
127044  return this->_M_impl._M_finish + difference_type(__n);
127045       }
127046
127047       void
127048       _M_new_elements_at_front(size_type __new_elements);
127049
127050       void
127051       _M_new_elements_at_back(size_type __new_elements);
127052 # 1439 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
127053       void
127054       _M_reserve_map_at_back (size_type __nodes_to_add = 1)
127055       {
127056  if (__nodes_to_add + 1 > this->_M_impl._M_map_size
127057      - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map))
127058    _M_reallocate_map(__nodes_to_add, false);
127059       }
127060
127061       void
127062       _M_reserve_map_at_front (size_type __nodes_to_add = 1)
127063       {
127064  if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node
127065            - this->_M_impl._M_map))
127066    _M_reallocate_map(__nodes_to_add, true);
127067       }
127068
127069       void
127070       _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front);
127071
127072     };
127073 # 1471 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
127074   template<typename _Tp, typename _Alloc>
127075     inline bool
127076     operator==(const deque<_Tp, _Alloc>& __x,
127077                          const deque<_Tp, _Alloc>& __y)
127078     { return __x.size() == __y.size()
127079              && std::equal(__x.begin(), __x.end(), __y.begin()); }
127080 # 1489 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_deque.h" 3
127081   template<typename _Tp, typename _Alloc>
127082     inline bool
127083     operator<(const deque<_Tp, _Alloc>& __x,
127084        const deque<_Tp, _Alloc>& __y)
127085     { return lexicographical_compare(__x.begin(), __x.end(),
127086          __y.begin(), __y.end()); }
127087
127088
127089   template<typename _Tp, typename _Alloc>
127090     inline bool
127091     operator!=(const deque<_Tp, _Alloc>& __x,
127092         const deque<_Tp, _Alloc>& __y)
127093     { return !(__x == __y); }
127094
127095
127096   template<typename _Tp, typename _Alloc>
127097     inline bool
127098     operator>(const deque<_Tp, _Alloc>& __x,
127099        const deque<_Tp, _Alloc>& __y)
127100     { return __y < __x; }
127101
127102
127103   template<typename _Tp, typename _Alloc>
127104     inline bool
127105     operator<=(const deque<_Tp, _Alloc>& __x,
127106         const deque<_Tp, _Alloc>& __y)
127107     { return !(__y < __x); }
127108
127109
127110   template<typename _Tp, typename _Alloc>
127111     inline bool
127112     operator>=(const deque<_Tp, _Alloc>& __x,
127113         const deque<_Tp, _Alloc>& __y)
127114     { return !(__x < __y); }
127115
127116
127117   template<typename _Tp, typename _Alloc>
127118     inline void
127119     swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
127120     { __x.swap(__y); }
127121 }
127122 # 72 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/deque" 2 3
127123
127124
127125 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/deque.tcc" 1 3
127126 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/deque.tcc" 3
127127 #define _DEQUE_TCC 1
127128
127129 namespace std
127130 {
127131   template <typename _Tp, typename _Alloc>
127132     deque<_Tp, _Alloc>&
127133     deque<_Tp, _Alloc>::
127134     operator=(const deque& __x)
127135     {
127136       const size_type __len = size();
127137       if (&__x != this)
127138  {
127139    if (__len >= __x.size())
127140      erase(std::copy(__x.begin(), __x.end(), this->_M_impl._M_start),
127141     this->_M_impl._M_finish);
127142    else
127143      {
127144        const_iterator __mid = __x.begin() + difference_type(__len);
127145        std::copy(__x.begin(), __mid, this->_M_impl._M_start);
127146        insert(this->_M_impl._M_finish, __mid, __x.end());
127147      }
127148  }
127149       return *this;
127150     }
127151
127152   template <typename _Tp, typename _Alloc>
127153     typename deque<_Tp, _Alloc>::iterator
127154     deque<_Tp, _Alloc>::
127155     insert(iterator position, const value_type& __x)
127156     {
127157       if (position._M_cur == this->_M_impl._M_start._M_cur)
127158  {
127159    push_front(__x);
127160    return this->_M_impl._M_start;
127161  }
127162       else if (position._M_cur == this->_M_impl._M_finish._M_cur)
127163  {
127164    push_back(__x);
127165    iterator __tmp = this->_M_impl._M_finish;
127166    --__tmp;
127167    return __tmp;
127168  }
127169       else
127170         return _M_insert_aux(position, __x);
127171     }
127172
127173   template <typename _Tp, typename _Alloc>
127174     typename deque<_Tp, _Alloc>::iterator
127175     deque<_Tp, _Alloc>::
127176     erase(iterator __position)
127177     {
127178       iterator __next = __position;
127179       ++__next;
127180       const size_type __index = __position - this->_M_impl._M_start;
127181       if (__index < (size() >> 1))
127182  {
127183    std::copy_backward(this->_M_impl._M_start, __position, __next);
127184    pop_front();
127185  }
127186       else
127187  {
127188    std::copy(__next, this->_M_impl._M_finish, __position);
127189    pop_back();
127190  }
127191       return this->_M_impl._M_start + __index;
127192     }
127193
127194   template <typename _Tp, typename _Alloc>
127195     typename deque<_Tp, _Alloc>::iterator
127196     deque<_Tp, _Alloc>::
127197     erase(iterator __first, iterator __last)
127198     {
127199       if (__first == this->_M_impl._M_start
127200    && __last == this->_M_impl._M_finish)
127201  {
127202    clear();
127203    return this->_M_impl._M_finish;
127204  }
127205       else
127206  {
127207    const difference_type __n = __last - __first;
127208    const difference_type __elems_before = (__first
127209         - this->_M_impl._M_start);
127210    if (static_cast<size_type>(__elems_before) < (size() - __n) / 2)
127211      {
127212        std::copy_backward(this->_M_impl._M_start, __first, __last);
127213        iterator __new_start = this->_M_impl._M_start + __n;
127214        std::_Destroy(this->_M_impl._M_start, __new_start,
127215        _M_get_Tp_allocator());
127216        _M_destroy_nodes(this->_M_impl._M_start._M_node,
127217           __new_start._M_node);
127218        this->_M_impl._M_start = __new_start;
127219      }
127220    else
127221      {
127222        std::copy(__last, this->_M_impl._M_finish, __first);
127223        iterator __new_finish = this->_M_impl._M_finish - __n;
127224        std::_Destroy(__new_finish, this->_M_impl._M_finish,
127225        _M_get_Tp_allocator());
127226        _M_destroy_nodes(__new_finish._M_node + 1,
127227           this->_M_impl._M_finish._M_node + 1);
127228        this->_M_impl._M_finish = __new_finish;
127229      }
127230    return this->_M_impl._M_start + __elems_before;
127231  }
127232     }
127233
127234   template <typename _Tp, typename _Alloc>
127235     void
127236     deque<_Tp, _Alloc>::
127237     clear()
127238     {
127239       for (_Map_pointer __node = this->_M_impl._M_start._M_node + 1;
127240            __node < this->_M_impl._M_finish._M_node;
127241            ++__node)
127242  {
127243    std::_Destroy(*__node, *__node + _S_buffer_size(),
127244    _M_get_Tp_allocator());
127245    _M_deallocate_node(*__node);
127246  }
127247
127248       if (this->_M_impl._M_start._M_node != this->_M_impl._M_finish._M_node)
127249  {
127250    std::_Destroy(this->_M_impl._M_start._M_cur,
127251    this->_M_impl._M_start._M_last,
127252    _M_get_Tp_allocator());
127253    std::_Destroy(this->_M_impl._M_finish._M_first,
127254    this->_M_impl._M_finish._M_cur,
127255    _M_get_Tp_allocator());
127256    _M_deallocate_node(this->_M_impl._M_finish._M_first);
127257  }
127258       else
127259         std::_Destroy(this->_M_impl._M_start._M_cur,
127260         this->_M_impl._M_finish._M_cur,
127261         _M_get_Tp_allocator());
127262
127263       this->_M_impl._M_finish = this->_M_impl._M_start;
127264     }
127265
127266   template <typename _Tp, class _Alloc>
127267     template <typename _InputIterator>
127268       void
127269       deque<_Tp, _Alloc>::
127270       _M_assign_aux(_InputIterator __first, _InputIterator __last,
127271       std::input_iterator_tag)
127272       {
127273         iterator __cur = begin();
127274         for (; __first != __last && __cur != end(); ++__cur, ++__first)
127275           *__cur = *__first;
127276         if (__first == __last)
127277           erase(__cur, end());
127278         else
127279           insert(end(), __first, __last);
127280       }
127281
127282   template <typename _Tp, typename _Alloc>
127283     void
127284     deque<_Tp, _Alloc>::
127285     _M_fill_insert(iterator __pos, size_type __n, const value_type& __x)
127286     {
127287       if (__pos._M_cur == this->_M_impl._M_start._M_cur)
127288  {
127289    iterator __new_start = _M_reserve_elements_at_front(__n);
127290    try
127291      {
127292        std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start,
127293        __x,
127294        _M_get_Tp_allocator());
127295        this->_M_impl._M_start = __new_start;
127296      }
127297    catch(...)
127298      {
127299        _M_destroy_nodes(__new_start._M_node,
127300           this->_M_impl._M_start._M_node);
127301        throw;
127302      }
127303  }
127304       else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
127305  {
127306    iterator __new_finish = _M_reserve_elements_at_back(__n);
127307    try
127308      {
127309        std::__uninitialized_fill_a(this->_M_impl._M_finish,
127310        __new_finish, __x,
127311        _M_get_Tp_allocator());
127312        this->_M_impl._M_finish = __new_finish;
127313      }
127314    catch(...)
127315      {
127316        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
127317           __new_finish._M_node + 1);
127318        throw;
127319      }
127320  }
127321       else
127322         _M_insert_aux(__pos, __n, __x);
127323     }
127324
127325   template <typename _Tp, typename _Alloc>
127326     void
127327     deque<_Tp, _Alloc>::
127328     _M_fill_initialize(const value_type& __value)
127329     {
127330       _Map_pointer __cur;
127331       try
127332         {
127333           for (__cur = this->_M_impl._M_start._M_node;
127334         __cur < this->_M_impl._M_finish._M_node;
127335         ++__cur)
127336             std::__uninitialized_fill_a(*__cur, *__cur + _S_buffer_size(),
127337      __value, _M_get_Tp_allocator());
127338           std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first,
127339           this->_M_impl._M_finish._M_cur,
127340           __value, _M_get_Tp_allocator());
127341         }
127342       catch(...)
127343         {
127344           std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
127345    _M_get_Tp_allocator());
127346           throw;
127347         }
127348     }
127349
127350   template <typename _Tp, typename _Alloc>
127351     template <typename _InputIterator>
127352       void
127353       deque<_Tp, _Alloc>::
127354       _M_range_initialize(_InputIterator __first, _InputIterator __last,
127355                           std::input_iterator_tag)
127356       {
127357         this->_M_initialize_map(0);
127358         try
127359           {
127360             for (; __first != __last; ++__first)
127361               push_back(*__first);
127362           }
127363         catch(...)
127364           {
127365             clear();
127366             throw;
127367           }
127368       }
127369
127370   template <typename _Tp, typename _Alloc>
127371     template <typename _ForwardIterator>
127372       void
127373       deque<_Tp, _Alloc>::
127374       _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
127375                           std::forward_iterator_tag)
127376       {
127377         const size_type __n = std::distance(__first, __last);
127378         this->_M_initialize_map(__n);
127379
127380         _Map_pointer __cur_node;
127381         try
127382           {
127383             for (__cur_node = this->_M_impl._M_start._M_node;
127384                  __cur_node < this->_M_impl._M_finish._M_node;
127385                  ++__cur_node)
127386             {
127387               _ForwardIterator __mid = __first;
127388               std::advance(__mid, _S_buffer_size());
127389               std::__uninitialized_copy_a(__first, __mid, *__cur_node,
127390        _M_get_Tp_allocator());
127391               __first = __mid;
127392             }
127393             std::__uninitialized_copy_a(__first, __last,
127394      this->_M_impl._M_finish._M_first,
127395      _M_get_Tp_allocator());
127396           }
127397         catch(...)
127398           {
127399             std::_Destroy(this->_M_impl._M_start,
127400      iterator(*__cur_node, __cur_node),
127401      _M_get_Tp_allocator());
127402             throw;
127403           }
127404       }
127405
127406
127407   template <typename _Tp, typename _Alloc>
127408     void
127409     deque<_Tp, _Alloc>::
127410     _M_push_back_aux(const value_type& __t)
127411     {
127412       value_type __t_copy = __t;
127413       _M_reserve_map_at_back();
127414       *(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node();
127415       try
127416         {
127417           this->_M_impl.construct(this->_M_impl._M_finish._M_cur, __t_copy);
127418           this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node
127419            + 1);
127420           this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first;
127421         }
127422       catch(...)
127423         {
127424           _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1));
127425           throw;
127426         }
127427     }
127428
127429
127430   template <typename _Tp, typename _Alloc>
127431     void
127432     deque<_Tp, _Alloc>::
127433     _M_push_front_aux(const value_type& __t)
127434     {
127435       value_type __t_copy = __t;
127436       _M_reserve_map_at_front();
127437       *(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node();
127438       try
127439         {
127440           this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node
127441           - 1);
127442           this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1;
127443           this->_M_impl.construct(this->_M_impl._M_start._M_cur, __t_copy);
127444         }
127445       catch(...)
127446         {
127447           ++this->_M_impl._M_start;
127448           _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1));
127449           throw;
127450         }
127451     }
127452
127453
127454   template <typename _Tp, typename _Alloc>
127455     void deque<_Tp, _Alloc>::
127456     _M_pop_back_aux()
127457     {
127458       _M_deallocate_node(this->_M_impl._M_finish._M_first);
127459       this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1);
127460       this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1;
127461       this->_M_impl.destroy(this->_M_impl._M_finish._M_cur);
127462     }
127463
127464
127465
127466
127467
127468
127469   template <typename _Tp, typename _Alloc>
127470     void deque<_Tp, _Alloc>::
127471     _M_pop_front_aux()
127472     {
127473       this->_M_impl.destroy(this->_M_impl._M_start._M_cur);
127474       _M_deallocate_node(this->_M_impl._M_start._M_first);
127475       this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1);
127476       this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first;
127477     }
127478
127479   template <typename _Tp, typename _Alloc>
127480     template <typename _InputIterator>
127481       void
127482       deque<_Tp, _Alloc>::
127483       _M_range_insert_aux(iterator __pos,
127484                           _InputIterator __first, _InputIterator __last,
127485                           std::input_iterator_tag)
127486       { std::copy(__first, __last, std::inserter(*this, __pos)); }
127487
127488   template <typename _Tp, typename _Alloc>
127489     template <typename _ForwardIterator>
127490       void
127491       deque<_Tp, _Alloc>::
127492       _M_range_insert_aux(iterator __pos,
127493                           _ForwardIterator __first, _ForwardIterator __last,
127494                           std::forward_iterator_tag)
127495       {
127496         const size_type __n = std::distance(__first, __last);
127497         if (__pos._M_cur == this->_M_impl._M_start._M_cur)
127498    {
127499      iterator __new_start = _M_reserve_elements_at_front(__n);
127500      try
127501        {
127502   std::__uninitialized_copy_a(__first, __last, __new_start,
127503          _M_get_Tp_allocator());
127504   this->_M_impl._M_start = __new_start;
127505        }
127506      catch(...)
127507        {
127508   _M_destroy_nodes(__new_start._M_node,
127509      this->_M_impl._M_start._M_node);
127510   throw;
127511        }
127512    }
127513         else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
127514    {
127515      iterator __new_finish = _M_reserve_elements_at_back(__n);
127516      try
127517        {
127518   std::__uninitialized_copy_a(__first, __last,
127519          this->_M_impl._M_finish,
127520          _M_get_Tp_allocator());
127521   this->_M_impl._M_finish = __new_finish;
127522        }
127523      catch(...)
127524        {
127525   _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
127526      __new_finish._M_node + 1);
127527   throw;
127528        }
127529    }
127530         else
127531           _M_insert_aux(__pos, __first, __last, __n);
127532       }
127533
127534   template <typename _Tp, typename _Alloc>
127535     typename deque<_Tp, _Alloc>::iterator
127536     deque<_Tp, _Alloc>::
127537     _M_insert_aux(iterator __pos, const value_type& __x)
127538     {
127539       difference_type __index = __pos - this->_M_impl._M_start;
127540       value_type __x_copy = __x;
127541       if (static_cast<size_type>(__index) < size() / 2)
127542  {
127543    push_front(front());
127544    iterator __front1 = this->_M_impl._M_start;
127545    ++__front1;
127546    iterator __front2 = __front1;
127547    ++__front2;
127548    __pos = this->_M_impl._M_start + __index;
127549    iterator __pos1 = __pos;
127550    ++__pos1;
127551    std::copy(__front2, __pos1, __front1);
127552  }
127553       else
127554  {
127555    push_back(back());
127556    iterator __back1 = this->_M_impl._M_finish;
127557    --__back1;
127558    iterator __back2 = __back1;
127559    --__back2;
127560    __pos = this->_M_impl._M_start + __index;
127561    std::copy_backward(__pos, __back2, __back1);
127562  }
127563       *__pos = __x_copy;
127564       return __pos;
127565     }
127566
127567   template <typename _Tp, typename _Alloc>
127568     void
127569     deque<_Tp, _Alloc>::
127570     _M_insert_aux(iterator __pos, size_type __n, const value_type& __x)
127571     {
127572       const difference_type __elems_before = __pos - this->_M_impl._M_start;
127573       const size_type __length = this->size();
127574       value_type __x_copy = __x;
127575       if (__elems_before < difference_type(__length / 2))
127576  {
127577    iterator __new_start = _M_reserve_elements_at_front(__n);
127578    iterator __old_start = this->_M_impl._M_start;
127579    __pos = this->_M_impl._M_start + __elems_before;
127580    try
127581      {
127582        if (__elems_before >= difference_type(__n))
127583   {
127584     iterator __start_n = (this->_M_impl._M_start
127585      + difference_type(__n));
127586     std::__uninitialized_copy_a(this->_M_impl._M_start,
127587            __start_n, __new_start,
127588            _M_get_Tp_allocator());
127589     this->_M_impl._M_start = __new_start;
127590     std::copy(__start_n, __pos, __old_start);
127591     fill(__pos - difference_type(__n), __pos, __x_copy);
127592   }
127593        else
127594   {
127595     std::__uninitialized_copy_fill(this->_M_impl._M_start,
127596        __pos, __new_start,
127597        this->_M_impl._M_start,
127598        __x_copy,
127599        _M_get_Tp_allocator());
127600     this->_M_impl._M_start = __new_start;
127601     std::fill(__old_start, __pos, __x_copy);
127602   }
127603      }
127604    catch(...)
127605      {
127606        _M_destroy_nodes(__new_start._M_node,
127607           this->_M_impl._M_start._M_node);
127608        throw;
127609      }
127610  }
127611       else
127612  {
127613    iterator __new_finish = _M_reserve_elements_at_back(__n);
127614    iterator __old_finish = this->_M_impl._M_finish;
127615    const difference_type __elems_after =
127616      difference_type(__length) - __elems_before;
127617    __pos = this->_M_impl._M_finish - __elems_after;
127618    try
127619      {
127620        if (__elems_after > difference_type(__n))
127621   {
127622     iterator __finish_n = (this->_M_impl._M_finish
127623       - difference_type(__n));
127624     std::__uninitialized_copy_a(__finish_n,
127625            this->_M_impl._M_finish,
127626            this->_M_impl._M_finish,
127627            _M_get_Tp_allocator());
127628     this->_M_impl._M_finish = __new_finish;
127629     std::copy_backward(__pos, __finish_n, __old_finish);
127630     std::fill(__pos, __pos + difference_type(__n), __x_copy);
127631   }
127632        else
127633   {
127634     std::__uninitialized_fill_copy(this->_M_impl._M_finish,
127635        __pos + difference_type(__n),
127636        __x_copy, __pos,
127637        this->_M_impl._M_finish,
127638        _M_get_Tp_allocator());
127639     this->_M_impl._M_finish = __new_finish;
127640     std::fill(__pos, __old_finish, __x_copy);
127641   }
127642      }
127643    catch(...)
127644      {
127645        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
127646           __new_finish._M_node + 1);
127647        throw;
127648      }
127649  }
127650     }
127651
127652   template <typename _Tp, typename _Alloc>
127653     template <typename _ForwardIterator>
127654       void
127655       deque<_Tp, _Alloc>::
127656       _M_insert_aux(iterator __pos,
127657                     _ForwardIterator __first, _ForwardIterator __last,
127658                     size_type __n)
127659       {
127660         const difference_type __elemsbefore = __pos - this->_M_impl._M_start;
127661         const size_type __length = size();
127662         if (static_cast<size_type>(__elemsbefore) < __length / 2)
127663    {
127664      iterator __new_start = _M_reserve_elements_at_front(__n);
127665      iterator __old_start = this->_M_impl._M_start;
127666      __pos = this->_M_impl._M_start + __elemsbefore;
127667      try
127668        {
127669   if (__elemsbefore >= difference_type(__n))
127670     {
127671       iterator __start_n = (this->_M_impl._M_start
127672        + difference_type(__n));
127673       std::__uninitialized_copy_a(this->_M_impl._M_start,
127674       __start_n, __new_start,
127675       _M_get_Tp_allocator());
127676       this->_M_impl._M_start = __new_start;
127677       std::copy(__start_n, __pos, __old_start);
127678       std::copy(__first, __last, __pos - difference_type(__n));
127679     }
127680   else
127681     {
127682       _ForwardIterator __mid = __first;
127683       std::advance(__mid, difference_type(__n) - __elemsbefore);
127684       std::__uninitialized_copy_copy(this->_M_impl._M_start,
127685          __pos, __first, __mid,
127686          __new_start,
127687          _M_get_Tp_allocator());
127688       this->_M_impl._M_start = __new_start;
127689       std::copy(__mid, __last, __old_start);
127690     }
127691        }
127692      catch(...)
127693        {
127694   _M_destroy_nodes(__new_start._M_node,
127695      this->_M_impl._M_start._M_node);
127696   throw;
127697        }
127698    }
127699         else
127700         {
127701           iterator __new_finish = _M_reserve_elements_at_back(__n);
127702           iterator __old_finish = this->_M_impl._M_finish;
127703           const difference_type __elemsafter =
127704             difference_type(__length) - __elemsbefore;
127705           __pos = this->_M_impl._M_finish - __elemsafter;
127706           try
127707             {
127708               if (__elemsafter > difference_type(__n))
127709   {
127710     iterator __finish_n = (this->_M_impl._M_finish
127711       - difference_type(__n));
127712     std::__uninitialized_copy_a(__finish_n,
127713            this->_M_impl._M_finish,
127714            this->_M_impl._M_finish,
127715            _M_get_Tp_allocator());
127716     this->_M_impl._M_finish = __new_finish;
127717     std::copy_backward(__pos, __finish_n, __old_finish);
127718     std::copy(__first, __last, __pos);
127719   }
127720               else
127721   {
127722     _ForwardIterator __mid = __first;
127723     std::advance(__mid, __elemsafter);
127724     std::__uninitialized_copy_copy(__mid, __last, __pos,
127725        this->_M_impl._M_finish,
127726        this->_M_impl._M_finish,
127727        _M_get_Tp_allocator());
127728     this->_M_impl._M_finish = __new_finish;
127729     std::copy(__first, __mid, __pos);
127730   }
127731             }
127732           catch(...)
127733             {
127734               _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
127735           __new_finish._M_node + 1);
127736               throw;
127737             }
127738         }
127739       }
127740
127741   template <typename _Tp, typename _Alloc>
127742     void
127743     deque<_Tp, _Alloc>::
127744     _M_new_elements_at_front(size_type __new_elems)
127745     {
127746       const size_type __new_nodes
127747  = (__new_elems + _S_buffer_size() - 1) / _S_buffer_size();
127748       _M_reserve_map_at_front(__new_nodes);
127749       size_type __i;
127750       try
127751         {
127752           for (__i = 1; __i <= __new_nodes; ++__i)
127753             *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node();
127754         }
127755       catch(...)
127756         {
127757           for (size_type __j = 1; __j < __i; ++__j)
127758             _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j));
127759           throw;
127760         }
127761     }
127762
127763   template <typename _Tp, typename _Alloc>
127764     void
127765     deque<_Tp, _Alloc>::
127766     _M_new_elements_at_back(size_type __new_elems)
127767     {
127768       const size_type __new_nodes
127769  = (__new_elems + _S_buffer_size() - 1) / _S_buffer_size();
127770       _M_reserve_map_at_back(__new_nodes);
127771       size_type __i;
127772       try
127773         {
127774           for (__i = 1; __i <= __new_nodes; ++__i)
127775             *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node();
127776         }
127777       catch(...)
127778         {
127779           for (size_type __j = 1; __j < __i; ++__j)
127780             _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j));
127781           throw;
127782         }
127783     }
127784
127785   template <typename _Tp, typename _Alloc>
127786     void
127787     deque<_Tp, _Alloc>::
127788     _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front)
127789     {
127790       const size_type __old_num_nodes
127791  = this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1;
127792       const size_type __new_num_nodes = __old_num_nodes + __nodes_to_add;
127793
127794       _Map_pointer __new_nstart;
127795       if (this->_M_impl._M_map_size > 2 * __new_num_nodes)
127796  {
127797    __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size
127798       - __new_num_nodes) / 2
127799                   + (__add_at_front ? __nodes_to_add : 0);
127800    if (__new_nstart < this->_M_impl._M_start._M_node)
127801      std::copy(this->_M_impl._M_start._M_node,
127802       this->_M_impl._M_finish._M_node + 1,
127803       __new_nstart);
127804    else
127805      std::copy_backward(this->_M_impl._M_start._M_node,
127806           this->_M_impl._M_finish._M_node + 1,
127807           __new_nstart + __old_num_nodes);
127808  }
127809       else
127810  {
127811    size_type __new_map_size = this->_M_impl._M_map_size
127812                               + std::max(this->_M_impl._M_map_size,
127813       __nodes_to_add) + 2;
127814
127815    _Map_pointer __new_map = this->_M_allocate_map(__new_map_size);
127816    __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2
127817                   + (__add_at_front ? __nodes_to_add : 0);
127818    std::copy(this->_M_impl._M_start._M_node,
127819       this->_M_impl._M_finish._M_node + 1,
127820       __new_nstart);
127821    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
127822
127823    this->_M_impl._M_map = __new_map;
127824    this->_M_impl._M_map_size = __new_map_size;
127825  }
127826
127827       this->_M_impl._M_start._M_set_node(__new_nstart);
127828       this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1);
127829     }
127830 }
127831 # 75 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/deque" 2 3
127832
127833
127834
127835
127836
127837
127838 #pragma GCC visibility pop
127839 # 75 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/queue" 2 3
127840
127841 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 1 3
127842 # 62 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 3
127843 #define _QUEUE_H 1
127844
127845
127846
127847
127848 namespace std
127849 {
127850
127851   template<typename _Tp, typename _Sequence = deque<_Tp> >
127852     class queue;
127853
127854   template<typename _Tp, typename _Seq>
127855     inline bool
127856     operator==(const queue<_Tp,_Seq>&, const queue<_Tp,_Seq>&);
127857
127858   template<typename _Tp, typename _Seq>
127859     inline bool
127860     operator<(const queue<_Tp,_Seq>&, const queue<_Tp,_Seq>&);
127861 # 105 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 3
127862   template<typename _Tp, typename _Sequence>
127863     class queue
127864     {
127865
127866       typedef typename _Sequence::value_type _Sequence_value_type;
127867      
127868      
127869      
127870      
127871
127872       template<typename _Tp1, typename _Seq1>
127873         friend bool
127874         operator==(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&);
127875
127876       template<typename _Tp1, typename _Seq1>
127877         friend bool
127878         operator<(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&);
127879
127880     public:
127881       typedef typename _Sequence::value_type value_type;
127882       typedef typename _Sequence::reference reference;
127883       typedef typename _Sequence::const_reference const_reference;
127884       typedef typename _Sequence::size_type size_type;
127885       typedef _Sequence container_type;
127886
127887     protected:
127888 # 139 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 3
127889       _Sequence c;
127890
127891     public:
127892
127893
127894
127895       explicit
127896       queue(const _Sequence& __c = _Sequence()) : c(__c) {}
127897
127898
127899
127900
127901       bool
127902       empty() const
127903       { return c.empty(); }
127904
127905
127906       size_type
127907       size() const
127908       { return c.size(); }
127909
127910
127911
127912
127913
127914       reference
127915       front()
127916       {
127917  ;
127918  return c.front();
127919       }
127920
127921
127922
127923
127924
127925       const_reference
127926       front() const
127927       {
127928  ;
127929  return c.front();
127930       }
127931
127932
127933
127934
127935
127936       reference
127937       back()
127938       {
127939  ;
127940  return c.back();
127941       }
127942
127943
127944
127945
127946
127947       const_reference
127948       back() const
127949       {
127950  ;
127951  return c.back();
127952       }
127953 # 213 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 3
127954       void
127955       push(const value_type& __x)
127956       { c.push_back(__x); }
127957 # 228 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 3
127958       void
127959       pop()
127960       {
127961  ;
127962  c.pop_front();
127963       }
127964     };
127965 # 248 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 3
127966   template<typename _Tp, typename _Sequence>
127967     inline bool
127968     operator==(const queue<_Tp,_Sequence>& __x,
127969         const queue<_Tp,_Sequence>& __y)
127970     { return __x.c == __y.c; }
127971 # 267 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 3
127972   template<typename _Tp, typename _Sequence>
127973     inline bool
127974     operator<(const queue<_Tp,_Sequence>& __x, const queue<_Tp,_Sequence>& __y)
127975     { return __x.c < __y.c; }
127976
127977
127978   template<typename _Tp, typename _Sequence>
127979     inline bool
127980     operator!=(const queue<_Tp,_Sequence>& __x,
127981         const queue<_Tp,_Sequence>& __y)
127982     { return !(__x == __y); }
127983
127984
127985   template<typename _Tp, typename _Sequence>
127986     inline bool
127987     operator>(const queue<_Tp,_Sequence>& __x, const queue<_Tp,_Sequence>& __y)
127988     { return __y < __x; }
127989
127990
127991   template<typename _Tp, typename _Sequence>
127992     inline bool
127993     operator<=(const queue<_Tp,_Sequence>& __x,
127994         const queue<_Tp,_Sequence>& __y)
127995     { return !(__y < __x); }
127996
127997
127998   template<typename _Tp, typename _Sequence>
127999     inline bool
128000     operator>=(const queue<_Tp,_Sequence>& __x,
128001         const queue<_Tp,_Sequence>& __y)
128002     { return !(__x < __y); }
128003 # 335 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 3
128004   template<typename _Tp, typename _Sequence = vector<_Tp>,
128005     typename _Compare = less<typename _Sequence::value_type> >
128006     class priority_queue
128007     {
128008
128009       typedef typename _Sequence::value_type _Sequence_value_type;
128010      
128011      
128012      
128013      
128014      
128015
128016     public:
128017       typedef typename _Sequence::value_type value_type;
128018       typedef typename _Sequence::reference reference;
128019       typedef typename _Sequence::const_reference const_reference;
128020       typedef typename _Sequence::size_type size_type;
128021       typedef _Sequence container_type;
128022
128023     protected:
128024
128025       _Sequence c;
128026       _Compare comp;
128027
128028     public:
128029
128030
128031
128032       explicit
128033       priority_queue(const _Compare& __x = _Compare(),
128034        const _Sequence& __s = _Sequence())
128035       : c(__s), comp(__x)
128036       { std::make_heap(c.begin(), c.end(), comp); }
128037 # 384 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 3
128038       template<typename _InputIterator>
128039         priority_queue(_InputIterator __first, _InputIterator __last,
128040          const _Compare& __x = _Compare(),
128041          const _Sequence& __s = _Sequence())
128042  : c(__s), comp(__x)
128043         {
128044    ;
128045    c.insert(c.end(), __first, __last);
128046    std::make_heap(c.begin(), c.end(), comp);
128047  }
128048
128049
128050
128051
128052       bool
128053       empty() const { return c.empty(); }
128054
128055
128056       size_type
128057       size() const { return c.size(); }
128058
128059
128060
128061
128062
128063       const_reference
128064       top() const
128065       {
128066  ;
128067  return c.front();
128068       }
128069 # 424 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 3
128070       void
128071       push(const value_type& __x)
128072       {
128073  try
128074         {
128075           c.push_back(__x);
128076           std::push_heap(c.begin(), c.end(), comp);
128077         }
128078  catch(...)
128079         {
128080           c.clear();
128081           throw;
128082         }
128083       }
128084 # 450 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_queue.h" 3
128085       void
128086       pop()
128087       {
128088  ;
128089  try
128090         {
128091           std::pop_heap(c.begin(), c.end(), comp);
128092           c.pop_back();
128093         }
128094  catch(...)
128095         {
128096           c.clear();
128097           throw;
128098         }
128099       }
128100     };
128101
128102
128103 }
128104 # 77 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4/queue" 2 3
128105
128106 #pragma GCC visibility pop
128107 # 5 "/home/emanuel/DIKU/3dot/source/core/enginestruct.hpp" 2
128108
128109
128110
128111 namespace Core {
128112
128113  class Task {
128114  public:
128115   Task( float awakeTime_ , const luabind::object& corotine_ ) : mAwakeTime(awakeTime_) , mTask( corotine_ ){}
128116
128117   float mAwakeTime;
128118
128119   luabind::object mTask;
128120  };
128121
128122  struct TaskComparer {
128123   bool operator()( const Task& l_ , const Task& r_ ) const{
128124    return l_.mAwakeTime > r_.mAwakeTime;
128125   }
128126  };
128127
128128
128129
128130  typedef std::priority_queue< Task , std::vector<Task> , TaskComparer > TaskQueue;
128131
128132
128133 }
128134 # 8 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp" 2
128135 # 1 "/home/emanuel/DIKU/3dot/source/util/lua/luawrapper.hpp" 1
128136
128137 #define UTIL_LUA_LUAWRAPPER_HPP 
128138
128139 extern "C"
128140 {
128141 # 1 "/usr/include/CEGUI/lua.h" 1
128142 # 7 "/home/emanuel/DIKU/3dot/source/util/lua/luawrapper.hpp" 2
128143 # 1 "/usr/include/CEGUI/lualib.h" 1
128144 # 9 "/usr/include/CEGUI/lualib.h"
128145 #define lualib_h 
128146
128147 # 1 "/usr/include/CEGUI/lua.h" 1
128148 # 12 "/usr/include/CEGUI/lualib.h" 2
128149
128150
128151
128152 #define LUALIB_API LUA_API
128153
128154
128155
128156 #define LUA_COLIBNAME "coroutine"
128157 extern int luaopen_base (lua_State *L);
128158
128159 #define LUA_TABLIBNAME "table"
128160 extern int luaopen_table (lua_State *L);
128161
128162 #define LUA_IOLIBNAME "io"
128163 #define LUA_OSLIBNAME "os"
128164 extern int luaopen_io (lua_State *L);
128165
128166 #define LUA_STRLIBNAME "string"
128167 extern int luaopen_string (lua_State *L);
128168
128169 #define LUA_MATHLIBNAME "math"
128170 extern int luaopen_math (lua_State *L);
128171
128172 #define LUA_DBLIBNAME "debug"
128173 extern int luaopen_debug (lua_State *L);
128174
128175
128176 extern int luaopen_loadlib (lua_State *L);
128177
128178
128179
128180
128181 #define lua_assert(c) 
128182
128183
128184
128185
128186 #define lua_baselibopen luaopen_base
128187 #define lua_tablibopen luaopen_table
128188 #define lua_iolibopen luaopen_io
128189 #define lua_strlibopen luaopen_string
128190 #define lua_mathlibopen luaopen_math
128191 #define lua_dblibopen luaopen_debug
128192 # 8 "/home/emanuel/DIKU/3dot/source/util/lua/luawrapper.hpp" 2
128193 # 1 "/usr/include/CEGUI/lauxlib.h" 1
128194 # 9 "/usr/include/CEGUI/lauxlib.h"
128195 #define lauxlib_h 
128196
128197
128198 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
128199 # 13 "/usr/include/CEGUI/lauxlib.h" 2
128200 # 24 "/usr/include/CEGUI/lauxlib.h"
128201 typedef struct luaL_reg {
128202   const char *name;
128203   lua_CFunction func;
128204 } luaL_reg;
128205
128206
128207 extern void luaL_openlib (lua_State *L, const char *libname,
128208                                const luaL_reg *l, int nup);
128209 extern int luaL_getmetafield (lua_State *L, int obj, const char *e);
128210 extern int luaL_callmeta (lua_State *L, int obj, const char *e);
128211 extern int luaL_typerror (lua_State *L, int narg, const char *tname);
128212 extern int luaL_argerror (lua_State *L, int numarg, const char *extramsg);
128213 extern const char *luaL_checklstring (lua_State *L, int numArg, size_t *l);
128214 extern const char *luaL_optlstring (lua_State *L, int numArg,
128215                                            const char *def, size_t *l);
128216 extern lua_Number luaL_checknumber (lua_State *L, int numArg);
128217 extern lua_Number luaL_optnumber (lua_State *L, int nArg, lua_Number def);
128218
128219 extern void luaL_checkstack (lua_State *L, int sz, const char *msg);
128220 extern void luaL_checktype (lua_State *L, int narg, int t);
128221 extern void luaL_checkany (lua_State *L, int narg);
128222
128223 extern int luaL_newmetatable (lua_State *L, const char *tname);
128224 extern void luaL_getmetatable (lua_State *L, const char *tname);
128225 extern void *luaL_checkudata (lua_State *L, int ud, const char *tname);
128226
128227 extern void luaL_where (lua_State *L, int lvl);
128228 extern int luaL_error (lua_State *L, const char *fmt, ...);
128229
128230 extern int luaL_findstring (const char *st, const char *const lst[]);
128231
128232 extern int luaL_ref (lua_State *L, int t);
128233 extern void luaL_unref (lua_State *L, int t, int ref);
128234
128235 extern int luaL_getn (lua_State *L, int t);
128236 extern void luaL_setn (lua_State *L, int t, int n);
128237
128238 extern int luaL_loadfile (lua_State *L, const char *filename);
128239 extern int luaL_loadbuffer (lua_State *L, const char *buff, size_t sz,
128240                                 const char *name);
128241 # 73 "/usr/include/CEGUI/lauxlib.h"
128242 #define luaL_argcheck(L,cond,numarg,extramsg) if (!(cond)) luaL_argerror(L, numarg,extramsg)
128243
128244 #define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL))
128245 #define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL))
128246 #define luaL_checkint(L,n) ((int)luaL_checknumber(L, n))
128247 #define luaL_checklong(L,n) ((long)luaL_checknumber(L, n))
128248 #define luaL_optint(L,n,d) ((int)luaL_optnumber(L, n,(lua_Number)(d)))
128249 #define luaL_optlong(L,n,d) ((long)luaL_optnumber(L, n,(lua_Number)(d)))
128250 # 91 "/usr/include/CEGUI/lauxlib.h"
128251 #define LUAL_BUFFERSIZE BUFSIZ
128252
128253
128254
128255 typedef struct luaL_Buffer {
128256   char *p;
128257   int lvl;
128258   lua_State *L;
128259   char buffer[8192];
128260 } luaL_Buffer;
128261
128262 #define luaL_putchar(B,c) ((void)((B)->p < ((B)->buffer+LUAL_BUFFERSIZE) || luaL_prepbuffer(B)), (*(B)->p++ = (char)(c)))
128263
128264
128265
128266 #define luaL_addsize(B,n) ((B)->p += (n))
128267
128268 extern void luaL_buffinit (lua_State *L, luaL_Buffer *B);
128269 extern char *luaL_prepbuffer (luaL_Buffer *B);
128270 extern void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l);
128271 extern void luaL_addstring (luaL_Buffer *B, const char *s);
128272 extern void luaL_addvalue (luaL_Buffer *B);
128273 extern void luaL_pushresult (luaL_Buffer *B);
128274 # 124 "/usr/include/CEGUI/lauxlib.h"
128275 extern int lua_dofile (lua_State *L, const char *filename);
128276 extern int lua_dostring (lua_State *L, const char *str);
128277 extern int lua_dobuffer (lua_State *L, const char *buff, size_t sz,
128278                                const char *n);
128279
128280
128281 #define luaL_check_lstr luaL_checklstring
128282 #define luaL_opt_lstr luaL_optlstring
128283 #define luaL_check_number luaL_checknumber
128284 #define luaL_opt_number luaL_optnumber
128285 #define luaL_arg_check luaL_argcheck
128286 #define luaL_check_string luaL_checkstring
128287 #define luaL_opt_string luaL_optstring
128288 #define luaL_check_int luaL_checkint
128289 #define luaL_check_long luaL_checklong
128290 #define luaL_opt_int luaL_optint
128291 #define luaL_opt_long luaL_optlong
128292 # 9 "/home/emanuel/DIKU/3dot/source/util/lua/luawrapper.hpp" 2
128293 }
128294 # 19 "/home/emanuel/DIKU/3dot/source/util/lua/luawrapper.hpp"
128295 # 1 "/usr/include/boost/function.hpp" 1 3 4
128296 # 61 "/usr/include/boost/function.hpp" 3 4
128297 #define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
128298 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
128299 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
128300 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
128301 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
128302 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
128303 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
128304 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128305 #undef BOOST_PP_SLOT_TEMP_1
128306 #undef BOOST_PP_SLOT_TEMP_2
128307 #undef BOOST_PP_SLOT_TEMP_3
128308 #undef BOOST_PP_SLOT_TEMP_4
128309 #undef BOOST_PP_SLOT_TEMP_5
128310 #undef BOOST_PP_SLOT_TEMP_6
128311 #undef BOOST_PP_SLOT_TEMP_7
128312 #undef BOOST_PP_SLOT_TEMP_8
128313 #undef BOOST_PP_SLOT_TEMP_9
128314 #undef BOOST_PP_SLOT_TEMP_10
128315
128316
128317 #define BOOST_PP_SLOT_TEMP_10 0
128318 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128319 #define BOOST_PP_SLOT_TEMP_9 0
128320 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128321 #define BOOST_PP_SLOT_TEMP_8 0
128322 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128323 #define BOOST_PP_SLOT_TEMP_7 0
128324 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128325 #define BOOST_PP_SLOT_TEMP_6 0
128326 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128327 #define BOOST_PP_SLOT_TEMP_5 0
128328 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128329 #define BOOST_PP_SLOT_TEMP_4 0
128330 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128331 #define BOOST_PP_SLOT_TEMP_3 0
128332 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128333 #define BOOST_PP_SLOT_TEMP_2 0
128334 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128335 #define BOOST_PP_SLOT_TEMP_1 0
128336 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128337 #undef BOOST_PP_VALUE
128338 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
128339
128340 #undef BOOST_PP_ITERATION_START_1
128341
128342 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
128343 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
128344 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
128345 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
128346 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
128347 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
128348 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
128349 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
128350 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
128351 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
128352
128353
128354 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
128355 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
128356 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
128357 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
128358 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
128359 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
128360 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
128361 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128362 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
128363 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
128364 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
128365 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
128366 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128367 #undef BOOST_PP_SLOT_TEMP_1
128368 #undef BOOST_PP_SLOT_TEMP_2
128369 #undef BOOST_PP_SLOT_TEMP_3
128370 #undef BOOST_PP_SLOT_TEMP_4
128371 #undef BOOST_PP_SLOT_TEMP_5
128372 #undef BOOST_PP_SLOT_TEMP_6
128373 #undef BOOST_PP_SLOT_TEMP_7
128374 #undef BOOST_PP_SLOT_TEMP_8
128375 #undef BOOST_PP_SLOT_TEMP_9
128376 #undef BOOST_PP_SLOT_TEMP_10
128377
128378
128379 #define BOOST_PP_SLOT_TEMP_10 0
128380 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128381 #define BOOST_PP_SLOT_TEMP_9 0
128382 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128383 #define BOOST_PP_SLOT_TEMP_8 0
128384 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128385 #define BOOST_PP_SLOT_TEMP_7 0
128386 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128387 #define BOOST_PP_SLOT_TEMP_6 0
128388 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128389 #define BOOST_PP_SLOT_TEMP_5 0
128390 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128391 #define BOOST_PP_SLOT_TEMP_4 0
128392 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128393 #define BOOST_PP_SLOT_TEMP_3 0
128394 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128395 #define BOOST_PP_SLOT_TEMP_2 1
128396 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128397 #define BOOST_PP_SLOT_TEMP_1 0
128398 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128399 #undef BOOST_PP_VALUE
128400 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
128401
128402 #undef BOOST_PP_ITERATION_FINISH_1
128403
128404 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
128405 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
128406 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
128407 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
128408 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
128409 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
128410 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
128411 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
128412 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
128413 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
128414
128415
128416 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
128417 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
128418 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
128419 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
128420 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
128421 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
128422 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
128423 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128424 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
128425
128426
128427
128428 #define BOOST_PP_ITERATION_FLAGS_1 0
128429
128430
128431
128432
128433
128434 #undef BOOST_PP_ITERATION_DEPTH
128435 #define BOOST_PP_ITERATION_DEPTH() 1
128436
128437 #define BOOST_PP_IS_ITERATING 1
128438
128439
128440
128441
128442
128443 #define BOOST_PP_ITERATION_1 0
128444 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128445 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128446 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128447 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128448 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128449 #undef BOOST_FUNCTION_NUM_ARGS
128450 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128451 #undef BOOST_PP_ITERATION_1
128452
128453
128454 #define BOOST_PP_ITERATION_1 1
128455 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128456 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128457 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128458 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128459 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128460 #undef BOOST_FUNCTION_NUM_ARGS
128461 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128462 #undef BOOST_PP_ITERATION_1
128463
128464
128465 #define BOOST_PP_ITERATION_1 2
128466 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128467 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128468 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128469 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128470 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128471 #undef BOOST_FUNCTION_NUM_ARGS
128472 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128473 #undef BOOST_PP_ITERATION_1
128474
128475
128476 #define BOOST_PP_ITERATION_1 3
128477 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128478 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128479 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128480 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128481 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128482 #undef BOOST_FUNCTION_NUM_ARGS
128483 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128484 #undef BOOST_PP_ITERATION_1
128485
128486
128487 #define BOOST_PP_ITERATION_1 4
128488 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128489 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128490 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128491 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128492 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128493 #undef BOOST_FUNCTION_NUM_ARGS
128494 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128495 #undef BOOST_PP_ITERATION_1
128496
128497
128498 #define BOOST_PP_ITERATION_1 5
128499 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128500 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128501 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128502 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128503 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128504 #undef BOOST_FUNCTION_NUM_ARGS
128505 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128506 #undef BOOST_PP_ITERATION_1
128507
128508
128509 #define BOOST_PP_ITERATION_1 6
128510 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128511 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128512 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128513 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128514 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128515 #undef BOOST_FUNCTION_NUM_ARGS
128516 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128517 #undef BOOST_PP_ITERATION_1
128518
128519
128520 #define BOOST_PP_ITERATION_1 7
128521 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128522 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128523 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128524 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128525 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128526 #undef BOOST_FUNCTION_NUM_ARGS
128527 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128528 #undef BOOST_PP_ITERATION_1
128529
128530
128531 #define BOOST_PP_ITERATION_1 8
128532 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128533 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128534 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128535 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128536 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128537 #undef BOOST_FUNCTION_NUM_ARGS
128538 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128539 #undef BOOST_PP_ITERATION_1
128540
128541
128542 #define BOOST_PP_ITERATION_1 9
128543 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128544 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128545 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128546 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128547 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128548 #undef BOOST_FUNCTION_NUM_ARGS
128549 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128550 #undef BOOST_PP_ITERATION_1
128551
128552
128553 #define BOOST_PP_ITERATION_1 10
128554 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128555 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128556 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128557 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128558 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128559 #undef BOOST_FUNCTION_NUM_ARGS
128560 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128561 #undef BOOST_PP_ITERATION_1
128562 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
128563 #undef BOOST_PP_IS_ITERATING
128564
128565 #undef BOOST_PP_ITERATION_DEPTH
128566 #define BOOST_PP_ITERATION_DEPTH() 0
128567
128568 #undef BOOST_PP_ITERATION_START_1
128569 #undef BOOST_PP_ITERATION_FINISH_1
128570 #undef BOOST_PP_FILENAME_1
128571
128572 #undef BOOST_PP_ITERATION_FLAGS_1
128573 #undef BOOST_PP_ITERATION_PARAMS_1
128574 # 63 "/usr/include/boost/function.hpp" 2 3 4
128575 #undef BOOST_PP_ITERATION_PARAMS_1
128576 # 20 "/home/emanuel/DIKU/3dot/source/util/lua/luawrapper.hpp" 2
128577
128578
128579
128580
128581
128582
128583
128584 namespace luabind
128585 {
128586  template<class T>
128587  T* get_pointer(boost::shared_ptr<T>& p) {
128588   return p.get();
128589  }
128590
128591  template<class A>
128592  boost::shared_ptr<const A>* get_const_holder(boost::shared_ptr<A>* t)
128593  {
128594   return 0;
128595  }
128596 }
128597
128598 namespace Lua
128599 {
128600
128601
128602  void addWrapper( boost::function< void( lua_State* ) > adder , int priority = 0 );
128603  void addInitialiser( boost::function< void( lua_State* ) > init , int priority = 0 );
128604
128605  void initializeLua();
128606  void initializeLuaConst();
128607
128608
128609
128610  lua_State* getGlobalState();
128611  extern luabind::object LuaGlobals;
128612
128613  bool ExecuteString( const std::string& statement );
128614  bool CompileString( const std::string& statement, int handle_ );
128615  bool ExecuteFile( const std::string& file );
128616  bool CompileFile( const std::string& file_, int handle_ );
128617  bool Execute( int handle_ );
128618  void PrintStackTrace( std::ostream& );
128619
128620
128621
128622  std::string BuildCall( const std::string& object , const std::string& method );
128623  std::string BuildCall( const std::string& object , const std::string& method );
128624  std::string BuildCall( const std::string& object , const std::string& method , const std::string& arg0 );
128625  std::string BuildCall( const std::string& object , const std::string& method , const std::string& arg0 , const std::string& arg1 );
128626  std::string BuildCall( const std::string& object , const std::string& method , const std::string& arg0 , const std::string& arg1 , const std::string& arg2 );
128627  std::string BuildCall( const std::string& object , const std::string& method , const std::string& arg0 , const std::string& arg1 , const std::string& arg2 , const std::string& arg3 );
128628
128629
128630  template< typename Arg1 >
128631  void Call( const std::string& name_, Arg1 arg1_ );
128632  template< typename Ret , typename Arg1 , typename Arg2 >
128633  Ret CallRet( const std::string& name_, Arg1 arg1_ , Arg2 arg2_);
128634  template< typename Arg1 , typename Arg2 >
128635  void Call( const std::string& name_, Arg1 arg1_ , Arg2 arg2_);
128636  template< typename Arg1 , typename Arg2 , typename Arg3 >
128637  void Call( const std::string& name_, Arg1 arg1_ , Arg2 arg2_ , Arg3 arg3_ );
128638
128639  template< typename T >
128640  void Set( const std::string& name_, T& var_ );
128641
128642
128643
128644
128645
128646
128647
128648  template< class Arg1 >
128649  void Call( const std::string& name_, Arg1 arg1_ ){
128650   luabind::call_function< void >( getGlobalState() , name_.c_str(), arg1_ );
128651  }
128652
128653  template< typename Arg1 , typename Arg2 >
128654  void Call( const std::string& name_, Arg1 arg1_ , Arg2 arg2_){
128655   luabind::call_function< void >( getGlobalState() , name_.c_str(), arg1_ , arg2_ );
128656  }
128657
128658  template< typename Ret , typename Arg1 , typename Arg2 >
128659  Ret CallRet( const std::string& name_, Arg1 arg1_ , Arg2 arg2_){
128660   return luabind::call_function< Ret >( getGlobalState() , name_.c_str(), arg1_ , arg2_ );
128661  }
128662
128663  template< typename Arg1 , typename Arg2 , typename Arg3 >
128664  void Call( const std::string& name_, Arg1 arg1_ , Arg2 arg2_ , Arg3 arg3_ ){
128665   luabind::call_function< void >( getGlobalState() , name_.c_str(), arg1_ , arg2_ , arg3_ );
128666  }
128667
128668
128669
128670  bool SafeCall( const std::string& name_ );
128671
128672  template< typename T >
128673  void Set( const std::string& name_, T& var_ )
128674  {
128675   luabind::globals( getGlobalState() )[ name_ ] = var_;
128676  }
128677
128678  template< typename T >
128679   void Set( const std::string& name_ , boost::shared_ptr<T> var_ ){
128680    luabind::globals( getGlobalState() )[ name_ ] = var_;
128681   }
128682
128683
128684  template< typename T >
128685  inline
128686  T Get( const std::string& name )
128687  {
128688   return luabind::object_cast< T >( LuaGlobals[ name ] );
128689 # 143 "/home/emanuel/DIKU/3dot/source/util/lua/luawrapper.hpp"
128690  }
128691 # 198 "/home/emanuel/DIKU/3dot/source/util/lua/luawrapper.hpp"
128692 }
128693 # 9 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp" 2
128694 # 1 "/home/emanuel/DIKU/3dot/source/core/engine.hpp" 1
128695
128696 #define CORE_ENGINE_HPP 
128697
128698 # 1 "/usr/include/boost/function.hpp" 1 3 4
128699 # 61 "/usr/include/boost/function.hpp" 3 4
128700 #define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
128701 # 1 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 3 4
128702 # 23 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
128703 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
128704 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 3 4
128705 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
128706 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
128707 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128708 #undef BOOST_PP_SLOT_TEMP_1
128709 #undef BOOST_PP_SLOT_TEMP_2
128710 #undef BOOST_PP_SLOT_TEMP_3
128711 #undef BOOST_PP_SLOT_TEMP_4
128712 #undef BOOST_PP_SLOT_TEMP_5
128713 #undef BOOST_PP_SLOT_TEMP_6
128714 #undef BOOST_PP_SLOT_TEMP_7
128715 #undef BOOST_PP_SLOT_TEMP_8
128716 #undef BOOST_PP_SLOT_TEMP_9
128717 #undef BOOST_PP_SLOT_TEMP_10
128718
128719
128720 #define BOOST_PP_SLOT_TEMP_10 0
128721 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128722 #define BOOST_PP_SLOT_TEMP_9 0
128723 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128724 #define BOOST_PP_SLOT_TEMP_8 0
128725 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128726 #define BOOST_PP_SLOT_TEMP_7 0
128727 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128728 #define BOOST_PP_SLOT_TEMP_6 0
128729 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128730 #define BOOST_PP_SLOT_TEMP_5 0
128731 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128732 #define BOOST_PP_SLOT_TEMP_4 0
128733 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128734 #define BOOST_PP_SLOT_TEMP_3 0
128735 # 204 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128736 #define BOOST_PP_SLOT_TEMP_2 0
128737 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128738 #define BOOST_PP_SLOT_TEMP_1 0
128739 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128740 #undef BOOST_PP_VALUE
128741 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 3 4
128742
128743 #undef BOOST_PP_ITERATION_START_1
128744
128745 #undef BOOST_PP_ITERATION_START_1_DIGIT_1
128746 #undef BOOST_PP_ITERATION_START_1_DIGIT_2
128747 #undef BOOST_PP_ITERATION_START_1_DIGIT_3
128748 #undef BOOST_PP_ITERATION_START_1_DIGIT_4
128749 #undef BOOST_PP_ITERATION_START_1_DIGIT_5
128750 #undef BOOST_PP_ITERATION_START_1_DIGIT_6
128751 #undef BOOST_PP_ITERATION_START_1_DIGIT_7
128752 #undef BOOST_PP_ITERATION_START_1_DIGIT_8
128753 #undef BOOST_PP_ITERATION_START_1_DIGIT_9
128754 #undef BOOST_PP_ITERATION_START_1_DIGIT_10
128755
128756
128757 #define BOOST_PP_ITERATION_START_1_DIGIT_3 0
128758 # 50 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
128759 #define BOOST_PP_ITERATION_START_1_DIGIT_2 0
128760 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
128761 #define BOOST_PP_ITERATION_START_1_DIGIT_1 0
128762 # 98 "/usr/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 3 4
128763 #define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
128764 # 25 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128765 #define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
128766 # 1 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 3 4
128767 # 12 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
128768 # 1 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 1 3 4
128769 # 16 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128770 #undef BOOST_PP_SLOT_TEMP_1
128771 #undef BOOST_PP_SLOT_TEMP_2
128772 #undef BOOST_PP_SLOT_TEMP_3
128773 #undef BOOST_PP_SLOT_TEMP_4
128774 #undef BOOST_PP_SLOT_TEMP_5
128775 #undef BOOST_PP_SLOT_TEMP_6
128776 #undef BOOST_PP_SLOT_TEMP_7
128777 #undef BOOST_PP_SLOT_TEMP_8
128778 #undef BOOST_PP_SLOT_TEMP_9
128779 #undef BOOST_PP_SLOT_TEMP_10
128780
128781
128782 #define BOOST_PP_SLOT_TEMP_10 0
128783 # 50 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128784 #define BOOST_PP_SLOT_TEMP_9 0
128785 # 72 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128786 #define BOOST_PP_SLOT_TEMP_8 0
128787 # 94 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128788 #define BOOST_PP_SLOT_TEMP_7 0
128789 # 116 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128790 #define BOOST_PP_SLOT_TEMP_6 0
128791 # 138 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128792 #define BOOST_PP_SLOT_TEMP_5 0
128793 # 160 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128794 #define BOOST_PP_SLOT_TEMP_4 0
128795 # 182 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128796 #define BOOST_PP_SLOT_TEMP_3 0
128797 # 206 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128798 #define BOOST_PP_SLOT_TEMP_2 1
128799 # 226 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128800 #define BOOST_PP_SLOT_TEMP_1 0
128801 # 247 "/usr/include/boost/preprocessor/slot/detail/shared.hpp" 3 4
128802 #undef BOOST_PP_VALUE
128803 # 13 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 3 4
128804
128805 #undef BOOST_PP_ITERATION_FINISH_1
128806
128807 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
128808 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
128809 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
128810 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
128811 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
128812 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
128813 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
128814 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
128815 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
128816 #undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
128817
128818
128819 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
128820 # 52 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
128821 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
128822 # 72 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
128823 #define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
128824 # 96 "/usr/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 3 4
128825 #define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
128826 # 27 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128827 #define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
128828
128829
128830
128831 #define BOOST_PP_ITERATION_FLAGS_1 0
128832
128833
128834
128835
128836
128837 #undef BOOST_PP_ITERATION_DEPTH
128838 #define BOOST_PP_ITERATION_DEPTH() 1
128839
128840 #define BOOST_PP_IS_ITERATING 1
128841
128842
128843
128844
128845
128846 #define BOOST_PP_ITERATION_1 0
128847 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128848 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128849 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128850 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128851 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128852 #undef BOOST_FUNCTION_NUM_ARGS
128853 # 48 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128854 #undef BOOST_PP_ITERATION_1
128855
128856
128857 #define BOOST_PP_ITERATION_1 1
128858 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128859 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128860 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128861 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128862 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128863 #undef BOOST_FUNCTION_NUM_ARGS
128864 # 53 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128865 #undef BOOST_PP_ITERATION_1
128866
128867
128868 #define BOOST_PP_ITERATION_1 2
128869 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128870 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128871 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128872 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128873 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128874 #undef BOOST_FUNCTION_NUM_ARGS
128875 # 58 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128876 #undef BOOST_PP_ITERATION_1
128877
128878
128879 #define BOOST_PP_ITERATION_1 3
128880 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128881 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128882 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128883 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128884 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128885 #undef BOOST_FUNCTION_NUM_ARGS
128886 # 63 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128887 #undef BOOST_PP_ITERATION_1
128888
128889
128890 #define BOOST_PP_ITERATION_1 4
128891 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128892 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128893 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128894 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128895 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128896 #undef BOOST_FUNCTION_NUM_ARGS
128897 # 68 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128898 #undef BOOST_PP_ITERATION_1
128899
128900
128901 #define BOOST_PP_ITERATION_1 5
128902 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128903 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128904 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128905 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128906 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128907 #undef BOOST_FUNCTION_NUM_ARGS
128908 # 73 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128909 #undef BOOST_PP_ITERATION_1
128910
128911
128912 #define BOOST_PP_ITERATION_1 6
128913 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128914 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128915 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128916 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128917 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128918 #undef BOOST_FUNCTION_NUM_ARGS
128919 # 78 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128920 #undef BOOST_PP_ITERATION_1
128921
128922
128923 #define BOOST_PP_ITERATION_1 7
128924 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128925 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128926 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128927 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128928 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128929 #undef BOOST_FUNCTION_NUM_ARGS
128930 # 83 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128931 #undef BOOST_PP_ITERATION_1
128932
128933
128934 #define BOOST_PP_ITERATION_1 8
128935 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128936 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128937 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128938 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128939 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128940 #undef BOOST_FUNCTION_NUM_ARGS
128941 # 88 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128942 #undef BOOST_PP_ITERATION_1
128943
128944
128945 #define BOOST_PP_ITERATION_1 9
128946 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128947 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128948 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128949 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128950 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128951 #undef BOOST_FUNCTION_NUM_ARGS
128952 # 93 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128953 #undef BOOST_PP_ITERATION_1
128954
128955
128956 #define BOOST_PP_ITERATION_1 10
128957 # 1 "/usr/include/boost/function/detail/function_iterate.hpp" 1 3 4
128958 # 13 "/usr/include/boost/function/detail/function_iterate.hpp" 3 4
128959 #define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
128960 # 1 "/usr/include/boost/function/detail/maybe_include.hpp" 1 3 4
128961 # 15 "/usr/include/boost/function/detail/function_iterate.hpp" 2 3 4
128962 #undef BOOST_FUNCTION_NUM_ARGS
128963 # 98 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 3 4
128964 #undef BOOST_PP_ITERATION_1
128965 # 1332 "/usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp" 3 4
128966 #undef BOOST_PP_IS_ITERATING
128967
128968 #undef BOOST_PP_ITERATION_DEPTH
128969 #define BOOST_PP_ITERATION_DEPTH() 0
128970
128971 #undef BOOST_PP_ITERATION_START_1
128972 #undef BOOST_PP_ITERATION_FINISH_1
128973 #undef BOOST_PP_FILENAME_1
128974
128975 #undef BOOST_PP_ITERATION_FLAGS_1
128976 #undef BOOST_PP_ITERATION_PARAMS_1
128977 # 63 "/usr/include/boost/function.hpp" 2 3 4
128978 #undef BOOST_PP_ITERATION_PARAMS_1
128979 # 5 "/home/emanuel/DIKU/3dot/source/core/engine.hpp" 2
128980
128981
128982
128983 namespace Core {
128984 # 18 "/home/emanuel/DIKU/3dot/source/core/engine.hpp"
128985  class Engine {
128986
128987  public:
128988   typedef boost::function<void(float)> Task;
128989   typedef std::list<Task>::iterator TaskHandle;
128990
128991   Engine();
128992 # 34 "/home/emanuel/DIKU/3dot/source/core/engine.hpp"
128993   virtual TaskHandle AddUpdateTask( const Task& task_ );
128994
128995
128996   virtual void RemoveTask( TaskHandle handle_ ){
128997
128998    mRemoveList.push_back( handle_ );
128999   }
129000
129001
129002
129003   virtual void AddTask( const boost::function<void(void)>& task_ , float time_ );
129004
129005   void ExecuteTask( float dt_ );
129006
129007   static Engine& GetInstance();
129008
129009  private:
129010   static Engine* mInstance;
129011   std::list<Task> mTasks;
129012
129013   std::vector<TaskHandle> mRemoveList;
129014
129015  };
129016
129017 }
129018 # 10 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp" 2
129019 # 1 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/adopt_policy.hpp" 1
129020 # 25 "/home/emanuel/DIKU/3dot//externals/luabind/luabind/adopt_policy.hpp"
129021 #define LUABIND_ADOPT_POLICY_HPP_INCLUDED 
129022
129023
129024
129025
129026
129027
129028
129029 namespace luabind { namespace detail
129030 {
129031  template<class Direction = lua_to_cpp>
129032  struct adopt_pointer
129033  {
129034   typedef boost::mpl::bool_<false> is_value_converter;
129035   typedef adopt_pointer type;
129036
129037   template<class T>
129038   T* apply(lua_State* L, by_pointer<T>, int index)
129039   {
129040
129041
129042
129043
129044
129045    int offset = 0;
129046    object_rep* obj = static_cast<object_rep*>(lua_touserdata(L, index));
129047    (static_cast<void> (((obj != 0) && "internal error, please report") ? 0 : (__assert_fail ("(obj != 0) && \"internal error, please report\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/adopt_policy.hpp", 51, __PRETTY_FUNCTION__), 0)));
129048    const class_rep* crep = obj->crep();
129049
129050    int steps = implicit_cast(crep, &typeid(T), offset);
129051    (void)steps;
129052
129053    (static_cast<void> (((steps >= 0) && "adopt_pointer used with type that cannot be converted") ? 0 : (__assert_fail ("(steps >= 0) && \"adopt_pointer used with type that cannot be converted\"", "/home/emanuel/DIKU/3dot//externals/luabind/luabind/adopt_policy.hpp", 57, __PRETTY_FUNCTION__), 0)));
129054    obj->remove_ownership();
129055    T* ptr = reinterpret_cast<T*>(obj->ptr(offset));
129056
129057    return ptr;
129058   }
129059
129060   template<class T>
129061   static int match(lua_State* L, by_pointer<T>, int index)
129062   {
129063    object_rep* obj = is_class_object(L, index);
129064    if (obj == 0) return -1;
129065
129066    if (obj->flags() & object_rep::constant) return -1;
129067    if (!(obj->flags() & object_rep::owner)) return -1;
129068    int d;
129069    return implicit_cast(obj->crep(), &typeid(T), d);
129070   }
129071
129072   template<class T>
129073   void converter_postcall(lua_State*, T, int) {}
129074  };
129075
129076  template<>
129077  struct adopt_pointer<cpp_to_lua>
129078  {
129079   typedef boost::mpl::bool_<false> is_value_converter;
129080   typedef adopt_pointer type;
129081
129082   template<class T>
129083   void apply(lua_State* L, T* ptr)
129084   {
129085    if (ptr == 0)
129086    {
129087     lua_pushnil(L);
129088     return;
129089    }
129090
129091
129092
129093
129094    if (luabind::move_back_reference(L, ptr))
129095    {
129096     object_rep* obj = static_cast<object_rep*>(lua_touserdata(L, -1));
129097     obj->set_flags(obj->flags() | object_rep::owner);
129098     return;
129099    }
129100
129101    class_registry* registry = class_registry::get_registry(L);
129102    class_rep* crep = registry->find_class(&typeid(T));
129103
129104
129105
129106
129107
129108
129109    void* obj;
129110    void* held;
129111
129112    boost::tie(obj,held) = crep->allocate(L);
129113
129114    new(obj) object_rep(ptr, crep, object_rep::owner, delete_s<T>::apply);
129115
129116
129117    detail::getref(L, crep->metatable_ref());
129118    lua_setmetatable(L, -2);
129119   }
129120  };
129121
129122  template<int N>
129123
129124  struct adopt_policy : conversion_policy<N>
129125  {
129126
129127
129128   static void precall(lua_State*, const index_map&) {}
129129   static void postcall(lua_State*, const index_map&) {}
129130
129131   struct only_accepts_nonconst_pointers {};
129132
129133   template<class T, class Direction>
129134   struct apply
129135   {
129136    typedef luabind::detail::is_nonconst_pointer<T> is_nonconst_p;
129137    typedef typename boost::mpl::if_<is_nonconst_p, adopt_pointer<Direction>, only_accepts_nonconst_pointers>::type type;
129138   };
129139  };
129140
129141 }}
129142
129143 namespace luabind
129144 {
129145  template<int N>
129146  detail::policy_cons<detail::adopt_policy<N>, detail::null_type>
129147  adopt(boost::arg<N>)
129148  {
129149   return detail::policy_cons<detail::adopt_policy<N>, detail::null_type>();
129150  }
129151 }
129152 # 11 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp" 2
129153
129154
129155 namespace Scripting {
129156
129157
129158
129159
129160
129161
129162
129163  struct T {
129164   T(){
129165    mTop = &Core::TaskQueue::top;
129166   }
129167   const Core::TaskQueue::value_type&(Core::TaskQueue::*mTop)( void ) const;
129168  };
129169
129170  void AddTask( Core::TaskQueue* q_ , float time_ , const luabind::object& o_ ){
129171   q_->push( Core::Task( time_ , o_ ) );
129172  }
129173
129174
129175  struct TaskManagerWrapper : public Core::TaskManager , public luabind::wrap_base {
129176
129177   TaskManagerWrapper() : Core::TaskManager() {}
129178
129179   virtual void Sleep( float time_ ){
129180    call<void>("Sleep" , time_ );
129181   }
129182
129183   static void Default_Sleep( TaskManager* ptr_ , float time_ ){
129184    return ptr_->TaskManager::Sleep( time_ );
129185   }
129186
129187   virtual void AddTask( const boost::function<void(void)>& task_ , float time_ ){
129188    call<void>("AddTask" , task_ , time_ );
129189   }
129190
129191   static void Default_AddTask( TaskManager* ptr_ , const boost::function<void(void)>& task_ , float time_ ){
129192    return ptr_->TaskManager::AddTask( task_ , time_ );
129193   }
129194
129195  };
129196
129197
129198  struct EngineWrapper : public Core::Engine , public luabind::wrap_base {
129199 # 68 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp"
129200   virtual void AddTask( const boost::function<void(void)>& task_ , float time_ ){
129201    call<void>("AddTask" , task_ , time_ );
129202   }
129203
129204   static void Default_AddTask( Core::Engine* ptr_ , const boost::function<void(void)>& task_ , float time_ ){
129205    return ptr_->Core::Engine::AddTask( task_ , time_ );
129206   }
129207
129208
129209   EngineWrapper() : Core::Engine() {}
129210
129211  };
129212
129213  std::map< ClassID , CRTTI > g_RttiMap;
129214  std::map< ClassID , luabind::object > g_ReflectionMap;
129215
129216  bool DoReflection( ClassID myid_ ){
129217   return luabind::call_function<bool>( g_ReflectionMap[ myid_ ](myid_) );
129218  }
129219
129220  CRTTI* GetRTTI( ClassID id_ ){
129221   if ( g_RttiMap.find( id_ ) == g_RttiMap.end() ) { std::cout << "(GetRTTI): RTTI was not registered" << std::endl; throw Exceptions::Error( "(GetRTTI): RTTI was not registered" , "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp" , 89 ); };
129222   return &(*g_RttiMap.find( id_ )).second;
129223  }
129224
129225  CRTTI* AddRTTI( CRTTI* basertti_ , ClassID myid_ , const std::string& className_ , const luabind::object& reflection_ ){
129226   g_ReflectionMap[ myid_ ] = reflection_;
129227   g_RttiMap.insert( make_pair( myid_ , CRTTI( 0 , myid_ , className_ , basertti_ , 0 , 0 ) ) );
129228   return GetRTTI( myid_ );
129229  }
129230
129231
129232
129233  template< typename T >
129234  class LuaTypedProperty : public CTypedProperty<T> {
129235  public:
129236   LuaTypedProperty( const std::string& name_ , const luabind::object& getter_ , const luabind::object& setter_ ) : CTypedProperty<T>( name_ ) , mGetter( getter_ ) , mSetter( setter_ ) {
129237   }
129238
129239   virtual T GetValue( CBaseObject* pObject ){
129240    return luabind::call_function<T>( mGetter , pObject );
129241   }
129242
129243   virtual void SetValue( CBaseObject* pObject, T Value ){
129244    luabind::call_function<void>( mSetter , pObject , Value );
129245   }
129246
129247   luabind::object mGetter;
129248   luabind::object mSetter;
129249
129250  };
129251
129252  template<typename T>
129253   void RegisterProperty( CRTTI* rtti_ , const std::string& name_ , const T& value_ , const luabind::object& getter_ , const luabind::object& setter_ ){
129254    (static_cast<void> ((rtti_) ? 0 : (__assert_fail ("rtti_", "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp", 122, __PRETTY_FUNCTION__), 0)));
129255    rtti_->GetProperties()->push_back( new LuaTypedProperty<T>( name_ , getter_ , setter_ ) );
129256   };
129257
129258
129259
129260  struct EntityWrapper : public Core::IEntity , public luabind::wrap_base {
129261
129262   EntityWrapper() : Core::IEntity(){};
129263
129264   virtual CRTTI* GetRTTI(){
129265    return call<CRTTI*>("GetRTTI");
129266   }
129267
129268   static CRTTI* Default_GetRTTI( Core::IEntity* ptr_ ){
129269    return ptr_->Core::IEntity::GetRTTI();
129270   }
129271
129272   virtual void SetPosition( Math::vec3 pos_ )
129273   {
129274    call<void>("SetPosition" , pos_ );
129275   }
129276
129277   virtual void SetOrientation( Math::quat orient_ )
129278   {
129279    call<void>("SetOrientation" , orient_ );
129280   }
129281 # 164 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp"
129282   virtual Math::vec3 GetPosition()
129283   {
129284    return call<const Math::vec3&>("GetPosition");
129285   }
129286
129287
129288
129289
129290
129291   virtual Math::quat GetOrientation()
129292   {
129293    return call<Math::quat>("GetOrientation");
129294   }
129295
129296
129297
129298
129299
129300   virtual void SetRepresentation( Core::IEntityRepresentation& rep){
129301    call<void>("SetRepresentation");
129302   }
129303
129304   static void Default_SetRepresentation(Core::IEntity* ptr_ , Core::IEntityRepresentation& rep){
129305
129306   }
129307
129308   virtual Graphics::Geometry* GetRepresentation(){
129309    return call<Graphics::Geometry*>("GetRepresentation");
129310   }
129311
129312   static Graphics::Geometry* Default_GetRepresentation( Core::IEntity* ptr_ ){
129313    return 0;
129314   }
129315
129316
129317  };
129318
129319  void RegisterEntities(){
129320
129321   lua_State * state = Lua::getGlobalState();
129322   T t;
129323
129324   luabind::module( state )[
129325    luabind::class_< CRTTI >("CRTTI")
129326   ];
129327
129328   luabind::module( state )[
129329    luabind::class_< boost::function<void(CBaseObject*)> >("ThisCB")
129330   ];
129331
129332
129333
129334
129335
129336   luabind::module( state )[
129337    luabind::class_< Core::EntityManager >("EntityManager")
129338     .def("Update" , &Core::EntityManager::UpdateSimple ),
129339     luabind::def("GetEntityManager" , &Core::EntityManager::GetInstance )
129340   ];
129341 # 234 "/home/emanuel/DIKU/3dot/source/scripting/registerentity.cpp"
129342   luabind::module( state )[
129343    luabind::class_<Core::Task>("Task")
129344     .def( luabind::constructor<float,const luabind::object&>() )
129345     .def_readonly("mAwakeTime" , &Core::Task::mAwakeTime )
129346     .def_readonly("mCoroutine" , &Core::Task::mTask )
129347   ];
129348
129349   luabind::module( state )[
129350    luabind::class_<Core::TaskQueue>("TaskQueue")
129351     .def( luabind::constructor<>() )
129352     .def( "Push" , &Core::TaskQueue::push )
129353     .def( "Pop" , &Core::TaskQueue::pop )
129354     .def( "Empty" , &Core::TaskQueue::empty )
129355
129356     .def( "Top" , t.mTop )
129357     .def( "Add" , &AddTask )
129358   ];
129359
129360   luabind::module( state )[
129361    luabind::class_<boost::function<void(void)> >("BoostFunction")
129362     .def( "__call" , &boost::function<void(void)>::operator() )
129363   ];
129364
129365
129366   luabind::module( state )[
129367    luabind::class_< Core::TaskManager , TaskManagerWrapper >("TaskManager")
129368     .def( luabind::constructor<>() )
129369     .def( "Sleep" , &Core::TaskManager::Sleep , &TaskManagerWrapper::Default_Sleep )
129370     .def( "AddTask" , &Core::TaskManager::AddTask , &TaskManagerWrapper::Default_AddTask )
129371   ];
129372
129373   luabind::module( state )[
129374    luabind::class_< Core::IEntity , EntityWrapper >("IEntity")
129375     .def( luabind::constructor<>() )
129376     .def( "GetPosition" , &Core::IEntity::GetPosition )
129377
129378
129379
129380     .def( "GetRTTI" , &Core::IEntity::GetRTTI , &EntityWrapper::Default_GetRTTI )
129381     .def( "GetId" , &Core::IEntity::GetId )
129382
129383   ];
129384
129385   luabind::module( state )[
129386    luabind::class_< Core::Engine , EngineWrapper >("Engine")
129387     .def( luabind::constructor<>() )
129388     .def( "ExecuteTask" , &Core::Engine::ExecuteTask )
129389   ];
129390
129391   luabind::module( state )[
129392    luabind::def( "RegisterProperty" , &RegisterProperty<Math::vec3> ),
129393    luabind::def("AddClass" , &AddRTTI )
129394   ];
129395
129396  }
129397
129398
129399 }