passenger 1.0.5 → 2.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 (2123) hide show
  1. data/DEVELOPERS.TXT +33 -2
  2. data/INSTALL +4 -2
  3. data/LICENSE +11 -10
  4. data/README +23 -4
  5. data/Rakefile +179 -54
  6. data/benchmark/ApplicationPool.cpp +52 -0
  7. data/bin/passenger-config +18 -0
  8. data/bin/passenger-install-apache2-module +79 -14
  9. data/bin/passenger-make-enterprisey +14 -2
  10. data/bin/passenger-memory-stats +25 -2
  11. data/bin/passenger-spawn-server +20 -5
  12. data/bin/passenger-status +96 -0
  13. data/bin/passenger-stress-test +339 -0
  14. data/debian/compat +1 -0
  15. data/debian/control +21 -0
  16. data/debian/postinst +24 -0
  17. data/debian/prerm +2 -0
  18. data/doc/ApplicationPool algorithm.txt +66 -32
  19. data/doc/Architectural overview.html +1 -1
  20. data/doc/Security of user switching support.html +1 -1
  21. data/doc/Users guide.html +867 -243
  22. data/doc/Users guide.txt +830 -191
  23. data/doc/cxxapi/ApplicationPoolServer_8h-source.html +655 -524
  24. data/doc/cxxapi/ApplicationPool_8h-source.html +196 -173
  25. data/doc/cxxapi/Application_8h-source.html +430 -384
  26. data/doc/cxxapi/Configuration_8h-source.html +167 -132
  27. data/doc/cxxapi/DummySpawnManager_8h-source.html +110 -105
  28. data/doc/cxxapi/Exceptions_8h-source.html +229 -173
  29. data/doc/cxxapi/Hooks_8h-source.html +49 -44
  30. data/doc/cxxapi/Logging_8h-source.html +121 -88
  31. data/doc/cxxapi/MessageChannel_8h-source.html +501 -482
  32. data/doc/cxxapi/SpawnManager_8h-source.html +559 -518
  33. data/doc/cxxapi/StandardApplicationPool_8h-source.html +696 -537
  34. data/doc/cxxapi/System_8h-source.html +251 -0
  35. data/doc/cxxapi/Utils_8h-source.html +270 -163
  36. data/doc/cxxapi/annotated.html +40 -24
  37. data/doc/cxxapi/classClient-members.html +22 -17
  38. data/doc/cxxapi/classClient.html +22 -17
  39. data/doc/cxxapi/classDirectoryMapper-members.html +38 -0
  40. data/doc/cxxapi/classDirectoryMapper.html +203 -0
  41. data/doc/cxxapi/classHooks-members.html +33 -0
  42. data/doc/cxxapi/classHooks.html +43 -0
  43. data/doc/cxxapi/classPassenger_1_1Application-members.html +22 -17
  44. data/doc/cxxapi/classPassenger_1_1Application.html +38 -33
  45. data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +24 -18
  46. data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +94 -35
  47. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer-members.html +23 -18
  48. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +53 -44
  49. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.map +1 -1
  50. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.md5 +1 -1
  51. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
  52. data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +28 -21
  53. data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +91 -56
  54. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +33 -0
  55. data/doc/cxxapi/classPassenger_1_1BusyException.html +47 -0
  56. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +22 -17
  57. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +25 -22
  58. data/doc/cxxapi/classPassenger_1_1DummySpawnManager-members.html +22 -17
  59. data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +27 -22
  60. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +22 -17
  61. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +25 -20
  62. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +1 -1
  63. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +1 -1
  64. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
  65. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +38 -0
  66. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +61 -0
  67. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +1 -0
  68. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +1 -0
  69. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
  70. data/doc/cxxapi/classPassenger_1_1IOException-members.html +22 -17
  71. data/doc/cxxapi/classPassenger_1_1IOException.html +26 -21
  72. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +1 -1
  73. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +1 -1
  74. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  75. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +22 -17
  76. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +44 -21
  77. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +22 -17
  78. data/doc/cxxapi/classPassenger_1_1SpawnException.html +26 -23
  79. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +24 -19
  80. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +64 -43
  81. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +26 -19
  82. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +89 -37
  83. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.map +1 -1
  84. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.md5 +1 -1
  85. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
  86. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +22 -17
  87. data/doc/cxxapi/classPassenger_1_1SystemException.html +32 -22
  88. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +1 -0
  89. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +1 -0
  90. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
  91. data/doc/cxxapi/classPassenger_1_1TempFile-members.html +36 -0
  92. data/doc/cxxapi/classPassenger_1_1TempFile.html +128 -0
  93. data/doc/cxxapi/classPassenger_1_1Thread-members.html +35 -0
  94. data/doc/cxxapi/classPassenger_1_1Thread.html +100 -0
  95. data/doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption-members.html +33 -0
  96. data/doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption.html +46 -0
  97. data/doc/cxxapi/classboost_1_1this__thread_1_1enable__syscall__interruption-members.html +33 -0
  98. data/doc/cxxapi/classboost_1_1this__thread_1_1enable__syscall__interruption.html +44 -0
  99. data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption-members.html +33 -0
  100. data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption.html +44 -0
  101. data/doc/cxxapi/definitions_8h-source.html +14 -11
  102. data/doc/cxxapi/doxygen.css +152 -77
  103. data/doc/cxxapi/files.html +18 -12
  104. data/doc/cxxapi/functions.html +107 -55
  105. data/doc/cxxapi/functions_func.html +104 -55
  106. data/doc/cxxapi/functions_type.html +30 -24
  107. data/doc/cxxapi/functions_vars.html +48 -0
  108. data/doc/cxxapi/graph_legend.dot +19 -19
  109. data/doc/cxxapi/graph_legend.html +15 -10
  110. data/doc/cxxapi/graph_legend.png +0 -0
  111. data/doc/cxxapi/group__Configuration.html +18 -13
  112. data/doc/cxxapi/group__Configuration.png +0 -0
  113. data/doc/cxxapi/group__Core.html +23 -11
  114. data/doc/cxxapi/group__Core.png +0 -0
  115. data/doc/cxxapi/group__Exceptions.html +21 -10
  116. data/doc/cxxapi/group__Hooks.html +16 -11
  117. data/doc/cxxapi/group__Hooks.png +0 -0
  118. data/doc/cxxapi/group__Support.html +169 -21
  119. data/doc/cxxapi/hierarchy.html +38 -22
  120. data/doc/cxxapi/index.html +1 -1
  121. data/doc/cxxapi/inherit__graph__0.map +1 -1
  122. data/doc/cxxapi/inherit__graph__0.md5 +1 -1
  123. data/doc/cxxapi/inherit__graph__0.png +0 -0
  124. data/doc/cxxapi/inherit__graph__1.map +1 -1
  125. data/doc/cxxapi/inherit__graph__1.md5 +1 -1
  126. data/doc/cxxapi/inherit__graph__1.png +0 -0
  127. data/doc/cxxapi/inherit__graph__10.map +1 -1
  128. data/doc/cxxapi/inherit__graph__10.md5 +1 -1
  129. data/doc/cxxapi/inherit__graph__10.png +0 -0
  130. data/doc/cxxapi/inherit__graph__11.map +1 -0
  131. data/doc/cxxapi/inherit__graph__11.md5 +1 -0
  132. data/doc/cxxapi/inherit__graph__11.png +0 -0
  133. data/doc/cxxapi/inherit__graph__12.map +1 -0
  134. data/doc/cxxapi/inherit__graph__12.md5 +1 -0
  135. data/doc/cxxapi/inherit__graph__12.png +0 -0
  136. data/doc/cxxapi/inherit__graph__13.map +1 -0
  137. data/doc/cxxapi/inherit__graph__13.md5 +1 -0
  138. data/doc/cxxapi/inherit__graph__13.png +0 -0
  139. data/doc/cxxapi/inherit__graph__14.map +2 -0
  140. data/doc/cxxapi/inherit__graph__14.md5 +1 -0
  141. data/doc/cxxapi/inherit__graph__14.png +0 -0
  142. data/doc/cxxapi/inherit__graph__15.map +1 -0
  143. data/doc/cxxapi/inherit__graph__15.md5 +1 -0
  144. data/doc/cxxapi/inherit__graph__15.png +0 -0
  145. data/doc/cxxapi/inherit__graph__16.map +1 -0
  146. data/doc/cxxapi/inherit__graph__16.md5 +1 -0
  147. data/doc/cxxapi/inherit__graph__16.png +0 -0
  148. data/doc/cxxapi/inherit__graph__17.map +1 -0
  149. data/doc/cxxapi/inherit__graph__17.md5 +1 -0
  150. data/doc/cxxapi/inherit__graph__17.png +0 -0
  151. data/doc/cxxapi/inherit__graph__2.map +1 -1
  152. data/doc/cxxapi/inherit__graph__2.md5 +1 -1
  153. data/doc/cxxapi/inherit__graph__2.png +0 -0
  154. data/doc/cxxapi/inherit__graph__3.map +1 -1
  155. data/doc/cxxapi/inherit__graph__3.md5 +1 -1
  156. data/doc/cxxapi/inherit__graph__3.png +0 -0
  157. data/doc/cxxapi/inherit__graph__4.map +1 -2
  158. data/doc/cxxapi/inherit__graph__4.md5 +1 -1
  159. data/doc/cxxapi/inherit__graph__4.png +0 -0
  160. data/doc/cxxapi/inherit__graph__5.map +1 -1
  161. data/doc/cxxapi/inherit__graph__5.md5 +1 -1
  162. data/doc/cxxapi/inherit__graph__5.png +0 -0
  163. data/doc/cxxapi/inherit__graph__6.map +1 -1
  164. data/doc/cxxapi/inherit__graph__6.md5 +1 -1
  165. data/doc/cxxapi/inherit__graph__6.png +0 -0
  166. data/doc/cxxapi/inherit__graph__7.map +1 -5
  167. data/doc/cxxapi/inherit__graph__7.md5 +1 -1
  168. data/doc/cxxapi/inherit__graph__7.png +0 -0
  169. data/doc/cxxapi/inherit__graph__8.map +1 -1
  170. data/doc/cxxapi/inherit__graph__8.md5 +1 -1
  171. data/doc/cxxapi/inherit__graph__8.png +0 -0
  172. data/doc/cxxapi/inherit__graph__9.map +2 -1
  173. data/doc/cxxapi/inherit__graph__9.md5 +1 -1
  174. data/doc/cxxapi/inherit__graph__9.png +0 -0
  175. data/doc/cxxapi/inherits.html +80 -39
  176. data/doc/cxxapi/main.html +15 -10
  177. data/doc/cxxapi/modules.html +16 -11
  178. data/doc/cxxapi/namespacePassenger.html +208 -0
  179. data/doc/cxxapi/namespacePassenger_1_1InterruptableCalls.html +43 -0
  180. data/doc/cxxapi/namespacemembers.html +70 -0
  181. data/doc/cxxapi/namespacemembers_func.html +66 -0
  182. data/doc/cxxapi/namespacemembers_type.html +46 -0
  183. data/doc/cxxapi/namespaces.html +35 -0
  184. data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +22 -17
  185. data/doc/cxxapi/structPassenger_1_1AnythingToString.html +24 -19
  186. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +23 -18
  187. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +27 -22
  188. data/doc/cxxapi/tabs.css +1 -1
  189. data/doc/cxxapi/tree.html +41 -13
  190. data/doc/rdoc/classes/ConditionVariable.html +25 -23
  191. data/doc/rdoc/classes/Exception.html +11 -11
  192. data/doc/rdoc/classes/GC.html +4 -4
  193. data/doc/rdoc/classes/IO.html +8 -8
  194. data/doc/rdoc/classes/Passenger.html +27 -8
  195. data/doc/rdoc/classes/Passenger/AbstractRequestHandler.html +401 -0
  196. data/doc/rdoc/classes/Passenger/AbstractServer.html +248 -208
  197. data/doc/rdoc/classes/Passenger/AppInitError.html +37 -6
  198. data/doc/rdoc/classes/Passenger/Application.html +73 -74
  199. data/doc/rdoc/classes/Passenger/ConsoleTextTemplate.html +35 -35
  200. data/doc/rdoc/classes/Passenger/FrameworkInitError.html +17 -18
  201. data/doc/rdoc/classes/Passenger/HTMLTemplate.html +30 -30
  202. data/doc/rdoc/classes/Passenger/InitializationError.html +11 -11
  203. data/doc/rdoc/classes/Passenger/MessageChannel.html +138 -138
  204. data/doc/rdoc/classes/Passenger/SpawnManager.html +142 -145
  205. data/doc/rdoc/classes/Passenger/UnknownError.html +11 -11
  206. data/doc/rdoc/classes/Passenger/Utils.html +327 -99
  207. data/doc/rdoc/classes/Passenger/VersionNotFound.html +6 -6
  208. data/doc/rdoc/classes/PlatformInfo.html +10 -10
  209. data/doc/rdoc/created.rid +1 -1
  210. data/doc/rdoc/files/DEVELOPERS_TXT.html +55 -3
  211. data/doc/rdoc/files/README.html +35 -5
  212. data/doc/rdoc/files/ext/passenger/native_support_c.html +1 -1
  213. data/doc/rdoc/files/lib/passenger/abstract_request_handler_rb.html +125 -0
  214. data/doc/rdoc/files/lib/passenger/abstract_server_rb.html +7 -1
  215. data/doc/rdoc/files/lib/passenger/application_rb.html +6 -2
  216. data/doc/rdoc/files/lib/passenger/console_text_template_rb.html +5 -1
  217. data/doc/rdoc/files/lib/passenger/constants_rb.html +114 -0
  218. data/doc/rdoc/files/lib/passenger/dependencies_rb.html +7 -1
  219. data/doc/rdoc/files/lib/passenger/exceptions_rb.html +118 -0
  220. data/doc/rdoc/files/lib/passenger/html_template_rb.html +5 -1
  221. data/doc/rdoc/files/lib/passenger/message_channel_rb.html +5 -5
  222. data/doc/rdoc/files/lib/passenger/platform_info_rb.html +5 -1
  223. data/doc/rdoc/files/lib/passenger/simple_benchmarking_rb.html +5 -1
  224. data/doc/rdoc/files/lib/passenger/spawn_manager_rb.html +19 -4
  225. data/doc/rdoc/files/lib/passenger/utils_rb.html +10 -3
  226. data/doc/rdoc/fr_class_index.html +1 -6
  227. data/doc/rdoc/fr_file_index.html +3 -4
  228. data/doc/rdoc/fr_method_index.html +55 -60
  229. data/ext/apache2/Application.h +105 -62
  230. data/ext/apache2/ApplicationPool.h +29 -9
  231. data/ext/apache2/ApplicationPoolServer.h +654 -0
  232. data/ext/apache2/ApplicationPoolServerExecutable.cpp +474 -0
  233. data/ext/apache2/Configuration.cpp +278 -63
  234. data/ext/apache2/Configuration.h +45 -13
  235. data/ext/apache2/DummySpawnManager.h +2 -0
  236. data/ext/apache2/Exceptions.h +53 -0
  237. data/ext/apache2/Hooks.cpp +484 -156
  238. data/ext/apache2/Hooks.h +2 -0
  239. data/ext/apache2/Logging.cpp +13 -1
  240. data/ext/apache2/Logging.h +36 -6
  241. data/ext/apache2/MessageChannel.h +32 -16
  242. data/ext/apache2/SpawnManager.h +90 -52
  243. data/ext/apache2/StandardApplicationPool.h +251 -95
  244. data/ext/apache2/System.cpp +232 -0
  245. data/ext/apache2/System.h +228 -0
  246. data/ext/apache2/Utils.cpp +80 -20
  247. data/ext/apache2/Utils.h +107 -3
  248. data/ext/apache2/mod_passenger.c +2 -0
  249. data/ext/boost/VERSION.TXT +1 -1
  250. data/ext/boost/algorithm/string/case_conv.hpp +176 -0
  251. data/ext/boost/algorithm/string/compare.hpp +199 -0
  252. data/ext/boost/algorithm/string/concept.hpp +83 -0
  253. data/ext/boost/algorithm/string/config.hpp +28 -0
  254. data/ext/boost/algorithm/string/constants.hpp +36 -0
  255. data/ext/boost/algorithm/string/detail/case_conv.hpp +112 -0
  256. data/ext/boost/algorithm/string/detail/find_format.hpp +193 -0
  257. data/ext/boost/algorithm/string/detail/find_format_all.hpp +263 -0
  258. data/ext/boost/algorithm/string/detail/find_format_store.hpp +71 -0
  259. data/ext/boost/algorithm/string/detail/finder.hpp +646 -0
  260. data/ext/boost/algorithm/string/detail/formatter.hpp +94 -0
  261. data/ext/boost/algorithm/string/detail/replace_storage.hpp +159 -0
  262. data/ext/boost/algorithm/string/detail/sequence.hpp +200 -0
  263. data/ext/boost/algorithm/string/detail/util.hpp +106 -0
  264. data/ext/boost/algorithm/string/erase.hpp +844 -0
  265. data/ext/boost/algorithm/string/find_format.hpp +269 -0
  266. data/ext/boost/algorithm/string/finder.hpp +270 -0
  267. data/ext/boost/algorithm/string/formatter.hpp +103 -0
  268. data/ext/boost/algorithm/string/replace.hpp +928 -0
  269. data/ext/boost/algorithm/string/sequence_traits.hpp +193 -0
  270. data/ext/boost/algorithm/string/yes_no_type.hpp +33 -0
  271. data/ext/boost/assert.hpp +50 -37
  272. data/ext/boost/bind.hpp +38 -0
  273. data/ext/boost/bind/arg.hpp +28 -2
  274. data/ext/boost/bind/bind_template.hpp +119 -0
  275. data/ext/boost/bind/placeholders.hpp +1 -1
  276. data/ext/boost/call_traits.hpp +24 -0
  277. data/ext/boost/checked_delete.hpp +69 -69
  278. data/ext/boost/concept/assert.hpp +46 -0
  279. data/ext/boost/concept/detail/concept_def.hpp +51 -0
  280. data/ext/boost/concept/detail/concept_undef.hpp +5 -0
  281. data/ext/boost/concept/detail/general.hpp +66 -0
  282. data/ext/boost/concept/detail/has_constraints.hpp +48 -0
  283. data/ext/boost/concept/usage.hpp +43 -0
  284. data/ext/boost/concept_check.hpp +988 -0
  285. data/ext/boost/config.hpp +70 -70
  286. data/ext/boost/config/abi/borland_prefix.hpp +27 -27
  287. data/ext/boost/config/abi/borland_suffix.hpp +12 -12
  288. data/ext/boost/config/abi/msvc_prefix.hpp +8 -8
  289. data/ext/boost/config/abi/msvc_suffix.hpp +8 -8
  290. data/ext/boost/config/abi_prefix.hpp +25 -20
  291. data/ext/boost/config/abi_suffix.hpp +26 -23
  292. data/ext/boost/config/auto_link.hpp +368 -363
  293. data/ext/boost/config/compiler/borland.hpp +209 -190
  294. data/ext/boost/config/compiler/comeau.hpp +59 -59
  295. data/ext/boost/config/compiler/common_edg.hpp +62 -62
  296. data/ext/boost/config/compiler/compaq_cxx.hpp +19 -19
  297. data/ext/boost/config/compiler/digitalmars.hpp +67 -49
  298. data/ext/boost/config/compiler/gcc.hpp +149 -105
  299. data/ext/boost/config/compiler/gcc_xml.hpp +30 -30
  300. data/ext/boost/config/compiler/greenhills.hpp +28 -28
  301. data/ext/boost/config/compiler/hp_acc.hpp +95 -72
  302. data/ext/boost/config/compiler/intel.hpp +162 -158
  303. data/ext/boost/config/compiler/kai.hpp +35 -35
  304. data/ext/boost/config/compiler/metrowerks.hpp +111 -104
  305. data/ext/boost/config/compiler/mpw.hpp +51 -51
  306. data/ext/boost/config/compiler/pgi.hpp +25 -0
  307. data/ext/boost/config/compiler/sgi_mipspro.hpp +28 -24
  308. data/ext/boost/config/compiler/sunpro_cc.hpp +98 -92
  309. data/ext/boost/config/compiler/vacpp.hpp +60 -57
  310. data/ext/boost/config/compiler/visualc.hpp +191 -178
  311. data/ext/boost/config/no_tr1/complex.hpp +28 -28
  312. data/ext/boost/config/no_tr1/functional.hpp +28 -28
  313. data/ext/boost/config/no_tr1/memory.hpp +28 -28
  314. data/ext/boost/config/no_tr1/utility.hpp +28 -28
  315. data/ext/boost/config/platform/aix.hpp +33 -33
  316. data/ext/boost/config/platform/amigaos.hpp +15 -15
  317. data/ext/boost/config/platform/beos.hpp +26 -26
  318. data/ext/boost/config/platform/bsd.hpp +73 -73
  319. data/ext/boost/config/platform/cygwin.hpp +51 -48
  320. data/ext/boost/config/platform/hpux.hpp +84 -85
  321. data/ext/boost/config/platform/irix.hpp +31 -31
  322. data/ext/boost/config/platform/linux.hpp +98 -98
  323. data/ext/boost/config/platform/macos.hpp +78 -78
  324. data/ext/boost/config/platform/qnxnto.hpp +31 -31
  325. data/ext/boost/config/platform/solaris.hpp +21 -21
  326. data/ext/boost/config/platform/win32.hpp +58 -58
  327. data/ext/boost/config/posix_features.hpp +95 -95
  328. data/ext/boost/config/requires_threads.hpp +92 -92
  329. data/ext/boost/config/select_compiler_config.hpp +115 -87
  330. data/ext/boost/config/select_platform_config.hpp +90 -90
  331. data/ext/boost/config/select_stdlib_config.hpp +68 -68
  332. data/ext/boost/config/stdlib/dinkumware.hpp +106 -106
  333. data/ext/boost/config/stdlib/libcomo.hpp +46 -46
  334. data/ext/boost/config/stdlib/libstdcpp3.hpp +73 -73
  335. data/ext/boost/config/stdlib/modena.hpp +30 -30
  336. data/ext/boost/config/stdlib/msl.hpp +59 -59
  337. data/ext/boost/config/stdlib/roguewave.hpp +153 -127
  338. data/ext/boost/config/stdlib/sgi.hpp +111 -111
  339. data/ext/boost/config/stdlib/stlport.hpp +201 -201
  340. data/ext/boost/config/stdlib/vacpp.hpp +18 -18
  341. data/ext/boost/config/suffix.hpp +566 -569
  342. data/ext/boost/config/user.hpp +124 -124
  343. data/ext/boost/cstdint.hpp +446 -446
  344. data/ext/boost/date_time/adjust_functors.hpp +178 -0
  345. data/ext/boost/date_time/c_time.hpp +91 -0
  346. data/ext/boost/date_time/compiler_config.hpp +149 -0
  347. data/ext/boost/date_time/constrained_value.hpp +98 -0
  348. data/ext/boost/date_time/date.hpp +197 -0
  349. data/ext/boost/date_time/date_clock_device.hpp +77 -0
  350. data/ext/boost/date_time/date_defs.hpp +26 -0
  351. data/ext/boost/date_time/date_duration.hpp +147 -0
  352. data/ext/boost/date_time/date_duration_types.hpp +269 -0
  353. data/ext/boost/date_time/date_facet.hpp +775 -0
  354. data/ext/boost/date_time/date_format_simple.hpp +159 -0
  355. data/ext/boost/date_time/date_formatting.hpp +127 -0
  356. data/ext/boost/date_time/date_formatting_limited.hpp +121 -0
  357. data/ext/boost/date_time/date_formatting_locales.hpp +233 -0
  358. data/ext/boost/date_time/date_generator_formatter.hpp +263 -0
  359. data/ext/boost/date_time/date_generator_parser.hpp +329 -0
  360. data/ext/boost/date_time/date_generators.hpp +509 -0
  361. data/ext/boost/date_time/date_iterator.hpp +101 -0
  362. data/ext/boost/date_time/date_names_put.hpp +320 -0
  363. data/ext/boost/date_time/date_parsing.hpp +299 -0
  364. data/ext/boost/date_time/dst_rules.hpp +391 -0
  365. data/ext/boost/date_time/filetime_functions.hpp +78 -0
  366. data/ext/boost/date_time/format_date_parser.hpp +731 -0
  367. data/ext/boost/date_time/gregorian/conversion.hpp +73 -0
  368. data/ext/boost/date_time/gregorian/formatters.hpp +162 -0
  369. data/ext/boost/date_time/gregorian/formatters_limited.hpp +81 -0
  370. data/ext/boost/date_time/gregorian/greg_calendar.hpp +47 -0
  371. data/ext/boost/date_time/gregorian/greg_date.hpp +135 -0
  372. data/ext/boost/date_time/gregorian/greg_day.hpp +57 -0
  373. data/ext/boost/date_time/gregorian/greg_day_of_year.hpp +38 -0
  374. data/ext/boost/date_time/gregorian/greg_duration.hpp +38 -0
  375. data/ext/boost/date_time/gregorian/greg_duration_types.hpp +34 -0
  376. data/ext/boost/date_time/gregorian/greg_month.hpp +105 -0
  377. data/ext/boost/date_time/gregorian/greg_weekday.hpp +66 -0
  378. data/ext/boost/date_time/gregorian/greg_year.hpp +53 -0
  379. data/ext/boost/date_time/gregorian/greg_ymd.hpp +33 -0
  380. data/ext/boost/date_time/gregorian/gregorian.hpp +38 -0
  381. data/ext/boost/date_time/gregorian/gregorian_io.hpp +777 -0
  382. data/ext/boost/date_time/gregorian/gregorian_types.hpp +109 -0
  383. data/ext/boost/date_time/gregorian/parsers.hpp +91 -0
  384. data/ext/boost/date_time/gregorian_calendar.hpp +70 -0
  385. data/ext/boost/date_time/gregorian_calendar.ipp +219 -0
  386. data/ext/boost/date_time/int_adapter.hpp +507 -0
  387. data/ext/boost/date_time/iso_format.hpp +303 -0
  388. data/ext/boost/date_time/locale_config.hpp +31 -0
  389. data/ext/boost/date_time/microsec_time_clock.hpp +205 -0
  390. data/ext/boost/date_time/parse_format_base.hpp +29 -0
  391. data/ext/boost/date_time/period.hpp +377 -0
  392. data/ext/boost/date_time/period_formatter.hpp +196 -0
  393. data/ext/boost/date_time/period_parser.hpp +196 -0
  394. data/ext/boost/date_time/posix_time/conversion.hpp +93 -0
  395. data/ext/boost/date_time/posix_time/date_duration_operators.hpp +114 -0
  396. data/ext/boost/date_time/posix_time/posix_time.hpp +39 -0
  397. data/ext/boost/date_time/posix_time/posix_time_config.hpp +178 -0
  398. data/ext/boost/date_time/posix_time/posix_time_duration.hpp +82 -0
  399. data/ext/boost/date_time/posix_time/posix_time_io.hpp +246 -0
  400. data/ext/boost/date_time/posix_time/posix_time_system.hpp +68 -0
  401. data/ext/boost/date_time/posix_time/posix_time_types.hpp +55 -0
  402. data/ext/boost/date_time/posix_time/ptime.hpp +65 -0
  403. data/ext/boost/date_time/posix_time/time_formatters.hpp +289 -0
  404. data/ext/boost/date_time/posix_time/time_parsers.hpp +44 -0
  405. data/ext/boost/date_time/posix_time/time_period.hpp +29 -0
  406. data/ext/boost/date_time/special_defs.hpp +25 -0
  407. data/ext/boost/date_time/special_values_formatter.hpp +96 -0
  408. data/ext/boost/date_time/special_values_parser.hpp +159 -0
  409. data/ext/boost/date_time/string_convert.hpp +33 -0
  410. data/ext/boost/date_time/string_parse_tree.hpp +278 -0
  411. data/ext/boost/date_time/strings_from_facet.hpp +123 -0
  412. data/ext/boost/date_time/time.hpp +190 -0
  413. data/ext/boost/date_time/time_clock.hpp +83 -0
  414. data/ext/boost/date_time/time_defs.hpp +33 -0
  415. data/ext/boost/date_time/time_duration.hpp +281 -0
  416. data/ext/boost/date_time/time_facet.hpp +1263 -0
  417. data/ext/boost/date_time/time_formatting_streams.hpp +119 -0
  418. data/ext/boost/date_time/time_iterator.hpp +52 -0
  419. data/ext/boost/date_time/time_parsing.hpp +321 -0
  420. data/ext/boost/date_time/time_resolution_traits.hpp +140 -0
  421. data/ext/boost/date_time/time_system_counted.hpp +254 -0
  422. data/ext/boost/date_time/time_system_split.hpp +213 -0
  423. data/ext/boost/date_time/wrapping_int.hpp +163 -0
  424. data/ext/boost/date_time/year_month_day.hpp +45 -0
  425. data/ext/boost/detail/atomic_count.hpp +124 -0
  426. data/ext/boost/detail/atomic_count_gcc.hpp +68 -0
  427. data/ext/boost/detail/atomic_count_gcc_x86.hpp +84 -0
  428. data/ext/boost/detail/atomic_count_pthreads.hpp +96 -0
  429. data/ext/boost/detail/atomic_count_solaris.hpp +59 -0
  430. data/ext/boost/detail/atomic_count_sync.hpp +57 -0
  431. data/ext/boost/detail/atomic_count_win32.hpp +63 -0
  432. data/ext/boost/detail/bad_weak_ptr.hpp +59 -59
  433. data/ext/boost/detail/call_traits.hpp +164 -0
  434. data/ext/boost/detail/endian.hpp +73 -0
  435. data/ext/boost/detail/indirect_traits.hpp +487 -0
  436. data/ext/boost/detail/iterator.hpp +494 -0
  437. data/ext/boost/detail/lcast_precision.hpp +184 -0
  438. data/ext/boost/detail/limits.hpp +449 -0
  439. data/ext/boost/detail/reference_content.hpp +141 -141
  440. data/ext/boost/detail/shared_count.hpp +375 -376
  441. data/ext/boost/detail/sp_counted_base.hpp +81 -69
  442. data/ext/boost/detail/sp_counted_base_acc_ia64.hpp +150 -0
  443. data/ext/boost/detail/sp_counted_base_cw_ppc.hpp +170 -170
  444. data/ext/boost/detail/sp_counted_base_cw_x86.hpp +158 -158
  445. data/ext/boost/detail/sp_counted_base_gcc_ia64.hpp +157 -157
  446. data/ext/boost/detail/sp_counted_base_gcc_ppc.hpp +181 -181
  447. data/ext/boost/detail/sp_counted_base_gcc_sparc.hpp +166 -0
  448. data/ext/boost/detail/sp_counted_base_gcc_x86.hpp +173 -173
  449. data/ext/boost/detail/sp_counted_base_nt.hpp +107 -107
  450. data/ext/boost/detail/sp_counted_base_pt.hpp +135 -135
  451. data/ext/boost/detail/sp_counted_base_solaris.hpp +113 -0
  452. data/ext/boost/detail/sp_counted_base_sync.hpp +151 -0
  453. data/ext/boost/detail/sp_counted_base_w32.hpp +130 -130
  454. data/ext/boost/detail/sp_counted_impl.hpp +231 -232
  455. data/ext/boost/detail/sp_typeinfo.hpp +83 -0
  456. data/ext/boost/detail/workaround.hpp +202 -74
  457. data/ext/boost/enable_shared_from_this.hpp +73 -0
  458. data/ext/boost/function.hpp +4 -2
  459. data/ext/boost/function/detail/prologue.hpp +1 -0
  460. data/ext/boost/function/function_base.hpp +41 -15
  461. data/ext/boost/function/function_template.hpp +238 -106
  462. data/ext/boost/implicit_cast.hpp +29 -0
  463. data/ext/boost/integer_traits.hpp +236 -0
  464. data/ext/boost/io/ios_state.hpp +431 -0
  465. data/ext/boost/io_fwd.hpp +67 -0
  466. data/ext/boost/is_placeholder.hpp +31 -0
  467. data/ext/boost/iterator.hpp +59 -0
  468. data/ext/boost/iterator/detail/config_def.hpp +135 -0
  469. data/ext/boost/iterator/detail/config_undef.hpp +25 -0
  470. data/ext/boost/iterator/detail/enable_if.hpp +86 -0
  471. data/ext/boost/iterator/detail/facade_iterator_category.hpp +200 -0
  472. data/ext/boost/iterator/detail/minimum_category.hpp +116 -0
  473. data/ext/boost/iterator/interoperable.hpp +50 -0
  474. data/ext/boost/iterator/iterator_adaptor.hpp +366 -0
  475. data/ext/boost/iterator/iterator_categories.hpp +188 -0
  476. data/ext/boost/iterator/iterator_facade.hpp +879 -0
  477. data/ext/boost/iterator/iterator_traits.hpp +92 -0
  478. data/ext/boost/iterator/reverse_iterator.hpp +69 -0
  479. data/ext/boost/iterator/transform_iterator.hpp +188 -0
  480. data/ext/boost/lexical_cast.hpp +1205 -0
  481. data/ext/boost/limits.hpp +146 -144
  482. data/ext/boost/mpl/always.hpp +39 -39
  483. data/ext/boost/mpl/and.hpp +60 -56
  484. data/ext/boost/mpl/apply.hpp +225 -225
  485. data/ext/boost/mpl/apply_fwd.hpp +107 -107
  486. data/ext/boost/mpl/apply_wrap.hpp +200 -200
  487. data/ext/boost/mpl/arg.hpp +131 -131
  488. data/ext/boost/mpl/arg_fwd.hpp +28 -28
  489. data/ext/boost/mpl/assert.hpp +370 -361
  490. data/ext/boost/mpl/aux_/adl_barrier.hpp +48 -48
  491. data/ext/boost/mpl/aux_/arg_typedef.hpp +31 -31
  492. data/ext/boost/mpl/aux_/arity.hpp +39 -39
  493. data/ext/boost/mpl/aux_/arity_spec.hpp +67 -67
  494. data/ext/boost/mpl/aux_/common_name_wknd.hpp +34 -34
  495. data/ext/boost/mpl/aux_/config/adl.hpp +40 -40
  496. data/ext/boost/mpl/aux_/config/arrays.hpp +30 -30
  497. data/ext/boost/mpl/aux_/config/bind.hpp +33 -33
  498. data/ext/boost/mpl/aux_/config/compiler.hpp +64 -64
  499. data/ext/boost/mpl/aux_/config/ctps.hpp +30 -30
  500. data/ext/boost/mpl/aux_/config/dtp.hpp +46 -46
  501. data/ext/boost/mpl/aux_/config/eti.hpp +47 -47
  502. data/ext/boost/mpl/aux_/config/gcc.hpp +23 -23
  503. data/ext/boost/mpl/aux_/config/has_apply.hpp +32 -32
  504. data/ext/boost/mpl/aux_/config/has_xxx.hpp +33 -33
  505. data/ext/boost/mpl/aux_/config/integral.hpp +38 -38
  506. data/ext/boost/mpl/aux_/config/intel.hpp +21 -21
  507. data/ext/boost/mpl/aux_/config/lambda.hpp +32 -32
  508. data/ext/boost/mpl/aux_/config/msvc.hpp +21 -21
  509. data/ext/boost/mpl/aux_/config/msvc_typename.hpp +26 -26
  510. data/ext/boost/mpl/aux_/config/nttp.hpp +41 -41
  511. data/ext/boost/mpl/aux_/config/overload_resolution.hpp +29 -29
  512. data/ext/boost/mpl/aux_/config/pp_counter.hpp +26 -0
  513. data/ext/boost/mpl/aux_/config/preprocessor.hpp +39 -39
  514. data/ext/boost/mpl/aux_/config/static_constant.hpp +25 -25
  515. data/ext/boost/mpl/aux_/config/ttp.hpp +41 -39
  516. data/ext/boost/mpl/aux_/config/use_preprocessed.hpp +19 -19
  517. data/ext/boost/mpl/aux_/config/workaround.hpp +19 -19
  518. data/ext/boost/mpl/aux_/full_lambda.hpp +350 -350
  519. data/ext/boost/mpl/aux_/has_apply.hpp +32 -32
  520. data/ext/boost/mpl/aux_/has_type.hpp +23 -23
  521. data/ext/boost/mpl/aux_/include_preprocessed.hpp +42 -42
  522. data/ext/boost/mpl/aux_/integral_wrapper.hpp +93 -93
  523. data/ext/boost/mpl/aux_/lambda_arity_param.hpp +25 -25
  524. data/ext/boost/mpl/aux_/lambda_support.hpp +169 -169
  525. data/ext/boost/mpl/aux_/msvc_never_true.hpp +34 -34
  526. data/ext/boost/mpl/aux_/na.hpp +95 -95
  527. data/ext/boost/mpl/aux_/na_assert.hpp +34 -34
  528. data/ext/boost/mpl/aux_/na_fwd.hpp +31 -31
  529. data/ext/boost/mpl/aux_/na_spec.hpp +175 -175
  530. data/ext/boost/mpl/aux_/nested_type_wknd.hpp +48 -48
  531. data/ext/boost/mpl/aux_/nttp_decl.hpp +35 -35
  532. data/ext/boost/mpl/aux_/preprocessed/gcc/and.hpp +69 -69
  533. data/ext/boost/mpl/aux_/preprocessed/gcc/apply.hpp +169 -169
  534. data/ext/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp +52 -52
  535. data/ext/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +84 -84
  536. data/ext/boost/mpl/aux_/preprocessed/gcc/arg.hpp +123 -123
  537. data/ext/boost/mpl/aux_/preprocessed/gcc/bind.hpp +561 -561
  538. data/ext/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp +52 -52
  539. data/ext/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp +558 -558
  540. data/ext/boost/mpl/aux_/preprocessed/gcc/or.hpp +69 -69
  541. data/ext/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp +105 -105
  542. data/ext/boost/mpl/aux_/preprocessed/gcc/quote.hpp +123 -123
  543. data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +101 -101
  544. data/ext/boost/mpl/aux_/preprocessor/def_params_tail.hpp +105 -105
  545. data/ext/boost/mpl/aux_/preprocessor/enum.hpp +62 -62
  546. data/ext/boost/mpl/aux_/preprocessor/filter_params.hpp +28 -28
  547. data/ext/boost/mpl/aux_/preprocessor/params.hpp +65 -65
  548. data/ext/boost/mpl/aux_/preprocessor/sub.hpp +65 -65
  549. data/ext/boost/mpl/aux_/static_cast.hpp +27 -27
  550. data/ext/boost/mpl/aux_/template_arity.hpp +189 -189
  551. data/ext/boost/mpl/aux_/template_arity_fwd.hpp +23 -23
  552. data/ext/boost/mpl/aux_/type_wrapper.hpp +47 -47
  553. data/ext/boost/mpl/aux_/value_wknd.hpp +89 -89
  554. data/ext/boost/mpl/aux_/yes_no.hpp +58 -58
  555. data/ext/boost/mpl/bind.hpp +547 -547
  556. data/ext/boost/mpl/bind_fwd.hpp +99 -99
  557. data/ext/boost/mpl/bool.hpp +39 -39
  558. data/ext/boost/mpl/bool_fwd.hpp +33 -33
  559. data/ext/boost/mpl/eval_if.hpp +71 -71
  560. data/ext/boost/mpl/has_xxx.hpp +272 -233
  561. data/ext/boost/mpl/identity.hpp +45 -45
  562. data/ext/boost/mpl/if.hpp +135 -135
  563. data/ext/boost/mpl/int.hpp +22 -22
  564. data/ext/boost/mpl/int_fwd.hpp +27 -27
  565. data/ext/boost/mpl/integral_c.hpp +51 -51
  566. data/ext/boost/mpl/integral_c_fwd.hpp +32 -32
  567. data/ext/boost/mpl/integral_c_tag.hpp +26 -26
  568. data/ext/boost/mpl/lambda.hpp +29 -29
  569. data/ext/boost/mpl/lambda_fwd.hpp +57 -57
  570. data/ext/boost/mpl/limits/arity.hpp +21 -21
  571. data/ext/boost/mpl/logical.hpp +21 -21
  572. data/ext/boost/mpl/next.hpp +19 -19
  573. data/ext/boost/mpl/next_prior.hpp +49 -49
  574. data/ext/boost/mpl/not.hpp +51 -51
  575. data/ext/boost/mpl/or.hpp +61 -57
  576. data/ext/boost/mpl/placeholders.hpp +100 -100
  577. data/ext/boost/mpl/protect.hpp +55 -55
  578. data/ext/boost/mpl/quote.hpp +140 -140
  579. data/ext/boost/mpl/size_t.hpp +25 -25
  580. data/ext/boost/mpl/size_t_fwd.hpp +28 -28
  581. data/ext/boost/mpl/void.hpp +76 -76
  582. data/ext/boost/mpl/void_fwd.hpp +26 -26
  583. data/ext/boost/next_prior.hpp +51 -51
  584. data/ext/boost/noncopyable.hpp +36 -36
  585. data/ext/boost/none.hpp +28 -43
  586. data/ext/boost/none_t.hpp +24 -0
  587. data/ext/boost/operators.hpp +943 -0
  588. data/ext/boost/optional.hpp +18 -18
  589. data/ext/boost/optional/optional.hpp +922 -922
  590. data/ext/boost/optional/optional_fwd.hpp +22 -22
  591. data/ext/boost/preprocessor/arithmetic/add.hpp +51 -51
  592. data/ext/boost/preprocessor/arithmetic/dec.hpp +288 -288
  593. data/ext/boost/preprocessor/arithmetic/inc.hpp +288 -288
  594. data/ext/boost/preprocessor/arithmetic/sub.hpp +50 -50
  595. data/ext/boost/preprocessor/array/data.hpp +28 -28
  596. data/ext/boost/preprocessor/array/elem.hpp +29 -29
  597. data/ext/boost/preprocessor/array/size.hpp +28 -28
  598. data/ext/boost/preprocessor/cat.hpp +35 -35
  599. data/ext/boost/preprocessor/comma_if.hpp +17 -17
  600. data/ext/boost/preprocessor/config/config.hpp +70 -70
  601. data/ext/boost/preprocessor/control/detail/while.hpp +536 -536
  602. data/ext/boost/preprocessor/control/expr_iif.hpp +31 -31
  603. data/ext/boost/preprocessor/control/if.hpp +30 -30
  604. data/ext/boost/preprocessor/control/iif.hpp +34 -34
  605. data/ext/boost/preprocessor/control/while.hpp +312 -312
  606. data/ext/boost/preprocessor/debug/error.hpp +33 -33
  607. data/ext/boost/preprocessor/detail/auto_rec.hpp +293 -293
  608. data/ext/boost/preprocessor/detail/check.hpp +48 -48
  609. data/ext/boost/preprocessor/detail/is_binary.hpp +30 -30
  610. data/ext/boost/preprocessor/empty.hpp +17 -17
  611. data/ext/boost/preprocessor/enum.hpp +17 -17
  612. data/ext/boost/preprocessor/enum_params.hpp +17 -17
  613. data/ext/boost/preprocessor/facilities/empty.hpp +21 -21
  614. data/ext/boost/preprocessor/facilities/identity.hpp +23 -23
  615. data/ext/boost/preprocessor/identity.hpp +17 -17
  616. data/ext/boost/preprocessor/inc.hpp +17 -17
  617. data/ext/boost/preprocessor/iterate.hpp +17 -17
  618. data/ext/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -99
  619. data/ext/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -99
  620. data/ext/boost/preprocessor/iteration/detail/iter/forward1.hpp +1342 -1342
  621. data/ext/boost/preprocessor/iteration/iterate.hpp +82 -82
  622. data/ext/boost/preprocessor/list/adt.hpp +73 -73
  623. data/ext/boost/preprocessor/list/append.hpp +40 -40
  624. data/ext/boost/preprocessor/list/detail/fold_left.hpp +279 -279
  625. data/ext/boost/preprocessor/list/detail/fold_right.hpp +277 -277
  626. data/ext/boost/preprocessor/list/fold_left.hpp +303 -303
  627. data/ext/boost/preprocessor/list/fold_right.hpp +40 -40
  628. data/ext/boost/preprocessor/list/for_each_i.hpp +65 -65
  629. data/ext/boost/preprocessor/list/reverse.hpp +40 -40
  630. data/ext/boost/preprocessor/list/transform.hpp +49 -49
  631. data/ext/boost/preprocessor/logical/and.hpp +30 -30
  632. data/ext/boost/preprocessor/logical/bitand.hpp +38 -38
  633. data/ext/boost/preprocessor/logical/bool.hpp +288 -288
  634. data/ext/boost/preprocessor/logical/compl.hpp +36 -36
  635. data/ext/boost/preprocessor/punctuation/comma.hpp +21 -21
  636. data/ext/boost/preprocessor/punctuation/comma_if.hpp +31 -31
  637. data/ext/boost/preprocessor/repeat.hpp +17 -17
  638. data/ext/boost/preprocessor/repetition/detail/for.hpp +536 -536
  639. data/ext/boost/preprocessor/repetition/enum.hpp +66 -66
  640. data/ext/boost/preprocessor/repetition/enum_binary_params.hpp +54 -54
  641. data/ext/boost/preprocessor/repetition/enum_params.hpp +41 -41
  642. data/ext/boost/preprocessor/repetition/for.hpp +306 -306
  643. data/ext/boost/preprocessor/repetition/repeat.hpp +825 -825
  644. data/ext/boost/preprocessor/repetition/repeat_from_to.hpp +87 -87
  645. data/ext/boost/preprocessor/seq/elem.hpp +304 -304
  646. data/ext/boost/preprocessor/seq/enum.hpp +288 -288
  647. data/ext/boost/preprocessor/seq/for_each_i.hpp +61 -61
  648. data/ext/boost/preprocessor/seq/seq.hpp +44 -44
  649. data/ext/boost/preprocessor/seq/size.hpp +548 -548
  650. data/ext/boost/preprocessor/slot/detail/def.hpp +49 -49
  651. data/ext/boost/preprocessor/slot/detail/shared.hpp +247 -247
  652. data/ext/boost/preprocessor/slot/slot.hpp +32 -32
  653. data/ext/boost/preprocessor/stringize.hpp +33 -33
  654. data/ext/boost/preprocessor/tuple/eat.hpp +57 -57
  655. data/ext/boost/preprocessor/tuple/elem.hpp +385 -385
  656. data/ext/boost/preprocessor/tuple/rem.hpp +72 -72
  657. data/ext/boost/preprocessor/tuple/to_list.hpp +62 -62
  658. data/ext/boost/range/as_literal.hpp +131 -0
  659. data/ext/boost/range/begin.hpp +132 -0
  660. data/ext/boost/range/config.hpp +54 -0
  661. data/ext/boost/range/const_iterator.hpp +64 -0
  662. data/ext/boost/range/detail/common.hpp +117 -0
  663. data/ext/boost/range/detail/implementation_help.hpp +99 -0
  664. data/ext/boost/range/detail/sfinae.hpp +77 -0
  665. data/ext/boost/range/detail/str_types.hpp +38 -0
  666. data/ext/boost/range/difference_type.hpp +29 -0
  667. data/ext/boost/range/distance.hpp +34 -0
  668. data/ext/boost/range/empty.hpp +34 -0
  669. data/ext/boost/range/end.hpp +131 -0
  670. data/ext/boost/range/functions.hpp +27 -0
  671. data/ext/boost/range/iterator.hpp +72 -0
  672. data/ext/boost/range/iterator_range.hpp +643 -0
  673. data/ext/boost/range/mutable_iterator.hpp +64 -0
  674. data/ext/boost/range/rbegin.hpp +65 -0
  675. data/ext/boost/range/rend.hpp +65 -0
  676. data/ext/boost/range/reverse_iterator.hpp +40 -0
  677. data/ext/boost/range/size.hpp +36 -0
  678. data/ext/boost/range/size_type.hpp +78 -0
  679. data/ext/boost/range/value_type.hpp +34 -0
  680. data/ext/boost/shared_ptr.hpp +619 -558
  681. data/ext/boost/src/pthread/exceptions.cpp +146 -0
  682. data/ext/boost/src/pthread/once.cpp +51 -0
  683. data/ext/boost/src/pthread/thread.cpp +709 -0
  684. data/ext/boost/src/pthread/timeconv.inl +130 -0
  685. data/ext/boost/src/tss_null.cpp +2 -1
  686. data/ext/boost/src/win32/exceptions.cpp +124 -0
  687. data/ext/boost/src/win32/thread.cpp +629 -0
  688. data/ext/boost/src/win32/timeconv.inl +130 -0
  689. data/ext/boost/src/{tss_dll.cpp → win32/tss_dll.cpp} +0 -0
  690. data/ext/boost/src/win32/tss_pe.cpp +269 -0
  691. data/ext/boost/static_assert.hpp +122 -118
  692. data/ext/boost/thread.hpp +21 -19
  693. data/ext/boost/thread/condition.hpp +16 -201
  694. data/ext/boost/thread/condition_variable.hpp +21 -0
  695. data/ext/boost/thread/detail/config.hpp +94 -95
  696. data/ext/boost/thread/detail/move.hpp +33 -0
  697. data/ext/boost/thread/detail/platform.hpp +71 -0
  698. data/ext/boost/thread/exceptions.hpp +103 -92
  699. data/ext/boost/thread/locks.hpp +589 -0
  700. data/ext/boost/thread/mutex.hpp +21 -170
  701. data/ext/boost/thread/once.hpp +29 -37
  702. data/ext/boost/thread/pthread/condition_variable.hpp +184 -0
  703. data/ext/boost/thread/pthread/condition_variable_fwd.hpp +66 -0
  704. data/ext/boost/thread/pthread/mutex.hpp +211 -0
  705. data/ext/boost/thread/pthread/once.hpp +85 -0
  706. data/ext/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +50 -0
  707. data/ext/boost/thread/pthread/recursive_mutex.hpp +249 -0
  708. data/ext/boost/thread/pthread/thread.hpp +331 -0
  709. data/ext/boost/thread/pthread/thread_data.hpp +101 -0
  710. data/ext/boost/thread/pthread/timespec.hpp +28 -0
  711. data/ext/boost/thread/pthread/tss.hpp +103 -0
  712. data/ext/boost/thread/recursive_mutex.hpp +21 -184
  713. data/ext/boost/thread/thread.hpp +22 -90
  714. data/ext/boost/thread/thread_time.hpp +46 -0
  715. data/ext/boost/thread/tss.hpp +18 -128
  716. data/ext/boost/thread/xtime.hpp +88 -54
  717. data/ext/boost/throw_exception.hpp +46 -46
  718. data/ext/boost/token_functions.hpp +621 -0
  719. data/ext/boost/token_iterator.hpp +128 -0
  720. data/ext/boost/tokenizer.hpp +98 -0
  721. data/ext/boost/type.hpp +18 -18
  722. data/ext/boost/type_traits/add_const.hpp +47 -47
  723. data/ext/boost/type_traits/add_pointer.hpp +72 -72
  724. data/ext/boost/type_traits/add_reference.hpp +89 -89
  725. data/ext/boost/type_traits/alignment_of.hpp +100 -100
  726. data/ext/boost/type_traits/broken_compiler_spec.hpp +117 -117
  727. data/ext/boost/type_traits/composite_traits.hpp +29 -29
  728. data/ext/boost/type_traits/config.hpp +76 -76
  729. data/ext/boost/type_traits/conversion_traits.hpp +17 -17
  730. data/ext/boost/type_traits/detail/bool_trait_def.hpp +173 -173
  731. data/ext/boost/type_traits/detail/bool_trait_undef.hpp +27 -27
  732. data/ext/boost/type_traits/detail/cv_traits_impl.hpp +97 -97
  733. data/ext/boost/type_traits/detail/false_result.hpp +28 -28
  734. data/ext/boost/type_traits/detail/ice_and.hpp +35 -35
  735. data/ext/boost/type_traits/detail/ice_eq.hpp +36 -36
  736. data/ext/boost/type_traits/detail/ice_not.hpp +31 -31
  737. data/ext/boost/type_traits/detail/ice_or.hpp +34 -34
  738. data/ext/boost/type_traits/detail/is_function_ptr_helper.hpp +220 -220
  739. data/ext/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +817 -817
  740. data/ext/boost/type_traits/detail/size_t_trait_def.hpp +58 -58
  741. data/ext/boost/type_traits/detail/size_t_trait_undef.hpp +16 -16
  742. data/ext/boost/type_traits/detail/template_arity_spec.hpp +31 -31
  743. data/ext/boost/type_traits/detail/type_trait_def.hpp +61 -61
  744. data/ext/boost/type_traits/detail/type_trait_undef.hpp +19 -19
  745. data/ext/boost/type_traits/detail/yes_no_type.hpp +26 -26
  746. data/ext/boost/type_traits/function_traits.hpp +236 -236
  747. data/ext/boost/type_traits/has_nothrow_copy.hpp +39 -38
  748. data/ext/boost/type_traits/has_trivial_copy.hpp +49 -48
  749. data/ext/boost/type_traits/ice.hpp +20 -20
  750. data/ext/boost/type_traits/integral_constant.hpp +53 -53
  751. data/ext/boost/type_traits/intrinsics.hpp +153 -137
  752. data/ext/boost/type_traits/is_abstract.hpp +144 -137
  753. data/ext/boost/type_traits/is_arithmetic.hpp +43 -43
  754. data/ext/boost/type_traits/is_array.hpp +90 -90
  755. data/ext/boost/type_traits/is_class.hpp +128 -128
  756. data/ext/boost/type_traits/is_const.hpp +142 -142
  757. data/ext/boost/type_traits/is_convertible.hpp +418 -416
  758. data/ext/boost/type_traits/is_enum.hpp +180 -180
  759. data/ext/boost/type_traits/is_float.hpp +27 -27
  760. data/ext/boost/type_traits/is_function.hpp +95 -88
  761. data/ext/boost/type_traits/is_integral.hpp +73 -71
  762. data/ext/boost/type_traits/is_member_function_pointer.hpp +134 -126
  763. data/ext/boost/type_traits/is_member_pointer.hpp +114 -108
  764. data/ext/boost/type_traits/is_pod.hpp +135 -135
  765. data/ext/boost/type_traits/is_pointer.hpp +160 -149
  766. data/ext/boost/type_traits/is_reference.hpp +116 -116
  767. data/ext/boost/type_traits/is_same.hpp +103 -103
  768. data/ext/boost/type_traits/is_scalar.hpp +55 -55
  769. data/ext/boost/type_traits/is_union.hpp +49 -49
  770. data/ext/boost/type_traits/is_void.hpp +33 -33
  771. data/ext/boost/type_traits/is_volatile.hpp +131 -131
  772. data/ext/boost/type_traits/remove_const.hpp +78 -78
  773. data/ext/boost/type_traits/remove_cv.hpp +61 -61
  774. data/ext/boost/type_traits/remove_pointer.hpp +43 -43
  775. data/ext/boost/type_traits/remove_reference.hpp +50 -50
  776. data/ext/boost/type_traits/type_with_alignment.hpp +288 -288
  777. data/ext/boost/utility.hpp +19 -19
  778. data/ext/boost/utility/addressof.hpp +58 -58
  779. data/ext/boost/utility/base_from_member.hpp +87 -87
  780. data/ext/boost/utility/compare_pointees.hpp +68 -68
  781. data/ext/boost/utility/enable_if.hpp +119 -119
  782. data/ext/boost/weak_ptr.hpp +0 -6
  783. data/ext/passenger/extconf.rb +3 -0
  784. data/ext/passenger/native_support.c +2 -0
  785. data/lib/passenger/abstract_request_handler.rb +347 -0
  786. data/lib/passenger/abstract_server.rb +31 -5
  787. data/lib/passenger/application.rb +5 -16
  788. data/lib/passenger/console_text_template.rb +2 -0
  789. data/lib/passenger/constants.rb +26 -0
  790. data/lib/passenger/dependencies.rb +23 -3
  791. data/lib/passenger/exceptions.rb +91 -0
  792. data/lib/passenger/html_template.rb +2 -0
  793. data/lib/passenger/message_channel.rb +2 -1
  794. data/lib/passenger/platform_info.rb +2 -0
  795. data/lib/passenger/rack/application_spawner.rb +108 -0
  796. data/lib/passenger/rack/request_handler.rb +85 -0
  797. data/lib/passenger/railz/application_spawner.rb +317 -0
  798. data/lib/passenger/railz/cgi_fixed.rb +68 -0
  799. data/lib/passenger/railz/framework_spawner.rb +344 -0
  800. data/lib/passenger/railz/request_handler.rb +61 -0
  801. data/lib/passenger/simple_benchmarking.rb +2 -0
  802. data/lib/passenger/spawn_manager.rb +190 -83
  803. data/lib/passenger/templates/apache2_config_snippets.txt.erb +2 -2
  804. data/lib/passenger/templates/apache_must_be_compiled_with_compatible_mpm.txt.erb +9 -0
  805. data/lib/passenger/templates/app_exited_during_initialization.html.erb +3 -3
  806. data/lib/passenger/templates/app_init_error.html.erb +2 -2
  807. data/lib/passenger/templates/database_error.html.erb +19 -12
  808. data/lib/passenger/templates/deployment_example.txt.erb +3 -1
  809. data/lib/passenger/templates/error_layout.html.erb +1 -1
  810. data/lib/passenger/templates/load_error.html.erb +2 -2
  811. data/lib/passenger/templates/welcome.txt.erb +1 -1
  812. data/lib/passenger/utils.rb +138 -14
  813. data/lib/passenger/wsgi/application_spawner.rb +94 -0
  814. data/lib/passenger/wsgi/request_handler.py +138 -0
  815. data/man/passenger-config.1 +29 -0
  816. data/man/passenger-make-enterprisey.8 +23 -0
  817. data/man/passenger-memory-stats.8 +33 -0
  818. data/man/passenger-status.8 +43 -0
  819. data/man/passenger-stress-test.1 +43 -0
  820. data/misc/copy_boost_headers.rb +102 -0
  821. data/test/ApplicationPoolServerTest.cpp +5 -3
  822. data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +6 -2
  823. data/test/ApplicationPoolTest.cpp +31 -27
  824. data/test/UtilsTest.cpp +1 -0
  825. data/test/integration_tests.rb +327 -137
  826. data/test/ruby/abstract_server_spec.rb +17 -0
  827. data/test/ruby/application_spec.rb +43 -0
  828. data/test/ruby/message_channel_spec.rb +170 -0
  829. data/test/ruby/rack/application_spawner_spec.rb +43 -0
  830. data/test/ruby/rails/application_spawner_spec.rb +109 -0
  831. data/test/ruby/rails/framework_spawner_spec.rb +132 -0
  832. data/test/ruby/rails/minimal_spawner_spec.rb +37 -0
  833. data/test/ruby/rails/spawner_error_handling_spec.rb +52 -0
  834. data/test/ruby/rails/spawner_privilege_lowering_spec.rb +97 -0
  835. data/test/ruby/spawn_manager_spec.rb +178 -0
  836. data/test/ruby/spawn_server_spec.rb +26 -0
  837. data/test/stub/apache2/httpd.conf +75 -0
  838. data/test/stub/apache2/httpd.conf.erb +41 -40
  839. data/test/stub/message_channel_3.rb +2 -0
  840. data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_controller.rb +0 -0
  841. data/test/stub/minimal-railsapp/vendor/rails/activerecord/lib/active_record.rb +0 -0
  842. data/test/stub/rack/config.ru +4 -0
  843. data/test/stub/rack/public/rack.jpg +0 -0
  844. data/test/stub/{railsapp-without-version-spec → rails_apps/foobar}/app/controllers/application.rb +0 -0
  845. data/test/stub/rails_apps/foobar/app/controllers/bar_controller_1.rb +5 -0
  846. data/test/stub/rails_apps/foobar/app/controllers/bar_controller_2.rb +5 -0
  847. data/test/stub/rails_apps/foobar/app/controllers/foo_controller.rb +13 -0
  848. data/test/stub/{mycook → rails_apps/foobar}/app/helpers/application_helper.rb +0 -0
  849. data/test/stub/{mycook → rails_apps/foobar}/config/boot.rb +0 -0
  850. data/test/stub/{mycook → rails_apps/foobar}/config/database.yml +0 -0
  851. data/test/stub/rails_apps/foobar/config/environment.rb +59 -0
  852. data/test/stub/{mycook → rails_apps/foobar}/config/environments/development.rb +0 -0
  853. data/test/stub/{mycook → rails_apps/foobar}/config/environments/production.rb +0 -0
  854. data/test/stub/{mycook → rails_apps/foobar}/config/initializers/inflections.rb +0 -0
  855. data/test/stub/{mycook → rails_apps/foobar}/config/initializers/mime_types.rb +0 -0
  856. data/test/stub/{railsapp-without-version-spec → rails_apps/foobar}/config/routes.rb +0 -0
  857. data/test/stub/{mycook → rails_apps/mycook}/app/controllers/application.rb +0 -0
  858. data/test/stub/{mycook → rails_apps/mycook}/app/controllers/recipes_controller.rb +0 -0
  859. data/test/stub/{mycook → rails_apps/mycook}/app/controllers/uploads_controller.rb +0 -0
  860. data/test/stub/rails_apps/mycook/app/controllers/welcome_controller.rb +35 -0
  861. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/app/helpers/application_helper.rb +0 -0
  862. data/test/stub/{mycook → rails_apps/mycook}/app/views/layouts/default.rhtml +0 -0
  863. data/test/stub/{mycook → rails_apps/mycook}/app/views/recipes/create.rhtml +0 -0
  864. data/test/stub/{mycook → rails_apps/mycook}/app/views/recipes/index.rhtml +0 -0
  865. data/test/stub/{mycook → rails_apps/mycook}/app/views/recipes/new.rhtml +0 -0
  866. data/test/stub/{mycook → rails_apps/mycook}/app/views/uploads/index.rhtml +0 -0
  867. data/test/stub/{mycook → rails_apps/mycook}/app/views/uploads/new.html.erb +0 -0
  868. data/test/stub/{mycook → rails_apps/mycook}/app/views/welcome/cached.rhtml +0 -0
  869. data/test/stub/{mycook → rails_apps/mycook}/app/views/welcome/index.rhtml +0 -0
  870. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/boot.rb +0 -0
  871. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/database.yml +0 -0
  872. data/test/stub/{mycook → rails_apps/mycook}/config/environment.rb +0 -0
  873. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/environments/development.rb +0 -0
  874. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/environments/production.rb +0 -0
  875. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/initializers/inflections.rb +0 -0
  876. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/initializers/mime_types.rb +0 -0
  877. data/test/stub/{mycook → rails_apps/mycook}/config/routes.rb +0 -0
  878. data/test/stub/{broken-railsapp/public → rails_apps/mycook/log}/useless.txt +0 -0
  879. data/test/stub/{mycook → rails_apps/mycook}/public/404.html +0 -0
  880. data/test/stub/{mycook → rails_apps/mycook}/public/422.html +0 -0
  881. data/test/stub/{mycook → rails_apps/mycook}/public/500.html +0 -0
  882. data/test/stub/{mycook → rails_apps/mycook}/public/dispatch.cgi +0 -0
  883. data/test/stub/{mycook → rails_apps/mycook}/public/dispatch.fcgi +0 -0
  884. data/test/stub/{mycook → rails_apps/mycook}/public/dispatch.rb +0 -0
  885. data/test/stub/{mycook → rails_apps/mycook}/public/favicon.ico +0 -0
  886. data/test/stub/{mycook → rails_apps/mycook}/public/images/angrywizard.gif +0 -0
  887. data/test/stub/{mycook → rails_apps/mycook}/public/images/cookbook.gif +0 -0
  888. data/test/stub/{mycook → rails_apps/mycook}/public/images/header.png +0 -0
  889. data/test/stub/{mycook → rails_apps/mycook}/public/images/rails.png +0 -0
  890. data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/application.js +0 -0
  891. data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/controls.js +0 -0
  892. data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/dragdrop.js +0 -0
  893. data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/effects.js +0 -0
  894. data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/prototype.js +0 -0
  895. data/test/stub/{mycook → rails_apps/mycook}/public/robots.txt +0 -0
  896. data/test/stub/{mycook → rails_apps/mycook}/public/uploads.html +0 -0
  897. data/test/stub/{mycook → rails_apps/mycook}/public/welcome/cached.html +0 -0
  898. data/test/stub/{broken-railsapp4/public → rails_apps/mycook/tmp/cache}/useless.txt +0 -0
  899. data/test/stub/{broken-railsapp5/public → rails_apps/mycook/tmp/pids}/useless.txt +0 -0
  900. data/test/stub/{railsapp-without-version-spec/public → rails_apps/mycook/tmp/sessions}/useless.txt +0 -0
  901. data/test/stub/rails_apps/mycook/tmp/sockets/useless.txt +1 -0
  902. data/test/stub/spawn_server.rb +6 -2
  903. data/test/stub/upload_data.txt +494 -0
  904. data/test/stub/vendor_rails/minimal/README +1 -0
  905. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/actionmailer/lib/action_mailer.rb +0 -0
  906. data/test/stub/vendor_rails/minimal/actionpack/lib/action_controller.rb +19 -0
  907. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/actionpack/lib/action_pack.rb +0 -0
  908. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/actionpack/lib/action_view.rb +0 -0
  909. data/test/stub/vendor_rails/minimal/activerecord/lib/active_record.rb +7 -0
  910. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/activeresource/lib/active_resource.rb +0 -0
  911. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/activesupport/lib/active_support.rb +0 -0
  912. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/activesupport/lib/active_support/whiny_nil.rb +0 -0
  913. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/railties/lib/dispatcher.rb +0 -0
  914. data/test/stub/vendor_rails/minimal/railties/lib/initializer.rb +51 -0
  915. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/railties/lib/ruby_version_check.rb +0 -0
  916. data/test/stub/wsgi/passenger_wsgi.py +3 -0
  917. data/test/stub/wsgi/public/wsgi-snake.jpg +0 -0
  918. data/test/support/apache2_controller.rb +196 -0
  919. data/test/support/config.rb +4 -1
  920. data/test/support/test_helper.rb +94 -0
  921. metadata +445 -1329
  922. data/doc/cxxapi/ApplicationPoolClientServer_8h-source.html +0 -673
  923. data/doc/rdoc/classes/Passenger/ApplicationSpawner.html +0 -334
  924. data/doc/rdoc/classes/Passenger/ApplicationSpawner/Error.html +0 -98
  925. data/doc/rdoc/classes/Passenger/CGIFixed.html +0 -200
  926. data/doc/rdoc/classes/Passenger/FrameworkSpawner.html +0 -429
  927. data/doc/rdoc/classes/Passenger/FrameworkSpawner/Error.html +0 -98
  928. data/doc/rdoc/classes/Passenger/RequestHandler.html +0 -425
  929. data/doc/rdoc/files/lib/passenger/application_spawner_rb.html +0 -128
  930. data/doc/rdoc/files/lib/passenger/cgi_fixed_rb.html +0 -127
  931. data/doc/rdoc/files/lib/passenger/framework_spawner_rb.html +0 -135
  932. data/doc/rdoc/files/lib/passenger/request_handler_rb.html +0 -122
  933. data/ext/apache2/ApplicationPoolClientServer.h +0 -653
  934. data/ext/boost/bind/apply.hpp +0 -74
  935. data/ext/boost/bind/make_adaptable.hpp +0 -187
  936. data/ext/boost/bind/mem_fn_vw.hpp +0 -130
  937. data/ext/boost/bind/protect.hpp +0 -144
  938. data/ext/boost/format.hpp +0 -59
  939. data/ext/boost/format/alt_sstream.hpp +0 -176
  940. data/ext/boost/format/alt_sstream_impl.hpp +0 -296
  941. data/ext/boost/format/detail/compat_workarounds.hpp +0 -86
  942. data/ext/boost/format/detail/config_macros.hpp +0 -97
  943. data/ext/boost/format/detail/msvc_disambiguater.hpp +0 -56
  944. data/ext/boost/format/detail/unset_macros.hpp +0 -34
  945. data/ext/boost/format/detail/workarounds_gcc-2_95.hpp +0 -162
  946. data/ext/boost/format/detail/workarounds_stlport.hpp +0 -42
  947. data/ext/boost/format/exceptions.hpp +0 -103
  948. data/ext/boost/format/feed_args.hpp +0 -267
  949. data/ext/boost/format/format_class.hpp +0 -143
  950. data/ext/boost/format/format_fwd.hpp +0 -49
  951. data/ext/boost/format/format_implementation.hpp +0 -277
  952. data/ext/boost/format/free_funcs.hpp +0 -70
  953. data/ext/boost/format/group.hpp +0 -676
  954. data/ext/boost/format/internals.hpp +0 -199
  955. data/ext/boost/format/internals_fwd.hpp +0 -60
  956. data/ext/boost/format/parsing.hpp +0 -491
  957. data/ext/boost/function/detail/gen_maybe_include.pl +0 -37
  958. data/ext/boost/function/function0.hpp +0 -12
  959. data/ext/boost/function/function1.hpp +0 -12
  960. data/ext/boost/function/function10.hpp +0 -12
  961. data/ext/boost/function/function2.hpp +0 -12
  962. data/ext/boost/function/function3.hpp +0 -12
  963. data/ext/boost/function/function4.hpp +0 -12
  964. data/ext/boost/function/function5.hpp +0 -12
  965. data/ext/boost/function/function6.hpp +0 -12
  966. data/ext/boost/function/function7.hpp +0 -12
  967. data/ext/boost/function/function8.hpp +0 -12
  968. data/ext/boost/function/function9.hpp +0 -12
  969. data/ext/boost/function/gen_function_N.pl +0 -26
  970. data/ext/boost/mpl/O1_size.hpp +0 -40
  971. data/ext/boost/mpl/O1_size_fwd.hpp +0 -24
  972. data/ext/boost/mpl/accumulate.hpp +0 -39
  973. data/ext/boost/mpl/advance.hpp +0 -76
  974. data/ext/boost/mpl/advance_fwd.hpp +0 -28
  975. data/ext/boost/mpl/alias.hpp +0 -21
  976. data/ext/boost/mpl/arithmetic.hpp +0 -25
  977. data/ext/boost/mpl/as_sequence.hpp +0 -38
  978. data/ext/boost/mpl/at.hpp +0 -52
  979. data/ext/boost/mpl/at_fwd.hpp +0 -24
  980. data/ext/boost/mpl/aux_/O1_size_impl.hpp +0 -87
  981. data/ext/boost/mpl/aux_/advance_backward.hpp +0 -124
  982. data/ext/boost/mpl/aux_/advance_forward.hpp +0 -123
  983. data/ext/boost/mpl/aux_/apply_1st.hpp +0 -35
  984. data/ext/boost/mpl/aux_/arithmetic_op.hpp +0 -92
  985. data/ext/boost/mpl/aux_/at_impl.hpp +0 -45
  986. data/ext/boost/mpl/aux_/back_impl.hpp +0 -43
  987. data/ext/boost/mpl/aux_/basic_bind.hpp +0 -21
  988. data/ext/boost/mpl/aux_/begin_end_impl.hpp +0 -100
  989. data/ext/boost/mpl/aux_/clear_impl.hpp +0 -35
  990. data/ext/boost/mpl/aux_/comparison_op.hpp +0 -83
  991. data/ext/boost/mpl/aux_/config/dependent_nttp.hpp +0 -35
  992. data/ext/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp +0 -27
  993. data/ext/boost/mpl/aux_/config/forwarding.hpp +0 -27
  994. data/ext/boost/mpl/aux_/config/operators.hpp +0 -33
  995. data/ext/boost/mpl/aux_/config/typeof.hpp +0 -38
  996. data/ext/boost/mpl/aux_/contains_impl.hpp +0 -61
  997. data/ext/boost/mpl/aux_/count_args.hpp +0 -105
  998. data/ext/boost/mpl/aux_/count_impl.hpp +0 -44
  999. data/ext/boost/mpl/aux_/empty_impl.hpp +0 -43
  1000. data/ext/boost/mpl/aux_/erase_impl.hpp +0 -69
  1001. data/ext/boost/mpl/aux_/erase_key_impl.hpp +0 -32
  1002. data/ext/boost/mpl/aux_/filter_iter.hpp +0 -140
  1003. data/ext/boost/mpl/aux_/find_if_pred.hpp +0 -31
  1004. data/ext/boost/mpl/aux_/fold_impl.hpp +0 -43
  1005. data/ext/boost/mpl/aux_/fold_impl_body.hpp +0 -365
  1006. data/ext/boost/mpl/aux_/fold_op.hpp +0 -37
  1007. data/ext/boost/mpl/aux_/fold_pred.hpp +0 -37
  1008. data/ext/boost/mpl/aux_/front_impl.hpp +0 -41
  1009. data/ext/boost/mpl/aux_/has_begin.hpp +0 -23
  1010. data/ext/boost/mpl/aux_/has_key_impl.hpp +0 -34
  1011. data/ext/boost/mpl/aux_/has_rebind.hpp +0 -99
  1012. data/ext/boost/mpl/aux_/has_size.hpp +0 -23
  1013. data/ext/boost/mpl/aux_/has_tag.hpp +0 -23
  1014. data/ext/boost/mpl/aux_/insert_impl.hpp +0 -68
  1015. data/ext/boost/mpl/aux_/insert_range_impl.hpp +0 -77
  1016. data/ext/boost/mpl/aux_/inserter_algorithm.hpp +0 -159
  1017. data/ext/boost/mpl/aux_/is_msvc_eti_arg.hpp +0 -64
  1018. data/ext/boost/mpl/aux_/iter_apply.hpp +0 -47
  1019. data/ext/boost/mpl/aux_/iter_fold_if_impl.hpp +0 -210
  1020. data/ext/boost/mpl/aux_/iter_fold_impl.hpp +0 -42
  1021. data/ext/boost/mpl/aux_/iter_push_front.hpp +0 -36
  1022. data/ext/boost/mpl/aux_/joint_iter.hpp +0 -120
  1023. data/ext/boost/mpl/aux_/lambda_no_ctps.hpp +0 -193
  1024. data/ext/boost/mpl/aux_/lambda_spec.hpp +0 -49
  1025. data/ext/boost/mpl/aux_/largest_int.hpp +0 -63
  1026. data/ext/boost/mpl/aux_/logical_op.hpp +0 -165
  1027. data/ext/boost/mpl/aux_/msvc_dtw.hpp +0 -68
  1028. data/ext/boost/mpl/aux_/msvc_eti_base.hpp +0 -77
  1029. data/ext/boost/mpl/aux_/msvc_is_class.hpp +0 -58
  1030. data/ext/boost/mpl/aux_/msvc_type.hpp +0 -62
  1031. data/ext/boost/mpl/aux_/numeric_cast_utils.hpp +0 -77
  1032. data/ext/boost/mpl/aux_/numeric_op.hpp +0 -311
  1033. data/ext/boost/mpl/aux_/order_impl.hpp +0 -76
  1034. data/ext/boost/mpl/aux_/overload_names.hpp +0 -48
  1035. data/ext/boost/mpl/aux_/partition_op.hpp +0 -58
  1036. data/ext/boost/mpl/aux_/pop_back_impl.hpp +0 -34
  1037. data/ext/boost/mpl/aux_/pop_front_impl.hpp +0 -44
  1038. data/ext/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp +0 -97
  1039. data/ext/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp +0 -97
  1040. data/ext/boost/mpl/aux_/preprocessed/bcc/and.hpp +0 -69
  1041. data/ext/boost/mpl/aux_/preprocessed/bcc/apply.hpp +0 -169
  1042. data/ext/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp +0 -52
  1043. data/ext/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp +0 -456
  1044. data/ext/boost/mpl/aux_/preprocessed/bcc/arg.hpp +0 -117
  1045. data/ext/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp +0 -300
  1046. data/ext/boost/mpl/aux_/preprocessed/bcc/bind.hpp +0 -397
  1047. data/ext/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp +0 -46
  1048. data/ext/boost/mpl/aux_/preprocessed/bcc/bitand.hpp +0 -147
  1049. data/ext/boost/mpl/aux_/preprocessed/bcc/bitor.hpp +0 -147
  1050. data/ext/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp +0 -147
  1051. data/ext/boost/mpl/aux_/preprocessed/bcc/deque.hpp +0 -323
  1052. data/ext/boost/mpl/aux_/preprocessed/bcc/divides.hpp +0 -146
  1053. data/ext/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp +0 -94
  1054. data/ext/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp +0 -180
  1055. data/ext/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp +0 -558
  1056. data/ext/boost/mpl/aux_/preprocessed/bcc/greater.hpp +0 -94
  1057. data/ext/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp +0 -94
  1058. data/ext/boost/mpl/aux_/preprocessed/bcc/inherit.hpp +0 -139
  1059. data/ext/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp +0 -133
  1060. data/ext/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp +0 -180
  1061. data/ext/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp +0 -229
  1062. data/ext/boost/mpl/aux_/preprocessed/bcc/less.hpp +0 -94
  1063. data/ext/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp +0 -94
  1064. data/ext/boost/mpl/aux_/preprocessed/bcc/list.hpp +0 -323
  1065. data/ext/boost/mpl/aux_/preprocessed/bcc/list_c.hpp +0 -328
  1066. data/ext/boost/mpl/aux_/preprocessed/bcc/map.hpp +0 -323
  1067. data/ext/boost/mpl/aux_/preprocessed/bcc/minus.hpp +0 -146
  1068. data/ext/boost/mpl/aux_/preprocessed/bcc/modulus.hpp +0 -101
  1069. data/ext/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp +0 -94
  1070. data/ext/boost/mpl/aux_/preprocessed/bcc/or.hpp +0 -69
  1071. data/ext/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp +0 -105
  1072. data/ext/boost/mpl/aux_/preprocessed/bcc/plus.hpp +0 -146
  1073. data/ext/boost/mpl/aux_/preprocessed/bcc/quote.hpp +0 -11
  1074. data/ext/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp +0 -295
  1075. data/ext/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp +0 -295
  1076. data/ext/boost/mpl/aux_/preprocessed/bcc/set.hpp +0 -323
  1077. data/ext/boost/mpl/aux_/preprocessed/bcc/set_c.hpp +0 -328
  1078. data/ext/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp +0 -99
  1079. data/ext/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp +0 -99
  1080. data/ext/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp +0 -40
  1081. data/ext/boost/mpl/aux_/preprocessed/bcc/times.hpp +0 -146
  1082. data/ext/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp +0 -97
  1083. data/ext/boost/mpl/aux_/preprocessed/bcc/vector.hpp +0 -323
  1084. data/ext/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp +0 -309
  1085. data/ext/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp +0 -97
  1086. data/ext/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp +0 -97
  1087. data/ext/boost/mpl/aux_/preprocessed/bcc551/and.hpp +0 -69
  1088. data/ext/boost/mpl/aux_/preprocessed/bcc551/apply.hpp +0 -169
  1089. data/ext/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp +0 -52
  1090. data/ext/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp +0 -456
  1091. data/ext/boost/mpl/aux_/preprocessed/bcc551/arg.hpp +0 -123
  1092. data/ext/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp +0 -306
  1093. data/ext/boost/mpl/aux_/preprocessed/bcc551/bind.hpp +0 -403
  1094. data/ext/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp +0 -46
  1095. data/ext/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp +0 -147
  1096. data/ext/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp +0 -147
  1097. data/ext/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp +0 -147
  1098. data/ext/boost/mpl/aux_/preprocessed/bcc551/deque.hpp +0 -323
  1099. data/ext/boost/mpl/aux_/preprocessed/bcc551/divides.hpp +0 -146
  1100. data/ext/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp +0 -94
  1101. data/ext/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp +0 -180
  1102. data/ext/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp +0 -558
  1103. data/ext/boost/mpl/aux_/preprocessed/bcc551/greater.hpp +0 -94
  1104. data/ext/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp +0 -94
  1105. data/ext/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp +0 -141
  1106. data/ext/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp +0 -133
  1107. data/ext/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp +0 -180
  1108. data/ext/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp +0 -229
  1109. data/ext/boost/mpl/aux_/preprocessed/bcc551/less.hpp +0 -94
  1110. data/ext/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp +0 -94
  1111. data/ext/boost/mpl/aux_/preprocessed/bcc551/list.hpp +0 -323
  1112. data/ext/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp +0 -328
  1113. data/ext/boost/mpl/aux_/preprocessed/bcc551/map.hpp +0 -323
  1114. data/ext/boost/mpl/aux_/preprocessed/bcc551/minus.hpp +0 -146
  1115. data/ext/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp +0 -101
  1116. data/ext/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp +0 -94
  1117. data/ext/boost/mpl/aux_/preprocessed/bcc551/or.hpp +0 -69
  1118. data/ext/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp +0 -105
  1119. data/ext/boost/mpl/aux_/preprocessed/bcc551/plus.hpp +0 -146
  1120. data/ext/boost/mpl/aux_/preprocessed/bcc551/quote.hpp +0 -11
  1121. data/ext/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp +0 -295
  1122. data/ext/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp +0 -295
  1123. data/ext/boost/mpl/aux_/preprocessed/bcc551/set.hpp +0 -323
  1124. data/ext/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp +0 -328
  1125. data/ext/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp +0 -99
  1126. data/ext/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp +0 -99
  1127. data/ext/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp +0 -40
  1128. data/ext/boost/mpl/aux_/preprocessed/bcc551/times.hpp +0 -146
  1129. data/ext/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp +0 -97
  1130. data/ext/boost/mpl/aux_/preprocessed/bcc551/vector.hpp +0 -323
  1131. data/ext/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp +0 -309
  1132. data/ext/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp +0 -97
  1133. data/ext/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp +0 -97
  1134. data/ext/boost/mpl/aux_/preprocessed/dmc/and.hpp +0 -69
  1135. data/ext/boost/mpl/aux_/preprocessed/dmc/apply.hpp +0 -169
  1136. data/ext/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp +0 -52
  1137. data/ext/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp +0 -84
  1138. data/ext/boost/mpl/aux_/preprocessed/dmc/arg.hpp +0 -123
  1139. data/ext/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp +0 -406
  1140. data/ext/boost/mpl/aux_/preprocessed/dmc/bind.hpp +0 -515
  1141. data/ext/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp +0 -53
  1142. data/ext/boost/mpl/aux_/preprocessed/dmc/bitand.hpp +0 -147
  1143. data/ext/boost/mpl/aux_/preprocessed/dmc/bitor.hpp +0 -147
  1144. data/ext/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp +0 -147
  1145. data/ext/boost/mpl/aux_/preprocessed/dmc/deque.hpp +0 -323
  1146. data/ext/boost/mpl/aux_/preprocessed/dmc/divides.hpp +0 -146
  1147. data/ext/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp +0 -94
  1148. data/ext/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp +0 -180
  1149. data/ext/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp +0 -536
  1150. data/ext/boost/mpl/aux_/preprocessed/dmc/greater.hpp +0 -94
  1151. data/ext/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp +0 -94
  1152. data/ext/boost/mpl/aux_/preprocessed/dmc/inherit.hpp +0 -141
  1153. data/ext/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp +0 -133
  1154. data/ext/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp +0 -180
  1155. data/ext/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp +0 -229
  1156. data/ext/boost/mpl/aux_/preprocessed/dmc/less.hpp +0 -94
  1157. data/ext/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp +0 -94
  1158. data/ext/boost/mpl/aux_/preprocessed/dmc/list.hpp +0 -323
  1159. data/ext/boost/mpl/aux_/preprocessed/dmc/list_c.hpp +0 -328
  1160. data/ext/boost/mpl/aux_/preprocessed/dmc/map.hpp +0 -323
  1161. data/ext/boost/mpl/aux_/preprocessed/dmc/minus.hpp +0 -146
  1162. data/ext/boost/mpl/aux_/preprocessed/dmc/modulus.hpp +0 -101
  1163. data/ext/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp +0 -94
  1164. data/ext/boost/mpl/aux_/preprocessed/dmc/or.hpp +0 -69
  1165. data/ext/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp +0 -105
  1166. data/ext/boost/mpl/aux_/preprocessed/dmc/plus.hpp +0 -146
  1167. data/ext/boost/mpl/aux_/preprocessed/dmc/quote.hpp +0 -123
  1168. data/ext/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp +0 -231
  1169. data/ext/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp +0 -231
  1170. data/ext/boost/mpl/aux_/preprocessed/dmc/set.hpp +0 -323
  1171. data/ext/boost/mpl/aux_/preprocessed/dmc/set_c.hpp +0 -328
  1172. data/ext/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp +0 -99
  1173. data/ext/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp +0 -99
  1174. data/ext/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp +0 -11
  1175. data/ext/boost/mpl/aux_/preprocessed/dmc/times.hpp +0 -146
  1176. data/ext/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp +0 -94
  1177. data/ext/boost/mpl/aux_/preprocessed/dmc/vector.hpp +0 -323
  1178. data/ext/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp +0 -309
  1179. data/ext/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp +0 -97
  1180. data/ext/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp +0 -97
  1181. data/ext/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp +0 -440
  1182. data/ext/boost/mpl/aux_/preprocessed/gcc/bitand.hpp +0 -147
  1183. data/ext/boost/mpl/aux_/preprocessed/gcc/bitor.hpp +0 -147
  1184. data/ext/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp +0 -147
  1185. data/ext/boost/mpl/aux_/preprocessed/gcc/deque.hpp +0 -323
  1186. data/ext/boost/mpl/aux_/preprocessed/gcc/divides.hpp +0 -146
  1187. data/ext/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp +0 -94
  1188. data/ext/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp +0 -180
  1189. data/ext/boost/mpl/aux_/preprocessed/gcc/greater.hpp +0 -94
  1190. data/ext/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp +0 -94
  1191. data/ext/boost/mpl/aux_/preprocessed/gcc/inherit.hpp +0 -141
  1192. data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp +0 -133
  1193. data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp +0 -180
  1194. data/ext/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp +0 -229
  1195. data/ext/boost/mpl/aux_/preprocessed/gcc/less.hpp +0 -94
  1196. data/ext/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp +0 -94
  1197. data/ext/boost/mpl/aux_/preprocessed/gcc/list.hpp +0 -323
  1198. data/ext/boost/mpl/aux_/preprocessed/gcc/list_c.hpp +0 -328
  1199. data/ext/boost/mpl/aux_/preprocessed/gcc/map.hpp +0 -323
  1200. data/ext/boost/mpl/aux_/preprocessed/gcc/minus.hpp +0 -146
  1201. data/ext/boost/mpl/aux_/preprocessed/gcc/modulus.hpp +0 -101
  1202. data/ext/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp +0 -94
  1203. data/ext/boost/mpl/aux_/preprocessed/gcc/plus.hpp +0 -146
  1204. data/ext/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp +0 -231
  1205. data/ext/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp +0 -231
  1206. data/ext/boost/mpl/aux_/preprocessed/gcc/set.hpp +0 -323
  1207. data/ext/boost/mpl/aux_/preprocessed/gcc/set_c.hpp +0 -328
  1208. data/ext/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp +0 -99
  1209. data/ext/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp +0 -99
  1210. data/ext/boost/mpl/aux_/preprocessed/gcc/times.hpp +0 -146
  1211. data/ext/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp +0 -94
  1212. data/ext/boost/mpl/aux_/preprocessed/gcc/vector.hpp +0 -323
  1213. data/ext/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp +0 -309
  1214. data/ext/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp +0 -132
  1215. data/ext/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp +0 -132
  1216. data/ext/boost/mpl/aux_/preprocessed/msvc60/and.hpp +0 -73
  1217. data/ext/boost/mpl/aux_/preprocessed/msvc60/apply.hpp +0 -166
  1218. data/ext/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp +0 -46
  1219. data/ext/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp +0 -247
  1220. data/ext/boost/mpl/aux_/preprocessed/msvc60/arg.hpp +0 -123
  1221. data/ext/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp +0 -328
  1222. data/ext/boost/mpl/aux_/preprocessed/msvc60/bind.hpp +0 -432
  1223. data/ext/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp +0 -46
  1224. data/ext/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp +0 -149
  1225. data/ext/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp +0 -149
  1226. data/ext/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp +0 -149
  1227. data/ext/boost/mpl/aux_/preprocessed/msvc60/deque.hpp +0 -556
  1228. data/ext/boost/mpl/aux_/preprocessed/msvc60/divides.hpp +0 -148
  1229. data/ext/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp +0 -102
  1230. data/ext/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp +0 -293
  1231. data/ext/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp +0 -554
  1232. data/ext/boost/mpl/aux_/preprocessed/msvc60/greater.hpp +0 -102
  1233. data/ext/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp +0 -102
  1234. data/ext/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp +0 -166
  1235. data/ext/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp +0 -133
  1236. data/ext/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp +0 -293
  1237. data/ext/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp +0 -229
  1238. data/ext/boost/mpl/aux_/preprocessed/msvc60/less.hpp +0 -102
  1239. data/ext/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp +0 -102
  1240. data/ext/boost/mpl/aux_/preprocessed/msvc60/list.hpp +0 -556
  1241. data/ext/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp +0 -534
  1242. data/ext/boost/mpl/aux_/preprocessed/msvc60/map.hpp +0 -556
  1243. data/ext/boost/mpl/aux_/preprocessed/msvc60/minus.hpp +0 -148
  1244. data/ext/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp +0 -115
  1245. data/ext/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp +0 -102
  1246. data/ext/boost/mpl/aux_/preprocessed/msvc60/or.hpp +0 -73
  1247. data/ext/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp +0 -105
  1248. data/ext/boost/mpl/aux_/preprocessed/msvc60/plus.hpp +0 -148
  1249. data/ext/boost/mpl/aux_/preprocessed/msvc60/quote.hpp +0 -11
  1250. data/ext/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp +0 -343
  1251. data/ext/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp +0 -343
  1252. data/ext/boost/mpl/aux_/preprocessed/msvc60/set.hpp +0 -556
  1253. data/ext/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp +0 -534
  1254. data/ext/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp +0 -114
  1255. data/ext/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp +0 -114
  1256. data/ext/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp +0 -46
  1257. data/ext/boost/mpl/aux_/preprocessed/msvc60/times.hpp +0 -148
  1258. data/ext/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp +0 -109
  1259. data/ext/boost/mpl/aux_/preprocessed/msvc60/vector.hpp +0 -556
  1260. data/ext/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp +0 -534
  1261. data/ext/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp +0 -97
  1262. data/ext/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp +0 -97
  1263. data/ext/boost/mpl/aux_/preprocessed/msvc70/and.hpp +0 -71
  1264. data/ext/boost/mpl/aux_/preprocessed/msvc70/apply.hpp +0 -160
  1265. data/ext/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp +0 -46
  1266. data/ext/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp +0 -138
  1267. data/ext/boost/mpl/aux_/preprocessed/msvc70/arg.hpp +0 -123
  1268. data/ext/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp +0 -328
  1269. data/ext/boost/mpl/aux_/preprocessed/msvc70/bind.hpp +0 -432
  1270. data/ext/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp +0 -46
  1271. data/ext/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp +0 -151
  1272. data/ext/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp +0 -151
  1273. data/ext/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp +0 -151
  1274. data/ext/boost/mpl/aux_/preprocessed/msvc70/deque.hpp +0 -556
  1275. data/ext/boost/mpl/aux_/preprocessed/msvc70/divides.hpp +0 -150
  1276. data/ext/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp +0 -102
  1277. data/ext/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp +0 -245
  1278. data/ext/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp +0 -554
  1279. data/ext/boost/mpl/aux_/preprocessed/msvc70/greater.hpp +0 -102
  1280. data/ext/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp +0 -102
  1281. data/ext/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp +0 -166
  1282. data/ext/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp +0 -133
  1283. data/ext/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp +0 -245
  1284. data/ext/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp +0 -229
  1285. data/ext/boost/mpl/aux_/preprocessed/msvc70/less.hpp +0 -102
  1286. data/ext/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp +0 -102
  1287. data/ext/boost/mpl/aux_/preprocessed/msvc70/list.hpp +0 -556
  1288. data/ext/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp +0 -534
  1289. data/ext/boost/mpl/aux_/preprocessed/msvc70/map.hpp +0 -556
  1290. data/ext/boost/mpl/aux_/preprocessed/msvc70/minus.hpp +0 -150
  1291. data/ext/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp +0 -115
  1292. data/ext/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp +0 -102
  1293. data/ext/boost/mpl/aux_/preprocessed/msvc70/or.hpp +0 -71
  1294. data/ext/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp +0 -105
  1295. data/ext/boost/mpl/aux_/preprocessed/msvc70/plus.hpp +0 -150
  1296. data/ext/boost/mpl/aux_/preprocessed/msvc70/quote.hpp +0 -116
  1297. data/ext/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp +0 -295
  1298. data/ext/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp +0 -295
  1299. data/ext/boost/mpl/aux_/preprocessed/msvc70/set.hpp +0 -556
  1300. data/ext/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp +0 -534
  1301. data/ext/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp +0 -114
  1302. data/ext/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp +0 -114
  1303. data/ext/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp +0 -46
  1304. data/ext/boost/mpl/aux_/preprocessed/msvc70/times.hpp +0 -150
  1305. data/ext/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp +0 -109
  1306. data/ext/boost/mpl/aux_/preprocessed/msvc70/vector.hpp +0 -556
  1307. data/ext/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp +0 -534
  1308. data/ext/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp +0 -97
  1309. data/ext/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp +0 -97
  1310. data/ext/boost/mpl/aux_/preprocessed/mwcw/and.hpp +0 -69
  1311. data/ext/boost/mpl/aux_/preprocessed/mwcw/apply.hpp +0 -169
  1312. data/ext/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp +0 -52
  1313. data/ext/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp +0 -456
  1314. data/ext/boost/mpl/aux_/preprocessed/mwcw/arg.hpp +0 -123
  1315. data/ext/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp +0 -440
  1316. data/ext/boost/mpl/aux_/preprocessed/mwcw/bind.hpp +0 -561
  1317. data/ext/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp +0 -52
  1318. data/ext/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp +0 -147
  1319. data/ext/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp +0 -147
  1320. data/ext/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp +0 -147
  1321. data/ext/boost/mpl/aux_/preprocessed/mwcw/deque.hpp +0 -323
  1322. data/ext/boost/mpl/aux_/preprocessed/mwcw/divides.hpp +0 -146
  1323. data/ext/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp +0 -94
  1324. data/ext/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp +0 -180
  1325. data/ext/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp +0 -554
  1326. data/ext/boost/mpl/aux_/preprocessed/mwcw/greater.hpp +0 -94
  1327. data/ext/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp +0 -94
  1328. data/ext/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp +0 -141
  1329. data/ext/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp +0 -133
  1330. data/ext/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp +0 -180
  1331. data/ext/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp +0 -229
  1332. data/ext/boost/mpl/aux_/preprocessed/mwcw/less.hpp +0 -94
  1333. data/ext/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp +0 -94
  1334. data/ext/boost/mpl/aux_/preprocessed/mwcw/list.hpp +0 -323
  1335. data/ext/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp +0 -328
  1336. data/ext/boost/mpl/aux_/preprocessed/mwcw/map.hpp +0 -323
  1337. data/ext/boost/mpl/aux_/preprocessed/mwcw/minus.hpp +0 -146
  1338. data/ext/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp +0 -101
  1339. data/ext/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp +0 -94
  1340. data/ext/boost/mpl/aux_/preprocessed/mwcw/or.hpp +0 -69
  1341. data/ext/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp +0 -105
  1342. data/ext/boost/mpl/aux_/preprocessed/mwcw/plus.hpp +0 -146
  1343. data/ext/boost/mpl/aux_/preprocessed/mwcw/quote.hpp +0 -123
  1344. data/ext/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp +0 -231
  1345. data/ext/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp +0 -231
  1346. data/ext/boost/mpl/aux_/preprocessed/mwcw/set.hpp +0 -323
  1347. data/ext/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp +0 -328
  1348. data/ext/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp +0 -99
  1349. data/ext/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp +0 -99
  1350. data/ext/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp +0 -11
  1351. data/ext/boost/mpl/aux_/preprocessed/mwcw/times.hpp +0 -146
  1352. data/ext/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp +0 -94
  1353. data/ext/boost/mpl/aux_/preprocessed/mwcw/vector.hpp +0 -323
  1354. data/ext/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp +0 -309
  1355. data/ext/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp +0 -97
  1356. data/ext/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp +0 -97
  1357. data/ext/boost/mpl/aux_/preprocessed/no_ctps/and.hpp +0 -73
  1358. data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp +0 -268
  1359. data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp +0 -50
  1360. data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp +0 -78
  1361. data/ext/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp +0 -123
  1362. data/ext/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp +0 -486
  1363. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp +0 -590
  1364. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp +0 -52
  1365. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp +0 -134
  1366. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp +0 -134
  1367. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp +0 -134
  1368. data/ext/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp +0 -556
  1369. data/ext/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp +0 -133
  1370. data/ext/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp +0 -94
  1371. data/ext/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp +0 -245
  1372. data/ext/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp +0 -554
  1373. data/ext/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp +0 -94
  1374. data/ext/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp +0 -94
  1375. data/ext/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp +0 -166
  1376. data/ext/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp +0 -133
  1377. data/ext/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp +0 -245
  1378. data/ext/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp +0 -229
  1379. data/ext/boost/mpl/aux_/preprocessed/no_ctps/less.hpp +0 -94
  1380. data/ext/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp +0 -94
  1381. data/ext/boost/mpl/aux_/preprocessed/no_ctps/list.hpp +0 -556
  1382. data/ext/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp +0 -534
  1383. data/ext/boost/mpl/aux_/preprocessed/no_ctps/map.hpp +0 -556
  1384. data/ext/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp +0 -133
  1385. data/ext/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp +0 -101
  1386. data/ext/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp +0 -94
  1387. data/ext/boost/mpl/aux_/preprocessed/no_ctps/or.hpp +0 -73
  1388. data/ext/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp +0 -105
  1389. data/ext/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp +0 -133
  1390. data/ext/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp +0 -116
  1391. data/ext/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp +0 -295
  1392. data/ext/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp +0 -295
  1393. data/ext/boost/mpl/aux_/preprocessed/no_ctps/set.hpp +0 -556
  1394. data/ext/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp +0 -534
  1395. data/ext/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp +0 -99
  1396. data/ext/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp +0 -99
  1397. data/ext/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp +0 -40
  1398. data/ext/boost/mpl/aux_/preprocessed/no_ctps/times.hpp +0 -133
  1399. data/ext/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp +0 -109
  1400. data/ext/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp +0 -556
  1401. data/ext/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp +0 -534
  1402. data/ext/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp +0 -97
  1403. data/ext/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp +0 -97
  1404. data/ext/boost/mpl/aux_/preprocessed/no_ttp/and.hpp +0 -69
  1405. data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp +0 -169
  1406. data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp +0 -52
  1407. data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp +0 -84
  1408. data/ext/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp +0 -123
  1409. data/ext/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp +0 -369
  1410. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp +0 -466
  1411. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp +0 -52
  1412. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp +0 -157
  1413. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp +0 -157
  1414. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp +0 -157
  1415. data/ext/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp +0 -323
  1416. data/ext/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp +0 -156
  1417. data/ext/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp +0 -98
  1418. data/ext/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp +0 -180
  1419. data/ext/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp +0 -554
  1420. data/ext/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp +0 -98
  1421. data/ext/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp +0 -98
  1422. data/ext/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp +0 -141
  1423. data/ext/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp +0 -133
  1424. data/ext/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp +0 -180
  1425. data/ext/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp +0 -229
  1426. data/ext/boost/mpl/aux_/preprocessed/no_ttp/less.hpp +0 -98
  1427. data/ext/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp +0 -98
  1428. data/ext/boost/mpl/aux_/preprocessed/no_ttp/list.hpp +0 -323
  1429. data/ext/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp +0 -328
  1430. data/ext/boost/mpl/aux_/preprocessed/no_ttp/map.hpp +0 -323
  1431. data/ext/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp +0 -156
  1432. data/ext/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp +0 -111
  1433. data/ext/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp +0 -98
  1434. data/ext/boost/mpl/aux_/preprocessed/no_ttp/or.hpp +0 -69
  1435. data/ext/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp +0 -105
  1436. data/ext/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp +0 -156
  1437. data/ext/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp +0 -11
  1438. data/ext/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp +0 -231
  1439. data/ext/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp +0 -231
  1440. data/ext/boost/mpl/aux_/preprocessed/no_ttp/set.hpp +0 -323
  1441. data/ext/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp +0 -328
  1442. data/ext/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp +0 -110
  1443. data/ext/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp +0 -110
  1444. data/ext/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp +0 -40
  1445. data/ext/boost/mpl/aux_/preprocessed/no_ttp/times.hpp +0 -156
  1446. data/ext/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp +0 -94
  1447. data/ext/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp +0 -323
  1448. data/ext/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp +0 -309
  1449. data/ext/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp +0 -97
  1450. data/ext/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp +0 -97
  1451. data/ext/boost/mpl/aux_/preprocessed/plain/and.hpp +0 -64
  1452. data/ext/boost/mpl/aux_/preprocessed/plain/apply.hpp +0 -139
  1453. data/ext/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp +0 -52
  1454. data/ext/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp +0 -84
  1455. data/ext/boost/mpl/aux_/preprocessed/plain/arg.hpp +0 -123
  1456. data/ext/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp +0 -440
  1457. data/ext/boost/mpl/aux_/preprocessed/plain/bind.hpp +0 -561
  1458. data/ext/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp +0 -52
  1459. data/ext/boost/mpl/aux_/preprocessed/plain/bitand.hpp +0 -142
  1460. data/ext/boost/mpl/aux_/preprocessed/plain/bitor.hpp +0 -142
  1461. data/ext/boost/mpl/aux_/preprocessed/plain/bitxor.hpp +0 -142
  1462. data/ext/boost/mpl/aux_/preprocessed/plain/deque.hpp +0 -323
  1463. data/ext/boost/mpl/aux_/preprocessed/plain/divides.hpp +0 -141
  1464. data/ext/boost/mpl/aux_/preprocessed/plain/equal_to.hpp +0 -92
  1465. data/ext/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp +0 -180
  1466. data/ext/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp +0 -554
  1467. data/ext/boost/mpl/aux_/preprocessed/plain/greater.hpp +0 -92
  1468. data/ext/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp +0 -92
  1469. data/ext/boost/mpl/aux_/preprocessed/plain/inherit.hpp +0 -125
  1470. data/ext/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp +0 -133
  1471. data/ext/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp +0 -180
  1472. data/ext/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp +0 -228
  1473. data/ext/boost/mpl/aux_/preprocessed/plain/less.hpp +0 -92
  1474. data/ext/boost/mpl/aux_/preprocessed/plain/less_equal.hpp +0 -92
  1475. data/ext/boost/mpl/aux_/preprocessed/plain/list.hpp +0 -323
  1476. data/ext/boost/mpl/aux_/preprocessed/plain/list_c.hpp +0 -328
  1477. data/ext/boost/mpl/aux_/preprocessed/plain/map.hpp +0 -323
  1478. data/ext/boost/mpl/aux_/preprocessed/plain/minus.hpp +0 -141
  1479. data/ext/boost/mpl/aux_/preprocessed/plain/modulus.hpp +0 -99
  1480. data/ext/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp +0 -92
  1481. data/ext/boost/mpl/aux_/preprocessed/plain/or.hpp +0 -64
  1482. data/ext/boost/mpl/aux_/preprocessed/plain/placeholders.hpp +0 -105
  1483. data/ext/boost/mpl/aux_/preprocessed/plain/plus.hpp +0 -141
  1484. data/ext/boost/mpl/aux_/preprocessed/plain/quote.hpp +0 -123
  1485. data/ext/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp +0 -231
  1486. data/ext/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp +0 -231
  1487. data/ext/boost/mpl/aux_/preprocessed/plain/set.hpp +0 -323
  1488. data/ext/boost/mpl/aux_/preprocessed/plain/set_c.hpp +0 -328
  1489. data/ext/boost/mpl/aux_/preprocessed/plain/shift_left.hpp +0 -97
  1490. data/ext/boost/mpl/aux_/preprocessed/plain/shift_right.hpp +0 -97
  1491. data/ext/boost/mpl/aux_/preprocessed/plain/template_arity.hpp +0 -11
  1492. data/ext/boost/mpl/aux_/preprocessed/plain/times.hpp +0 -141
  1493. data/ext/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp +0 -94
  1494. data/ext/boost/mpl/aux_/preprocessed/plain/vector.hpp +0 -323
  1495. data/ext/boost/mpl/aux_/preprocessed/plain/vector_c.hpp +0 -309
  1496. data/ext/boost/mpl/aux_/preprocessor/add.hpp +0 -65
  1497. data/ext/boost/mpl/aux_/preprocessor/default_params.hpp +0 -67
  1498. data/ext/boost/mpl/aux_/preprocessor/ext_params.hpp +0 -78
  1499. data/ext/boost/mpl/aux_/preprocessor/is_seq.hpp +0 -54
  1500. data/ext/boost/mpl/aux_/preprocessor/partial_spec_params.hpp +0 -32
  1501. data/ext/boost/mpl/aux_/preprocessor/range.hpp +0 -23
  1502. data/ext/boost/mpl/aux_/preprocessor/repeat.hpp +0 -51
  1503. data/ext/boost/mpl/aux_/preprocessor/token_equal.hpp +0 -56
  1504. data/ext/boost/mpl/aux_/preprocessor/tuple.hpp +0 -29
  1505. data/ext/boost/mpl/aux_/ptr_to_ref.hpp +0 -46
  1506. data/ext/boost/mpl/aux_/push_back_impl.hpp +0 -55
  1507. data/ext/boost/mpl/aux_/push_front_impl.hpp +0 -56
  1508. data/ext/boost/mpl/aux_/range_c/O1_size.hpp +0 -31
  1509. data/ext/boost/mpl/aux_/range_c/back.hpp +0 -34
  1510. data/ext/boost/mpl/aux_/range_c/empty.hpp +0 -37
  1511. data/ext/boost/mpl/aux_/range_c/front.hpp +0 -33
  1512. data/ext/boost/mpl/aux_/range_c/iterator.hpp +0 -106
  1513. data/ext/boost/mpl/aux_/range_c/size.hpp +0 -37
  1514. data/ext/boost/mpl/aux_/range_c/tag.hpp +0 -24
  1515. data/ext/boost/mpl/aux_/reverse_fold_impl.hpp +0 -44
  1516. data/ext/boost/mpl/aux_/reverse_fold_impl_body.hpp +0 -412
  1517. data/ext/boost/mpl/aux_/reverse_iter_fold_impl.hpp +0 -43
  1518. data/ext/boost/mpl/aux_/sequence_wrapper.hpp +0 -292
  1519. data/ext/boost/mpl/aux_/shift_op.hpp +0 -87
  1520. data/ext/boost/mpl/aux_/single_element_iter.hpp +0 -118
  1521. data/ext/boost/mpl/aux_/size_impl.hpp +0 -52
  1522. data/ext/boost/mpl/aux_/sort_impl.hpp +0 -121
  1523. data/ext/boost/mpl/aux_/test.hpp +0 -32
  1524. data/ext/boost/mpl/aux_/test/assert.hpp +0 -29
  1525. data/ext/boost/mpl/aux_/test/data.hpp +0 -25
  1526. data/ext/boost/mpl/aux_/test/test_case.hpp +0 -21
  1527. data/ext/boost/mpl/aux_/traits_lambda_spec.hpp +0 -56
  1528. data/ext/boost/mpl/aux_/transform_iter.hpp +0 -123
  1529. data/ext/boost/mpl/aux_/unwrap.hpp +0 -47
  1530. data/ext/boost/mpl/back.hpp +0 -39
  1531. data/ext/boost/mpl/back_fwd.hpp +0 -24
  1532. data/ext/boost/mpl/back_inserter.hpp +0 -34
  1533. data/ext/boost/mpl/base.hpp +0 -35
  1534. data/ext/boost/mpl/begin.hpp +0 -19
  1535. data/ext/boost/mpl/begin_end.hpp +0 -57
  1536. data/ext/boost/mpl/begin_end_fwd.hpp +0 -27
  1537. data/ext/boost/mpl/bitand.hpp +0 -23
  1538. data/ext/boost/mpl/bitor.hpp +0 -23
  1539. data/ext/boost/mpl/bitwise.hpp +0 -24
  1540. data/ext/boost/mpl/bitxor.hpp +0 -23
  1541. data/ext/boost/mpl/clear.hpp +0 -39
  1542. data/ext/boost/mpl/clear_fwd.hpp +0 -24
  1543. data/ext/boost/mpl/comparison.hpp +0 -24
  1544. data/ext/boost/mpl/contains.hpp +0 -41
  1545. data/ext/boost/mpl/contains_fwd.hpp +0 -25
  1546. data/ext/boost/mpl/copy.hpp +0 -58
  1547. data/ext/boost/mpl/copy_if.hpp +0 -96
  1548. data/ext/boost/mpl/count.hpp +0 -40
  1549. data/ext/boost/mpl/count_fwd.hpp +0 -24
  1550. data/ext/boost/mpl/count_if.hpp +0 -79
  1551. data/ext/boost/mpl/deque.hpp +0 -58
  1552. data/ext/boost/mpl/deref.hpp +0 -41
  1553. data/ext/boost/mpl/distance.hpp +0 -78
  1554. data/ext/boost/mpl/distance_fwd.hpp +0 -28
  1555. data/ext/boost/mpl/divides.hpp +0 -21
  1556. data/ext/boost/mpl/empty.hpp +0 -39
  1557. data/ext/boost/mpl/empty_base.hpp +0 -59
  1558. data/ext/boost/mpl/empty_fwd.hpp +0 -24
  1559. data/ext/boost/mpl/empty_sequence.hpp +0 -42
  1560. data/ext/boost/mpl/end.hpp +0 -19
  1561. data/ext/boost/mpl/equal.hpp +0 -112
  1562. data/ext/boost/mpl/equal_to.hpp +0 -21
  1563. data/ext/boost/mpl/erase.hpp +0 -42
  1564. data/ext/boost/mpl/erase_fwd.hpp +0 -24
  1565. data/ext/boost/mpl/erase_key.hpp +0 -41
  1566. data/ext/boost/mpl/erase_key_fwd.hpp +0 -24
  1567. data/ext/boost/mpl/filter_view.hpp +0 -46
  1568. data/ext/boost/mpl/find.hpp +0 -38
  1569. data/ext/boost/mpl/find_if.hpp +0 -50
  1570. data/ext/boost/mpl/fold.hpp +0 -48
  1571. data/ext/boost/mpl/for_each.hpp +0 -112
  1572. data/ext/boost/mpl/front.hpp +0 -39
  1573. data/ext/boost/mpl/front_fwd.hpp +0 -24
  1574. data/ext/boost/mpl/front_inserter.hpp +0 -33
  1575. data/ext/boost/mpl/greater.hpp +0 -21
  1576. data/ext/boost/mpl/greater_equal.hpp +0 -21
  1577. data/ext/boost/mpl/has_key.hpp +0 -41
  1578. data/ext/boost/mpl/has_key_fwd.hpp +0 -25
  1579. data/ext/boost/mpl/index_if.hpp +0 -60
  1580. data/ext/boost/mpl/index_of.hpp +0 -39
  1581. data/ext/boost/mpl/inherit.hpp +0 -229
  1582. data/ext/boost/mpl/inherit_linearly.hpp +0 -39
  1583. data/ext/boost/mpl/insert.hpp +0 -41
  1584. data/ext/boost/mpl/insert_fwd.hpp +0 -24
  1585. data/ext/boost/mpl/insert_range.hpp +0 -41
  1586. data/ext/boost/mpl/insert_range_fwd.hpp +0 -24
  1587. data/ext/boost/mpl/inserter.hpp +0 -32
  1588. data/ext/boost/mpl/is_placeholder.hpp +0 -67
  1589. data/ext/boost/mpl/is_sequence.hpp +0 -112
  1590. data/ext/boost/mpl/iter_fold.hpp +0 -49
  1591. data/ext/boost/mpl/iter_fold_if.hpp +0 -117
  1592. data/ext/boost/mpl/iterator_category.hpp +0 -35
  1593. data/ext/boost/mpl/iterator_range.hpp +0 -42
  1594. data/ext/boost/mpl/iterator_tags.hpp +0 -27
  1595. data/ext/boost/mpl/joint_view.hpp +0 -65
  1596. data/ext/boost/mpl/key_type.hpp +0 -42
  1597. data/ext/boost/mpl/key_type_fwd.hpp +0 -25
  1598. data/ext/boost/mpl/less.hpp +0 -21
  1599. data/ext/boost/mpl/less_equal.hpp +0 -21
  1600. data/ext/boost/mpl/limits/list.hpp +0 -21
  1601. data/ext/boost/mpl/limits/map.hpp +0 -21
  1602. data/ext/boost/mpl/limits/set.hpp +0 -21
  1603. data/ext/boost/mpl/limits/unrolling.hpp +0 -21
  1604. data/ext/boost/mpl/limits/vector.hpp +0 -21
  1605. data/ext/boost/mpl/list.hpp +0 -57
  1606. data/ext/boost/mpl/list/aux_/O1_size.hpp +0 -33
  1607. data/ext/boost/mpl/list/aux_/begin_end.hpp +0 -44
  1608. data/ext/boost/mpl/list/aux_/clear.hpp +0 -34
  1609. data/ext/boost/mpl/list/aux_/empty.hpp +0 -34
  1610. data/ext/boost/mpl/list/aux_/front.hpp +0 -33
  1611. data/ext/boost/mpl/list/aux_/include_preprocessed.hpp +0 -35
  1612. data/ext/boost/mpl/list/aux_/item.hpp +0 -55
  1613. data/ext/boost/mpl/list/aux_/iterator.hpp +0 -76
  1614. data/ext/boost/mpl/list/aux_/numbered.hpp +0 -68
  1615. data/ext/boost/mpl/list/aux_/numbered_c.hpp +0 -71
  1616. data/ext/boost/mpl/list/aux_/pop_front.hpp +0 -34
  1617. data/ext/boost/mpl/list/aux_/preprocessed/plain/list10.hpp +0 -149
  1618. data/ext/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp +0 -164
  1619. data/ext/boost/mpl/list/aux_/preprocessed/plain/list20.hpp +0 -169
  1620. data/ext/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp +0 -173
  1621. data/ext/boost/mpl/list/aux_/preprocessed/plain/list30.hpp +0 -189
  1622. data/ext/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp +0 -183
  1623. data/ext/boost/mpl/list/aux_/preprocessed/plain/list40.hpp +0 -209
  1624. data/ext/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp +0 -193
  1625. data/ext/boost/mpl/list/aux_/preprocessed/plain/list50.hpp +0 -229
  1626. data/ext/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp +0 -203
  1627. data/ext/boost/mpl/list/aux_/push_back.hpp +0 -36
  1628. data/ext/boost/mpl/list/aux_/push_front.hpp +0 -39
  1629. data/ext/boost/mpl/list/aux_/size.hpp +0 -33
  1630. data/ext/boost/mpl/list/aux_/tag.hpp +0 -24
  1631. data/ext/boost/mpl/list/list0.hpp +0 -42
  1632. data/ext/boost/mpl/list/list0_c.hpp +0 -31
  1633. data/ext/boost/mpl/list/list10.hpp +0 -43
  1634. data/ext/boost/mpl/list/list10_c.hpp +0 -43
  1635. data/ext/boost/mpl/list/list20.hpp +0 -43
  1636. data/ext/boost/mpl/list/list20_c.hpp +0 -43
  1637. data/ext/boost/mpl/list/list30.hpp +0 -43
  1638. data/ext/boost/mpl/list/list30_c.hpp +0 -43
  1639. data/ext/boost/mpl/list/list40.hpp +0 -43
  1640. data/ext/boost/mpl/list/list40_c.hpp +0 -43
  1641. data/ext/boost/mpl/list/list50.hpp +0 -43
  1642. data/ext/boost/mpl/list/list50_c.hpp +0 -43
  1643. data/ext/boost/mpl/list_c.hpp +0 -60
  1644. data/ext/boost/mpl/long.hpp +0 -22
  1645. data/ext/boost/mpl/long_fwd.hpp +0 -27
  1646. data/ext/boost/mpl/lower_bound.hpp +0 -143
  1647. data/ext/boost/mpl/map.hpp +0 -57
  1648. data/ext/boost/mpl/map/aux_/at_impl.hpp +0 -144
  1649. data/ext/boost/mpl/map/aux_/begin_end_impl.hpp +0 -50
  1650. data/ext/boost/mpl/map/aux_/clear_impl.hpp +0 -35
  1651. data/ext/boost/mpl/map/aux_/contains_impl.hpp +0 -43
  1652. data/ext/boost/mpl/map/aux_/empty_impl.hpp +0 -34
  1653. data/ext/boost/mpl/map/aux_/erase_impl.hpp +0 -41
  1654. data/ext/boost/mpl/map/aux_/erase_key_impl.hpp +0 -53
  1655. data/ext/boost/mpl/map/aux_/has_key_impl.hpp +0 -44
  1656. data/ext/boost/mpl/map/aux_/include_preprocessed.hpp +0 -53
  1657. data/ext/boost/mpl/map/aux_/insert_impl.hpp +0 -72
  1658. data/ext/boost/mpl/map/aux_/item.hpp +0 -138
  1659. data/ext/boost/mpl/map/aux_/iterator.hpp +0 -169
  1660. data/ext/boost/mpl/map/aux_/key_type_impl.hpp +0 -36
  1661. data/ext/boost/mpl/map/aux_/map0.hpp +0 -74
  1662. data/ext/boost/mpl/map/aux_/numbered.hpp +0 -110
  1663. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp +0 -350
  1664. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp +0 -370
  1665. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp +0 -390
  1666. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp +0 -410
  1667. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp +0 -430
  1668. data/ext/boost/mpl/map/aux_/preprocessed/plain/map10.hpp +0 -290
  1669. data/ext/boost/mpl/map/aux_/preprocessed/plain/map20.hpp +0 -310
  1670. data/ext/boost/mpl/map/aux_/preprocessed/plain/map30.hpp +0 -330
  1671. data/ext/boost/mpl/map/aux_/preprocessed/plain/map40.hpp +0 -350
  1672. data/ext/boost/mpl/map/aux_/preprocessed/plain/map50.hpp +0 -370
  1673. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp +0 -150
  1674. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp +0 -170
  1675. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp +0 -190
  1676. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp +0 -210
  1677. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp +0 -230
  1678. data/ext/boost/mpl/map/aux_/size_impl.hpp +0 -33
  1679. data/ext/boost/mpl/map/aux_/tag.hpp +0 -24
  1680. data/ext/boost/mpl/map/aux_/value_type_impl.hpp +0 -36
  1681. data/ext/boost/mpl/map/map0.hpp +0 -36
  1682. data/ext/boost/mpl/map/map10.hpp +0 -44
  1683. data/ext/boost/mpl/map/map20.hpp +0 -44
  1684. data/ext/boost/mpl/map/map30.hpp +0 -44
  1685. data/ext/boost/mpl/map/map40.hpp +0 -44
  1686. data/ext/boost/mpl/map/map50.hpp +0 -44
  1687. data/ext/boost/mpl/math/fixed_c.hpp +0 -36
  1688. data/ext/boost/mpl/math/is_even.hpp +0 -54
  1689. data/ext/boost/mpl/math/rational_c.hpp +0 -37
  1690. data/ext/boost/mpl/max.hpp +0 -19
  1691. data/ext/boost/mpl/max_element.hpp +0 -72
  1692. data/ext/boost/mpl/min.hpp +0 -19
  1693. data/ext/boost/mpl/min_element.hpp +0 -40
  1694. data/ext/boost/mpl/min_max.hpp +0 -46
  1695. data/ext/boost/mpl/minus.hpp +0 -21
  1696. data/ext/boost/mpl/modulus.hpp +0 -22
  1697. data/ext/boost/mpl/multiplies.hpp +0 -53
  1698. data/ext/boost/mpl/multiset/aux_/count_impl.hpp +0 -82
  1699. data/ext/boost/mpl/multiset/aux_/insert_impl.hpp +0 -34
  1700. data/ext/boost/mpl/multiset/aux_/item.hpp +0 -114
  1701. data/ext/boost/mpl/multiset/aux_/multiset0.hpp +0 -34
  1702. data/ext/boost/mpl/multiset/aux_/tag.hpp +0 -23
  1703. data/ext/boost/mpl/multiset/multiset0.hpp +0 -36
  1704. data/ext/boost/mpl/negate.hpp +0 -81
  1705. data/ext/boost/mpl/not_equal_to.hpp +0 -21
  1706. data/ext/boost/mpl/numeric_cast.hpp +0 -41
  1707. data/ext/boost/mpl/order.hpp +0 -41
  1708. data/ext/boost/mpl/order_fwd.hpp +0 -25
  1709. data/ext/boost/mpl/pair.hpp +0 -70
  1710. data/ext/boost/mpl/pair_view.hpp +0 -169
  1711. data/ext/boost/mpl/partition.hpp +0 -53
  1712. data/ext/boost/mpl/plus.hpp +0 -21
  1713. data/ext/boost/mpl/pop_back.hpp +0 -39
  1714. data/ext/boost/mpl/pop_back_fwd.hpp +0 -24
  1715. data/ext/boost/mpl/pop_front.hpp +0 -39
  1716. data/ext/boost/mpl/pop_front_fwd.hpp +0 -24
  1717. data/ext/boost/mpl/print.hpp +0 -74
  1718. data/ext/boost/mpl/prior.hpp +0 -19
  1719. data/ext/boost/mpl/push_back.hpp +0 -53
  1720. data/ext/boost/mpl/push_back_fwd.hpp +0 -24
  1721. data/ext/boost/mpl/push_front.hpp +0 -52
  1722. data/ext/boost/mpl/push_front_fwd.hpp +0 -24
  1723. data/ext/boost/mpl/range_c.hpp +0 -48
  1724. data/ext/boost/mpl/remove.hpp +0 -52
  1725. data/ext/boost/mpl/remove_if.hpp +0 -83
  1726. data/ext/boost/mpl/replace.hpp +0 -55
  1727. data/ext/boost/mpl/replace_if.hpp +0 -88
  1728. data/ext/boost/mpl/reverse.hpp +0 -38
  1729. data/ext/boost/mpl/reverse_fold.hpp +0 -50
  1730. data/ext/boost/mpl/reverse_iter_fold.hpp +0 -56
  1731. data/ext/boost/mpl/same_as.hpp +0 -55
  1732. data/ext/boost/mpl/sequence_tag.hpp +0 -124
  1733. data/ext/boost/mpl/sequence_tag_fwd.hpp +0 -26
  1734. data/ext/boost/mpl/set.hpp +0 -57
  1735. data/ext/boost/mpl/set/aux_/at_impl.hpp +0 -40
  1736. data/ext/boost/mpl/set/aux_/begin_end_impl.hpp +0 -43
  1737. data/ext/boost/mpl/set/aux_/clear_impl.hpp +0 -35
  1738. data/ext/boost/mpl/set/aux_/empty_impl.hpp +0 -34
  1739. data/ext/boost/mpl/set/aux_/erase_impl.hpp +0 -41
  1740. data/ext/boost/mpl/set/aux_/erase_key_impl.hpp +0 -53
  1741. data/ext/boost/mpl/set/aux_/has_key_impl.hpp +0 -60
  1742. data/ext/boost/mpl/set/aux_/include_preprocessed.hpp +0 -42
  1743. data/ext/boost/mpl/set/aux_/insert_impl.hpp +0 -65
  1744. data/ext/boost/mpl/set/aux_/item.hpp +0 -82
  1745. data/ext/boost/mpl/set/aux_/iterator.hpp +0 -97
  1746. data/ext/boost/mpl/set/aux_/key_type_impl.hpp +0 -34
  1747. data/ext/boost/mpl/set/aux_/numbered.hpp +0 -48
  1748. data/ext/boost/mpl/set/aux_/numbered_c.hpp +0 -48
  1749. data/ext/boost/mpl/set/aux_/preprocessed/plain/set10.hpp +0 -140
  1750. data/ext/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp +0 -145
  1751. data/ext/boost/mpl/set/aux_/preprocessed/plain/set20.hpp +0 -168
  1752. data/ext/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp +0 -154
  1753. data/ext/boost/mpl/set/aux_/preprocessed/plain/set30.hpp +0 -195
  1754. data/ext/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp +0 -164
  1755. data/ext/boost/mpl/set/aux_/preprocessed/plain/set40.hpp +0 -221
  1756. data/ext/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp +0 -174
  1757. data/ext/boost/mpl/set/aux_/preprocessed/plain/set50.hpp +0 -250
  1758. data/ext/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp +0 -184
  1759. data/ext/boost/mpl/set/aux_/set0.hpp +0 -69
  1760. data/ext/boost/mpl/set/aux_/size_impl.hpp +0 -33
  1761. data/ext/boost/mpl/set/aux_/tag.hpp +0 -24
  1762. data/ext/boost/mpl/set/aux_/value_type_impl.hpp +0 -34
  1763. data/ext/boost/mpl/set/set0.hpp +0 -35
  1764. data/ext/boost/mpl/set/set0_c.hpp +0 -32
  1765. data/ext/boost/mpl/set/set10.hpp +0 -44
  1766. data/ext/boost/mpl/set/set10_c.hpp +0 -45
  1767. data/ext/boost/mpl/set/set20.hpp +0 -44
  1768. data/ext/boost/mpl/set/set20_c.hpp +0 -45
  1769. data/ext/boost/mpl/set/set30.hpp +0 -44
  1770. data/ext/boost/mpl/set/set30_c.hpp +0 -45
  1771. data/ext/boost/mpl/set/set40.hpp +0 -44
  1772. data/ext/boost/mpl/set/set40_c.hpp +0 -45
  1773. data/ext/boost/mpl/set/set50.hpp +0 -44
  1774. data/ext/boost/mpl/set/set50_c.hpp +0 -45
  1775. data/ext/boost/mpl/set_c.hpp +0 -60
  1776. data/ext/boost/mpl/shift_left.hpp +0 -22
  1777. data/ext/boost/mpl/shift_right.hpp +0 -22
  1778. data/ext/boost/mpl/single_view.hpp +0 -38
  1779. data/ext/boost/mpl/size.hpp +0 -42
  1780. data/ext/boost/mpl/size_fwd.hpp +0 -24
  1781. data/ext/boost/mpl/sizeof.hpp +0 -36
  1782. data/ext/boost/mpl/sort.hpp +0 -27
  1783. data/ext/boost/mpl/stable_partition.hpp +0 -75
  1784. data/ext/boost/mpl/switch.hpp +0 -49
  1785. data/ext/boost/mpl/tag.hpp +0 -52
  1786. data/ext/boost/mpl/times.hpp +0 -21
  1787. data/ext/boost/mpl/transform.hpp +0 -145
  1788. data/ext/boost/mpl/transform_view.hpp +0 -46
  1789. data/ext/boost/mpl/unique.hpp +0 -85
  1790. data/ext/boost/mpl/unpack_args.hpp +0 -146
  1791. data/ext/boost/mpl/upper_bound.hpp +0 -141
  1792. data/ext/boost/mpl/value_type.hpp +0 -42
  1793. data/ext/boost/mpl/value_type_fwd.hpp +0 -25
  1794. data/ext/boost/mpl/vector.hpp +0 -57
  1795. data/ext/boost/mpl/vector/aux_/O1_size.hpp +0 -56
  1796. data/ext/boost/mpl/vector/aux_/at.hpp +0 -116
  1797. data/ext/boost/mpl/vector/aux_/back.hpp +0 -59
  1798. data/ext/boost/mpl/vector/aux_/begin_end.hpp +0 -49
  1799. data/ext/boost/mpl/vector/aux_/clear.hpp +0 -55
  1800. data/ext/boost/mpl/vector/aux_/empty.hpp +0 -68
  1801. data/ext/boost/mpl/vector/aux_/front.hpp +0 -56
  1802. data/ext/boost/mpl/vector/aux_/include_preprocessed.hpp +0 -55
  1803. data/ext/boost/mpl/vector/aux_/item.hpp +0 -103
  1804. data/ext/boost/mpl/vector/aux_/iterator.hpp +0 -130
  1805. data/ext/boost/mpl/vector/aux_/numbered.hpp +0 -218
  1806. data/ext/boost/mpl/vector/aux_/numbered_c.hpp +0 -77
  1807. data/ext/boost/mpl/vector/aux_/pop_back.hpp +0 -40
  1808. data/ext/boost/mpl/vector/aux_/pop_front.hpp +0 -40
  1809. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp +0 -1528
  1810. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp +0 -149
  1811. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp +0 -1804
  1812. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp +0 -195
  1813. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp +0 -2124
  1814. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp +0 -238
  1815. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp +0 -2444
  1816. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp +0 -281
  1817. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp +0 -2764
  1818. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp +0 -325
  1819. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp +0 -829
  1820. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp +0 -149
  1821. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp +0 -1144
  1822. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp +0 -195
  1823. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp +0 -1464
  1824. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp +0 -238
  1825. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp +0 -1784
  1826. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp +0 -281
  1827. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp +0 -2104
  1828. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp +0 -325
  1829. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp +0 -139
  1830. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp +0 -154
  1831. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp +0 -159
  1832. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp +0 -163
  1833. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp +0 -179
  1834. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp +0 -173
  1835. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp +0 -199
  1836. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp +0 -183
  1837. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp +0 -219
  1838. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp +0 -193
  1839. data/ext/boost/mpl/vector/aux_/push_back.hpp +0 -40
  1840. data/ext/boost/mpl/vector/aux_/push_front.hpp +0 -40
  1841. data/ext/boost/mpl/vector/aux_/size.hpp +0 -49
  1842. data/ext/boost/mpl/vector/aux_/tag.hpp +0 -32
  1843. data/ext/boost/mpl/vector/aux_/vector0.hpp +0 -52
  1844. data/ext/boost/mpl/vector/vector0.hpp +0 -34
  1845. data/ext/boost/mpl/vector/vector0_c.hpp +0 -31
  1846. data/ext/boost/mpl/vector/vector10.hpp +0 -45
  1847. data/ext/boost/mpl/vector/vector10_c.hpp +0 -46
  1848. data/ext/boost/mpl/vector/vector20.hpp +0 -45
  1849. data/ext/boost/mpl/vector/vector20_c.hpp +0 -46
  1850. data/ext/boost/mpl/vector/vector30.hpp +0 -45
  1851. data/ext/boost/mpl/vector/vector30_c.hpp +0 -47
  1852. data/ext/boost/mpl/vector/vector40.hpp +0 -45
  1853. data/ext/boost/mpl/vector/vector40_c.hpp +0 -46
  1854. data/ext/boost/mpl/vector/vector50.hpp +0 -45
  1855. data/ext/boost/mpl/vector/vector50_c.hpp +0 -46
  1856. data/ext/boost/mpl/vector_c.hpp +0 -60
  1857. data/ext/boost/mpl/zip_view.hpp +0 -64
  1858. data/ext/boost/optional/optional_io.hpp +0 -84
  1859. data/ext/boost/preprocessor/arithmetic.hpp +0 -25
  1860. data/ext/boost/preprocessor/arithmetic/detail/div_base.hpp +0 -61
  1861. data/ext/boost/preprocessor/arithmetic/div.hpp +0 -39
  1862. data/ext/boost/preprocessor/arithmetic/mod.hpp +0 -39
  1863. data/ext/boost/preprocessor/arithmetic/mul.hpp +0 -53
  1864. data/ext/boost/preprocessor/array.hpp +0 -27
  1865. data/ext/boost/preprocessor/array/insert.hpp +0 -55
  1866. data/ext/boost/preprocessor/array/pop_back.hpp +0 -37
  1867. data/ext/boost/preprocessor/array/pop_front.hpp +0 -38
  1868. data/ext/boost/preprocessor/array/push_back.hpp +0 -33
  1869. data/ext/boost/preprocessor/array/push_front.hpp +0 -33
  1870. data/ext/boost/preprocessor/array/remove.hpp +0 -54
  1871. data/ext/boost/preprocessor/array/replace.hpp +0 -49
  1872. data/ext/boost/preprocessor/array/reverse.hpp +0 -29
  1873. data/ext/boost/preprocessor/assert_msg.hpp +0 -17
  1874. data/ext/boost/preprocessor/comma.hpp +0 -17
  1875. data/ext/boost/preprocessor/comparison.hpp +0 -24
  1876. data/ext/boost/preprocessor/comparison/equal.hpp +0 -34
  1877. data/ext/boost/preprocessor/comparison/greater.hpp +0 -38
  1878. data/ext/boost/preprocessor/comparison/greater_equal.hpp +0 -38
  1879. data/ext/boost/preprocessor/comparison/less.hpp +0 -46
  1880. data/ext/boost/preprocessor/comparison/less_equal.hpp +0 -39
  1881. data/ext/boost/preprocessor/comparison/not_equal.hpp +0 -814
  1882. data/ext/boost/preprocessor/config/limits.hpp +0 -29
  1883. data/ext/boost/preprocessor/control.hpp +0 -22
  1884. data/ext/boost/preprocessor/control/deduce_d.hpp +0 -22
  1885. data/ext/boost/preprocessor/control/detail/dmc/while.hpp +0 -536
  1886. data/ext/boost/preprocessor/control/detail/edg/while.hpp +0 -534
  1887. data/ext/boost/preprocessor/control/detail/msvc/while.hpp +0 -277
  1888. data/ext/boost/preprocessor/control/expr_if.hpp +0 -30
  1889. data/ext/boost/preprocessor/debug.hpp +0 -18
  1890. data/ext/boost/preprocessor/debug/assert.hpp +0 -44
  1891. data/ext/boost/preprocessor/debug/line.hpp +0 -35
  1892. data/ext/boost/preprocessor/dec.hpp +0 -17
  1893. data/ext/boost/preprocessor/detail/dmc/auto_rec.hpp +0 -286
  1894. data/ext/boost/preprocessor/detail/is_nullary.hpp +0 -30
  1895. data/ext/boost/preprocessor/detail/is_unary.hpp +0 -30
  1896. data/ext/boost/preprocessor/detail/null.hpp +0 -17
  1897. data/ext/boost/preprocessor/detail/split.hpp +0 -35
  1898. data/ext/boost/preprocessor/enum_params_with_a_default.hpp +0 -17
  1899. data/ext/boost/preprocessor/enum_params_with_defaults.hpp +0 -17
  1900. data/ext/boost/preprocessor/enum_shifted.hpp +0 -17
  1901. data/ext/boost/preprocessor/enum_shifted_params.hpp +0 -17
  1902. data/ext/boost/preprocessor/expand.hpp +0 -17
  1903. data/ext/boost/preprocessor/expr_if.hpp +0 -17
  1904. data/ext/boost/preprocessor/facilities.hpp +0 -21
  1905. data/ext/boost/preprocessor/facilities/apply.hpp +0 -34
  1906. data/ext/boost/preprocessor/facilities/expand.hpp +0 -28
  1907. data/ext/boost/preprocessor/facilities/intercept.hpp +0 -277
  1908. data/ext/boost/preprocessor/facilities/is_1.hpp +0 -23
  1909. data/ext/boost/preprocessor/facilities/is_empty.hpp +0 -43
  1910. data/ext/boost/preprocessor/facilities/is_empty_or_1.hpp +0 -30
  1911. data/ext/boost/preprocessor/for.hpp +0 -17
  1912. data/ext/boost/preprocessor/if.hpp +0 -17
  1913. data/ext/boost/preprocessor/iteration.hpp +0 -19
  1914. data/ext/boost/preprocessor/iteration/detail/bounds/lower2.hpp +0 -99
  1915. data/ext/boost/preprocessor/iteration/detail/bounds/lower3.hpp +0 -99
  1916. data/ext/boost/preprocessor/iteration/detail/bounds/lower4.hpp +0 -99
  1917. data/ext/boost/preprocessor/iteration/detail/bounds/lower5.hpp +0 -99
  1918. data/ext/boost/preprocessor/iteration/detail/bounds/upper2.hpp +0 -99
  1919. data/ext/boost/preprocessor/iteration/detail/bounds/upper3.hpp +0 -99
  1920. data/ext/boost/preprocessor/iteration/detail/bounds/upper4.hpp +0 -99
  1921. data/ext/boost/preprocessor/iteration/detail/bounds/upper5.hpp +0 -99
  1922. data/ext/boost/preprocessor/iteration/detail/finish.hpp +0 -99
  1923. data/ext/boost/preprocessor/iteration/detail/iter/forward2.hpp +0 -1338
  1924. data/ext/boost/preprocessor/iteration/detail/iter/forward3.hpp +0 -1338
  1925. data/ext/boost/preprocessor/iteration/detail/iter/forward4.hpp +0 -1338
  1926. data/ext/boost/preprocessor/iteration/detail/iter/forward5.hpp +0 -1338
  1927. data/ext/boost/preprocessor/iteration/detail/iter/reverse1.hpp +0 -1296
  1928. data/ext/boost/preprocessor/iteration/detail/iter/reverse2.hpp +0 -1296
  1929. data/ext/boost/preprocessor/iteration/detail/iter/reverse3.hpp +0 -1296
  1930. data/ext/boost/preprocessor/iteration/detail/iter/reverse4.hpp +0 -1296
  1931. data/ext/boost/preprocessor/iteration/detail/iter/reverse5.hpp +0 -1296
  1932. data/ext/boost/preprocessor/iteration/detail/local.hpp +0 -812
  1933. data/ext/boost/preprocessor/iteration/detail/rlocal.hpp +0 -782
  1934. data/ext/boost/preprocessor/iteration/detail/self.hpp +0 -21
  1935. data/ext/boost/preprocessor/iteration/detail/start.hpp +0 -99
  1936. data/ext/boost/preprocessor/iteration/local.hpp +0 -26
  1937. data/ext/boost/preprocessor/iteration/self.hpp +0 -19
  1938. data/ext/boost/preprocessor/library.hpp +0 -34
  1939. data/ext/boost/preprocessor/limits.hpp +0 -17
  1940. data/ext/boost/preprocessor/list.hpp +0 -35
  1941. data/ext/boost/preprocessor/list/at.hpp +0 -39
  1942. data/ext/boost/preprocessor/list/cat.hpp +0 -42
  1943. data/ext/boost/preprocessor/list/detail/dmc/fold_left.hpp +0 -279
  1944. data/ext/boost/preprocessor/list/detail/edg/fold_left.hpp +0 -536
  1945. data/ext/boost/preprocessor/list/detail/edg/fold_right.hpp +0 -794
  1946. data/ext/boost/preprocessor/list/enum.hpp +0 -41
  1947. data/ext/boost/preprocessor/list/filter.hpp +0 -54
  1948. data/ext/boost/preprocessor/list/first_n.hpp +0 -58
  1949. data/ext/boost/preprocessor/list/for_each.hpp +0 -49
  1950. data/ext/boost/preprocessor/list/for_each_product.hpp +0 -141
  1951. data/ext/boost/preprocessor/list/rest_n.hpp +0 -55
  1952. data/ext/boost/preprocessor/list/size.hpp +0 -58
  1953. data/ext/boost/preprocessor/list/to_tuple.hpp +0 -38
  1954. data/ext/boost/preprocessor/logical.hpp +0 -29
  1955. data/ext/boost/preprocessor/logical/bitnor.hpp +0 -38
  1956. data/ext/boost/preprocessor/logical/bitor.hpp +0 -38
  1957. data/ext/boost/preprocessor/logical/bitxor.hpp +0 -38
  1958. data/ext/boost/preprocessor/logical/nor.hpp +0 -30
  1959. data/ext/boost/preprocessor/logical/not.hpp +0 -30
  1960. data/ext/boost/preprocessor/logical/or.hpp +0 -30
  1961. data/ext/boost/preprocessor/logical/xor.hpp +0 -30
  1962. data/ext/boost/preprocessor/max.hpp +0 -17
  1963. data/ext/boost/preprocessor/min.hpp +0 -17
  1964. data/ext/boost/preprocessor/punctuation.hpp +0 -20
  1965. data/ext/boost/preprocessor/punctuation/paren.hpp +0 -23
  1966. data/ext/boost/preprocessor/punctuation/paren_if.hpp +0 -38
  1967. data/ext/boost/preprocessor/repeat_2nd.hpp +0 -17
  1968. data/ext/boost/preprocessor/repeat_3rd.hpp +0 -17
  1969. data/ext/boost/preprocessor/repeat_from_to.hpp +0 -17
  1970. data/ext/boost/preprocessor/repeat_from_to_2nd.hpp +0 -17
  1971. data/ext/boost/preprocessor/repeat_from_to_3rd.hpp +0 -17
  1972. data/ext/boost/preprocessor/repetition.hpp +0 -32
  1973. data/ext/boost/preprocessor/repetition/deduce_r.hpp +0 -22
  1974. data/ext/boost/preprocessor/repetition/deduce_z.hpp +0 -22
  1975. data/ext/boost/preprocessor/repetition/detail/dmc/for.hpp +0 -536
  1976. data/ext/boost/preprocessor/repetition/detail/edg/for.hpp +0 -534
  1977. data/ext/boost/preprocessor/repetition/detail/msvc/for.hpp +0 -277
  1978. data/ext/boost/preprocessor/repetition/enum_params_with_a_default.hpp +0 -25
  1979. data/ext/boost/preprocessor/repetition/enum_params_with_defaults.hpp +0 -24
  1980. data/ext/boost/preprocessor/repetition/enum_shifted.hpp +0 -68
  1981. data/ext/boost/preprocessor/repetition/enum_shifted_binary_params.hpp +0 -51
  1982. data/ext/boost/preprocessor/repetition/enum_shifted_params.hpp +0 -44
  1983. data/ext/boost/preprocessor/repetition/enum_trailing.hpp +0 -63
  1984. data/ext/boost/preprocessor/repetition/enum_trailing_binary_params.hpp +0 -53
  1985. data/ext/boost/preprocessor/repetition/enum_trailing_params.hpp +0 -38
  1986. data/ext/boost/preprocessor/selection.hpp +0 -18
  1987. data/ext/boost/preprocessor/selection/max.hpp +0 -39
  1988. data/ext/boost/preprocessor/selection/min.hpp +0 -39
  1989. data/ext/boost/preprocessor/seq.hpp +0 -41
  1990. data/ext/boost/preprocessor/seq/cat.hpp +0 -48
  1991. data/ext/boost/preprocessor/seq/detail/split.hpp +0 -284
  1992. data/ext/boost/preprocessor/seq/filter.hpp +0 -54
  1993. data/ext/boost/preprocessor/seq/first_n.hpp +0 -30
  1994. data/ext/boost/preprocessor/seq/fold_left.hpp +0 -1070
  1995. data/ext/boost/preprocessor/seq/fold_right.hpp +0 -288
  1996. data/ext/boost/preprocessor/seq/for_each.hpp +0 -60
  1997. data/ext/boost/preprocessor/seq/for_each_product.hpp +0 -126
  1998. data/ext/boost/preprocessor/seq/insert.hpp +0 -28
  1999. data/ext/boost/preprocessor/seq/pop_back.hpp +0 -29
  2000. data/ext/boost/preprocessor/seq/pop_front.hpp +0 -27
  2001. data/ext/boost/preprocessor/seq/push_back.hpp +0 -19
  2002. data/ext/boost/preprocessor/seq/push_front.hpp +0 -19
  2003. data/ext/boost/preprocessor/seq/remove.hpp +0 -29
  2004. data/ext/boost/preprocessor/seq/replace.hpp +0 -29
  2005. data/ext/boost/preprocessor/seq/rest_n.hpp +0 -30
  2006. data/ext/boost/preprocessor/seq/reverse.hpp +0 -39
  2007. data/ext/boost/preprocessor/seq/subseq.hpp +0 -28
  2008. data/ext/boost/preprocessor/seq/to_array.hpp +0 -28
  2009. data/ext/boost/preprocessor/seq/to_tuple.hpp +0 -27
  2010. data/ext/boost/preprocessor/seq/transform.hpp +0 -48
  2011. data/ext/boost/preprocessor/slot.hpp +0 -17
  2012. data/ext/boost/preprocessor/slot/counter.hpp +0 -25
  2013. data/ext/boost/preprocessor/slot/detail/counter.hpp +0 -269
  2014. data/ext/boost/preprocessor/slot/detail/slot1.hpp +0 -267
  2015. data/ext/boost/preprocessor/slot/detail/slot2.hpp +0 -267
  2016. data/ext/boost/preprocessor/slot/detail/slot3.hpp +0 -267
  2017. data/ext/boost/preprocessor/slot/detail/slot4.hpp +0 -267
  2018. data/ext/boost/preprocessor/slot/detail/slot5.hpp +0 -267
  2019. data/ext/boost/preprocessor/tuple.hpp +0 -24
  2020. data/ext/boost/preprocessor/tuple/reverse.hpp +0 -62
  2021. data/ext/boost/preprocessor/tuple/to_seq.hpp +0 -60
  2022. data/ext/boost/preprocessor/while.hpp +0 -17
  2023. data/ext/boost/preprocessor/wstringize.hpp +0 -29
  2024. data/ext/boost/src/barrier.cpp +0 -42
  2025. data/ext/boost/src/condition.cpp +0 -692
  2026. data/ext/boost/src/exceptions.cpp +0 -147
  2027. data/ext/boost/src/mutex.cpp +0 -561
  2028. data/ext/boost/src/mutex.inl +0 -128
  2029. data/ext/boost/src/once.cpp +0 -213
  2030. data/ext/boost/src/recursive_mutex.cpp +0 -1040
  2031. data/ext/boost/src/thread.cpp +0 -371
  2032. data/ext/boost/src/timeconv.inl +0 -130
  2033. data/ext/boost/src/tss.cpp +0 -251
  2034. data/ext/boost/src/tss_hooks.cpp +0 -212
  2035. data/ext/boost/src/tss_pe.cpp +0 -179
  2036. data/ext/boost/src/xtime.cpp +0 -158
  2037. data/ext/boost/thread/barrier.hpp +0 -44
  2038. data/ext/boost/thread/detail/force_cast.hpp +0 -39
  2039. data/ext/boost/thread/detail/lock.hpp +0 -209
  2040. data/ext/boost/thread/detail/read_write_lock.hpp +0 -1106
  2041. data/ext/boost/thread/detail/singleton.hpp +0 -59
  2042. data/ext/boost/thread/detail/tss_hooks.hpp +0 -78
  2043. data/ext/boost/type_traits/add_cv.hpp +0 -48
  2044. data/ext/boost/type_traits/add_volatile.hpp +0 -47
  2045. data/ext/boost/type_traits/aligned_storage.hpp +0 -13
  2046. data/ext/boost/type_traits/alignment_traits.hpp +0 -15
  2047. data/ext/boost/type_traits/arithmetic_traits.hpp +0 -20
  2048. data/ext/boost/type_traits/array_traits.hpp +0 -15
  2049. data/ext/boost/type_traits/cv_traits.hpp +0 -24
  2050. data/ext/boost/type_traits/decay.hpp +0 -44
  2051. data/ext/boost/type_traits/detail/is_function_ptr_tester.hpp +0 -654
  2052. data/ext/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +0 -2759
  2053. data/ext/boost/type_traits/detail/wrap.hpp +0 -18
  2054. data/ext/boost/type_traits/extent.hpp +0 -134
  2055. data/ext/boost/type_traits/has_nothrow_assign.hpp +0 -38
  2056. data/ext/boost/type_traits/has_nothrow_constructor.hpp +0 -38
  2057. data/ext/boost/type_traits/has_nothrow_destructor.hpp +0 -25
  2058. data/ext/boost/type_traits/has_trivial_assign.hpp +0 -50
  2059. data/ext/boost/type_traits/has_trivial_constructor.hpp +0 -42
  2060. data/ext/boost/type_traits/has_trivial_destructor.hpp +0 -42
  2061. data/ext/boost/type_traits/has_virtual_destructor.hpp +0 -25
  2062. data/ext/boost/type_traits/is_base_and_derived.hpp +0 -223
  2063. data/ext/boost/type_traits/is_base_of.hpp +0 -40
  2064. data/ext/boost/type_traits/is_compound.hpp +0 -40
  2065. data/ext/boost/type_traits/is_empty.hpp +0 -211
  2066. data/ext/boost/type_traits/is_floating_point.hpp +0 -27
  2067. data/ext/boost/type_traits/is_fundamental.hpp +0 -41
  2068. data/ext/boost/type_traits/is_member_object_pointer.hpp +0 -46
  2069. data/ext/boost/type_traits/is_object.hpp +0 -53
  2070. data/ext/boost/type_traits/is_polymorphic.hpp +0 -102
  2071. data/ext/boost/type_traits/is_signed.hpp +0 -117
  2072. data/ext/boost/type_traits/is_stateless.hpp +0 -48
  2073. data/ext/boost/type_traits/is_unsigned.hpp +0 -114
  2074. data/ext/boost/type_traits/msvc/remove_all_extents.hpp +0 -47
  2075. data/ext/boost/type_traits/msvc/remove_bounds.hpp +0 -43
  2076. data/ext/boost/type_traits/msvc/remove_const.hpp +0 -143
  2077. data/ext/boost/type_traits/msvc/remove_cv.hpp +0 -190
  2078. data/ext/boost/type_traits/msvc/remove_extent.hpp +0 -43
  2079. data/ext/boost/type_traits/msvc/remove_pointer.hpp +0 -42
  2080. data/ext/boost/type_traits/msvc/remove_reference.hpp +0 -42
  2081. data/ext/boost/type_traits/msvc/remove_volatile.hpp +0 -143
  2082. data/ext/boost/type_traits/msvc/typeof.hpp +0 -50
  2083. data/ext/boost/type_traits/object_traits.hpp +0 -33
  2084. data/ext/boost/type_traits/rank.hpp +0 -81
  2085. data/ext/boost/type_traits/reference_traits.hpp +0 -15
  2086. data/ext/boost/type_traits/remove_all_extents.hpp +0 -48
  2087. data/ext/boost/type_traits/remove_bounds.hpp +0 -48
  2088. data/ext/boost/type_traits/remove_extent.hpp +0 -48
  2089. data/ext/boost/type_traits/remove_volatile.hpp +0 -77
  2090. data/ext/boost/type_traits/same_traits.hpp +0 -15
  2091. data/ext/boost/type_traits/transform_traits.hpp +0 -21
  2092. data/ext/boost/type_traits/transform_traits_spec.hpp +0 -14
  2093. data/ext/boost/utility/in_place_factory.hpp +0 -58
  2094. data/ext/boost/utility/result_of.hpp +0 -66
  2095. data/ext/boost/utility/typed_in_place_factory.hpp +0 -57
  2096. data/ext/boost/utility/value_init.hpp +0 -77
  2097. data/lib/passenger/application_spawner.rb +0 -329
  2098. data/lib/passenger/cgi_fixed.rb +0 -66
  2099. data/lib/passenger/framework_spawner.rb +0 -351
  2100. data/lib/passenger/request_handler.rb +0 -333
  2101. data/lib/passenger/templates/apache_must_be_compiled_with_prefork_mpm.txt.erb +0 -8
  2102. data/test/abstract_server_spec.rb +0 -17
  2103. data/test/application_spawner_spec.rb +0 -80
  2104. data/test/application_spec.rb +0 -25
  2105. data/test/framework_spawner_spec.rb +0 -101
  2106. data/test/message_channel_spec.rb +0 -171
  2107. data/test/minimal_spawner_spec.rb +0 -19
  2108. data/test/spawn_manager_spec.rb +0 -107
  2109. data/test/spawn_server_spec.rb +0 -25
  2110. data/test/spawner_error_handling_spec.rb +0 -35
  2111. data/test/spawner_privilege_lowering_spec.rb +0 -72
  2112. data/test/stub/broken-railsapp/config/environment.rb +0 -2
  2113. data/test/stub/broken-railsapp2/config/environment.rb +0 -3
  2114. data/test/stub/broken-railsapp3/config/environment.rb +0 -4
  2115. data/test/stub/broken-railsapp4/config/environment.rb +0 -1
  2116. data/test/stub/broken-railsapp5/config/environment.rb +0 -1
  2117. data/test/stub/broken-railsapp5/vendor/rails/actionpack/lib/action_controller.rb +0 -0
  2118. data/test/stub/broken-railsapp5/vendor/rails/activerecord/lib/active_record.rb +0 -0
  2119. data/test/stub/broken-railsapp5/vendor/rails/railties/lib/initializer.rb +0 -9
  2120. data/test/stub/mycook/app/controllers/welcome_controller.rb +0 -23
  2121. data/test/stub/railsapp-without-version-spec/app/controllers/foo_controller.rb +0 -5
  2122. data/test/stub/railsapp-without-version-spec/config/environment.rb +0 -58
  2123. data/test/support/apache2_config_writer.rb +0 -44
