colouringcode-passenger 0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1064) hide show
  1. data/DEVELOPERS.TXT +101 -0
  2. data/INSTALL +6 -0
  3. data/LICENSE +19 -0
  4. data/NEWS +174 -0
  5. data/README +59 -0
  6. data/Rakefile +921 -0
  7. data/benchmark/ApplicationPool.cpp +52 -0
  8. data/benchmark/accept_vs_socketpair_vs_named_pipes.rb +126 -0
  9. data/benchmark/dispatcher.rb +42 -0
  10. data/benchmark/overhead_of_password_checking.rb +81 -0
  11. data/benchmark/socket_connections_vs_persistent_pipe.rb +99 -0
  12. data/benchmark/unix_sockets_vs_pipes.rb +83 -0
  13. data/bin/passenger-config +46 -0
  14. data/bin/passenger-install-apache2-module +223 -0
  15. data/bin/passenger-install-nginx-module +472 -0
  16. data/bin/passenger-make-enterprisey +83 -0
  17. data/bin/passenger-memory-stats +301 -0
  18. data/bin/passenger-spawn-server +68 -0
  19. data/bin/passenger-status +125 -0
  20. data/bin/passenger-stress-test +344 -0
  21. data/debian/compat +1 -0
  22. data/debian/control +21 -0
  23. data/debian/postinst +24 -0
  24. data/debian/prerm +2 -0
  25. data/doc/ApplicationPool algorithm.txt +402 -0
  26. data/doc/Architectural overview.html +1 -0
  27. data/doc/Architectural overview.txt +334 -0
  28. data/doc/Doxyfile +241 -0
  29. data/doc/Security of user switching support.html +1 -0
  30. data/doc/Security of user switching support.txt +197 -0
  31. data/doc/Users guide Apache.html +1 -0
  32. data/doc/Users guide Apache.txt +1848 -0
  33. data/doc/Users guide Nginx.html +1 -0
  34. data/doc/Users guide Nginx.txt +769 -0
  35. data/doc/definitions.h +5 -0
  36. data/doc/images/by_sa.png +0 -0
  37. data/doc/images/conservative_spawning.png +0 -0
  38. data/doc/images/conservative_spawning.svg +248 -0
  39. data/doc/images/icons/README +5 -0
  40. data/doc/images/icons/callouts/1.png +0 -0
  41. data/doc/images/icons/callouts/10.png +0 -0
  42. data/doc/images/icons/callouts/11.png +0 -0
  43. data/doc/images/icons/callouts/12.png +0 -0
  44. data/doc/images/icons/callouts/13.png +0 -0
  45. data/doc/images/icons/callouts/14.png +0 -0
  46. data/doc/images/icons/callouts/15.png +0 -0
  47. data/doc/images/icons/callouts/2.png +0 -0
  48. data/doc/images/icons/callouts/3.png +0 -0
  49. data/doc/images/icons/callouts/4.png +0 -0
  50. data/doc/images/icons/callouts/5.png +0 -0
  51. data/doc/images/icons/callouts/6.png +0 -0
  52. data/doc/images/icons/callouts/7.png +0 -0
  53. data/doc/images/icons/callouts/8.png +0 -0
  54. data/doc/images/icons/callouts/9.png +0 -0
  55. data/doc/images/icons/caution.png +0 -0
  56. data/doc/images/icons/example.png +0 -0
  57. data/doc/images/icons/home.png +0 -0
  58. data/doc/images/icons/important.png +0 -0
  59. data/doc/images/icons/next.png +0 -0
  60. data/doc/images/icons/note.png +0 -0
  61. data/doc/images/icons/prev.png +0 -0
  62. data/doc/images/icons/tip.png +0 -0
  63. data/doc/images/icons/up.png +0 -0
  64. data/doc/images/icons/warning.png +0 -0
  65. data/doc/images/passenger_architecture.png +0 -0
  66. data/doc/images/passenger_architecture.svg +401 -0
  67. data/doc/images/phusion_banner.png +0 -0
  68. data/doc/images/smart-lv2.png +0 -0
  69. data/doc/images/smart-lv2.svg +320 -0
  70. data/doc/images/spawn_server_architecture.png +0 -0
  71. data/doc/images/spawn_server_architecture.svg +655 -0
  72. data/doc/images/typical_isolated_web_application.png +0 -0
  73. data/doc/images/typical_isolated_web_application.svg +213 -0
  74. data/doc/rdoc/classes/ConditionVariable.html +194 -0
  75. data/doc/rdoc/classes/Exception.html +120 -0
  76. data/doc/rdoc/classes/GC.html +113 -0
  77. data/doc/rdoc/classes/IO.html +169 -0
  78. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +153 -0
  79. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +517 -0
  80. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +97 -0
  81. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +96 -0
  82. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +97 -0
  83. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +96 -0
  84. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +719 -0
  85. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +598 -0
  86. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +138 -0
  87. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +317 -0
  88. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +140 -0
  89. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +154 -0
  90. data/doc/rdoc/classes/PhusionPassenger/Application.html +283 -0
  91. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +172 -0
  92. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +145 -0
  93. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +181 -0
  94. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +141 -0
  95. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +92 -0
  96. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +489 -0
  97. data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +350 -0
  98. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +188 -0
  99. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +199 -0
  100. data/doc/rdoc/classes/PhusionPassenger/Rack.html +91 -0
  101. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +98 -0
  102. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +438 -0
  103. data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +200 -0
  104. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +98 -0
  105. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +436 -0
  106. data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +155 -0
  107. data/doc/rdoc/classes/PhusionPassenger/Railz.html +95 -0
  108. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +402 -0
  109. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +125 -0
  110. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +169 -0
  111. data/doc/rdoc/classes/PhusionPassenger/Utils.html +803 -0
  112. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +140 -0
  113. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +188 -0
  114. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +89 -0
  115. data/doc/rdoc/classes/PhusionPassenger.html +238 -0
  116. data/doc/rdoc/classes/PlatformInfo.html +866 -0
  117. data/doc/rdoc/classes/RakeExtensions.html +197 -0
  118. data/doc/rdoc/classes/Signal.html +131 -0
  119. data/doc/rdoc/created.rid +1 -0
  120. data/doc/rdoc/files/DEVELOPERS_TXT.html +255 -0
  121. data/doc/rdoc/files/README.html +175 -0
  122. data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +92 -0
  123. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +129 -0
  124. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +129 -0
  125. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +126 -0
  126. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +128 -0
  127. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +130 -0
  128. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +122 -0
  129. data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +127 -0
  130. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +126 -0
  131. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +122 -0
  132. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +134 -0
  133. data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +122 -0
  134. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +122 -0
  135. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +126 -0
  136. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +120 -0
  137. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +122 -0
  138. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +127 -0
  139. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +133 -0
  140. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +125 -0
  141. data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +140 -0
  142. data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +126 -0
  143. data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +145 -0
  144. data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +125 -0
  145. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +122 -0
  146. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +159 -0
  147. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +174 -0
  148. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +129 -0
  149. data/doc/rdoc/files/misc/rake/extensions_rb.html +130 -0
  150. data/doc/rdoc/fr_class_index.html +91 -0
  151. data/doc/rdoc/fr_file_index.html +76 -0
  152. data/doc/rdoc/fr_method_index.html +205 -0
  153. data/doc/rdoc/index.html +26 -0
  154. data/doc/rdoc/rdoc-style.css +187 -0
  155. data/doc/template/horo.rb +613 -0
  156. data/doc/users_guide_snippets/analysis_and_system_maintenance_tools.txt +144 -0
  157. data/doc/users_guide_snippets/appendix_a_about.txt +13 -0
  158. data/doc/users_guide_snippets/appendix_b_terminology.txt +63 -0
  159. data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +304 -0
  160. data/doc/users_guide_snippets/global_queueing_explained.txt +78 -0
  161. data/doc/users_guide_snippets/rackup_specifications.txt +71 -0
  162. data/doc/users_guide_snippets/rails_spawn_method.txt +48 -0
  163. data/doc/users_guide_snippets/tips.txt +173 -0
  164. data/ext/apache2/Bucket.cpp +190 -0
  165. data/ext/apache2/Bucket.h +87 -0
  166. data/ext/apache2/Configuration.cpp +798 -0
  167. data/ext/apache2/Configuration.h +405 -0
  168. data/ext/apache2/DirectoryMapper.h +296 -0
  169. data/ext/apache2/Hooks.cpp +1615 -0
  170. data/ext/apache2/Hooks.h +45 -0
  171. data/ext/apache2/LICENSE-CNRI.TXT +79 -0
  172. data/ext/apache2/mod_passenger.c +38 -0
  173. data/ext/boost/LICENSE.TXT +23 -0
  174. data/ext/boost/VERSION.TXT +1 -0
  175. data/ext/boost/algorithm/string/case_conv.hpp +176 -0
  176. data/ext/boost/algorithm/string/compare.hpp +199 -0
  177. data/ext/boost/algorithm/string/concept.hpp +83 -0
  178. data/ext/boost/algorithm/string/config.hpp +28 -0
  179. data/ext/boost/algorithm/string/constants.hpp +36 -0
  180. data/ext/boost/algorithm/string/detail/case_conv.hpp +112 -0
  181. data/ext/boost/algorithm/string/detail/find_format.hpp +193 -0
  182. data/ext/boost/algorithm/string/detail/find_format_all.hpp +263 -0
  183. data/ext/boost/algorithm/string/detail/find_format_store.hpp +71 -0
  184. data/ext/boost/algorithm/string/detail/finder.hpp +646 -0
  185. data/ext/boost/algorithm/string/detail/formatter.hpp +94 -0
  186. data/ext/boost/algorithm/string/detail/replace_storage.hpp +159 -0
  187. data/ext/boost/algorithm/string/detail/sequence.hpp +200 -0
  188. data/ext/boost/algorithm/string/detail/util.hpp +106 -0
  189. data/ext/boost/algorithm/string/erase.hpp +844 -0
  190. data/ext/boost/algorithm/string/find_format.hpp +269 -0
  191. data/ext/boost/algorithm/string/finder.hpp +270 -0
  192. data/ext/boost/algorithm/string/formatter.hpp +103 -0
  193. data/ext/boost/algorithm/string/replace.hpp +928 -0
  194. data/ext/boost/algorithm/string/sequence_traits.hpp +193 -0
  195. data/ext/boost/algorithm/string/yes_no_type.hpp +33 -0
  196. data/ext/boost/assert.hpp +50 -0
  197. data/ext/boost/bind/arg.hpp +62 -0
  198. data/ext/boost/bind/bind_cc.hpp +117 -0
  199. data/ext/boost/bind/bind_mf_cc.hpp +227 -0
  200. data/ext/boost/bind/bind_template.hpp +345 -0
  201. data/ext/boost/bind/mem_fn_cc.hpp +103 -0
  202. data/ext/boost/bind/mem_fn_template.hpp +1020 -0
  203. data/ext/boost/bind/placeholders.hpp +68 -0
  204. data/ext/boost/bind/storage.hpp +475 -0
  205. data/ext/boost/bind.hpp +1689 -0
  206. data/ext/boost/call_traits.hpp +24 -0
  207. data/ext/boost/checked_delete.hpp +69 -0
  208. data/ext/boost/concept/assert.hpp +46 -0
  209. data/ext/boost/concept/detail/concept_def.hpp +51 -0
  210. data/ext/boost/concept/detail/concept_undef.hpp +5 -0
  211. data/ext/boost/concept/detail/general.hpp +66 -0
  212. data/ext/boost/concept/detail/has_constraints.hpp +48 -0
  213. data/ext/boost/concept/usage.hpp +43 -0
  214. data/ext/boost/concept_check.hpp +988 -0
  215. data/ext/boost/config/abi/borland_prefix.hpp +27 -0
  216. data/ext/boost/config/abi/borland_suffix.hpp +12 -0
  217. data/ext/boost/config/abi/msvc_prefix.hpp +8 -0
  218. data/ext/boost/config/abi/msvc_suffix.hpp +8 -0
  219. data/ext/boost/config/abi_prefix.hpp +25 -0
  220. data/ext/boost/config/abi_suffix.hpp +26 -0
  221. data/ext/boost/config/auto_link.hpp +368 -0
  222. data/ext/boost/config/compiler/borland.hpp +209 -0
  223. data/ext/boost/config/compiler/comeau.hpp +59 -0
  224. data/ext/boost/config/compiler/common_edg.hpp +62 -0
  225. data/ext/boost/config/compiler/compaq_cxx.hpp +19 -0
  226. data/ext/boost/config/compiler/digitalmars.hpp +67 -0
  227. data/ext/boost/config/compiler/gcc.hpp +149 -0
  228. data/ext/boost/config/compiler/gcc_xml.hpp +30 -0
  229. data/ext/boost/config/compiler/greenhills.hpp +28 -0
  230. data/ext/boost/config/compiler/hp_acc.hpp +95 -0
  231. data/ext/boost/config/compiler/intel.hpp +162 -0
  232. data/ext/boost/config/compiler/kai.hpp +35 -0
  233. data/ext/boost/config/compiler/metrowerks.hpp +111 -0
  234. data/ext/boost/config/compiler/mpw.hpp +51 -0
  235. data/ext/boost/config/compiler/pgi.hpp +25 -0
  236. data/ext/boost/config/compiler/sgi_mipspro.hpp +28 -0
  237. data/ext/boost/config/compiler/sunpro_cc.hpp +98 -0
  238. data/ext/boost/config/compiler/vacpp.hpp +60 -0
  239. data/ext/boost/config/compiler/visualc.hpp +191 -0
  240. data/ext/boost/config/no_tr1/complex.hpp +28 -0
  241. data/ext/boost/config/no_tr1/functional.hpp +28 -0
  242. data/ext/boost/config/no_tr1/memory.hpp +28 -0
  243. data/ext/boost/config/no_tr1/utility.hpp +28 -0
  244. data/ext/boost/config/platform/aix.hpp +33 -0
  245. data/ext/boost/config/platform/amigaos.hpp +15 -0
  246. data/ext/boost/config/platform/beos.hpp +26 -0
  247. data/ext/boost/config/platform/bsd.hpp +73 -0
  248. data/ext/boost/config/platform/cygwin.hpp +51 -0
  249. data/ext/boost/config/platform/hpux.hpp +84 -0
  250. data/ext/boost/config/platform/irix.hpp +31 -0
  251. data/ext/boost/config/platform/linux.hpp +98 -0
  252. data/ext/boost/config/platform/macos.hpp +78 -0
  253. data/ext/boost/config/platform/qnxnto.hpp +31 -0
  254. data/ext/boost/config/platform/solaris.hpp +21 -0
  255. data/ext/boost/config/platform/win32.hpp +58 -0
  256. data/ext/boost/config/posix_features.hpp +95 -0
  257. data/ext/boost/config/requires_threads.hpp +92 -0
  258. data/ext/boost/config/select_compiler_config.hpp +115 -0
  259. data/ext/boost/config/select_platform_config.hpp +90 -0
  260. data/ext/boost/config/select_stdlib_config.hpp +68 -0
  261. data/ext/boost/config/stdlib/dinkumware.hpp +106 -0
  262. data/ext/boost/config/stdlib/libcomo.hpp +46 -0
  263. data/ext/boost/config/stdlib/libstdcpp3.hpp +73 -0
  264. data/ext/boost/config/stdlib/modena.hpp +30 -0
  265. data/ext/boost/config/stdlib/msl.hpp +59 -0
  266. data/ext/boost/config/stdlib/roguewave.hpp +153 -0
  267. data/ext/boost/config/stdlib/sgi.hpp +111 -0
  268. data/ext/boost/config/stdlib/stlport.hpp +201 -0
  269. data/ext/boost/config/stdlib/vacpp.hpp +18 -0
  270. data/ext/boost/config/suffix.hpp +566 -0
  271. data/ext/boost/config/user.hpp +124 -0
  272. data/ext/boost/config.hpp +70 -0
  273. data/ext/boost/cstdint.hpp +449 -0
  274. data/ext/boost/current_function.hpp +67 -0
  275. data/ext/boost/date_time/adjust_functors.hpp +178 -0
  276. data/ext/boost/date_time/c_time.hpp +91 -0
  277. data/ext/boost/date_time/compiler_config.hpp +149 -0
  278. data/ext/boost/date_time/constrained_value.hpp +98 -0
  279. data/ext/boost/date_time/date.hpp +197 -0
  280. data/ext/boost/date_time/date_clock_device.hpp +77 -0
  281. data/ext/boost/date_time/date_defs.hpp +26 -0
  282. data/ext/boost/date_time/date_duration.hpp +147 -0
  283. data/ext/boost/date_time/date_duration_types.hpp +269 -0
  284. data/ext/boost/date_time/date_facet.hpp +775 -0
  285. data/ext/boost/date_time/date_format_simple.hpp +159 -0
  286. data/ext/boost/date_time/date_formatting.hpp +127 -0
  287. data/ext/boost/date_time/date_formatting_limited.hpp +121 -0
  288. data/ext/boost/date_time/date_formatting_locales.hpp +233 -0
  289. data/ext/boost/date_time/date_generator_formatter.hpp +263 -0
  290. data/ext/boost/date_time/date_generator_parser.hpp +329 -0
  291. data/ext/boost/date_time/date_generators.hpp +509 -0
  292. data/ext/boost/date_time/date_iterator.hpp +101 -0
  293. data/ext/boost/date_time/date_names_put.hpp +320 -0
  294. data/ext/boost/date_time/date_parsing.hpp +299 -0
  295. data/ext/boost/date_time/dst_rules.hpp +391 -0
  296. data/ext/boost/date_time/filetime_functions.hpp +78 -0
  297. data/ext/boost/date_time/format_date_parser.hpp +731 -0
  298. data/ext/boost/date_time/gregorian/conversion.hpp +73 -0
  299. data/ext/boost/date_time/gregorian/formatters.hpp +162 -0
  300. data/ext/boost/date_time/gregorian/formatters_limited.hpp +81 -0
  301. data/ext/boost/date_time/gregorian/greg_calendar.hpp +47 -0
  302. data/ext/boost/date_time/gregorian/greg_date.hpp +135 -0
  303. data/ext/boost/date_time/gregorian/greg_day.hpp +57 -0
  304. data/ext/boost/date_time/gregorian/greg_day_of_year.hpp +38 -0
  305. data/ext/boost/date_time/gregorian/greg_duration.hpp +38 -0
  306. data/ext/boost/date_time/gregorian/greg_duration_types.hpp +34 -0
  307. data/ext/boost/date_time/gregorian/greg_month.hpp +105 -0
  308. data/ext/boost/date_time/gregorian/greg_weekday.hpp +66 -0
  309. data/ext/boost/date_time/gregorian/greg_year.hpp +53 -0
  310. data/ext/boost/date_time/gregorian/greg_ymd.hpp +33 -0
  311. data/ext/boost/date_time/gregorian/gregorian.hpp +38 -0
  312. data/ext/boost/date_time/gregorian/gregorian_io.hpp +777 -0
  313. data/ext/boost/date_time/gregorian/gregorian_types.hpp +109 -0
  314. data/ext/boost/date_time/gregorian/parsers.hpp +91 -0
  315. data/ext/boost/date_time/gregorian_calendar.hpp +70 -0
  316. data/ext/boost/date_time/gregorian_calendar.ipp +219 -0
  317. data/ext/boost/date_time/int_adapter.hpp +507 -0
  318. data/ext/boost/date_time/iso_format.hpp +303 -0
  319. data/ext/boost/date_time/locale_config.hpp +31 -0
  320. data/ext/boost/date_time/microsec_time_clock.hpp +205 -0
  321. data/ext/boost/date_time/parse_format_base.hpp +29 -0
  322. data/ext/boost/date_time/period.hpp +377 -0
  323. data/ext/boost/date_time/period_formatter.hpp +196 -0
  324. data/ext/boost/date_time/period_parser.hpp +196 -0
  325. data/ext/boost/date_time/posix_time/conversion.hpp +93 -0
  326. data/ext/boost/date_time/posix_time/date_duration_operators.hpp +114 -0
  327. data/ext/boost/date_time/posix_time/posix_time.hpp +39 -0
  328. data/ext/boost/date_time/posix_time/posix_time_config.hpp +178 -0
  329. data/ext/boost/date_time/posix_time/posix_time_duration.hpp +82 -0
  330. data/ext/boost/date_time/posix_time/posix_time_io.hpp +246 -0
  331. data/ext/boost/date_time/posix_time/posix_time_system.hpp +68 -0
  332. data/ext/boost/date_time/posix_time/posix_time_types.hpp +55 -0
  333. data/ext/boost/date_time/posix_time/ptime.hpp +65 -0
  334. data/ext/boost/date_time/posix_time/time_formatters.hpp +289 -0
  335. data/ext/boost/date_time/posix_time/time_parsers.hpp +44 -0
  336. data/ext/boost/date_time/posix_time/time_period.hpp +29 -0
  337. data/ext/boost/date_time/special_defs.hpp +25 -0
  338. data/ext/boost/date_time/special_values_formatter.hpp +96 -0
  339. data/ext/boost/date_time/special_values_parser.hpp +159 -0
  340. data/ext/boost/date_time/string_convert.hpp +33 -0
  341. data/ext/boost/date_time/string_parse_tree.hpp +278 -0
  342. data/ext/boost/date_time/strings_from_facet.hpp +123 -0
  343. data/ext/boost/date_time/time.hpp +190 -0
  344. data/ext/boost/date_time/time_clock.hpp +83 -0
  345. data/ext/boost/date_time/time_defs.hpp +33 -0
  346. data/ext/boost/date_time/time_duration.hpp +281 -0
  347. data/ext/boost/date_time/time_facet.hpp +1263 -0
  348. data/ext/boost/date_time/time_formatting_streams.hpp +119 -0
  349. data/ext/boost/date_time/time_iterator.hpp +52 -0
  350. data/ext/boost/date_time/time_parsing.hpp +321 -0
  351. data/ext/boost/date_time/time_resolution_traits.hpp +140 -0
  352. data/ext/boost/date_time/time_system_counted.hpp +254 -0
  353. data/ext/boost/date_time/time_system_split.hpp +213 -0
  354. data/ext/boost/date_time/wrapping_int.hpp +163 -0
  355. data/ext/boost/date_time/year_month_day.hpp +45 -0
  356. data/ext/boost/detail/atomic_count.hpp +124 -0
  357. data/ext/boost/detail/atomic_count_gcc.hpp +68 -0
  358. data/ext/boost/detail/atomic_count_gcc_x86.hpp +84 -0
  359. data/ext/boost/detail/atomic_count_pthreads.hpp +96 -0
  360. data/ext/boost/detail/atomic_count_solaris.hpp +59 -0
  361. data/ext/boost/detail/atomic_count_sync.hpp +57 -0
  362. data/ext/boost/detail/atomic_count_win32.hpp +63 -0
  363. data/ext/boost/detail/bad_weak_ptr.hpp +59 -0
  364. data/ext/boost/detail/call_traits.hpp +164 -0
  365. data/ext/boost/detail/endian.hpp +73 -0
  366. data/ext/boost/detail/indirect_traits.hpp +487 -0
  367. data/ext/boost/detail/iterator.hpp +494 -0
  368. data/ext/boost/detail/lcast_precision.hpp +184 -0
  369. data/ext/boost/detail/limits.hpp +449 -0
  370. data/ext/boost/detail/reference_content.hpp +141 -0
  371. data/ext/boost/detail/shared_count.hpp +375 -0
  372. data/ext/boost/detail/sp_counted_base.hpp +81 -0
  373. data/ext/boost/detail/sp_counted_base_acc_ia64.hpp +150 -0
  374. data/ext/boost/detail/sp_counted_base_cw_ppc.hpp +170 -0
  375. data/ext/boost/detail/sp_counted_base_cw_x86.hpp +158 -0
  376. data/ext/boost/detail/sp_counted_base_gcc_ia64.hpp +157 -0
  377. data/ext/boost/detail/sp_counted_base_gcc_ppc.hpp +181 -0
  378. data/ext/boost/detail/sp_counted_base_gcc_sparc.hpp +166 -0
  379. data/ext/boost/detail/sp_counted_base_gcc_x86.hpp +173 -0
  380. data/ext/boost/detail/sp_counted_base_nt.hpp +107 -0
  381. data/ext/boost/detail/sp_counted_base_pt.hpp +135 -0
  382. data/ext/boost/detail/sp_counted_base_solaris.hpp +113 -0
  383. data/ext/boost/detail/sp_counted_base_sync.hpp +151 -0
  384. data/ext/boost/detail/sp_counted_base_w32.hpp +130 -0
  385. data/ext/boost/detail/sp_counted_impl.hpp +231 -0
  386. data/ext/boost/detail/sp_typeinfo.hpp +83 -0
  387. data/ext/boost/detail/workaround.hpp +202 -0
  388. data/ext/boost/enable_shared_from_this.hpp +73 -0
  389. data/ext/boost/function/detail/function_iterate.hpp +16 -0
  390. data/ext/boost/function/detail/maybe_include.hpp +267 -0
  391. data/ext/boost/function/detail/prologue.hpp +25 -0
  392. data/ext/boost/function/function_base.hpp +762 -0
  393. data/ext/boost/function/function_template.hpp +969 -0
  394. data/ext/boost/function.hpp +66 -0
  395. data/ext/boost/function_equal.hpp +28 -0
  396. data/ext/boost/get_pointer.hpp +29 -0
  397. data/ext/boost/implicit_cast.hpp +29 -0
  398. data/ext/boost/integer_traits.hpp +236 -0
  399. data/ext/boost/io/ios_state.hpp +431 -0
  400. data/ext/boost/io_fwd.hpp +67 -0
  401. data/ext/boost/is_placeholder.hpp +31 -0
  402. data/ext/boost/iterator/detail/config_def.hpp +135 -0
  403. data/ext/boost/iterator/detail/config_undef.hpp +25 -0
  404. data/ext/boost/iterator/detail/enable_if.hpp +86 -0
  405. data/ext/boost/iterator/detail/facade_iterator_category.hpp +200 -0
  406. data/ext/boost/iterator/detail/minimum_category.hpp +116 -0
  407. data/ext/boost/iterator/interoperable.hpp +50 -0
  408. data/ext/boost/iterator/iterator_adaptor.hpp +366 -0
  409. data/ext/boost/iterator/iterator_categories.hpp +188 -0
  410. data/ext/boost/iterator/iterator_facade.hpp +879 -0
  411. data/ext/boost/iterator/iterator_traits.hpp +92 -0
  412. data/ext/boost/iterator/reverse_iterator.hpp +69 -0
  413. data/ext/boost/iterator/transform_iterator.hpp +188 -0
  414. data/ext/boost/iterator.hpp +59 -0
  415. data/ext/boost/lexical_cast.hpp +1205 -0
  416. data/ext/boost/limits.hpp +146 -0
  417. data/ext/boost/mem_fn.hpp +389 -0
  418. data/ext/boost/mpl/always.hpp +39 -0
  419. data/ext/boost/mpl/and.hpp +60 -0
  420. data/ext/boost/mpl/apply.hpp +229 -0
  421. data/ext/boost/mpl/apply_fwd.hpp +107 -0
  422. data/ext/boost/mpl/apply_wrap.hpp +203 -0
  423. data/ext/boost/mpl/arg.hpp +131 -0
  424. data/ext/boost/mpl/arg_fwd.hpp +28 -0
  425. data/ext/boost/mpl/assert.hpp +370 -0
  426. data/ext/boost/mpl/aux_/adl_barrier.hpp +48 -0
  427. data/ext/boost/mpl/aux_/arg_typedef.hpp +31 -0
  428. data/ext/boost/mpl/aux_/arity.hpp +39 -0
  429. data/ext/boost/mpl/aux_/arity_spec.hpp +67 -0
  430. data/ext/boost/mpl/aux_/common_name_wknd.hpp +34 -0
  431. data/ext/boost/mpl/aux_/config/adl.hpp +40 -0
  432. data/ext/boost/mpl/aux_/config/arrays.hpp +30 -0
  433. data/ext/boost/mpl/aux_/config/bind.hpp +33 -0
  434. data/ext/boost/mpl/aux_/config/compiler.hpp +64 -0
  435. data/ext/boost/mpl/aux_/config/ctps.hpp +30 -0
  436. data/ext/boost/mpl/aux_/config/dtp.hpp +46 -0
  437. data/ext/boost/mpl/aux_/config/eti.hpp +47 -0
  438. data/ext/boost/mpl/aux_/config/gcc.hpp +23 -0
  439. data/ext/boost/mpl/aux_/config/has_apply.hpp +32 -0
  440. data/ext/boost/mpl/aux_/config/has_xxx.hpp +33 -0
  441. data/ext/boost/mpl/aux_/config/integral.hpp +38 -0
  442. data/ext/boost/mpl/aux_/config/intel.hpp +21 -0
  443. data/ext/boost/mpl/aux_/config/lambda.hpp +32 -0
  444. data/ext/boost/mpl/aux_/config/msvc.hpp +21 -0
  445. data/ext/boost/mpl/aux_/config/msvc_typename.hpp +26 -0
  446. data/ext/boost/mpl/aux_/config/nttp.hpp +41 -0
  447. data/ext/boost/mpl/aux_/config/overload_resolution.hpp +29 -0
  448. data/ext/boost/mpl/aux_/config/pp_counter.hpp +26 -0
  449. data/ext/boost/mpl/aux_/config/preprocessor.hpp +39 -0
  450. data/ext/boost/mpl/aux_/config/static_constant.hpp +25 -0
  451. data/ext/boost/mpl/aux_/config/ttp.hpp +41 -0
  452. data/ext/boost/mpl/aux_/config/use_preprocessed.hpp +19 -0
  453. data/ext/boost/mpl/aux_/config/workaround.hpp +19 -0
  454. data/ext/boost/mpl/aux_/full_lambda.hpp +354 -0
  455. data/ext/boost/mpl/aux_/has_apply.hpp +32 -0
  456. data/ext/boost/mpl/aux_/has_type.hpp +23 -0
  457. data/ext/boost/mpl/aux_/include_preprocessed.hpp +42 -0
  458. data/ext/boost/mpl/aux_/integral_wrapper.hpp +93 -0
  459. data/ext/boost/mpl/aux_/lambda_arity_param.hpp +25 -0
  460. data/ext/boost/mpl/aux_/lambda_support.hpp +169 -0
  461. data/ext/boost/mpl/aux_/msvc_never_true.hpp +34 -0
  462. data/ext/boost/mpl/aux_/na.hpp +95 -0
  463. data/ext/boost/mpl/aux_/na_assert.hpp +34 -0
  464. data/ext/boost/mpl/aux_/na_fwd.hpp +31 -0
  465. data/ext/boost/mpl/aux_/na_spec.hpp +175 -0
  466. data/ext/boost/mpl/aux_/nested_type_wknd.hpp +48 -0
  467. data/ext/boost/mpl/aux_/nttp_decl.hpp +35 -0
  468. data/ext/boost/mpl/aux_/preprocessed/gcc/and.hpp +69 -0
  469. data/ext/boost/mpl/aux_/preprocessed/gcc/apply.hpp +169 -0
  470. data/ext/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp +52 -0
  471. data/ext/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +84 -0
  472. data/ext/boost/mpl/aux_/preprocessed/gcc/arg.hpp +123 -0
  473. data/ext/boost/mpl/aux_/preprocessed/gcc/bind.hpp +561 -0
  474. data/ext/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp +52 -0
  475. data/ext/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp +558 -0
  476. data/ext/boost/mpl/aux_/preprocessed/gcc/or.hpp +69 -0
  477. data/ext/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp +105 -0
  478. data/ext/boost/mpl/aux_/preprocessed/gcc/quote.hpp +123 -0
  479. data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +101 -0
  480. data/ext/boost/mpl/aux_/preprocessor/def_params_tail.hpp +105 -0
  481. data/ext/boost/mpl/aux_/preprocessor/enum.hpp +62 -0
  482. data/ext/boost/mpl/aux_/preprocessor/filter_params.hpp +28 -0
  483. data/ext/boost/mpl/aux_/preprocessor/params.hpp +65 -0
  484. data/ext/boost/mpl/aux_/preprocessor/sub.hpp +65 -0
  485. data/ext/boost/mpl/aux_/static_cast.hpp +27 -0
  486. data/ext/boost/mpl/aux_/template_arity.hpp +189 -0
  487. data/ext/boost/mpl/aux_/template_arity_fwd.hpp +23 -0
  488. data/ext/boost/mpl/aux_/type_wrapper.hpp +47 -0
  489. data/ext/boost/mpl/aux_/value_wknd.hpp +89 -0
  490. data/ext/boost/mpl/aux_/yes_no.hpp +58 -0
  491. data/ext/boost/mpl/bind.hpp +551 -0
  492. data/ext/boost/mpl/bind_fwd.hpp +99 -0
  493. data/ext/boost/mpl/bool.hpp +39 -0
  494. data/ext/boost/mpl/bool_fwd.hpp +33 -0
  495. data/ext/boost/mpl/eval_if.hpp +71 -0
  496. data/ext/boost/mpl/has_xxx.hpp +272 -0
  497. data/ext/boost/mpl/identity.hpp +45 -0
  498. data/ext/boost/mpl/if.hpp +135 -0
  499. data/ext/boost/mpl/int.hpp +22 -0
  500. data/ext/boost/mpl/int_fwd.hpp +27 -0
  501. data/ext/boost/mpl/integral_c.hpp +51 -0
  502. data/ext/boost/mpl/integral_c_fwd.hpp +32 -0
  503. data/ext/boost/mpl/integral_c_tag.hpp +26 -0
  504. data/ext/boost/mpl/lambda.hpp +29 -0
  505. data/ext/boost/mpl/lambda_fwd.hpp +57 -0
  506. data/ext/boost/mpl/limits/arity.hpp +21 -0
  507. data/ext/boost/mpl/logical.hpp +21 -0
  508. data/ext/boost/mpl/next.hpp +19 -0
  509. data/ext/boost/mpl/next_prior.hpp +49 -0
  510. data/ext/boost/mpl/not.hpp +51 -0
  511. data/ext/boost/mpl/or.hpp +61 -0
  512. data/ext/boost/mpl/placeholders.hpp +100 -0
  513. data/ext/boost/mpl/protect.hpp +55 -0
  514. data/ext/boost/mpl/quote.hpp +140 -0
  515. data/ext/boost/mpl/size_t.hpp +25 -0
  516. data/ext/boost/mpl/size_t_fwd.hpp +28 -0
  517. data/ext/boost/mpl/void.hpp +76 -0
  518. data/ext/boost/mpl/void_fwd.hpp +26 -0
  519. data/ext/boost/next_prior.hpp +51 -0
  520. data/ext/boost/non_type.hpp +27 -0
  521. data/ext/boost/noncopyable.hpp +36 -0
  522. data/ext/boost/none.hpp +28 -0
  523. data/ext/boost/none_t.hpp +24 -0
  524. data/ext/boost/operators.hpp +943 -0
  525. data/ext/boost/optional/optional.hpp +922 -0
  526. data/ext/boost/optional/optional_fwd.hpp +22 -0
  527. data/ext/boost/optional.hpp +18 -0
  528. data/ext/boost/preprocessor/arithmetic/add.hpp +51 -0
  529. data/ext/boost/preprocessor/arithmetic/dec.hpp +288 -0
  530. data/ext/boost/preprocessor/arithmetic/inc.hpp +288 -0
  531. data/ext/boost/preprocessor/arithmetic/sub.hpp +50 -0
  532. data/ext/boost/preprocessor/array/data.hpp +28 -0
  533. data/ext/boost/preprocessor/array/elem.hpp +29 -0
  534. data/ext/boost/preprocessor/array/size.hpp +28 -0
  535. data/ext/boost/preprocessor/cat.hpp +35 -0
  536. data/ext/boost/preprocessor/comma_if.hpp +17 -0
  537. data/ext/boost/preprocessor/config/config.hpp +70 -0
  538. data/ext/boost/preprocessor/control/detail/while.hpp +536 -0
  539. data/ext/boost/preprocessor/control/expr_iif.hpp +31 -0
  540. data/ext/boost/preprocessor/control/if.hpp +30 -0
  541. data/ext/boost/preprocessor/control/iif.hpp +34 -0
  542. data/ext/boost/preprocessor/control/while.hpp +312 -0
  543. data/ext/boost/preprocessor/debug/error.hpp +33 -0
  544. data/ext/boost/preprocessor/detail/auto_rec.hpp +293 -0
  545. data/ext/boost/preprocessor/detail/check.hpp +48 -0
  546. data/ext/boost/preprocessor/detail/is_binary.hpp +30 -0
  547. data/ext/boost/preprocessor/empty.hpp +17 -0
  548. data/ext/boost/preprocessor/enum.hpp +17 -0
  549. data/ext/boost/preprocessor/enum_params.hpp +17 -0
  550. data/ext/boost/preprocessor/facilities/empty.hpp +21 -0
  551. data/ext/boost/preprocessor/facilities/identity.hpp +23 -0
  552. data/ext/boost/preprocessor/identity.hpp +17 -0
  553. data/ext/boost/preprocessor/inc.hpp +17 -0
  554. data/ext/boost/preprocessor/iterate.hpp +17 -0
  555. data/ext/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -0
  556. data/ext/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -0
  557. data/ext/boost/preprocessor/iteration/detail/iter/forward1.hpp +1342 -0
  558. data/ext/boost/preprocessor/iteration/iterate.hpp +82 -0
  559. data/ext/boost/preprocessor/list/adt.hpp +73 -0
  560. data/ext/boost/preprocessor/list/append.hpp +40 -0
  561. data/ext/boost/preprocessor/list/detail/fold_left.hpp +279 -0
  562. data/ext/boost/preprocessor/list/detail/fold_right.hpp +277 -0
  563. data/ext/boost/preprocessor/list/fold_left.hpp +303 -0
  564. data/ext/boost/preprocessor/list/fold_right.hpp +40 -0
  565. data/ext/boost/preprocessor/list/for_each_i.hpp +65 -0
  566. data/ext/boost/preprocessor/list/reverse.hpp +40 -0
  567. data/ext/boost/preprocessor/list/transform.hpp +49 -0
  568. data/ext/boost/preprocessor/logical/and.hpp +30 -0
  569. data/ext/boost/preprocessor/logical/bitand.hpp +38 -0
  570. data/ext/boost/preprocessor/logical/bool.hpp +288 -0
  571. data/ext/boost/preprocessor/logical/compl.hpp +36 -0
  572. data/ext/boost/preprocessor/punctuation/comma.hpp +21 -0
  573. data/ext/boost/preprocessor/punctuation/comma_if.hpp +31 -0
  574. data/ext/boost/preprocessor/repeat.hpp +17 -0
  575. data/ext/boost/preprocessor/repetition/detail/for.hpp +536 -0
  576. data/ext/boost/preprocessor/repetition/enum.hpp +66 -0
  577. data/ext/boost/preprocessor/repetition/enum_binary_params.hpp +54 -0
  578. data/ext/boost/preprocessor/repetition/enum_params.hpp +41 -0
  579. data/ext/boost/preprocessor/repetition/for.hpp +306 -0
  580. data/ext/boost/preprocessor/repetition/repeat.hpp +825 -0
  581. data/ext/boost/preprocessor/repetition/repeat_from_to.hpp +87 -0
  582. data/ext/boost/preprocessor/seq/elem.hpp +304 -0
  583. data/ext/boost/preprocessor/seq/enum.hpp +288 -0
  584. data/ext/boost/preprocessor/seq/for_each_i.hpp +61 -0
  585. data/ext/boost/preprocessor/seq/seq.hpp +44 -0
  586. data/ext/boost/preprocessor/seq/size.hpp +548 -0
  587. data/ext/boost/preprocessor/slot/detail/def.hpp +49 -0
  588. data/ext/boost/preprocessor/slot/detail/shared.hpp +247 -0
  589. data/ext/boost/preprocessor/slot/slot.hpp +32 -0
  590. data/ext/boost/preprocessor/stringize.hpp +33 -0
  591. data/ext/boost/preprocessor/tuple/eat.hpp +57 -0
  592. data/ext/boost/preprocessor/tuple/elem.hpp +385 -0
  593. data/ext/boost/preprocessor/tuple/rem.hpp +72 -0
  594. data/ext/boost/preprocessor/tuple/to_list.hpp +62 -0
  595. data/ext/boost/range/as_literal.hpp +131 -0
  596. data/ext/boost/range/begin.hpp +132 -0
  597. data/ext/boost/range/config.hpp +54 -0
  598. data/ext/boost/range/const_iterator.hpp +64 -0
  599. data/ext/boost/range/detail/common.hpp +117 -0
  600. data/ext/boost/range/detail/implementation_help.hpp +99 -0
  601. data/ext/boost/range/detail/sfinae.hpp +77 -0
  602. data/ext/boost/range/detail/str_types.hpp +38 -0
  603. data/ext/boost/range/difference_type.hpp +29 -0
  604. data/ext/boost/range/distance.hpp +34 -0
  605. data/ext/boost/range/empty.hpp +34 -0
  606. data/ext/boost/range/end.hpp +131 -0
  607. data/ext/boost/range/functions.hpp +27 -0
  608. data/ext/boost/range/iterator.hpp +72 -0
  609. data/ext/boost/range/iterator_range.hpp +643 -0
  610. data/ext/boost/range/mutable_iterator.hpp +64 -0
  611. data/ext/boost/range/rbegin.hpp +65 -0
  612. data/ext/boost/range/rend.hpp +65 -0
  613. data/ext/boost/range/reverse_iterator.hpp +40 -0
  614. data/ext/boost/range/size.hpp +36 -0
  615. data/ext/boost/range/size_type.hpp +78 -0
  616. data/ext/boost/range/value_type.hpp +34 -0
  617. data/ext/boost/ref.hpp +178 -0
  618. data/ext/boost/shared_ptr.hpp +619 -0
  619. data/ext/boost/src/pthread/exceptions.cpp +146 -0
  620. data/ext/boost/src/pthread/once.cpp +51 -0
  621. data/ext/boost/src/pthread/thread.cpp +709 -0
  622. data/ext/boost/src/pthread/timeconv.inl +130 -0
  623. data/ext/boost/src/tss_null.cpp +34 -0
  624. data/ext/boost/src/win32/exceptions.cpp +124 -0
  625. data/ext/boost/src/win32/thread.cpp +629 -0
  626. data/ext/boost/src/win32/timeconv.inl +130 -0
  627. data/ext/boost/src/win32/tss_dll.cpp +72 -0
  628. data/ext/boost/src/win32/tss_pe.cpp +269 -0
  629. data/ext/boost/static_assert.hpp +122 -0
  630. data/ext/boost/thread/condition.hpp +16 -0
  631. data/ext/boost/thread/condition_variable.hpp +21 -0
  632. data/ext/boost/thread/detail/config.hpp +94 -0
  633. data/ext/boost/thread/detail/move.hpp +33 -0
  634. data/ext/boost/thread/detail/platform.hpp +71 -0
  635. data/ext/boost/thread/exceptions.hpp +109 -0
  636. data/ext/boost/thread/locks.hpp +589 -0
  637. data/ext/boost/thread/mutex.hpp +21 -0
  638. data/ext/boost/thread/once.hpp +29 -0
  639. data/ext/boost/thread/pthread/condition_variable.hpp +184 -0
  640. data/ext/boost/thread/pthread/condition_variable_fwd.hpp +66 -0
  641. data/ext/boost/thread/pthread/mutex.hpp +211 -0
  642. data/ext/boost/thread/pthread/once.hpp +85 -0
  643. data/ext/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +50 -0
  644. data/ext/boost/thread/pthread/recursive_mutex.hpp +249 -0
  645. data/ext/boost/thread/pthread/thread.hpp +339 -0
  646. data/ext/boost/thread/pthread/thread_data.hpp +102 -0
  647. data/ext/boost/thread/pthread/timespec.hpp +28 -0
  648. data/ext/boost/thread/pthread/tss.hpp +103 -0
  649. data/ext/boost/thread/recursive_mutex.hpp +21 -0
  650. data/ext/boost/thread/thread.hpp +22 -0
  651. data/ext/boost/thread/thread_time.hpp +46 -0
  652. data/ext/boost/thread/tss.hpp +18 -0
  653. data/ext/boost/thread/xtime.hpp +88 -0
  654. data/ext/boost/thread.hpp +21 -0
  655. data/ext/boost/throw_exception.hpp +46 -0
  656. data/ext/boost/token_functions.hpp +621 -0
  657. data/ext/boost/token_iterator.hpp +128 -0
  658. data/ext/boost/tokenizer.hpp +98 -0
  659. data/ext/boost/type.hpp +18 -0
  660. data/ext/boost/type_traits/add_const.hpp +47 -0
  661. data/ext/boost/type_traits/add_pointer.hpp +72 -0
  662. data/ext/boost/type_traits/add_reference.hpp +89 -0
  663. data/ext/boost/type_traits/alignment_of.hpp +100 -0
  664. data/ext/boost/type_traits/broken_compiler_spec.hpp +117 -0
  665. data/ext/boost/type_traits/composite_traits.hpp +29 -0
  666. data/ext/boost/type_traits/config.hpp +76 -0
  667. data/ext/boost/type_traits/conversion_traits.hpp +17 -0
  668. data/ext/boost/type_traits/detail/bool_trait_def.hpp +173 -0
  669. data/ext/boost/type_traits/detail/bool_trait_undef.hpp +27 -0
  670. data/ext/boost/type_traits/detail/cv_traits_impl.hpp +97 -0
  671. data/ext/boost/type_traits/detail/false_result.hpp +28 -0
  672. data/ext/boost/type_traits/detail/ice_and.hpp +35 -0
  673. data/ext/boost/type_traits/detail/ice_eq.hpp +36 -0
  674. data/ext/boost/type_traits/detail/ice_not.hpp +31 -0
  675. data/ext/boost/type_traits/detail/ice_or.hpp +34 -0
  676. data/ext/boost/type_traits/detail/is_function_ptr_helper.hpp +220 -0
  677. data/ext/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +817 -0
  678. data/ext/boost/type_traits/detail/size_t_trait_def.hpp +58 -0
  679. data/ext/boost/type_traits/detail/size_t_trait_undef.hpp +16 -0
  680. data/ext/boost/type_traits/detail/template_arity_spec.hpp +31 -0
  681. data/ext/boost/type_traits/detail/type_trait_def.hpp +61 -0
  682. data/ext/boost/type_traits/detail/type_trait_undef.hpp +19 -0
  683. data/ext/boost/type_traits/detail/yes_no_type.hpp +26 -0
  684. data/ext/boost/type_traits/function_traits.hpp +236 -0
  685. data/ext/boost/type_traits/has_nothrow_copy.hpp +39 -0
  686. data/ext/boost/type_traits/has_trivial_copy.hpp +49 -0
  687. data/ext/boost/type_traits/ice.hpp +20 -0
  688. data/ext/boost/type_traits/integral_constant.hpp +53 -0
  689. data/ext/boost/type_traits/intrinsics.hpp +153 -0
  690. data/ext/boost/type_traits/is_abstract.hpp +144 -0
  691. data/ext/boost/type_traits/is_arithmetic.hpp +43 -0
  692. data/ext/boost/type_traits/is_array.hpp +90 -0
  693. data/ext/boost/type_traits/is_class.hpp +128 -0
  694. data/ext/boost/type_traits/is_const.hpp +142 -0
  695. data/ext/boost/type_traits/is_convertible.hpp +418 -0
  696. data/ext/boost/type_traits/is_enum.hpp +180 -0
  697. data/ext/boost/type_traits/is_float.hpp +27 -0
  698. data/ext/boost/type_traits/is_function.hpp +95 -0
  699. data/ext/boost/type_traits/is_integral.hpp +73 -0
  700. data/ext/boost/type_traits/is_member_function_pointer.hpp +134 -0
  701. data/ext/boost/type_traits/is_member_pointer.hpp +114 -0
  702. data/ext/boost/type_traits/is_pod.hpp +135 -0
  703. data/ext/boost/type_traits/is_pointer.hpp +160 -0
  704. data/ext/boost/type_traits/is_reference.hpp +116 -0
  705. data/ext/boost/type_traits/is_same.hpp +103 -0
  706. data/ext/boost/type_traits/is_scalar.hpp +55 -0
  707. data/ext/boost/type_traits/is_union.hpp +49 -0
  708. data/ext/boost/type_traits/is_void.hpp +33 -0
  709. data/ext/boost/type_traits/is_volatile.hpp +131 -0
  710. data/ext/boost/type_traits/remove_const.hpp +78 -0
  711. data/ext/boost/type_traits/remove_cv.hpp +61 -0
  712. data/ext/boost/type_traits/remove_pointer.hpp +43 -0
  713. data/ext/boost/type_traits/remove_reference.hpp +50 -0
  714. data/ext/boost/type_traits/type_with_alignment.hpp +288 -0
  715. data/ext/boost/utility/addressof.hpp +58 -0
  716. data/ext/boost/utility/base_from_member.hpp +87 -0
  717. data/ext/boost/utility/compare_pointees.hpp +68 -0
  718. data/ext/boost/utility/enable_if.hpp +119 -0
  719. data/ext/boost/utility.hpp +19 -0
  720. data/ext/boost/visit_each.hpp +29 -0
  721. data/ext/boost/weak_ptr.hpp +188 -0
  722. data/ext/common/Application.h +511 -0
  723. data/ext/common/ApplicationPool.h +205 -0
  724. data/ext/common/ApplicationPoolServer.h +794 -0
  725. data/ext/common/ApplicationPoolServerExecutable.cpp +743 -0
  726. data/ext/common/ApplicationPoolStatusReporter.h +336 -0
  727. data/ext/common/Base64.cpp +143 -0
  728. data/ext/common/Base64.h +57 -0
  729. data/ext/common/CachedFileStat.cpp +62 -0
  730. data/ext/common/CachedFileStat.h +51 -0
  731. data/ext/common/CachedFileStat.hpp +243 -0
  732. data/ext/common/DummySpawnManager.h +108 -0
  733. data/ext/common/Exceptions.h +258 -0
  734. data/ext/common/FileChangeChecker.h +209 -0
  735. data/ext/common/Logging.cpp +65 -0
  736. data/ext/common/Logging.h +123 -0
  737. data/ext/common/MessageChannel.h +615 -0
  738. data/ext/common/PoolOptions.h +355 -0
  739. data/ext/common/SpawnManager.h +561 -0
  740. data/ext/common/StandardApplicationPool.h +819 -0
  741. data/ext/common/StaticString.h +148 -0
  742. data/ext/common/StringListCreator.h +83 -0
  743. data/ext/common/SystemTime.cpp +33 -0
  744. data/ext/common/SystemTime.h +88 -0
  745. data/ext/common/Timer.h +90 -0
  746. data/ext/common/Utils.cpp +681 -0
  747. data/ext/common/Utils.h +497 -0
  748. data/ext/common/Version.h +31 -0
  749. data/ext/nginx/Configuration.c +1098 -0
  750. data/ext/nginx/Configuration.h +71 -0
  751. data/ext/nginx/ContentHandler.c +1225 -0
  752. data/ext/nginx/ContentHandler.h +64 -0
  753. data/ext/nginx/HelperServer.cpp +850 -0
  754. data/ext/nginx/HttpStatusExtractor.h +350 -0
  755. data/ext/nginx/ScgiRequestParser.h +317 -0
  756. data/ext/nginx/StaticContentHandler.c +257 -0
  757. data/ext/nginx/StaticContentHandler.h +37 -0
  758. data/ext/nginx/config +45 -0
  759. data/ext/nginx/ngx_http_passenger_module.c +653 -0
  760. data/ext/nginx/ngx_http_passenger_module.h +72 -0
  761. data/ext/oxt/backtrace.cpp +177 -0
  762. data/ext/oxt/backtrace.hpp +135 -0
  763. data/ext/oxt/detail/backtrace_disabled.hpp +39 -0
  764. data/ext/oxt/detail/backtrace_enabled.hpp +155 -0
  765. data/ext/oxt/detail/spin_lock_gcc_x86.hpp +82 -0
  766. data/ext/oxt/detail/spin_lock_portable.hpp +38 -0
  767. data/ext/oxt/detail/spin_lock_pthreads.hpp +97 -0
  768. data/ext/oxt/detail/tracable_exception_disabled.hpp +46 -0
  769. data/ext/oxt/detail/tracable_exception_enabled.hpp +48 -0
  770. data/ext/oxt/macros.hpp +58 -0
  771. data/ext/oxt/spin_lock.hpp +55 -0
  772. data/ext/oxt/system_calls.cpp +340 -0
  773. data/ext/oxt/system_calls.hpp +243 -0
  774. data/ext/oxt/thread.cpp +32 -0
  775. data/ext/oxt/thread.hpp +239 -0
  776. data/ext/oxt/tracable_exception.cpp +87 -0
  777. data/ext/oxt/tracable_exception.hpp +35 -0
  778. data/ext/phusion_passenger/extconf.rb +36 -0
  779. data/ext/phusion_passenger/native_support.c +308 -0
  780. data/generators/colouringcode-passenger/USAGE +1 -0
  781. data/generators/colouringcode-passenger/passenger_template_generator.rb +16 -0
  782. data/generators/colouringcode-passenger/templates/app_exited_during_initialization.html.erb +0 -0
  783. data/generators/colouringcode-passenger/templates/app_init_error.html.erb +0 -0
  784. data/generators/colouringcode-passenger/templates/database_error.html.erb +0 -0
  785. data/generators/colouringcode-passenger/templates/error_layout.html.erb +0 -0
  786. data/generators/colouringcode-passenger/templates/framework_init_error.html.erb +0 -0
  787. data/generators/colouringcode-passenger/templates/general_error.html.erb +0 -0
  788. data/generators/colouringcode-passenger/templates/invalid_app_root.html.erb +0 -0
  789. data/generators/colouringcode-passenger/templates/load_error.html.erb +0 -0
  790. data/generators/colouringcode-passenger/templates/version_not_found.html.erb +0 -0
  791. data/lib/phusion_passenger/abstract_installer.rb +196 -0
  792. data/lib/phusion_passenger/abstract_request_handler.rb +475 -0
  793. data/lib/phusion_passenger/abstract_server.rb +369 -0
  794. data/lib/phusion_passenger/abstract_server_collection.rb +306 -0
  795. data/lib/phusion_passenger/admin_tools/control_process.rb +150 -0
  796. data/lib/phusion_passenger/admin_tools.rb +48 -0
  797. data/lib/phusion_passenger/application.rb +113 -0
  798. data/lib/phusion_passenger/console_text_template.rb +66 -0
  799. data/lib/phusion_passenger/constants.rb +31 -0
  800. data/lib/phusion_passenger/dependencies.rb +393 -0
  801. data/lib/phusion_passenger/events.rb +50 -0
  802. data/lib/phusion_passenger/exceptions.rb +103 -0
  803. data/lib/phusion_passenger/html_template.rb +119 -0
  804. data/lib/phusion_passenger/message_channel.rb +229 -0
  805. data/lib/phusion_passenger/packaging.rb +39 -0
  806. data/lib/phusion_passenger/platform_info.rb +550 -0
  807. data/lib/phusion_passenger/rack/application_spawner.rb +146 -0
  808. data/lib/phusion_passenger/rack/request_handler.rb +125 -0
  809. data/lib/phusion_passenger/railz/application_spawner.rb +386 -0
  810. data/lib/phusion_passenger/railz/cgi_fixed.rb +68 -0
  811. data/lib/phusion_passenger/railz/framework_spawner.rb +334 -0
  812. data/lib/phusion_passenger/railz/request_handler.rb +73 -0
  813. data/lib/phusion_passenger/simple_benchmarking.rb +52 -0
  814. data/lib/phusion_passenger/spawn_manager.rb +372 -0
  815. data/lib/phusion_passenger/templates/apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb +9 -0
  816. data/lib/phusion_passenger/templates/apache2/config_snippets.txt.erb +13 -0
  817. data/lib/phusion_passenger/templates/apache2/deployment_example.txt.erb +23 -0
  818. data/lib/phusion_passenger/templates/apache2/no_write_permission_to_passenger_root.txt.erb +9 -0
  819. data/lib/phusion_passenger/templates/apache2/possible_solutions_for_compilation_and_installation_problems.txt.erb +11 -0
  820. data/lib/phusion_passenger/templates/apache2/run_installer_as_root.txt.erb +8 -0
  821. data/lib/phusion_passenger/templates/apache2/welcome.txt.erb +15 -0
  822. data/lib/phusion_passenger/templates/app_exited_during_initialization.html.erb +38 -0
  823. data/lib/phusion_passenger/templates/app_init_error.html.erb +64 -0
  824. data/lib/phusion_passenger/templates/database_error.html.erb +66 -0
  825. data/lib/phusion_passenger/templates/error_layout.css +97 -0
  826. data/lib/phusion_passenger/templates/error_layout.html.erb +39 -0
  827. data/lib/phusion_passenger/templates/framework_init_error.html.erb +39 -0
  828. data/lib/phusion_passenger/templates/general_error.html.erb +22 -0
  829. data/lib/phusion_passenger/templates/invalid_app_root.html.erb +9 -0
  830. data/lib/phusion_passenger/templates/load_error.html.erb +46 -0
  831. data/lib/phusion_passenger/templates/nginx/ask_for_extra_configure_flags.txt.erb +8 -0
  832. data/lib/phusion_passenger/templates/nginx/cannot_write_to_dir.txt.erb +11 -0
  833. data/lib/phusion_passenger/templates/nginx/config_snippets.txt.erb +17 -0
  834. data/lib/phusion_passenger/templates/nginx/config_snippets_inserted.txt.erb +20 -0
  835. data/lib/phusion_passenger/templates/nginx/confirm_extra_configure_flags.txt.erb +5 -0
  836. data/lib/phusion_passenger/templates/nginx/deployment_example.txt.erb +22 -0
  837. data/lib/phusion_passenger/templates/nginx/pcre_could_not_be_downloaded.txt.erb +11 -0
  838. data/lib/phusion_passenger/templates/nginx/pcre_could_not_be_extracted.txt.erb +11 -0
  839. data/lib/phusion_passenger/templates/nginx/possible_solutions_for_compilation_and_installation_problems.txt.erb +11 -0
  840. data/lib/phusion_passenger/templates/nginx/possible_solutions_for_download_and_extraction_problems.txt.erb +20 -0
  841. data/lib/phusion_passenger/templates/nginx/query_download_and_install.txt.erb +21 -0
  842. data/lib/phusion_passenger/templates/nginx/run_installer_as_root.txt.erb +8 -0
  843. data/lib/phusion_passenger/templates/nginx/welcome.txt.erb +15 -0
  844. data/lib/phusion_passenger/templates/version_not_found.html.erb +34 -0
  845. data/lib/phusion_passenger/utils.rb +603 -0
  846. data/lib/phusion_passenger/wsgi/application_spawner.rb +104 -0
  847. data/lib/phusion_passenger/wsgi/request_handler.py +199 -0
  848. data/man/passenger-config.1 +29 -0
  849. data/man/passenger-make-enterprisey.8 +23 -0
  850. data/man/passenger-memory-stats.8 +33 -0
  851. data/man/passenger-status.8 +43 -0
  852. data/man/passenger-stress-test.1 +43 -0
  853. data/misc/copy_boost_headers.rb +125 -0
  854. data/misc/find_owner_pipe_leaks.rb +128 -0
  855. data/misc/rake/cplusplus.rb +57 -0
  856. data/misc/rake/extensions.rb +182 -0
  857. data/misc/rake/gempackagetask.rb +99 -0
  858. data/misc/rake/packagetask.rb +186 -0
  859. data/misc/rake/rdoctask.rb +209 -0
  860. data/misc/render_error_pages.rb +116 -0
  861. data/test/ApplicationPoolServerTest.cpp +114 -0
  862. data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +33 -0
  863. data/test/ApplicationPoolTest.cpp +599 -0
  864. data/test/Base64Test.cpp +48 -0
  865. data/test/CachedFileStatTest.cpp +402 -0
  866. data/test/CxxTestMain.cpp +143 -0
  867. data/test/FileChangeCheckerTest.cpp +331 -0
  868. data/test/HttpStatusExtractorTest.cpp +198 -0
  869. data/test/MessageChannelTest.cpp +312 -0
  870. data/test/PoolOptionsTest.cpp +117 -0
  871. data/test/ScgiRequestParserTest.cpp +337 -0
  872. data/test/SpawnManagerTest.cpp +64 -0
  873. data/test/StandardApplicationPoolTest.cpp +27 -0
  874. data/test/StaticStringTest.cpp +51 -0
  875. data/test/SystemTimeTest.cpp +37 -0
  876. data/test/UtilsTest.cpp +257 -0
  877. data/test/config.yml.example +30 -0
  878. data/test/integration_tests/apache2_tests.rb +595 -0
  879. data/test/integration_tests/hello_world_rack_spec.rb +36 -0
  880. data/test/integration_tests/hello_world_wsgi_spec.rb +41 -0
  881. data/test/integration_tests/mycook_spec.rb +192 -0
  882. data/test/integration_tests/nginx_tests.rb +151 -0
  883. data/test/oxt/backtrace_test.cpp +128 -0
  884. data/test/oxt/oxt_test_main.cpp +25 -0
  885. data/test/oxt/syscall_interruption_test.cpp +38 -0
  886. data/test/ruby/abstract_request_handler_spec.rb +85 -0
  887. data/test/ruby/abstract_server_collection_spec.rb +246 -0
  888. data/test/ruby/abstract_server_spec.rb +51 -0
  889. data/test/ruby/application_spec.rb +43 -0
  890. data/test/ruby/message_channel_spec.rb +170 -0
  891. data/test/ruby/rack/application_spawner_spec.rb +99 -0
  892. data/test/ruby/rails/application_spawner_spec.rb +159 -0
  893. data/test/ruby/rails/framework_spawner_spec.rb +133 -0
  894. data/test/ruby/rails/minimal_spawner_spec.rb +93 -0
  895. data/test/ruby/rails/spawner_error_handling_spec.rb +107 -0
  896. data/test/ruby/rails/spawner_privilege_lowering_spec.rb +97 -0
  897. data/test/ruby/spawn_manager_spec.rb +205 -0
  898. data/test/ruby/spawn_server_spec.rb +26 -0
  899. data/test/ruby/utils_spec.rb +335 -0
  900. data/test/ruby/wsgi/application_spawner_spec.rb +54 -0
  901. data/test/stub/apache2/httpd.conf.erb +81 -0
  902. data/test/stub/apache2/mime.types +748 -0
  903. data/test/stub/garbage1.dat +0 -0
  904. data/test/stub/garbage2.dat +0 -0
  905. data/test/stub/garbage3.dat +0 -0
  906. data/test/stub/http_request.yml +23 -0
  907. data/test/stub/message_channel.rb +9 -0
  908. data/test/stub/message_channel_2.rb +10 -0
  909. data/test/stub/message_channel_3.rb +17 -0
  910. data/test/stub/nginx/koi-utf +109 -0
  911. data/test/stub/nginx/koi-win +103 -0
  912. data/test/stub/nginx/mime.types +70 -0
  913. data/test/stub/nginx/nginx.conf.erb +57 -0
  914. data/test/stub/nginx/win-utf +126 -0
  915. data/test/stub/rack/config.ru +4 -0
  916. data/test/stub/rack/public/rack.jpg +0 -0
  917. data/test/stub/rails_apps/foobar/app/controllers/application.rb +12 -0
  918. data/test/stub/rails_apps/foobar/app/controllers/bar_controller_1.rb +5 -0
  919. data/test/stub/rails_apps/foobar/app/controllers/bar_controller_2.rb +5 -0
  920. data/test/stub/rails_apps/foobar/app/controllers/foo_controller.rb +21 -0
  921. data/test/stub/rails_apps/foobar/app/helpers/application_helper.rb +3 -0
  922. data/test/stub/rails_apps/foobar/config/boot.rb +108 -0
  923. data/test/stub/rails_apps/foobar/config/database.yml +19 -0
  924. data/test/stub/rails_apps/foobar/config/environment.rb +59 -0
  925. data/test/stub/rails_apps/foobar/config/environments/development.rb +17 -0
  926. data/test/stub/rails_apps/foobar/config/environments/production.rb +18 -0
  927. data/test/stub/rails_apps/foobar/config/initializers/inflections.rb +10 -0
  928. data/test/stub/rails_apps/foobar/config/initializers/mime_types.rb +5 -0
  929. data/test/stub/rails_apps/foobar/config/routes.rb +35 -0
  930. data/test/stub/rails_apps/mycook/app/controllers/application.rb +12 -0
  931. data/test/stub/rails_apps/mycook/app/controllers/recipes_controller.rb +5 -0
  932. data/test/stub/rails_apps/mycook/app/controllers/uploads_controller.rb +15 -0
  933. data/test/stub/rails_apps/mycook/app/controllers/welcome_controller.rb +71 -0
  934. data/test/stub/rails_apps/mycook/app/helpers/application_helper.rb +3 -0
  935. data/test/stub/rails_apps/mycook/app/views/layouts/default.rhtml +26 -0
  936. data/test/stub/rails_apps/mycook/app/views/recipes/create.rhtml +13 -0
  937. data/test/stub/rails_apps/mycook/app/views/recipes/index.rhtml +3 -0
  938. data/test/stub/rails_apps/mycook/app/views/recipes/new.rhtml +8 -0
  939. data/test/stub/rails_apps/mycook/app/views/uploads/index.rhtml +1 -0
  940. data/test/stub/rails_apps/mycook/app/views/uploads/new.html.erb +8 -0
  941. data/test/stub/rails_apps/mycook/app/views/welcome/cached.rhtml +1 -0
  942. data/test/stub/rails_apps/mycook/app/views/welcome/index.rhtml +20 -0
  943. data/test/stub/rails_apps/mycook/config/boot.rb +108 -0
  944. data/test/stub/rails_apps/mycook/config/database.yml +19 -0
  945. data/test/stub/rails_apps/mycook/config/environment.rb +61 -0
  946. data/test/stub/rails_apps/mycook/config/environments/development.rb +18 -0
  947. data/test/stub/rails_apps/mycook/config/environments/production.rb +19 -0
  948. data/test/stub/rails_apps/mycook/config/initializers/inflections.rb +10 -0
  949. data/test/stub/rails_apps/mycook/config/initializers/mime_types.rb +5 -0
  950. data/test/stub/rails_apps/mycook/config/routes.rb +38 -0
  951. data/test/stub/rails_apps/mycook/log/useless.txt +1 -0
  952. data/test/stub/rails_apps/mycook/public/404.html +30 -0
  953. data/test/stub/rails_apps/mycook/public/422.html +30 -0
  954. data/test/stub/rails_apps/mycook/public/500.html +30 -0
  955. data/test/stub/rails_apps/mycook/public/dispatch.cgi +10 -0
  956. data/test/stub/rails_apps/mycook/public/dispatch.fcgi +24 -0
  957. data/test/stub/rails_apps/mycook/public/dispatch.rb +10 -0
  958. data/test/stub/rails_apps/mycook/public/favicon.ico +0 -0
  959. data/test/stub/rails_apps/mycook/public/images/angrywizard.gif +0 -0
  960. data/test/stub/rails_apps/mycook/public/images/cookbook.gif +0 -0
  961. data/test/stub/rails_apps/mycook/public/images/header.png +0 -0
  962. data/test/stub/rails_apps/mycook/public/images/rails.png +0 -0
  963. data/test/stub/rails_apps/mycook/public/javascripts/application.js +2 -0
  964. data/test/stub/rails_apps/mycook/public/javascripts/controls.js +963 -0
  965. data/test/stub/rails_apps/mycook/public/javascripts/dragdrop.js +972 -0
  966. data/test/stub/rails_apps/mycook/public/javascripts/effects.js +1120 -0
  967. data/test/stub/rails_apps/mycook/public/javascripts/prototype.js +4225 -0
  968. data/test/stub/rails_apps/mycook/public/robots.txt +5 -0
  969. data/test/stub/rails_apps/mycook/public/uploads.html +26 -0
  970. data/test/stub/rails_apps/mycook/public/welcome/cached.html +26 -0
  971. data/test/stub/rails_apps/mycook/sites/some.site/public/uploads.html +26 -0
  972. data/test/stub/rails_apps/mycook/sites/some.site/public/welcome/cached.html +26 -0
  973. data/test/stub/rails_apps/mycook/tmp/cache/useless.txt +1 -0
  974. data/test/stub/rails_apps/mycook/tmp/pids/useless.txt +1 -0
  975. data/test/stub/rails_apps/mycook/tmp/sessions/useless.txt +1 -0
  976. data/test/stub/rails_apps/mycook/tmp/sockets/useless.txt +1 -0
  977. data/test/stub/spawn_server.rb +20 -0
  978. data/test/stub/upload_data.txt +494 -0
  979. data/test/stub/vendor_rails/minimal/README +1 -0
  980. data/test/stub/vendor_rails/minimal/actionmailer/lib/action_mailer.rb +0 -0
  981. data/test/stub/vendor_rails/minimal/actionpack/lib/action_controller.rb +19 -0
  982. data/test/stub/vendor_rails/minimal/actionpack/lib/action_pack.rb +0 -0
  983. data/test/stub/vendor_rails/minimal/actionpack/lib/action_view.rb +0 -0
  984. data/test/stub/vendor_rails/minimal/activerecord/lib/active_record.rb +7 -0
  985. data/test/stub/vendor_rails/minimal/activeresource/lib/active_resource.rb +0 -0
  986. data/test/stub/vendor_rails/minimal/activesupport/lib/active_support/whiny_nil.rb +0 -0
  987. data/test/stub/vendor_rails/minimal/activesupport/lib/active_support.rb +17 -0
  988. data/test/stub/vendor_rails/minimal/railties/lib/dispatcher.rb +0 -0
  989. data/test/stub/vendor_rails/minimal/railties/lib/initializer.rb +52 -0
  990. data/test/stub/vendor_rails/minimal/railties/lib/ruby_version_check.rb +1 -0
  991. data/test/stub/wsgi/passenger_wsgi.py +3 -0
  992. data/test/stub/wsgi/public/wsgi-snake.jpg +0 -0
  993. data/test/stub/zsfa/header.png +0 -0
  994. data/test/stub/zsfa/index.html +14 -0
  995. data/test/stub/zsfa/zsfa.png +0 -0
  996. data/test/support/Support.cpp +84 -0
  997. data/test/support/Support.h +118 -0
  998. data/test/support/apache2_controller.rb +250 -0
  999. data/test/support/config.rb +38 -0
  1000. data/test/support/multipart.rb +62 -0
  1001. data/test/support/nginx_controller.rb +98 -0
  1002. data/test/support/run_rspec_tests.rb +10 -0
  1003. data/test/support/test_helper.rb +207 -0
  1004. data/test/support/tut.h +1234 -0
  1005. data/test/support/tut_reporter.h +256 -0
  1006. data/test/support/valgrind.h +2539 -0
  1007. data/vendor/README +13 -0
  1008. data/vendor/README_FOR_PACKAGERS +1 -0
  1009. data/vendor/rack-1.0.0-git/COPYING +18 -0
  1010. data/vendor/rack-1.0.0-git/KNOWN-ISSUES +18 -0
  1011. data/vendor/rack-1.0.0-git/README +353 -0
  1012. data/vendor/rack-1.0.0-git/Rakefile +164 -0
  1013. data/vendor/rack-1.0.0-git/lib/rack/adapter/camping.rb +22 -0
  1014. data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/handler.rb +37 -0
  1015. data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/request.rb +37 -0
  1016. data/vendor/rack-1.0.0-git/lib/rack/auth/basic.rb +58 -0
  1017. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/md5.rb +124 -0
  1018. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/nonce.rb +51 -0
  1019. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/params.rb +55 -0
  1020. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/request.rb +40 -0
  1021. data/vendor/rack-1.0.0-git/lib/rack/auth/openid.rb +487 -0
  1022. data/vendor/rack-1.0.0-git/lib/rack/builder.rb +63 -0
  1023. data/vendor/rack-1.0.0-git/lib/rack/cascade.rb +41 -0
  1024. data/vendor/rack-1.0.0-git/lib/rack/chunked.rb +49 -0
  1025. data/vendor/rack-1.0.0-git/lib/rack/commonlogger.rb +52 -0
  1026. data/vendor/rack-1.0.0-git/lib/rack/conditionalget.rb +47 -0
  1027. data/vendor/rack-1.0.0-git/lib/rack/content_length.rb +29 -0
  1028. data/vendor/rack-1.0.0-git/lib/rack/content_type.rb +23 -0
  1029. data/vendor/rack-1.0.0-git/lib/rack/deflater.rb +96 -0
  1030. data/vendor/rack-1.0.0-git/lib/rack/directory.rb +153 -0
  1031. data/vendor/rack-1.0.0-git/lib/rack/file.rb +88 -0
  1032. data/vendor/rack-1.0.0-git/lib/rack/handler/cgi.rb +61 -0
  1033. data/vendor/rack-1.0.0-git/lib/rack/handler/evented_mongrel.rb +8 -0
  1034. data/vendor/rack-1.0.0-git/lib/rack/handler/fastcgi.rb +88 -0
  1035. data/vendor/rack-1.0.0-git/lib/rack/handler/lsws.rb +55 -0
  1036. data/vendor/rack-1.0.0-git/lib/rack/handler/mongrel.rb +84 -0
  1037. data/vendor/rack-1.0.0-git/lib/rack/handler/scgi.rb +59 -0
  1038. data/vendor/rack-1.0.0-git/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
  1039. data/vendor/rack-1.0.0-git/lib/rack/handler/thin.rb +18 -0
  1040. data/vendor/rack-1.0.0-git/lib/rack/handler/webrick.rb +67 -0
  1041. data/vendor/rack-1.0.0-git/lib/rack/handler.rb +69 -0
  1042. data/vendor/rack-1.0.0-git/lib/rack/head.rb +19 -0
  1043. data/vendor/rack-1.0.0-git/lib/rack/lint.rb +537 -0
  1044. data/vendor/rack-1.0.0-git/lib/rack/lobster.rb +65 -0
  1045. data/vendor/rack-1.0.0-git/lib/rack/lock.rb +16 -0
  1046. data/vendor/rack-1.0.0-git/lib/rack/methodoverride.rb +27 -0
  1047. data/vendor/rack-1.0.0-git/lib/rack/mime.rb +204 -0
  1048. data/vendor/rack-1.0.0-git/lib/rack/mock.rb +184 -0
  1049. data/vendor/rack-1.0.0-git/lib/rack/recursive.rb +57 -0
  1050. data/vendor/rack-1.0.0-git/lib/rack/reloader.rb +106 -0
  1051. data/vendor/rack-1.0.0-git/lib/rack/request.rb +248 -0
  1052. data/vendor/rack-1.0.0-git/lib/rack/response.rb +183 -0
  1053. data/vendor/rack-1.0.0-git/lib/rack/rewindable_input.rb +100 -0
  1054. data/vendor/rack-1.0.0-git/lib/rack/session/abstract/id.rb +142 -0
  1055. data/vendor/rack-1.0.0-git/lib/rack/session/cookie.rb +91 -0
  1056. data/vendor/rack-1.0.0-git/lib/rack/session/memcache.rb +109 -0
  1057. data/vendor/rack-1.0.0-git/lib/rack/session/pool.rb +100 -0
  1058. data/vendor/rack-1.0.0-git/lib/rack/showexceptions.rb +349 -0
  1059. data/vendor/rack-1.0.0-git/lib/rack/showstatus.rb +106 -0
  1060. data/vendor/rack-1.0.0-git/lib/rack/static.rb +38 -0
  1061. data/vendor/rack-1.0.0-git/lib/rack/urlmap.rb +55 -0
  1062. data/vendor/rack-1.0.0-git/lib/rack/utils.rb +522 -0
  1063. data/vendor/rack-1.0.0-git/lib/rack.rb +90 -0
  1064. metadata +1152 -0
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Phusion Passenger - http://www.modrails.com/
3
+ * Copyright (c) 2008, 2009 Phusion
4
+ *
5
+ * "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in
15
+ * all copies or substantial portions of the Software.
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 AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ * THE SOFTWARE.
24
+ */
25
+ #ifndef _PASSENGER_HOOKS_H_
26
+ #define _PASSENGER_HOOKS_H_
27
+
28
+ #include <apr_pools.h>
29
+
30
+ #ifdef __cplusplus
31
+ extern "C" {
32
+ #endif
33
+
34
+ /**
35
+ * @defgroup Hooks Apache hooks
36
+ * @ingroup Core
37
+ */
38
+
39
+ extern void passenger_register_hooks(apr_pool_t *p);
40
+
41
+ #ifdef __cplusplus
42
+ }
43
+ #endif
44
+
45
+ #endif /* _PASSENGER_HOOKS_H_ */
@@ -0,0 +1,79 @@
1
+ A few functions in ext/apache2/Hooks.cpp are based on the source code of
2
+ mod_scgi version 1.9. Its license is included in this file.
3
+ Please note that these licensing terms *only* encompass those few
4
+ functions, and not Passenger as a whole.
5
+
6
+ The functions which are based on mod_scgi's code are as follows:
7
+ - Hooks::prepareRequest(). Although our version looks nothing like the
8
+ original, the idea of checking for the file's existance from the
9
+ map_to_storage/fixups hook is inspired by mod_scgi's code.
10
+ - Hooks::handleRequest(). Although our version looks nothing like the original,
11
+ the idea of passing the backend process's socket file descriptor up to the
12
+ bucket brigade chain is inspired by mod_scgi's code.
13
+ - Hooks::http2env(), Hooks::lookupName(), Hooks::lookupHeader(),
14
+ Hooks::lookupEnv(), Hooks::addHeader(): Copied from mod_scgi's functions that
15
+ are named similarly. Slightly modified to make the coding style consistent
16
+ with the rest of Phusion Passenger.
17
+ - Hooks::sendHeaders(): Based for the most part on mod_scgi's send_headers()
18
+ function.
19
+
20
+ ------------------------------------------------------------------------
21
+ CNRI OPEN SOURCE LICENSE AGREEMENT
22
+
23
+ IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. BY
24
+ COPYING, INSTALLING OR OTHERWISE USING SCGI-1.9 SOFTWARE, YOU ARE
25
+ DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE
26
+ AGREEMENT.
27
+
28
+ 1. This LICENSE AGREEMENT is between Corporation for National
29
+ Research Initiatives, having an office at 1895 Preston White
30
+ Drive, Reston, VA 20191 ("CNRI"), and the Individual or
31
+ Organization ("Licensee") copying, installing or otherwise using
32
+ scgi-1.9 software in source or binary form and its associated
33
+ documentation ("scgi-1.9").
34
+
35
+ 2. Subject to the terms and conditions of this License Agreement,
36
+ CNRI hereby grants Licensee a nonexclusive, royalty-free, world-
37
+ wide license to reproduce, analyze, test, perform and/or display
38
+ publicly, prepare derivative works, distribute, and otherwise use
39
+ scgi-1.9 alone or in any derivative version, provided, however,
40
+ that CNRI's License Agreement and CNRI's notice of copyright,
41
+ i.e., "Copyright (c) 2004 Corporation for National Research
42
+ Initiatives; All Rights Reserved" are retained in scgi-1.9 alone
43
+ or in any derivative version prepared by Licensee.
44
+
45
+ 3. In the event Licensee prepares a derivative work that is based on
46
+ or incorporates scgi-1.9 or any part thereof, and wants to make
47
+ the derivative work available to others as provided herein, then
48
+ Licensee hereby agrees to include in any such work a brief
49
+ summary of the changes made to scgi-1.9.
50
+
51
+ 4. CNRI is making scgi-1.9 available to Licensee on an "AS IS"
52
+ basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
53
+ IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO
54
+ AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY
55
+ OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF SCGI-1.9
56
+ WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
57
+
58
+ 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF SCGI-
59
+ 1.9 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
60
+ AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING SCGI-
61
+ 1.9, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE
62
+ POSSIBILITY THEREOF.
63
+
64
+ 6. This License Agreement will automatically terminate upon a
65
+ material breach of its terms and conditions.
66
+
67
+ 7. This License Agreement shall be governed by and interpreted in
68
+ all respects by the law of the State of Virginia, excluding
69
+ Virginia's conflict of law provisions. Nothing in this License
70
+ Agreement shall be deemed to create any relationship of agency,
71
+ partnership, or joint venture between CNRI and Licensee. This
72
+ License Agreement does not grant permission to use CNRI
73
+ trademarks or trade name in a trademark sense to endorse or
74
+ promote products or services of Licensee, or any third party.
75
+
76
+ 8. By copying, installing or otherwise using scgi-1.9, Licensee
77
+ agrees to be bound by the terms and conditions of this License
78
+ Agreement.
79
+
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Phusion Passenger - http://www.modrails.com/
3
+ * Copyright (c) 2008, 2009 Phusion
4
+ *
5
+ * "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in
15
+ * all copies or substantial portions of the Software.
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 AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ * THE SOFTWARE.
24
+ */
25
+ #include <httpd.h>
26
+ #include <http_config.h>
27
+ #include "Configuration.h"
28
+ #include "Hooks.h"
29
+
30
+ module AP_MODULE_DECLARE_DATA passenger_module = {
31
+ STANDARD20_MODULE_STUFF,
32
+ passenger_config_create_dir, /* create per-dir config structs */
33
+ passenger_config_merge_dir, /* merge per-dir config structs */
34
+ passenger_config_create_server, /* create per-server config structs */
35
+ passenger_config_merge_server, /* merge per-server config structs */
36
+ passenger_commands, /* table of config file commands */
37
+ passenger_register_hooks, /* register hooks */
38
+ };
@@ -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.35.0 (March 29, 2008)
@@ -0,0 +1,176 @@
1
+ // Boost string_algo library case_conv.hpp header file ---------------------------//
2
+
3
+ // Copyright Pavol Droba 2002-2003.
4
+ //
5
+ // Distributed under the Boost Software License, Version 1.0.
6
+ // (See accompanying file LICENSE_1_0.txt or copy at
7
+ // http://www.boost.org/LICENSE_1_0.txt)
8
+
9
+ // See http://www.boost.org/ for updates, documentation, and revision history.
10
+
11
+ #ifndef BOOST_STRING_CASE_CONV_HPP
12
+ #define BOOST_STRING_CASE_CONV_HPP
13
+
14
+ #include <boost/algorithm/string/config.hpp>
15
+ #include <algorithm>
16
+ #include <locale>
17
+ #include <boost/iterator/transform_iterator.hpp>
18
+
19
+ #include <boost/range/as_literal.hpp>
20
+ #include <boost/range/begin.hpp>
21
+ #include <boost/range/end.hpp>
22
+ #include <boost/range/value_type.hpp>
23
+
24
+ #include <boost/algorithm/string/detail/case_conv.hpp>
25
+
26
+ /*! \file
27
+ Defines sequence case-conversion algorithms.
28
+ Algorithms convert each element in the input sequence to the
29
+ desired case using provided locales.
30
+ */
31
+
32
+ namespace boost {
33
+ namespace algorithm {
34
+
35
+ // to_lower -----------------------------------------------//
36
+
37
+ //! Convert to lower case
38
+ /*!
39
+ Each element of the input sequence is converted to lower
40
+ case. The result is a copy of the input converted to lower case.
41
+ It is returned as a sequence or copied to the output iterator.
42
+
43
+ \param Output An output iterator to which the result will be copied
44
+ \param Input An input range
45
+ \param Loc A locale used for conversion
46
+ \return
47
+ An output iterator pointing just after the last inserted character or
48
+ a copy of the input
49
+
50
+ \note The second variant of this function provides the strong exception-safety guarantee
51
+
52
+ */
53
+ template<typename OutputIteratorT, typename RangeT>
54
+ inline OutputIteratorT
55
+ to_lower_copy(
56
+ OutputIteratorT Output,
57
+ const RangeT& Input,
58
+ const std::locale& Loc=std::locale())
59
+ {
60
+ return ::boost::algorithm::detail::transform_range_copy(
61
+ Output,
62
+ as_literal(Input),
63
+ ::boost::algorithm::detail::to_lowerF<
64
+ typename range_value<RangeT>::type >(Loc));
65
+ }
66
+
67
+ //! Convert to lower case
68
+ /*!
69
+ \overload
70
+ */
71
+ template<typename SequenceT>
72
+ inline SequenceT to_lower_copy(
73
+ const SequenceT& Input,
74
+ const std::locale& Loc=std::locale())
75
+ {
76
+ return ::boost::algorithm::detail::transform_range_copy<SequenceT>(
77
+ Input,
78
+ ::boost::algorithm::detail::to_lowerF<
79
+ typename range_value<SequenceT>::type >(Loc));
80
+ }
81
+
82
+ //! Convert to lower case
83
+ /*!
84
+ Each element of the input sequence is converted to lower
85
+ case. The input sequence is modified in-place.
86
+
87
+ \param Input A range
88
+ \param Loc a locale used for conversion
89
+ */
90
+ template<typename WritableRangeT>
91
+ inline void to_lower(
92
+ WritableRangeT& Input,
93
+ const std::locale& Loc=std::locale())
94
+ {
95
+ ::boost::algorithm::detail::transform_range(
96
+ as_literal(Input),
97
+ ::boost::algorithm::detail::to_lowerF<
98
+ typename range_value<WritableRangeT>::type >(Loc));
99
+ }
100
+
101
+ // to_upper -----------------------------------------------//
102
+
103
+ //! Convert to upper case
104
+ /*!
105
+ Each element of the input sequence is converted to upper
106
+ case. The result is a copy of the input converted to upper case.
107
+ It is returned as a sequence or copied to the output iterator
108
+
109
+ \param Output An output iterator to which the result will be copied
110
+ \param Input An input range
111
+ \param Loc A locale used for conversion
112
+ \return
113
+ An output iterator pointing just after the last inserted character or
114
+ a copy of the input
115
+
116
+ \note The second variant of this function provides the strong exception-safety guarantee
117
+ */
118
+ template<typename OutputIteratorT, typename RangeT>
119
+ inline OutputIteratorT
120
+ to_upper_copy(
121
+ OutputIteratorT Output,
122
+ const RangeT& Input,
123
+ const std::locale& Loc=std::locale())
124
+ {
125
+ return ::boost::algorithm::detail::transform_range_copy(
126
+ Output,
127
+ as_literal(Input),
128
+ ::boost::algorithm::detail::to_upperF<
129
+ typename range_value<RangeT>::type >(Loc));
130
+ }
131
+
132
+ //! Convert to upper case
133
+ /*!
134
+ \overload
135
+ */
136
+ template<typename SequenceT>
137
+ inline SequenceT to_upper_copy(
138
+ const SequenceT& Input,
139
+ const std::locale& Loc=std::locale())
140
+ {
141
+ return ::boost::algorithm::detail::transform_range_copy<SequenceT>(
142
+ Input,
143
+ ::boost::algorithm::detail::to_upperF<
144
+ typename range_value<SequenceT>::type >(Loc));
145
+ }
146
+
147
+ //! Convert to upper case
148
+ /*!
149
+ Each element of the input sequence is converted to upper
150
+ case. The input sequence is modified in-place.
151
+
152
+ \param Input An input range
153
+ \param Loc a locale used for conversion
154
+ */
155
+ template<typename WritableRangeT>
156
+ inline void to_upper(
157
+ WritableRangeT& Input,
158
+ const std::locale& Loc=std::locale())
159
+ {
160
+ ::boost::algorithm::detail::transform_range(
161
+ as_literal(Input),
162
+ ::boost::algorithm::detail::to_upperF<
163
+ typename range_value<WritableRangeT>::type >(Loc));
164
+ }
165
+
166
+ } // namespace algorithm
167
+
168
+ // pull names to the boost namespace
169
+ using algorithm::to_lower;
170
+ using algorithm::to_lower_copy;
171
+ using algorithm::to_upper;
172
+ using algorithm::to_upper_copy;
173
+
174
+ } // namespace boost
175
+
176
+ #endif // BOOST_STRING_CASE_CONV_HPP
@@ -0,0 +1,199 @@
1
+ // Boost string_algo library compare.hpp header file -------------------------//
2
+
3
+ // Copyright Pavol Droba 2002-2006.
4
+ //
5
+ // Distributed under the Boost Software License, Version 1.0.
6
+ // (See accompanying file LICENSE_1_0.txt or copy at
7
+ // http://www.boost.org/LICENSE_1_0.txt)
8
+
9
+ // See http://www.boost.org/ for updates, documentation, and revision history.
10
+
11
+ #ifndef BOOST_STRING_COMPARE_HPP
12
+ #define BOOST_STRING_COMPARE_HPP
13
+
14
+ #include <boost/algorithm/string/config.hpp>
15
+ #include <locale>
16
+
17
+ /*! \file
18
+ Defines element comparison predicates. Many algorithms in this library can
19
+ take an additional argument with a predicate used to compare elements.
20
+ This makes it possible, for instance, to have case insensitive versions
21
+ of the algorithms.
22
+ */
23
+
24
+ namespace boost {
25
+ namespace algorithm {
26
+
27
+ // is_equal functor -----------------------------------------------//
28
+
29
+ //! is_equal functor
30
+ /*!
31
+ Standard STL equal_to only handle comparison between arguments
32
+ of the same type. This is a less restrictive version which wraps operator ==.
33
+ */
34
+ struct is_equal
35
+ {
36
+ //! Function operator
37
+ /*!
38
+ Compare two operands for equality
39
+ */
40
+ template< typename T1, typename T2 >
41
+ bool operator()( const T1& Arg1, const T2& Arg2 ) const
42
+ {
43
+ return Arg1==Arg2;
44
+ }
45
+ };
46
+
47
+ //! case insensitive version of is_equal
48
+ /*!
49
+ Case insensitive comparison predicate. Comparison is done using
50
+ specified locales.
51
+ */
52
+ struct is_iequal
53
+ {
54
+ //! Constructor
55
+ /*!
56
+ \param Loc locales used for comparison
57
+ */
58
+ is_iequal( const std::locale& Loc=std::locale() ) :
59
+ m_Loc( Loc ) {}
60
+
61
+ //! Function operator
62
+ /*!
63
+ Compare two operands. Case is ignored.
64
+ */
65
+ template< typename T1, typename T2 >
66
+ bool operator()( const T1& Arg1, const T2& Arg2 ) const
67
+ {
68
+ #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
69
+ return std::toupper(Arg1)==std::toupper(Arg2);
70
+ #else
71
+ return std::toupper<T1>(Arg1,m_Loc)==std::toupper<T2>(Arg2,m_Loc);
72
+ #endif
73
+ }
74
+
75
+ private:
76
+ std::locale m_Loc;
77
+ };
78
+
79
+ // is_less functor -----------------------------------------------//
80
+
81
+ //! is_less functor
82
+ /*!
83
+ Convenient version of standard std::less. Operation is templated, therefore it is
84
+ not required to specify the exact types upon the construction
85
+ */
86
+ struct is_less
87
+ {
88
+ //! Functor operation
89
+ /*!
90
+ Compare two operands using > operator
91
+ */
92
+ template< typename T1, typename T2 >
93
+ bool operator()( const T1& Arg1, const T2& Arg2 ) const
94
+ {
95
+ return Arg1<Arg2;
96
+ }
97
+ };
98
+
99
+
100
+ //! case insensitive version of is_less
101
+ /*!
102
+ Case insensitive comparison predicate. Comparison is done using
103
+ specified locales.
104
+ */
105
+ struct is_iless
106
+ {
107
+ //! Constructor
108
+ /*!
109
+ \param Loc locales used for comparison
110
+ */
111
+ is_iless( const std::locale& Loc=std::locale() ) :
112
+ m_Loc( Loc ) {}
113
+
114
+ //! Function operator
115
+ /*!
116
+ Compare two operands. Case is ignored.
117
+ */
118
+ template< typename T1, typename T2 >
119
+ bool operator()( const T1& Arg1, const T2& Arg2 ) const
120
+ {
121
+ #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
122
+ return std::toupper(Arg1)<std::toupper(Arg2);
123
+ #else
124
+ return std::toupper<T1>(Arg1,m_Loc)<std::toupper<T2>(Arg2,m_Loc);
125
+ #endif
126
+ }
127
+
128
+ private:
129
+ std::locale m_Loc;
130
+ };
131
+
132
+ // is_not_greater functor -----------------------------------------------//
133
+
134
+ //! is_not_greater functor
135
+ /*!
136
+ Convenient version of standard std::not_greater_to. Operation is templated, therefore it is
137
+ not required to specify the exact types upon the construction
138
+ */
139
+ struct is_not_greater
140
+ {
141
+ //! Functor operation
142
+ /*!
143
+ Compare two operands using > operator
144
+ */
145
+ template< typename T1, typename T2 >
146
+ bool operator()( const T1& Arg1, const T2& Arg2 ) const
147
+ {
148
+ return Arg1<=Arg2;
149
+ }
150
+ };
151
+
152
+
153
+ //! case insensitive version of is_not_greater
154
+ /*!
155
+ Case insensitive comparison predicate. Comparison is done using
156
+ specified locales.
157
+ */
158
+ struct is_not_igreater
159
+ {
160
+ //! Constructor
161
+ /*!
162
+ \param Loc locales used for comparison
163
+ */
164
+ is_not_igreater( const std::locale& Loc=std::locale() ) :
165
+ m_Loc( Loc ) {}
166
+
167
+ //! Function operator
168
+ /*!
169
+ Compare two operands. Case is ignored.
170
+ */
171
+ template< typename T1, typename T2 >
172
+ bool operator()( const T1& Arg1, const T2& Arg2 ) const
173
+ {
174
+ #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
175
+ return std::toupper(Arg1)<=std::toupper(Arg2);
176
+ #else
177
+ return std::toupper<T1>(Arg1,m_Loc)<=std::toupper<T2>(Arg2,m_Loc);
178
+ #endif
179
+ }
180
+
181
+ private:
182
+ std::locale m_Loc;
183
+ };
184
+
185
+
186
+ } // namespace algorithm
187
+
188
+ // pull names to the boost namespace
189
+ using algorithm::is_equal;
190
+ using algorithm::is_iequal;
191
+ using algorithm::is_less;
192
+ using algorithm::is_iless;
193
+ using algorithm::is_not_greater;
194
+ using algorithm::is_not_igreater;
195
+
196
+ } // namespace boost
197
+
198
+
199
+ #endif // BOOST_STRING_COMPARE_HPP
@@ -0,0 +1,83 @@
1
+ // Boost string_algo library concept.hpp header file ---------------------------//
2
+
3
+ // Copyright Pavol Droba 2002-2003.
4
+ //
5
+ // Distributed under the Boost Software License, Version 1.0.
6
+ // (See accompanying file LICENSE_1_0.txt or copy at
7
+ // http://www.boost.org/LICENSE_1_0.txt)
8
+
9
+ // See http://www.boost.org/ for updates, documentation, and revision history.
10
+
11
+ #ifndef BOOST_STRING_CONCEPT_HPP
12
+ #define BOOST_STRING_CONCEPT_HPP
13
+
14
+ #include <boost/concept_check.hpp>
15
+ #include <boost/range/iterator_range.hpp>
16
+ #include <boost/range/begin.hpp>
17
+ #include <boost/range/end.hpp>
18
+
19
+ /*! \file
20
+ Defines concepts used in string_algo library
21
+ */
22
+
23
+ namespace boost {
24
+ namespace algorithm {
25
+
26
+ //! Finder concept
27
+ /*!
28
+ Defines the Finder concept. Finder is a functor which selects
29
+ an arbitrary part of a string. Search is performed on
30
+ the range specified by starting and ending iterators.
31
+
32
+ Result of the find operation must be convertible to iterator_range.
33
+ */
34
+ template<typename FinderT, typename IteratorT>
35
+ struct FinderConcept
36
+ {
37
+ private:
38
+ typedef iterator_range<IteratorT> range;
39
+ public:
40
+ void constraints()
41
+ {
42
+ // Operation
43
+ r=(*pF)(i,i);
44
+ }
45
+ private:
46
+ range r;
47
+ IteratorT i;
48
+ FinderT* pF;
49
+ }; // Finder_concept
50
+
51
+
52
+ //! Formatter concept
53
+ /*!
54
+ Defines the Formatter concept. Formatter is a functor, which
55
+ takes a result from a finder operation and transforms it
56
+ in a specific way.
57
+
58
+ Result must be a container supported by container_traits,
59
+ or a reference to it.
60
+ */
61
+ template<typename FormatterT, typename FinderT, typename IteratorT>
62
+ struct FormatterConcept
63
+ {
64
+ public:
65
+ void constraints()
66
+ {
67
+ // Operation
68
+ begin((*pFo)( (*pF)(i,i) ));
69
+ end((*pFo)( (*pF)(i,i) ));
70
+ }
71
+ private:
72
+ IteratorT i;
73
+ FinderT* pF;
74
+ FormatterT *pFo;
75
+ }; // FormatterConcept;
76
+
77
+ } // namespace algorithm
78
+ } // namespace boost
79
+
80
+
81
+
82
+
83
+ #endif // BOOST_STRING_CONCEPT_HPP
@@ -0,0 +1,28 @@
1
+ // Boost string_algo library config.hpp header file ---------------------------//
2
+
3
+ // Copyright Pavol Droba 2002-2003.
4
+ //
5
+ // Distributed under the Boost Software License, Version 1.0.
6
+ // (See accompanying file LICENSE_1_0.txt or copy at
7
+ // http://www.boost.org/LICENSE_1_0.txt)
8
+
9
+ // See http://www.boost.org/ for updates, documentation, and revision history.
10
+
11
+ #ifndef BOOST_STRING_CONFIG_HPP
12
+ #define BOOST_STRING_CONFIG_HPP
13
+
14
+ #include <boost/config.hpp>
15
+ #include <boost/detail/workaround.hpp>
16
+
17
+ #ifdef BOOST_STRING_DEDUCED_TYPENAME
18
+ # error "macro already defined!"
19
+ #endif
20
+
21
+ #define BOOST_STRING_TYPENAME BOOST_DEDUCED_TYPENAME
22
+
23
+ // Metrowerks workaround
24
+ #if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) // 8.x
25
+ #pragma parse_func_templ off
26
+ #endif
27
+
28
+ #endif // BOOST_STRING_CONFIG_HPP