passenger 1.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (1960) hide show
  1. data/DEVELOPERS.TXT +52 -0
  2. data/INSTALL +2 -0
  3. data/LICENSE +352 -0
  4. data/README +19 -0
  5. data/Rakefile +435 -0
  6. data/benchmark/DummyRequestHandler.cpp +101 -0
  7. data/benchmark/accept_vs_socketpair_vs_named_pipes.rb +126 -0
  8. data/benchmark/dispatcher.rb +46 -0
  9. data/benchmark/overhead_of_password_checking.rb +81 -0
  10. data/benchmark/socket_connections_vs_persistent_pipe.rb +99 -0
  11. data/benchmark/unix_sockets_vs_pipes.rb +83 -0
  12. data/bin/passenger-install-apache2-module +274 -0
  13. data/bin/passenger-spawn-server +38 -0
  14. data/doc/ApplicationPool algorithm.txt +290 -0
  15. data/doc/Architectural overview.html +740 -0
  16. data/doc/Architectural overview.txt +339 -0
  17. data/doc/Doxyfile +241 -0
  18. data/doc/Security of user switching support.html +605 -0
  19. data/doc/Security of user switching support.txt +197 -0
  20. data/doc/Users guide.html +1356 -0
  21. data/doc/Users guide.txt +707 -0
  22. data/doc/cxxapi/ApplicationPoolClientServer_8h-source.html +673 -0
  23. data/doc/cxxapi/ApplicationPool_8h-source.html +189 -0
  24. data/doc/cxxapi/Application_8h-source.html +402 -0
  25. data/doc/cxxapi/Configuration_8h-source.html +145 -0
  26. data/doc/cxxapi/DummySpawnManager_8h-source.html +121 -0
  27. data/doc/cxxapi/Exceptions_8h-source.html +188 -0
  28. data/doc/cxxapi/Hooks_8h-source.html +58 -0
  29. data/doc/cxxapi/Logging_8h-source.html +103 -0
  30. data/doc/cxxapi/MessageChannel_8h-source.html +483 -0
  31. data/doc/cxxapi/SpawnManager_8h-source.html +552 -0
  32. data/doc/cxxapi/StandardApplicationPool_8h-source.html +554 -0
  33. data/doc/cxxapi/Utils_8h-source.html +176 -0
  34. data/doc/cxxapi/annotated.html +43 -0
  35. data/doc/cxxapi/classPassenger_1_1Application-members.html +33 -0
  36. data/doc/cxxapi/classPassenger_1_1Application.html +224 -0
  37. data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +34 -0
  38. data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +272 -0
  39. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer-members.html +31 -0
  40. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +216 -0
  41. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.map +1 -0
  42. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.md5 +1 -0
  43. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
  44. data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +36 -0
  45. data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +294 -0
  46. data/doc/cxxapi/classPassenger_1_1DummySpawnManager-members.html +28 -0
  47. data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +46 -0
  48. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +28 -0
  49. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +46 -0
  50. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +1 -0
  51. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +1 -0
  52. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
  53. data/doc/cxxapi/classPassenger_1_1IOException-members.html +28 -0
  54. data/doc/cxxapi/classPassenger_1_1IOException.html +49 -0
  55. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +1 -0
  56. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +1 -0
  57. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  58. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +42 -0
  59. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +568 -0
  60. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +30 -0
  61. data/doc/cxxapi/classPassenger_1_1SpawnException.html +74 -0
  62. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +32 -0
  63. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +234 -0
  64. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +35 -0
  65. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +320 -0
  66. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.map +1 -0
  67. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.md5 +1 -0
  68. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
  69. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +32 -0
  70. data/doc/cxxapi/classPassenger_1_1SystemException.html +144 -0
  71. data/doc/cxxapi/definitions_8h-source.html +25 -0
  72. data/doc/cxxapi/doxygen.css +358 -0
  73. data/doc/cxxapi/doxygen.png +0 -0
  74. data/doc/cxxapi/files.html +35 -0
  75. data/doc/cxxapi/ftv2blank.png +0 -0
  76. data/doc/cxxapi/ftv2doc.png +0 -0
  77. data/doc/cxxapi/ftv2folderclosed.png +0 -0
  78. data/doc/cxxapi/ftv2folderopen.png +0 -0
  79. data/doc/cxxapi/ftv2lastnode.png +0 -0
  80. data/doc/cxxapi/ftv2link.png +0 -0
  81. data/doc/cxxapi/ftv2mlastnode.png +0 -0
  82. data/doc/cxxapi/ftv2mnode.png +0 -0
  83. data/doc/cxxapi/ftv2node.png +0 -0
  84. data/doc/cxxapi/ftv2plastnode.png +0 -0
  85. data/doc/cxxapi/ftv2pnode.png +0 -0
  86. data/doc/cxxapi/ftv2vertline.png +0 -0
  87. data/doc/cxxapi/functions.html +160 -0
  88. data/doc/cxxapi/functions_func.html +158 -0
  89. data/doc/cxxapi/functions_type.html +40 -0
  90. data/doc/cxxapi/graph_legend.dot +22 -0
  91. data/doc/cxxapi/graph_legend.html +82 -0
  92. data/doc/cxxapi/graph_legend.png +0 -0
  93. data/doc/cxxapi/group__Configuration.html +231 -0
  94. data/doc/cxxapi/group__Configuration.png +0 -0
  95. data/doc/cxxapi/group__Core.html +39 -0
  96. data/doc/cxxapi/group__Core.png +0 -0
  97. data/doc/cxxapi/group__Exceptions.html +32 -0
  98. data/doc/cxxapi/group__Hooks.html +41 -0
  99. data/doc/cxxapi/group__Hooks.png +0 -0
  100. data/doc/cxxapi/group__Support.html +258 -0
  101. data/doc/cxxapi/hierarchy.html +51 -0
  102. data/doc/cxxapi/index.html +11 -0
  103. data/doc/cxxapi/inherit__graph__0.map +1 -0
  104. data/doc/cxxapi/inherit__graph__0.md5 +1 -0
  105. data/doc/cxxapi/inherit__graph__0.png +0 -0
  106. data/doc/cxxapi/inherit__graph__1.map +1 -0
  107. data/doc/cxxapi/inherit__graph__1.md5 +1 -0
  108. data/doc/cxxapi/inherit__graph__1.png +0 -0
  109. data/doc/cxxapi/inherit__graph__2.map +1 -0
  110. data/doc/cxxapi/inherit__graph__2.md5 +1 -0
  111. data/doc/cxxapi/inherit__graph__2.png +0 -0
  112. data/doc/cxxapi/inherit__graph__3.map +1 -0
  113. data/doc/cxxapi/inherit__graph__3.md5 +1 -0
  114. data/doc/cxxapi/inherit__graph__3.png +0 -0
  115. data/doc/cxxapi/inherit__graph__4.map +2 -0
  116. data/doc/cxxapi/inherit__graph__4.md5 +1 -0
  117. data/doc/cxxapi/inherit__graph__4.png +0 -0
  118. data/doc/cxxapi/inherit__graph__5.map +1 -0
  119. data/doc/cxxapi/inherit__graph__5.md5 +1 -0
  120. data/doc/cxxapi/inherit__graph__5.png +0 -0
  121. data/doc/cxxapi/inherit__graph__6.map +1 -0
  122. data/doc/cxxapi/inherit__graph__6.md5 +1 -0
  123. data/doc/cxxapi/inherit__graph__6.png +0 -0
  124. data/doc/cxxapi/inherit__graph__7.map +5 -0
  125. data/doc/cxxapi/inherit__graph__7.md5 +1 -0
  126. data/doc/cxxapi/inherit__graph__7.png +0 -0
  127. data/doc/cxxapi/inherit__graph__8.map +1 -0
  128. data/doc/cxxapi/inherit__graph__8.md5 +1 -0
  129. data/doc/cxxapi/inherit__graph__8.png +0 -0
  130. data/doc/cxxapi/inherit__graph__9.map +1 -0
  131. data/doc/cxxapi/inherit__graph__9.md5 +1 -0
  132. data/doc/cxxapi/inherit__graph__9.png +0 -0
  133. data/doc/cxxapi/inherits.html +61 -0
  134. data/doc/cxxapi/main.html +22 -0
  135. data/doc/cxxapi/modules.html +29 -0
  136. data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +28 -0
  137. data/doc/cxxapi/structPassenger_1_1AnythingToString.html +44 -0
  138. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +28 -0
  139. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +44 -0
  140. data/doc/cxxapi/tab_b.gif +0 -0
  141. data/doc/cxxapi/tab_l.gif +0 -0
  142. data/doc/cxxapi/tab_r.gif +0 -0
  143. data/doc/cxxapi/tabs.css +102 -0
  144. data/doc/cxxapi/tree.html +138 -0
  145. data/doc/definitions.h +5 -0
  146. data/doc/images/by_sa.png +0 -0
  147. data/doc/images/icons/README +5 -0
  148. data/doc/images/icons/callouts/1.png +0 -0
  149. data/doc/images/icons/callouts/10.png +0 -0
  150. data/doc/images/icons/callouts/11.png +0 -0
  151. data/doc/images/icons/callouts/12.png +0 -0
  152. data/doc/images/icons/callouts/13.png +0 -0
  153. data/doc/images/icons/callouts/14.png +0 -0
  154. data/doc/images/icons/callouts/15.png +0 -0
  155. data/doc/images/icons/callouts/2.png +0 -0
  156. data/doc/images/icons/callouts/3.png +0 -0
  157. data/doc/images/icons/callouts/4.png +0 -0
  158. data/doc/images/icons/callouts/5.png +0 -0
  159. data/doc/images/icons/callouts/6.png +0 -0
  160. data/doc/images/icons/callouts/7.png +0 -0
  161. data/doc/images/icons/callouts/8.png +0 -0
  162. data/doc/images/icons/callouts/9.png +0 -0
  163. data/doc/images/icons/caution.png +0 -0
  164. data/doc/images/icons/example.png +0 -0
  165. data/doc/images/icons/home.png +0 -0
  166. data/doc/images/icons/important.png +0 -0
  167. data/doc/images/icons/next.png +0 -0
  168. data/doc/images/icons/note.png +0 -0
  169. data/doc/images/icons/prev.png +0 -0
  170. data/doc/images/icons/tip.png +0 -0
  171. data/doc/images/icons/up.png +0 -0
  172. data/doc/images/icons/warning.png +0 -0
  173. data/doc/images/passenger_architecture.png +0 -0
  174. data/doc/images/passenger_architecture.svg +401 -0
  175. data/doc/images/phusion_banner.png +0 -0
  176. data/doc/images/spawn_server_architecture.png +0 -0
  177. data/doc/images/spawn_server_architecture.svg +655 -0
  178. data/doc/images/typical_isolated_web_application.png +0 -0
  179. data/doc/images/typical_isolated_web_application.svg +213 -0
  180. data/doc/rdoc/classes/ConditionVariable.html +158 -0
  181. data/doc/rdoc/classes/Exception.html +120 -0
  182. data/doc/rdoc/classes/GC.html +113 -0
  183. data/doc/rdoc/classes/IO.html +150 -0
  184. data/doc/rdoc/classes/Passenger.html +117 -0
  185. data/doc/rdoc/classes/Passenger/AbstractServer.html +609 -0
  186. data/doc/rdoc/classes/Passenger/AbstractServer/ServerAlreadyStarted.html +97 -0
  187. data/doc/rdoc/classes/Passenger/AbstractServer/ServerError.html +96 -0
  188. data/doc/rdoc/classes/Passenger/AbstractServer/ServerNotStarted.html +97 -0
  189. data/doc/rdoc/classes/Passenger/AbstractServer/UnknownMessage.html +96 -0
  190. data/doc/rdoc/classes/Passenger/AppInitError.html +106 -0
  191. data/doc/rdoc/classes/Passenger/Application.html +297 -0
  192. data/doc/rdoc/classes/Passenger/ApplicationSpawner.html +334 -0
  193. data/doc/rdoc/classes/Passenger/ApplicationSpawner/Error.html +98 -0
  194. data/doc/rdoc/classes/Passenger/CGIFixed.html +200 -0
  195. data/doc/rdoc/classes/Passenger/ConsoleTextTemplate.html +172 -0
  196. data/doc/rdoc/classes/Passenger/FrameworkInitError.html +144 -0
  197. data/doc/rdoc/classes/Passenger/FrameworkSpawner.html +429 -0
  198. data/doc/rdoc/classes/Passenger/FrameworkSpawner/Error.html +98 -0
  199. data/doc/rdoc/classes/Passenger/HTMLTemplate.html +175 -0
  200. data/doc/rdoc/classes/Passenger/InitializationError.html +141 -0
  201. data/doc/rdoc/classes/Passenger/MessageChannel.html +488 -0
  202. data/doc/rdoc/classes/Passenger/NativeSupport.html +320 -0
  203. data/doc/rdoc/classes/Passenger/RequestHandler.html +415 -0
  204. data/doc/rdoc/classes/Passenger/SpawnManager.html +373 -0
  205. data/doc/rdoc/classes/Passenger/UnknownError.html +125 -0
  206. data/doc/rdoc/classes/Passenger/Utils.html +352 -0
  207. data/doc/rdoc/classes/Passenger/VersionNotFound.html +140 -0
  208. data/doc/rdoc/classes/PlatformInfo.html +279 -0
  209. data/doc/rdoc/classes/RakeExtensions.html +197 -0
  210. data/doc/rdoc/created.rid +1 -0
  211. data/doc/rdoc/files/DEVELOPERS_TXT.html +178 -0
  212. data/doc/rdoc/files/README.html +120 -0
  213. data/doc/rdoc/files/ext/passenger/native_support_c.html +92 -0
  214. data/doc/rdoc/files/lib/passenger/abstract_server_rb.html +121 -0
  215. data/doc/rdoc/files/lib/passenger/application_rb.html +119 -0
  216. data/doc/rdoc/files/lib/passenger/application_spawner_rb.html +128 -0
  217. data/doc/rdoc/files/lib/passenger/cgi_fixed_rb.html +127 -0
  218. data/doc/rdoc/files/lib/passenger/console_text_template_rb.html +118 -0
  219. data/doc/rdoc/files/lib/passenger/dependencies_rb.html +124 -0
  220. data/doc/rdoc/files/lib/passenger/framework_spawner_rb.html +135 -0
  221. data/doc/rdoc/files/lib/passenger/html_template_rb.html +118 -0
  222. data/doc/rdoc/files/lib/passenger/message_channel_rb.html +118 -0
  223. data/doc/rdoc/files/lib/passenger/platform_info_rb.html +118 -0
  224. data/doc/rdoc/files/lib/passenger/request_handler_rb.html +122 -0
  225. data/doc/rdoc/files/lib/passenger/simple_benchmarking_rb.html +114 -0
  226. data/doc/rdoc/files/lib/passenger/spawn_manager_rb.html +124 -0
  227. data/doc/rdoc/files/lib/passenger/utils_rb.html +123 -0
  228. data/doc/rdoc/files/lib/rake/extensions_rb.html +122 -0
  229. data/doc/rdoc/fr_class_index.html +76 -0
  230. data/doc/rdoc/fr_file_index.html +64 -0
  231. data/doc/rdoc/fr_method_index.html +125 -0
  232. data/doc/rdoc/index.html +26 -0
  233. data/doc/rdoc/rdoc-style.css +187 -0
  234. data/doc/template/horo.rb +613 -0
  235. data/ext/apache2/Application.h +382 -0
  236. data/ext/apache2/ApplicationPool.h +169 -0
  237. data/ext/apache2/ApplicationPoolClientServer.h +653 -0
  238. data/ext/apache2/Configuration.cpp +294 -0
  239. data/ext/apache2/Configuration.h +125 -0
  240. data/ext/apache2/DummySpawnManager.h +101 -0
  241. data/ext/apache2/Exceptions.h +168 -0
  242. data/ext/apache2/Hooks.cpp +630 -0
  243. data/ext/apache2/Hooks.h +38 -0
  244. data/ext/apache2/LICENSE-CNRI.TXT +64 -0
  245. data/ext/apache2/Logging.cpp +48 -0
  246. data/ext/apache2/Logging.h +83 -0
  247. data/ext/apache2/MessageChannel.h +463 -0
  248. data/ext/apache2/SpawnManager.h +532 -0
  249. data/ext/apache2/StandardApplicationPool.h +534 -0
  250. data/ext/apache2/Utils.cpp +108 -0
  251. data/ext/apache2/Utils.h +156 -0
  252. data/ext/apache2/mod_passenger.c +31 -0
  253. data/ext/boost/LICENSE.TXT +23 -0
  254. data/ext/boost/VERSION.TXT +1 -0
  255. data/ext/boost/assert.hpp +37 -0
  256. data/ext/boost/bind.hpp +1651 -0
  257. data/ext/boost/bind/apply.hpp +74 -0
  258. data/ext/boost/bind/arg.hpp +36 -0
  259. data/ext/boost/bind/bind_cc.hpp +117 -0
  260. data/ext/boost/bind/bind_mf_cc.hpp +227 -0
  261. data/ext/boost/bind/bind_template.hpp +226 -0
  262. data/ext/boost/bind/make_adaptable.hpp +187 -0
  263. data/ext/boost/bind/mem_fn_cc.hpp +103 -0
  264. data/ext/boost/bind/mem_fn_template.hpp +1020 -0
  265. data/ext/boost/bind/mem_fn_vw.hpp +130 -0
  266. data/ext/boost/bind/placeholders.hpp +68 -0
  267. data/ext/boost/bind/protect.hpp +144 -0
  268. data/ext/boost/bind/storage.hpp +475 -0
  269. data/ext/boost/checked_delete.hpp +69 -0
  270. data/ext/boost/config.hpp +70 -0
  271. data/ext/boost/config/abi/borland_prefix.hpp +27 -0
  272. data/ext/boost/config/abi/borland_suffix.hpp +12 -0
  273. data/ext/boost/config/abi/msvc_prefix.hpp +8 -0
  274. data/ext/boost/config/abi/msvc_suffix.hpp +8 -0
  275. data/ext/boost/config/abi_prefix.hpp +20 -0
  276. data/ext/boost/config/abi_suffix.hpp +23 -0
  277. data/ext/boost/config/auto_link.hpp +363 -0
  278. data/ext/boost/config/compiler/borland.hpp +190 -0
  279. data/ext/boost/config/compiler/comeau.hpp +59 -0
  280. data/ext/boost/config/compiler/common_edg.hpp +62 -0
  281. data/ext/boost/config/compiler/compaq_cxx.hpp +19 -0
  282. data/ext/boost/config/compiler/digitalmars.hpp +49 -0
  283. data/ext/boost/config/compiler/gcc.hpp +105 -0
  284. data/ext/boost/config/compiler/gcc_xml.hpp +30 -0
  285. data/ext/boost/config/compiler/greenhills.hpp +28 -0
  286. data/ext/boost/config/compiler/hp_acc.hpp +72 -0
  287. data/ext/boost/config/compiler/intel.hpp +158 -0
  288. data/ext/boost/config/compiler/kai.hpp +35 -0
  289. data/ext/boost/config/compiler/metrowerks.hpp +104 -0
  290. data/ext/boost/config/compiler/mpw.hpp +51 -0
  291. data/ext/boost/config/compiler/sgi_mipspro.hpp +24 -0
  292. data/ext/boost/config/compiler/sunpro_cc.hpp +92 -0
  293. data/ext/boost/config/compiler/vacpp.hpp +57 -0
  294. data/ext/boost/config/compiler/visualc.hpp +178 -0
  295. data/ext/boost/config/no_tr1/complex.hpp +28 -0
  296. data/ext/boost/config/no_tr1/functional.hpp +28 -0
  297. data/ext/boost/config/no_tr1/memory.hpp +28 -0
  298. data/ext/boost/config/no_tr1/utility.hpp +28 -0
  299. data/ext/boost/config/platform/aix.hpp +33 -0
  300. data/ext/boost/config/platform/amigaos.hpp +15 -0
  301. data/ext/boost/config/platform/beos.hpp +26 -0
  302. data/ext/boost/config/platform/bsd.hpp +73 -0
  303. data/ext/boost/config/platform/cygwin.hpp +48 -0
  304. data/ext/boost/config/platform/hpux.hpp +85 -0
  305. data/ext/boost/config/platform/irix.hpp +31 -0
  306. data/ext/boost/config/platform/linux.hpp +98 -0
  307. data/ext/boost/config/platform/macos.hpp +78 -0
  308. data/ext/boost/config/platform/qnxnto.hpp +31 -0
  309. data/ext/boost/config/platform/solaris.hpp +21 -0
  310. data/ext/boost/config/platform/win32.hpp +58 -0
  311. data/ext/boost/config/posix_features.hpp +95 -0
  312. data/ext/boost/config/requires_threads.hpp +92 -0
  313. data/ext/boost/config/select_compiler_config.hpp +87 -0
  314. data/ext/boost/config/select_platform_config.hpp +90 -0
  315. data/ext/boost/config/select_stdlib_config.hpp +68 -0
  316. data/ext/boost/config/stdlib/dinkumware.hpp +106 -0
  317. data/ext/boost/config/stdlib/libcomo.hpp +46 -0
  318. data/ext/boost/config/stdlib/libstdcpp3.hpp +73 -0
  319. data/ext/boost/config/stdlib/modena.hpp +30 -0
  320. data/ext/boost/config/stdlib/msl.hpp +59 -0
  321. data/ext/boost/config/stdlib/roguewave.hpp +127 -0
  322. data/ext/boost/config/stdlib/sgi.hpp +111 -0
  323. data/ext/boost/config/stdlib/stlport.hpp +201 -0
  324. data/ext/boost/config/stdlib/vacpp.hpp +18 -0
  325. data/ext/boost/config/suffix.hpp +569 -0
  326. data/ext/boost/config/user.hpp +124 -0
  327. data/ext/boost/cstdint.hpp +446 -0
  328. data/ext/boost/detail/bad_weak_ptr.hpp +59 -0
  329. data/ext/boost/detail/reference_content.hpp +141 -0
  330. data/ext/boost/detail/shared_count.hpp +376 -0
  331. data/ext/boost/detail/sp_counted_base.hpp +69 -0
  332. data/ext/boost/detail/sp_counted_base_cw_ppc.hpp +170 -0
  333. data/ext/boost/detail/sp_counted_base_cw_x86.hpp +158 -0
  334. data/ext/boost/detail/sp_counted_base_gcc_ia64.hpp +157 -0
  335. data/ext/boost/detail/sp_counted_base_gcc_ppc.hpp +181 -0
  336. data/ext/boost/detail/sp_counted_base_gcc_x86.hpp +173 -0
  337. data/ext/boost/detail/sp_counted_base_nt.hpp +107 -0
  338. data/ext/boost/detail/sp_counted_base_pt.hpp +135 -0
  339. data/ext/boost/detail/sp_counted_base_w32.hpp +130 -0
  340. data/ext/boost/detail/sp_counted_impl.hpp +232 -0
  341. data/ext/boost/detail/workaround.hpp +74 -0
  342. data/ext/boost/format.hpp +59 -0
  343. data/ext/boost/format/alt_sstream.hpp +176 -0
  344. data/ext/boost/format/alt_sstream_impl.hpp +296 -0
  345. data/ext/boost/format/detail/compat_workarounds.hpp +86 -0
  346. data/ext/boost/format/detail/config_macros.hpp +97 -0
  347. data/ext/boost/format/detail/msvc_disambiguater.hpp +56 -0
  348. data/ext/boost/format/detail/unset_macros.hpp +34 -0
  349. data/ext/boost/format/detail/workarounds_gcc-2_95.hpp +162 -0
  350. data/ext/boost/format/detail/workarounds_stlport.hpp +42 -0
  351. data/ext/boost/format/exceptions.hpp +103 -0
  352. data/ext/boost/format/feed_args.hpp +267 -0
  353. data/ext/boost/format/format_class.hpp +143 -0
  354. data/ext/boost/format/format_fwd.hpp +49 -0
  355. data/ext/boost/format/format_implementation.hpp +277 -0
  356. data/ext/boost/format/free_funcs.hpp +70 -0
  357. data/ext/boost/format/group.hpp +676 -0
  358. data/ext/boost/format/internals.hpp +199 -0
  359. data/ext/boost/format/internals_fwd.hpp +60 -0
  360. data/ext/boost/format/parsing.hpp +491 -0
  361. data/ext/boost/function.hpp +64 -0
  362. data/ext/boost/function/detail/function_iterate.hpp +16 -0
  363. data/ext/boost/function/detail/gen_maybe_include.pl +37 -0
  364. data/ext/boost/function/detail/maybe_include.hpp +267 -0
  365. data/ext/boost/function/detail/prologue.hpp +24 -0
  366. data/ext/boost/function/function0.hpp +12 -0
  367. data/ext/boost/function/function1.hpp +12 -0
  368. data/ext/boost/function/function10.hpp +12 -0
  369. data/ext/boost/function/function2.hpp +12 -0
  370. data/ext/boost/function/function3.hpp +12 -0
  371. data/ext/boost/function/function4.hpp +12 -0
  372. data/ext/boost/function/function5.hpp +12 -0
  373. data/ext/boost/function/function6.hpp +12 -0
  374. data/ext/boost/function/function7.hpp +12 -0
  375. data/ext/boost/function/function8.hpp +12 -0
  376. data/ext/boost/function/function9.hpp +12 -0
  377. data/ext/boost/function/function_base.hpp +736 -0
  378. data/ext/boost/function/function_template.hpp +837 -0
  379. data/ext/boost/function/gen_function_N.pl +26 -0
  380. data/ext/boost/function_equal.hpp +28 -0
  381. data/ext/boost/get_pointer.hpp +29 -0
  382. data/ext/boost/limits.hpp +144 -0
  383. data/ext/boost/mem_fn.hpp +389 -0
  384. data/ext/boost/mpl/O1_size.hpp +40 -0
  385. data/ext/boost/mpl/O1_size_fwd.hpp +24 -0
  386. data/ext/boost/mpl/accumulate.hpp +39 -0
  387. data/ext/boost/mpl/advance.hpp +76 -0
  388. data/ext/boost/mpl/advance_fwd.hpp +28 -0
  389. data/ext/boost/mpl/alias.hpp +21 -0
  390. data/ext/boost/mpl/always.hpp +39 -0
  391. data/ext/boost/mpl/and.hpp +56 -0
  392. data/ext/boost/mpl/apply.hpp +225 -0
  393. data/ext/boost/mpl/apply_fwd.hpp +107 -0
  394. data/ext/boost/mpl/apply_wrap.hpp +200 -0
  395. data/ext/boost/mpl/arg.hpp +131 -0
  396. data/ext/boost/mpl/arg_fwd.hpp +28 -0
  397. data/ext/boost/mpl/arithmetic.hpp +25 -0
  398. data/ext/boost/mpl/as_sequence.hpp +38 -0
  399. data/ext/boost/mpl/assert.hpp +361 -0
  400. data/ext/boost/mpl/at.hpp +52 -0
  401. data/ext/boost/mpl/at_fwd.hpp +24 -0
  402. data/ext/boost/mpl/aux_/O1_size_impl.hpp +87 -0
  403. data/ext/boost/mpl/aux_/adl_barrier.hpp +48 -0
  404. data/ext/boost/mpl/aux_/advance_backward.hpp +124 -0
  405. data/ext/boost/mpl/aux_/advance_forward.hpp +123 -0
  406. data/ext/boost/mpl/aux_/apply_1st.hpp +35 -0
  407. data/ext/boost/mpl/aux_/arg_typedef.hpp +31 -0
  408. data/ext/boost/mpl/aux_/arithmetic_op.hpp +92 -0
  409. data/ext/boost/mpl/aux_/arity.hpp +39 -0
  410. data/ext/boost/mpl/aux_/arity_spec.hpp +67 -0
  411. data/ext/boost/mpl/aux_/at_impl.hpp +45 -0
  412. data/ext/boost/mpl/aux_/back_impl.hpp +43 -0
  413. data/ext/boost/mpl/aux_/basic_bind.hpp +21 -0
  414. data/ext/boost/mpl/aux_/begin_end_impl.hpp +100 -0
  415. data/ext/boost/mpl/aux_/clear_impl.hpp +35 -0
  416. data/ext/boost/mpl/aux_/common_name_wknd.hpp +34 -0
  417. data/ext/boost/mpl/aux_/comparison_op.hpp +83 -0
  418. data/ext/boost/mpl/aux_/config/adl.hpp +40 -0
  419. data/ext/boost/mpl/aux_/config/arrays.hpp +30 -0
  420. data/ext/boost/mpl/aux_/config/bind.hpp +33 -0
  421. data/ext/boost/mpl/aux_/config/compiler.hpp +64 -0
  422. data/ext/boost/mpl/aux_/config/ctps.hpp +30 -0
  423. data/ext/boost/mpl/aux_/config/dependent_nttp.hpp +35 -0
  424. data/ext/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp +27 -0
  425. data/ext/boost/mpl/aux_/config/dtp.hpp +46 -0
  426. data/ext/boost/mpl/aux_/config/eti.hpp +47 -0
  427. data/ext/boost/mpl/aux_/config/forwarding.hpp +27 -0
  428. data/ext/boost/mpl/aux_/config/gcc.hpp +23 -0
  429. data/ext/boost/mpl/aux_/config/has_apply.hpp +32 -0
  430. data/ext/boost/mpl/aux_/config/has_xxx.hpp +33 -0
  431. data/ext/boost/mpl/aux_/config/integral.hpp +38 -0
  432. data/ext/boost/mpl/aux_/config/intel.hpp +21 -0
  433. data/ext/boost/mpl/aux_/config/lambda.hpp +32 -0
  434. data/ext/boost/mpl/aux_/config/msvc.hpp +21 -0
  435. data/ext/boost/mpl/aux_/config/msvc_typename.hpp +26 -0
  436. data/ext/boost/mpl/aux_/config/nttp.hpp +41 -0
  437. data/ext/boost/mpl/aux_/config/operators.hpp +33 -0
  438. data/ext/boost/mpl/aux_/config/overload_resolution.hpp +29 -0
  439. data/ext/boost/mpl/aux_/config/preprocessor.hpp +39 -0
  440. data/ext/boost/mpl/aux_/config/static_constant.hpp +25 -0
  441. data/ext/boost/mpl/aux_/config/ttp.hpp +39 -0
  442. data/ext/boost/mpl/aux_/config/typeof.hpp +38 -0
  443. data/ext/boost/mpl/aux_/config/use_preprocessed.hpp +19 -0
  444. data/ext/boost/mpl/aux_/config/workaround.hpp +19 -0
  445. data/ext/boost/mpl/aux_/contains_impl.hpp +61 -0
  446. data/ext/boost/mpl/aux_/count_args.hpp +105 -0
  447. data/ext/boost/mpl/aux_/count_impl.hpp +44 -0
  448. data/ext/boost/mpl/aux_/empty_impl.hpp +43 -0
  449. data/ext/boost/mpl/aux_/erase_impl.hpp +69 -0
  450. data/ext/boost/mpl/aux_/erase_key_impl.hpp +32 -0
  451. data/ext/boost/mpl/aux_/filter_iter.hpp +140 -0
  452. data/ext/boost/mpl/aux_/find_if_pred.hpp +31 -0
  453. data/ext/boost/mpl/aux_/fold_impl.hpp +43 -0
  454. data/ext/boost/mpl/aux_/fold_impl_body.hpp +365 -0
  455. data/ext/boost/mpl/aux_/fold_op.hpp +37 -0
  456. data/ext/boost/mpl/aux_/fold_pred.hpp +37 -0
  457. data/ext/boost/mpl/aux_/front_impl.hpp +41 -0
  458. data/ext/boost/mpl/aux_/full_lambda.hpp +350 -0
  459. data/ext/boost/mpl/aux_/has_apply.hpp +32 -0
  460. data/ext/boost/mpl/aux_/has_begin.hpp +23 -0
  461. data/ext/boost/mpl/aux_/has_key_impl.hpp +34 -0
  462. data/ext/boost/mpl/aux_/has_rebind.hpp +99 -0
  463. data/ext/boost/mpl/aux_/has_size.hpp +23 -0
  464. data/ext/boost/mpl/aux_/has_tag.hpp +23 -0
  465. data/ext/boost/mpl/aux_/has_type.hpp +23 -0
  466. data/ext/boost/mpl/aux_/include_preprocessed.hpp +42 -0
  467. data/ext/boost/mpl/aux_/insert_impl.hpp +68 -0
  468. data/ext/boost/mpl/aux_/insert_range_impl.hpp +77 -0
  469. data/ext/boost/mpl/aux_/inserter_algorithm.hpp +159 -0
  470. data/ext/boost/mpl/aux_/integral_wrapper.hpp +93 -0
  471. data/ext/boost/mpl/aux_/is_msvc_eti_arg.hpp +64 -0
  472. data/ext/boost/mpl/aux_/iter_apply.hpp +47 -0
  473. data/ext/boost/mpl/aux_/iter_fold_if_impl.hpp +210 -0
  474. data/ext/boost/mpl/aux_/iter_fold_impl.hpp +42 -0
  475. data/ext/boost/mpl/aux_/iter_push_front.hpp +36 -0
  476. data/ext/boost/mpl/aux_/joint_iter.hpp +120 -0
  477. data/ext/boost/mpl/aux_/lambda_arity_param.hpp +25 -0
  478. data/ext/boost/mpl/aux_/lambda_no_ctps.hpp +193 -0
  479. data/ext/boost/mpl/aux_/lambda_spec.hpp +49 -0
  480. data/ext/boost/mpl/aux_/lambda_support.hpp +169 -0
  481. data/ext/boost/mpl/aux_/largest_int.hpp +63 -0
  482. data/ext/boost/mpl/aux_/logical_op.hpp +165 -0
  483. data/ext/boost/mpl/aux_/msvc_dtw.hpp +68 -0
  484. data/ext/boost/mpl/aux_/msvc_eti_base.hpp +77 -0
  485. data/ext/boost/mpl/aux_/msvc_is_class.hpp +58 -0
  486. data/ext/boost/mpl/aux_/msvc_never_true.hpp +34 -0
  487. data/ext/boost/mpl/aux_/msvc_type.hpp +62 -0
  488. data/ext/boost/mpl/aux_/na.hpp +95 -0
  489. data/ext/boost/mpl/aux_/na_assert.hpp +34 -0
  490. data/ext/boost/mpl/aux_/na_fwd.hpp +31 -0
  491. data/ext/boost/mpl/aux_/na_spec.hpp +175 -0
  492. data/ext/boost/mpl/aux_/nested_type_wknd.hpp +48 -0
  493. data/ext/boost/mpl/aux_/nttp_decl.hpp +35 -0
  494. data/ext/boost/mpl/aux_/numeric_cast_utils.hpp +77 -0
  495. data/ext/boost/mpl/aux_/numeric_op.hpp +311 -0
  496. data/ext/boost/mpl/aux_/order_impl.hpp +76 -0
  497. data/ext/boost/mpl/aux_/overload_names.hpp +48 -0
  498. data/ext/boost/mpl/aux_/partition_op.hpp +58 -0
  499. data/ext/boost/mpl/aux_/pop_back_impl.hpp +34 -0
  500. data/ext/boost/mpl/aux_/pop_front_impl.hpp +44 -0
  501. data/ext/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp +97 -0
  502. data/ext/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp +97 -0
  503. data/ext/boost/mpl/aux_/preprocessed/bcc/and.hpp +69 -0
  504. data/ext/boost/mpl/aux_/preprocessed/bcc/apply.hpp +169 -0
  505. data/ext/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp +52 -0
  506. data/ext/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp +456 -0
  507. data/ext/boost/mpl/aux_/preprocessed/bcc/arg.hpp +117 -0
  508. data/ext/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp +300 -0
  509. data/ext/boost/mpl/aux_/preprocessed/bcc/bind.hpp +397 -0
  510. data/ext/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp +46 -0
  511. data/ext/boost/mpl/aux_/preprocessed/bcc/bitand.hpp +147 -0
  512. data/ext/boost/mpl/aux_/preprocessed/bcc/bitor.hpp +147 -0
  513. data/ext/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp +147 -0
  514. data/ext/boost/mpl/aux_/preprocessed/bcc/deque.hpp +323 -0
  515. data/ext/boost/mpl/aux_/preprocessed/bcc/divides.hpp +146 -0
  516. data/ext/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp +94 -0
  517. data/ext/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp +180 -0
  518. data/ext/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp +558 -0
  519. data/ext/boost/mpl/aux_/preprocessed/bcc/greater.hpp +94 -0
  520. data/ext/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp +94 -0
  521. data/ext/boost/mpl/aux_/preprocessed/bcc/inherit.hpp +139 -0
  522. data/ext/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp +133 -0
  523. data/ext/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp +180 -0
  524. data/ext/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp +229 -0
  525. data/ext/boost/mpl/aux_/preprocessed/bcc/less.hpp +94 -0
  526. data/ext/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp +94 -0
  527. data/ext/boost/mpl/aux_/preprocessed/bcc/list.hpp +323 -0
  528. data/ext/boost/mpl/aux_/preprocessed/bcc/list_c.hpp +328 -0
  529. data/ext/boost/mpl/aux_/preprocessed/bcc/map.hpp +323 -0
  530. data/ext/boost/mpl/aux_/preprocessed/bcc/minus.hpp +146 -0
  531. data/ext/boost/mpl/aux_/preprocessed/bcc/modulus.hpp +101 -0
  532. data/ext/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp +94 -0
  533. data/ext/boost/mpl/aux_/preprocessed/bcc/or.hpp +69 -0
  534. data/ext/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp +105 -0
  535. data/ext/boost/mpl/aux_/preprocessed/bcc/plus.hpp +146 -0
  536. data/ext/boost/mpl/aux_/preprocessed/bcc/quote.hpp +11 -0
  537. data/ext/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp +295 -0
  538. data/ext/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp +295 -0
  539. data/ext/boost/mpl/aux_/preprocessed/bcc/set.hpp +323 -0
  540. data/ext/boost/mpl/aux_/preprocessed/bcc/set_c.hpp +328 -0
  541. data/ext/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp +99 -0
  542. data/ext/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp +99 -0
  543. data/ext/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp +40 -0
  544. data/ext/boost/mpl/aux_/preprocessed/bcc/times.hpp +146 -0
  545. data/ext/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp +97 -0
  546. data/ext/boost/mpl/aux_/preprocessed/bcc/vector.hpp +323 -0
  547. data/ext/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp +309 -0
  548. data/ext/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp +97 -0
  549. data/ext/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp +97 -0
  550. data/ext/boost/mpl/aux_/preprocessed/bcc551/and.hpp +69 -0
  551. data/ext/boost/mpl/aux_/preprocessed/bcc551/apply.hpp +169 -0
  552. data/ext/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp +52 -0
  553. data/ext/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp +456 -0
  554. data/ext/boost/mpl/aux_/preprocessed/bcc551/arg.hpp +123 -0
  555. data/ext/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp +306 -0
  556. data/ext/boost/mpl/aux_/preprocessed/bcc551/bind.hpp +403 -0
  557. data/ext/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp +46 -0
  558. data/ext/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp +147 -0
  559. data/ext/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp +147 -0
  560. data/ext/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp +147 -0
  561. data/ext/boost/mpl/aux_/preprocessed/bcc551/deque.hpp +323 -0
  562. data/ext/boost/mpl/aux_/preprocessed/bcc551/divides.hpp +146 -0
  563. data/ext/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp +94 -0
  564. data/ext/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp +180 -0
  565. data/ext/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp +558 -0
  566. data/ext/boost/mpl/aux_/preprocessed/bcc551/greater.hpp +94 -0
  567. data/ext/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp +94 -0
  568. data/ext/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp +141 -0
  569. data/ext/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp +133 -0
  570. data/ext/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp +180 -0
  571. data/ext/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp +229 -0
  572. data/ext/boost/mpl/aux_/preprocessed/bcc551/less.hpp +94 -0
  573. data/ext/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp +94 -0
  574. data/ext/boost/mpl/aux_/preprocessed/bcc551/list.hpp +323 -0
  575. data/ext/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp +328 -0
  576. data/ext/boost/mpl/aux_/preprocessed/bcc551/map.hpp +323 -0
  577. data/ext/boost/mpl/aux_/preprocessed/bcc551/minus.hpp +146 -0
  578. data/ext/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp +101 -0
  579. data/ext/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp +94 -0
  580. data/ext/boost/mpl/aux_/preprocessed/bcc551/or.hpp +69 -0
  581. data/ext/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp +105 -0
  582. data/ext/boost/mpl/aux_/preprocessed/bcc551/plus.hpp +146 -0
  583. data/ext/boost/mpl/aux_/preprocessed/bcc551/quote.hpp +11 -0
  584. data/ext/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp +295 -0
  585. data/ext/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp +295 -0
  586. data/ext/boost/mpl/aux_/preprocessed/bcc551/set.hpp +323 -0
  587. data/ext/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp +328 -0
  588. data/ext/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp +99 -0
  589. data/ext/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp +99 -0
  590. data/ext/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp +40 -0
  591. data/ext/boost/mpl/aux_/preprocessed/bcc551/times.hpp +146 -0
  592. data/ext/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp +97 -0
  593. data/ext/boost/mpl/aux_/preprocessed/bcc551/vector.hpp +323 -0
  594. data/ext/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp +309 -0
  595. data/ext/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp +97 -0
  596. data/ext/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp +97 -0
  597. data/ext/boost/mpl/aux_/preprocessed/dmc/and.hpp +69 -0
  598. data/ext/boost/mpl/aux_/preprocessed/dmc/apply.hpp +169 -0
  599. data/ext/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp +52 -0
  600. data/ext/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp +84 -0
  601. data/ext/boost/mpl/aux_/preprocessed/dmc/arg.hpp +123 -0
  602. data/ext/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp +406 -0
  603. data/ext/boost/mpl/aux_/preprocessed/dmc/bind.hpp +515 -0
  604. data/ext/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp +53 -0
  605. data/ext/boost/mpl/aux_/preprocessed/dmc/bitand.hpp +147 -0
  606. data/ext/boost/mpl/aux_/preprocessed/dmc/bitor.hpp +147 -0
  607. data/ext/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp +147 -0
  608. data/ext/boost/mpl/aux_/preprocessed/dmc/deque.hpp +323 -0
  609. data/ext/boost/mpl/aux_/preprocessed/dmc/divides.hpp +146 -0
  610. data/ext/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp +94 -0
  611. data/ext/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp +180 -0
  612. data/ext/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp +536 -0
  613. data/ext/boost/mpl/aux_/preprocessed/dmc/greater.hpp +94 -0
  614. data/ext/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp +94 -0
  615. data/ext/boost/mpl/aux_/preprocessed/dmc/inherit.hpp +141 -0
  616. data/ext/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp +133 -0
  617. data/ext/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp +180 -0
  618. data/ext/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp +229 -0
  619. data/ext/boost/mpl/aux_/preprocessed/dmc/less.hpp +94 -0
  620. data/ext/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp +94 -0
  621. data/ext/boost/mpl/aux_/preprocessed/dmc/list.hpp +323 -0
  622. data/ext/boost/mpl/aux_/preprocessed/dmc/list_c.hpp +328 -0
  623. data/ext/boost/mpl/aux_/preprocessed/dmc/map.hpp +323 -0
  624. data/ext/boost/mpl/aux_/preprocessed/dmc/minus.hpp +146 -0
  625. data/ext/boost/mpl/aux_/preprocessed/dmc/modulus.hpp +101 -0
  626. data/ext/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp +94 -0
  627. data/ext/boost/mpl/aux_/preprocessed/dmc/or.hpp +69 -0
  628. data/ext/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp +105 -0
  629. data/ext/boost/mpl/aux_/preprocessed/dmc/plus.hpp +146 -0
  630. data/ext/boost/mpl/aux_/preprocessed/dmc/quote.hpp +123 -0
  631. data/ext/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp +231 -0
  632. data/ext/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp +231 -0
  633. data/ext/boost/mpl/aux_/preprocessed/dmc/set.hpp +323 -0
  634. data/ext/boost/mpl/aux_/preprocessed/dmc/set_c.hpp +328 -0
  635. data/ext/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp +99 -0
  636. data/ext/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp +99 -0
  637. data/ext/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp +11 -0
  638. data/ext/boost/mpl/aux_/preprocessed/dmc/times.hpp +146 -0
  639. data/ext/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp +94 -0
  640. data/ext/boost/mpl/aux_/preprocessed/dmc/vector.hpp +323 -0
  641. data/ext/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp +309 -0
  642. data/ext/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp +97 -0
  643. data/ext/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp +97 -0
  644. data/ext/boost/mpl/aux_/preprocessed/gcc/and.hpp +69 -0
  645. data/ext/boost/mpl/aux_/preprocessed/gcc/apply.hpp +169 -0
  646. data/ext/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp +52 -0
  647. data/ext/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +84 -0
  648. data/ext/boost/mpl/aux_/preprocessed/gcc/arg.hpp +123 -0
  649. data/ext/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp +440 -0
  650. data/ext/boost/mpl/aux_/preprocessed/gcc/bind.hpp +561 -0
  651. data/ext/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp +52 -0
  652. data/ext/boost/mpl/aux_/preprocessed/gcc/bitand.hpp +147 -0
  653. data/ext/boost/mpl/aux_/preprocessed/gcc/bitor.hpp +147 -0
  654. data/ext/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp +147 -0
  655. data/ext/boost/mpl/aux_/preprocessed/gcc/deque.hpp +323 -0
  656. data/ext/boost/mpl/aux_/preprocessed/gcc/divides.hpp +146 -0
  657. data/ext/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp +94 -0
  658. data/ext/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp +180 -0
  659. data/ext/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp +558 -0
  660. data/ext/boost/mpl/aux_/preprocessed/gcc/greater.hpp +94 -0
  661. data/ext/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp +94 -0
  662. data/ext/boost/mpl/aux_/preprocessed/gcc/inherit.hpp +141 -0
  663. data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp +133 -0
  664. data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp +180 -0
  665. data/ext/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp +229 -0
  666. data/ext/boost/mpl/aux_/preprocessed/gcc/less.hpp +94 -0
  667. data/ext/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp +94 -0
  668. data/ext/boost/mpl/aux_/preprocessed/gcc/list.hpp +323 -0
  669. data/ext/boost/mpl/aux_/preprocessed/gcc/list_c.hpp +328 -0
  670. data/ext/boost/mpl/aux_/preprocessed/gcc/map.hpp +323 -0
  671. data/ext/boost/mpl/aux_/preprocessed/gcc/minus.hpp +146 -0
  672. data/ext/boost/mpl/aux_/preprocessed/gcc/modulus.hpp +101 -0
  673. data/ext/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp +94 -0
  674. data/ext/boost/mpl/aux_/preprocessed/gcc/or.hpp +69 -0
  675. data/ext/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp +105 -0
  676. data/ext/boost/mpl/aux_/preprocessed/gcc/plus.hpp +146 -0
  677. data/ext/boost/mpl/aux_/preprocessed/gcc/quote.hpp +123 -0
  678. data/ext/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp +231 -0
  679. data/ext/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp +231 -0
  680. data/ext/boost/mpl/aux_/preprocessed/gcc/set.hpp +323 -0
  681. data/ext/boost/mpl/aux_/preprocessed/gcc/set_c.hpp +328 -0
  682. data/ext/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp +99 -0
  683. data/ext/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp +99 -0
  684. data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +101 -0
  685. data/ext/boost/mpl/aux_/preprocessed/gcc/times.hpp +146 -0
  686. data/ext/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp +94 -0
  687. data/ext/boost/mpl/aux_/preprocessed/gcc/vector.hpp +323 -0
  688. data/ext/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp +309 -0
  689. data/ext/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp +132 -0
  690. data/ext/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp +132 -0
  691. data/ext/boost/mpl/aux_/preprocessed/msvc60/and.hpp +73 -0
  692. data/ext/boost/mpl/aux_/preprocessed/msvc60/apply.hpp +166 -0
  693. data/ext/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp +46 -0
  694. data/ext/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp +247 -0
  695. data/ext/boost/mpl/aux_/preprocessed/msvc60/arg.hpp +123 -0
  696. data/ext/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp +328 -0
  697. data/ext/boost/mpl/aux_/preprocessed/msvc60/bind.hpp +432 -0
  698. data/ext/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp +46 -0
  699. data/ext/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp +149 -0
  700. data/ext/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp +149 -0
  701. data/ext/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp +149 -0
  702. data/ext/boost/mpl/aux_/preprocessed/msvc60/deque.hpp +556 -0
  703. data/ext/boost/mpl/aux_/preprocessed/msvc60/divides.hpp +148 -0
  704. data/ext/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp +102 -0
  705. data/ext/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp +293 -0
  706. data/ext/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp +554 -0
  707. data/ext/boost/mpl/aux_/preprocessed/msvc60/greater.hpp +102 -0
  708. data/ext/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp +102 -0
  709. data/ext/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp +166 -0
  710. data/ext/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp +133 -0
  711. data/ext/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp +293 -0
  712. data/ext/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp +229 -0
  713. data/ext/boost/mpl/aux_/preprocessed/msvc60/less.hpp +102 -0
  714. data/ext/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp +102 -0
  715. data/ext/boost/mpl/aux_/preprocessed/msvc60/list.hpp +556 -0
  716. data/ext/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp +534 -0
  717. data/ext/boost/mpl/aux_/preprocessed/msvc60/map.hpp +556 -0
  718. data/ext/boost/mpl/aux_/preprocessed/msvc60/minus.hpp +148 -0
  719. data/ext/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp +115 -0
  720. data/ext/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp +102 -0
  721. data/ext/boost/mpl/aux_/preprocessed/msvc60/or.hpp +73 -0
  722. data/ext/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp +105 -0
  723. data/ext/boost/mpl/aux_/preprocessed/msvc60/plus.hpp +148 -0
  724. data/ext/boost/mpl/aux_/preprocessed/msvc60/quote.hpp +11 -0
  725. data/ext/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp +343 -0
  726. data/ext/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp +343 -0
  727. data/ext/boost/mpl/aux_/preprocessed/msvc60/set.hpp +556 -0
  728. data/ext/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp +534 -0
  729. data/ext/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp +114 -0
  730. data/ext/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp +114 -0
  731. data/ext/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp +46 -0
  732. data/ext/boost/mpl/aux_/preprocessed/msvc60/times.hpp +148 -0
  733. data/ext/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp +109 -0
  734. data/ext/boost/mpl/aux_/preprocessed/msvc60/vector.hpp +556 -0
  735. data/ext/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp +534 -0
  736. data/ext/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp +97 -0
  737. data/ext/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp +97 -0
  738. data/ext/boost/mpl/aux_/preprocessed/msvc70/and.hpp +71 -0
  739. data/ext/boost/mpl/aux_/preprocessed/msvc70/apply.hpp +160 -0
  740. data/ext/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp +46 -0
  741. data/ext/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp +138 -0
  742. data/ext/boost/mpl/aux_/preprocessed/msvc70/arg.hpp +123 -0
  743. data/ext/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp +328 -0
  744. data/ext/boost/mpl/aux_/preprocessed/msvc70/bind.hpp +432 -0
  745. data/ext/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp +46 -0
  746. data/ext/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp +151 -0
  747. data/ext/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp +151 -0
  748. data/ext/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp +151 -0
  749. data/ext/boost/mpl/aux_/preprocessed/msvc70/deque.hpp +556 -0
  750. data/ext/boost/mpl/aux_/preprocessed/msvc70/divides.hpp +150 -0
  751. data/ext/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp +102 -0
  752. data/ext/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp +245 -0
  753. data/ext/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp +554 -0
  754. data/ext/boost/mpl/aux_/preprocessed/msvc70/greater.hpp +102 -0
  755. data/ext/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp +102 -0
  756. data/ext/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp +166 -0
  757. data/ext/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp +133 -0
  758. data/ext/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp +245 -0
  759. data/ext/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp +229 -0
  760. data/ext/boost/mpl/aux_/preprocessed/msvc70/less.hpp +102 -0
  761. data/ext/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp +102 -0
  762. data/ext/boost/mpl/aux_/preprocessed/msvc70/list.hpp +556 -0
  763. data/ext/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp +534 -0
  764. data/ext/boost/mpl/aux_/preprocessed/msvc70/map.hpp +556 -0
  765. data/ext/boost/mpl/aux_/preprocessed/msvc70/minus.hpp +150 -0
  766. data/ext/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp +115 -0
  767. data/ext/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp +102 -0
  768. data/ext/boost/mpl/aux_/preprocessed/msvc70/or.hpp +71 -0
  769. data/ext/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp +105 -0
  770. data/ext/boost/mpl/aux_/preprocessed/msvc70/plus.hpp +150 -0
  771. data/ext/boost/mpl/aux_/preprocessed/msvc70/quote.hpp +116 -0
  772. data/ext/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp +295 -0
  773. data/ext/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp +295 -0
  774. data/ext/boost/mpl/aux_/preprocessed/msvc70/set.hpp +556 -0
  775. data/ext/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp +534 -0
  776. data/ext/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp +114 -0
  777. data/ext/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp +114 -0
  778. data/ext/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp +46 -0
  779. data/ext/boost/mpl/aux_/preprocessed/msvc70/times.hpp +150 -0
  780. data/ext/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp +109 -0
  781. data/ext/boost/mpl/aux_/preprocessed/msvc70/vector.hpp +556 -0
  782. data/ext/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp +534 -0
  783. data/ext/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp +97 -0
  784. data/ext/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp +97 -0
  785. data/ext/boost/mpl/aux_/preprocessed/mwcw/and.hpp +69 -0
  786. data/ext/boost/mpl/aux_/preprocessed/mwcw/apply.hpp +169 -0
  787. data/ext/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp +52 -0
  788. data/ext/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp +456 -0
  789. data/ext/boost/mpl/aux_/preprocessed/mwcw/arg.hpp +123 -0
  790. data/ext/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp +440 -0
  791. data/ext/boost/mpl/aux_/preprocessed/mwcw/bind.hpp +561 -0
  792. data/ext/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp +52 -0
  793. data/ext/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp +147 -0
  794. data/ext/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp +147 -0
  795. data/ext/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp +147 -0
  796. data/ext/boost/mpl/aux_/preprocessed/mwcw/deque.hpp +323 -0
  797. data/ext/boost/mpl/aux_/preprocessed/mwcw/divides.hpp +146 -0
  798. data/ext/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp +94 -0
  799. data/ext/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp +180 -0
  800. data/ext/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp +554 -0
  801. data/ext/boost/mpl/aux_/preprocessed/mwcw/greater.hpp +94 -0
  802. data/ext/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp +94 -0
  803. data/ext/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp +141 -0
  804. data/ext/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp +133 -0
  805. data/ext/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp +180 -0
  806. data/ext/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp +229 -0
  807. data/ext/boost/mpl/aux_/preprocessed/mwcw/less.hpp +94 -0
  808. data/ext/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp +94 -0
  809. data/ext/boost/mpl/aux_/preprocessed/mwcw/list.hpp +323 -0
  810. data/ext/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp +328 -0
  811. data/ext/boost/mpl/aux_/preprocessed/mwcw/map.hpp +323 -0
  812. data/ext/boost/mpl/aux_/preprocessed/mwcw/minus.hpp +146 -0
  813. data/ext/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp +101 -0
  814. data/ext/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp +94 -0
  815. data/ext/boost/mpl/aux_/preprocessed/mwcw/or.hpp +69 -0
  816. data/ext/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp +105 -0
  817. data/ext/boost/mpl/aux_/preprocessed/mwcw/plus.hpp +146 -0
  818. data/ext/boost/mpl/aux_/preprocessed/mwcw/quote.hpp +123 -0
  819. data/ext/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp +231 -0
  820. data/ext/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp +231 -0
  821. data/ext/boost/mpl/aux_/preprocessed/mwcw/set.hpp +323 -0
  822. data/ext/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp +328 -0
  823. data/ext/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp +99 -0
  824. data/ext/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp +99 -0
  825. data/ext/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp +11 -0
  826. data/ext/boost/mpl/aux_/preprocessed/mwcw/times.hpp +146 -0
  827. data/ext/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp +94 -0
  828. data/ext/boost/mpl/aux_/preprocessed/mwcw/vector.hpp +323 -0
  829. data/ext/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp +309 -0
  830. data/ext/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp +97 -0
  831. data/ext/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp +97 -0
  832. data/ext/boost/mpl/aux_/preprocessed/no_ctps/and.hpp +73 -0
  833. data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp +268 -0
  834. data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp +50 -0
  835. data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp +78 -0
  836. data/ext/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp +123 -0
  837. data/ext/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp +486 -0
  838. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp +590 -0
  839. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp +52 -0
  840. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp +134 -0
  841. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp +134 -0
  842. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp +134 -0
  843. data/ext/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp +556 -0
  844. data/ext/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp +133 -0
  845. data/ext/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp +94 -0
  846. data/ext/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp +245 -0
  847. data/ext/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp +554 -0
  848. data/ext/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp +94 -0
  849. data/ext/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp +94 -0
  850. data/ext/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp +166 -0
  851. data/ext/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp +133 -0
  852. data/ext/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp +245 -0
  853. data/ext/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp +229 -0
  854. data/ext/boost/mpl/aux_/preprocessed/no_ctps/less.hpp +94 -0
  855. data/ext/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp +94 -0
  856. data/ext/boost/mpl/aux_/preprocessed/no_ctps/list.hpp +556 -0
  857. data/ext/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp +534 -0
  858. data/ext/boost/mpl/aux_/preprocessed/no_ctps/map.hpp +556 -0
  859. data/ext/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp +133 -0
  860. data/ext/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp +101 -0
  861. data/ext/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp +94 -0
  862. data/ext/boost/mpl/aux_/preprocessed/no_ctps/or.hpp +73 -0
  863. data/ext/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp +105 -0
  864. data/ext/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp +133 -0
  865. data/ext/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp +116 -0
  866. data/ext/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp +295 -0
  867. data/ext/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp +295 -0
  868. data/ext/boost/mpl/aux_/preprocessed/no_ctps/set.hpp +556 -0
  869. data/ext/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp +534 -0
  870. data/ext/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp +99 -0
  871. data/ext/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp +99 -0
  872. data/ext/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp +40 -0
  873. data/ext/boost/mpl/aux_/preprocessed/no_ctps/times.hpp +133 -0
  874. data/ext/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp +109 -0
  875. data/ext/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp +556 -0
  876. data/ext/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp +534 -0
  877. data/ext/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp +97 -0
  878. data/ext/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp +97 -0
  879. data/ext/boost/mpl/aux_/preprocessed/no_ttp/and.hpp +69 -0
  880. data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp +169 -0
  881. data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp +52 -0
  882. data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp +84 -0
  883. data/ext/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp +123 -0
  884. data/ext/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp +369 -0
  885. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp +466 -0
  886. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp +52 -0
  887. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp +157 -0
  888. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp +157 -0
  889. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp +157 -0
  890. data/ext/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp +323 -0
  891. data/ext/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp +156 -0
  892. data/ext/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp +98 -0
  893. data/ext/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp +180 -0
  894. data/ext/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp +554 -0
  895. data/ext/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp +98 -0
  896. data/ext/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp +98 -0
  897. data/ext/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp +141 -0
  898. data/ext/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp +133 -0
  899. data/ext/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp +180 -0
  900. data/ext/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp +229 -0
  901. data/ext/boost/mpl/aux_/preprocessed/no_ttp/less.hpp +98 -0
  902. data/ext/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp +98 -0
  903. data/ext/boost/mpl/aux_/preprocessed/no_ttp/list.hpp +323 -0
  904. data/ext/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp +328 -0
  905. data/ext/boost/mpl/aux_/preprocessed/no_ttp/map.hpp +323 -0
  906. data/ext/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp +156 -0
  907. data/ext/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp +111 -0
  908. data/ext/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp +98 -0
  909. data/ext/boost/mpl/aux_/preprocessed/no_ttp/or.hpp +69 -0
  910. data/ext/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp +105 -0
  911. data/ext/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp +156 -0
  912. data/ext/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp +11 -0
  913. data/ext/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp +231 -0
  914. data/ext/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp +231 -0
  915. data/ext/boost/mpl/aux_/preprocessed/no_ttp/set.hpp +323 -0
  916. data/ext/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp +328 -0
  917. data/ext/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp +110 -0
  918. data/ext/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp +110 -0
  919. data/ext/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp +40 -0
  920. data/ext/boost/mpl/aux_/preprocessed/no_ttp/times.hpp +156 -0
  921. data/ext/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp +94 -0
  922. data/ext/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp +323 -0
  923. data/ext/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp +309 -0
  924. data/ext/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp +97 -0
  925. data/ext/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp +97 -0
  926. data/ext/boost/mpl/aux_/preprocessed/plain/and.hpp +64 -0
  927. data/ext/boost/mpl/aux_/preprocessed/plain/apply.hpp +139 -0
  928. data/ext/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp +52 -0
  929. data/ext/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp +84 -0
  930. data/ext/boost/mpl/aux_/preprocessed/plain/arg.hpp +123 -0
  931. data/ext/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp +440 -0
  932. data/ext/boost/mpl/aux_/preprocessed/plain/bind.hpp +561 -0
  933. data/ext/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp +52 -0
  934. data/ext/boost/mpl/aux_/preprocessed/plain/bitand.hpp +142 -0
  935. data/ext/boost/mpl/aux_/preprocessed/plain/bitor.hpp +142 -0
  936. data/ext/boost/mpl/aux_/preprocessed/plain/bitxor.hpp +142 -0
  937. data/ext/boost/mpl/aux_/preprocessed/plain/deque.hpp +323 -0
  938. data/ext/boost/mpl/aux_/preprocessed/plain/divides.hpp +141 -0
  939. data/ext/boost/mpl/aux_/preprocessed/plain/equal_to.hpp +92 -0
  940. data/ext/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp +180 -0
  941. data/ext/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp +554 -0
  942. data/ext/boost/mpl/aux_/preprocessed/plain/greater.hpp +92 -0
  943. data/ext/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp +92 -0
  944. data/ext/boost/mpl/aux_/preprocessed/plain/inherit.hpp +125 -0
  945. data/ext/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp +133 -0
  946. data/ext/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp +180 -0
  947. data/ext/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp +228 -0
  948. data/ext/boost/mpl/aux_/preprocessed/plain/less.hpp +92 -0
  949. data/ext/boost/mpl/aux_/preprocessed/plain/less_equal.hpp +92 -0
  950. data/ext/boost/mpl/aux_/preprocessed/plain/list.hpp +323 -0
  951. data/ext/boost/mpl/aux_/preprocessed/plain/list_c.hpp +328 -0
  952. data/ext/boost/mpl/aux_/preprocessed/plain/map.hpp +323 -0
  953. data/ext/boost/mpl/aux_/preprocessed/plain/minus.hpp +141 -0
  954. data/ext/boost/mpl/aux_/preprocessed/plain/modulus.hpp +99 -0
  955. data/ext/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp +92 -0
  956. data/ext/boost/mpl/aux_/preprocessed/plain/or.hpp +64 -0
  957. data/ext/boost/mpl/aux_/preprocessed/plain/placeholders.hpp +105 -0
  958. data/ext/boost/mpl/aux_/preprocessed/plain/plus.hpp +141 -0
  959. data/ext/boost/mpl/aux_/preprocessed/plain/quote.hpp +123 -0
  960. data/ext/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp +231 -0
  961. data/ext/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp +231 -0
  962. data/ext/boost/mpl/aux_/preprocessed/plain/set.hpp +323 -0
  963. data/ext/boost/mpl/aux_/preprocessed/plain/set_c.hpp +328 -0
  964. data/ext/boost/mpl/aux_/preprocessed/plain/shift_left.hpp +97 -0
  965. data/ext/boost/mpl/aux_/preprocessed/plain/shift_right.hpp +97 -0
  966. data/ext/boost/mpl/aux_/preprocessed/plain/template_arity.hpp +11 -0
  967. data/ext/boost/mpl/aux_/preprocessed/plain/times.hpp +141 -0
  968. data/ext/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp +94 -0
  969. data/ext/boost/mpl/aux_/preprocessed/plain/vector.hpp +323 -0
  970. data/ext/boost/mpl/aux_/preprocessed/plain/vector_c.hpp +309 -0
  971. data/ext/boost/mpl/aux_/preprocessor/add.hpp +65 -0
  972. data/ext/boost/mpl/aux_/preprocessor/def_params_tail.hpp +105 -0
  973. data/ext/boost/mpl/aux_/preprocessor/default_params.hpp +67 -0
  974. data/ext/boost/mpl/aux_/preprocessor/enum.hpp +62 -0
  975. data/ext/boost/mpl/aux_/preprocessor/ext_params.hpp +78 -0
  976. data/ext/boost/mpl/aux_/preprocessor/filter_params.hpp +28 -0
  977. data/ext/boost/mpl/aux_/preprocessor/is_seq.hpp +54 -0
  978. data/ext/boost/mpl/aux_/preprocessor/params.hpp +65 -0
  979. data/ext/boost/mpl/aux_/preprocessor/partial_spec_params.hpp +32 -0
  980. data/ext/boost/mpl/aux_/preprocessor/range.hpp +23 -0
  981. data/ext/boost/mpl/aux_/preprocessor/repeat.hpp +51 -0
  982. data/ext/boost/mpl/aux_/preprocessor/sub.hpp +65 -0
  983. data/ext/boost/mpl/aux_/preprocessor/token_equal.hpp +56 -0
  984. data/ext/boost/mpl/aux_/preprocessor/tuple.hpp +29 -0
  985. data/ext/boost/mpl/aux_/ptr_to_ref.hpp +46 -0
  986. data/ext/boost/mpl/aux_/push_back_impl.hpp +55 -0
  987. data/ext/boost/mpl/aux_/push_front_impl.hpp +56 -0
  988. data/ext/boost/mpl/aux_/range_c/O1_size.hpp +31 -0
  989. data/ext/boost/mpl/aux_/range_c/back.hpp +34 -0
  990. data/ext/boost/mpl/aux_/range_c/empty.hpp +37 -0
  991. data/ext/boost/mpl/aux_/range_c/front.hpp +33 -0
  992. data/ext/boost/mpl/aux_/range_c/iterator.hpp +106 -0
  993. data/ext/boost/mpl/aux_/range_c/size.hpp +37 -0
  994. data/ext/boost/mpl/aux_/range_c/tag.hpp +24 -0
  995. data/ext/boost/mpl/aux_/reverse_fold_impl.hpp +44 -0
  996. data/ext/boost/mpl/aux_/reverse_fold_impl_body.hpp +412 -0
  997. data/ext/boost/mpl/aux_/reverse_iter_fold_impl.hpp +43 -0
  998. data/ext/boost/mpl/aux_/sequence_wrapper.hpp +292 -0
  999. data/ext/boost/mpl/aux_/shift_op.hpp +87 -0
  1000. data/ext/boost/mpl/aux_/single_element_iter.hpp +118 -0
  1001. data/ext/boost/mpl/aux_/size_impl.hpp +52 -0
  1002. data/ext/boost/mpl/aux_/sort_impl.hpp +121 -0
  1003. data/ext/boost/mpl/aux_/static_cast.hpp +27 -0
  1004. data/ext/boost/mpl/aux_/template_arity.hpp +189 -0
  1005. data/ext/boost/mpl/aux_/template_arity_fwd.hpp +23 -0
  1006. data/ext/boost/mpl/aux_/test.hpp +32 -0
  1007. data/ext/boost/mpl/aux_/test/assert.hpp +29 -0
  1008. data/ext/boost/mpl/aux_/test/data.hpp +25 -0
  1009. data/ext/boost/mpl/aux_/test/test_case.hpp +21 -0
  1010. data/ext/boost/mpl/aux_/traits_lambda_spec.hpp +56 -0
  1011. data/ext/boost/mpl/aux_/transform_iter.hpp +123 -0
  1012. data/ext/boost/mpl/aux_/type_wrapper.hpp +47 -0
  1013. data/ext/boost/mpl/aux_/unwrap.hpp +47 -0
  1014. data/ext/boost/mpl/aux_/value_wknd.hpp +89 -0
  1015. data/ext/boost/mpl/aux_/yes_no.hpp +58 -0
  1016. data/ext/boost/mpl/back.hpp +39 -0
  1017. data/ext/boost/mpl/back_fwd.hpp +24 -0
  1018. data/ext/boost/mpl/back_inserter.hpp +34 -0
  1019. data/ext/boost/mpl/base.hpp +35 -0
  1020. data/ext/boost/mpl/begin.hpp +19 -0
  1021. data/ext/boost/mpl/begin_end.hpp +57 -0
  1022. data/ext/boost/mpl/begin_end_fwd.hpp +27 -0
  1023. data/ext/boost/mpl/bind.hpp +547 -0
  1024. data/ext/boost/mpl/bind_fwd.hpp +99 -0
  1025. data/ext/boost/mpl/bitand.hpp +23 -0
  1026. data/ext/boost/mpl/bitor.hpp +23 -0
  1027. data/ext/boost/mpl/bitwise.hpp +24 -0
  1028. data/ext/boost/mpl/bitxor.hpp +23 -0
  1029. data/ext/boost/mpl/bool.hpp +39 -0
  1030. data/ext/boost/mpl/bool_fwd.hpp +33 -0
  1031. data/ext/boost/mpl/clear.hpp +39 -0
  1032. data/ext/boost/mpl/clear_fwd.hpp +24 -0
  1033. data/ext/boost/mpl/comparison.hpp +24 -0
  1034. data/ext/boost/mpl/contains.hpp +41 -0
  1035. data/ext/boost/mpl/contains_fwd.hpp +25 -0
  1036. data/ext/boost/mpl/copy.hpp +58 -0
  1037. data/ext/boost/mpl/copy_if.hpp +96 -0
  1038. data/ext/boost/mpl/count.hpp +40 -0
  1039. data/ext/boost/mpl/count_fwd.hpp +24 -0
  1040. data/ext/boost/mpl/count_if.hpp +79 -0
  1041. data/ext/boost/mpl/deque.hpp +58 -0
  1042. data/ext/boost/mpl/deref.hpp +41 -0
  1043. data/ext/boost/mpl/distance.hpp +78 -0
  1044. data/ext/boost/mpl/distance_fwd.hpp +28 -0
  1045. data/ext/boost/mpl/divides.hpp +21 -0
  1046. data/ext/boost/mpl/empty.hpp +39 -0
  1047. data/ext/boost/mpl/empty_base.hpp +59 -0
  1048. data/ext/boost/mpl/empty_fwd.hpp +24 -0
  1049. data/ext/boost/mpl/empty_sequence.hpp +42 -0
  1050. data/ext/boost/mpl/end.hpp +19 -0
  1051. data/ext/boost/mpl/equal.hpp +112 -0
  1052. data/ext/boost/mpl/equal_to.hpp +21 -0
  1053. data/ext/boost/mpl/erase.hpp +42 -0
  1054. data/ext/boost/mpl/erase_fwd.hpp +24 -0
  1055. data/ext/boost/mpl/erase_key.hpp +41 -0
  1056. data/ext/boost/mpl/erase_key_fwd.hpp +24 -0
  1057. data/ext/boost/mpl/eval_if.hpp +71 -0
  1058. data/ext/boost/mpl/filter_view.hpp +46 -0
  1059. data/ext/boost/mpl/find.hpp +38 -0
  1060. data/ext/boost/mpl/find_if.hpp +50 -0
  1061. data/ext/boost/mpl/fold.hpp +48 -0
  1062. data/ext/boost/mpl/for_each.hpp +112 -0
  1063. data/ext/boost/mpl/front.hpp +39 -0
  1064. data/ext/boost/mpl/front_fwd.hpp +24 -0
  1065. data/ext/boost/mpl/front_inserter.hpp +33 -0
  1066. data/ext/boost/mpl/greater.hpp +21 -0
  1067. data/ext/boost/mpl/greater_equal.hpp +21 -0
  1068. data/ext/boost/mpl/has_key.hpp +41 -0
  1069. data/ext/boost/mpl/has_key_fwd.hpp +25 -0
  1070. data/ext/boost/mpl/has_xxx.hpp +233 -0
  1071. data/ext/boost/mpl/identity.hpp +45 -0
  1072. data/ext/boost/mpl/if.hpp +135 -0
  1073. data/ext/boost/mpl/index_if.hpp +60 -0
  1074. data/ext/boost/mpl/index_of.hpp +39 -0
  1075. data/ext/boost/mpl/inherit.hpp +229 -0
  1076. data/ext/boost/mpl/inherit_linearly.hpp +39 -0
  1077. data/ext/boost/mpl/insert.hpp +41 -0
  1078. data/ext/boost/mpl/insert_fwd.hpp +24 -0
  1079. data/ext/boost/mpl/insert_range.hpp +41 -0
  1080. data/ext/boost/mpl/insert_range_fwd.hpp +24 -0
  1081. data/ext/boost/mpl/inserter.hpp +32 -0
  1082. data/ext/boost/mpl/int.hpp +22 -0
  1083. data/ext/boost/mpl/int_fwd.hpp +27 -0
  1084. data/ext/boost/mpl/integral_c.hpp +51 -0
  1085. data/ext/boost/mpl/integral_c_fwd.hpp +32 -0
  1086. data/ext/boost/mpl/integral_c_tag.hpp +26 -0
  1087. data/ext/boost/mpl/is_placeholder.hpp +67 -0
  1088. data/ext/boost/mpl/is_sequence.hpp +112 -0
  1089. data/ext/boost/mpl/iter_fold.hpp +49 -0
  1090. data/ext/boost/mpl/iter_fold_if.hpp +117 -0
  1091. data/ext/boost/mpl/iterator_category.hpp +35 -0
  1092. data/ext/boost/mpl/iterator_range.hpp +42 -0
  1093. data/ext/boost/mpl/iterator_tags.hpp +27 -0
  1094. data/ext/boost/mpl/joint_view.hpp +65 -0
  1095. data/ext/boost/mpl/key_type.hpp +42 -0
  1096. data/ext/boost/mpl/key_type_fwd.hpp +25 -0
  1097. data/ext/boost/mpl/lambda.hpp +29 -0
  1098. data/ext/boost/mpl/lambda_fwd.hpp +57 -0
  1099. data/ext/boost/mpl/less.hpp +21 -0
  1100. data/ext/boost/mpl/less_equal.hpp +21 -0
  1101. data/ext/boost/mpl/limits/arity.hpp +21 -0
  1102. data/ext/boost/mpl/limits/list.hpp +21 -0
  1103. data/ext/boost/mpl/limits/map.hpp +21 -0
  1104. data/ext/boost/mpl/limits/set.hpp +21 -0
  1105. data/ext/boost/mpl/limits/unrolling.hpp +21 -0
  1106. data/ext/boost/mpl/limits/vector.hpp +21 -0
  1107. data/ext/boost/mpl/list.hpp +57 -0
  1108. data/ext/boost/mpl/list/aux_/O1_size.hpp +33 -0
  1109. data/ext/boost/mpl/list/aux_/begin_end.hpp +44 -0
  1110. data/ext/boost/mpl/list/aux_/clear.hpp +34 -0
  1111. data/ext/boost/mpl/list/aux_/empty.hpp +34 -0
  1112. data/ext/boost/mpl/list/aux_/front.hpp +33 -0
  1113. data/ext/boost/mpl/list/aux_/include_preprocessed.hpp +35 -0
  1114. data/ext/boost/mpl/list/aux_/item.hpp +55 -0
  1115. data/ext/boost/mpl/list/aux_/iterator.hpp +76 -0
  1116. data/ext/boost/mpl/list/aux_/numbered.hpp +68 -0
  1117. data/ext/boost/mpl/list/aux_/numbered_c.hpp +71 -0
  1118. data/ext/boost/mpl/list/aux_/pop_front.hpp +34 -0
  1119. data/ext/boost/mpl/list/aux_/preprocessed/plain/list10.hpp +149 -0
  1120. data/ext/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp +164 -0
  1121. data/ext/boost/mpl/list/aux_/preprocessed/plain/list20.hpp +169 -0
  1122. data/ext/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp +173 -0
  1123. data/ext/boost/mpl/list/aux_/preprocessed/plain/list30.hpp +189 -0
  1124. data/ext/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp +183 -0
  1125. data/ext/boost/mpl/list/aux_/preprocessed/plain/list40.hpp +209 -0
  1126. data/ext/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp +193 -0
  1127. data/ext/boost/mpl/list/aux_/preprocessed/plain/list50.hpp +229 -0
  1128. data/ext/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp +203 -0
  1129. data/ext/boost/mpl/list/aux_/push_back.hpp +36 -0
  1130. data/ext/boost/mpl/list/aux_/push_front.hpp +39 -0
  1131. data/ext/boost/mpl/list/aux_/size.hpp +33 -0
  1132. data/ext/boost/mpl/list/aux_/tag.hpp +24 -0
  1133. data/ext/boost/mpl/list/list0.hpp +42 -0
  1134. data/ext/boost/mpl/list/list0_c.hpp +31 -0
  1135. data/ext/boost/mpl/list/list10.hpp +43 -0
  1136. data/ext/boost/mpl/list/list10_c.hpp +43 -0
  1137. data/ext/boost/mpl/list/list20.hpp +43 -0
  1138. data/ext/boost/mpl/list/list20_c.hpp +43 -0
  1139. data/ext/boost/mpl/list/list30.hpp +43 -0
  1140. data/ext/boost/mpl/list/list30_c.hpp +43 -0
  1141. data/ext/boost/mpl/list/list40.hpp +43 -0
  1142. data/ext/boost/mpl/list/list40_c.hpp +43 -0
  1143. data/ext/boost/mpl/list/list50.hpp +43 -0
  1144. data/ext/boost/mpl/list/list50_c.hpp +43 -0
  1145. data/ext/boost/mpl/list_c.hpp +60 -0
  1146. data/ext/boost/mpl/logical.hpp +21 -0
  1147. data/ext/boost/mpl/long.hpp +22 -0
  1148. data/ext/boost/mpl/long_fwd.hpp +27 -0
  1149. data/ext/boost/mpl/lower_bound.hpp +143 -0
  1150. data/ext/boost/mpl/map.hpp +57 -0
  1151. data/ext/boost/mpl/map/aux_/at_impl.hpp +144 -0
  1152. data/ext/boost/mpl/map/aux_/begin_end_impl.hpp +50 -0
  1153. data/ext/boost/mpl/map/aux_/clear_impl.hpp +35 -0
  1154. data/ext/boost/mpl/map/aux_/contains_impl.hpp +43 -0
  1155. data/ext/boost/mpl/map/aux_/empty_impl.hpp +34 -0
  1156. data/ext/boost/mpl/map/aux_/erase_impl.hpp +41 -0
  1157. data/ext/boost/mpl/map/aux_/erase_key_impl.hpp +53 -0
  1158. data/ext/boost/mpl/map/aux_/has_key_impl.hpp +44 -0
  1159. data/ext/boost/mpl/map/aux_/include_preprocessed.hpp +53 -0
  1160. data/ext/boost/mpl/map/aux_/insert_impl.hpp +72 -0
  1161. data/ext/boost/mpl/map/aux_/item.hpp +138 -0
  1162. data/ext/boost/mpl/map/aux_/iterator.hpp +169 -0
  1163. data/ext/boost/mpl/map/aux_/key_type_impl.hpp +36 -0
  1164. data/ext/boost/mpl/map/aux_/map0.hpp +74 -0
  1165. data/ext/boost/mpl/map/aux_/numbered.hpp +110 -0
  1166. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp +350 -0
  1167. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp +370 -0
  1168. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp +390 -0
  1169. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp +410 -0
  1170. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp +430 -0
  1171. data/ext/boost/mpl/map/aux_/preprocessed/plain/map10.hpp +290 -0
  1172. data/ext/boost/mpl/map/aux_/preprocessed/plain/map20.hpp +310 -0
  1173. data/ext/boost/mpl/map/aux_/preprocessed/plain/map30.hpp +330 -0
  1174. data/ext/boost/mpl/map/aux_/preprocessed/plain/map40.hpp +350 -0
  1175. data/ext/boost/mpl/map/aux_/preprocessed/plain/map50.hpp +370 -0
  1176. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp +150 -0
  1177. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp +170 -0
  1178. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp +190 -0
  1179. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp +210 -0
  1180. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp +230 -0
  1181. data/ext/boost/mpl/map/aux_/size_impl.hpp +33 -0
  1182. data/ext/boost/mpl/map/aux_/tag.hpp +24 -0
  1183. data/ext/boost/mpl/map/aux_/value_type_impl.hpp +36 -0
  1184. data/ext/boost/mpl/map/map0.hpp +36 -0
  1185. data/ext/boost/mpl/map/map10.hpp +44 -0
  1186. data/ext/boost/mpl/map/map20.hpp +44 -0
  1187. data/ext/boost/mpl/map/map30.hpp +44 -0
  1188. data/ext/boost/mpl/map/map40.hpp +44 -0
  1189. data/ext/boost/mpl/map/map50.hpp +44 -0
  1190. data/ext/boost/mpl/math/fixed_c.hpp +36 -0
  1191. data/ext/boost/mpl/math/is_even.hpp +54 -0
  1192. data/ext/boost/mpl/math/rational_c.hpp +37 -0
  1193. data/ext/boost/mpl/max.hpp +19 -0
  1194. data/ext/boost/mpl/max_element.hpp +72 -0
  1195. data/ext/boost/mpl/min.hpp +19 -0
  1196. data/ext/boost/mpl/min_element.hpp +40 -0
  1197. data/ext/boost/mpl/min_max.hpp +46 -0
  1198. data/ext/boost/mpl/minus.hpp +21 -0
  1199. data/ext/boost/mpl/modulus.hpp +22 -0
  1200. data/ext/boost/mpl/multiplies.hpp +53 -0
  1201. data/ext/boost/mpl/multiset/aux_/count_impl.hpp +82 -0
  1202. data/ext/boost/mpl/multiset/aux_/insert_impl.hpp +34 -0
  1203. data/ext/boost/mpl/multiset/aux_/item.hpp +114 -0
  1204. data/ext/boost/mpl/multiset/aux_/multiset0.hpp +34 -0
  1205. data/ext/boost/mpl/multiset/aux_/tag.hpp +23 -0
  1206. data/ext/boost/mpl/multiset/multiset0.hpp +36 -0
  1207. data/ext/boost/mpl/negate.hpp +81 -0
  1208. data/ext/boost/mpl/next.hpp +19 -0
  1209. data/ext/boost/mpl/next_prior.hpp +49 -0
  1210. data/ext/boost/mpl/not.hpp +51 -0
  1211. data/ext/boost/mpl/not_equal_to.hpp +21 -0
  1212. data/ext/boost/mpl/numeric_cast.hpp +41 -0
  1213. data/ext/boost/mpl/or.hpp +57 -0
  1214. data/ext/boost/mpl/order.hpp +41 -0
  1215. data/ext/boost/mpl/order_fwd.hpp +25 -0
  1216. data/ext/boost/mpl/pair.hpp +70 -0
  1217. data/ext/boost/mpl/pair_view.hpp +169 -0
  1218. data/ext/boost/mpl/partition.hpp +53 -0
  1219. data/ext/boost/mpl/placeholders.hpp +100 -0
  1220. data/ext/boost/mpl/plus.hpp +21 -0
  1221. data/ext/boost/mpl/pop_back.hpp +39 -0
  1222. data/ext/boost/mpl/pop_back_fwd.hpp +24 -0
  1223. data/ext/boost/mpl/pop_front.hpp +39 -0
  1224. data/ext/boost/mpl/pop_front_fwd.hpp +24 -0
  1225. data/ext/boost/mpl/print.hpp +74 -0
  1226. data/ext/boost/mpl/prior.hpp +19 -0
  1227. data/ext/boost/mpl/protect.hpp +55 -0
  1228. data/ext/boost/mpl/push_back.hpp +53 -0
  1229. data/ext/boost/mpl/push_back_fwd.hpp +24 -0
  1230. data/ext/boost/mpl/push_front.hpp +52 -0
  1231. data/ext/boost/mpl/push_front_fwd.hpp +24 -0
  1232. data/ext/boost/mpl/quote.hpp +140 -0
  1233. data/ext/boost/mpl/range_c.hpp +48 -0
  1234. data/ext/boost/mpl/remove.hpp +52 -0
  1235. data/ext/boost/mpl/remove_if.hpp +83 -0
  1236. data/ext/boost/mpl/replace.hpp +55 -0
  1237. data/ext/boost/mpl/replace_if.hpp +88 -0
  1238. data/ext/boost/mpl/reverse.hpp +38 -0
  1239. data/ext/boost/mpl/reverse_fold.hpp +50 -0
  1240. data/ext/boost/mpl/reverse_iter_fold.hpp +56 -0
  1241. data/ext/boost/mpl/same_as.hpp +55 -0
  1242. data/ext/boost/mpl/sequence_tag.hpp +124 -0
  1243. data/ext/boost/mpl/sequence_tag_fwd.hpp +26 -0
  1244. data/ext/boost/mpl/set.hpp +57 -0
  1245. data/ext/boost/mpl/set/aux_/at_impl.hpp +40 -0
  1246. data/ext/boost/mpl/set/aux_/begin_end_impl.hpp +43 -0
  1247. data/ext/boost/mpl/set/aux_/clear_impl.hpp +35 -0
  1248. data/ext/boost/mpl/set/aux_/empty_impl.hpp +34 -0
  1249. data/ext/boost/mpl/set/aux_/erase_impl.hpp +41 -0
  1250. data/ext/boost/mpl/set/aux_/erase_key_impl.hpp +53 -0
  1251. data/ext/boost/mpl/set/aux_/has_key_impl.hpp +60 -0
  1252. data/ext/boost/mpl/set/aux_/include_preprocessed.hpp +42 -0
  1253. data/ext/boost/mpl/set/aux_/insert_impl.hpp +65 -0
  1254. data/ext/boost/mpl/set/aux_/item.hpp +82 -0
  1255. data/ext/boost/mpl/set/aux_/iterator.hpp +97 -0
  1256. data/ext/boost/mpl/set/aux_/key_type_impl.hpp +34 -0
  1257. data/ext/boost/mpl/set/aux_/numbered.hpp +48 -0
  1258. data/ext/boost/mpl/set/aux_/numbered_c.hpp +48 -0
  1259. data/ext/boost/mpl/set/aux_/preprocessed/plain/set10.hpp +140 -0
  1260. data/ext/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp +145 -0
  1261. data/ext/boost/mpl/set/aux_/preprocessed/plain/set20.hpp +168 -0
  1262. data/ext/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp +154 -0
  1263. data/ext/boost/mpl/set/aux_/preprocessed/plain/set30.hpp +195 -0
  1264. data/ext/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp +164 -0
  1265. data/ext/boost/mpl/set/aux_/preprocessed/plain/set40.hpp +221 -0
  1266. data/ext/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp +174 -0
  1267. data/ext/boost/mpl/set/aux_/preprocessed/plain/set50.hpp +250 -0
  1268. data/ext/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp +184 -0
  1269. data/ext/boost/mpl/set/aux_/set0.hpp +69 -0
  1270. data/ext/boost/mpl/set/aux_/size_impl.hpp +33 -0
  1271. data/ext/boost/mpl/set/aux_/tag.hpp +24 -0
  1272. data/ext/boost/mpl/set/aux_/value_type_impl.hpp +34 -0
  1273. data/ext/boost/mpl/set/set0.hpp +35 -0
  1274. data/ext/boost/mpl/set/set0_c.hpp +32 -0
  1275. data/ext/boost/mpl/set/set10.hpp +44 -0
  1276. data/ext/boost/mpl/set/set10_c.hpp +45 -0
  1277. data/ext/boost/mpl/set/set20.hpp +44 -0
  1278. data/ext/boost/mpl/set/set20_c.hpp +45 -0
  1279. data/ext/boost/mpl/set/set30.hpp +44 -0
  1280. data/ext/boost/mpl/set/set30_c.hpp +45 -0
  1281. data/ext/boost/mpl/set/set40.hpp +44 -0
  1282. data/ext/boost/mpl/set/set40_c.hpp +45 -0
  1283. data/ext/boost/mpl/set/set50.hpp +44 -0
  1284. data/ext/boost/mpl/set/set50_c.hpp +45 -0
  1285. data/ext/boost/mpl/set_c.hpp +60 -0
  1286. data/ext/boost/mpl/shift_left.hpp +22 -0
  1287. data/ext/boost/mpl/shift_right.hpp +22 -0
  1288. data/ext/boost/mpl/single_view.hpp +38 -0
  1289. data/ext/boost/mpl/size.hpp +42 -0
  1290. data/ext/boost/mpl/size_fwd.hpp +24 -0
  1291. data/ext/boost/mpl/size_t.hpp +25 -0
  1292. data/ext/boost/mpl/size_t_fwd.hpp +28 -0
  1293. data/ext/boost/mpl/sizeof.hpp +36 -0
  1294. data/ext/boost/mpl/sort.hpp +27 -0
  1295. data/ext/boost/mpl/stable_partition.hpp +75 -0
  1296. data/ext/boost/mpl/switch.hpp +49 -0
  1297. data/ext/boost/mpl/tag.hpp +52 -0
  1298. data/ext/boost/mpl/times.hpp +21 -0
  1299. data/ext/boost/mpl/transform.hpp +145 -0
  1300. data/ext/boost/mpl/transform_view.hpp +46 -0
  1301. data/ext/boost/mpl/unique.hpp +85 -0
  1302. data/ext/boost/mpl/unpack_args.hpp +146 -0
  1303. data/ext/boost/mpl/upper_bound.hpp +141 -0
  1304. data/ext/boost/mpl/value_type.hpp +42 -0
  1305. data/ext/boost/mpl/value_type_fwd.hpp +25 -0
  1306. data/ext/boost/mpl/vector.hpp +57 -0
  1307. data/ext/boost/mpl/vector/aux_/O1_size.hpp +56 -0
  1308. data/ext/boost/mpl/vector/aux_/at.hpp +116 -0
  1309. data/ext/boost/mpl/vector/aux_/back.hpp +59 -0
  1310. data/ext/boost/mpl/vector/aux_/begin_end.hpp +49 -0
  1311. data/ext/boost/mpl/vector/aux_/clear.hpp +55 -0
  1312. data/ext/boost/mpl/vector/aux_/empty.hpp +68 -0
  1313. data/ext/boost/mpl/vector/aux_/front.hpp +56 -0
  1314. data/ext/boost/mpl/vector/aux_/include_preprocessed.hpp +55 -0
  1315. data/ext/boost/mpl/vector/aux_/item.hpp +103 -0
  1316. data/ext/boost/mpl/vector/aux_/iterator.hpp +130 -0
  1317. data/ext/boost/mpl/vector/aux_/numbered.hpp +218 -0
  1318. data/ext/boost/mpl/vector/aux_/numbered_c.hpp +77 -0
  1319. data/ext/boost/mpl/vector/aux_/pop_back.hpp +40 -0
  1320. data/ext/boost/mpl/vector/aux_/pop_front.hpp +40 -0
  1321. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp +1528 -0
  1322. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp +149 -0
  1323. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp +1804 -0
  1324. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp +195 -0
  1325. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp +2124 -0
  1326. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp +238 -0
  1327. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp +2444 -0
  1328. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp +281 -0
  1329. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp +2764 -0
  1330. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp +325 -0
  1331. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp +829 -0
  1332. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp +149 -0
  1333. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp +1144 -0
  1334. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp +195 -0
  1335. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp +1464 -0
  1336. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp +238 -0
  1337. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp +1784 -0
  1338. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp +281 -0
  1339. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp +2104 -0
  1340. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp +325 -0
  1341. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp +139 -0
  1342. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp +154 -0
  1343. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp +159 -0
  1344. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp +163 -0
  1345. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp +179 -0
  1346. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp +173 -0
  1347. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp +199 -0
  1348. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp +183 -0
  1349. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp +219 -0
  1350. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp +193 -0
  1351. data/ext/boost/mpl/vector/aux_/push_back.hpp +40 -0
  1352. data/ext/boost/mpl/vector/aux_/push_front.hpp +40 -0
  1353. data/ext/boost/mpl/vector/aux_/size.hpp +49 -0
  1354. data/ext/boost/mpl/vector/aux_/tag.hpp +32 -0
  1355. data/ext/boost/mpl/vector/aux_/vector0.hpp +52 -0
  1356. data/ext/boost/mpl/vector/vector0.hpp +34 -0
  1357. data/ext/boost/mpl/vector/vector0_c.hpp +31 -0
  1358. data/ext/boost/mpl/vector/vector10.hpp +45 -0
  1359. data/ext/boost/mpl/vector/vector10_c.hpp +46 -0
  1360. data/ext/boost/mpl/vector/vector20.hpp +45 -0
  1361. data/ext/boost/mpl/vector/vector20_c.hpp +46 -0
  1362. data/ext/boost/mpl/vector/vector30.hpp +45 -0
  1363. data/ext/boost/mpl/vector/vector30_c.hpp +47 -0
  1364. data/ext/boost/mpl/vector/vector40.hpp +45 -0
  1365. data/ext/boost/mpl/vector/vector40_c.hpp +46 -0
  1366. data/ext/boost/mpl/vector/vector50.hpp +45 -0
  1367. data/ext/boost/mpl/vector/vector50_c.hpp +46 -0
  1368. data/ext/boost/mpl/vector_c.hpp +60 -0
  1369. data/ext/boost/mpl/void.hpp +76 -0
  1370. data/ext/boost/mpl/void_fwd.hpp +26 -0
  1371. data/ext/boost/mpl/zip_view.hpp +64 -0
  1372. data/ext/boost/next_prior.hpp +51 -0
  1373. data/ext/boost/noncopyable.hpp +36 -0
  1374. data/ext/boost/none.hpp +43 -0
  1375. data/ext/boost/optional.hpp +18 -0
  1376. data/ext/boost/optional/optional.hpp +922 -0
  1377. data/ext/boost/optional/optional_fwd.hpp +22 -0
  1378. data/ext/boost/optional/optional_io.hpp +84 -0
  1379. data/ext/boost/preprocessor/arithmetic.hpp +25 -0
  1380. data/ext/boost/preprocessor/arithmetic/add.hpp +51 -0
  1381. data/ext/boost/preprocessor/arithmetic/dec.hpp +288 -0
  1382. data/ext/boost/preprocessor/arithmetic/detail/div_base.hpp +61 -0
  1383. data/ext/boost/preprocessor/arithmetic/div.hpp +39 -0
  1384. data/ext/boost/preprocessor/arithmetic/inc.hpp +288 -0
  1385. data/ext/boost/preprocessor/arithmetic/mod.hpp +39 -0
  1386. data/ext/boost/preprocessor/arithmetic/mul.hpp +53 -0
  1387. data/ext/boost/preprocessor/arithmetic/sub.hpp +50 -0
  1388. data/ext/boost/preprocessor/array.hpp +27 -0
  1389. data/ext/boost/preprocessor/array/data.hpp +28 -0
  1390. data/ext/boost/preprocessor/array/elem.hpp +29 -0
  1391. data/ext/boost/preprocessor/array/insert.hpp +55 -0
  1392. data/ext/boost/preprocessor/array/pop_back.hpp +37 -0
  1393. data/ext/boost/preprocessor/array/pop_front.hpp +38 -0
  1394. data/ext/boost/preprocessor/array/push_back.hpp +33 -0
  1395. data/ext/boost/preprocessor/array/push_front.hpp +33 -0
  1396. data/ext/boost/preprocessor/array/remove.hpp +54 -0
  1397. data/ext/boost/preprocessor/array/replace.hpp +49 -0
  1398. data/ext/boost/preprocessor/array/reverse.hpp +29 -0
  1399. data/ext/boost/preprocessor/array/size.hpp +28 -0
  1400. data/ext/boost/preprocessor/assert_msg.hpp +17 -0
  1401. data/ext/boost/preprocessor/cat.hpp +35 -0
  1402. data/ext/boost/preprocessor/comma.hpp +17 -0
  1403. data/ext/boost/preprocessor/comma_if.hpp +17 -0
  1404. data/ext/boost/preprocessor/comparison.hpp +24 -0
  1405. data/ext/boost/preprocessor/comparison/equal.hpp +34 -0
  1406. data/ext/boost/preprocessor/comparison/greater.hpp +38 -0
  1407. data/ext/boost/preprocessor/comparison/greater_equal.hpp +38 -0
  1408. data/ext/boost/preprocessor/comparison/less.hpp +46 -0
  1409. data/ext/boost/preprocessor/comparison/less_equal.hpp +39 -0
  1410. data/ext/boost/preprocessor/comparison/not_equal.hpp +814 -0
  1411. data/ext/boost/preprocessor/config/config.hpp +70 -0
  1412. data/ext/boost/preprocessor/config/limits.hpp +29 -0
  1413. data/ext/boost/preprocessor/control.hpp +22 -0
  1414. data/ext/boost/preprocessor/control/deduce_d.hpp +22 -0
  1415. data/ext/boost/preprocessor/control/detail/dmc/while.hpp +536 -0
  1416. data/ext/boost/preprocessor/control/detail/edg/while.hpp +534 -0
  1417. data/ext/boost/preprocessor/control/detail/msvc/while.hpp +277 -0
  1418. data/ext/boost/preprocessor/control/detail/while.hpp +536 -0
  1419. data/ext/boost/preprocessor/control/expr_if.hpp +30 -0
  1420. data/ext/boost/preprocessor/control/expr_iif.hpp +31 -0
  1421. data/ext/boost/preprocessor/control/if.hpp +30 -0
  1422. data/ext/boost/preprocessor/control/iif.hpp +34 -0
  1423. data/ext/boost/preprocessor/control/while.hpp +312 -0
  1424. data/ext/boost/preprocessor/debug.hpp +18 -0
  1425. data/ext/boost/preprocessor/debug/assert.hpp +44 -0
  1426. data/ext/boost/preprocessor/debug/error.hpp +33 -0
  1427. data/ext/boost/preprocessor/debug/line.hpp +35 -0
  1428. data/ext/boost/preprocessor/dec.hpp +17 -0
  1429. data/ext/boost/preprocessor/detail/auto_rec.hpp +293 -0
  1430. data/ext/boost/preprocessor/detail/check.hpp +48 -0
  1431. data/ext/boost/preprocessor/detail/dmc/auto_rec.hpp +286 -0
  1432. data/ext/boost/preprocessor/detail/is_binary.hpp +30 -0
  1433. data/ext/boost/preprocessor/detail/is_nullary.hpp +30 -0
  1434. data/ext/boost/preprocessor/detail/is_unary.hpp +30 -0
  1435. data/ext/boost/preprocessor/detail/null.hpp +17 -0
  1436. data/ext/boost/preprocessor/detail/split.hpp +35 -0
  1437. data/ext/boost/preprocessor/empty.hpp +17 -0
  1438. data/ext/boost/preprocessor/enum.hpp +17 -0
  1439. data/ext/boost/preprocessor/enum_params.hpp +17 -0
  1440. data/ext/boost/preprocessor/enum_params_with_a_default.hpp +17 -0
  1441. data/ext/boost/preprocessor/enum_params_with_defaults.hpp +17 -0
  1442. data/ext/boost/preprocessor/enum_shifted.hpp +17 -0
  1443. data/ext/boost/preprocessor/enum_shifted_params.hpp +17 -0
  1444. data/ext/boost/preprocessor/expand.hpp +17 -0
  1445. data/ext/boost/preprocessor/expr_if.hpp +17 -0
  1446. data/ext/boost/preprocessor/facilities.hpp +21 -0
  1447. data/ext/boost/preprocessor/facilities/apply.hpp +34 -0
  1448. data/ext/boost/preprocessor/facilities/empty.hpp +21 -0
  1449. data/ext/boost/preprocessor/facilities/expand.hpp +28 -0
  1450. data/ext/boost/preprocessor/facilities/identity.hpp +23 -0
  1451. data/ext/boost/preprocessor/facilities/intercept.hpp +277 -0
  1452. data/ext/boost/preprocessor/facilities/is_1.hpp +23 -0
  1453. data/ext/boost/preprocessor/facilities/is_empty.hpp +43 -0
  1454. data/ext/boost/preprocessor/facilities/is_empty_or_1.hpp +30 -0
  1455. data/ext/boost/preprocessor/for.hpp +17 -0
  1456. data/ext/boost/preprocessor/identity.hpp +17 -0
  1457. data/ext/boost/preprocessor/if.hpp +17 -0
  1458. data/ext/boost/preprocessor/inc.hpp +17 -0
  1459. data/ext/boost/preprocessor/iterate.hpp +17 -0
  1460. data/ext/boost/preprocessor/iteration.hpp +19 -0
  1461. data/ext/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -0
  1462. data/ext/boost/preprocessor/iteration/detail/bounds/lower2.hpp +99 -0
  1463. data/ext/boost/preprocessor/iteration/detail/bounds/lower3.hpp +99 -0
  1464. data/ext/boost/preprocessor/iteration/detail/bounds/lower4.hpp +99 -0
  1465. data/ext/boost/preprocessor/iteration/detail/bounds/lower5.hpp +99 -0
  1466. data/ext/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -0
  1467. data/ext/boost/preprocessor/iteration/detail/bounds/upper2.hpp +99 -0
  1468. data/ext/boost/preprocessor/iteration/detail/bounds/upper3.hpp +99 -0
  1469. data/ext/boost/preprocessor/iteration/detail/bounds/upper4.hpp +99 -0
  1470. data/ext/boost/preprocessor/iteration/detail/bounds/upper5.hpp +99 -0
  1471. data/ext/boost/preprocessor/iteration/detail/finish.hpp +99 -0
  1472. data/ext/boost/preprocessor/iteration/detail/iter/forward1.hpp +1342 -0
  1473. data/ext/boost/preprocessor/iteration/detail/iter/forward2.hpp +1338 -0
  1474. data/ext/boost/preprocessor/iteration/detail/iter/forward3.hpp +1338 -0
  1475. data/ext/boost/preprocessor/iteration/detail/iter/forward4.hpp +1338 -0
  1476. data/ext/boost/preprocessor/iteration/detail/iter/forward5.hpp +1338 -0
  1477. data/ext/boost/preprocessor/iteration/detail/iter/reverse1.hpp +1296 -0
  1478. data/ext/boost/preprocessor/iteration/detail/iter/reverse2.hpp +1296 -0
  1479. data/ext/boost/preprocessor/iteration/detail/iter/reverse3.hpp +1296 -0
  1480. data/ext/boost/preprocessor/iteration/detail/iter/reverse4.hpp +1296 -0
  1481. data/ext/boost/preprocessor/iteration/detail/iter/reverse5.hpp +1296 -0
  1482. data/ext/boost/preprocessor/iteration/detail/local.hpp +812 -0
  1483. data/ext/boost/preprocessor/iteration/detail/rlocal.hpp +782 -0
  1484. data/ext/boost/preprocessor/iteration/detail/self.hpp +21 -0
  1485. data/ext/boost/preprocessor/iteration/detail/start.hpp +99 -0
  1486. data/ext/boost/preprocessor/iteration/iterate.hpp +82 -0
  1487. data/ext/boost/preprocessor/iteration/local.hpp +26 -0
  1488. data/ext/boost/preprocessor/iteration/self.hpp +19 -0
  1489. data/ext/boost/preprocessor/library.hpp +34 -0
  1490. data/ext/boost/preprocessor/limits.hpp +17 -0
  1491. data/ext/boost/preprocessor/list.hpp +35 -0
  1492. data/ext/boost/preprocessor/list/adt.hpp +73 -0
  1493. data/ext/boost/preprocessor/list/append.hpp +40 -0
  1494. data/ext/boost/preprocessor/list/at.hpp +39 -0
  1495. data/ext/boost/preprocessor/list/cat.hpp +42 -0
  1496. data/ext/boost/preprocessor/list/detail/dmc/fold_left.hpp +279 -0
  1497. data/ext/boost/preprocessor/list/detail/edg/fold_left.hpp +536 -0
  1498. data/ext/boost/preprocessor/list/detail/edg/fold_right.hpp +794 -0
  1499. data/ext/boost/preprocessor/list/detail/fold_left.hpp +279 -0
  1500. data/ext/boost/preprocessor/list/detail/fold_right.hpp +277 -0
  1501. data/ext/boost/preprocessor/list/enum.hpp +41 -0
  1502. data/ext/boost/preprocessor/list/filter.hpp +54 -0
  1503. data/ext/boost/preprocessor/list/first_n.hpp +58 -0
  1504. data/ext/boost/preprocessor/list/fold_left.hpp +303 -0
  1505. data/ext/boost/preprocessor/list/fold_right.hpp +40 -0
  1506. data/ext/boost/preprocessor/list/for_each.hpp +49 -0
  1507. data/ext/boost/preprocessor/list/for_each_i.hpp +65 -0
  1508. data/ext/boost/preprocessor/list/for_each_product.hpp +141 -0
  1509. data/ext/boost/preprocessor/list/rest_n.hpp +55 -0
  1510. data/ext/boost/preprocessor/list/reverse.hpp +40 -0
  1511. data/ext/boost/preprocessor/list/size.hpp +58 -0
  1512. data/ext/boost/preprocessor/list/to_tuple.hpp +38 -0
  1513. data/ext/boost/preprocessor/list/transform.hpp +49 -0
  1514. data/ext/boost/preprocessor/logical.hpp +29 -0
  1515. data/ext/boost/preprocessor/logical/and.hpp +30 -0
  1516. data/ext/boost/preprocessor/logical/bitand.hpp +38 -0
  1517. data/ext/boost/preprocessor/logical/bitnor.hpp +38 -0
  1518. data/ext/boost/preprocessor/logical/bitor.hpp +38 -0
  1519. data/ext/boost/preprocessor/logical/bitxor.hpp +38 -0
  1520. data/ext/boost/preprocessor/logical/bool.hpp +288 -0
  1521. data/ext/boost/preprocessor/logical/compl.hpp +36 -0
  1522. data/ext/boost/preprocessor/logical/nor.hpp +30 -0
  1523. data/ext/boost/preprocessor/logical/not.hpp +30 -0
  1524. data/ext/boost/preprocessor/logical/or.hpp +30 -0
  1525. data/ext/boost/preprocessor/logical/xor.hpp +30 -0
  1526. data/ext/boost/preprocessor/max.hpp +17 -0
  1527. data/ext/boost/preprocessor/min.hpp +17 -0
  1528. data/ext/boost/preprocessor/punctuation.hpp +20 -0
  1529. data/ext/boost/preprocessor/punctuation/comma.hpp +21 -0
  1530. data/ext/boost/preprocessor/punctuation/comma_if.hpp +31 -0
  1531. data/ext/boost/preprocessor/punctuation/paren.hpp +23 -0
  1532. data/ext/boost/preprocessor/punctuation/paren_if.hpp +38 -0
  1533. data/ext/boost/preprocessor/repeat.hpp +17 -0
  1534. data/ext/boost/preprocessor/repeat_2nd.hpp +17 -0
  1535. data/ext/boost/preprocessor/repeat_3rd.hpp +17 -0
  1536. data/ext/boost/preprocessor/repeat_from_to.hpp +17 -0
  1537. data/ext/boost/preprocessor/repeat_from_to_2nd.hpp +17 -0
  1538. data/ext/boost/preprocessor/repeat_from_to_3rd.hpp +17 -0
  1539. data/ext/boost/preprocessor/repetition.hpp +32 -0
  1540. data/ext/boost/preprocessor/repetition/deduce_r.hpp +22 -0
  1541. data/ext/boost/preprocessor/repetition/deduce_z.hpp +22 -0
  1542. data/ext/boost/preprocessor/repetition/detail/dmc/for.hpp +536 -0
  1543. data/ext/boost/preprocessor/repetition/detail/edg/for.hpp +534 -0
  1544. data/ext/boost/preprocessor/repetition/detail/for.hpp +536 -0
  1545. data/ext/boost/preprocessor/repetition/detail/msvc/for.hpp +277 -0
  1546. data/ext/boost/preprocessor/repetition/enum.hpp +66 -0
  1547. data/ext/boost/preprocessor/repetition/enum_binary_params.hpp +54 -0
  1548. data/ext/boost/preprocessor/repetition/enum_params.hpp +41 -0
  1549. data/ext/boost/preprocessor/repetition/enum_params_with_a_default.hpp +25 -0
  1550. data/ext/boost/preprocessor/repetition/enum_params_with_defaults.hpp +24 -0
  1551. data/ext/boost/preprocessor/repetition/enum_shifted.hpp +68 -0
  1552. data/ext/boost/preprocessor/repetition/enum_shifted_binary_params.hpp +51 -0
  1553. data/ext/boost/preprocessor/repetition/enum_shifted_params.hpp +44 -0
  1554. data/ext/boost/preprocessor/repetition/enum_trailing.hpp +63 -0
  1555. data/ext/boost/preprocessor/repetition/enum_trailing_binary_params.hpp +53 -0
  1556. data/ext/boost/preprocessor/repetition/enum_trailing_params.hpp +38 -0
  1557. data/ext/boost/preprocessor/repetition/for.hpp +306 -0
  1558. data/ext/boost/preprocessor/repetition/repeat.hpp +825 -0
  1559. data/ext/boost/preprocessor/repetition/repeat_from_to.hpp +87 -0
  1560. data/ext/boost/preprocessor/selection.hpp +18 -0
  1561. data/ext/boost/preprocessor/selection/max.hpp +39 -0
  1562. data/ext/boost/preprocessor/selection/min.hpp +39 -0
  1563. data/ext/boost/preprocessor/seq.hpp +41 -0
  1564. data/ext/boost/preprocessor/seq/cat.hpp +48 -0
  1565. data/ext/boost/preprocessor/seq/detail/split.hpp +284 -0
  1566. data/ext/boost/preprocessor/seq/elem.hpp +304 -0
  1567. data/ext/boost/preprocessor/seq/enum.hpp +288 -0
  1568. data/ext/boost/preprocessor/seq/filter.hpp +54 -0
  1569. data/ext/boost/preprocessor/seq/first_n.hpp +30 -0
  1570. data/ext/boost/preprocessor/seq/fold_left.hpp +1070 -0
  1571. data/ext/boost/preprocessor/seq/fold_right.hpp +288 -0
  1572. data/ext/boost/preprocessor/seq/for_each.hpp +60 -0
  1573. data/ext/boost/preprocessor/seq/for_each_i.hpp +61 -0
  1574. data/ext/boost/preprocessor/seq/for_each_product.hpp +126 -0
  1575. data/ext/boost/preprocessor/seq/insert.hpp +28 -0
  1576. data/ext/boost/preprocessor/seq/pop_back.hpp +29 -0
  1577. data/ext/boost/preprocessor/seq/pop_front.hpp +27 -0
  1578. data/ext/boost/preprocessor/seq/push_back.hpp +19 -0
  1579. data/ext/boost/preprocessor/seq/push_front.hpp +19 -0
  1580. data/ext/boost/preprocessor/seq/remove.hpp +29 -0
  1581. data/ext/boost/preprocessor/seq/replace.hpp +29 -0
  1582. data/ext/boost/preprocessor/seq/rest_n.hpp +30 -0
  1583. data/ext/boost/preprocessor/seq/reverse.hpp +39 -0
  1584. data/ext/boost/preprocessor/seq/seq.hpp +44 -0
  1585. data/ext/boost/preprocessor/seq/size.hpp +548 -0
  1586. data/ext/boost/preprocessor/seq/subseq.hpp +28 -0
  1587. data/ext/boost/preprocessor/seq/to_array.hpp +28 -0
  1588. data/ext/boost/preprocessor/seq/to_tuple.hpp +27 -0
  1589. data/ext/boost/preprocessor/seq/transform.hpp +48 -0
  1590. data/ext/boost/preprocessor/slot.hpp +17 -0
  1591. data/ext/boost/preprocessor/slot/counter.hpp +25 -0
  1592. data/ext/boost/preprocessor/slot/detail/counter.hpp +269 -0
  1593. data/ext/boost/preprocessor/slot/detail/def.hpp +49 -0
  1594. data/ext/boost/preprocessor/slot/detail/shared.hpp +247 -0
  1595. data/ext/boost/preprocessor/slot/detail/slot1.hpp +267 -0
  1596. data/ext/boost/preprocessor/slot/detail/slot2.hpp +267 -0
  1597. data/ext/boost/preprocessor/slot/detail/slot3.hpp +267 -0
  1598. data/ext/boost/preprocessor/slot/detail/slot4.hpp +267 -0
  1599. data/ext/boost/preprocessor/slot/detail/slot5.hpp +267 -0
  1600. data/ext/boost/preprocessor/slot/slot.hpp +32 -0
  1601. data/ext/boost/preprocessor/stringize.hpp +33 -0
  1602. data/ext/boost/preprocessor/tuple.hpp +24 -0
  1603. data/ext/boost/preprocessor/tuple/eat.hpp +57 -0
  1604. data/ext/boost/preprocessor/tuple/elem.hpp +385 -0
  1605. data/ext/boost/preprocessor/tuple/rem.hpp +72 -0
  1606. data/ext/boost/preprocessor/tuple/reverse.hpp +62 -0
  1607. data/ext/boost/preprocessor/tuple/to_list.hpp +62 -0
  1608. data/ext/boost/preprocessor/tuple/to_seq.hpp +60 -0
  1609. data/ext/boost/preprocessor/while.hpp +17 -0
  1610. data/ext/boost/preprocessor/wstringize.hpp +29 -0
  1611. data/ext/boost/ref.hpp +178 -0
  1612. data/ext/boost/shared_ptr.hpp +558 -0
  1613. data/ext/boost/src/barrier.cpp +42 -0
  1614. data/ext/boost/src/condition.cpp +692 -0
  1615. data/ext/boost/src/exceptions.cpp +147 -0
  1616. data/ext/boost/src/mutex.cpp +561 -0
  1617. data/ext/boost/src/mutex.inl +128 -0
  1618. data/ext/boost/src/once.cpp +213 -0
  1619. data/ext/boost/src/recursive_mutex.cpp +1040 -0
  1620. data/ext/boost/src/thread.cpp +371 -0
  1621. data/ext/boost/src/timeconv.inl +130 -0
  1622. data/ext/boost/src/tss.cpp +251 -0
  1623. data/ext/boost/src/tss_dll.cpp +72 -0
  1624. data/ext/boost/src/tss_hooks.cpp +212 -0
  1625. data/ext/boost/src/tss_null.cpp +33 -0
  1626. data/ext/boost/src/tss_pe.cpp +179 -0
  1627. data/ext/boost/src/xtime.cpp +158 -0
  1628. data/ext/boost/static_assert.hpp +118 -0
  1629. data/ext/boost/thread.hpp +19 -0
  1630. data/ext/boost/thread/barrier.hpp +44 -0
  1631. data/ext/boost/thread/condition.hpp +201 -0
  1632. data/ext/boost/thread/detail/config.hpp +95 -0
  1633. data/ext/boost/thread/detail/force_cast.hpp +39 -0
  1634. data/ext/boost/thread/detail/lock.hpp +209 -0
  1635. data/ext/boost/thread/detail/read_write_lock.hpp +1106 -0
  1636. data/ext/boost/thread/detail/singleton.hpp +59 -0
  1637. data/ext/boost/thread/detail/tss_hooks.hpp +78 -0
  1638. data/ext/boost/thread/exceptions.hpp +97 -0
  1639. data/ext/boost/thread/mutex.hpp +170 -0
  1640. data/ext/boost/thread/once.hpp +37 -0
  1641. data/ext/boost/thread/recursive_mutex.hpp +184 -0
  1642. data/ext/boost/thread/thread.hpp +90 -0
  1643. data/ext/boost/thread/tss.hpp +128 -0
  1644. data/ext/boost/thread/xtime.hpp +54 -0
  1645. data/ext/boost/throw_exception.hpp +46 -0
  1646. data/ext/boost/type.hpp +18 -0
  1647. data/ext/boost/type_traits/add_const.hpp +47 -0
  1648. data/ext/boost/type_traits/add_cv.hpp +48 -0
  1649. data/ext/boost/type_traits/add_pointer.hpp +72 -0
  1650. data/ext/boost/type_traits/add_reference.hpp +89 -0
  1651. data/ext/boost/type_traits/add_volatile.hpp +47 -0
  1652. data/ext/boost/type_traits/aligned_storage.hpp +13 -0
  1653. data/ext/boost/type_traits/alignment_of.hpp +100 -0
  1654. data/ext/boost/type_traits/alignment_traits.hpp +15 -0
  1655. data/ext/boost/type_traits/arithmetic_traits.hpp +20 -0
  1656. data/ext/boost/type_traits/array_traits.hpp +15 -0
  1657. data/ext/boost/type_traits/broken_compiler_spec.hpp +117 -0
  1658. data/ext/boost/type_traits/composite_traits.hpp +29 -0
  1659. data/ext/boost/type_traits/config.hpp +76 -0
  1660. data/ext/boost/type_traits/conversion_traits.hpp +17 -0
  1661. data/ext/boost/type_traits/cv_traits.hpp +24 -0
  1662. data/ext/boost/type_traits/decay.hpp +44 -0
  1663. data/ext/boost/type_traits/detail/bool_trait_def.hpp +173 -0
  1664. data/ext/boost/type_traits/detail/bool_trait_undef.hpp +27 -0
  1665. data/ext/boost/type_traits/detail/cv_traits_impl.hpp +97 -0
  1666. data/ext/boost/type_traits/detail/false_result.hpp +28 -0
  1667. data/ext/boost/type_traits/detail/ice_and.hpp +35 -0
  1668. data/ext/boost/type_traits/detail/ice_eq.hpp +36 -0
  1669. data/ext/boost/type_traits/detail/ice_not.hpp +31 -0
  1670. data/ext/boost/type_traits/detail/ice_or.hpp +34 -0
  1671. data/ext/boost/type_traits/detail/is_function_ptr_helper.hpp +220 -0
  1672. data/ext/boost/type_traits/detail/is_function_ptr_tester.hpp +654 -0
  1673. data/ext/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +817 -0
  1674. data/ext/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +2759 -0
  1675. data/ext/boost/type_traits/detail/size_t_trait_def.hpp +58 -0
  1676. data/ext/boost/type_traits/detail/size_t_trait_undef.hpp +16 -0
  1677. data/ext/boost/type_traits/detail/template_arity_spec.hpp +31 -0
  1678. data/ext/boost/type_traits/detail/type_trait_def.hpp +61 -0
  1679. data/ext/boost/type_traits/detail/type_trait_undef.hpp +19 -0
  1680. data/ext/boost/type_traits/detail/wrap.hpp +18 -0
  1681. data/ext/boost/type_traits/detail/yes_no_type.hpp +26 -0
  1682. data/ext/boost/type_traits/extent.hpp +134 -0
  1683. data/ext/boost/type_traits/function_traits.hpp +236 -0
  1684. data/ext/boost/type_traits/has_nothrow_assign.hpp +38 -0
  1685. data/ext/boost/type_traits/has_nothrow_constructor.hpp +38 -0
  1686. data/ext/boost/type_traits/has_nothrow_copy.hpp +38 -0
  1687. data/ext/boost/type_traits/has_nothrow_destructor.hpp +25 -0
  1688. data/ext/boost/type_traits/has_trivial_assign.hpp +50 -0
  1689. data/ext/boost/type_traits/has_trivial_constructor.hpp +42 -0
  1690. data/ext/boost/type_traits/has_trivial_copy.hpp +48 -0
  1691. data/ext/boost/type_traits/has_trivial_destructor.hpp +42 -0
  1692. data/ext/boost/type_traits/has_virtual_destructor.hpp +25 -0
  1693. data/ext/boost/type_traits/ice.hpp +20 -0
  1694. data/ext/boost/type_traits/integral_constant.hpp +53 -0
  1695. data/ext/boost/type_traits/intrinsics.hpp +137 -0
  1696. data/ext/boost/type_traits/is_abstract.hpp +137 -0
  1697. data/ext/boost/type_traits/is_arithmetic.hpp +43 -0
  1698. data/ext/boost/type_traits/is_array.hpp +90 -0
  1699. data/ext/boost/type_traits/is_base_and_derived.hpp +223 -0
  1700. data/ext/boost/type_traits/is_base_of.hpp +40 -0
  1701. data/ext/boost/type_traits/is_class.hpp +128 -0
  1702. data/ext/boost/type_traits/is_compound.hpp +40 -0
  1703. data/ext/boost/type_traits/is_const.hpp +142 -0
  1704. data/ext/boost/type_traits/is_convertible.hpp +416 -0
  1705. data/ext/boost/type_traits/is_empty.hpp +211 -0
  1706. data/ext/boost/type_traits/is_enum.hpp +180 -0
  1707. data/ext/boost/type_traits/is_float.hpp +27 -0
  1708. data/ext/boost/type_traits/is_floating_point.hpp +27 -0
  1709. data/ext/boost/type_traits/is_function.hpp +88 -0
  1710. data/ext/boost/type_traits/is_fundamental.hpp +41 -0
  1711. data/ext/boost/type_traits/is_integral.hpp +71 -0
  1712. data/ext/boost/type_traits/is_member_function_pointer.hpp +126 -0
  1713. data/ext/boost/type_traits/is_member_object_pointer.hpp +46 -0
  1714. data/ext/boost/type_traits/is_member_pointer.hpp +108 -0
  1715. data/ext/boost/type_traits/is_object.hpp +53 -0
  1716. data/ext/boost/type_traits/is_pod.hpp +135 -0
  1717. data/ext/boost/type_traits/is_pointer.hpp +149 -0
  1718. data/ext/boost/type_traits/is_polymorphic.hpp +102 -0
  1719. data/ext/boost/type_traits/is_reference.hpp +116 -0
  1720. data/ext/boost/type_traits/is_same.hpp +103 -0
  1721. data/ext/boost/type_traits/is_scalar.hpp +55 -0
  1722. data/ext/boost/type_traits/is_signed.hpp +117 -0
  1723. data/ext/boost/type_traits/is_stateless.hpp +48 -0
  1724. data/ext/boost/type_traits/is_union.hpp +49 -0
  1725. data/ext/boost/type_traits/is_unsigned.hpp +114 -0
  1726. data/ext/boost/type_traits/is_void.hpp +33 -0
  1727. data/ext/boost/type_traits/is_volatile.hpp +131 -0
  1728. data/ext/boost/type_traits/msvc/remove_all_extents.hpp +47 -0
  1729. data/ext/boost/type_traits/msvc/remove_bounds.hpp +43 -0
  1730. data/ext/boost/type_traits/msvc/remove_const.hpp +143 -0
  1731. data/ext/boost/type_traits/msvc/remove_cv.hpp +190 -0
  1732. data/ext/boost/type_traits/msvc/remove_extent.hpp +43 -0
  1733. data/ext/boost/type_traits/msvc/remove_pointer.hpp +42 -0
  1734. data/ext/boost/type_traits/msvc/remove_reference.hpp +42 -0
  1735. data/ext/boost/type_traits/msvc/remove_volatile.hpp +143 -0
  1736. data/ext/boost/type_traits/msvc/typeof.hpp +50 -0
  1737. data/ext/boost/type_traits/object_traits.hpp +33 -0
  1738. data/ext/boost/type_traits/rank.hpp +81 -0
  1739. data/ext/boost/type_traits/reference_traits.hpp +15 -0
  1740. data/ext/boost/type_traits/remove_all_extents.hpp +48 -0
  1741. data/ext/boost/type_traits/remove_bounds.hpp +48 -0
  1742. data/ext/boost/type_traits/remove_const.hpp +78 -0
  1743. data/ext/boost/type_traits/remove_cv.hpp +61 -0
  1744. data/ext/boost/type_traits/remove_extent.hpp +48 -0
  1745. data/ext/boost/type_traits/remove_pointer.hpp +43 -0
  1746. data/ext/boost/type_traits/remove_reference.hpp +50 -0
  1747. data/ext/boost/type_traits/remove_volatile.hpp +77 -0
  1748. data/ext/boost/type_traits/same_traits.hpp +15 -0
  1749. data/ext/boost/type_traits/transform_traits.hpp +21 -0
  1750. data/ext/boost/type_traits/transform_traits_spec.hpp +14 -0
  1751. data/ext/boost/type_traits/type_with_alignment.hpp +288 -0
  1752. data/ext/boost/utility.hpp +19 -0
  1753. data/ext/boost/utility/addressof.hpp +58 -0
  1754. data/ext/boost/utility/base_from_member.hpp +87 -0
  1755. data/ext/boost/utility/compare_pointees.hpp +68 -0
  1756. data/ext/boost/utility/enable_if.hpp +119 -0
  1757. data/ext/boost/utility/in_place_factory.hpp +58 -0
  1758. data/ext/boost/utility/result_of.hpp +66 -0
  1759. data/ext/boost/utility/typed_in_place_factory.hpp +57 -0
  1760. data/ext/boost/utility/value_init.hpp +77 -0
  1761. data/ext/boost/visit_each.hpp +29 -0
  1762. data/ext/boost/weak_ptr.hpp +194 -0
  1763. data/ext/passenger/extconf.rb +17 -0
  1764. data/ext/passenger/native_support.c +247 -0
  1765. data/lib/passenger/abstract_server.rb +308 -0
  1766. data/lib/passenger/application.rb +120 -0
  1767. data/lib/passenger/application_spawner.rb +295 -0
  1768. data/lib/passenger/cgi_fixed.rb +66 -0
  1769. data/lib/passenger/console_text_template.rb +59 -0
  1770. data/lib/passenger/dependencies.rb +285 -0
  1771. data/lib/passenger/framework_spawner.rb +349 -0
  1772. data/lib/passenger/html_template.rb +102 -0
  1773. data/lib/passenger/message_channel.rb +221 -0
  1774. data/lib/passenger/platform_info.rb +246 -0
  1775. data/lib/passenger/request_handler.rb +324 -0
  1776. data/lib/passenger/simple_benchmarking.rb +45 -0
  1777. data/lib/passenger/spawn_manager.rb +251 -0
  1778. data/lib/passenger/templates/apache2_config_snippets.txt.erb +13 -0
  1779. data/lib/passenger/templates/apache_must_be_compiled_with_prefork_mpm.txt.erb +8 -0
  1780. data/lib/passenger/templates/app_exited_during_initialization.html.erb +18 -0
  1781. data/lib/passenger/templates/app_init_error.html.erb +64 -0
  1782. data/lib/passenger/templates/database_error.html.erb +59 -0
  1783. data/lib/passenger/templates/deployment_example.txt.erb +18 -0
  1784. data/lib/passenger/templates/error_layout.css +97 -0
  1785. data/lib/passenger/templates/error_layout.html.erb +39 -0
  1786. data/lib/passenger/templates/framework_init_error.html.erb +39 -0
  1787. data/lib/passenger/templates/general_error.html.erb +22 -0
  1788. data/lib/passenger/templates/invalid_app_root.html.erb +9 -0
  1789. data/lib/passenger/templates/load_error.html.erb +46 -0
  1790. data/lib/passenger/templates/no_write_permission_to_passenger_root.txt.erb +9 -0
  1791. data/lib/passenger/templates/osx_broken_apache_warning.txt.erb +23 -0
  1792. data/lib/passenger/templates/possible_solutions_for_compilation_and_installation_problems.txt.erb +11 -0
  1793. data/lib/passenger/templates/run_installer_as_root.txt.erb +8 -0
  1794. data/lib/passenger/templates/version_not_found.html.erb +25 -0
  1795. data/lib/passenger/templates/welcome.txt.erb +15 -0
  1796. data/lib/passenger/utils.rb +222 -0
  1797. data/lib/rake/cplusplus.rb +43 -0
  1798. data/lib/rake/extensions.rb +175 -0
  1799. data/lib/rake/gempackagetask.rb +105 -0
  1800. data/lib/rake/packagetask.rb +186 -0
  1801. data/lib/rake/rdoctask.rb +148 -0
  1802. data/misc/find_owner_pipe_leaks.rb +121 -0
  1803. data/misc/render_error_pages.rb +105 -0
  1804. data/test/ApplicationPoolServerTest.cpp +100 -0
  1805. data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +23 -0
  1806. data/test/ApplicationPoolTest.cpp +348 -0
  1807. data/test/CxxTestMain.cpp +24 -0
  1808. data/test/MessageChannelTest.cpp +310 -0
  1809. data/test/SpawnManagerTest.cpp +64 -0
  1810. data/test/StandardApplicationPoolTest.cpp +21 -0
  1811. data/test/UtilsTest.cpp +100 -0
  1812. data/test/abstract_server_spec.rb +17 -0
  1813. data/test/application_spawner_spec.rb +78 -0
  1814. data/test/application_spec.rb +25 -0
  1815. data/test/config.yml.example +21 -0
  1816. data/test/framework_spawner_spec.rb +99 -0
  1817. data/test/integration_tests.rb +356 -0
  1818. data/test/message_channel_spec.rb +171 -0
  1819. data/test/minimal_spawner_spec.rb +19 -0
  1820. data/test/spawn_manager_spec.rb +105 -0
  1821. data/test/spawn_server_spec.rb +25 -0
  1822. data/test/spawner_error_handling_spec.rb +35 -0
  1823. data/test/spawner_privilege_lowering_spec.rb +71 -0
  1824. data/test/stub/apache2/httpd.conf +72 -0
  1825. data/test/stub/apache2/httpd.conf.erb +77 -0
  1826. data/test/stub/apache2/mime.types +748 -0
  1827. data/test/stub/broken-railsapp/config/environment.rb +2 -0
  1828. data/test/stub/broken-railsapp/public/useless.txt +1 -0
  1829. data/test/stub/broken-railsapp2/config/environment.rb +3 -0
  1830. data/test/stub/broken-railsapp3/config/environment.rb +4 -0
  1831. data/test/stub/broken-railsapp4/config/environment.rb +1 -0
  1832. data/test/stub/broken-railsapp4/public/useless.txt +1 -0
  1833. data/test/stub/broken-railsapp5/config/environment.rb +1 -0
  1834. data/test/stub/broken-railsapp5/public/useless.txt +1 -0
  1835. data/test/stub/broken-railsapp5/vendor/rails/actionmailer/lib/action_mailer.rb +0 -0
  1836. data/test/stub/broken-railsapp5/vendor/rails/actionpack/lib/action_controller.rb +0 -0
  1837. data/test/stub/broken-railsapp5/vendor/rails/actionpack/lib/action_pack.rb +0 -0
  1838. data/test/stub/broken-railsapp5/vendor/rails/actionpack/lib/action_view.rb +0 -0
  1839. data/test/stub/broken-railsapp5/vendor/rails/activerecord/lib/active_record.rb +0 -0
  1840. data/test/stub/broken-railsapp5/vendor/rails/activeresource/lib/active_resource.rb +0 -0
  1841. data/test/stub/broken-railsapp5/vendor/rails/activesupport/lib/active_support.rb +17 -0
  1842. data/test/stub/broken-railsapp5/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -0
  1843. data/test/stub/broken-railsapp5/vendor/rails/railties/lib/dispatcher.rb +0 -0
  1844. data/test/stub/broken-railsapp5/vendor/rails/railties/lib/initializer.rb +9 -0
  1845. data/test/stub/broken-railsapp5/vendor/rails/railties/lib/ruby_version_check.rb +1 -0
  1846. data/test/stub/garbage1.dat +0 -0
  1847. data/test/stub/garbage2.dat +0 -0
  1848. data/test/stub/garbage3.dat +0 -0
  1849. data/test/stub/http_request.yml +23 -0
  1850. data/test/stub/message_channel.rb +9 -0
  1851. data/test/stub/message_channel_2.rb +10 -0
  1852. data/test/stub/message_channel_3.rb +15 -0
  1853. data/test/stub/minimal-railsapp/README +3 -0
  1854. data/test/stub/minimal-railsapp/config/application.rb +0 -0
  1855. data/test/stub/minimal-railsapp/config/environment.rb +3 -0
  1856. data/test/stub/minimal-railsapp/vendor/rails/actionmailer/lib/action_mailer.rb +0 -0
  1857. data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_controller.rb +6 -0
  1858. data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_pack.rb +0 -0
  1859. data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_view.rb +0 -0
  1860. data/test/stub/minimal-railsapp/vendor/rails/activerecord/lib/active_record.rb +0 -0
  1861. data/test/stub/minimal-railsapp/vendor/rails/activeresource/lib/active_resource.rb +0 -0
  1862. data/test/stub/minimal-railsapp/vendor/rails/activesupport/lib/active_support.rb +17 -0
  1863. data/test/stub/minimal-railsapp/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -0
  1864. data/test/stub/minimal-railsapp/vendor/rails/railties/lib/dispatcher.rb +0 -0
  1865. data/test/stub/minimal-railsapp/vendor/rails/railties/lib/initializer.rb +8 -0
  1866. data/test/stub/minimal-railsapp/vendor/rails/railties/lib/ruby_version_check.rb +1 -0
  1867. data/test/stub/mycook/app/controllers/application.rb +12 -0
  1868. data/test/stub/mycook/app/controllers/recipes_controller.rb +5 -0
  1869. data/test/stub/mycook/app/controllers/uploads_controller.rb +11 -0
  1870. data/test/stub/mycook/app/controllers/welcome_controller.rb +23 -0
  1871. data/test/stub/mycook/app/helpers/application_helper.rb +3 -0
  1872. data/test/stub/mycook/app/views/layouts/default.rhtml +26 -0
  1873. data/test/stub/mycook/app/views/recipes/create.rhtml +13 -0
  1874. data/test/stub/mycook/app/views/recipes/index.rhtml +3 -0
  1875. data/test/stub/mycook/app/views/recipes/new.rhtml +8 -0
  1876. data/test/stub/mycook/app/views/uploads/index.rhtml +1 -0
  1877. data/test/stub/mycook/app/views/uploads/new.html.erb +8 -0
  1878. data/test/stub/mycook/app/views/welcome/cached.rhtml +1 -0
  1879. data/test/stub/mycook/app/views/welcome/index.rhtml +20 -0
  1880. data/test/stub/mycook/config/boot.rb +108 -0
  1881. data/test/stub/mycook/config/database.yml +19 -0
  1882. data/test/stub/mycook/config/environment.rb +61 -0
  1883. data/test/stub/mycook/config/environments/development.rb +18 -0
  1884. data/test/stub/mycook/config/environments/production.rb +19 -0
  1885. data/test/stub/mycook/config/environments/test.rb +22 -0
  1886. data/test/stub/mycook/config/initializers/inflections.rb +10 -0
  1887. data/test/stub/mycook/config/initializers/mime_types.rb +5 -0
  1888. data/test/stub/mycook/config/routes.rb +38 -0
  1889. data/test/stub/mycook/public/404.html +30 -0
  1890. data/test/stub/mycook/public/422.html +30 -0
  1891. data/test/stub/mycook/public/500.html +30 -0
  1892. data/test/stub/mycook/public/dispatch.cgi +10 -0
  1893. data/test/stub/mycook/public/dispatch.fcgi +24 -0
  1894. data/test/stub/mycook/public/dispatch.rb +10 -0
  1895. data/test/stub/mycook/public/favicon.ico +0 -0
  1896. data/test/stub/mycook/public/images/angrywizard.gif +0 -0
  1897. data/test/stub/mycook/public/images/cookbook.gif +0 -0
  1898. data/test/stub/mycook/public/images/header.png +0 -0
  1899. data/test/stub/mycook/public/images/rails.png +0 -0
  1900. data/test/stub/mycook/public/javascripts/application.js +2 -0
  1901. data/test/stub/mycook/public/javascripts/controls.js +963 -0
  1902. data/test/stub/mycook/public/javascripts/dragdrop.js +972 -0
  1903. data/test/stub/mycook/public/javascripts/effects.js +1120 -0
  1904. data/test/stub/mycook/public/javascripts/prototype.js +4225 -0
  1905. data/test/stub/mycook/public/robots.txt +5 -0
  1906. data/test/stub/mycook/public/uploads.html +26 -0
  1907. data/test/stub/mycook/public/welcome/cached.html +26 -0
  1908. data/test/stub/railsapp-without-version-spec/app/controllers/application.rb +12 -0
  1909. data/test/stub/railsapp-without-version-spec/app/controllers/foo_controller.rb +5 -0
  1910. data/test/stub/railsapp-without-version-spec/app/helpers/application_helper.rb +3 -0
  1911. data/test/stub/railsapp-without-version-spec/config/boot.rb +108 -0
  1912. data/test/stub/railsapp-without-version-spec/config/database.yml +19 -0
  1913. data/test/stub/railsapp-without-version-spec/config/environment.rb +58 -0
  1914. data/test/stub/railsapp-without-version-spec/config/environments/development.rb +18 -0
  1915. data/test/stub/railsapp-without-version-spec/config/environments/production.rb +19 -0
  1916. data/test/stub/railsapp-without-version-spec/config/environments/test.rb +22 -0
  1917. data/test/stub/railsapp-without-version-spec/config/initializers/inflections.rb +10 -0
  1918. data/test/stub/railsapp-without-version-spec/config/initializers/mime_types.rb +5 -0
  1919. data/test/stub/railsapp-without-version-spec/config/routes.rb +35 -0
  1920. data/test/stub/railsapp-without-version-spec/public/useless.txt +1 -0
  1921. data/test/stub/railsapp/app/controllers/application.rb +12 -0
  1922. data/test/stub/railsapp/app/controllers/bar_controller_1.rb +5 -0
  1923. data/test/stub/railsapp/app/controllers/bar_controller_2.rb +5 -0
  1924. data/test/stub/railsapp/app/controllers/foo_controller.rb +5 -0
  1925. data/test/stub/railsapp/app/helpers/application_helper.rb +3 -0
  1926. data/test/stub/railsapp/config/boot.rb +108 -0
  1927. data/test/stub/railsapp/config/database.yml +19 -0
  1928. data/test/stub/railsapp/config/environment.rb +59 -0
  1929. data/test/stub/railsapp/config/environments/development.rb +18 -0
  1930. data/test/stub/railsapp/config/environments/production.rb +19 -0
  1931. data/test/stub/railsapp/config/environments/test.rb +22 -0
  1932. data/test/stub/railsapp/config/initializers/inflections.rb +10 -0
  1933. data/test/stub/railsapp/config/initializers/mime_types.rb +5 -0
  1934. data/test/stub/railsapp/config/routes.rb +35 -0
  1935. data/test/stub/railsapp/public/useless.txt +1 -0
  1936. data/test/stub/railsapp2/app/controllers/application.rb +12 -0
  1937. data/test/stub/railsapp2/app/controllers/foo_controller.rb +5 -0
  1938. data/test/stub/railsapp2/app/helpers/application_helper.rb +3 -0
  1939. data/test/stub/railsapp2/config/boot.rb +108 -0
  1940. data/test/stub/railsapp2/config/database.yml +19 -0
  1941. data/test/stub/railsapp2/config/environment.rb +59 -0
  1942. data/test/stub/railsapp2/config/environments/development.rb +18 -0
  1943. data/test/stub/railsapp2/config/environments/production.rb +19 -0
  1944. data/test/stub/railsapp2/config/environments/test.rb +22 -0
  1945. data/test/stub/railsapp2/config/initializers/inflections.rb +10 -0
  1946. data/test/stub/railsapp2/config/initializers/mime_types.rb +5 -0
  1947. data/test/stub/railsapp2/config/routes.rb +35 -0
  1948. data/test/stub/railsapp2/public/useless.txt +1 -0
  1949. data/test/stub/spawn_server.rb +17 -0
  1950. data/test/stub/zsfa/header.png +0 -0
  1951. data/test/stub/zsfa/index.html +14 -0
  1952. data/test/stub/zsfa/zsfa.png +0 -0
  1953. data/test/support/apache2_config_writer.rb +44 -0
  1954. data/test/support/config.rb +10 -0
  1955. data/test/support/multipart.rb +62 -0
  1956. data/test/support/run_rspec_tests.rb +10 -0
  1957. data/test/support/tut.h +1219 -0
  1958. data/test/support/tut_reporter.h +256 -0
  1959. data/test/support/valgrind.h +2539 -0
  1960. metadata +2204 -0