@@ -0,0 +1,344 @@
1
+ # Phusion Passenger - http://www.modrails.com/
2
+ # Copyright (C) 2008 Phusion
3
+ #
4
+ # Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.
5
+ #
6
+ # This program is free software; you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation; version 2 of the License.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License along
16
+ # with this program; if not, write to the Free Software Foundation, Inc.,
17
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
+
19
+ require 'rubygems'
20
+ require 'passenger/abstract_server'
21
+ require 'passenger/railz/application_spawner'
22
+ require 'passenger/exceptions'
23
+ require 'passenger/constants'
24
+ require 'passenger/utils'
25
+ module Passenger
26
+ module Railz
27
+
28
+ # This class is capable of spawning Ruby on Rails application instances
29
+ # quickly. This is done by preloading the Ruby on Rails framework into memory,
30
+ # before spawning the application instances.
31
+ #
32
+ # A single FrameworkSpawner instance can only hold a single Ruby on Rails
33
+ # framework version. So be careful when using FrameworkSpawner: the applications
34
+ # that you spawn through it must require the same RoR version. To handle multiple
35
+ # RoR versions, use multiple FrameworkSpawner instances.
36
+ #
37
+ # FrameworkSpawner uses ApplicationSpawner internally.
38
+ #
39
+ # *Note*: FrameworkSpawner may only be started asynchronously with AbstractServer#start.
40
+ # Starting it synchronously with AbstractServer#start_synchronously has not been tested.
41
+ class FrameworkSpawner < AbstractServer
42
+ include Utils
43
+
44
+ # This exception means that the FrameworkSpawner server process exited unexpectedly.
45
+ class Error < AbstractServer::ServerError
46
+ end
47
+
48
+ # An attribute, used internally. This should not be used outside Passenger.
49
+ attr_accessor :time
50
+
51
+ # Creates a new instance of FrameworkSpawner.
52
+ #
53
+ # Valid options:
54
+ # - <tt>:version</tt>: The Ruby on Rails version to use. It is not checked whether
55
+ # this version is actually installed.
56
+ # - <tt>:vendor</tt>: The directory to the vendor Rails framework to use. This is
57
+ # usually something like "/webapps/foo/vendor/rails".
58
+ #
59
+ # It is not allowed to specify both +version+ and +vendor+.
60
+ #
61
+ # Note that the specified Rails framework will be loaded during the entire life time
62
+ # of the FrameworkSpawner server. If you wish to reload the Rails framework's code,
63
+ # then restart the server by calling AbstractServer#stop and AbstractServer#start.
64
+ def initialize(options = {})
65
+ if !options.respond_to?(:'[]')
66
+ raise ArgumentError, "The 'options' argument not seem to be an options hash"
67
+ end
68
+ @version = options[:version]
69
+ @vendor = options[:vendor]
70
+ if !@version && !@vendor
71
+ raise ArgumentError, "Either the 'version' or the 'vendor' option must specified"
72
+ elsif @version && @vendor
73
+ raise ArgumentError, "It is not allowed to specify both the 'version' and the 'vendor' options"
74
+ end
75
+
76
+ super()
77
+ define_message_handler(:spawn_application, :handle_spawn_application)
78
+ define_message_handler(:reload, :handle_reload)
79
+ end
80
+
81
+ # Overrided from AbstractServer#start.
82
+ #
83
+ # May raise these additional exceptions:
84
+ # - FrameworkInitError: The specified Ruby on Rails framework could not be loaded.
85
+ # - FrameworkSpawner::Error: The FrameworkSpawner server exited unexpectedly.
86
+ def start
87
+ super
88
+ begin
89
+ status = server.read[0]
90
+ if status == 'exception'
91
+ child_exception = unmarshal_exception(server.read_scalar)
92
+ stop
93
+ if @version
94
+ message = "Could not load Ruby on Rails framework version #{@version}: " <<
95
+ "#{child_exception.class} (#{child_exception.message})"
96
+ else
97
+ message = "Could not load Ruby on Rails framework at '#{@vendor}': " <<
98
+ "#{child_exception.class} (#{child_exception.message})"
99
+ end
100
+ options = { :vendor => @vendor, :version => @version }
101
+ raise FrameworkInitError.new(message, child_exception, options)
102
+ end
103
+ rescue IOError, SystemCallError, SocketError
104
+ stop
105
+ raise Error, "The framework spawner server exited unexpectedly"
106
+ end
107
+ end
108
+
109
+ # Spawn a RoR application using the Ruby on Rails framework
110
+ # version associated with this FrameworkSpawner.
111
+ # When successful, an Application object will be returned, which represents
112
+ # the spawned RoR application.
113
+ #
114
+ # See ApplicationSpawner.new for an explanation of the +lower_privilege+,
115
+ # +lowest_user+ and +environment+ parameters.
116
+ #
117
+ # FrameworkSpawner will internally cache the code of applications, in order to
118
+ # speed up future spawning attempts. This implies that, if you've changed
119
+ # the application's code, you must do one of these things:
120
+ # - Restart this FrameworkSpawner by calling AbstractServer#stop, then AbstractServer#start.
121
+ # - Reload the application by calling reload with the correct app_root argument.
122
+ #
123
+ # Raises:
124
+ # - AbstractServer::ServerNotStarted: The FrameworkSpawner server hasn't already been started.
125
+ # - ArgumentError: +app_root+ doesn't appear to be a valid Ruby on Rails application root.
126
+ # - AppInitError: The application raised an exception or called exit() during startup.
127
+ # - ApplicationSpawner::Error: The ApplicationSpawner server exited unexpectedly.
128
+ # - FrameworkSpawner::Error: The FrameworkSpawner server exited unexpectedly.
129
+ def spawn_application(app_root, lower_privilege = true, lowest_user = "nobody", environment = "production")
130
+ app_root = normalize_path(app_root)
131
+ assert_valid_app_root(app_root)
132
+ exception_to_propagate = nil
133
+ begin
134
+ server.write("spawn_application", app_root, lower_privilege, lowest_user, environment)
135
+ result = server.read
136
+ if result.nil?
137
+ raise IOError, "Connection closed"
138
+ end
139
+ if result[0] == 'exception'
140
+ raise unmarshal_exception(server.read_scalar)
141
+ else
142
+ pid, listen_socket_name, using_abstract_namespace = server.read
143
+ if pid.nil?
144
+ raise IOError, "Connection closed"
145
+ end
146
+ owner_pipe = server.recv_io
147
+ return Application.new(app_root, pid, listen_socket_name,
148
+ using_abstract_namespace == "true", owner_pipe)
149
+ end
150
+ rescue SystemCallError, IOError, SocketError => e
151
+ raise Error, "The framework spawner server exited unexpectedly"
152
+ end
153
+ end
154
+
155
+ # Remove the cached application instances at the given application root.
156
+ # If nil is specified as application root, then all cached application
157
+ # instances will be removed, no matter the application root.
158
+ #
159
+ # <b>Long description:</b>
160
+ # Application code might be cached in memory by a FrameworkSpawner. But
161
+ # once it a while, it will be necessary to reload the code for an
162
+ # application, such as after deploying a new version of the application.
163
+ # This method makes sure that any cached application code is removed, so
164
+ # that the next time an application instance is spawned, the application
165
+ # code will be freshly loaded into memory.
166
+ #
167
+ # Raises:
168
+ # - ArgumentError: +app_root+ doesn't appear to be a valid Ruby on Rails
169
+ # application root.
170
+ # - FrameworkSpawner::Error: The FrameworkSpawner server exited unexpectedly.
171
+ def reload(app_root = nil)
172
+ if app_root.nil?
173
+ server.write("reload")
174
+ else
175
+ server.write("reload", normalize_path(app_root))
176
+ end
177
+ rescue SystemCallError, IOError, SocketError
178
+ raise Error, "The framework spawner server exited unexpectedly"
179
+ end
180
+
181
+ protected
182
+ # Overrided method.
183
+ def before_fork # :nodoc:
184
+ if GC.copy_on_write_friendly?
185
+ # Garbage collect now so that the child process doesn't have to
186
+ # do that (to prevent making pages dirty).
187
+ GC.start
188
+ end
189
+ end
190
+
191
+ # Overrided method.
192
+ def initialize_server # :nodoc:
193
+ $0 = "Passenger FrameworkSpawner: #{@version || @vendor}"
194
+ @spawners = {}
195
+ @spawners_lock = Mutex.new
196
+ @spawners_cond = ConditionVariable.new
197
+ @spawners_cleaner = Thread.new do
198
+ begin
199
+ spawners_cleaner_main_loop
200
+ rescue Exception => e
201
+ print_exception(self.class.to_s, e)
202
+ end
203
+ end
204
+ begin
205
+ preload_rails
206
+ rescue StandardError, ScriptError, NoMemoryError => e
207
+ client.write('exception')
208
+ client.write_scalar(marshal_exception(e))
209
+ return
210
+ end
211
+ client.write('success')
212
+ end
213
+
214
+ # Overrided method.
215
+ def finalize_server # :nodoc:
216
+ @spawners_lock.synchronize do
217
+ @spawners_cond.signal
218
+ end
219
+ @spawners_cleaner.join
220
+ @spawners.each_value do |spawner|
221
+ spawner.stop
222
+ end
223
+ end
224
+
225
+ private
226
+ def preload_rails
227
+ Object.const_set(:RAILS_ROOT, ".")
228
+ if @version
229
+ gem 'rails', "=#{@version}"
230
+ require 'initializer'
231
+ else
232
+ $LOAD_PATH.unshift("#{@vendor}/railties/builtin/rails_info")
233
+ Dir["#{@vendor}/*"].each do |entry|
234
+ next unless File.directory?(entry)
235
+ $LOAD_PATH.unshift("#{entry}/lib")
236
+ end
237
+ require "#{@vendor}/railties/lib/initializer"
238
+ end
239
+ require 'active_support'
240
+ require 'active_record'
241
+ require 'action_controller'
242
+ require 'action_view'
243
+ require 'action_pack'
244
+ require 'action_mailer'
245
+ require 'dispatcher'
246
+ begin
247
+ if ::Rails::VERSION::MAJOR >= 2
248
+ require 'active_resource'
249
+ else
250
+ require 'action_web_service'
251
+ end
252
+ require 'ruby_version_check'
253
+ require 'active_support/whiny_nil'
254
+ rescue NameError
255
+ # Rails < 1.1
256
+ require 'action_web_service'
257
+ end
258
+ Object.send(:remove_const, :RAILS_ROOT)
259
+ end
260
+
261
+ def handle_spawn_application(app_root, lower_privilege, lowest_user, environment)
262
+ lower_privilege = lower_privilege == "true"
263
+ @spawners_lock.synchronize do
264
+ spawner = @spawners[app_root]
265
+ if spawner.nil?
266
+ begin
267
+ spawner = ApplicationSpawner.new(app_root,
268
+ lower_privilege, lowest_user,
269
+ environment)
270
+ spawner.start
271
+ rescue ArgumentError, AppInitError, ApplicationSpawner::Error => e
272
+ client.write('exception')
273
+ client.write_scalar(marshal_exception(e))
274
+ if e.child_exception.is_a?(LoadError)
275
+ # A source file failed to load, maybe because of a
276
+ # missing gem. If that's the case then the sysadmin
277
+ # will install probably the gem. So we clear RubyGems's
278
+ # cache so that it can detect new gems.
279
+ Gem.clear_paths
280
+ end
281
+ return
282
+ end
283
+ @spawners[app_root] = spawner
284
+ end
285
+ spawner.time = Time.now
286
+ begin
287
+ app = spawner.spawn_application
288
+ rescue ApplicationSpawner::Error => e
289
+ spawner.stop
290
+ @spawners.delete(app_root)
291
+ client.write('exception')
292
+ client.write_scalar(marshal_exception(e))
293
+ return
294
+ end
295
+ client.write('success')
296
+ client.write(app.pid, app.listen_socket_name, app.using_abstract_namespace?)
297
+ client.send_io(app.owner_pipe)
298
+ app.close
299
+ end
300
+ end
301
+
302
+ def handle_reload(app_root = nil)
303
+ @spawners_lock.synchronize do
304
+ if app_root.nil?
305
+ @spawners.each_value do |spawner|
306
+ spawner.stop
307
+ end
308
+ @spawners.clear
309
+ else
310
+ spawner = @spawners[app_root]
311
+ if spawner
312
+ spawner.stop
313
+ @spawners.delete(app_root)
314
+ end
315
+ end
316
+ end
317
+ end
318
+
319
+ # The main loop for the spawners cleaner thread.
320
+ # This thread checks the spawners list every APP_SPAWNER_CLEAN_INTERVAL seconds,
321
+ # and stops application spawners that have been idle for more than
322
+ # APP_SPAWNER_MAX_IDLE_TIME seconds.
323
+ def spawners_cleaner_main_loop
324
+ @spawners_lock.synchronize do
325
+ while true
326
+ if @spawners_cond.timed_wait(@spawners_lock, APP_SPAWNER_CLEAN_INTERVAL)
327
+ break
328
+ else
329
+ current_time = Time.now
330
+ @spawners.keys.each do |key|
331
+ spawner = @spawners[key]
332
+ if current_time - spawner.time > APP_SPAWNER_MAX_IDLE_TIME
333
+ spawner.stop
334
+ @spawners.delete(key)
335
+ end
336
+ end
337
+ end
338
+ end
339
+ end
340
+ end
341
+ end
342
+
343
+ end # module Railz
344
+ end # module Passenger
@@ -0,0 +1,61 @@
1
+ # Phusion Passenger - http://www.modrails.com/
2
+ # Copyright (C) 2008 Phusion
3
+ #
4
+ # This program is free software; you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation; version 2 of the License.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
17
+ require 'passenger/abstract_request_handler'
18
+ require 'passenger/railz/cgi_fixed'
19
+ module Passenger
20
+ module Railz
21
+
22
+ # A request handler for Ruby on Rails applications.
23
+ class RequestHandler < AbstractRequestHandler
24
+ NINJA_PATCHING_LOCK = Mutex.new
25
+ @@ninja_patched_action_controller = false
26
+
27
+ def initialize(owner_pipe)
28
+ super(owner_pipe)
29
+ NINJA_PATCHING_LOCK.synchronize do
30
+ ninja_patch_action_controller
31
+ end
32
+ end
33
+
34
+ protected
35
+ # Overrided method.
36
+ def process_request(headers, input, output)
37
+ cgi = CGIFixed.new(headers, input, output)
38
+ ::Dispatcher.dispatch(cgi,
39
+ ::ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS,
40
+ cgi.stdoutput)
41
+ end
42
+
43
+ private
44
+ def ninja_patch_action_controller
45
+ if !@@ninja_patched_action_controller && defined?(::ActionController::Base) \
46
+ && ::ActionController::Base.private_method_defined?(:perform_action)
47
+ @@ninja_patched_action_controller = true
48
+ ::ActionController::Base.class_eval do
49
+ alias passenger_orig_perform_action perform_action
50
+
51
+ def perform_action(*whatever)
52
+ headers[X_POWERED_BY] = PASSENGER_HEADER
53
+ passenger_orig_perform_action(*whatever)
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+
60
+ end # module Railz
61
+ end # module Passenger
@@ -1,6 +1,8 @@
1
1
  # Phusion Passenger - http://www.modrails.com/
