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,339 @@
1
+ Passenger architectural overview
2
+ ================================
3
+
4
+ This document describes Passenger's architure in a global way. The purpose of
5
+ this document is to lower the barrier to entry for new contributors, as well
6
+ as to explain (some of the) design choices that we have made.
7
+
8
+ Or it can be a fun read for people who just want to know how Passenger works.
9
+
10
+
11
+ About the involved technologies
12
+ -------------------------------
13
+
14
+ [[typical_web_applications]]
15
+ === Typical web applications ===
16
+
17
+ Before we describe Passenger, it is important to understand how typical web
18
+ applications work, from the point of view of someone who wants to connect the
19
+ application to a web server.
20
+
21
+ A typical, isolated, web application accepts an HTTP request from some I/O
22
+ channel, processes it internally, and outputs an HTTP response, which is sent
23
+ back to the client. This is done in a loop, until the application is commanded
24
+ to exit. This does not necessarily mean that the web application speaks HTTP
25
+ directly: it just means that the web application accepts some kind of
26
+ representation of an HTTP request.
27
+
28
+ image:images/typical_isolated_web_application.png[Architecture of a typical
29
+ web application in isolation]
30
+
31
+ Few web applications are accessible directly by HTTP clients. Common setups
32
+ are:
33
+
34
+ 1. The web application is contained in an application server. This application
35
+ server may or may not be able to contain multiple web applications. The
36
+ application server is then connected to the web server. The web server
37
+ dispatches requests to the application server, which in turn dispatches
38
+ requests to the correct web application, in a format that the web application
39
+ understands. Conversely, HTTP responses outputted by the web application are
40
+ sent to the application server, which in turn sends them to the web server,
41
+ and eventually to the HTTP client.
42
+ +
43
+ A typical example of such a setup is a J2EE application, contained in the
44
+ Tomcat web server, behind the Apache web server.
45
+
46
+ 2. The web application is contained in a web server. In this case, the web
47
+ server acts like an application server. This is the case for PHP applications,
48
+ on Apache servers with 'mod_php'. Note that this does not necessarily mean
49
+ that the web application is run inside the same process as the web server:
50
+ it just means that the web server manages applications.
51
+
52
+ 3. The web application *is* a web server, and can accept HTTP requests
53
+ directly. This is the case for the Trac bug tracking system, running in its
54
+ standalone server. In many setups, such web applications sit behind a different
55
+ web server, instead of accepting HTTP requests directly. The frontend web
56
+ server acts like a reverse HTTP proxy.
57
+
58
+ 4. The web application does not speak HTTP directly, but is connected directly
59
+ to the web server through some communication adapter. CGI, FastCGI and SCGI
60
+ are good examples of this.
61
+
62
+ These descriptions are true for virtually all web applications, whether they're
63
+ based on PHP, Django, J2EE, ASP.NET, Ruby on Rails, or whatever. Note that all
64
+ of these setups provide the same functionality, i.e. no setup can do something
65
+ that a different setup can't. The critical reader will notice that all of these
66
+ setups are identical to the one described in the first diagram, if the
67
+ combination of web servers, application servers, web applications etc. are
68
+ considered to be a single entity; a black box if you will.
69
+
70
+ It should also be noted that these setups do not enforce any particular
71
+ I/O processing implementation. The web servers, application servers, web
72
+ applications, etc. could process I/O serially (i.e. one request at a time),
73
+ could multiplex I/O with a single thread (e.g. by using `select(2)` or
74
+ `poll(2)`) or it could process I/O with multiple threads and/or multiple
75
+ processes.
76
+
77
+ Of course, there are many variations possible. For example, load balancers
78
+ could be used. But that is outside the scope of this document.
79
+
80
+
81
+ === Ruby on Rails ===
82
+
83
+ Every Ruby on Rails application has a 'dispatcher'. This dispatcher is
84
+ responsible for processing HTTP requests. It does not speak HTTP directly.
85
+ Instead, it accepts data structures that contain the information of an
86
+ HTTP request. Thus, the dispatcher is particularly interesting to
87
+ developers who wish to develop software which connects Ruby on Rails to an
88
+ HTTP processing layer (e.g. a web server).
89
+
90
+ The Ruby on Rails dispatcher can only process requests serially, i.e. one
91
+ at a time. It is not possible to process two requests at the same time
92
+ with threads, because parts of Ruby on Rails are not thread-safe. (In
93
+ practice, this isn't as big of a problem as some people imagine. This will
94
+ be elaborated further in <<concurrent_requests,Handling of concurrent
95
+ requests>>.)
96
+
97
+ A particularly interesting thing to note, is that a lot of the memory
98
+ occupied by Ruby on Rails applications is spent on storing the program code
99
+ (i.e. the link:http://en.wikipedia.org/wiki/Abstract_syntax_tree[abstract
100
+ syntax tree (AST)]) in memory. This is observed through the use of the
101
+ memory statistics function in link:http://www.rubyenterpriseedition.com/[Ruby
102
+ Enterprise Edition]. Also, a lot of the startup time of a Ruby on Rails
103
+ application is spent on bootstrapping the Rails framework.
104
+
105
+
106
+ === Apache ===
107
+
108
+ The Apache web server has a pluggable I/O multiprocessing (the ability to
109
+ handle more than 1 concurrent HTTP client at the same time) architecture. An
110
+ Apache module which implements a particular multiprocessing strategy, is called
111
+ a Multi-Processing Module (MPM). The
112
+ link:http://httpd.apache.org/docs/2.0/mod/prefork.html[prefork MPM] -- which
113
+ also happens to be the default -- appears to be the most popular one. This MPM
114
+ spawns multiple worker child processes. HTTP requests are first accepted by a
115
+ so-called control process, and then forwarded to one of the worker processes.
116
+ The next section contains a diagram which shows the prefork MPM's architecture.
117
+
118
+
119
+ Passenger architecture
120
+ ----------------------
121
+
122
+ === Overview ===
123
+
124
+ Passenger's architecture is a lot like setup #2 described in
125
+ <<typical_web_applications,Typical web applications>>. In other words,
126
+ Passenger extends Apache and allows it to act like an application server.
127
+ Passenger's architecture -- assuming Apache 2 with the prefork MPM is used --
128
+ is shown in the following diagram:
129
+
130
+ image:images/passenger_architecture.png[Passenger's architecture]
131
+
132
+ Passenger consists of an Apache module, 'mod_passenger'. This is written in
133
+ C++, and can be found in the directory 'ext/apache2'. The module is active in
134
+ the Apache control process and in all the Apache worker processes. When an
135
+ HTTP request comes in, 'mod_passenger' will check whether the request should
136
+ be handled by a Ruby on Rails application. If so, then 'mod_passenger' will
137
+ spawn the corresponding Rails application (if necessary) and forward the
138
+ request to that application.
139
+
140
+ It should be noted that the Ruby on Rails application does *not* run in the
141
+ same address space as Apache. This differentiates Passenger from other
142
+ application-server-inside-web-server software such as mod_php, mod_perl and
143
+ mod_ruby. If the Rails application crashes or leak memory, it will have no
144
+ effect on Apache. In fact, stability is one of our highest goals. Passenger
145
+ is carefully designed and implemented so that Apache shouldn't crash because
146
+ of Passenger.
147
+
148
+ === Spawning and caching of code and applications ===
149
+
150
+ A very naive implementation of Passenger would spawn a Ruby on Rails
151
+ application every time an HTTP request is received, just like CGI would.
152
+ However, spawning Ruby on Rails applications is expensive. It can take 1 or 2
153
+ seconds on a modern PC, and possibly much longer on a heavily loaded server.
154
+ This overhead is particularily unacceptable on shared hosts. A less naive
155
+ implementation would keep spawned Ruby on Rails application instances alive,
156
+ similar to how Lighttpd's FastCGI implementation works.
157
+ However, this still has several problems:
158
+
159
+ 1. The first request to a Rails website will be slow, and subsequent requests
160
+ will be fast. But the first request to a different Rails website - on the
161
+ same web server - will still be slow.
162
+ 2. As we've explained earlier in this article, a lot of memory in a Rails
163
+ application is spent on storing the AST of the Ruby on Rails framework and
164
+ the application. Especially on shared hosts and on memory-constrained
165
+ Virtual Private Servers (VPS), this can be a problem.
166
+
167
+ Both of these problems are very much solvable, and we've chosen to do just
168
+ that.
169
+
170
+ The first problem can be solved by preloading Rails applications, i.e. by
171
+ running the Rails application before a request is ever made to that website.
172
+ This is the approach taken by most Rails hosts, for example in the form of a
173
+ Mongrel cluster which is running all the time. However, this is unacceptable
174
+ for a shared host: such an application would just sit there and waste memory
175
+ even if it's not doing anything. Instead, we've chosen to take a different
176
+ approach, which solves both of the aforementioned problems.
177
+
178
+ We spawn Rails applications via a 'spawn server'. The spawn server caches Ruby
179
+ on Rails framework code and application code in memory. Spawning a Rails
180
+ application for the first time will still be slow, but subsequent spawn
181
+ attempts will be very fast. Furthermore, because the framework code is cached
182
+ independently from the application code, spawning a different Rails application
183
+ will also be very fast, as long as that application is using a Rails framework
184
+ version that has already been cached.
185
+
186
+ Another implication of the spawn server is that different Ruby on Rails will
187
+ share memory with each other, thus solving problem #2. This is described in
188
+ detail in <<spawn_server, the next section>>.
189
+
190
+ But despite the caching of framework code and application code, spawning is
191
+ still expensive compared to an HTTP request. We want to avoid spawning whenever
192
+ possible. This is why we've introduced the *application pool*. Spawned
193
+ application instances are kept alive, and their handles are stored into this
194
+ pool, allowing each application instance to be reused later. Thus, Passenger
195
+ has very good average case performance.
196
+
197
+ The application pool is shared between different worker processes. Because the
198
+ worker processes cannot share memory with each other, either shared memory must
199
+ be used to implement the application pool, or a client/server architecture must
200
+ be implemented. We've chosen the latter because it is easier
201
+ to implement. The Apache control process acts like a server for the application
202
+ pool. However, this does not mean that all HTTP request/response data go
203
+ through the control process. A worker process queries the pool for a connection
204
+ session with a Rails application. Once this session has been obtained, the
205
+ worker process will communicate directly with the Rails application.
206
+
207
+ The application pool is implemented inside 'mod_passenger'. One can find
208
+ detailed documentation about it in
209
+ link:cxxapi/index.html[+++the C++ API documentation+++],
210
+ in particular the documentation about the `ApplicationPool`,
211
+ `StandardApplicationPool` and `ApplicationPoolServer` classes.
212
+
213
+ NOTE: At the moment, Passenger does not support Apache with the worker MPM
214
+ (which uses threads instead of processes). But because the application pool is
215
+ implemented in a modular way, supporting the worker MPM shouldn't take more
216
+ than 10 lines of code.
217
+
218
+ The application pool is responsible for spawning applications, caching
219
+ spawned applications' handles, and cleaning up applications which have been
220
+ idle for an extended period of time.
221
+
222
+ [[spawn_server]]
223
+ === The spawn server ===
224
+
225
+ The spawn server is written in Ruby, and its code can be found in the directory
226
+ 'lib/passenger'. Its main executable is 'bin/passenger-spawn-server'.
227
+ link:rdoc/index.html[The spawn server's RDoc documentation] documents the
228
+ implementation in detail.
229
+
230
+ The spawn server consists of 3 logical layers:
231
+
232
+ 1. *The spawn manager.* This is the topmost layer, and acts like a fascade for
233
+ all the underlying layers. Clients who use the spawn server only communicate
234
+ with this layer.
235
+ 2. *The framework spawner server.* The spawn manager spawns a framework spawner
236
+ server for each unique Ruby on Rails framework version. Each framework
237
+ spawner server caches the code for exactly one Ruby on Rails framework
238
+ version. A spawn request for an application is forwarded to the framework
239
+ spawner server that contains the correct Ruby on Rails version for the
240
+ application.
241
+ 3. *The application spawner server.* This is to the framework spawner server
242
+ what the framework spawner server is to the spawn manager. The framework
243
+ spawner server spawns an application spawner server for each unique Ruby on
244
+ Rails application (here ``application'' does not mean a running process, but
245
+ a set of (source code) files). An application spawner server caches the
246
+ code for exactly one application.
247
+
248
+ image:images/spawn_server_architecture.png[The spawn server's architecture]
249
+
250
+ As you can see, we have two layers of code caching: when the spawn server
251
+ receives a request to spawn a new application instance, it will forward the
252
+ request to the correct framework spawner server (and will spawn that framework
253
+ spawner server if it doesn't already exist), which -- in turn -- will forward
254
+ it to the correct application spawner server (which will, again, be created if
255
+ it doesn't already exist).
256
+
257
+ Each layer is only responsible for the layer directly below. The spawn manager
258
+ only knows about framework spawner servers, and a framework spawner server only
259
+ knows about its application spawner servers. The application spawner server is,
260
+ however, not responsible for managing spawned application instances. If an
261
+ application instance is spawned by mod_passenger, its information will be sent
262
+ back to mod_passenger, which will be fully responsible for managing the
263
+ application instance's life time (through the application pool).
264
+
265
+ Also note that each layer is a seperate process. This is required because a
266
+ single Ruby process can only load a single Ruby on Rails framework and a
267
+ single application.
268
+
269
+ ==== Memory sharing ====
270
+
271
+ On most modern Unix operating systems, when a child process is created, it will
272
+ share most of its memory with the parent process. Processes are not supposed to
273
+ be able to access each others' memory, so the operating system makes a copy of
274
+ a piece of memory when it is written to by the parent process or the child
275
+ process. This is called copy-on-write (COW). Detailed background information
276
+ can be found on link:http://www.rubyenterpriseedition.com/[Ruby Enterprise
277
+ Edition's website].
278
+
279
+ The spawn server makes use of this useful fact. Each layer shares its Ruby AST
280
+ memory with all of its lower layers, as long as the AST nodes in question
281
+ haven't been written to. This means that all spawned Rails applications will
282
+ -- if possible -- share the Ruby on Rails framework's code, as well as its own
283
+ application code, with each other. This results in a dramatic reduction in
284
+ memory usage.
285
+
286
+ [NOTE]
287
+ ==================================================================
288
+ Sharing memory only works if link:http://www.rubyenterpriseedition.com/[Ruby
289
+ Enterprise Edition] is used. This is because the standard Ruby interpreter's
290
+ garbage collector isn't copy-on-write friendly. Please visit the Ruby
291
+ Enterprise Edition website for technical details.
292
+
293
+ Passenger works fine with standard Ruby. You still get to enjoy reduced Rails
294
+ startup times. You just won't be able to benefit from memory sharing.
295
+ ==================================================================
296
+
297
+ Note that link:http://rubini.us/[Rubinius]'s garbage collector is already
298
+ copy-on-write friendly.
299
+
300
+
301
+ [[concurrent_requests]]
302
+ === Handling of concurrent requests ===
303
+
304
+ As explained earlier, a single Rails application instance can only handle a
305
+ single request at the same time. This is obviously undesirable. But before we
306
+ dive into the solution, let us take a look how the ``competition'' solves this
307
+ problem. PHP has similar problems: a single PHP script can also process only
308
+ one HTTP request at a time.
309
+
310
+ - mod_php ``solves'' this problem by using Apache's MPM. In other words,
311
+ mod_php doesn't do anything by itself at all. A single Apache worker
312
+ process/thread can only handle 1 PHP request at a time, but Apache spawns
313
+ multiple worker processes/threads.
314
+ - PHP-FastCGI solves the problem by spawning multiple persistent PHP servers.
315
+ The number of PHP servers is independent from the number of Apache worker
316
+ processes/threads. This approach is a lot like existing Rails setups, in
317
+ which a frontend web server proxies requests to a persistent Mongrel cluster.
318
+
319
+ Passenger cannot use the mod_php way because it would force us to spawn a new
320
+ Rails application for each request, which is -- as explained earlier --
321
+ unacceptably slow. Instead, Passenger uses the PHP-FastCGI approach. We
322
+ maintain a pool of application instances, and whenever a request is received,
323
+ we forward the request to one of the application instances in the pool. The
324
+ size of the pool is configurable, which is useful for administrators of servers
325
+ that are either heavily loaded or have little memory.
326
+
327
+ The reader might also be interested in studying the application pool's
328
+ algorithm, which is non-trivial. The algorithm is documented in detail in
329
+ link:ApplicationPool%20algorithm.txt[ApplicationPool algorithm.txt].
330
+
331
+
332
+ == Appendix A: About this document ==
333
+
334
+ The text of this document is licensed under the
335
+ link:http://creativecommons.org/licenses/by-sa/3.0/[Creative Commons
336
+ Attribution-Share Alike 3.0 Unported License].
337
+
338
+ image:images/by_sa.png[link="link:http://creativecommons.org/licenses/by-sa/3.0/"]
339
+
@@ -0,0 +1,241 @@
1
+ # Doxyfile 1.5.3
2
+
3
+ #---------------------------------------------------------------------------
4
+ # Project related configuration options
5
+ #---------------------------------------------------------------------------
6
+ DOXYFILE_ENCODING = UTF-8
7
+ PROJECT_NAME = Passenger
8
+ PROJECT_NUMBER =
9
+ OUTPUT_DIRECTORY = .
10
+ CREATE_SUBDIRS = NO
11
+ OUTPUT_LANGUAGE = English
12
+ BRIEF_MEMBER_DESC = YES
13
+ REPEAT_BRIEF = YES
14
+ ABBREVIATE_BRIEF = "The $name class" \
15
+ "The $name widget" \
16
+ "The $name file" \
17
+ is \
18
+ provides \
19
+ specifies \
20
+ contains \
21
+ represents \
22
+ a \
23
+ an \
24
+ the
25
+ ALWAYS_DETAILED_SEC = NO
26
+ INLINE_INHERITED_MEMB = NO
27
+ FULL_PATH_NAMES = NO
28
+ STRIP_FROM_PATH =
29
+ STRIP_FROM_INC_PATH =
30
+ SHORT_NAMES = NO
31
+ JAVADOC_AUTOBRIEF = YES
32
+ QT_AUTOBRIEF = NO
33
+ MULTILINE_CPP_IS_BRIEF = NO
34
+ DETAILS_AT_TOP = YES
35
+ INHERIT_DOCS = YES
36
+ SEPARATE_MEMBER_PAGES = NO
37
+ TAB_SIZE = 8
38
+ ALIASES =
39
+ OPTIMIZE_OUTPUT_FOR_C = NO
40
+ OPTIMIZE_OUTPUT_JAVA = NO
41
+ BUILTIN_STL_SUPPORT = YES
42
+ CPP_CLI_SUPPORT = NO
43
+ DISTRIBUTE_GROUP_DOC = NO
44
+ SUBGROUPING = YES
45
+ #---------------------------------------------------------------------------
46
+ # Build related configuration options
47
+ #---------------------------------------------------------------------------
48
+ EXTRACT_ALL = NO
49
+ EXTRACT_PRIVATE = NO
50
+ EXTRACT_STATIC = NO
51
+ EXTRACT_LOCAL_CLASSES = YES
52
+ EXTRACT_LOCAL_METHODS = NO
53
+ EXTRACT_ANON_NSPACES = NO
54
+ HIDE_UNDOC_MEMBERS = YES
55
+ HIDE_UNDOC_CLASSES = YES
56
+ HIDE_FRIEND_COMPOUNDS = NO
57
+ HIDE_IN_BODY_DOCS = NO
58
+ INTERNAL_DOCS = NO
59
+ CASE_SENSE_NAMES = YES
60
+ HIDE_SCOPE_NAMES = NO
61
+ SHOW_INCLUDE_FILES = YES
62
+ INLINE_INFO = YES
63
+ SORT_MEMBER_DOCS = YES
64
+ SORT_BRIEF_DOCS = NO
65
+ SORT_BY_SCOPE_NAME = NO
66
+ GENERATE_TODOLIST = YES
67
+ GENERATE_TESTLIST = YES
68
+ GENERATE_BUGLIST = YES
69
+ GENERATE_DEPRECATEDLIST= YES
70
+ ENABLED_SECTIONS =
71
+ MAX_INITIALIZER_LINES = 30
72
+ SHOW_USED_FILES = YES
73
+ SHOW_DIRECTORIES = NO
74
+ FILE_VERSION_FILTER =
75
+ #---------------------------------------------------------------------------
76
+ # configuration options related to warning and progress messages
77
+ #---------------------------------------------------------------------------
78
+ QUIET = YES
79
+ WARNINGS = YES
80
+ WARN_IF_UNDOCUMENTED = NO
81
+ WARN_IF_DOC_ERROR = YES
82
+ WARN_NO_PARAMDOC = NO
83
+ WARN_FORMAT = "$file:$line: $text"
84
+ WARN_LOGFILE =
85
+ #---------------------------------------------------------------------------
86
+ # configuration options related to the input files
87
+ #---------------------------------------------------------------------------
88
+ INPUT = . ../ext/apache2
89
+ INPUT_ENCODING = UTF-8
90
+ FILE_PATTERNS = *.c *.cpp *.h
91
+ RECURSIVE = NO
92
+ EXCLUDE =
93
+ EXCLUDE_SYMLINKS = NO
94
+ EXCLUDE_PATTERNS =
95
+ EXCLUDE_SYMBOLS =
96
+ EXAMPLE_PATH =
97
+ EXAMPLE_PATTERNS = *
98
+ EXAMPLE_RECURSIVE = NO
99
+ IMAGE_PATH =
100
+ INPUT_FILTER =
101
+ FILTER_PATTERNS =
102
+ FILTER_SOURCE_FILES = NO
103
+ #---------------------------------------------------------------------------
104
+ # configuration options related to source browsing
105
+ #---------------------------------------------------------------------------
106
+ SOURCE_BROWSER = NO
107
+ INLINE_SOURCES = NO
108
+ STRIP_CODE_COMMENTS = NO
109
+ REFERENCED_BY_RELATION = NO
110
+ REFERENCES_RELATION = NO
111
+ REFERENCES_LINK_SOURCE = NO
112
+ USE_HTAGS = NO
113
+ VERBATIM_HEADERS = YES
114
+ #---------------------------------------------------------------------------
115
+ # configuration options related to the alphabetical class index
116
+ #---------------------------------------------------------------------------
117
+ ALPHABETICAL_INDEX = NO
118
+ COLS_IN_ALPHA_INDEX = 5
119
+ IGNORE_PREFIX =
120
+ #---------------------------------------------------------------------------
121
+ # configuration options related to the HTML output
122
+ #---------------------------------------------------------------------------
123
+ GENERATE_HTML = YES
124
+ HTML_OUTPUT = cxxapi
125
+ HTML_FILE_EXTENSION = .html
126
+ HTML_HEADER =
127
+ HTML_FOOTER =
128
+ HTML_STYLESHEET =
129
+ HTML_ALIGN_MEMBERS = YES
130
+ GENERATE_HTMLHELP = NO
131
+ HTML_DYNAMIC_SECTIONS = NO
132
+ CHM_FILE =
133
+ HHC_LOCATION =
134
+ GENERATE_CHI = NO
135
+ BINARY_TOC = NO
136
+ TOC_EXPAND = NO
137
+ DISABLE_INDEX = NO
138
+ ENUM_VALUES_PER_LINE = 4
139
+ GENERATE_TREEVIEW = YES
140
+ TREEVIEW_WIDTH = 250
141
+ #---------------------------------------------------------------------------
142
+ # configuration options related to the LaTeX output
143
+ #---------------------------------------------------------------------------
144
+ GENERATE_LATEX = NO
145
+ LATEX_OUTPUT = latex
146
+ LATEX_CMD_NAME = latex
147
+ MAKEINDEX_CMD_NAME = makeindex
148
+ COMPACT_LATEX = NO
149
+ PAPER_TYPE = a4wide
150
+ EXTRA_PACKAGES =
151
+ LATEX_HEADER =
152
+ PDF_HYPERLINKS = NO
153
+ USE_PDFLATEX = NO
154
+ LATEX_BATCHMODE = NO
155
+ LATEX_HIDE_INDICES = NO
156
+ #---------------------------------------------------------------------------
157
+ # configuration options related to the RTF output
158
+ #---------------------------------------------------------------------------
159
+ GENERATE_RTF = NO
160
+ RTF_OUTPUT = rtf
161
+ COMPACT_RTF = NO
162
+ RTF_HYPERLINKS = NO
163
+ RTF_STYLESHEET_FILE =
164
+ RTF_EXTENSIONS_FILE =
165
+ #---------------------------------------------------------------------------
166
+ # configuration options related to the man page output
167
+ #---------------------------------------------------------------------------
168
+ GENERATE_MAN = NO
169
+ MAN_OUTPUT = man
170
+ MAN_EXTENSION = .3
171
+ MAN_LINKS = NO
172
+ #---------------------------------------------------------------------------
173
+ # configuration options related to the XML output
174
+ #---------------------------------------------------------------------------
175
+ GENERATE_XML = NO
176
+ XML_OUTPUT = xml
177
+ XML_SCHEMA =
178
+ XML_DTD =
179
+ XML_PROGRAMLISTING = YES
180
+ #---------------------------------------------------------------------------
181
+ # configuration options for the AutoGen Definitions output
182
+ #---------------------------------------------------------------------------
183
+ GENERATE_AUTOGEN_DEF = NO
184
+ #---------------------------------------------------------------------------
185
+ # configuration options related to the Perl module output
186
+ #---------------------------------------------------------------------------
187
+ GENERATE_PERLMOD = NO
188
+ PERLMOD_LATEX = NO
189
+ PERLMOD_PRETTY = YES
190
+ PERLMOD_MAKEVAR_PREFIX =
191
+ #---------------------------------------------------------------------------
192
+ # Configuration options related to the preprocessor
193
+ #---------------------------------------------------------------------------
194
+ ENABLE_PREPROCESSING = YES
195
+ MACRO_EXPANSION = NO
196
+ EXPAND_ONLY_PREDEF = NO
197
+ SEARCH_INCLUDES = YES
198
+ INCLUDE_PATH =
199
+ INCLUDE_FILE_PATTERNS =
200
+ PREDEFINED =
201
+ EXPAND_AS_DEFINED =
202
+ SKIP_FUNCTION_MACROS = YES
203
+ #---------------------------------------------------------------------------
204
+ # Configuration::additions related to external references
205
+ #---------------------------------------------------------------------------
206
+ TAGFILES =
207
+ GENERATE_TAGFILE =
208
+ ALLEXTERNALS = NO
209
+ EXTERNAL_GROUPS = YES
210
+ PERL_PATH = /usr/bin/perl
211
+ #---------------------------------------------------------------------------
212
+ # Configuration options related to the dot tool
213
+ #---------------------------------------------------------------------------
214
+ CLASS_DIAGRAMS = YES
215
+ MSCGEN_PATH =
216
+ HIDE_UNDOC_RELATIONS = YES
217
+ HAVE_DOT = YES
218
+ CLASS_GRAPH = YES
219
+ COLLABORATION_GRAPH = NO
220
+ GROUP_GRAPHS = YES
221
+ UML_LOOK = NO
222
+ TEMPLATE_RELATIONS = NO
223
+ INCLUDE_GRAPH = YES
224
+ INCLUDED_BY_GRAPH = YES
225
+ CALL_GRAPH = NO
226
+ CALLER_GRAPH = NO
227
+ GRAPHICAL_HIERARCHY = YES
228
+ DIRECTORY_GRAPH = YES
229
+ DOT_IMAGE_FORMAT = png
230
+ DOT_PATH =
231
+ DOTFILE_DIRS =
232
+ DOT_GRAPH_MAX_NODES = 50
233
+ MAX_DOT_GRAPH_DEPTH = 1000
234
+ DOT_TRANSPARENT = NO
235
+ DOT_MULTI_TARGETS = NO
236
+ GENERATE_LEGEND = YES
237
+ DOT_CLEANUP = YES
238
+ #---------------------------------------------------------------------------
239
+ # Configuration::additions related to the search engine
240
+ #---------------------------------------------------------------------------
241
+ SEARCHENGINE = NO