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,308 @@
1
+ # Phusion Passenger - http://www.modrails.com/
2
+ # Copyright (C) 2008 Phusion
3
+ #
4
+ # This program is free software; you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation; version 2 of the License.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
17
+ require 'socket'
18
+ require 'timeout'
19
+ require 'passenger/message_channel'
20
+ require 'passenger/utils'
21
+ module Passenger
22
+
23
+ # An abstract base class for a server, with the following properties:
24
+ #
25
+ # - The server has exactly one client, and is connected to that client at all times. The server will
26
+ # quit when the connection closes.
27
+ # - The server's main loop may be run in a child process (and so is asynchronous from the main process).
28
+ # - One can communicate with the server through discrete messages (as opposed to byte streams).
29
+ # - The server can pass file descriptors (IO objects) back to the client.
30
+ #
31
+ # A message is just an ordered list of strings. The first element in the message is the _message name_.
32
+ #
33
+ # The server will also reset all signal handlers (in the child process). That is, it will respond to
34
+ # all signals in the default manner. The only exception is SIGHUP, which is ignored. One may define
35
+ # additional signal handlers using define_signal_handler().
36
+ #
37
+ # Before an AbstractServer can be used, it must first be started by calling start(). When it is no
38
+ # longer needed, stop() should be called.
39
+ #
40
+ # Here's an example on using AbstractServer:
41
+ #
42
+ # class MyServer < Passenger::AbstractServer
43
+ # def initialize
44
+ # super()
45
+ # define_message_handler(:hello, :handle_hello)
46
+ # end
47
+ #
48
+ # def hello(first_name, last_name)
49
+ # send_to_server('hello', first_name, last_name)
50
+ # reply, pointless_number = recv_from_server
51
+ # puts "The server said: #{reply}"
52
+ # puts "In addition, it sent this pointless number: #{pointless_number}"
53
+ # end
54
+ #
55
+ # private
56
+ # def handle_hello(first_name, last_name)
57
+ # send_to_client("Hello #{first_name} #{last_name}, how are you?", 1234)
58
+ # end
59
+ # end
60
+ #
61
+ # server = MyServer.new
62
+ # server.start
63
+ # server.hello("Joe", "Dalton")
64
+ # server.stop
65
+ class AbstractServer
66
+ include Utils
67
+ SERVER_TERMINATION_SIGNAL = "SIGTERM"
68
+
69
+ # Raised when the server receives a message with an unknown message name.
70
+ class UnknownMessage < StandardError
71
+ end
72
+
73
+ # Raised when a command is invoked that requires that the server is
74
+ # not already started.
75
+ class ServerAlreadyStarted < StandardError
76
+ end
77
+
78
+ # Raised when a command is invoked that requires that the server is
79
+ # already started.
80
+ class ServerNotStarted < StandardError
81
+ end
82
+
83
+ # This exception means that the server process exited unexpectedly.
84
+ class ServerError < StandardError
85
+ end
86
+
87
+ def initialize
88
+ @done = false
89
+ @message_handlers = {}
90
+ @signal_handlers = {}
91
+ @orig_signal_handlers = {}
92
+ end
93
+
94
+ # Start the server. This method does not block since the server runs
95
+ # asynchronously from the current process.
96
+ #
97
+ # You may only call this method if the server is not already started.
98
+ # Otherwise, a ServerAlreadyStarted will be raised.
99
+ #
100
+ # Derived classes may raise additional exceptions.
101
+ def start
102
+ if !@parent_channel.nil?
103
+ raise ServerAlreadyStarted, "Server is already started"
104
+ end
105
+
106
+ @parent_socket, @child_socket = UNIXSocket.pair
107
+ before_fork
108
+ @pid = fork do
109
+ begin
110
+ STDOUT.sync = true
111
+ STDERR.sync = true
112
+ @parent_socket.close
113
+ NativeSupport.close_all_file_descriptors([0, 1, 2, @child_socket.fileno])
114
+ start_synchronously(@child_socket)
115
+ rescue Interrupt
116
+ # Do nothing.
117
+ rescue SignalException => signal
118
+ if signal.message == SERVER_TERMINATION_SIGNAL
119
+ # Do nothing.
120
+ else
121
+ print_exception(self.class.to_s, signal)
122
+ end
123
+ rescue Exception => e
124
+ print_exception(self.class.to_s, e)
125
+ ensure
126
+ exit!
127
+ end
128
+ end
129
+ @child_socket.close
130
+ @parent_channel = MessageChannel.new(@parent_socket)
131
+ end
132
+
133
+ # Start the server, but in the current process instead of in a child process.
134
+ # This method blocks until the server's main loop has ended.
135
+ #
136
+ # _socket_ is the socket that the server should listen on. The server main
137
+ # loop will end if the socket has been closed.
138
+ #
139
+ # All hooks will be called, except before_fork().
140
+ def start_synchronously(socket)
141
+ @child_socket = socket
142
+ @child_channel = MessageChannel.new(socket)
143
+ begin
144
+ reset_signal_handlers
145
+ initialize_server
146
+ begin
147
+ main_loop
148
+ ensure
149
+ finalize_server
150
+ end
151
+ ensure
152
+ revert_signal_handlers
153
+ end
154
+ end
155
+
156
+ # Stop the server. The server will quit as soon as possible. This method waits
157
+ # until the server has been stopped.
158
+ #
159
+ # When calling this method, the server must already be started. If not, a
160
+ # ServerNotStarted will be raised.
161
+ def stop
162
+ if @parent_channel.nil?
163
+ raise ServerNotStarted, "Server is not started"
164
+ end
165
+
166
+ @parent_socket.close
167
+ @parent_channel = nil
168
+
169
+ # Wait at most 5 seconds for server to exit. If it doesn't do that,
170
+ # we kill it. If that doesn't work either, we kill it forcefully with
171
+ # SIGKILL.
172
+ begin
173
+ Timeout::timeout(3) do
174
+ Process.waitpid(@pid) rescue nil
175
+ end
176
+ rescue Timeout::Error
177
+ Process.kill(SERVER_TERMINATION_SIGNAL, @pid) rescue nil
178
+ begin
179
+ Timeout::timeout(3) do
180
+ Process.waitpid(@pid) rescue nil
181
+ end
182
+ rescue Timeout::Error
183
+ Process.kill('SIGKILL', @pid) rescue nil
184
+ Process.waitpid(@pid, Process::WNOHANG) rescue nil
185
+ end
186
+ end
187
+ end
188
+
189
+ # Return the PID of the started server. This is only valid if start() has been called.
190
+ def server_pid
191
+ return @pid
192
+ end
193
+
194
+ protected
195
+ # A hook which is called when the server is being started, just before forking a new process.
196
+ # The default implementation does nothing, this method is supposed to be overrided by child classes.
197
+ def before_fork
198
+ end
199
+
200
+ # A hook which is called when the server is being started. This is called in the child process,
201
+ # before the main loop is entered.
202
+ # The default implementation does nothing, this method is supposed to be overrided by child classes.
203
+ def initialize_server
204
+ end
205
+
206
+ # A hook which is called when the server is being stopped. This is called in the child process,
207
+ # after the main loop has been left.
208
+ # The default implementation does nothing, this method is supposed to be overrided by child classes.
209
+ def finalize_server
210
+ end
211
+
212
+ # Define a handler for a message. _message_name_ is the name of the message to handle,
213
+ # and _handler_ is the name of a method to be called (this may either be a String or a Symbol).
214
+ #
215
+ # A message is just a list of strings, and so _handler_ will be called with the message as its
216
+ # arguments, excluding the first element. See also the example in the class description.
217
+ def define_message_handler(message_name, handler)
218
+ @message_handlers[message_name.to_s] = handler
219
+ end
220
+
221
+ # Define a handler for a signal.
222
+ def define_signal_handler(signal, handler)
223
+ @signal_handlers[signal.to_s] = handler
224
+ end
225
+
226
+ # Return the communication channel with the server. This is a MessageChannel
227
+ # object.
228
+ #
229
+ # Raises ServerNotStarted if the server hasn't been started yet.
230
+ #
231
+ # This method may only be called in the parent process, and not
232
+ # in the started server process.
233
+ def server
234
+ if @parent_channel.nil?
235
+ raise ServerNotStarted, "Server hasn't been started yet. Please call start() first."
236
+ end
237
+ return @parent_channel
238
+ end
239
+
240
+ # Return the communication channel with the client (i.e. the parent process
241
+ # that started the server). This is a MessageChannel object.
242
+ def client
243
+ return @child_channel
244
+ end
245
+
246
+ # Tell the main loop to stop as soon as possible.
247
+ def quit_main
248
+ @done = true
249
+ end
250
+
251
+ private
252
+ # Reset all signal handlers to default. This is called in the child process,
253
+ # before entering the main loop.
254
+ def reset_signal_handlers
255
+ Signal.list.each_key do |signal|
256
+ begin
257
+ @orig_signal_handlers[signal] = trap(signal, 'DEFAULT')
258
+ rescue ArgumentError
259
+ # Signal cannot be trapped; ignore it.
260
+ end
261
+ end
262
+ @signal_handlers.each_pair do |signal, handler|
263
+ trap(signal) do
264
+ __send__(handler)
265
+ end
266
+ end
267
+ trap('HUP', 'IGNORE')
268
+ end
269
+
270
+ def revert_signal_handlers
271
+ @orig_signal_handlers.each_pair do |signal, handler|
272
+ trap(signal, handler)
273
+ end
274
+ @orig_signal_handlers.clear
275
+ end
276
+
277
+ # The server's main loop. This is called in the child process.
278
+ # The main loop's main function is to read messages from the socket,
279
+ # and letting registered message handlers handle each message.
280
+ # Use define_message_handler() to register a message handler.
281
+ #
282
+ # If an unknown message is encountered, UnknownMessage will be raised.
283
+ def main_loop
284
+ channel = MessageChannel.new(@child_socket)
285
+ while !@done
286
+ begin
287
+ name, *args = channel.read
288
+ if name.nil?
289
+ @done = true
290
+ elsif @message_handlers.has_key?(name)
291
+ __send__(@message_handlers[name], *args)
292
+ else
293
+ raise UnknownMessage, "Unknown message '#{name}' received."
294
+ end
295
+ rescue Interrupt
296
+ @done = true
297
+ rescue SignalException => signal
298
+ if signal.message == SERVER_TERMINATION_SIGNAL
299
+ @done = true
300
+ else
301
+ raise
302
+ end
303
+ end
304
+ end
305
+ end
306
+ end
307
+
308
+ end # module Passenger
@@ -0,0 +1,120 @@
1
+ # Phusion Passenger - http://www.modrails.com/
2
+ # Copyright (C) 2008 Phusion
3
+ #
4
+ # This program is free software; you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation; version 2 of the License.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
17
+ require 'rubygems'
18
+ require 'passenger/utils'
19
+ module Passenger
20
+
21
+ # Indicates that there is no Ruby on Rails version installed that satisfies
22
+ # a given Ruby on Rails Gem version specification.
23
+ class VersionNotFound < StandardError
24
+ attr_reader :gem_version_spec
25
+
26
+ # - +message+: The exception message.
27
+ # - +gem_version_spec+: The Ruby on Rails Gem version specification that caused this error.
28
+ def initialize(message, gem_version_spec)
29
+ super(message)
30
+ @gem_version_spec = gem_version_spec
31
+ end
32
+ end
33
+
34
+ # Represents a single Ruby on Rails application instance.
35
+ class Application
36
+ # The root directory of this application, i.e. the directory that contains
37
+ # 'app/', 'public/', etc.
38
+ attr_reader :app_root
39
+
40
+ # The process ID of this application instance.
41
+ attr_reader :pid
42
+
43
+ # The name of the Unix socket on which the application instance will accept
44
+ # new connections.
45
+ attr_reader :listen_socket_name
46
+
47
+ # The owner pipe of the application instance (an IO object). Please see
48
+ # RequestHandler for a description of the owner pipe.
49
+ attr_reader :owner_pipe
50
+
51
+ # - Returns the Ruby on Rails version that the application requires.
52
+ # - Returns <tt>:vendor</tt> if the application has a vendored Rails.
53
+ # - Returns nil if the application doesn't specify a particular version.
54
+ # Raises VersionNotFound if the required Rails version is not installed.
55
+ def self.detect_framework_version(app_root)
56
+ if File.directory?("#{app_root}/vendor/rails/railties")
57
+ # NOTE: We must check for 'rails/railties' and not just 'rails'.
58
+ # Typo's vendor directory contains an empty 'rails' directory.
59
+ return :vendor
60
+ end
61
+
62
+ environment_rb = File.read("#{app_root}/config/environment.rb")
63
+ environment_rb =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
64
+ gem_version_spec = $1
65
+ if gem_version_spec.nil?
66
+ return nil
67
+ end
68
+
69
+ found_version = Gem.cache.search('rails', gem_version_spec).map do |x|
70
+ x.version.version
71
+ end.sort.last
72
+ if found_version.nil?
73
+ # If this error was reported before, then the cache might be out of
74
+ # date because the Rails version may have been installed now.
75
+ # So we reload the RubyGems cache and try again.
76
+ Gem.clear_paths
77
+ found_version = Gem.cache.search('rails', gem_version_spec).map do |x|
78
+ x.version.version
79
+ end.sort.last
80
+ end
81
+
82
+ if found_version.nil?
83
+ raise VersionNotFound.new("There is no Ruby on Rails version " <<
84
+ "installed that matches version \"#{gem_version_spec}\"",
85
+ gem_version_spec)
86
+ else
87
+ return found_version
88
+ end
89
+ end
90
+
91
+ # Creates a new instance of Application. The parameters correspond with the attributes
92
+ # of the same names. No exceptions will be thrown.
93
+ def initialize(app_root, pid, listen_socket_name, using_abstract_namespace, owner_pipe)
94
+ @app_root = app_root
95
+ @pid = pid
96
+ @listen_socket_name = listen_socket_name
97
+ @using_abstract_namespace = using_abstract_namespace
98
+ @owner_pipe = owner_pipe
99
+ end
100
+
101
+ # Whether _listen_socket_name_ refers to a Unix socket in the abstract namespace.
102
+ # In any case, _listen_socket_name_ does *not* contain the leading null byte.
103
+ #
104
+ # Note that at the moment, only Linux seems to support abstract namespace Unix
105
+ # sockets.
106
+ def using_abstract_namespace?
107
+ return @using_abstract_namespace
108
+ end
109
+
110
+ # Close the connection with the application instance. If there are no other
111
+ # processes that have connections to this application instance, then it will
112
+ # shutdown as soon as possible.
113
+ #
114
+ # See also RequestHandler#owner_pipe.
115
+ def close
116
+ @owner_pipe.close rescue nil
117
+ end
118
+ end
119
+
120
+ end # module Passenger
@@ -0,0 +1,295 @@
1
+ # Phusion Passenger - http://www.modrails.com/
2
+ # Copyright (C) 2008 Phusion
3
+ #
4
+ # This program is free software; you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation; version 2 of the License.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
17
+ require 'rubygems'
18
+ require 'socket'
19
+ require 'etc'
20
+ require 'passenger/abstract_server'
21
+ require 'passenger/application'
22
+ require 'passenger/utils'
23
+ require 'passenger/request_handler'
24
+
25
+ begin
26
+ # Preload MySQL if possible. We want to preload it and we need
27
+ # its exception classes.
28
+ require 'mysql'
29
+ rescue LoadError
30
+ end
31
+ begin
32
+ # Preload SQLite 3 if possible. Rails 2.0 apps use it by default.
33
+ require 'sqlite3'
34
+ rescue LoadError
35
+ end
36
+
37
+ module Passenger
38
+
39
+ # An abstract base class for AppInitError and FrameworkInitError. This represents
40
+ # the failure when initializing something.
41
+ class InitializationError < StandardError
42
+ # The exception that caused initialization to fail. This may be nil.
43
+ attr_accessor :child_exception
44
+
45
+ # Create a new InitializationError. +message+ is the error message,
46
+ # and +child_exception+ is the exception that caused initialization
47
+ # to fail.
48
+ def initialize(message, child_exception = nil)
49
+ super(message)
50
+ @child_exception = child_exception
51
+ end
52
+ end
53
+
54
+ # Raised when ApplicationSpawner, FrameworkSpawner or SpawnManager was unable
55
+ # spawn a Ruby on Rails application, because the application either threw an
56
+ # exception or called exit.
57
+ #
58
+ # If the +child_exception+ attribute is nil, then it means that the application
59
+ # called exit.
60
+ class AppInitError < InitializationError
61
+ end
62
+
63
+ # This class is capable of spawns instances of a single Ruby on Rails application.
64
+ # It does so by preloading as much of the application's code as possible, then creating
65
+ # instances of the application using what is already preloaded. This makes it spawning
66
+ # application instances very fast, except for the first spawn.
67
+ #
68
+ # Use multiple instances of ApplicationSpawner if you need to spawn multiple different
69
+ # Ruby on Rails applications.
70
+ #
71
+ # *Note*: ApplicationSpawner may only be started asynchronously with AbstractServer#start.
72
+ # Starting it synchronously with AbstractServer#start_synchronously has not been tested.
73
+ class ApplicationSpawner < AbstractServer
74
+ include Utils
75
+
76
+ # This exception means that the ApplicationSpawner server process exited unexpectedly.
77
+ class Error < AbstractServer::ServerError
78
+ end
79
+
80
+ # The user ID of the root user.
81
+ ROOT_UID = 0
82
+ # The group ID of the root user.
83
+ ROOT_GID = 0
84
+
85
+ # An attribute, used internally. This should not be used outside Passenger.
86
+ attr_accessor :time
87
+ # The application root of this spawner.
88
+ attr_reader :app_root
89
+
90
+ # +app_root+ is the root directory of this application, i.e. the directory
91
+ # that contains 'app/', 'public/', etc. If given an invalid directory,
92
+ # or a directory that doesn't appear to be a Rails application root directory,
93
+ # then an ArgumentError will be raised.
94
+ #
95
+ # If +lower_privilege+ is true, then ApplicationSpawner will attempt to
96
+ # switch to the user who owns the application's <tt>config/environment.rb</tt>,
97
+ # and to the default group of that user.
98
+ #
99
+ # If that user doesn't exist on the system, or if that user is root,
100
+ # then ApplicationSpawner will attempt to switch to the username given by
101
+ # +lowest_user+ (and to the default group of that user).
102
+ # If +lowest_user+ doesn't exist either, or if switching user failed
103
+ # (because the current process does not have the privilege to do so),
104
+ # then ApplicationSpawner will continue without reporting an error.
105
+ def initialize(app_root, lower_privilege = true, lowest_user = "nobody")
106
+ super()
107
+ begin
108
+ @app_root = normalize_path(app_root)
109
+ rescue SystemCallError => e
110
+ raise ArgumentError, e.message
111
+ rescue ArgumentError
112
+ raise
113
+ end
114
+ @lower_privilege = lower_privilege
115
+ @lowest_user = lowest_user
116
+ self.time = Time.now
117
+ assert_valid_app_root(@app_root)
118
+ define_message_handler(:spawn_application, :handle_spawn_application)
119
+ end
120
+
121
+ # Spawn an instance of the RoR application. When successful, an Application object
122
+ # will be returned, which represents the spawned RoR application.
123
+ #
124
+ # Raises:
125
+ # - AbstractServer::ServerNotStarted: The ApplicationSpawner server hasn't already been started.
126
+ # - ApplicationSpawner::Error: The ApplicationSpawner server exited unexpectedly.
127
+ def spawn_application
128
+ server.write("spawn_application")
129
+ pid, socket_name, using_abstract_namespace = server.read
130
+ if pid.nil?
131
+ raise IOError, "Connection closed"
132
+ end
133
+ owner_pipe = server.recv_io
134
+ return Application.new(@app_root, pid, socket_name,
135
+ using_abstract_namespace == "true", owner_pipe)
136
+ rescue SystemCallError, IOError, SocketError => e
137
+ raise Error, "The application spawner server exited unexpectedly"
138
+ end
139
+
140
+ # Overrided from AbstractServer#start.
141
+ #
142
+ # May raise these additional exceptions:
143
+ # - AppInitError: The Ruby on Rails application raised an exception
144
+ # or called exit() during startup.
145
+ # - ApplicationSpawner::Error: The ApplicationSpawner server exited unexpectedly.
146
+ def start
147
+ super
148
+ begin
149
+ status = server.read[0]
150
+ if status == 'exception'
151
+ child_exception = unmarshal_exception(server.read_scalar)
152
+ stop
153
+ raise AppInitError.new(
154
+ "Application '#{@app_root}' raised an exception: " <<
155
+ "#{child_exception.class} (#{child_exception.message})",
156
+ child_exception)
157
+ elsif status == 'exit'
158
+ stop
159
+ raise AppInitError.new("Application '#{@app_root}' exited during startup")
160
+ end
161
+ rescue IOError, SystemCallError, SocketError
162
+ stop
163
+ raise Error, "The application spawner server exited unexpectedly"
164
+ end
165
+ end
166
+
167
+ protected
168
+ # Overrided method.
169
+ def before_fork # :nodoc:
170
+ if GC.copy_on_write_friendly?
171
+ # Garbage collect now so that the child process doesn't have to
172
+ # do that (to prevent making pages dirty).
173
+ GC.start
174
+ end
175
+ end
176
+
177
+ # Overrided method.
178
+ def initialize_server # :nodoc:
179
+ begin
180
+ $0 = "Passenger ApplicationSpawner: #{@app_root}"
181
+ Dir.chdir(@app_root)
182
+ lower_privilege! if @lower_privilege
183
+ preload_application
184
+ rescue StandardError, ScriptError, NoMemoryError => e
185
+ client.write('exception')
186
+ client.write_scalar(marshal_exception(e))
187
+ return
188
+ rescue SystemExit
189
+ client.write('exit')
190
+ raise
191
+ end
192
+ client.write('success')
193
+ end
194
+
195
+ private
196
+ def lower_privilege!
197
+ stat = File.stat("config/environment.rb")
198
+ begin
199
+ if !switch_to_user(stat.uid)
200
+ switch_to_user(@lowest_user)
201
+ end
202
+ rescue Errno::EPERM
203
+ # No problem if we were unable to switch user.
204
+ end
205
+ end
206
+
207
+ def switch_to_user(user)
208
+ begin
209
+ if user.is_a?(String)
210
+ pw = Etc.getpwnam(user)
211
+ uid = pw.uid
212
+ gid = pw.gid
213
+ else
214
+ uid = user
215
+ gid = Etc.getpwuid(uid).gid
216
+ end
217
+ rescue
218
+ return false
219
+ end
220
+ if uid == ROOT_UID
221
+ return false
222
+ else
223
+ Process::Sys.setgid(gid)
224
+ Process::Sys.setuid(uid)
225
+ return true
226
+ end
227
+ end
228
+
229
+ def preload_application
230
+ Object.const_set(:RAILS_ROOT, @app_root)
231
+ if defined?(Rails::Initializer)
232
+ Rails::Initializer.run(:set_load_path)
233
+ end
234
+ require 'config/environment'
235
+ ActionController::Base.page_cache_directory = "#{RAILS_ROOT}/public"
236
+ if defined?(ActionController::Dispatcher) \
237
+ && ActionController::Dispatcher.respond_to?(:error_file_path)
238
+ ActionController::Dispatcher.error_file_path = "#{RAILS_ROOT}/public"
239
+ end
240
+ if !defined?(Dispatcher)
241
+ require 'dispatcher'
242
+ end
243
+ require_dependency 'application'
244
+ Dir.glob('app/{models,controllers,helpers}/*.rb').each do |file|
245
+ require_dependency normalize_path(file)
246
+ end
247
+ end
248
+
249
+ def handle_spawn_application
250
+ # Double fork to prevent zombie processes.
251
+ pid = fork do
252
+ begin
253
+ pid = fork do
254
+ begin
255
+ start_request_handler
256
+ rescue SignalException => signal
257
+ if e.message != RequestHandler::HARD_TERMINATION_SIGNAL &&
258
+ e.message != RequestHandler::SOFT_TERMINATION_SIGNAL
259
+ print_exception('application', e)
260
+ end
261
+ rescue Exception => e
262
+ print_exception('application', e)
263
+ ensure
264
+ exit!
265
+ end
266
+ end
267
+ rescue Exception => e
268
+ print_exception(self.class.to_s, e)
269
+ ensure
270
+ exit!
271
+ end
272
+ end
273
+ Process.waitpid(pid)
274
+ end
275
+
276
+ def start_request_handler
277
+ $0 = "Rails: #{@app_root}"
278
+ reader, writer = IO.pipe
279
+ begin
280
+ handler = RequestHandler.new(reader)
281
+ client.write(Process.pid, handler.socket_name,
282
+ handler.using_abstract_namespace?)
283
+ client.send_io(writer)
284
+ writer.close
285
+ client.close
286
+ handler.main_loop
287
+ ensure
288
+ client.close rescue nil
289
+ writer.close rescue nil
290
+ handler.cleanup rescue nil
291
+ end
292
+ end
293
+ end
294
+
295
+ end # module Passenger