2
2
  # Copyright (C) 2008 Phusion
3
3
  #
4
+ # Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.
5
+ #
4
6
  # This program is free software; you can redistribute it and/or modify
5
7
  # it under the terms of the GNU General Public License as published by
6
8
  # the Free Software Foundation; version 2 of the License.
@@ -1,6 +1,8 @@
1
1
  # Phusion Passenger - http://www.modrails.com/
2
2
  # Copyright (C) 2008 Phusion
3
3
  #
4
+ # Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.
5
+ #
4
6
  # This program is free software; you can redistribute it and/or modify
5
7
  # it under the terms of the GNU General Public License as published by
6
8
  # the Free Software Foundation; version 2 of the License.
@@ -15,34 +17,32 @@
15
17
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
18
 
17
19
  require 'passenger/abstract_server'
18
- require 'passenger/framework_spawner'
19
- require 'passenger/application'
20
- require 'passenger/message_channel'
21
- require 'passenger/html_template'
20
+ require 'passenger/constants'
22
21
  require 'passenger/utils'
23
- require 'passenger/platform_info'
24
22
  module Passenger
25
23
 
26
- # This class is capable of spawning Ruby on Rails application instances.
27
- # Spawning a Ruby on Rails application is usually slow. But SpawnManager
28
- # will preload and cache Ruby on Rails frameworks, as well as application
29
- # code, so subsequent spawns will be very fast.
30
- #
31
- # Internally, SpawnManager uses FrameworkSpawner to preload and cache
32
- # Ruby on Rails frameworks. FrameworkSpawner, in turn, uses
33
- # ApplicationSpawner to preload and cache application code.
24
+ # The spawn manager is capable of spawning Ruby on Rails or Rack application
25
+ # instances. It acts like a simple fascade for the rest of the spawn manager
26
+ # system.
34
27
  #
