passenger 1.0.1

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

Potentially problematic release.


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

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