@@ -0,0 +1,12 @@
1
+ // Boost.Function library
2
+
3
+ // Copyright Douglas Gregor 2002-2003. Use, modification and
4
+ // distribution is subject to the Boost Software License, Version
5
+ // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // For more information, see http://www.boost.org
9
+
10
+ #define BOOST_FUNCTION_NUM_ARGS 2
11
+ #include <boost/function/detail/maybe_include.hpp>
12
+ #undef BOOST_FUNCTION_NUM_ARGS
@@ -0,0 +1,12 @@
1
+ // Boost.Function library
2
+
3
+ // Copyright Douglas Gregor 2002-2003. Use, modification and
4
+ // distribution is subject to the Boost Software License, Version
5
+ // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // For more information, see http://www.boost.org
9
+
10
+ #define BOOST_FUNCTION_NUM_ARGS 3
11
+ #include <boost/function/detail/maybe_include.hpp>
12
+ #undef BOOST_FUNCTION_NUM_ARGS
@@ -0,0 +1,12 @@
1
+ // Boost.Function library
2
+
3
+ // Copyright Douglas Gregor 2002-2003. Use, modification and
4
+ // distribution is subject to the Boost Software License, Version
5
+ // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // For more information, see http://www.boost.org
9
+
10
+ #define BOOST_FUNCTION_NUM_ARGS 4
11
+ #include <boost/function/detail/maybe_include.hpp>
12
+ #undef BOOST_FUNCTION_NUM_ARGS
@@ -0,0 +1,12 @@
1
+ // Boost.Function library
2
+
3
+ // Copyright Douglas Gregor 2002-2003. Use, modification and
4
+ // distribution is subject to the Boost Software License, Version
5
+ // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // For more information, see http://www.boost.org
9
+
10
+ #define BOOST_FUNCTION_NUM_ARGS 5
11
+ #include <boost/function/detail/maybe_include.hpp>
12
+ #undef BOOST_FUNCTION_NUM_ARGS
@@ -0,0 +1,12 @@
1
+ // Boost.Function library
2
+
3
+ // Copyright Douglas Gregor 2002-2003. Use, modification and
4
+ // distribution is subject to the Boost Software License, Version
5
+ // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // For more information, see http://www.boost.org
9
+
10
+ #define BOOST_FUNCTION_NUM_ARGS 6
11
+ #include <boost/function/detail/maybe_include.hpp>
12
+ #undef BOOST_FUNCTION_NUM_ARGS
@@ -0,0 +1,12 @@
1
+ // Boost.Function library
2
+
3
+ // Copyright Douglas Gregor 2002-2003. Use, modification and
4
+ // distribution is subject to the Boost Software License, Version
5
+ // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // For more information, see http://www.boost.org
9
+
10
+ #define BOOST_FUNCTION_NUM_ARGS 7
11
+ #include <boost/function/detail/maybe_include.hpp>
12
+ #undef BOOST_FUNCTION_NUM_ARGS
@@ -0,0 +1,12 @@
1
+ // Boost.Function library
2
+
3
+ // Copyright Douglas Gregor 2002-2003. Use, modification and
4
+ // distribution is subject to the Boost Software License, Version
5
+ // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // For more information, see http://www.boost.org
9
+
10
+ #define BOOST_FUNCTION_NUM_ARGS 8
11
+ #include <boost/function/detail/maybe_include.hpp>
12
+ #undef BOOST_FUNCTION_NUM_ARGS
@@ -0,0 +1,12 @@
1
+ // Boost.Function library
2
+
3
+ // Copyright Douglas Gregor 2002-2003. Use, modification and
4
+ // distribution is subject to the Boost Software License, Version
5
+ // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // For more information, see http://www.boost.org
9
+
10
+ #define BOOST_FUNCTION_NUM_ARGS 9
11
+ #include <boost/function/detail/maybe_include.hpp>
12
+ #undef BOOST_FUNCTION_NUM_ARGS
@@ -0,0 +1,736 @@
1
+ // Boost.Function library
2
+
3
+ // Copyright Douglas Gregor 2001-2006. Use, modification and
4
+ // distribution is subject to the Boost Software License, Version
5
+ // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // For more information, see http://www.boost.org
9
+
10
+ #ifndef BOOST_FUNCTION_BASE_HEADER
11
+ #define BOOST_FUNCTION_BASE_HEADER
12
+
13
+ #include <stdexcept>
14
+ #include <string>
15
+ #include <memory>
16
+ #include <new>
17
+ #include <typeinfo>
18
+ #include <boost/config.hpp>
19
+ #include <boost/assert.hpp>
20
+ #include <boost/type_traits/is_integral.hpp>
21
+ #include <boost/type_traits/composite_traits.hpp>
22
+ #include <boost/ref.hpp>
23
+ #include <boost/mpl/if.hpp>
24
+ #include <boost/detail/workaround.hpp>
25
+ #include <boost/type_traits/alignment_of.hpp>
26
+ #ifndef BOOST_NO_SFINAE
27
+ # include "boost/utility/enable_if.hpp"
28
+ #else
29
+ # include "boost/mpl/bool.hpp"
30
+ #endif
31
+ #include <boost/function_equal.hpp>
32
+
33
+ // Borrowed from Boost.Python library: determines the cases where we
34
+ // need to use std::type_info::name to compare instead of operator==.
35
+ # if (defined(__GNUC__) && __GNUC__ >= 3) \
36
+ || defined(_AIX) \
37
+ || ( defined(__sgi) && defined(__host_mips))
38
+ # include <cstring>
39
+ # define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) \
40
+ (std::strcmp((X).name(),(Y).name()) == 0)
41
+ # else
42
+ # define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y))
43
+ #endif
44
+
45
+ #if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 || defined(__ICL) && __ICL <= 600 || defined(__MWERKS__) && __MWERKS__ < 0x2406 && !defined(BOOST_STRICT_CONFIG)
46
+ # define BOOST_FUNCTION_TARGET_FIX(x) x
47
+ #else
48
+ # define BOOST_FUNCTION_TARGET_FIX(x)
49
+ #endif // not MSVC
50
+
51
+ #if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG)
52
+ // Work around a compiler bug.
53
+ // boost::python::objects::function has to be seen by the compiler before the
54
+ // boost::function class template.
55
+ namespace boost { namespace python { namespace objects {
56
+ class function;
57
+ }}}
58
+ #endif
59
+
60
+ #if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
61
+ || defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \
62
+ || !(BOOST_STRICT_CONFIG || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
63
+ # define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
64
+ #endif
65
+
66
+ #if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
67
+ # define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) \
68
+ typename ::boost::enable_if_c<(::boost::type_traits::ice_not< \
69
+ (::boost::is_integral<Functor>::value)>::value), \
70
+ Type>::type
71
+ #else
72
+ // BCC doesn't recognize this depends on a template argument and complains
73
+ // about the use of 'typename'
74
+ # define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) \
75
+ ::boost::enable_if_c<(::boost::type_traits::ice_not< \
76
+ (::boost::is_integral<Functor>::value)>::value), \
77
+ Type>::type
78
+ #endif
79
+
80
+ #if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
81
+ namespace boost {
82
+
83
+ #if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG)
84
+ // The library shipping with MIPSpro 7.3.1.3m has a broken allocator<void>
85
+ class function_base;
86
+
87
+ template<typename Signature,
88
+ typename Allocator = std::allocator<function_base> >
89
+ class function;
90
+ #else
91
+ template<typename Signature, typename Allocator = std::allocator<void> >
92
+ class function;
93
+ #endif
94
+
95
+ template<typename Signature, typename Allocator>
96
+ inline void swap(function<Signature, Allocator>& f1,
97
+ function<Signature, Allocator>& f2)
98
+ {
99
+ f1.swap(f2);
100
+ }
101
+
102
+ } // end namespace boost
103
+ #endif // have partial specialization
104
+
105
+ namespace boost {
106
+ namespace detail {
107
+ namespace function {
108
+ class X;
109
+
110
+ /**
111
+ * A buffer used to store small function objects in
112
+ * boost::function. It is a union containing function pointers,
113
+ * object pointers, and a structure that resembles a bound
114
+ * member function pointer.
115
+ */
116
+ union function_buffer
117
+ {
118
+ // For pointers to function objects
119
+ void* obj_ptr;
120
+
121
+ // For pointers to std::type_info objects
122
+ // (get_functor_type_tag, check_functor_type_tag).
123
+ const void* const_obj_ptr;
124
+
125
+ // For function pointers of all kinds
126
+ mutable void (*func_ptr)();
127
+
128
+ // For bound member pointers
129
+ struct bound_memfunc_ptr_t {
130
+ void (X::*memfunc_ptr)(int);
131
+ void* obj_ptr;
132
+ } bound_memfunc_ptr;
133
+
134
+ // To relax aliasing constraints
135
+ mutable char data;
136
+ };
137
+
138
+ /**
139
+ * The unusable class is a placeholder for unused function arguments
140
+ * It is also completely unusable except that it constructable from
141
+ * anything. This helps compilers without partial specialization to
142
+ * handle Boost.Function objects returning void.
143
+ */
144
+ struct unusable
145
+ {
146
+ unusable() {}
147
+ template<typename T> unusable(const T&) {}
148
+ };
149
+
150
+ /* Determine the return type. This supports compilers that do not support
151
+ * void returns or partial specialization by silently changing the return
152
+ * type to "unusable".
153
+ */
154
+ template<typename T> struct function_return_type { typedef T type; };
155
+
156
+ template<>
157
+ struct function_return_type<void>
158
+ {
159
+ typedef unusable type;
160
+ };
161
+
162
+ // The operation type to perform on the given functor/function pointer
163
+ enum functor_manager_operation_type {
164
+ clone_functor_tag,
165
+ destroy_functor_tag,
166
+ check_functor_type_tag,
167
+ get_functor_type_tag
168
+ };
169
+
170
+ // Tags used to decide between different types of functions
171
+ struct function_ptr_tag {};
172
+ struct function_obj_tag {};
173
+ struct member_ptr_tag {};
174
+ struct function_obj_ref_tag {};
175
+
176
+ template<typename F>
177
+ class get_function_tag
178
+ {
179
+ typedef typename mpl::if_c<(is_pointer<F>::value),
180
+ function_ptr_tag,
181
+ function_obj_tag>::type ptr_or_obj_tag;
182
+
183
+ typedef typename mpl::if_c<(is_member_pointer<F>::value),
184
+ member_ptr_tag,
185
+ ptr_or_obj_tag>::type ptr_or_obj_or_mem_tag;
186
+
187
+ typedef typename mpl::if_c<(is_reference_wrapper<F>::value),
188
+ function_obj_ref_tag,
189
+ ptr_or_obj_or_mem_tag>::type or_ref_tag;
190
+
191
+ public:
192
+ typedef or_ref_tag type;
193
+ };
194
+
195
+ // The trivial manager does nothing but return the same pointer (if we
196
+ // are cloning) or return the null pointer (if we are deleting).
197
+ template<typename F>
198
+ struct reference_manager
199
+ {
200
+ static inline void
201
+ get(const function_buffer& in_buffer, function_buffer& out_buffer,
202
+ functor_manager_operation_type op)
203
+ {
204
+ switch (op) {
205
+ case clone_functor_tag:
206
+ out_buffer.obj_ptr = in_buffer.obj_ptr;
207
+ return;
208
+
209
+ case destroy_functor_tag:
210
+ out_buffer.obj_ptr = 0;
211
+ return;
212
+
213
+ case check_functor_type_tag:
214
+ {
215
+ // DPG TBD: Since we're only storing a pointer, it's
216
+ // possible that the user could ask for a base class or
217
+ // derived class. Is that okay?
218
+ const std::type_info& check_type =
219
+ *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
220
+ if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(F)))
221
+ out_buffer.obj_ptr = in_buffer.obj_ptr;
222
+ else
223
+ out_buffer.obj_ptr = 0;
224
+ }
225
+ return;
226
+
227
+ case get_functor_type_tag:
228
+ out_buffer.const_obj_ptr = &typeid(F);
229
+ return;
230
+ }
231
+ }
232
+ };
233
+
234
+ /**
235
+ * Determine if boost::function can use the small-object
236
+ * optimization with the function object type F.
237
+ */
238
+ template<typename F>
239
+ struct function_allows_small_object_optimization
240
+ {
241
+ BOOST_STATIC_CONSTANT
242
+ (bool,
243
+ value = ((sizeof(F) <= sizeof(function_buffer) &&
244
+ (alignment_of<function_buffer>::value
245
+ % alignment_of<F>::value == 0))));
246
+ };
247
+
248
+ /**
249
+ * The functor_manager class contains a static function "manage" which
250
+ * can clone or destroy the given function/function object pointer.
251
+ */
252
+ template<typename Functor, typename Allocator>
253
+ struct functor_manager
254
+ {
255
+ private:
256
+ typedef Functor functor_type;
257
+
258
+ // For function pointers, the manager is trivial
259
+ static inline void
260
+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
261
+ functor_manager_operation_type op, function_ptr_tag)
262
+ {
263
+ if (op == clone_functor_tag)
264
+ out_buffer.func_ptr = in_buffer.func_ptr;
265
+ else if (op == destroy_functor_tag)
266
+ out_buffer.func_ptr = 0;
267
+ else /* op == check_functor_type_tag */ {
268
+ const std::type_info& check_type =
269
+ *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
270
+ if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
271
+ out_buffer.obj_ptr = &in_buffer.func_ptr;
272
+ else
273
+ out_buffer.obj_ptr = 0;
274
+ }
275
+ }
276
+
277
+ // Function objects that fit in the small-object buffer.
278
+ static inline void
279
+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
280
+ functor_manager_operation_type op, mpl::true_)
281
+ {
282
+ if (op == clone_functor_tag) {
283
+ const functor_type* in_functor =
284
+ reinterpret_cast<const functor_type*>(&in_buffer.data);
285
+ new ((void*)&out_buffer.data) functor_type(*in_functor);
286
+ } else if (op == destroy_functor_tag) {
287
+ // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.
288
+ reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor();
289
+ } else /* op == check_functor_type_tag */ {
290
+ const std::type_info& check_type =
291
+ *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
292
+ if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
293
+ out_buffer.obj_ptr = &in_buffer.data;
294
+ else
295
+ out_buffer.obj_ptr = 0;
296
+ }
297
+ }
298
+
299
+ // Function objects that require heap allocation
300
+ static inline void
301
+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
302
+ functor_manager_operation_type op, mpl::false_)
303
+ {
304
+ #ifndef BOOST_NO_STD_ALLOCATOR
305
+ typedef typename Allocator::template rebind<functor_type>::other
306
+ allocator_type;
307
+ typedef typename allocator_type::pointer pointer_type;
308
+ #else
309
+ typedef functor_type* pointer_type;
310
+ #endif // BOOST_NO_STD_ALLOCATOR
311
+
312
+ # ifndef BOOST_NO_STD_ALLOCATOR
313
+ allocator_type allocator;
314
+ # endif // BOOST_NO_STD_ALLOCATOR
315
+
316
+ if (op == clone_functor_tag) {
317
+ // GCC 2.95.3 gets the CV qualifiers wrong here, so we
318
+ // can't do the static_cast that we should do.
319
+ const functor_type* f =
320
+ (const functor_type*)(in_buffer.obj_ptr);
321
+
322
+ // Clone the functor
323
+ # ifndef BOOST_NO_STD_ALLOCATOR
324
+ pointer_type copy = allocator.allocate(1);
325
+ allocator.construct(copy, *f);
326
+
327
+ // Get back to the original pointer type
328
+ functor_type* new_f = static_cast<functor_type*>(copy);
329
+ # else
330
+ functor_type* new_f = new functor_type(*f);
331
+ # endif // BOOST_NO_STD_ALLOCATOR
332
+ out_buffer.obj_ptr = new_f;
333
+ } else if (op == destroy_functor_tag) {
334
+ /* Cast from the void pointer to the functor pointer type */
335
+ functor_type* f =
336
+ static_cast<functor_type*>(out_buffer.obj_ptr);
337
+
338
+ # ifndef BOOST_NO_STD_ALLOCATOR
339
+ /* Cast from the functor pointer type to the allocator's pointer
340
+ type */
341
+ pointer_type victim = static_cast<pointer_type>(f);
342
+
343
+ // Destroy and deallocate the functor
344
+ allocator.destroy(victim);
345
+ allocator.deallocate(victim, 1);
346
+ # else
347
+ delete f;
348
+ # endif // BOOST_NO_STD_ALLOCATOR
349
+ out_buffer.obj_ptr = 0;
350
+ } else /* op == check_functor_type_tag */ {
351
+ const std::type_info& check_type =
352
+ *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
353
+ if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
354
+ out_buffer.obj_ptr = in_buffer.obj_ptr;
355
+ else
356
+ out_buffer.obj_ptr = 0;
357
+ }
358
+ }
359
+
360
+ // For function objects, we determine whether the function
361
+ // object can use the small-object optimization buffer or
362
+ // whether we need to allocate it on the heap.
363
+ static inline void
364
+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
365
+ functor_manager_operation_type op, function_obj_tag)
366
+ {
367
+ manager(in_buffer, out_buffer, op,
368
+ mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>());
369
+ }
370
+
371
+ public:
372
+ /* Dispatch to an appropriate manager based on whether we have a
373
+ function pointer or a function object pointer. */
374
+ static inline void
375
+ manage(const function_buffer& in_buffer, function_buffer& out_buffer,
376
+ functor_manager_operation_type op)
377
+ {
378
+ typedef typename get_function_tag<functor_type>::type tag_type;
379
+ switch (op) {
380
+ case get_functor_type_tag:
381
+ out_buffer.const_obj_ptr = &typeid(functor_type);
382
+ return;
383
+
384
+ default:
385
+ manager(in_buffer, out_buffer, op, tag_type());
386
+ return;
387
+ }
388
+ }
389
+ };
390
+
391
+ // A type that is only used for comparisons against zero
392
+ struct useless_clear_type {};
393
+
394
+ #ifdef BOOST_NO_SFINAE
395
+ // These routines perform comparisons between a Boost.Function
396
+ // object and an arbitrary function object (when the last
397
+ // parameter is mpl::bool_<false>) or against zero (when the
398
+ // last parameter is mpl::bool_<true>). They are only necessary
399
+ // for compilers that don't support SFINAE.
400
+ template<typename Function, typename Functor>
401
+ bool
402
+ compare_equal(const Function& f, const Functor&, int, mpl::bool_<true>)
403
+ { return f.empty(); }
404
+
405
+ template<typename Function, typename Functor>
406
+ bool
407
+ compare_not_equal(const Function& f, const Functor&, int,
408
+ mpl::bool_<true>)
409
+ { return !f.empty(); }
410
+
411
+ template<typename Function, typename Functor>
412
+ bool
413
+ compare_equal(const Function& f, const Functor& g, long,
414
+ mpl::bool_<false>)
415
+ {
416
+ if (const Functor* fp = f.template target<Functor>())
417
+ return function_equal(*fp, g);
418
+ else return false;
419
+ }
420
+
421
+ template<typename Function, typename Functor>
422
+ bool
423
+ compare_equal(const Function& f, const reference_wrapper<Functor>& g,
424
+ int, mpl::bool_<false>)
425
+ {
426
+ if (const Functor* fp = f.template target<Functor>())
427
+ return fp == g.get_pointer();
428
+ else return false;
429
+ }
430
+
431
+ template<typename Function, typename Functor>
432
+ bool
433
+ compare_not_equal(const Function& f, const Functor& g, long,
434
+ mpl::bool_<false>)
435
+ {
436
+ if (const Functor* fp = f.template target<Functor>())
437
+ return !function_equal(*fp, g);
438
+ else return true;
439
+ }
440
+
441
+ template<typename Function, typename Functor>
442
+ bool
443
+ compare_not_equal(const Function& f,
444
+ const reference_wrapper<Functor>& g, int,
445
+ mpl::bool_<false>)
446
+ {
447
+ if (const Functor* fp = f.template target<Functor>())
448
+ return fp != g.get_pointer();
449
+ else return true;
450
+ }
451
+ #endif // BOOST_NO_SFINAE
452
+
453
+ /**
454
+ * Stores the "manager" portion of the vtable for a
455
+ * boost::function object.
456
+ */
457
+ struct vtable_base
458
+ {
459
+ vtable_base() : manager(0) { }
460
+ void (*manager)(const function_buffer& in_buffer,
461
+ function_buffer& out_buffer,
462
+ functor_manager_operation_type op);
463
+ };
464
+ } // end namespace function
465
+ } // end namespace detail
466
+
467
+ /**
468
+ * The function_base class contains the basic elements needed for the
469
+ * function1, function2, function3, etc. classes. It is common to all
470
+ * functions (and as such can be used to tell if we have one of the
471
+ * functionN objects).
472
+ */
473
+ class function_base
474
+ {
475
+ public:
476
+ function_base() : vtable(0) { }
477
+
478
+ /** Determine if the function is empty (i.e., has no target). */
479
+ bool empty() const { return !vtable; }
480
+
481
+ /** Retrieve the type of the stored function object, or typeid(void)
482
+ if this is empty. */
483
+ const std::type_info& target_type() const
484
+ {
485
+ if (!vtable) return typeid(void);
486
+
487
+ detail::function::function_buffer type;
488
+ vtable->manager(functor, type, detail::function::get_functor_type_tag);
489
+ return *static_cast<const std::type_info*>(type.const_obj_ptr);
490
+ }
491
+
492
+ template<typename Functor>
493
+ Functor* target()
494
+ {
495
+ if (!vtable) return 0;
496
+
497
+ detail::function::function_buffer type_result;
498
+ type_result.const_obj_ptr = &typeid(Functor);
499
+ vtable->manager(functor, type_result,
500
+ detail::function::check_functor_type_tag);
501
+ return static_cast<Functor*>(type_result.obj_ptr);
502
+ }
503
+
504
+ template<typename Functor>
505
+ #if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
506
+ const Functor* target( Functor * = 0 ) const
507
+ #else
508
+ const Functor* target() const
509
+ #endif
510
+ {
511
+ if (!vtable) return 0;
512
+
513
+ detail::function::function_buffer type_result;
514
+ type_result.const_obj_ptr = &typeid(Functor);
515
+ vtable->manager(functor, type_result,
516
+ detail::function::check_functor_type_tag);
517
+ // GCC 2.95.3 gets the CV qualifiers wrong here, so we
518
+ // can't do the static_cast that we should do.
519
+ return (const Functor*)(type_result.obj_ptr);
520
+ }
521
+
522
+ template<typename F>
523
+ bool contains(const F& f) const
524
+ {
525
+ #if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
526
+ if (const F* fp = this->target( (F*)0 ))
527
+ #else
528
+ if (const F* fp = this->template target<F>())
529
+ #endif
530
+ {
531
+ return function_equal(*fp, f);
532
+ } else {
533
+ return false;
534
+ }
535
+ }
536
+
537
+ #if defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3
538
+ // GCC 3.3 and newer cannot copy with the global operator==, due to
539
+ // problems with instantiation of function return types before it
540
+ // has been verified that the argument types match up.
541
+ template<typename Functor>
542
+ BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
543
+ operator==(Functor g) const
544
+ {
545
+ if (const Functor* fp = target<Functor>())
546
+ return function_equal(*fp, g);
547
+ else return false;
548
+ }
549
+
550
+ template<typename Functor>
551
+ BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
552
+ operator!=(Functor g) const
553
+ {
554
+ if (const Functor* fp = target<Functor>())
555
+ return !function_equal(*fp, g);
556
+ else return true;
557
+ }
558
+ #endif
559
+
560
+ public: // should be protected, but GCC 2.95.3 will fail to allow access
561
+ detail::function::vtable_base* vtable;
562
+ mutable detail::function::function_buffer functor;
563
+ };
564
+
565
+ /**
566
+ * The bad_function_call exception class is thrown when a boost::function
567
+ * object is invoked
568
+ */
569
+ class bad_function_call : public std::runtime_error
570
+ {
571
+ public:
572
+ bad_function_call() : std::runtime_error("call to empty boost::function") {}
573
+ };
574
+
575
+ #ifndef BOOST_NO_SFINAE
576
+ inline bool operator==(const function_base& f,
577
+ detail::function::useless_clear_type*)
578
+ {
579
+ return f.empty();
580
+ }
581
+
582
+ inline bool operator!=(const function_base& f,
583
+ detail::function::useless_clear_type*)
584
+ {
585
+ return !f.empty();
586
+ }
587
+
588
+ inline bool operator==(detail::function::useless_clear_type*,
589
+ const function_base& f)
590
+ {
591
+ return f.empty();
592
+ }
593
+
594
+ inline bool operator!=(detail::function::useless_clear_type*,
595
+ const function_base& f)
596
+ {
597
+ return !f.empty();
598
+ }
599
+ #endif
600
+
601
+ #ifdef BOOST_NO_SFINAE
602
+ // Comparisons between boost::function objects and arbitrary function objects
603
+ template<typename Functor>
604
+ inline bool operator==(const function_base& f, Functor g)
605
+ {
606
+ typedef mpl::bool_<(is_integral<Functor>::value)> integral;
607
+ return detail::function::compare_equal(f, g, 0, integral());
608
+ }
609
+
610
+ template<typename Functor>
611
+ inline bool operator==(Functor g, const function_base& f)
612
+ {
613
+ typedef mpl::bool_<(is_integral<Functor>::value)> integral;
614
+ return detail::function::compare_equal(f, g, 0, integral());
615
+ }
616
+
617
+ template<typename Functor>
618
+ inline bool operator!=(const function_base& f, Functor g)
619
+ {
620
+ typedef mpl::bool_<(is_integral<Functor>::value)> integral;
621
+ return detail::function::compare_not_equal(f, g, 0, integral());
622
+ }
623
+
624
+ template<typename Functor>
625
+ inline bool operator!=(Functor g, const function_base& f)
626
+ {
627
+ typedef mpl::bool_<(is_integral<Functor>::value)> integral;
628
+ return detail::function::compare_not_equal(f, g, 0, integral());
629
+ }
630
+ #else
631
+
632
+ # if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
633
+ // Comparisons between boost::function objects and arbitrary function
634
+ // objects. GCC 3.3 and before has an obnoxious bug that prevents this
635
+ // from working.
636
+ template<typename Functor>
637
+ BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
638
+ operator==(const function_base& f, Functor g)
639
+ {
640
+ if (const Functor* fp = f.template target<Functor>())
641
+ return function_equal(*fp, g);
642
+ else return false;
643
+ }
644
+
645
+ template<typename Functor>
646
+ BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
647
+ operator==(Functor g, const function_base& f)
648
+ {
649
+ if (const Functor* fp = f.template target<Functor>())
650
+ return function_equal(g, *fp);
651
+ else return false;
652
+ }
653
+
654
+ template<typename Functor>
655
+ BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
656
+ operator!=(const function_base& f, Functor g)
657
+ {
658
+ if (const Functor* fp = f.template target<Functor>())
659
+ return !function_equal(*fp, g);
660
+ else return true;
661
+ }
662
+
663
+ template<typename Functor>
664
+ BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
665
+ operator!=(Functor g, const function_base& f)
666
+ {
667
+ if (const Functor* fp = f.template target<Functor>())
668
+ return !function_equal(g, *fp);
669
+ else return true;
670
+ }
671
+ # endif
672
+
673
+ template<typename Functor>
674
+ BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
675
+ operator==(const function_base& f, reference_wrapper<Functor> g)
676
+ {
677
+ if (const Functor* fp = f.template target<Functor>())
678
+ return fp == g.get_pointer();
679
+ else return false;
680
+ }
681
+
682
+ template<typename Functor>
683
+ BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
684
+ operator==(reference_wrapper<Functor> g, const function_base& f)
685
+ {
686
+ if (const Functor* fp = f.template target<Functor>())
687
+ return g.get_pointer() == fp;
688
+ else return false;
689
+ }
690
+
691
+ template<typename Functor>
692
+ BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
693
+ operator!=(const function_base& f, reference_wrapper<Functor> g)
694
+ {
695
+ if (const Functor* fp = f.template target<Functor>())
696
+ return fp != g.get_pointer();
697
+ else return true;
698
+ }
699
+
700
+ template<typename Functor>
701
+ BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
702
+ operator!=(reference_wrapper<Functor> g, const function_base& f)
703
+ {
704
+ if (const Functor* fp = f.template target<Functor>())
705
+ return g.get_pointer() != fp;
706
+ else return true;
707
+ }
708
+
709
+ #endif // Compiler supporting SFINAE
710
+
711
+ namespace detail {
712
+ namespace function {
713
+ inline bool has_empty_target(const function_base* f)
714
+ {
715
+ return f->empty();
716
+ }
717
+
718
+ #if BOOST_WORKAROUND(BOOST_MSVC, <= 1310)
719
+ inline bool has_empty_target(const void*)
720
+ {
721
+ return false;
722
+ }
723
+ #else
724
+ inline bool has_empty_target(...)
725
+ {
726
+ return false;
727
+ }
728
+ #endif
729
+ } // end namespace function
730
+ } // end namespace detail
731
+ } // end namespace boost
732
+
733
+ #undef BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL
734
+ #undef BOOST_FUNCTION_COMPARE_TYPE_ID
735
+
736
+ #endif // BOOST_FUNCTION_BASE_HEADER