35
28
  # *Note*: SpawnManager may only be started synchronously with
36
29
  # AbstractServer#start_synchronously. Starting asynchronously has not been
37
30
  # tested. Don't forget to call cleanup after the server's main loop has
38
31
  # finished.
32
+ #
33
+ # == Ruby on Rails optimizations ===
34
+ #
35
+ # Spawning a Ruby on Rails application is usually slow. But SpawnManager
36
+ # will preload and cache Ruby on Rails frameworks, as well as application
37
+ # code, so subsequent spawns will be very fast.
38
+ #
39
+ # Internally, SpawnManager uses Railz::FrameworkSpawner to preload and cache
40
+ # Ruby on Rails frameworks. Railz::FrameworkSpawner, in turn, uses
41
+ # Railz::ApplicationSpawner to preload and cache application code.
42
+ #
43
+ # In case you're wondering why the namespace is "Railz" and not "Rails":
44
+ # it's to work around an obscure bug in ActiveSupport's Dispatcher.
39
45
  class SpawnManager < AbstractServer
40
- DEFAULT_INPUT_FD = 3
41
- FRAMEWORK_SPAWNER_MAX_IDLE_TIME = 30 * 60
42
- APP_SPAWNER_MAX_IDLE_TIME = FrameworkSpawner::APP_SPAWNER_MAX_IDLE_TIME
43
- SPAWNER_CLEAN_INTERVAL = [FRAMEWORK_SPAWNER_MAX_IDLE_TIME,
44
- APP_SPAWNER_MAX_IDLE_TIME].min + 5
45
-
46
46
  include Utils
