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,254 @@
|
|
|
1
|
+
#ifndef DATE_TIME_TIME_SYSTEM_COUNTED_HPP
|
|
2
|
+
#define DATE_TIME_TIME_SYSTEM_COUNTED_HPP
|
|
3
|
+
|
|
4
|
+
/* Copyright (c) 2002,2003 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
|
+
|
|
13
|
+
|
|
14
|
+
#include "boost/date_time/time_defs.hpp"
|
|
15
|
+
#include <string>
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
namespace boost {
|
|
19
|
+
namespace date_time {
|
|
20
|
+
|
|
21
|
+
//! Time representation that uses a single integer count
|
|
22
|
+
template<class config>
|
|
23
|
+
struct counted_time_rep
|
|
24
|
+
{
|
|
25
|
+
typedef typename config::int_type int_type;
|
|
26
|
+
typedef typename config::date_type date_type;
|
|
27
|
+
typedef typename config::impl_type impl_type;
|
|
28
|
+
typedef typename date_type::duration_type date_duration_type;
|
|
29
|
+
typedef typename date_type::calendar_type calendar_type;
|
|
30
|
+
typedef typename date_type::ymd_type ymd_type;
|
|
31
|
+
typedef typename config::time_duration_type time_duration_type;
|
|
32
|
+
typedef typename config::resolution_traits resolution_traits;
|
|
33
|
+
|
|
34
|
+
counted_time_rep(const date_type& d, const time_duration_type& time_of_day)
|
|
35
|
+
: time_count_(1)
|
|
36
|
+
{
|
|
37
|
+
if(d.is_infinity() || d.is_not_a_date() || time_of_day.is_special()) {
|
|
38
|
+
time_count_ = time_of_day.get_rep() + d.day_count();
|
|
39
|
+
//std::cout << time_count_ << std::endl;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
time_count_ = (d.day_number() * frac_sec_per_day()) + time_of_day.ticks();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
explicit counted_time_rep(int_type count) :
|
|
46
|
+
time_count_(count)
|
|
47
|
+
{}
|
|
48
|
+
explicit counted_time_rep(impl_type count) :
|
|
49
|
+
time_count_(count)
|
|
50
|
+
{}
|
|
51
|
+
date_type date() const
|
|
52
|
+
{
|
|
53
|
+
if(time_count_.is_special()) {
|
|
54
|
+
return date_type(time_count_.as_special());
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
typename calendar_type::date_int_type dc = day_count();
|
|
58
|
+
//std::cout << "time_rep here:" << dc << std::endl;
|
|
59
|
+
ymd_type ymd = calendar_type::from_day_number(dc);
|
|
60
|
+
return date_type(ymd);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//int_type day_count() const
|
|
64
|
+
unsigned long day_count() const
|
|
65
|
+
{
|
|
66
|
+
/* resolution_traits::as_number returns a boost::int64_t &
|
|
67
|
+
* frac_sec_per_day is also a boost::int64_t so, naturally,
|
|
68
|
+
* the division operation returns a boost::int64_t.
|
|
69
|
+
* The static_cast to an unsigned long is ok (results in no data loss)
|
|
70
|
+
* because frac_sec_per_day is either the number of
|
|
71
|
+
* microseconds per day, or the number of nanoseconds per day.
|
|
72
|
+
* Worst case scenario: resolution_traits::as_number returns the
|
|
73
|
+
* maximum value an int64_t can hold and frac_sec_per_day
|
|
74
|
+
* is microseconds per day (lowest possible value).
|
|
75
|
+
* The division operation will then return a value of 106751991 -
|
|
76
|
+
* easily fitting in an unsigned long.
|
|
77
|
+
*/
|
|
78
|
+
return static_cast<unsigned long>(resolution_traits::as_number(time_count_) / frac_sec_per_day());
|
|
79
|
+
}
|
|
80
|
+
int_type time_count() const
|
|
81
|
+
{
|
|
82
|
+
return resolution_traits::as_number(time_count_);
|
|
83
|
+
}
|
|
84
|
+
int_type tod() const
|
|
85
|
+
{
|
|
86
|
+
return resolution_traits::as_number(time_count_) % frac_sec_per_day();
|
|
87
|
+
}
|
|
88
|
+
static int_type frac_sec_per_day()
|
|
89
|
+
{
|
|
90
|
+
int_type seconds_per_day = 60*60*24;
|
|
91
|
+
int_type fractional_sec_per_sec(resolution_traits::res_adjust());
|
|
92
|
+
return seconds_per_day*fractional_sec_per_sec;
|
|
93
|
+
}
|
|
94
|
+
bool is_pos_infinity()const
|
|
95
|
+
{
|
|
96
|
+
return impl_type::is_pos_inf(time_count_.as_number());
|
|
97
|
+
}
|
|
98
|
+
bool is_neg_infinity()const
|
|
99
|
+
{
|
|
100
|
+
return impl_type::is_neg_inf(time_count_.as_number());
|
|
101
|
+
}
|
|
102
|
+
bool is_not_a_date_time()const
|
|
103
|
+
{
|
|
104
|
+
return impl_type::is_not_a_number(time_count_.as_number());
|
|
105
|
+
}
|
|
106
|
+
bool is_special()const
|
|
107
|
+
{
|
|
108
|
+
return time_count_.is_special();
|
|
109
|
+
}
|
|
110
|
+
impl_type get_rep()const
|
|
111
|
+
{
|
|
112
|
+
return time_count_;
|
|
113
|
+
}
|
|
114
|
+
private:
|
|
115
|
+
impl_type time_count_;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
//! An unadjusted time system implementation.
|
|
119
|
+
template<class time_rep>
|
|
120
|
+
class counted_time_system
|
|
121
|
+
{
|
|
122
|
+
public:
|
|
123
|
+
typedef time_rep time_rep_type;
|
|
124
|
+
typedef typename time_rep_type::impl_type impl_type;
|
|
125
|
+
typedef typename time_rep_type::time_duration_type time_duration_type;
|
|
126
|
+
typedef typename time_duration_type::fractional_seconds_type fractional_seconds_type;
|
|
127
|
+
typedef typename time_rep_type::date_type date_type;
|
|
128
|
+
typedef typename time_rep_type::date_duration_type date_duration_type;
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
template<class T> static void unused_var(const T&) {}
|
|
132
|
+
|
|
133
|
+
static time_rep_type get_time_rep(const date_type& day,
|
|
134
|
+
const time_duration_type& tod,
|
|
135
|
+
date_time::dst_flags dst=not_dst)
|
|
136
|
+
{
|
|
137
|
+
unused_var(dst);
|
|
138
|
+
return time_rep_type(day, tod);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
static time_rep_type get_time_rep(special_values sv)
|
|
142
|
+
{
|
|
143
|
+
switch (sv) {
|
|
144
|
+
case not_a_date_time:
|
|
145
|
+
return time_rep_type(date_type(not_a_date_time),
|
|
146
|
+
time_duration_type(not_a_date_time));
|
|
147
|
+
case pos_infin:
|
|
148
|
+
return time_rep_type(date_type(pos_infin),
|
|
149
|
+
time_duration_type(pos_infin));
|
|
150
|
+
case neg_infin:
|
|
151
|
+
return time_rep_type(date_type(neg_infin),
|
|
152
|
+
time_duration_type(neg_infin));
|
|
153
|
+
case max_date_time: {
|
|
154
|
+
time_duration_type td = time_duration_type(24,0,0,0) - time_duration_type(0,0,0,1);
|
|
155
|
+
return time_rep_type(date_type(max_date_time), td);
|
|
156
|
+
}
|
|
157
|
+
case min_date_time:
|
|
158
|
+
return time_rep_type(date_type(min_date_time), time_duration_type(0,0,0,0));
|
|
159
|
+
|
|
160
|
+
default:
|
|
161
|
+
return time_rep_type(date_type(not_a_date_time),
|
|
162
|
+
time_duration_type(not_a_date_time));
|
|
163
|
+
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
static date_type get_date(const time_rep_type& val)
|
|
169
|
+
{
|
|
170
|
+
return val.date();
|
|
171
|
+
}
|
|
172
|
+
static time_duration_type get_time_of_day(const time_rep_type& val)
|
|
173
|
+
{
|
|
174
|
+
if(val.is_special()) {
|
|
175
|
+
return time_duration_type(val.get_rep().as_special());
|
|
176
|
+
}
|
|
177
|
+
else{
|
|
178
|
+
return time_duration_type(0,0,0,val.tod());
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
static std::string zone_name(const time_rep_type&)
|
|
182
|
+
{
|
|
183
|
+
return "";
|
|
184
|
+
}
|
|
185
|
+
static bool is_equal(const time_rep_type& lhs, const time_rep_type& rhs)
|
|
186
|
+
{
|
|
187
|
+
return (lhs.time_count() == rhs.time_count());
|
|
188
|
+
}
|
|
189
|
+
static bool is_less(const time_rep_type& lhs, const time_rep_type& rhs)
|
|
190
|
+
{
|
|
191
|
+
return (lhs.time_count() < rhs.time_count());
|
|
192
|
+
}
|
|
193
|
+
static time_rep_type add_days(const time_rep_type& base,
|
|
194
|
+
const date_duration_type& dd)
|
|
195
|
+
{
|
|
196
|
+
if(base.is_special() || dd.is_special()) {
|
|
197
|
+
return(time_rep_type(base.get_rep() + dd.get_rep()));
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
return time_rep_type(base.time_count() + (dd.days() * time_rep_type::frac_sec_per_day()));
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
static time_rep_type subtract_days(const time_rep_type& base,
|
|
204
|
+
const date_duration_type& dd)
|
|
205
|
+
{
|
|
206
|
+
if(base.is_special() || dd.is_special()) {
|
|
207
|
+
return(time_rep_type(base.get_rep() - dd.get_rep()));
|
|
208
|
+
}
|
|
209
|
+
else{
|
|
210
|
+
return time_rep_type(base.time_count() - (dd.days() * time_rep_type::frac_sec_per_day()));
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
static time_rep_type subtract_time_duration(const time_rep_type& base,
|
|
214
|
+
const time_duration_type& td)
|
|
215
|
+
{
|
|
216
|
+
if(base.is_special() || td.is_special()) {
|
|
217
|
+
return(time_rep_type(base.get_rep() - td.get_rep()));
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
return time_rep_type(base.time_count() - td.ticks());
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
static time_rep_type add_time_duration(const time_rep_type& base,
|
|
224
|
+
time_duration_type td)
|
|
225
|
+
{
|
|
226
|
+
if(base.is_special() || td.is_special()) {
|
|
227
|
+
return(time_rep_type(base.get_rep() + td.get_rep()));
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
return time_rep_type(base.time_count() + td.ticks());
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
static time_duration_type subtract_times(const time_rep_type& lhs,
|
|
234
|
+
const time_rep_type& rhs)
|
|
235
|
+
{
|
|
236
|
+
if(lhs.is_special() || rhs.is_special()) {
|
|
237
|
+
return(time_duration_type(
|
|
238
|
+
impl_type::to_special((lhs.get_rep() - rhs.get_rep()).as_number())));
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
fractional_seconds_type fs = lhs.time_count() - rhs.time_count();
|
|
242
|
+
return time_duration_type(0,0,0,fs);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
} } //namespace date_time
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
#endif
|
|
254
|
+
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
#ifndef DATE_TIME_TIME_SYSTEM_SPLIT_HPP
|
|
2
|
+
#define DATE_TIME_TIME_SYSTEM_SPLIT_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
|
+
|
|
13
|
+
#include <string>
|
|
14
|
+
#include "boost/date_time/compiler_config.hpp"
|
|
15
|
+
#include "boost/date_time/special_defs.hpp"
|
|
16
|
+
|
|
17
|
+
namespace boost {
|
|
18
|
+
namespace date_time {
|
|
19
|
+
|
|
20
|
+
//! An unadjusted time system implementation.
|
|
21
|
+
#if (defined(BOOST_DATE_TIME_NO_MEMBER_INIT))
|
|
22
|
+
template<typename config, boost::int32_t ticks_per_second>
|
|
23
|
+
#else
|
|
24
|
+
template<typename config>
|
|
25
|
+
#endif
|
|
26
|
+
class split_timedate_system
|
|
27
|
+
{
|
|
28
|
+
public:
|
|
29
|
+
typedef typename config::time_rep_type time_rep_type;
|
|
30
|
+
typedef typename config::date_type date_type;
|
|
31
|
+
typedef typename config::time_duration_type time_duration_type;
|
|
32
|
+
typedef typename config::date_duration_type date_duration_type;
|
|
33
|
+
typedef typename config::int_type int_type;
|
|
34
|
+
typedef typename config::resolution_traits resolution_traits;
|
|
35
|
+
|
|
36
|
+
//86400 is number of seconds in a day...
|
|
37
|
+
#if (defined(BOOST_DATE_TIME_NO_MEMBER_INIT))
|
|
38
|
+
typedef date_time::wrapping_int<int_type, INT64_C(86400) * ticks_per_second > wrap_int_type;
|
|
39
|
+
#else
|
|
40
|
+
private:
|
|
41
|
+
BOOST_STATIC_CONSTANT(int_type, ticks_per_day = INT64_C(86400) * config::tick_per_second);
|
|
42
|
+
public:
|
|
43
|
+
# if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0X581) )
|
|
44
|
+
typedef date_time::wrapping_int< split_timedate_system::int_type, split_timedate_system::ticks_per_day> wrap_int_type;
|
|
45
|
+
# else
|
|
46
|
+
typedef date_time::wrapping_int<int_type, ticks_per_day> wrap_int_type;
|
|
47
|
+
#endif
|
|
48
|
+
#endif
|
|
49
|
+
|
|
50
|
+
static time_rep_type get_time_rep(special_values sv)
|
|
51
|
+
{
|
|
52
|
+
switch (sv) {
|
|
53
|
+
case not_a_date_time:
|
|
54
|
+
return time_rep_type(date_type(not_a_date_time),
|
|
55
|
+
time_duration_type(not_a_date_time));
|
|
56
|
+
case pos_infin:
|
|
57
|
+
return time_rep_type(date_type(pos_infin),
|
|
58
|
+
time_duration_type(pos_infin));
|
|
59
|
+
case neg_infin:
|
|
60
|
+
return time_rep_type(date_type(neg_infin),
|
|
61
|
+
time_duration_type(neg_infin));
|
|
62
|
+
case max_date_time: {
|
|
63
|
+
time_duration_type td = time_duration_type(24,0,0,0) - time_duration_type(0,0,0,1);
|
|
64
|
+
return time_rep_type(date_type(max_date_time), td);
|
|
65
|
+
}
|
|
66
|
+
case min_date_time:
|
|
67
|
+
return time_rep_type(date_type(min_date_time), time_duration_type(0,0,0,0));
|
|
68
|
+
|
|
69
|
+
default:
|
|
70
|
+
return time_rep_type(date_type(not_a_date_time),
|
|
71
|
+
time_duration_type(not_a_date_time));
|
|
72
|
+
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
static time_rep_type get_time_rep(const date_type& day,
|
|
78
|
+
const time_duration_type& tod,
|
|
79
|
+
date_time::dst_flags dst=not_dst)
|
|
80
|
+
{
|
|
81
|
+
if(day.is_special() || tod.is_special()) {
|
|
82
|
+
if(day.is_not_a_date() || tod.is_not_a_date_time()) {
|
|
83
|
+
return time_rep_type(date_type(not_a_date_time),
|
|
84
|
+
time_duration_type(not_a_date_time));
|
|
85
|
+
}
|
|
86
|
+
else if(day.is_pos_infinity()) {
|
|
87
|
+
if(tod.is_neg_infinity()) {
|
|
88
|
+
return time_rep_type(date_type(not_a_date_time),
|
|
89
|
+
time_duration_type(not_a_date_time));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
return time_rep_type(day, time_duration_type(pos_infin));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else if(day.is_neg_infinity()) {
|
|
96
|
+
if(tod.is_pos_infinity()) {
|
|
97
|
+
return time_rep_type(date_type(not_a_date_time),
|
|
98
|
+
time_duration_type(not_a_date_time));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
return time_rep_type(day, time_duration_type(neg_infin));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else if(tod.is_pos_infinity()) {
|
|
105
|
+
if(day.is_neg_infinity()) {
|
|
106
|
+
return time_rep_type(date_type(not_a_date_time),
|
|
107
|
+
time_duration_type(not_a_date_time));
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
return time_rep_type(date_type(pos_infin), tod);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else if(tod.is_neg_infinity()) {
|
|
114
|
+
if(day.is_pos_infinity()) {
|
|
115
|
+
return time_rep_type(date_type(not_a_date_time),
|
|
116
|
+
time_duration_type(not_a_date_time));
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
return time_rep_type(date_type(neg_infin), tod);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return time_rep_type(day, tod);
|
|
124
|
+
}
|
|
125
|
+
static date_type get_date(const time_rep_type& val)
|
|
126
|
+
{
|
|
127
|
+
return date_type(val.day);
|
|
128
|
+
}
|
|
129
|
+
static time_duration_type get_time_of_day(const time_rep_type& val)
|
|
130
|
+
{
|
|
131
|
+
return time_duration_type(val.time_of_day);
|
|
132
|
+
}
|
|
133
|
+
static std::string zone_name(const time_rep_type&)
|
|
134
|
+
{
|
|
135
|
+
return "";
|
|
136
|
+
}
|
|
137
|
+
static bool is_equal(const time_rep_type& lhs, const time_rep_type& rhs)
|
|
138
|
+
{
|
|
139
|
+
return ((lhs.day == rhs.day) && (lhs.time_of_day == rhs.time_of_day));
|
|
140
|
+
}
|
|
141
|
+
static bool is_less(const time_rep_type& lhs, const time_rep_type& rhs)
|
|
142
|
+
{
|
|
143
|
+
if (lhs.day < rhs.day) return true;
|
|
144
|
+
if (lhs.day > rhs.day) return false;
|
|
145
|
+
return (lhs.time_of_day < rhs.time_of_day);
|
|
146
|
+
}
|
|
147
|
+
static time_rep_type add_days(const time_rep_type& base,
|
|
148
|
+
const date_duration_type& dd)
|
|
149
|
+
{
|
|
150
|
+
return time_rep_type(base.day+dd, base.time_of_day);
|
|
151
|
+
}
|
|
152
|
+
static time_rep_type subtract_days(const time_rep_type& base,
|
|
153
|
+
const date_duration_type& dd)
|
|
154
|
+
{
|
|
155
|
+
return split_timedate_system::get_time_rep(base.day-dd, base.time_of_day);
|
|
156
|
+
}
|
|
157
|
+
static time_rep_type subtract_time_duration(const time_rep_type& base,
|
|
158
|
+
const time_duration_type& td)
|
|
159
|
+
{
|
|
160
|
+
if(base.day.is_special() || td.is_special())
|
|
161
|
+
{
|
|
162
|
+
return split_timedate_system::get_time_rep(base.day, -td);
|
|
163
|
+
}
|
|
164
|
+
if (td.is_negative()) {
|
|
165
|
+
time_duration_type td1 = td.invert_sign();
|
|
166
|
+
return add_time_duration(base,td1);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
//std::cout << td.ticks() << std::endl;
|
|
170
|
+
wrap_int_type day_offset(base.time_of_day.ticks());
|
|
171
|
+
date_duration_type day_overflow(static_cast<typename date_duration_type::duration_rep_type>(day_offset.subtract(td.ticks())));
|
|
172
|
+
// std::cout << "sub: " << base.time_of_day.ticks() << "|"
|
|
173
|
+
// << day_offset.as_int() << "|"
|
|
174
|
+
// << day_overflow.days() << std::endl;
|
|
175
|
+
return time_rep_type(base.day-day_overflow,
|
|
176
|
+
time_duration_type(0,0,0,day_offset.as_int()));
|
|
177
|
+
}
|
|
178
|
+
static time_rep_type add_time_duration(const time_rep_type& base,
|
|
179
|
+
time_duration_type td)
|
|
180
|
+
{
|
|
181
|
+
if(base.day.is_special() || td.is_special()) {
|
|
182
|
+
return split_timedate_system::get_time_rep(base.day, td);
|
|
183
|
+
}
|
|
184
|
+
if (td.is_negative()) {
|
|
185
|
+
time_duration_type td1 = td.invert_sign();
|
|
186
|
+
return subtract_time_duration(base,td1);
|
|
187
|
+
}
|
|
188
|
+
wrap_int_type day_offset(base.time_of_day.ticks());
|
|
189
|
+
typename date_duration_type::duration_rep_type doff = day_offset.add(td.ticks());
|
|
190
|
+
// std::cout << "day overflow: " << doff << std::endl;
|
|
191
|
+
// std::cout << "ticks: " << td.ticks() << std::endl;
|
|
192
|
+
date_duration_type day_overflow(doff);
|
|
193
|
+
// std::cout << "base: " << to_simple_string(base.day) << std::endl;
|
|
194
|
+
// std::cout << "overflow " << day_overflow.days() << std::endl;
|
|
195
|
+
return time_rep_type(base.day+day_overflow,
|
|
196
|
+
time_duration_type(0,0,0,day_offset.as_int()));
|
|
197
|
+
}
|
|
198
|
+
static time_duration_type subtract_times(const time_rep_type& lhs,
|
|
199
|
+
const time_rep_type& rhs)
|
|
200
|
+
{
|
|
201
|
+
date_duration_type dd = lhs.day - rhs.day;
|
|
202
|
+
time_duration_type td(dd.days()*24,0,0); //days * 24 hours
|
|
203
|
+
time_duration_type td2 = lhs.time_of_day - rhs.time_of_day;
|
|
204
|
+
return td+td2;
|
|
205
|
+
// return time_rep_type(base.day-dd, base.time_of_day);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
} } //namespace date_time
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
#endif
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
#ifndef _DATE_TIME_WRAPPING_INT_HPP__
|
|
2
|
+
#define _DATE_TIME_WRAPPING_INT_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
|
+
|
|
13
|
+
namespace boost {
|
|
14
|
+
namespace date_time {
|
|
15
|
+
|
|
16
|
+
//! A wrapping integer used to support time durations (WARNING: only instantiate with a signed type)
|
|
17
|
+
/*! In composite date and time types this type is used to
|
|
18
|
+
* wrap at the day boundary.
|
|
19
|
+
* Ex:
|
|
20
|
+
* A wrapping_int<short, 10> will roll over after nine, and
|
|
21
|
+
* roll under below zero. This gives a range of [0,9]
|
|
22
|
+
*
|
|
23
|
+
* NOTE: it is strongly recommended that wrapping_int2 be used
|
|
24
|
+
* instead of wrapping_int as wrapping_int is to be depricated
|
|
25
|
+
* at some point soon.
|
|
26
|
+
*
|
|
27
|
+
* Also Note that warnings will occur if instantiated with an
|
|
28
|
+
* unsigned type. Only a signed type should be used!
|
|
29
|
+
*/
|
|
30
|
+
template<typename int_type_, int_type_ wrap_val>
|
|
31
|
+
class wrapping_int {
|
|
32
|
+
public:
|
|
33
|
+
typedef int_type_ int_type;
|
|
34
|
+
//typedef overflow_type_ overflow_type;
|
|
35
|
+
static int_type wrap_value() {return wrap_val;}
|
|
36
|
+
//!Add, return true if wrapped
|
|
37
|
+
wrapping_int(int_type v) : value_(v) {};
|
|
38
|
+
//! Explicit converion method
|
|
39
|
+
int_type as_int() const {return value_;}
|
|
40
|
+
operator int_type() const {return value_;}
|
|
41
|
+
//!Add, return number of wraps performed
|
|
42
|
+
/*! The sign of the returned value will indicate which direction the
|
|
43
|
+
* wraps went. Ex: add a negative number and wrapping under could occur,
|
|
44
|
+
* this would be indicated by a negative return value. If wrapping over
|
|
45
|
+
* took place, a positive value would be returned */
|
|
46
|
+
int_type add(int_type v)
|
|
47
|
+
{
|
|
48
|
+
int_type remainder = static_cast<int_type>(v % (wrap_val));
|
|
49
|
+
int_type overflow = static_cast<int_type>(v / (wrap_val));
|
|
50
|
+
value_ = static_cast<int_type>(value_ + remainder);
|
|
51
|
+
return calculate_wrap(overflow);
|
|
52
|
+
}
|
|
53
|
+
//! Subtract will return '+d' if wrapping under took place ('d' is the number of wraps)
|
|
54
|
+
/*! The sign of the returned value will indicate which direction the
|
|
55
|
+
* wraps went (positive indicates wrap under, negative indicates wrap over).
|
|
56
|
+
* Ex: subtract a negative number and wrapping over could
|
|
57
|
+
* occur, this would be indicated by a negative return value. If
|
|
58
|
+
* wrapping under took place, a positive value would be returned. */
|
|
59
|
+
int_type subtract(int_type v)
|
|
60
|
+
{
|
|
61
|
+
int_type remainder = static_cast<int_type>(v % (wrap_val));
|
|
62
|
+
int_type underflow = static_cast<int_type>(-(v / (wrap_val)));
|
|
63
|
+
value_ = static_cast<int_type>(value_ - remainder);
|
|
64
|
+
return calculate_wrap(underflow) * -1;
|
|
65
|
+
}
|
|
66
|
+
private:
|
|
67
|
+
int_type value_;
|
|
68
|
+
|
|
69
|
+
int_type calculate_wrap(int_type wrap)
|
|
70
|
+
{
|
|
71
|
+
if ((value_) >= wrap_val)
|
|
72
|
+
{
|
|
73
|
+
wrap++;
|
|
74
|
+
value_ -= (wrap_val);
|
|
75
|
+
}
|
|
76
|
+
else if(value_ < 0)
|
|
77
|
+
{
|
|
78
|
+
wrap--;
|
|
79
|
+
value_ += (wrap_val);
|
|
80
|
+
}
|
|
81
|
+
return wrap;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
//! A wrapping integer used to wrap around at the top (WARNING: only instantiate with a signed type)
|
|
88
|
+
/*! Bad name, quick impl to fix a bug -- fix later!!
|
|
89
|
+
* This allows the wrap to restart at a value other than 0.
|
|
90
|
+
*/
|
|
91
|
+
template<typename int_type_, int_type_ wrap_min, int_type_ wrap_max>
|
|
92
|
+
class wrapping_int2 {
|
|
93
|
+
public:
|
|
94
|
+
typedef int_type_ int_type;
|
|
95
|
+
static int_type wrap_value() {return wrap_max;}
|
|
96
|
+
static int_type min_value() {return wrap_min;}
|
|
97
|
+
/*! If initializing value is out of range of [wrap_min, wrap_max],
|
|
98
|
+
* value will be initialized to closest of min or max */
|
|
99
|
+
wrapping_int2(int_type v) : value_(v) {
|
|
100
|
+
if(value_ < wrap_min)
|
|
101
|
+
{
|
|
102
|
+
value_ = wrap_min;
|
|
103
|
+
}
|
|
104
|
+
if(value_ > wrap_max)
|
|
105
|
+
{
|
|
106
|
+
value_ = wrap_max;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//! Explicit converion method
|
|
110
|
+
int_type as_int() const {return value_;}
|
|
111
|
+
operator int_type() const {return value_;}
|
|
112
|
+
//!Add, return number of wraps performed
|
|
113
|
+
/*! The sign of the returned value will indicate which direction the
|
|
114
|
+
* wraps went. Ex: add a negative number and wrapping under could occur,
|
|
115
|
+
* this would be indicated by a negative return value. If wrapping over
|
|
116
|
+
* took place, a positive value would be returned */
|
|
117
|
+
int_type add(int_type v)
|
|
118
|
+
{
|
|
119
|
+
int_type remainder = static_cast<int_type>(v % (wrap_max - wrap_min + 1));
|
|
120
|
+
int_type overflow = static_cast<int_type>(v / (wrap_max - wrap_min + 1));
|
|
121
|
+
value_ = static_cast<int_type>(value_ + remainder);
|
|
122
|
+
return calculate_wrap(overflow);
|
|
123
|
+
}
|
|
124
|
+
//! Subtract will return '-d' if wrapping under took place ('d' is the number of wraps)
|
|
125
|
+
/*! The sign of the returned value will indicate which direction the
|
|
126
|
+
* wraps went. Ex: subtract a negative number and wrapping over could
|
|
127
|
+
* occur, this would be indicated by a positive return value. If
|
|
128
|
+
* wrapping under took place, a negative value would be returned */
|
|
129
|
+
int_type subtract(int_type v)
|
|
130
|
+
{
|
|
131
|
+
int_type remainder = static_cast<int_type>(v % (wrap_max - wrap_min + 1));
|
|
132
|
+
int_type underflow = static_cast<int_type>(-(v / (wrap_max - wrap_min + 1)));
|
|
133
|
+
value_ = static_cast<int_type>(value_ - remainder);
|
|
134
|
+
return calculate_wrap(underflow);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
private:
|
|
138
|
+
int_type value_;
|
|
139
|
+
|
|
140
|
+
int_type calculate_wrap(int_type wrap)
|
|
141
|
+
{
|
|
142
|
+
if ((value_) > wrap_max)
|
|
143
|
+
{
|
|
144
|
+
wrap++;
|
|
145
|
+
value_ -= (wrap_max - wrap_min + 1);
|
|
146
|
+
}
|
|
147
|
+
else if((value_) < wrap_min)
|
|
148
|
+
{
|
|
149
|
+
wrap--;
|
|
150
|
+
value_ += (wrap_max - wrap_min + 1);
|
|
151
|
+
}
|
|
152
|
+
return wrap;
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
} } //namespace date_time
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
#endif
|
|
163
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#ifndef YearMonthDayBase_HPP__
|
|
2
|
+
#define YearMonthDayBase_HPP__
|
|
3
|
+
|
|
4
|
+
/* Copyright (c) 2002,2003 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
|
|
9
|
+
* $Date: 2008-02-27 15:00:24 -0500 (Wed, 27 Feb 2008) $
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
namespace boost {
|
|
13
|
+
namespace date_time {
|
|
14
|
+
|
|
15
|
+
//! Allow rapid creation of ymd triples of different types
|
|
16
|
+
template<typename YearType, typename MonthType, typename DayType>
|
|
17
|
+
struct year_month_day_base {
|
|
18
|
+
year_month_day_base(YearType year,
|
|
19
|
+
MonthType month,
|
|
20
|
+
DayType day);
|
|
21
|
+
YearType year;
|
|
22
|
+
MonthType month;
|
|
23
|
+
DayType day;
|
|
24
|
+
typedef YearType year_type;
|
|
25
|
+
typedef MonthType month_type;
|
|
26
|
+
typedef DayType day_type;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
//! A basic constructor
|
|
31
|
+
template<typename YearType, typename MonthType, typename DayType>
|
|
32
|
+
inline
|
|
33
|
+
year_month_day_base<YearType,MonthType,DayType>::year_month_day_base(YearType y,
|
|
34
|
+
MonthType m,
|
|
35
|
+
DayType d) :
|
|
36
|
+
year(y),
|
|
37
|
+
month(m),
|
|
38
|
+
day(d)
|
|
39
|
+
{}
|
|
40
|
+
|
|
41
|
+
} }//namespace date_time
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
#endif
|
|
45
|
+
|