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.
- data/DEVELOPERS.TXT +101 -0
- data/INSTALL +6 -0
- data/LICENSE +19 -0
- data/NEWS +174 -0
- data/README +59 -0
- data/Rakefile +921 -0
- data/benchmark/ApplicationPool.cpp +52 -0
- data/benchmark/accept_vs_socketpair_vs_named_pipes.rb +126 -0
- data/benchmark/dispatcher.rb +42 -0
- data/benchmark/overhead_of_password_checking.rb +81 -0
- data/benchmark/socket_connections_vs_persistent_pipe.rb +99 -0
- data/benchmark/unix_sockets_vs_pipes.rb +83 -0
- data/bin/passenger-config +46 -0
- data/bin/passenger-install-apache2-module +223 -0
- data/bin/passenger-install-nginx-module +472 -0
- data/bin/passenger-make-enterprisey +83 -0
- data/bin/passenger-memory-stats +301 -0
- data/bin/passenger-spawn-server +68 -0
- data/bin/passenger-status +125 -0
- data/bin/passenger-stress-test +344 -0
- data/debian/compat +1 -0
- data/debian/control +21 -0
- data/debian/postinst +24 -0
- data/debian/prerm +2 -0
- data/doc/ApplicationPool algorithm.txt +402 -0
- data/doc/Architectural overview.html +1 -0
- data/doc/Architectural overview.txt +334 -0
- data/doc/Doxyfile +241 -0
- data/doc/Security of user switching support.html +1 -0
- data/doc/Security of user switching support.txt +197 -0
- data/doc/Users guide Apache.html +1 -0
- data/doc/Users guide Apache.txt +1848 -0
- data/doc/Users guide Nginx.html +1 -0
- data/doc/Users guide Nginx.txt +769 -0
- data/doc/definitions.h +5 -0
- data/doc/images/by_sa.png +0 -0
- data/doc/images/conservative_spawning.png +0 -0
- data/doc/images/conservative_spawning.svg +248 -0
- data/doc/images/icons/README +5 -0
- data/doc/images/icons/callouts/1.png +0 -0
- data/doc/images/icons/callouts/10.png +0 -0
- data/doc/images/icons/callouts/11.png +0 -0
- data/doc/images/icons/callouts/12.png +0 -0
- data/doc/images/icons/callouts/13.png +0 -0
- data/doc/images/icons/callouts/14.png +0 -0
- data/doc/images/icons/callouts/15.png +0 -0
- data/doc/images/icons/callouts/2.png +0 -0
- data/doc/images/icons/callouts/3.png +0 -0
- data/doc/images/icons/callouts/4.png +0 -0
- data/doc/images/icons/callouts/5.png +0 -0
- data/doc/images/icons/callouts/6.png +0 -0
- data/doc/images/icons/callouts/7.png +0 -0
- data/doc/images/icons/callouts/8.png +0 -0
- data/doc/images/icons/callouts/9.png +0 -0
- data/doc/images/icons/caution.png +0 -0
- data/doc/images/icons/example.png +0 -0
- data/doc/images/icons/home.png +0 -0
- data/doc/images/icons/important.png +0 -0
- data/doc/images/icons/next.png +0 -0
- data/doc/images/icons/note.png +0 -0
- data/doc/images/icons/prev.png +0 -0
- data/doc/images/icons/tip.png +0 -0
- data/doc/images/icons/up.png +0 -0
- data/doc/images/icons/warning.png +0 -0
- data/doc/images/passenger_architecture.png +0 -0
- data/doc/images/passenger_architecture.svg +401 -0
- data/doc/images/phusion_banner.png +0 -0
- data/doc/images/smart-lv2.png +0 -0
- data/doc/images/smart-lv2.svg +320 -0
- data/doc/images/spawn_server_architecture.png +0 -0
- data/doc/images/spawn_server_architecture.svg +655 -0
- data/doc/images/typical_isolated_web_application.png +0 -0
- data/doc/images/typical_isolated_web_application.svg +213 -0
- data/doc/rdoc/classes/ConditionVariable.html +194 -0
- data/doc/rdoc/classes/Exception.html +120 -0
- data/doc/rdoc/classes/GC.html +113 -0
- data/doc/rdoc/classes/IO.html +169 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +153 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +517 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +97 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +96 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +97 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +96 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +719 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +598 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +138 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +317 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +140 -0
- data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +154 -0
- data/doc/rdoc/classes/PhusionPassenger/Application.html +283 -0
- data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +172 -0
- data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +145 -0
- data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +181 -0
- data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +141 -0
- data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +92 -0
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +489 -0
- data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +350 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +188 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +199 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack.html +91 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +98 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +438 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +200 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +98 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +436 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +155 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz.html +95 -0
- data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +402 -0
- data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +125 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +169 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils.html +803 -0
- data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +140 -0
- data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +188 -0
- data/doc/rdoc/classes/PhusionPassenger/WSGI.html +89 -0
- data/doc/rdoc/classes/PhusionPassenger.html +238 -0
- data/doc/rdoc/classes/PlatformInfo.html +866 -0
- data/doc/rdoc/classes/RakeExtensions.html +197 -0
- data/doc/rdoc/classes/Signal.html +131 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/files/DEVELOPERS_TXT.html +255 -0
- data/doc/rdoc/files/README.html +175 -0
- data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +92 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +129 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +129 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +128 -0
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +130 -0
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +134 -0
- data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +120 -0
- data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +133 -0
- data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +125 -0
- data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +140 -0
- data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +145 -0
- data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +125 -0
- data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +159 -0
- data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +174 -0
- data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +129 -0
- data/doc/rdoc/files/misc/rake/extensions_rb.html +130 -0
- data/doc/rdoc/fr_class_index.html +91 -0
- data/doc/rdoc/fr_file_index.html +76 -0
- data/doc/rdoc/fr_method_index.html +205 -0
- data/doc/rdoc/index.html +26 -0
- data/doc/rdoc/rdoc-style.css +187 -0
- data/doc/template/horo.rb +613 -0
- data/doc/users_guide_snippets/analysis_and_system_maintenance_tools.txt +144 -0
- data/doc/users_guide_snippets/appendix_a_about.txt +13 -0
- data/doc/users_guide_snippets/appendix_b_terminology.txt +63 -0
- data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +304 -0
- data/doc/users_guide_snippets/global_queueing_explained.txt +78 -0
- data/doc/users_guide_snippets/rackup_specifications.txt +71 -0
- data/doc/users_guide_snippets/rails_spawn_method.txt +48 -0
- data/doc/users_guide_snippets/tips.txt +173 -0
- data/ext/apache2/Bucket.cpp +190 -0
- data/ext/apache2/Bucket.h +87 -0
- data/ext/apache2/Configuration.cpp +798 -0
- data/ext/apache2/Configuration.h +405 -0
- data/ext/apache2/DirectoryMapper.h +296 -0
- data/ext/apache2/Hooks.cpp +1615 -0
- data/ext/apache2/Hooks.h +45 -0
- data/ext/apache2/LICENSE-CNRI.TXT +79 -0
- data/ext/apache2/mod_passenger.c +38 -0
- data/ext/boost/LICENSE.TXT +23 -0
- data/ext/boost/VERSION.TXT +1 -0
- data/ext/boost/algorithm/string/case_conv.hpp +176 -0
- data/ext/boost/algorithm/string/compare.hpp +199 -0
- data/ext/boost/algorithm/string/concept.hpp +83 -0
- data/ext/boost/algorithm/string/config.hpp +28 -0
- data/ext/boost/algorithm/string/constants.hpp +36 -0
- data/ext/boost/algorithm/string/detail/case_conv.hpp +112 -0
- data/ext/boost/algorithm/string/detail/find_format.hpp +193 -0
- data/ext/boost/algorithm/string/detail/find_format_all.hpp +263 -0
- data/ext/boost/algorithm/string/detail/find_format_store.hpp +71 -0
- data/ext/boost/algorithm/string/detail/finder.hpp +646 -0
- data/ext/boost/algorithm/string/detail/formatter.hpp +94 -0
- data/ext/boost/algorithm/string/detail/replace_storage.hpp +159 -0
- data/ext/boost/algorithm/string/detail/sequence.hpp +200 -0
- data/ext/boost/algorithm/string/detail/util.hpp +106 -0
- data/ext/boost/algorithm/string/erase.hpp +844 -0
- data/ext/boost/algorithm/string/find_format.hpp +269 -0
- data/ext/boost/algorithm/string/finder.hpp +270 -0
- data/ext/boost/algorithm/string/formatter.hpp +103 -0
- data/ext/boost/algorithm/string/replace.hpp +928 -0
- data/ext/boost/algorithm/string/sequence_traits.hpp +193 -0
- data/ext/boost/algorithm/string/yes_no_type.hpp +33 -0
- data/ext/boost/assert.hpp +50 -0
- data/ext/boost/bind/arg.hpp +62 -0
- data/ext/boost/bind/bind_cc.hpp +117 -0
- data/ext/boost/bind/bind_mf_cc.hpp +227 -0
- data/ext/boost/bind/bind_template.hpp +345 -0
- data/ext/boost/bind/mem_fn_cc.hpp +103 -0
- data/ext/boost/bind/mem_fn_template.hpp +1020 -0
- data/ext/boost/bind/placeholders.hpp +68 -0
- data/ext/boost/bind/storage.hpp +475 -0
- data/ext/boost/bind.hpp +1689 -0
- data/ext/boost/call_traits.hpp +24 -0
- data/ext/boost/checked_delete.hpp +69 -0
- data/ext/boost/concept/assert.hpp +46 -0
- data/ext/boost/concept/detail/concept_def.hpp +51 -0
- data/ext/boost/concept/detail/concept_undef.hpp +5 -0
- data/ext/boost/concept/detail/general.hpp +66 -0
- data/ext/boost/concept/detail/has_constraints.hpp +48 -0
- data/ext/boost/concept/usage.hpp +43 -0
- data/ext/boost/concept_check.hpp +988 -0
- data/ext/boost/config/abi/borland_prefix.hpp +27 -0
- data/ext/boost/config/abi/borland_suffix.hpp +12 -0
- data/ext/boost/config/abi/msvc_prefix.hpp +8 -0
- data/ext/boost/config/abi/msvc_suffix.hpp +8 -0
- data/ext/boost/config/abi_prefix.hpp +25 -0
- data/ext/boost/config/abi_suffix.hpp +26 -0
- data/ext/boost/config/auto_link.hpp +368 -0
- data/ext/boost/config/compiler/borland.hpp +209 -0
- data/ext/boost/config/compiler/comeau.hpp +59 -0
- data/ext/boost/config/compiler/common_edg.hpp +62 -0
- data/ext/boost/config/compiler/compaq_cxx.hpp +19 -0
- data/ext/boost/config/compiler/digitalmars.hpp +67 -0
- data/ext/boost/config/compiler/gcc.hpp +149 -0
- data/ext/boost/config/compiler/gcc_xml.hpp +30 -0
- data/ext/boost/config/compiler/greenhills.hpp +28 -0
- data/ext/boost/config/compiler/hp_acc.hpp +95 -0
- data/ext/boost/config/compiler/intel.hpp +162 -0
- data/ext/boost/config/compiler/kai.hpp +35 -0
- data/ext/boost/config/compiler/metrowerks.hpp +111 -0
- data/ext/boost/config/compiler/mpw.hpp +51 -0
- data/ext/boost/config/compiler/pgi.hpp +25 -0
- data/ext/boost/config/compiler/sgi_mipspro.hpp +28 -0
- data/ext/boost/config/compiler/sunpro_cc.hpp +98 -0
- data/ext/boost/config/compiler/vacpp.hpp +60 -0
- data/ext/boost/config/compiler/visualc.hpp +191 -0
- data/ext/boost/config/no_tr1/complex.hpp +28 -0
- data/ext/boost/config/no_tr1/functional.hpp +28 -0
- data/ext/boost/config/no_tr1/memory.hpp +28 -0
- data/ext/boost/config/no_tr1/utility.hpp +28 -0
- data/ext/boost/config/platform/aix.hpp +33 -0
- data/ext/boost/config/platform/amigaos.hpp +15 -0
- data/ext/boost/config/platform/beos.hpp +26 -0
- data/ext/boost/config/platform/bsd.hpp +73 -0
- data/ext/boost/config/platform/cygwin.hpp +51 -0
- data/ext/boost/config/platform/hpux.hpp +84 -0
- data/ext/boost/config/platform/irix.hpp +31 -0
- data/ext/boost/config/platform/linux.hpp +98 -0
- data/ext/boost/config/platform/macos.hpp +78 -0
- data/ext/boost/config/platform/qnxnto.hpp +31 -0
- data/ext/boost/config/platform/solaris.hpp +21 -0
- data/ext/boost/config/platform/win32.hpp +58 -0
- data/ext/boost/config/posix_features.hpp +95 -0
- data/ext/boost/config/requires_threads.hpp +92 -0
- data/ext/boost/config/select_compiler_config.hpp +115 -0
- data/ext/boost/config/select_platform_config.hpp +90 -0
- data/ext/boost/config/select_stdlib_config.hpp +68 -0
- data/ext/boost/config/stdlib/dinkumware.hpp +106 -0
- data/ext/boost/config/stdlib/libcomo.hpp +46 -0
- data/ext/boost/config/stdlib/libstdcpp3.hpp +73 -0
- data/ext/boost/config/stdlib/modena.hpp +30 -0
- data/ext/boost/config/stdlib/msl.hpp +59 -0
- data/ext/boost/config/stdlib/roguewave.hpp +153 -0
- data/ext/boost/config/stdlib/sgi.hpp +111 -0
- data/ext/boost/config/stdlib/stlport.hpp +201 -0
- data/ext/boost/config/stdlib/vacpp.hpp +18 -0
- data/ext/boost/config/suffix.hpp +566 -0
- data/ext/boost/config/user.hpp +124 -0
- data/ext/boost/config.hpp +70 -0
- data/ext/boost/cstdint.hpp +449 -0
- data/ext/boost/current_function.hpp +67 -0
- data/ext/boost/date_time/adjust_functors.hpp +178 -0
- data/ext/boost/date_time/c_time.hpp +91 -0
- data/ext/boost/date_time/compiler_config.hpp +149 -0
- data/ext/boost/date_time/constrained_value.hpp +98 -0
- data/ext/boost/date_time/date.hpp +197 -0
- data/ext/boost/date_time/date_clock_device.hpp +77 -0
- data/ext/boost/date_time/date_defs.hpp +26 -0
- data/ext/boost/date_time/date_duration.hpp +147 -0
- data/ext/boost/date_time/date_duration_types.hpp +269 -0
- data/ext/boost/date_time/date_facet.hpp +775 -0
- data/ext/boost/date_time/date_format_simple.hpp +159 -0
- data/ext/boost/date_time/date_formatting.hpp +127 -0
- data/ext/boost/date_time/date_formatting_limited.hpp +121 -0
- data/ext/boost/date_time/date_formatting_locales.hpp +233 -0
- data/ext/boost/date_time/date_generator_formatter.hpp +263 -0
- data/ext/boost/date_time/date_generator_parser.hpp +329 -0
- data/ext/boost/date_time/date_generators.hpp +509 -0
- data/ext/boost/date_time/date_iterator.hpp +101 -0
- data/ext/boost/date_time/date_names_put.hpp +320 -0
- data/ext/boost/date_time/date_parsing.hpp +299 -0
- data/ext/boost/date_time/dst_rules.hpp +391 -0
- data/ext/boost/date_time/filetime_functions.hpp +78 -0
- data/ext/boost/date_time/format_date_parser.hpp +731 -0
- data/ext/boost/date_time/gregorian/conversion.hpp +73 -0
- data/ext/boost/date_time/gregorian/formatters.hpp +162 -0
- data/ext/boost/date_time/gregorian/formatters_limited.hpp +81 -0
- data/ext/boost/date_time/gregorian/greg_calendar.hpp +47 -0
- data/ext/boost/date_time/gregorian/greg_date.hpp +135 -0
- data/ext/boost/date_time/gregorian/greg_day.hpp +57 -0
- data/ext/boost/date_time/gregorian/greg_day_of_year.hpp +38 -0
- data/ext/boost/date_time/gregorian/greg_duration.hpp +38 -0
- data/ext/boost/date_time/gregorian/greg_duration_types.hpp +34 -0
- data/ext/boost/date_time/gregorian/greg_month.hpp +105 -0
- data/ext/boost/date_time/gregorian/greg_weekday.hpp +66 -0
- data/ext/boost/date_time/gregorian/greg_year.hpp +53 -0
- data/ext/boost/date_time/gregorian/greg_ymd.hpp +33 -0
- data/ext/boost/date_time/gregorian/gregorian.hpp +38 -0
- data/ext/boost/date_time/gregorian/gregorian_io.hpp +777 -0
- data/ext/boost/date_time/gregorian/gregorian_types.hpp +109 -0
- data/ext/boost/date_time/gregorian/parsers.hpp +91 -0
- data/ext/boost/date_time/gregorian_calendar.hpp +70 -0
- data/ext/boost/date_time/gregorian_calendar.ipp +219 -0
- data/ext/boost/date_time/int_adapter.hpp +507 -0
- data/ext/boost/date_time/iso_format.hpp +303 -0
- data/ext/boost/date_time/locale_config.hpp +31 -0
- data/ext/boost/date_time/microsec_time_clock.hpp +205 -0
- data/ext/boost/date_time/parse_format_base.hpp +29 -0
- data/ext/boost/date_time/period.hpp +377 -0
- data/ext/boost/date_time/period_formatter.hpp +196 -0
- data/ext/boost/date_time/period_parser.hpp +196 -0
- data/ext/boost/date_time/posix_time/conversion.hpp +93 -0
- data/ext/boost/date_time/posix_time/date_duration_operators.hpp +114 -0
- data/ext/boost/date_time/posix_time/posix_time.hpp +39 -0
- data/ext/boost/date_time/posix_time/posix_time_config.hpp +178 -0
- data/ext/boost/date_time/posix_time/posix_time_duration.hpp +82 -0
- data/ext/boost/date_time/posix_time/posix_time_io.hpp +246 -0
- data/ext/boost/date_time/posix_time/posix_time_system.hpp +68 -0
- data/ext/boost/date_time/posix_time/posix_time_types.hpp +55 -0
- data/ext/boost/date_time/posix_time/ptime.hpp +65 -0
- data/ext/boost/date_time/posix_time/time_formatters.hpp +289 -0
- data/ext/boost/date_time/posix_time/time_parsers.hpp +44 -0
- data/ext/boost/date_time/posix_time/time_period.hpp +29 -0
- data/ext/boost/date_time/special_defs.hpp +25 -0
- data/ext/boost/date_time/special_values_formatter.hpp +96 -0
- data/ext/boost/date_time/special_values_parser.hpp +159 -0
- data/ext/boost/date_time/string_convert.hpp +33 -0
- data/ext/boost/date_time/string_parse_tree.hpp +278 -0
- data/ext/boost/date_time/strings_from_facet.hpp +123 -0
- data/ext/boost/date_time/time.hpp +190 -0
- data/ext/boost/date_time/time_clock.hpp +83 -0
- data/ext/boost/date_time/time_defs.hpp +33 -0
- data/ext/boost/date_time/time_duration.hpp +281 -0
- data/ext/boost/date_time/time_facet.hpp +1263 -0
- data/ext/boost/date_time/time_formatting_streams.hpp +119 -0
- data/ext/boost/date_time/time_iterator.hpp +52 -0
- data/ext/boost/date_time/time_parsing.hpp +321 -0
- data/ext/boost/date_time/time_resolution_traits.hpp +140 -0
- data/ext/boost/date_time/time_system_counted.hpp +254 -0
- data/ext/boost/date_time/time_system_split.hpp +213 -0
- data/ext/boost/date_time/wrapping_int.hpp +163 -0
- data/ext/boost/date_time/year_month_day.hpp +45 -0
- data/ext/boost/detail/atomic_count.hpp +124 -0
- data/ext/boost/detail/atomic_count_gcc.hpp +68 -0
- data/ext/boost/detail/atomic_count_gcc_x86.hpp +84 -0
- data/ext/boost/detail/atomic_count_pthreads.hpp +96 -0
- data/ext/boost/detail/atomic_count_solaris.hpp +59 -0
- data/ext/boost/detail/atomic_count_sync.hpp +57 -0
- data/ext/boost/detail/atomic_count_win32.hpp +63 -0
- data/ext/boost/detail/bad_weak_ptr.hpp +59 -0
- data/ext/boost/detail/call_traits.hpp +164 -0
- data/ext/boost/detail/endian.hpp +73 -0
- data/ext/boost/detail/indirect_traits.hpp +487 -0
- data/ext/boost/detail/iterator.hpp +494 -0
- data/ext/boost/detail/lcast_precision.hpp +184 -0
- data/ext/boost/detail/limits.hpp +449 -0
- data/ext/boost/detail/reference_content.hpp +141 -0
- data/ext/boost/detail/shared_count.hpp +375 -0
- data/ext/boost/detail/sp_counted_base.hpp +81 -0
- data/ext/boost/detail/sp_counted_base_acc_ia64.hpp +150 -0
- data/ext/boost/detail/sp_counted_base_cw_ppc.hpp +170 -0
- data/ext/boost/detail/sp_counted_base_cw_x86.hpp +158 -0
- data/ext/boost/detail/sp_counted_base_gcc_ia64.hpp +157 -0
- data/ext/boost/detail/sp_counted_base_gcc_ppc.hpp +181 -0
- data/ext/boost/detail/sp_counted_base_gcc_sparc.hpp +166 -0
- data/ext/boost/detail/sp_counted_base_gcc_x86.hpp +173 -0
- data/ext/boost/detail/sp_counted_base_nt.hpp +107 -0
- data/ext/boost/detail/sp_counted_base_pt.hpp +135 -0
- data/ext/boost/detail/sp_counted_base_solaris.hpp +113 -0
- data/ext/boost/detail/sp_counted_base_sync.hpp +151 -0
- data/ext/boost/detail/sp_counted_base_w32.hpp +130 -0
- data/ext/boost/detail/sp_counted_impl.hpp +231 -0
- data/ext/boost/detail/sp_typeinfo.hpp +83 -0
- data/ext/boost/detail/workaround.hpp +202 -0
- data/ext/boost/enable_shared_from_this.hpp +73 -0
- data/ext/boost/function/detail/function_iterate.hpp +16 -0
- data/ext/boost/function/detail/maybe_include.hpp +267 -0
- data/ext/boost/function/detail/prologue.hpp +25 -0
- data/ext/boost/function/function_base.hpp +762 -0
- data/ext/boost/function/function_template.hpp +969 -0
- data/ext/boost/function.hpp +66 -0
- data/ext/boost/function_equal.hpp +28 -0
- data/ext/boost/get_pointer.hpp +29 -0
- data/ext/boost/implicit_cast.hpp +29 -0
- data/ext/boost/integer_traits.hpp +236 -0
- data/ext/boost/io/ios_state.hpp +431 -0
- data/ext/boost/io_fwd.hpp +67 -0
- data/ext/boost/is_placeholder.hpp +31 -0
- data/ext/boost/iterator/detail/config_def.hpp +135 -0
- data/ext/boost/iterator/detail/config_undef.hpp +25 -0
- data/ext/boost/iterator/detail/enable_if.hpp +86 -0
- data/ext/boost/iterator/detail/facade_iterator_category.hpp +200 -0
- data/ext/boost/iterator/detail/minimum_category.hpp +116 -0
- data/ext/boost/iterator/interoperable.hpp +50 -0
- data/ext/boost/iterator/iterator_adaptor.hpp +366 -0
- data/ext/boost/iterator/iterator_categories.hpp +188 -0
- data/ext/boost/iterator/iterator_facade.hpp +879 -0
- data/ext/boost/iterator/iterator_traits.hpp +92 -0
- data/ext/boost/iterator/reverse_iterator.hpp +69 -0
- data/ext/boost/iterator/transform_iterator.hpp +188 -0
- data/ext/boost/iterator.hpp +59 -0
- data/ext/boost/lexical_cast.hpp +1205 -0
- data/ext/boost/limits.hpp +146 -0
- data/ext/boost/mem_fn.hpp +389 -0
- data/ext/boost/mpl/always.hpp +39 -0
- data/ext/boost/mpl/and.hpp +60 -0
- data/ext/boost/mpl/apply.hpp +229 -0
- data/ext/boost/mpl/apply_fwd.hpp +107 -0
- data/ext/boost/mpl/apply_wrap.hpp +203 -0
- data/ext/boost/mpl/arg.hpp +131 -0
- data/ext/boost/mpl/arg_fwd.hpp +28 -0
- data/ext/boost/mpl/assert.hpp +370 -0
- data/ext/boost/mpl/aux_/adl_barrier.hpp +48 -0
- data/ext/boost/mpl/aux_/arg_typedef.hpp +31 -0
- data/ext/boost/mpl/aux_/arity.hpp +39 -0
- data/ext/boost/mpl/aux_/arity_spec.hpp +67 -0
- data/ext/boost/mpl/aux_/common_name_wknd.hpp +34 -0
- data/ext/boost/mpl/aux_/config/adl.hpp +40 -0
- data/ext/boost/mpl/aux_/config/arrays.hpp +30 -0
- data/ext/boost/mpl/aux_/config/bind.hpp +33 -0
- data/ext/boost/mpl/aux_/config/compiler.hpp +64 -0
- data/ext/boost/mpl/aux_/config/ctps.hpp +30 -0
- data/ext/boost/mpl/aux_/config/dtp.hpp +46 -0
- data/ext/boost/mpl/aux_/config/eti.hpp +47 -0
- data/ext/boost/mpl/aux_/config/gcc.hpp +23 -0
- data/ext/boost/mpl/aux_/config/has_apply.hpp +32 -0
- data/ext/boost/mpl/aux_/config/has_xxx.hpp +33 -0
- data/ext/boost/mpl/aux_/config/integral.hpp +38 -0
- data/ext/boost/mpl/aux_/config/intel.hpp +21 -0
- data/ext/boost/mpl/aux_/config/lambda.hpp +32 -0
- data/ext/boost/mpl/aux_/config/msvc.hpp +21 -0
- data/ext/boost/mpl/aux_/config/msvc_typename.hpp +26 -0
- data/ext/boost/mpl/aux_/config/nttp.hpp +41 -0
- data/ext/boost/mpl/aux_/config/overload_resolution.hpp +29 -0
- data/ext/boost/mpl/aux_/config/pp_counter.hpp +26 -0
- data/ext/boost/mpl/aux_/config/preprocessor.hpp +39 -0
- data/ext/boost/mpl/aux_/config/static_constant.hpp +25 -0
- data/ext/boost/mpl/aux_/config/ttp.hpp +41 -0
- data/ext/boost/mpl/aux_/config/use_preprocessed.hpp +19 -0
- data/ext/boost/mpl/aux_/config/workaround.hpp +19 -0
- data/ext/boost/mpl/aux_/full_lambda.hpp +354 -0
- data/ext/boost/mpl/aux_/has_apply.hpp +32 -0
- data/ext/boost/mpl/aux_/has_type.hpp +23 -0
- data/ext/boost/mpl/aux_/include_preprocessed.hpp +42 -0
- data/ext/boost/mpl/aux_/integral_wrapper.hpp +93 -0
- data/ext/boost/mpl/aux_/lambda_arity_param.hpp +25 -0
- data/ext/boost/mpl/aux_/lambda_support.hpp +169 -0
- data/ext/boost/mpl/aux_/msvc_never_true.hpp +34 -0
- data/ext/boost/mpl/aux_/na.hpp +95 -0
- data/ext/boost/mpl/aux_/na_assert.hpp +34 -0
- data/ext/boost/mpl/aux_/na_fwd.hpp +31 -0
- data/ext/boost/mpl/aux_/na_spec.hpp +175 -0
- data/ext/boost/mpl/aux_/nested_type_wknd.hpp +48 -0
- data/ext/boost/mpl/aux_/nttp_decl.hpp +35 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/and.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply.hpp +169 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +84 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/arg.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/bind.hpp +561 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp +558 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/or.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/quote.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +101 -0
- data/ext/boost/mpl/aux_/preprocessor/def_params_tail.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessor/enum.hpp +62 -0
- data/ext/boost/mpl/aux_/preprocessor/filter_params.hpp +28 -0
- data/ext/boost/mpl/aux_/preprocessor/params.hpp +65 -0
- data/ext/boost/mpl/aux_/preprocessor/sub.hpp +65 -0
- data/ext/boost/mpl/aux_/static_cast.hpp +27 -0
- data/ext/boost/mpl/aux_/template_arity.hpp +189 -0
- data/ext/boost/mpl/aux_/template_arity_fwd.hpp +23 -0
- data/ext/boost/mpl/aux_/type_wrapper.hpp +47 -0
- data/ext/boost/mpl/aux_/value_wknd.hpp +89 -0
- data/ext/boost/mpl/aux_/yes_no.hpp +58 -0
- data/ext/boost/mpl/bind.hpp +551 -0
- data/ext/boost/mpl/bind_fwd.hpp +99 -0
- data/ext/boost/mpl/bool.hpp +39 -0
- data/ext/boost/mpl/bool_fwd.hpp +33 -0
- data/ext/boost/mpl/eval_if.hpp +71 -0
- data/ext/boost/mpl/has_xxx.hpp +272 -0
- data/ext/boost/mpl/identity.hpp +45 -0
- data/ext/boost/mpl/if.hpp +135 -0
- data/ext/boost/mpl/int.hpp +22 -0
- data/ext/boost/mpl/int_fwd.hpp +27 -0
- data/ext/boost/mpl/integral_c.hpp +51 -0
- data/ext/boost/mpl/integral_c_fwd.hpp +32 -0
- data/ext/boost/mpl/integral_c_tag.hpp +26 -0
- data/ext/boost/mpl/lambda.hpp +29 -0
- data/ext/boost/mpl/lambda_fwd.hpp +57 -0
- data/ext/boost/mpl/limits/arity.hpp +21 -0
- data/ext/boost/mpl/logical.hpp +21 -0
- data/ext/boost/mpl/next.hpp +19 -0
- data/ext/boost/mpl/next_prior.hpp +49 -0
- data/ext/boost/mpl/not.hpp +51 -0
- data/ext/boost/mpl/or.hpp +61 -0
- data/ext/boost/mpl/placeholders.hpp +100 -0
- data/ext/boost/mpl/protect.hpp +55 -0
- data/ext/boost/mpl/quote.hpp +140 -0
- data/ext/boost/mpl/size_t.hpp +25 -0
- data/ext/boost/mpl/size_t_fwd.hpp +28 -0
- data/ext/boost/mpl/void.hpp +76 -0
- data/ext/boost/mpl/void_fwd.hpp +26 -0
- data/ext/boost/next_prior.hpp +51 -0
- data/ext/boost/non_type.hpp +27 -0
- data/ext/boost/noncopyable.hpp +36 -0
- data/ext/boost/none.hpp +28 -0
- data/ext/boost/none_t.hpp +24 -0
- data/ext/boost/operators.hpp +943 -0
- data/ext/boost/optional/optional.hpp +922 -0
- data/ext/boost/optional/optional_fwd.hpp +22 -0
- data/ext/boost/optional.hpp +18 -0
- data/ext/boost/preprocessor/arithmetic/add.hpp +51 -0
- data/ext/boost/preprocessor/arithmetic/dec.hpp +288 -0
- data/ext/boost/preprocessor/arithmetic/inc.hpp +288 -0
- data/ext/boost/preprocessor/arithmetic/sub.hpp +50 -0
- data/ext/boost/preprocessor/array/data.hpp +28 -0
- data/ext/boost/preprocessor/array/elem.hpp +29 -0
- data/ext/boost/preprocessor/array/size.hpp +28 -0
- data/ext/boost/preprocessor/cat.hpp +35 -0
- data/ext/boost/preprocessor/comma_if.hpp +17 -0
- data/ext/boost/preprocessor/config/config.hpp +70 -0
- data/ext/boost/preprocessor/control/detail/while.hpp +536 -0
- data/ext/boost/preprocessor/control/expr_iif.hpp +31 -0
- data/ext/boost/preprocessor/control/if.hpp +30 -0
- data/ext/boost/preprocessor/control/iif.hpp +34 -0
- data/ext/boost/preprocessor/control/while.hpp +312 -0
- data/ext/boost/preprocessor/debug/error.hpp +33 -0
- data/ext/boost/preprocessor/detail/auto_rec.hpp +293 -0
- data/ext/boost/preprocessor/detail/check.hpp +48 -0
- data/ext/boost/preprocessor/detail/is_binary.hpp +30 -0
- data/ext/boost/preprocessor/empty.hpp +17 -0
- data/ext/boost/preprocessor/enum.hpp +17 -0
- data/ext/boost/preprocessor/enum_params.hpp +17 -0
- data/ext/boost/preprocessor/facilities/empty.hpp +21 -0
- data/ext/boost/preprocessor/facilities/identity.hpp +23 -0
- data/ext/boost/preprocessor/identity.hpp +17 -0
- data/ext/boost/preprocessor/inc.hpp +17 -0
- data/ext/boost/preprocessor/iterate.hpp +17 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/iter/forward1.hpp +1342 -0
- data/ext/boost/preprocessor/iteration/iterate.hpp +82 -0
- data/ext/boost/preprocessor/list/adt.hpp +73 -0
- data/ext/boost/preprocessor/list/append.hpp +40 -0
- data/ext/boost/preprocessor/list/detail/fold_left.hpp +279 -0
- data/ext/boost/preprocessor/list/detail/fold_right.hpp +277 -0
- data/ext/boost/preprocessor/list/fold_left.hpp +303 -0
- data/ext/boost/preprocessor/list/fold_right.hpp +40 -0
- data/ext/boost/preprocessor/list/for_each_i.hpp +65 -0
- data/ext/boost/preprocessor/list/reverse.hpp +40 -0
- data/ext/boost/preprocessor/list/transform.hpp +49 -0
- data/ext/boost/preprocessor/logical/and.hpp +30 -0
- data/ext/boost/preprocessor/logical/bitand.hpp +38 -0
- data/ext/boost/preprocessor/logical/bool.hpp +288 -0
- data/ext/boost/preprocessor/logical/compl.hpp +36 -0
- data/ext/boost/preprocessor/punctuation/comma.hpp +21 -0
- data/ext/boost/preprocessor/punctuation/comma_if.hpp +31 -0
- data/ext/boost/preprocessor/repeat.hpp +17 -0
- data/ext/boost/preprocessor/repetition/detail/for.hpp +536 -0
- data/ext/boost/preprocessor/repetition/enum.hpp +66 -0
- data/ext/boost/preprocessor/repetition/enum_binary_params.hpp +54 -0
- data/ext/boost/preprocessor/repetition/enum_params.hpp +41 -0
- data/ext/boost/preprocessor/repetition/for.hpp +306 -0
- data/ext/boost/preprocessor/repetition/repeat.hpp +825 -0
- data/ext/boost/preprocessor/repetition/repeat_from_to.hpp +87 -0
- data/ext/boost/preprocessor/seq/elem.hpp +304 -0
- data/ext/boost/preprocessor/seq/enum.hpp +288 -0
- data/ext/boost/preprocessor/seq/for_each_i.hpp +61 -0
- data/ext/boost/preprocessor/seq/seq.hpp +44 -0
- data/ext/boost/preprocessor/seq/size.hpp +548 -0
- data/ext/boost/preprocessor/slot/detail/def.hpp +49 -0
- data/ext/boost/preprocessor/slot/detail/shared.hpp +247 -0
- data/ext/boost/preprocessor/slot/slot.hpp +32 -0
- data/ext/boost/preprocessor/stringize.hpp +33 -0
- data/ext/boost/preprocessor/tuple/eat.hpp +57 -0
- data/ext/boost/preprocessor/tuple/elem.hpp +385 -0
- data/ext/boost/preprocessor/tuple/rem.hpp +72 -0
- data/ext/boost/preprocessor/tuple/to_list.hpp +62 -0
- data/ext/boost/range/as_literal.hpp +131 -0
- data/ext/boost/range/begin.hpp +132 -0
- data/ext/boost/range/config.hpp +54 -0
- data/ext/boost/range/const_iterator.hpp +64 -0
- data/ext/boost/range/detail/common.hpp +117 -0
- data/ext/boost/range/detail/implementation_help.hpp +99 -0
- data/ext/boost/range/detail/sfinae.hpp +77 -0
- data/ext/boost/range/detail/str_types.hpp +38 -0
- data/ext/boost/range/difference_type.hpp +29 -0
- data/ext/boost/range/distance.hpp +34 -0
- data/ext/boost/range/empty.hpp +34 -0
- data/ext/boost/range/end.hpp +131 -0
- data/ext/boost/range/functions.hpp +27 -0
- data/ext/boost/range/iterator.hpp +72 -0
- data/ext/boost/range/iterator_range.hpp +643 -0
- data/ext/boost/range/mutable_iterator.hpp +64 -0
- data/ext/boost/range/rbegin.hpp +65 -0
- data/ext/boost/range/rend.hpp +65 -0
- data/ext/boost/range/reverse_iterator.hpp +40 -0
- data/ext/boost/range/size.hpp +36 -0
- data/ext/boost/range/size_type.hpp +78 -0
- data/ext/boost/range/value_type.hpp +34 -0
- data/ext/boost/ref.hpp +178 -0
- data/ext/boost/shared_ptr.hpp +619 -0
- data/ext/boost/src/pthread/exceptions.cpp +146 -0
- data/ext/boost/src/pthread/once.cpp +51 -0
- data/ext/boost/src/pthread/thread.cpp +709 -0
- data/ext/boost/src/pthread/timeconv.inl +130 -0
- data/ext/boost/src/tss_null.cpp +34 -0
- data/ext/boost/src/win32/exceptions.cpp +124 -0
- data/ext/boost/src/win32/thread.cpp +629 -0
- data/ext/boost/src/win32/timeconv.inl +130 -0
- data/ext/boost/src/win32/tss_dll.cpp +72 -0
- data/ext/boost/src/win32/tss_pe.cpp +269 -0
- data/ext/boost/static_assert.hpp +122 -0
- data/ext/boost/thread/condition.hpp +16 -0
- data/ext/boost/thread/condition_variable.hpp +21 -0
- data/ext/boost/thread/detail/config.hpp +94 -0
- data/ext/boost/thread/detail/move.hpp +33 -0
- data/ext/boost/thread/detail/platform.hpp +71 -0
- data/ext/boost/thread/exceptions.hpp +109 -0
- data/ext/boost/thread/locks.hpp +589 -0
- data/ext/boost/thread/mutex.hpp +21 -0
- data/ext/boost/thread/once.hpp +29 -0
- data/ext/boost/thread/pthread/condition_variable.hpp +184 -0
- data/ext/boost/thread/pthread/condition_variable_fwd.hpp +66 -0
- data/ext/boost/thread/pthread/mutex.hpp +211 -0
- data/ext/boost/thread/pthread/once.hpp +85 -0
- data/ext/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +50 -0
- data/ext/boost/thread/pthread/recursive_mutex.hpp +249 -0
- data/ext/boost/thread/pthread/thread.hpp +339 -0
- data/ext/boost/thread/pthread/thread_data.hpp +102 -0
- data/ext/boost/thread/pthread/timespec.hpp +28 -0
- data/ext/boost/thread/pthread/tss.hpp +103 -0
- data/ext/boost/thread/recursive_mutex.hpp +21 -0
- data/ext/boost/thread/thread.hpp +22 -0
- data/ext/boost/thread/thread_time.hpp +46 -0
- data/ext/boost/thread/tss.hpp +18 -0
- data/ext/boost/thread/xtime.hpp +88 -0
- data/ext/boost/thread.hpp +21 -0
- data/ext/boost/throw_exception.hpp +46 -0
- data/ext/boost/token_functions.hpp +621 -0
- data/ext/boost/token_iterator.hpp +128 -0
- data/ext/boost/tokenizer.hpp +98 -0
- data/ext/boost/type.hpp +18 -0
- data/ext/boost/type_traits/add_const.hpp +47 -0
- data/ext/boost/type_traits/add_pointer.hpp +72 -0
- data/ext/boost/type_traits/add_reference.hpp +89 -0
- data/ext/boost/type_traits/alignment_of.hpp +100 -0
- data/ext/boost/type_traits/broken_compiler_spec.hpp +117 -0
- data/ext/boost/type_traits/composite_traits.hpp +29 -0
- data/ext/boost/type_traits/config.hpp +76 -0
- data/ext/boost/type_traits/conversion_traits.hpp +17 -0
- data/ext/boost/type_traits/detail/bool_trait_def.hpp +173 -0
- data/ext/boost/type_traits/detail/bool_trait_undef.hpp +27 -0
- data/ext/boost/type_traits/detail/cv_traits_impl.hpp +97 -0
- data/ext/boost/type_traits/detail/false_result.hpp +28 -0
- data/ext/boost/type_traits/detail/ice_and.hpp +35 -0
- data/ext/boost/type_traits/detail/ice_eq.hpp +36 -0
- data/ext/boost/type_traits/detail/ice_not.hpp +31 -0
- data/ext/boost/type_traits/detail/ice_or.hpp +34 -0
- data/ext/boost/type_traits/detail/is_function_ptr_helper.hpp +220 -0
- data/ext/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +817 -0
- data/ext/boost/type_traits/detail/size_t_trait_def.hpp +58 -0
- data/ext/boost/type_traits/detail/size_t_trait_undef.hpp +16 -0
- data/ext/boost/type_traits/detail/template_arity_spec.hpp +31 -0
- data/ext/boost/type_traits/detail/type_trait_def.hpp +61 -0
- data/ext/boost/type_traits/detail/type_trait_undef.hpp +19 -0
- data/ext/boost/type_traits/detail/yes_no_type.hpp +26 -0
- data/ext/boost/type_traits/function_traits.hpp +236 -0
- data/ext/boost/type_traits/has_nothrow_copy.hpp +39 -0
- data/ext/boost/type_traits/has_trivial_copy.hpp +49 -0
- data/ext/boost/type_traits/ice.hpp +20 -0
- data/ext/boost/type_traits/integral_constant.hpp +53 -0
- data/ext/boost/type_traits/intrinsics.hpp +153 -0
- data/ext/boost/type_traits/is_abstract.hpp +144 -0
- data/ext/boost/type_traits/is_arithmetic.hpp +43 -0
- data/ext/boost/type_traits/is_array.hpp +90 -0
- data/ext/boost/type_traits/is_class.hpp +128 -0
- data/ext/boost/type_traits/is_const.hpp +142 -0
- data/ext/boost/type_traits/is_convertible.hpp +418 -0
- data/ext/boost/type_traits/is_enum.hpp +180 -0
- data/ext/boost/type_traits/is_float.hpp +27 -0
- data/ext/boost/type_traits/is_function.hpp +95 -0
- data/ext/boost/type_traits/is_integral.hpp +73 -0
- data/ext/boost/type_traits/is_member_function_pointer.hpp +134 -0
- data/ext/boost/type_traits/is_member_pointer.hpp +114 -0
- data/ext/boost/type_traits/is_pod.hpp +135 -0
- data/ext/boost/type_traits/is_pointer.hpp +160 -0
- data/ext/boost/type_traits/is_reference.hpp +116 -0
- data/ext/boost/type_traits/is_same.hpp +103 -0
- data/ext/boost/type_traits/is_scalar.hpp +55 -0
- data/ext/boost/type_traits/is_union.hpp +49 -0
- data/ext/boost/type_traits/is_void.hpp +33 -0
- data/ext/boost/type_traits/is_volatile.hpp +131 -0
- data/ext/boost/type_traits/remove_const.hpp +78 -0
- data/ext/boost/type_traits/remove_cv.hpp +61 -0
- data/ext/boost/type_traits/remove_pointer.hpp +43 -0
- data/ext/boost/type_traits/remove_reference.hpp +50 -0
- data/ext/boost/type_traits/type_with_alignment.hpp +288 -0
- data/ext/boost/utility/addressof.hpp +58 -0
- data/ext/boost/utility/base_from_member.hpp +87 -0
- data/ext/boost/utility/compare_pointees.hpp +68 -0
- data/ext/boost/utility/enable_if.hpp +119 -0
- data/ext/boost/utility.hpp +19 -0
- data/ext/boost/visit_each.hpp +29 -0
- data/ext/boost/weak_ptr.hpp +188 -0
- data/ext/common/Application.h +511 -0
- data/ext/common/ApplicationPool.h +205 -0
- data/ext/common/ApplicationPoolServer.h +794 -0
- data/ext/common/ApplicationPoolServerExecutable.cpp +743 -0
- data/ext/common/ApplicationPoolStatusReporter.h +336 -0
- data/ext/common/Base64.cpp +143 -0
- data/ext/common/Base64.h +57 -0
- data/ext/common/CachedFileStat.cpp +62 -0
- data/ext/common/CachedFileStat.h +51 -0
- data/ext/common/CachedFileStat.hpp +243 -0
- data/ext/common/DummySpawnManager.h +108 -0
- data/ext/common/Exceptions.h +258 -0
- data/ext/common/FileChangeChecker.h +209 -0
- data/ext/common/Logging.cpp +65 -0
- data/ext/common/Logging.h +123 -0
- data/ext/common/MessageChannel.h +615 -0
- data/ext/common/PoolOptions.h +355 -0
- data/ext/common/SpawnManager.h +561 -0
- data/ext/common/StandardApplicationPool.h +819 -0
- data/ext/common/StaticString.h +148 -0
- data/ext/common/StringListCreator.h +83 -0
- data/ext/common/SystemTime.cpp +33 -0
- data/ext/common/SystemTime.h +88 -0
- data/ext/common/Timer.h +90 -0
- data/ext/common/Utils.cpp +681 -0
- data/ext/common/Utils.h +497 -0
- data/ext/common/Version.h +31 -0
- data/ext/nginx/Configuration.c +1098 -0
- data/ext/nginx/Configuration.h +71 -0
- data/ext/nginx/ContentHandler.c +1225 -0
- data/ext/nginx/ContentHandler.h +64 -0
- data/ext/nginx/HelperServer.cpp +850 -0
- data/ext/nginx/HttpStatusExtractor.h +350 -0
- data/ext/nginx/ScgiRequestParser.h +317 -0
- data/ext/nginx/StaticContentHandler.c +257 -0
- data/ext/nginx/StaticContentHandler.h +37 -0
- data/ext/nginx/config +45 -0
- data/ext/nginx/ngx_http_passenger_module.c +653 -0
- data/ext/nginx/ngx_http_passenger_module.h +72 -0
- data/ext/oxt/backtrace.cpp +177 -0
- data/ext/oxt/backtrace.hpp +135 -0
- data/ext/oxt/detail/backtrace_disabled.hpp +39 -0
- data/ext/oxt/detail/backtrace_enabled.hpp +155 -0
- data/ext/oxt/detail/spin_lock_gcc_x86.hpp +82 -0
- data/ext/oxt/detail/spin_lock_portable.hpp +38 -0
- data/ext/oxt/detail/spin_lock_pthreads.hpp +97 -0
- data/ext/oxt/detail/tracable_exception_disabled.hpp +46 -0
- data/ext/oxt/detail/tracable_exception_enabled.hpp +48 -0
- data/ext/oxt/macros.hpp +58 -0
- data/ext/oxt/spin_lock.hpp +55 -0
- data/ext/oxt/system_calls.cpp +340 -0
- data/ext/oxt/system_calls.hpp +243 -0
- data/ext/oxt/thread.cpp +32 -0
- data/ext/oxt/thread.hpp +239 -0
- data/ext/oxt/tracable_exception.cpp +87 -0
- data/ext/oxt/tracable_exception.hpp +35 -0
- data/ext/phusion_passenger/extconf.rb +36 -0
- data/ext/phusion_passenger/native_support.c +308 -0
- data/generators/colouringcode-passenger/USAGE +1 -0
- data/generators/colouringcode-passenger/passenger_template_generator.rb +16 -0
- data/generators/colouringcode-passenger/templates/app_exited_during_initialization.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/app_init_error.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/database_error.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/error_layout.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/framework_init_error.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/general_error.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/invalid_app_root.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/load_error.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/version_not_found.html.erb +0 -0
- data/lib/phusion_passenger/abstract_installer.rb +196 -0
- data/lib/phusion_passenger/abstract_request_handler.rb +475 -0
- data/lib/phusion_passenger/abstract_server.rb +369 -0
- data/lib/phusion_passenger/abstract_server_collection.rb +306 -0
- data/lib/phusion_passenger/admin_tools/control_process.rb +150 -0
- data/lib/phusion_passenger/admin_tools.rb +48 -0
- data/lib/phusion_passenger/application.rb +113 -0
- data/lib/phusion_passenger/console_text_template.rb +66 -0
- data/lib/phusion_passenger/constants.rb +31 -0
- data/lib/phusion_passenger/dependencies.rb +393 -0
- data/lib/phusion_passenger/events.rb +50 -0
- data/lib/phusion_passenger/exceptions.rb +103 -0
- data/lib/phusion_passenger/html_template.rb +119 -0
- data/lib/phusion_passenger/message_channel.rb +229 -0
- data/lib/phusion_passenger/packaging.rb +39 -0
- data/lib/phusion_passenger/platform_info.rb +550 -0
- data/lib/phusion_passenger/rack/application_spawner.rb +146 -0
- data/lib/phusion_passenger/rack/request_handler.rb +125 -0
- data/lib/phusion_passenger/railz/application_spawner.rb +386 -0
- data/lib/phusion_passenger/railz/cgi_fixed.rb +68 -0
- data/lib/phusion_passenger/railz/framework_spawner.rb +334 -0
- data/lib/phusion_passenger/railz/request_handler.rb +73 -0
- data/lib/phusion_passenger/simple_benchmarking.rb +52 -0
- data/lib/phusion_passenger/spawn_manager.rb +372 -0
- data/lib/phusion_passenger/templates/apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb +9 -0
- data/lib/phusion_passenger/templates/apache2/config_snippets.txt.erb +13 -0
- data/lib/phusion_passenger/templates/apache2/deployment_example.txt.erb +23 -0
- data/lib/phusion_passenger/templates/apache2/no_write_permission_to_passenger_root.txt.erb +9 -0
- data/lib/phusion_passenger/templates/apache2/possible_solutions_for_compilation_and_installation_problems.txt.erb +11 -0
- data/lib/phusion_passenger/templates/apache2/run_installer_as_root.txt.erb +8 -0
- data/lib/phusion_passenger/templates/apache2/welcome.txt.erb +15 -0
- data/lib/phusion_passenger/templates/app_exited_during_initialization.html.erb +38 -0
- data/lib/phusion_passenger/templates/app_init_error.html.erb +64 -0
- data/lib/phusion_passenger/templates/database_error.html.erb +66 -0
- data/lib/phusion_passenger/templates/error_layout.css +97 -0
- data/lib/phusion_passenger/templates/error_layout.html.erb +39 -0
- data/lib/phusion_passenger/templates/framework_init_error.html.erb +39 -0
- data/lib/phusion_passenger/templates/general_error.html.erb +22 -0
- data/lib/phusion_passenger/templates/invalid_app_root.html.erb +9 -0
- data/lib/phusion_passenger/templates/load_error.html.erb +46 -0
- data/lib/phusion_passenger/templates/nginx/ask_for_extra_configure_flags.txt.erb +8 -0
- data/lib/phusion_passenger/templates/nginx/cannot_write_to_dir.txt.erb +11 -0
- data/lib/phusion_passenger/templates/nginx/config_snippets.txt.erb +17 -0
- data/lib/phusion_passenger/templates/nginx/config_snippets_inserted.txt.erb +20 -0
- data/lib/phusion_passenger/templates/nginx/confirm_extra_configure_flags.txt.erb +5 -0
- data/lib/phusion_passenger/templates/nginx/deployment_example.txt.erb +22 -0
- data/lib/phusion_passenger/templates/nginx/pcre_could_not_be_downloaded.txt.erb +11 -0
- data/lib/phusion_passenger/templates/nginx/pcre_could_not_be_extracted.txt.erb +11 -0
- data/lib/phusion_passenger/templates/nginx/possible_solutions_for_compilation_and_installation_problems.txt.erb +11 -0
- data/lib/phusion_passenger/templates/nginx/possible_solutions_for_download_and_extraction_problems.txt.erb +20 -0
- data/lib/phusion_passenger/templates/nginx/query_download_and_install.txt.erb +21 -0
- data/lib/phusion_passenger/templates/nginx/run_installer_as_root.txt.erb +8 -0
- data/lib/phusion_passenger/templates/nginx/welcome.txt.erb +15 -0
- data/lib/phusion_passenger/templates/version_not_found.html.erb +34 -0
- data/lib/phusion_passenger/utils.rb +603 -0
- data/lib/phusion_passenger/wsgi/application_spawner.rb +104 -0
- data/lib/phusion_passenger/wsgi/request_handler.py +199 -0
- data/man/passenger-config.1 +29 -0
- data/man/passenger-make-enterprisey.8 +23 -0
- data/man/passenger-memory-stats.8 +33 -0
- data/man/passenger-status.8 +43 -0
- data/man/passenger-stress-test.1 +43 -0
- data/misc/copy_boost_headers.rb +125 -0
- data/misc/find_owner_pipe_leaks.rb +128 -0
- data/misc/rake/cplusplus.rb +57 -0
- data/misc/rake/extensions.rb +182 -0
- data/misc/rake/gempackagetask.rb +99 -0
- data/misc/rake/packagetask.rb +186 -0
- data/misc/rake/rdoctask.rb +209 -0
- data/misc/render_error_pages.rb +116 -0
- data/test/ApplicationPoolServerTest.cpp +114 -0
- data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +33 -0
- data/test/ApplicationPoolTest.cpp +599 -0
- data/test/Base64Test.cpp +48 -0
- data/test/CachedFileStatTest.cpp +402 -0
- data/test/CxxTestMain.cpp +143 -0
- data/test/FileChangeCheckerTest.cpp +331 -0
- data/test/HttpStatusExtractorTest.cpp +198 -0
- data/test/MessageChannelTest.cpp +312 -0
- data/test/PoolOptionsTest.cpp +117 -0
- data/test/ScgiRequestParserTest.cpp +337 -0
- data/test/SpawnManagerTest.cpp +64 -0
- data/test/StandardApplicationPoolTest.cpp +27 -0
- data/test/StaticStringTest.cpp +51 -0
- data/test/SystemTimeTest.cpp +37 -0
- data/test/UtilsTest.cpp +257 -0
- data/test/config.yml.example +30 -0
- data/test/integration_tests/apache2_tests.rb +595 -0
- data/test/integration_tests/hello_world_rack_spec.rb +36 -0
- data/test/integration_tests/hello_world_wsgi_spec.rb +41 -0
- data/test/integration_tests/mycook_spec.rb +192 -0
- data/test/integration_tests/nginx_tests.rb +151 -0
- data/test/oxt/backtrace_test.cpp +128 -0
- data/test/oxt/oxt_test_main.cpp +25 -0
- data/test/oxt/syscall_interruption_test.cpp +38 -0
- data/test/ruby/abstract_request_handler_spec.rb +85 -0
- data/test/ruby/abstract_server_collection_spec.rb +246 -0
- data/test/ruby/abstract_server_spec.rb +51 -0
- data/test/ruby/application_spec.rb +43 -0
- data/test/ruby/message_channel_spec.rb +170 -0
- data/test/ruby/rack/application_spawner_spec.rb +99 -0
- data/test/ruby/rails/application_spawner_spec.rb +159 -0
- data/test/ruby/rails/framework_spawner_spec.rb +133 -0
- data/test/ruby/rails/minimal_spawner_spec.rb +93 -0
- data/test/ruby/rails/spawner_error_handling_spec.rb +107 -0
- data/test/ruby/rails/spawner_privilege_lowering_spec.rb +97 -0
- data/test/ruby/spawn_manager_spec.rb +205 -0
- data/test/ruby/spawn_server_spec.rb +26 -0
- data/test/ruby/utils_spec.rb +335 -0
- data/test/ruby/wsgi/application_spawner_spec.rb +54 -0
- data/test/stub/apache2/httpd.conf.erb +81 -0
- data/test/stub/apache2/mime.types +748 -0
- data/test/stub/garbage1.dat +0 -0
- data/test/stub/garbage2.dat +0 -0
- data/test/stub/garbage3.dat +0 -0
- data/test/stub/http_request.yml +23 -0
- data/test/stub/message_channel.rb +9 -0
- data/test/stub/message_channel_2.rb +10 -0
- data/test/stub/message_channel_3.rb +17 -0
- data/test/stub/nginx/koi-utf +109 -0
- data/test/stub/nginx/koi-win +103 -0
- data/test/stub/nginx/mime.types +70 -0
- data/test/stub/nginx/nginx.conf.erb +57 -0
- data/test/stub/nginx/win-utf +126 -0
- data/test/stub/rack/config.ru +4 -0
- data/test/stub/rack/public/rack.jpg +0 -0
- data/test/stub/rails_apps/foobar/app/controllers/application.rb +12 -0
- data/test/stub/rails_apps/foobar/app/controllers/bar_controller_1.rb +5 -0
- data/test/stub/rails_apps/foobar/app/controllers/bar_controller_2.rb +5 -0
- data/test/stub/rails_apps/foobar/app/controllers/foo_controller.rb +21 -0
- data/test/stub/rails_apps/foobar/app/helpers/application_helper.rb +3 -0
- data/test/stub/rails_apps/foobar/config/boot.rb +108 -0
- data/test/stub/rails_apps/foobar/config/database.yml +19 -0
- data/test/stub/rails_apps/foobar/config/environment.rb +59 -0
- data/test/stub/rails_apps/foobar/config/environments/development.rb +17 -0
- data/test/stub/rails_apps/foobar/config/environments/production.rb +18 -0
- data/test/stub/rails_apps/foobar/config/initializers/inflections.rb +10 -0
- data/test/stub/rails_apps/foobar/config/initializers/mime_types.rb +5 -0
- data/test/stub/rails_apps/foobar/config/routes.rb +35 -0
- data/test/stub/rails_apps/mycook/app/controllers/application.rb +12 -0
- data/test/stub/rails_apps/mycook/app/controllers/recipes_controller.rb +5 -0
- data/test/stub/rails_apps/mycook/app/controllers/uploads_controller.rb +15 -0
- data/test/stub/rails_apps/mycook/app/controllers/welcome_controller.rb +71 -0
- data/test/stub/rails_apps/mycook/app/helpers/application_helper.rb +3 -0
- data/test/stub/rails_apps/mycook/app/views/layouts/default.rhtml +26 -0
- data/test/stub/rails_apps/mycook/app/views/recipes/create.rhtml +13 -0
- data/test/stub/rails_apps/mycook/app/views/recipes/index.rhtml +3 -0
- data/test/stub/rails_apps/mycook/app/views/recipes/new.rhtml +8 -0
- data/test/stub/rails_apps/mycook/app/views/uploads/index.rhtml +1 -0
- data/test/stub/rails_apps/mycook/app/views/uploads/new.html.erb +8 -0
- data/test/stub/rails_apps/mycook/app/views/welcome/cached.rhtml +1 -0
- data/test/stub/rails_apps/mycook/app/views/welcome/index.rhtml +20 -0
- data/test/stub/rails_apps/mycook/config/boot.rb +108 -0
- data/test/stub/rails_apps/mycook/config/database.yml +19 -0
- data/test/stub/rails_apps/mycook/config/environment.rb +61 -0
- data/test/stub/rails_apps/mycook/config/environments/development.rb +18 -0
- data/test/stub/rails_apps/mycook/config/environments/production.rb +19 -0
- data/test/stub/rails_apps/mycook/config/initializers/inflections.rb +10 -0
- data/test/stub/rails_apps/mycook/config/initializers/mime_types.rb +5 -0
- data/test/stub/rails_apps/mycook/config/routes.rb +38 -0
- data/test/stub/rails_apps/mycook/log/useless.txt +1 -0
- data/test/stub/rails_apps/mycook/public/404.html +30 -0
- data/test/stub/rails_apps/mycook/public/422.html +30 -0
- data/test/stub/rails_apps/mycook/public/500.html +30 -0
- data/test/stub/rails_apps/mycook/public/dispatch.cgi +10 -0
- data/test/stub/rails_apps/mycook/public/dispatch.fcgi +24 -0
- data/test/stub/rails_apps/mycook/public/dispatch.rb +10 -0
- data/test/stub/rails_apps/mycook/public/favicon.ico +0 -0
- data/test/stub/rails_apps/mycook/public/images/angrywizard.gif +0 -0
- data/test/stub/rails_apps/mycook/public/images/cookbook.gif +0 -0
- data/test/stub/rails_apps/mycook/public/images/header.png +0 -0
- data/test/stub/rails_apps/mycook/public/images/rails.png +0 -0
- data/test/stub/rails_apps/mycook/public/javascripts/application.js +2 -0
- data/test/stub/rails_apps/mycook/public/javascripts/controls.js +963 -0
- data/test/stub/rails_apps/mycook/public/javascripts/dragdrop.js +972 -0
- data/test/stub/rails_apps/mycook/public/javascripts/effects.js +1120 -0
- data/test/stub/rails_apps/mycook/public/javascripts/prototype.js +4225 -0
- data/test/stub/rails_apps/mycook/public/robots.txt +5 -0
- data/test/stub/rails_apps/mycook/public/uploads.html +26 -0
- data/test/stub/rails_apps/mycook/public/welcome/cached.html +26 -0
- data/test/stub/rails_apps/mycook/sites/some.site/public/uploads.html +26 -0
- data/test/stub/rails_apps/mycook/sites/some.site/public/welcome/cached.html +26 -0
- data/test/stub/rails_apps/mycook/tmp/cache/useless.txt +1 -0
- data/test/stub/rails_apps/mycook/tmp/pids/useless.txt +1 -0
- data/test/stub/rails_apps/mycook/tmp/sessions/useless.txt +1 -0
- data/test/stub/rails_apps/mycook/tmp/sockets/useless.txt +1 -0
- data/test/stub/spawn_server.rb +20 -0
- data/test/stub/upload_data.txt +494 -0
- data/test/stub/vendor_rails/minimal/README +1 -0
- data/test/stub/vendor_rails/minimal/actionmailer/lib/action_mailer.rb +0 -0
- data/test/stub/vendor_rails/minimal/actionpack/lib/action_controller.rb +19 -0
- data/test/stub/vendor_rails/minimal/actionpack/lib/action_pack.rb +0 -0
- data/test/stub/vendor_rails/minimal/actionpack/lib/action_view.rb +0 -0
- data/test/stub/vendor_rails/minimal/activerecord/lib/active_record.rb +7 -0
- data/test/stub/vendor_rails/minimal/activeresource/lib/active_resource.rb +0 -0
- data/test/stub/vendor_rails/minimal/activesupport/lib/active_support/whiny_nil.rb +0 -0
- data/test/stub/vendor_rails/minimal/activesupport/lib/active_support.rb +17 -0
- data/test/stub/vendor_rails/minimal/railties/lib/dispatcher.rb +0 -0
- data/test/stub/vendor_rails/minimal/railties/lib/initializer.rb +52 -0
- data/test/stub/vendor_rails/minimal/railties/lib/ruby_version_check.rb +1 -0
- data/test/stub/wsgi/passenger_wsgi.py +3 -0
- data/test/stub/wsgi/public/wsgi-snake.jpg +0 -0
- data/test/stub/zsfa/header.png +0 -0
- data/test/stub/zsfa/index.html +14 -0
- data/test/stub/zsfa/zsfa.png +0 -0
- data/test/support/Support.cpp +84 -0
- data/test/support/Support.h +118 -0
- data/test/support/apache2_controller.rb +250 -0
- data/test/support/config.rb +38 -0
- data/test/support/multipart.rb +62 -0
- data/test/support/nginx_controller.rb +98 -0
- data/test/support/run_rspec_tests.rb +10 -0
- data/test/support/test_helper.rb +207 -0
- data/test/support/tut.h +1234 -0
- data/test/support/tut_reporter.h +256 -0
- data/test/support/valgrind.h +2539 -0
- data/vendor/README +13 -0
- data/vendor/README_FOR_PACKAGERS +1 -0
- data/vendor/rack-1.0.0-git/COPYING +18 -0
- data/vendor/rack-1.0.0-git/KNOWN-ISSUES +18 -0
- data/vendor/rack-1.0.0-git/README +353 -0
- data/vendor/rack-1.0.0-git/Rakefile +164 -0
- data/vendor/rack-1.0.0-git/lib/rack/adapter/camping.rb +22 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/handler.rb +37 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/request.rb +37 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/basic.rb +58 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/digest/md5.rb +124 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/digest/nonce.rb +51 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/digest/params.rb +55 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/digest/request.rb +40 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/openid.rb +487 -0
- data/vendor/rack-1.0.0-git/lib/rack/builder.rb +63 -0
- data/vendor/rack-1.0.0-git/lib/rack/cascade.rb +41 -0
- data/vendor/rack-1.0.0-git/lib/rack/chunked.rb +49 -0
- data/vendor/rack-1.0.0-git/lib/rack/commonlogger.rb +52 -0
- data/vendor/rack-1.0.0-git/lib/rack/conditionalget.rb +47 -0
- data/vendor/rack-1.0.0-git/lib/rack/content_length.rb +29 -0
- data/vendor/rack-1.0.0-git/lib/rack/content_type.rb +23 -0
- data/vendor/rack-1.0.0-git/lib/rack/deflater.rb +96 -0
- data/vendor/rack-1.0.0-git/lib/rack/directory.rb +153 -0
- data/vendor/rack-1.0.0-git/lib/rack/file.rb +88 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/cgi.rb +61 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/evented_mongrel.rb +8 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/fastcgi.rb +88 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/lsws.rb +55 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/mongrel.rb +84 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/scgi.rb +59 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/thin.rb +18 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/webrick.rb +67 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler.rb +69 -0
- data/vendor/rack-1.0.0-git/lib/rack/head.rb +19 -0
- data/vendor/rack-1.0.0-git/lib/rack/lint.rb +537 -0
- data/vendor/rack-1.0.0-git/lib/rack/lobster.rb +65 -0
- data/vendor/rack-1.0.0-git/lib/rack/lock.rb +16 -0
- data/vendor/rack-1.0.0-git/lib/rack/methodoverride.rb +27 -0
- data/vendor/rack-1.0.0-git/lib/rack/mime.rb +204 -0
- data/vendor/rack-1.0.0-git/lib/rack/mock.rb +184 -0
- data/vendor/rack-1.0.0-git/lib/rack/recursive.rb +57 -0
- data/vendor/rack-1.0.0-git/lib/rack/reloader.rb +106 -0
- data/vendor/rack-1.0.0-git/lib/rack/request.rb +248 -0
- data/vendor/rack-1.0.0-git/lib/rack/response.rb +183 -0
- data/vendor/rack-1.0.0-git/lib/rack/rewindable_input.rb +100 -0
- data/vendor/rack-1.0.0-git/lib/rack/session/abstract/id.rb +142 -0
- data/vendor/rack-1.0.0-git/lib/rack/session/cookie.rb +91 -0
- data/vendor/rack-1.0.0-git/lib/rack/session/memcache.rb +109 -0
- data/vendor/rack-1.0.0-git/lib/rack/session/pool.rb +100 -0
- data/vendor/rack-1.0.0-git/lib/rack/showexceptions.rb +349 -0
- data/vendor/rack-1.0.0-git/lib/rack/showstatus.rb +106 -0
- data/vendor/rack-1.0.0-git/lib/rack/static.rb +38 -0
- data/vendor/rack-1.0.0-git/lib/rack/urlmap.rb +55 -0
- data/vendor/rack-1.0.0-git/lib/rack/utils.rb +522 -0
- data/vendor/rack-1.0.0-git/lib/rack.rb +90 -0
- metadata +1152 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
|
|
2
|
+
#ifndef DATETIME_PERIOD_PARSER_HPP___
|
|
3
|
+
#define DATETIME_PERIOD_PARSER_HPP___
|
|
4
|
+
|
|
5
|
+
/* Copyright (c) 2002-2004 CrystalClear Software, Inc.
|
|
6
|
+
* Use, modification and distribution is subject to the
|
|
7
|
+
* Boost Software License, Version 1.0. (See accompanying
|
|
8
|
+
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
|
9
|
+
* Author: Jeff Garland, Bart Garst
|
|
10
|
+
* $Date: 2008-02-27 15:00:24 -0500 (Wed, 27 Feb 2008) $
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
#include "boost/date_time/string_parse_tree.hpp"
|
|
14
|
+
#include "boost/date_time/string_convert.hpp"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
namespace boost { namespace date_time {
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
//! Not a facet, but a class used to specify and control period parsing
|
|
21
|
+
/*! Provides settings for the following:
|
|
22
|
+
* - period_separator -- default '/'
|
|
23
|
+
* - period_open_start_delimeter -- default '['
|
|
24
|
+
* - period_open_range_end_delimeter -- default ')'
|
|
25
|
+
* - period_closed_range_end_delimeter -- default ']'
|
|
26
|
+
* - display_as_open_range, display_as_closed_range -- default closed_range
|
|
27
|
+
*
|
|
28
|
+
* For a typical date_period, the contents of the input stream would be
|
|
29
|
+
*@code
|
|
30
|
+
* [2004-Jan-04/2004-Feb-01]
|
|
31
|
+
*@endcode
|
|
32
|
+
* where the date format is controlled by the date facet
|
|
33
|
+
*/
|
|
34
|
+
template<class date_type, typename CharT>
|
|
35
|
+
class period_parser {
|
|
36
|
+
public:
|
|
37
|
+
typedef std::basic_string<CharT> string_type;
|
|
38
|
+
typedef CharT char_type;
|
|
39
|
+
//typedef typename std::basic_string<char_type>::const_iterator const_itr_type;
|
|
40
|
+
typedef std::istreambuf_iterator<CharT> stream_itr_type;
|
|
41
|
+
typedef string_parse_tree<CharT> parse_tree_type;
|
|
42
|
+
typedef typename parse_tree_type::parse_match_result_type match_results;
|
|
43
|
+
typedef std::vector<std::basic_string<CharT> > collection_type;
|
|
44
|
+
|
|
45
|
+
static const char_type default_period_separator[2];
|
|
46
|
+
static const char_type default_period_start_delimeter[2];
|
|
47
|
+
static const char_type default_period_open_range_end_delimeter[2];
|
|
48
|
+
static const char_type default_period_closed_range_end_delimeter[2];
|
|
49
|
+
|
|
50
|
+
enum period_range_option { AS_OPEN_RANGE, AS_CLOSED_RANGE };
|
|
51
|
+
|
|
52
|
+
//! Constructor that sets up period parser options
|
|
53
|
+
period_parser(period_range_option range_option = AS_CLOSED_RANGE,
|
|
54
|
+
const char_type* const period_separator = default_period_separator,
|
|
55
|
+
const char_type* const period_start_delimeter = default_period_start_delimeter,
|
|
56
|
+
const char_type* const period_open_range_end_delimeter = default_period_open_range_end_delimeter,
|
|
57
|
+
const char_type* const period_closed_range_end_delimeter = default_period_closed_range_end_delimeter)
|
|
58
|
+
: m_range_option(range_option)
|
|
59
|
+
{
|
|
60
|
+
delimiters.push_back(string_type(period_separator));
|
|
61
|
+
delimiters.push_back(string_type(period_start_delimeter));
|
|
62
|
+
delimiters.push_back(string_type(period_open_range_end_delimeter));
|
|
63
|
+
delimiters.push_back(string_type(period_closed_range_end_delimeter));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
period_parser(const period_parser<date_type,CharT>& p_parser)
|
|
67
|
+
{
|
|
68
|
+
this->delimiters = p_parser.delimiters;
|
|
69
|
+
this->m_range_option = p_parser.m_range_option;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
period_range_option range_option() const
|
|
73
|
+
{
|
|
74
|
+
return m_range_option;
|
|
75
|
+
}
|
|
76
|
+
void range_option(period_range_option option)
|
|
77
|
+
{
|
|
78
|
+
m_range_option = option;
|
|
79
|
+
}
|
|
80
|
+
collection_type delimiter_strings() const
|
|
81
|
+
{
|
|
82
|
+
return delimiters;
|
|
83
|
+
}
|
|
84
|
+
void delimiter_strings(const string_type& separator,
|
|
85
|
+
const string_type& start_delim,
|
|
86
|
+
const string_type& open_end_delim,
|
|
87
|
+
const string_type& closed_end_delim)
|
|
88
|
+
{
|
|
89
|
+
delimiters.clear();
|
|
90
|
+
delimiters.push_back(separator);
|
|
91
|
+
delimiters.push_back(start_delim);
|
|
92
|
+
delimiters.push_back(open_end_delim);
|
|
93
|
+
delimiters.push_back(closed_end_delim);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
//! Generic code to parse a period -- no matter the period type.
|
|
97
|
+
/*! This generic code will parse any period using a facet to
|
|
98
|
+
* to get the 'elements'. For example, in the case of a date_period
|
|
99
|
+
* the elements will be instances of a date which will be parsed
|
|
100
|
+
* according the to setup in the passed facet parameter.
|
|
101
|
+
*
|
|
102
|
+
* The steps for parsing a period are always the same:
|
|
103
|
+
* - consume the start delimiter
|
|
104
|
+
* - get start element
|
|
105
|
+
* - consume the separator
|
|
106
|
+
* - get either last or end element depending on range settings
|
|
107
|
+
* - consume the end delimeter depending on range settings
|
|
108
|
+
*
|
|
109
|
+
* Thus for a typical date period the contents of the input stream
|
|
110
|
+
* might look like this:
|
|
111
|
+
*@code
|
|
112
|
+
*
|
|
113
|
+
* [March 01, 2004/June 07, 2004] <-- closed range
|
|
114
|
+
* [March 01, 2004/June 08, 2004) <-- open range
|
|
115
|
+
*
|
|
116
|
+
*@endcode
|
|
117
|
+
*/
|
|
118
|
+
template<class period_type, class duration_type, class facet_type>
|
|
119
|
+
period_type get_period(stream_itr_type& sitr,
|
|
120
|
+
stream_itr_type& stream_end,
|
|
121
|
+
std::ios_base& a_ios,
|
|
122
|
+
const period_type& p,
|
|
123
|
+
const duration_type& dur_unit,
|
|
124
|
+
const facet_type& facet) const
|
|
125
|
+
{
|
|
126
|
+
// skip leading whitespace
|
|
127
|
+
while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
|
|
128
|
+
|
|
129
|
+
typedef typename period_type::point_type point_type;
|
|
130
|
+
point_type p1(not_a_date_time), p2(not_a_date_time);
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
consume_delim(sitr, stream_end, delimiters[START]); // start delim
|
|
134
|
+
facet.get(sitr, stream_end, a_ios, p1); // first point
|
|
135
|
+
consume_delim(sitr, stream_end, delimiters[SEPARATOR]); // separator
|
|
136
|
+
facet.get(sitr, stream_end, a_ios, p2); // second point
|
|
137
|
+
|
|
138
|
+
// period construction parameters are always open range [begin, end)
|
|
139
|
+
if (m_range_option == AS_CLOSED_RANGE) {
|
|
140
|
+
consume_delim(sitr, stream_end, delimiters[CLOSED_END]);// end delim
|
|
141
|
+
// add 1 duration unit to p2 to make range open
|
|
142
|
+
p2 += dur_unit;
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
consume_delim(sitr, stream_end, delimiters[OPEN_END]); // end delim
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return period_type(p1, p2);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
private:
|
|
152
|
+
collection_type delimiters;
|
|
153
|
+
period_range_option m_range_option;
|
|
154
|
+
|
|
155
|
+
enum delim_ids { SEPARATOR, START, OPEN_END, CLOSED_END };
|
|
156
|
+
|
|
157
|
+
//! throws ios_base::failure if delimiter and parsed data do not match
|
|
158
|
+
void consume_delim(stream_itr_type& sitr,
|
|
159
|
+
stream_itr_type& stream_end,
|
|
160
|
+
const string_type& delim) const
|
|
161
|
+
{
|
|
162
|
+
/* string_parse_tree will not parse a string of punctuation characters
|
|
163
|
+
* without knowing exactly how many characters to process
|
|
164
|
+
* Ex [2000. Will not parse out the '[' string without knowing
|
|
165
|
+
* to process only one character. By using length of the delimiter
|
|
166
|
+
* string we can safely iterate past it. */
|
|
167
|
+
string_type s;
|
|
168
|
+
for(unsigned int i = 0; i < delim.length() && sitr != stream_end; ++i) {
|
|
169
|
+
s += *sitr;
|
|
170
|
+
++sitr;
|
|
171
|
+
}
|
|
172
|
+
if(s != delim) {
|
|
173
|
+
throw std::ios_base::failure("Parse failed. Expected '" + convert_string_type<char_type,char>(delim) + "' but found '" + convert_string_type<char_type,char>(s) + "'");
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
template <class date_type, class char_type>
|
|
179
|
+
const typename period_parser<date_type, char_type>::char_type
|
|
180
|
+
period_parser<date_type, char_type>::default_period_separator[2] = {'/'};
|
|
181
|
+
|
|
182
|
+
template <class date_type, class char_type>
|
|
183
|
+
const typename period_parser<date_type, char_type>::char_type
|
|
184
|
+
period_parser<date_type, char_type>::default_period_start_delimeter[2] = {'['};
|
|
185
|
+
|
|
186
|
+
template <class date_type, class char_type>
|
|
187
|
+
const typename period_parser<date_type, char_type>::char_type
|
|
188
|
+
period_parser<date_type, char_type>::default_period_open_range_end_delimeter[2] = {')'};
|
|
189
|
+
|
|
190
|
+
template <class date_type, class char_type>
|
|
191
|
+
const typename period_parser<date_type, char_type>::char_type
|
|
192
|
+
period_parser<date_type, char_type>::default_period_closed_range_end_delimeter[2] = {']'};
|
|
193
|
+
|
|
194
|
+
} } //namespace boost::date_time
|
|
195
|
+
|
|
196
|
+
#endif // DATETIME_PERIOD_PARSER_HPP___
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#ifndef POSIX_TIME_CONVERSION_HPP___
|
|
2
|
+
#define POSIX_TIME_CONVERSION_HPP___
|
|
3
|
+
|
|
4
|
+
/* Copyright (c) 2002-2005 CrystalClear Software, Inc.
|
|
5
|
+
* Use, modification and distribution is subject to the
|
|
6
|
+
* Boost Software License, Version 1.0. (See accompanying
|
|
7
|
+
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
|
8
|
+
* Author: Jeff Garland, Bart Garst
|
|
9
|
+
* $Date: 2008-02-27 15:00:24 -0500 (Wed, 27 Feb 2008) $
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
#include "boost/date_time/posix_time/ptime.hpp"
|
|
13
|
+
#include "boost/date_time/posix_time/posix_time_duration.hpp"
|
|
14
|
+
#include "boost/date_time/filetime_functions.hpp"
|
|
15
|
+
#include "boost/date_time/c_time.hpp"
|
|
16
|
+
#include "boost/date_time/gregorian/conversion.hpp"
|
|
17
|
+
|
|
18
|
+
namespace boost {
|
|
19
|
+
|
|
20
|
+
namespace posix_time {
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
//! Function that converts a time_t into a ptime.
|
|
24
|
+
inline
|
|
25
|
+
ptime from_time_t(std::time_t t)
|
|
26
|
+
{
|
|
27
|
+
ptime start(gregorian::date(1970,1,1));
|
|
28
|
+
return start + seconds(static_cast<long>(t));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//! Convert a time to a tm structure truncating any fractional seconds
|
|
32
|
+
inline
|
|
33
|
+
std::tm to_tm(const boost::posix_time::ptime& t) {
|
|
34
|
+
std::tm timetm = boost::gregorian::to_tm(t.date());
|
|
35
|
+
boost::posix_time::time_duration td = t.time_of_day();
|
|
36
|
+
timetm.tm_hour = td.hours();
|
|
37
|
+
timetm.tm_min = td.minutes();
|
|
38
|
+
timetm.tm_sec = td.seconds();
|
|
39
|
+
timetm.tm_isdst = -1; // -1 used when dst info is unknown
|
|
40
|
+
return timetm;
|
|
41
|
+
}
|
|
42
|
+
//! Convert a time_duration to a tm structure truncating any fractional seconds and zeroing fields for date components
|
|
43
|
+
inline
|
|
44
|
+
std::tm to_tm(const boost::posix_time::time_duration& td) {
|
|
45
|
+
std::tm timetm;
|
|
46
|
+
timetm.tm_year = 0;
|
|
47
|
+
timetm.tm_mon = 0;
|
|
48
|
+
timetm.tm_mday = 0;
|
|
49
|
+
timetm.tm_wday = 0;
|
|
50
|
+
timetm.tm_yday = 0;
|
|
51
|
+
|
|
52
|
+
timetm.tm_hour = date_time::absolute_value(td.hours());
|
|
53
|
+
timetm.tm_min = date_time::absolute_value(td.minutes());
|
|
54
|
+
timetm.tm_sec = date_time::absolute_value(td.seconds());
|
|
55
|
+
timetm.tm_isdst = -1; // -1 used when dst info is unknown
|
|
56
|
+
return timetm;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//! Convert a tm struct to a ptime ignoring is_dst flag
|
|
60
|
+
inline
|
|
61
|
+
ptime ptime_from_tm(const std::tm& timetm) {
|
|
62
|
+
boost::gregorian::date d = boost::gregorian::date_from_tm(timetm);
|
|
63
|
+
return ptime(d, time_duration(timetm.tm_hour, timetm.tm_min, timetm.tm_sec));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
#if defined(BOOST_HAS_FTIME)
|
|
68
|
+
|
|
69
|
+
//! Function to create a time object from an initialized FILETIME struct.
|
|
70
|
+
/*! Function to create a time object from an initialized FILETIME struct.
|
|
71
|
+
* A FILETIME struct holds 100-nanosecond units (0.0000001). When
|
|
72
|
+
* built with microsecond resolution the FILETIME's sub second value
|
|
73
|
+
* will be truncated. Nanosecond resolution has no truncation.
|
|
74
|
+
*
|
|
75
|
+
* Note ftime is part of the Win32 API, so it is not portable to non-windows
|
|
76
|
+
* platforms.
|
|
77
|
+
*/
|
|
78
|
+
template<class time_type>
|
|
79
|
+
inline
|
|
80
|
+
time_type from_ftime(const FILETIME& ft)
|
|
81
|
+
{
|
|
82
|
+
return boost::date_time::time_from_ftime<time_type>(ft);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
#endif // BOOST_HAS_FTIME
|
|
86
|
+
|
|
87
|
+
} } //namespace boost::posix_time
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
#endif
|
|
93
|
+
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#ifndef DATE_DURATION_OPERATORS_HPP___
|
|
2
|
+
#define DATE_DURATION_OPERATORS_HPP___
|
|
3
|
+
|
|
4
|
+
/* Copyright (c) 2004 CrystalClear Software, Inc.
|
|
5
|
+
* Subject to the Boost Software License, Version 1.0.
|
|
6
|
+
* (See accompanying file LICENSE_1_0.txt or
|
|
7
|
+
* http://www.boost.org/LICENSE_1_0.txt)
|
|
8
|
+
* Author: Jeff Garland, Bart Garst
|
|
9
|
+
* $Date: 2008-02-27 15:00:24 -0500 (Wed, 27 Feb 2008) $
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
#include "boost/date_time/gregorian/greg_duration_types.hpp"
|
|
13
|
+
#include "boost/date_time/posix_time/ptime.hpp"
|
|
14
|
+
|
|
15
|
+
namespace boost {
|
|
16
|
+
namespace posix_time {
|
|
17
|
+
|
|
18
|
+
/*!@file date_duration_operators.hpp Operators for ptime and
|
|
19
|
+
* optional gregorian types. Operators use snap-to-end-of-month behavior.
|
|
20
|
+
* Further details on this behavior can be found in reference for
|
|
21
|
+
* date_time/date_duration_types.hpp and documentation for
|
|
22
|
+
* month and year iterators.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/*! Adds a months object and a ptime. Result will be same
|
|
27
|
+
* day-of-month as ptime unless original day was the last day of month.
|
|
28
|
+
* see date_time::months_duration for more details */
|
|
29
|
+
inline
|
|
30
|
+
ptime
|
|
31
|
+
operator+(const ptime& t, const boost::gregorian::months& m)
|
|
32
|
+
{
|
|
33
|
+
return t + m.get_offset(t.date());
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/*! Adds a months object to a ptime. Result will be same
|
|
37
|
+
* day-of-month as ptime unless original day was the last day of month.
|
|
38
|
+
* see date_time::months_duration for more details */
|
|
39
|
+
inline
|
|
40
|
+
ptime
|
|
41
|
+
operator+=(ptime& t, const boost::gregorian::months& m)
|
|
42
|
+
{
|
|
43
|
+
// get_neg_offset returns a negative duration, so we add
|
|
44
|
+
return t += m.get_offset(t.date());
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/*! Subtracts a months object and a ptime. Result will be same
|
|
48
|
+
* day-of-month as ptime unless original day was the last day of month.
|
|
49
|
+
* see date_time::months_duration for more details */
|
|
50
|
+
inline
|
|
51
|
+
ptime
|
|
52
|
+
operator-(const ptime& t, const boost::gregorian::months& m)
|
|
53
|
+
{
|
|
54
|
+
// get_neg_offset returns a negative duration, so we add
|
|
55
|
+
return t + m.get_neg_offset(t.date());
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/*! Subtracts a months object from a ptime. Result will be same
|
|
59
|
+
* day-of-month as ptime unless original day was the last day of month.
|
|
60
|
+
* see date_time::months_duration for more details */
|
|
61
|
+
inline
|
|
62
|
+
ptime
|
|
63
|
+
operator-=(ptime& t, const boost::gregorian::months& m)
|
|
64
|
+
{
|
|
65
|
+
return t += m.get_neg_offset(t.date());
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// ptime & years
|
|
69
|
+
|
|
70
|
+
/*! Adds a years object and a ptime. Result will be same
|
|
71
|
+
* month and day-of-month as ptime unless original day was the
|
|
72
|
+
* last day of month. see date_time::years_duration for more details */
|
|
73
|
+
inline
|
|
74
|
+
ptime
|
|
75
|
+
operator+(const ptime& t, const boost::gregorian::years& y)
|
|
76
|
+
{
|
|
77
|
+
return t + y.get_offset(t.date());
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/*! Adds a years object to a ptime. Result will be same
|
|
81
|
+
* month and day-of-month as ptime unless original day was the
|
|
82
|
+
* last day of month. see date_time::years_duration for more details */
|
|
83
|
+
inline
|
|
84
|
+
ptime
|
|
85
|
+
operator+=(ptime& t, const boost::gregorian::years& y)
|
|
86
|
+
{
|
|
87
|
+
return t += y.get_offset(t.date());
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/*! Subtracts a years object and a ptime. Result will be same
|
|
91
|
+
* month and day-of-month as ptime unless original day was the
|
|
92
|
+
* last day of month. see date_time::years_duration for more details */
|
|
93
|
+
inline
|
|
94
|
+
ptime
|
|
95
|
+
operator-(const ptime& t, const boost::gregorian::years& y)
|
|
96
|
+
{
|
|
97
|
+
// get_neg_offset returns a negative duration, so we add
|
|
98
|
+
return t + y.get_neg_offset(t.date());
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/*! Subtracts a years object from a ptime. Result will be same
|
|
102
|
+
* month and day-of-month as ptime unless original day was the
|
|
103
|
+
* last day of month. see date_time::years_duration for more details */
|
|
104
|
+
inline
|
|
105
|
+
ptime
|
|
106
|
+
operator-=(ptime& t, const boost::gregorian::years& y)
|
|
107
|
+
{
|
|
108
|
+
// get_neg_offset returns a negative duration, so we add
|
|
109
|
+
return t += y.get_neg_offset(t.date());
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
}} // namespaces
|
|
113
|
+
|
|
114
|
+
#endif // DATE_DURATION_OPERATORS_HPP___
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#ifndef POSIX_TIME_HPP___
|
|
2
|
+
#define POSIX_TIME_HPP___
|
|
3
|
+
|
|
4
|
+
/* Copyright (c) 2002-2005 CrystalClear Software, Inc.
|
|
5
|
+
* Use, modification and distribution is subject to the
|
|
6
|
+
* Boost Software License, Version 1.0. (See accompanying
|
|
7
|
+
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
|
8
|
+
* Author: Jeff Garland, Bart Garst
|
|
9
|
+
* $Date: 2008-02-27 15:00:24 -0500 (Wed, 27 Feb 2008) $
|
|
10
|
+
*/
|
|
11
|
+
/*!@file posix_time.hpp Global header file to get all of posix time types
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
#include "boost/date_time/compiler_config.hpp"
|
|
15
|
+
#include "boost/date_time/posix_time/ptime.hpp"
|
|
16
|
+
#if defined(BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES)
|
|
17
|
+
#include "boost/date_time/posix_time/date_duration_operators.hpp"
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
// output functions
|
|
21
|
+
#if defined(BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS)
|
|
22
|
+
#include "boost/date_time/posix_time/time_formatters_limited.hpp"
|
|
23
|
+
#else
|
|
24
|
+
#include "boost/date_time/posix_time/time_formatters.hpp"
|
|
25
|
+
#endif // BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS
|
|
26
|
+
|
|
27
|
+
// streaming operators
|
|
28
|
+
#if defined(USE_DATE_TIME_PRE_1_33_FACET_IO)
|
|
29
|
+
#include "boost/date_time/posix_time/posix_time_legacy_io.hpp"
|
|
30
|
+
#else
|
|
31
|
+
#include "boost/date_time/posix_time/posix_time_io.hpp"
|
|
32
|
+
#endif // USE_DATE_TIME_PRE_1_33_FACET_IO
|
|
33
|
+
|
|
34
|
+
#include "boost/date_time/posix_time/time_parsers.hpp"
|
|
35
|
+
#include "boost/date_time/posix_time/conversion.hpp"
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
#endif
|
|
39
|
+
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
#ifndef POSIX_TIME_CONFIG_HPP___
|
|
2
|
+
#define POSIX_TIME_CONFIG_HPP___
|
|
3
|
+
|
|
4
|
+
/* Copyright (c) 2002,2003,2005 CrystalClear Software, Inc.
|
|
5
|
+
* Use, modification and distribution is subject to the
|
|
6
|
+
* Boost Software License, Version 1.0. (See accompanying
|
|
7
|
+
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
|
8
|
+
* Author: Jeff Garland, Bart Garst
|
|
9
|
+
* $Date: 2008-02-27 15:00:24 -0500 (Wed, 27 Feb 2008) $
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
#include "boost/date_time/time_duration.hpp"
|
|
13
|
+
#include "boost/date_time/time_resolution_traits.hpp"
|
|
14
|
+
#include "boost/date_time/gregorian/gregorian_types.hpp"
|
|
15
|
+
#include "boost/date_time/wrapping_int.hpp"
|
|
16
|
+
#include "boost/limits.hpp"
|
|
17
|
+
#include "boost/date_time/compiler_config.hpp"
|
|
18
|
+
#include "boost/cstdint.hpp"
|
|
19
|
+
#include <cmath>
|
|
20
|
+
#include <cstdlib> //for MCW 7.2 std::abs(long long)
|
|
21
|
+
|
|
22
|
+
namespace boost {
|
|
23
|
+
namespace posix_time {
|
|
24
|
+
|
|
25
|
+
//Remove the following line if you want 64 bit millisecond resolution time
|
|
26
|
+
//#define BOOST_GDTL_POSIX_TIME_STD_CONFIG
|
|
27
|
+
|
|
28
|
+
#ifdef BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG
|
|
29
|
+
// set up conditional test compilations
|
|
30
|
+
#define BOOST_DATE_TIME_HAS_MILLISECONDS
|
|
31
|
+
#define BOOST_DATE_TIME_HAS_MICROSECONDS
|
|
32
|
+
#define BOOST_DATE_TIME_HAS_NANOSECONDS
|
|
33
|
+
typedef date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, boost::date_time::nano,
|
|
34
|
+
1000000000, 9 > time_res_traits;
|
|
35
|
+
#else
|
|
36
|
+
// set up conditional test compilations
|
|
37
|
+
#define BOOST_DATE_TIME_HAS_MILLISECONDS
|
|
38
|
+
#define BOOST_DATE_TIME_HAS_MICROSECONDS
|
|
39
|
+
#undef BOOST_DATE_TIME_HAS_NANOSECONDS
|
|
40
|
+
typedef date_time::time_resolution_traits<
|
|
41
|
+
boost::date_time::time_resolution_traits_adapted64_impl, boost::date_time::micro,
|
|
42
|
+
1000000, 6 > time_res_traits;
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
// #undef BOOST_DATE_TIME_HAS_MILLISECONDS
|
|
46
|
+
// #undef BOOST_DATE_TIME_HAS_MICROSECONDS
|
|
47
|
+
// #undef BOOST_DATE_TIME_HAS_NANOSECONDS
|
|
48
|
+
// typedef date_time::time_resolution_traits<boost::int64_t, boost::date_time::tenth,
|
|
49
|
+
// 10, 0 > time_res_traits;
|
|
50
|
+
|
|
51
|
+
#endif
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
//! Base time duration type
|
|
55
|
+
/*! \ingroup time_basics
|
|
56
|
+
*/
|
|
57
|
+
class time_duration :
|
|
58
|
+
public date_time::time_duration<time_duration, time_res_traits>
|
|
59
|
+
{
|
|
60
|
+
public:
|
|
61
|
+
typedef time_res_traits rep_type;
|
|
62
|
+
typedef time_res_traits::day_type day_type;
|
|
63
|
+
typedef time_res_traits::hour_type hour_type;
|
|
64
|
+
typedef time_res_traits::min_type min_type;
|
|
65
|
+
typedef time_res_traits::sec_type sec_type;
|
|
66
|
+
typedef time_res_traits::fractional_seconds_type fractional_seconds_type;
|
|
67
|
+
typedef time_res_traits::tick_type tick_type;
|
|
68
|
+
typedef time_res_traits::impl_type impl_type;
|
|
69
|
+
time_duration(hour_type hour,
|
|
70
|
+
min_type min,
|
|
71
|
+
sec_type sec,
|
|
72
|
+
fractional_seconds_type fs=0) :
|
|
73
|
+
date_time::time_duration<time_duration, time_res_traits>(hour,min,sec,fs)
|
|
74
|
+
{}
|
|
75
|
+
time_duration() :
|
|
76
|
+
date_time::time_duration<time_duration, time_res_traits>(0,0,0)
|
|
77
|
+
{}
|
|
78
|
+
//! Construct from special_values
|
|
79
|
+
time_duration(boost::date_time::special_values sv) :
|
|
80
|
+
date_time::time_duration<time_duration, time_res_traits>(sv)
|
|
81
|
+
{}
|
|
82
|
+
//Give duration access to ticks constructor -- hide from users
|
|
83
|
+
friend class date_time::time_duration<time_duration, time_res_traits>;
|
|
84
|
+
private:
|
|
85
|
+
explicit time_duration(impl_type ticks) :
|
|
86
|
+
date_time::time_duration<time_duration, time_res_traits>(ticks)
|
|
87
|
+
{}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
#ifdef BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG
|
|
91
|
+
|
|
92
|
+
//! Simple implementation for the time rep
|
|
93
|
+
struct simple_time_rep
|
|
94
|
+
{
|
|
95
|
+
typedef gregorian::date date_type;
|
|
96
|
+
typedef time_duration time_duration_type;
|
|
97
|
+
simple_time_rep(date_type d, time_duration_type tod) :
|
|
98
|
+
day(d),
|
|
99
|
+
time_of_day(tod)
|
|
100
|
+
{
|
|
101
|
+
// make sure we have sane values for date & time
|
|
102
|
+
if(!day.is_special() && !time_of_day.is_special()){
|
|
103
|
+
if(time_of_day >= time_duration_type(24,0,0)) {
|
|
104
|
+
while(time_of_day >= time_duration_type(24,0,0)) {
|
|
105
|
+
day += date_type::duration_type(1);
|
|
106
|
+
time_of_day -= time_duration_type(24,0,0);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else if(time_of_day.is_negative()) {
|
|
110
|
+
while(time_of_day.is_negative()) {
|
|
111
|
+
day -= date_type::duration_type(1);
|
|
112
|
+
time_of_day += time_duration_type(24,0,0);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
date_type day;
|
|
118
|
+
time_duration_type time_of_day;
|
|
119
|
+
bool is_special()const
|
|
120
|
+
{
|
|
121
|
+
return(is_pos_infinity() || is_neg_infinity() || is_not_a_date_time());
|
|
122
|
+
}
|
|
123
|
+
bool is_pos_infinity()const
|
|
124
|
+
{
|
|
125
|
+
return(day.is_pos_infinity() || time_of_day.is_pos_infinity());
|
|
126
|
+
}
|
|
127
|
+
bool is_neg_infinity()const
|
|
128
|
+
{
|
|
129
|
+
return(day.is_neg_infinity() || time_of_day.is_neg_infinity());
|
|
130
|
+
}
|
|
131
|
+
bool is_not_a_date_time()const
|
|
132
|
+
{
|
|
133
|
+
return(day.is_not_a_date() || time_of_day.is_not_a_date_time());
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
class posix_time_system_config
|
|
138
|
+
{
|
|
139
|
+
public:
|
|
140
|
+
typedef simple_time_rep time_rep_type;
|
|
141
|
+
typedef gregorian::date date_type;
|
|
142
|
+
typedef gregorian::date_duration date_duration_type;
|
|
143
|
+
typedef time_duration time_duration_type;
|
|
144
|
+
typedef time_res_traits::tick_type int_type;
|
|
145
|
+
typedef time_res_traits resolution_traits;
|
|
146
|
+
#if (defined(BOOST_DATE_TIME_NO_MEMBER_INIT)) //help bad compilers
|
|
147
|
+
#else
|
|
148
|
+
BOOST_STATIC_CONSTANT(boost::int64_t, tick_per_second = 1000000000);
|
|
149
|
+
#endif
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
#else
|
|
153
|
+
|
|
154
|
+
class millisec_posix_time_system_config
|
|
155
|
+
{
|
|
156
|
+
public:
|
|
157
|
+
typedef boost::int64_t time_rep_type;
|
|
158
|
+
//typedef time_res_traits::tick_type time_rep_type;
|
|
159
|
+
typedef gregorian::date date_type;
|
|
160
|
+
typedef gregorian::date_duration date_duration_type;
|
|
161
|
+
typedef time_duration time_duration_type;
|
|
162
|
+
typedef time_res_traits::tick_type int_type;
|
|
163
|
+
typedef time_res_traits::impl_type impl_type;
|
|
164
|
+
typedef time_res_traits resolution_traits;
|
|
165
|
+
#if (defined(BOOST_DATE_TIME_NO_MEMBER_INIT)) //help bad compilers
|
|
166
|
+
#else
|
|
167
|
+
BOOST_STATIC_CONSTANT(boost::int64_t, tick_per_second = 1000000);
|
|
168
|
+
#endif
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
#endif
|
|
172
|
+
|
|
173
|
+
} }//namespace posix_time
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
#endif
|
|
177
|
+
|
|
178
|
+
|