47
47
 
48
48
  def initialize
@@ -56,19 +56,42 @@ class SpawnManager < AbstractServer
56
56
  define_message_handler(:spawn_application, :handle_spawn_application)
57
57
  define_message_handler(:reload, :handle_reload)
58
58
  define_signal_handler('SIGHUP', :reload)
59
+
60
+ GC.start
61
+ if GC.copy_on_write_friendly?
62
+ # Preload libraries for copy-on-write semantics.
63
+ require 'base64'
64
+ require 'passenger/application'
65
+ require 'passenger/railz/framework_spawner'
66
+ require 'passenger/railz/application_spawner'
67
+ require 'passenger/rack/application_spawner'
68
+ require 'passenger/html_template'
69
+ require 'passenger/platform_info'
70
+ require 'passenger/exceptions'
71
+
72
+ # Commonly used libraries.
73
+ ['mysql', 'sqlite3'].each do |lib|
74
+ require lib
75
+ end
76
+ end
59
77
  end
60
-
78
+
61
79
  # Spawn a RoR application When successful, an Application object will be
62
80
  # returned, which represents the spawned RoR application.
63
81
  #
64
- # See ApplicationSpawner.new for an explanation of the +lower_privilege+
65
- # and +lowest_user+ parameters.
82
+ # See Railz::ApplicationSpawner.new for an explanation of the +lower_privilege+,
83
+ # +lowest_user+ and +environment+ parameters.
66
84
  #
67
- # SpawnManager will internally cache the code of applications, in order to
68
- # speed up future spawning attempts. This implies that, if you've
69
- # changed the application's code, you must do one of these things:
85
+ # The +spawn_method+ argument may be one of "smart" or "conservative".
86
+ # When "smart" is specified (the default), SpawnManager will internally cache the
87
+ # code of applications, in order to speed up future spawning attempts. This implies
88
+ # that, if you've changed the application's code, you must do one of these things:
70
89
  # - Restart this SpawnManager by calling AbstractServer#stop, then AbstractServer#start.
71
90
  # - Reload the application by calling reload with the correct app_root argument.
91
+ # Caching however can be incompatible with some applications.
92
+ #
93
+ # The "conservative" spawning method does not involve any caching at all.
94
+ # Spawning will be slower, but is guaranteed to be compatible with all applications.
72
95
  #
73
96
  # Raises:
74
97
  # - ArgumentError: +app_root+ doesn't appear to be a valid Ruby on Rails application root.
@@ -77,48 +100,27 @@ class SpawnManager < AbstractServer
77
100
  # - AbstractServer::ServerError: One of the server processes exited unexpectedly.
78
101
  # - FrameworkInitError: The Ruby on Rails framework that the application requires could not be loaded.
79
102
  # - AppInitError: The application raised an exception or called exit() during startup.
80
- def spawn_application(app_root, lower_privilege = true, lowest_user = "nobody")
81
- framework_version = Application.detect_framework_version(app_root)
82
- if framework_version == :vendor
83
- vendor_path = normalize_path("#{app_root}/vendor/rails")
84
- key = "vendor:#{vendor_path}"
85
- create_spawner = proc do
86
- FrameworkSpawner.new(:vendor => vendor_path)
87
- end
88
- elsif framework_version.nil?
89
- app_root = normalize_path(app_root)
90
- key = "app:#{app_root}"
91
- create_spawner = proc do
92
- ApplicationSpawner.new(app_root, lower_privilege, lowest_user)
103
+ def spawn_application(app_root, lower_privilege = true, lowest_user = "nobody",
104
+ environment = "production", spawn_method = "smart",
105
+ app_type = "rails")
106
+ if app_type == "rack"
107
+ if !defined?(Rack::ApplicationSpawner)
108
+ require 'passenger/rack/application_spawner'
93
109
  end
110
+ return Rack::ApplicationSpawner.spawn_application(app_root,
111
+ lower_privilege, lowest_user, environment)
112
+ elsif app_type == "wsgi"
113
+ require 'passenger/wsgi/application_spawner'
114
+ return WSGI::ApplicationSpawner.spawn_application(app_root,
115
+ lower_privilege, lowest_user, environment)
94
116
  else
95
- key = "version:#{framework_version}"
96
- create_spawner = proc do
97
- FrameworkSpawner.new(:version => framework_version)
98
- end
99
- end
100
-
101
- spawner = nil
102
- @lock.synchronize do
103
- spawner = @spawners[key]
104
- if !spawner
105
- spawner = create_spawner.call
106
- spawner.start
107
- @spawners[key] = spawner
108
- end
109
- spawner.time = Time.now
110
- begin
111
- if spawner.is_a?(FrameworkSpawner)
112
- return spawner.spawn_application(app_root, lower_privilege,
113
- lowest_user)
114
- else
115
- return spawner.spawn_application
116
- end
117
- rescue AbstractServer::ServerError
118
- spawner.stop
119
- @spawners.delete(key)
120
- raise
117
+ if !defined?(Railz::FrameworkSpawner)
118
+ require 'passenger/application'
119
+ require 'passenger/railz/framework_spawner'
120
+ require 'passenger/railz/application_spawner'
121
121
  end
122
+ return spawn_rails_application(app_root, lower_privilege, lowest_user,
123
+ environment, spawn_method)
122
124
  end
123
125
  end
124
126
 
@@ -148,7 +150,9 @@ class SpawnManager < AbstractServer
148
150
  key = "app:#{app_root}"
149
151
  spawner = @spawners[key]
150
152
  if spawner
151
- spawner.stop
153
+ if spawner.started?
154
+ spawner.stop
155
+ end
152
156
  @spawners.delete(key)
153
157
  end
154
158
  end
@@ -169,18 +173,85 @@ class SpawnManager < AbstractServer
169
173
  @cleaner_thread.join
170
174
  @lock.synchronize do
171
175
  @spawners.each_value do |spawner|
172
- spawner.stop
176
+ if spawner.started?
177
+ spawner.stop
178
+ end
173
179
  end
174
180
  @spawners.clear
175
181
  end
176
182
  end
177
183
 
178
184
  private
179
- def handle_spawn_application(app_root, lower_privilege, lowest_user)
185
+ def spawn_rails_application(app_root, lower_privilege, lowest_user,
186
+ environment, spawn_method)
187
+ if spawn_method == "smart"
188
+ spawner_must_be_started = true
189
+ framework_version = Application.detect_framework_version(app_root)
190
+ if framework_version == :vendor
191
+ vendor_path = normalize_path("#{app_root}/vendor/rails")
192
+ key = "vendor:#{vendor_path}"
193
+ create_spawner = proc do
194
+ Railz::FrameworkSpawner.new(:vendor => vendor_path)
195
+ end
196
+ elsif framework_version.nil?
197
+ app_root = normalize_path(app_root)
198
+ key = "app:#{app_root}"
199
+ create_spawner = proc do
200
+ Railz::ApplicationSpawner.new(app_root, lower_privilege,
201
+ lowest_user, environment)
202
+ end
203
+ else
204
+ key = "version:#{framework_version}"
205
+ create_spawner = proc do
206
+ Railz::FrameworkSpawner.new(:version => framework_version)
207
+ end
208
+ end
209
+ else
210
+ app_root = normalize_path(app_root)
211
+ key = "app:#{app_root}"
212
+ create_spawner = proc do
213
+ Railz::ApplicationSpawner.new(app_root, lower_privilege, lowest_user, environment)
214
+ end
215
+ spawner_must_be_started = false
216
+ end
217
+
218
+ spawner = nil
219
+ @lock.synchronize do
220
+ spawner = @spawners[key]
221
+ if !spawner
222
+ spawner = create_spawner.call
223
+ if spawner_must_be_started
224
+ spawner.start
225
+ end
226
+ @spawners[key] = spawner
227
+ end
228
+ spawner.time = Time.now
229
+ begin
230
+ if spawner.is_a?(Railz::FrameworkSpawner)
231
+ return spawner.spawn_application(app_root, lower_privilege,
232
+ lowest_user, environment)
233
+ elsif spawner.started?
234
+ return spawner.spawn_application
235
+ else
236
+ return spawner.spawn_application!
237
+ end
238
+ rescue AbstractServer::ServerError
239
+ if spawner.started?
240
+ spawner.stop
241
+ end
242
+ @spawners.delete(key)
243
+ raise
244
+ end
245
+ end
246
+ end
247
+
248
+ def handle_spawn_application(app_root, lower_privilege, lowest_user, environment,
249
+ spawn_method, app_type)
180
250
  lower_privilege = lower_privilege == "true"
181
251
  app = nil
182
252
  begin
183
- app = spawn_application(app_root, lower_privilege, lowest_user)
253
+ app = spawn_application(app_root, lower_privilege, lowest_user,
254
+ environment, spawn_method, app_type)
184
255
  rescue ArgumentError => e
185
256
  send_error_page(client, 'invalid_app_root', :error => e, :app_root => app_root)
186
257
  rescue AbstractServer::ServerError => e
@@ -188,33 +259,39 @@ private
188
259
  rescue VersionNotFound => e
189
260
  send_error_page(client, 'version_not_found', :error => e, :app_root => app_root)
190
261
  rescue AppInitError => e
191
- if (defined?(Mysql::Error) && e.child_exception.is_a?(Mysql::Error)) ||
192
- (e.child_exception.is_a?(UnknownError) && e.child_exception.real_class_name =~ /^ActiveRecord/)
262
+ if database_error?(e)
193
263
  send_error_page(client, 'database_error', :error => e,
194
- :app_root => app_root)
195
- elsif e.child_exception.is_a?(LoadError) ||
196
- (e.child_exception.is_a?(UnknownError) && e.child_exception.real_class_name == "MissingSourceFile")
264
+ :app_root => app_root, :app_name => app_name(app_type),
265
+ :app_type => app_type)
266
+ elsif load_error?(e)
197
267
  # A source file failed to load, maybe because of a
198
268
  # missing gem. If that's the case then the sysadmin
199
269
  # will install probably the gem. So we clear RubyGems's
200
270
  # cache so that it can detect new gems.
201
271
  Gem.clear_paths
202
- send_error_page(client, 'load_error', :error => e, :app_root => app_root)
272
+ send_error_page(client, 'load_error', :error => e, :app_root => app_root,
273
+ :app_name => app_name(app_type))
203
274
  elsif e.child_exception.nil?
204
275
  send_error_page(client, 'app_exited_during_initialization', :error => e,
205
- :app_root => app_root)
276
+ :app_root => app_root, :app_name => app_name(app_type))
206
277
  else
207
278
  send_error_page(client, 'app_init_error', :error => e,
208
- :app_root => app_root)
279
+ :app_root => app_root, :app_name => app_name(app_type))
209
280
  end
210
281
  rescue FrameworkInitError => e
211
282
  send_error_page(client, 'framework_init_error', :error => e)
212
283
  end
213
284
  if app
214
- client.write('ok')
215
- client.write(app.pid, app.listen_socket_name, app.using_abstract_namespace?)
216
- client.send_io(app.owner_pipe)
217
- app.close
285
+ begin
286
+ client.write('ok')
287
+ client.write(app.pid, app.listen_socket_name, app.using_abstract_namespace?)
288
+ client.send_io(app.owner_pipe)
289
+ rescue Errno::EPIPE
290
+ # The Apache module may be interrupted during a spawn command,
291
+ # in which case it will close the connection. We ignore this error.
292
+ ensure
293
+ app.close
294
+ end
218
295
  end
219
296
  end
220
297
 
@@ -231,13 +308,15 @@ private
231
308
  current_time = Time.now
232
309
  @spawners.keys.each do |key|
233
310
  spawner = @spawners[key]
234
- if spawner.is_a?(FrameworkSpawner)
311
+ if spawner.is_a?(Railz::FrameworkSpawner)
235
312
  max_idle_time = FRAMEWORK_SPAWNER_MAX_IDLE_TIME
236
313
  else
237
314
  max_idle_time = APP_SPAWNER_MAX_IDLE_TIME
238
315
  end
239
316
  if current_time - spawner.time > max_idle_time
240
- spawner.stop
317
+ if spawner.started?
318
+ spawner.stop
319
+ end
241
320
  @spawners.delete(key)
242
321
  end
243
322
  end
@@ -247,11 +326,39 @@ private
247
326
  end
248
327
 
249
328
  def send_error_page(channel, template_name, options = {})
250
- options["enterprisey"] = File.exist?("#{File.dirname(__FILE__)}/../../enterprisey.txt")
329
+ require 'passenger/html_template' unless defined?(HTMLTemplate)
330
+ require 'passenger/platform_info' unless defined?(PlatformInfo)
331
+ options["enterprisey"] = File.exist?("#{File.dirname(__FILE__)}/../../enterprisey.txt") ||
332
+ File.exist?("/etc/passenger_enterprisey.txt")
251
333
  data = HTMLTemplate.new(template_name, options).result
252
334
  channel.write('error_page')
253
335
  channel.write_scalar(data)
254
336
  end
337
+
338
+ def database_error?(e)
339
+ return ( defined?(Mysql::Error) && e.child_exception.is_a?(Mysql::Error) ) ||
340
+ ( e.child_exception.is_a?(UnknownError) &&
341
+ (
342
+ e.child_exception.real_class_name =~ /^ActiveRecord/ ||
343
+ e.child_exception.real_class_name =~ /^Mysql::/
344
+ )
345
+ )
346
+ end
347
+
348
+ def load_error?(e)
349
+ return e.child_exception.is_a?(LoadError) || (
350
+ e.child_exception.is_a?(UnknownError) &&
351
+ e.child_exception.real_class_name == "MissingSourceFile"
352
+ )
353
+ end
354
+
355
+ def app_name(app_type)
356
+ if app_type == "rails"
357
+ return "Ruby on Rails"
358
+ else
359
+ return "Ruby (Rack)"
360
+ end
361
+ end
255
362
  end
256
363
 
257
364
  end # module Passenger