passenger 5.1.4 → 5.1.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.editorconfig +9 -0
- data/CHANGELOG +9 -0
- data/build/cxx_tests.rb +11 -1
- data/build/documentation.rb +0 -32
- data/build/support/cxx_dependency_map.rb +602 -2
- data/build/test_basics.rb +3 -3
- data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +48 -0
- data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +33 -0
- data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +25 -0
- data/dev/ci/README.md +121 -0
- data/dev/ci/lib/functions.sh +129 -0
- data/dev/ci/lib/set-container-envvars.sh +46 -0
- data/dev/ci/lib/setup-container.sh +43 -0
- data/dev/ci/run-tests-natively +24 -0
- data/dev/ci/run-tests-with-docker +42 -0
- data/dev/ci/scripts/debug-console-wrapper.sh +27 -0
- data/dev/ci/scripts/docker-entrypoint-stage2.sh +17 -0
- data/dev/ci/scripts/docker-entrypoint.sh +17 -0
- data/dev/ci/scripts/inituidgid +17 -0
- data/dev/ci/scripts/run-tests-natively-stage2.sh +17 -0
- data/dev/ci/scripts/setup-host-natively.sh +11 -0
- data/dev/ci/setup-host +50 -0
- data/dev/ci/tests/apache2/run +6 -0
- data/dev/ci/tests/apache2/setup +4 -0
- data/dev/ci/tests/cxx/run +9 -0
- data/dev/ci/tests/cxx/setup +4 -0
- data/dev/ci/tests/nginx-dynamic/run +20 -0
- data/dev/ci/tests/nginx-dynamic/setup +4 -0
- data/dev/ci/tests/nginx/run +5 -0
- data/dev/ci/tests/nginx/setup +4 -0
- data/dev/ci/tests/nodejs/run +4 -0
- data/dev/ci/tests/nodejs/setup +4 -0
- data/dev/ci/tests/ruby/run +4 -0
- data/dev/ci/tests/ruby/setup +4 -0
- data/dev/ci/tests/source-packaging/run +4 -0
- data/dev/ci/tests/source-packaging/setup +4 -0
- data/dev/ci/tests/standalone/run +4 -0
- data/dev/ci/tests/standalone/setup +4 -0
- data/dev/copy_boost_headers +8 -2
- data/src/agent/Core/ApiServer.h +11 -5
- data/src/agent/Core/Controller.h +12 -46
- data/src/agent/Core/Controller/CheckoutSession.cpp +1 -1
- data/src/agent/Core/Controller/Config.h +369 -0
- data/src/agent/Core/Controller/ForwardResponse.cpp +4 -4
- data/src/agent/Core/Controller/Hooks.cpp +15 -3
- data/src/agent/Core/Controller/Implementation.cpp +1 -1
- data/src/agent/Core/Controller/InitRequest.cpp +28 -39
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +25 -60
- data/src/agent/Core/Controller/InternalUtils.cpp +0 -16
- data/src/agent/Core/Controller/Miscellaneous.cpp +0 -17
- data/src/agent/Core/Controller/Request.h +2 -0
- data/src/agent/Core/Controller/SendRequest.cpp +4 -4
- data/src/agent/Core/Controller/{StateInspectionAndConfiguration.cpp → StateInspection.cpp} +0 -22
- data/src/agent/Core/Controller/TurboCaching.h +11 -10
- data/src/agent/Core/CoreMain.cpp +16 -6
- data/src/agent/Core/ResponseCache.h +3 -3
- data/src/agent/Core/SpawningKit/SmartSpawner.h +9 -3
- data/src/agent/Core/SpawningKit/Spawner.h +7 -3
- data/src/agent/UstRouter/ApiServer.h +3 -2
- data/src/agent/UstRouter/Controller.h +66 -32
- data/src/agent/UstRouter/UstRouterMain.cpp +10 -2
- data/src/agent/Watchdog/ApiServer.h +3 -2
- data/src/agent/Watchdog/WatchdogMain.cpp +3 -1
- data/src/apache2_module/ConfigurationCommands.cpp +1 -1
- data/src/cxx_supportlib/ConfigKit/Common.h +125 -0
- data/src/cxx_supportlib/ConfigKit/ConfigKit.h +34 -0
- data/src/cxx_supportlib/ConfigKit/README.md +895 -0
- data/src/cxx_supportlib/ConfigKit/Schema.h +331 -0
- data/src/cxx_supportlib/ConfigKit/Store.h +385 -0
- data/src/cxx_supportlib/ConfigKit/TableTranslator.h +185 -0
- data/src/cxx_supportlib/ConfigKit/Utils.h +141 -0
- data/src/cxx_supportlib/ConfigKit/VariantMapUtils.h +81 -0
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/Crypto.cpp +2 -2
- data/src/cxx_supportlib/Logging.h +0 -35
- data/src/cxx_supportlib/ServerKit/HttpServer.h +35 -16
- data/src/cxx_supportlib/ServerKit/Server.h +65 -25
- data/src/cxx_supportlib/oxt/macros.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/replace.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/array.hpp +53 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_template.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_msvc_x86.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_alpha.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sparc.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sync.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +28 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_linux_arm.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_arm.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_x86.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/bind/arg.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +90 -18
- data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +35 -6
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/compaq_cxx.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +19 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +29 -7
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pgi.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sgi_mipspro.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +44 -16
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/linux.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/select_compiler_config.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +42 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +40 -7
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +39 -6
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/suffix.hpp +33 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +34 -27
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +62 -26
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/addressof.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +39 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +49 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +175 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +223 -98
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_sorted.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +88 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +7 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +4 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +45 -18
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +205 -26
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +290 -181
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +24 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +320 -46
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +91 -18
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +491 -120
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +399 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/deque.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_map.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/list.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/map.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/set.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/slist.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/small_vector.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/stable_vector.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/string.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/vector.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +101 -20
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +19 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +117 -59
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +33 -28
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +414 -70
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +134 -117
- data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +202 -99
- data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +8 -10
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +217 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +29 -27
- data/src/cxx_supportlib/vendor-modified/boost/current_function.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_time.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/date_time/constrained_value.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration_types.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_facet.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_names_put.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_calendar.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day_of_year.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration_types.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_facet.hpp +27 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_serialize.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_date_time.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/posix_time_zone.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/date_duration_operators.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_config.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/ptime.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_base.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/year_month_day.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/iterator.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/workaround.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/shared_ptr.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +25 -3
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +114 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +116 -142
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +57 -69
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/hash_float.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/extensions.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/hash.hpp +27 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +99 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +35 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +37 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +95 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +209 -72
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +86 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algo_type.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +58 -45
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +27 -26
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +27 -26
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +9 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/has_member_function_callable_with.hpp +83 -57
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +70 -44
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +22 -21
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +29 -28
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/reverse_iterator.hpp +33 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +19 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +21 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/to_raw_pointer.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +23 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +23 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +103 -29
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +295 -211
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +20 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/options.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +22 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +36 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +43 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +95 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +96 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +102 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +48 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +20 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +95 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +36 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +167 -23
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +100 -46
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +37 -27
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +30 -14
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +35 -36
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +6 -28
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +20 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once.cpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/fpclassify.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +40 -7
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +2437 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/insertion_sort.hpp +127 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +637 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge_sort.hpp +139 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +155 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -116
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/destruct_n.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +227 -32
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +30 -9
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +84 -80
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/placement_new.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +14 -20
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +32 -33
- data/src/cxx_supportlib/vendor-modified/boost/move/make_unique.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +49 -49
- data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +17 -16
- data/src/cxx_supportlib/vendor-modified/boost/mpl/print.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/none.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +197 -255
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +1059 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +116 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_factory_support.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +253 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +196 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +117 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +372 -554
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_fwd.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +15 -7
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool_alloc.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/visualc.h +15 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd.h +16 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86.h +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd/versions.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/version_number.h +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/cat.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/to_list.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/const_iterator.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +102 -87
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +45 -21
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +14 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +5 -14
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +116 -13
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +1004 -159
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +4 -58
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_noexcept.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +28 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ref_counter.hpp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +52 -144
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +120 -450
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +70 -8
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/barrier.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/completion_latch.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_views.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/generic_executor_ref.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/loop_executor.hpp +22 -18
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +163 -55
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/launch.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_all.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/lock_types.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/locks.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/timespec.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/scoped_thread.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_functors.hpp +19 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_guard.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/user_scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +265 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +272 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +300 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_reference.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/aligned_storage.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/common_type.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/mp_defer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/extent.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_assign.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_constructor.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_destructor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_assign.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_copy.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_destructor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_abstract.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_assignable.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_const.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +21 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pod.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_volatile.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/rank.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +40 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +4986 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +1814 -1255
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +41 -45
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +1498 -1161
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +40 -44
- data/src/cxx_supportlib/vendor-modified/boost/utility.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/utility/base_from_member.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/utility/compare_pointees.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +39 -22
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +690 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view_fwd.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/helper-scripts/crash-watch.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +2 -12
- metadata +77 -38
- data/dev/ci/inituidgid +0 -24
- data/dev/ci/run_jenkins.sh +0 -70
- data/dev/ci/run_travis.sh +0 -314
- data/doc/Design and Architecture.html +0 -2421
- data/doc/Design and Architecture.txt +0 -511
- data/doc/Security of user switching support.html +0 -1833
- data/doc/Users guide Apache.html +0 -3101
- data/doc/Users guide Apache.idmap.txt +0 -451
- data/doc/Users guide Apache.txt +0 -534
- data/doc/Users guide Nginx.html +0 -3026
- data/doc/Users guide Nginx.idmap.txt +0 -431
- data/doc/Users guide Nginx.txt +0 -451
- data/doc/Users guide Standalone.html +0 -2092
- data/doc/Users guide Standalone.idmap.txt +0 -137
- data/doc/Users guide Standalone.txt +0 -81
- data/doc/Users guide.html +0 -1606
- data/doc/Users guide.txt +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/address.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +0 -22
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/hash_table.hpp +0 -383
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_allocator.hpp +0 -318
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_count_impl.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_utility.hpp +0 -214
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_if_array.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocate.hpp +0 -1128
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/buckets.hpp +0 -928
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/equivalent.hpp +0 -686
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/extract_key.hpp +0 -188
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/table.hpp +0 -873
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/unique.hpp +0 -628
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/util.hpp +0 -266
@@ -16,7 +16,7 @@
|
|
16
16
|
#if defined(BOOST_MSVC)
|
17
17
|
# pragma warning( push )
|
18
18
|
# pragma warning( disable : 4127 ) // "conditional expression is constant"
|
19
|
-
#endif
|
19
|
+
#endif
|
20
20
|
|
21
21
|
#define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
|
22
22
|
|
@@ -97,7 +97,7 @@ namespace boost {
|
|
97
97
|
static R invoke(function_buffer& function_ptr BOOST_FUNCTION_COMMA
|
98
98
|
BOOST_FUNCTION_PARMS)
|
99
99
|
{
|
100
|
-
FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
|
100
|
+
FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.members.func_ptr);
|
101
101
|
return f(BOOST_FUNCTION_ARGS);
|
102
102
|
}
|
103
103
|
};
|
@@ -114,7 +114,7 @@ namespace boost {
|
|
114
114
|
BOOST_FUNCTION_PARMS)
|
115
115
|
|
116
116
|
{
|
117
|
-
FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
|
117
|
+
FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.members.func_ptr);
|
118
118
|
BOOST_FUNCTION_RETURN(f(BOOST_FUNCTION_ARGS));
|
119
119
|
}
|
120
120
|
};
|
@@ -132,9 +132,9 @@ namespace boost {
|
|
132
132
|
{
|
133
133
|
FunctionObj* f;
|
134
134
|
if (function_allows_small_object_optimization<FunctionObj>::value)
|
135
|
-
f = reinterpret_cast<FunctionObj*>(
|
135
|
+
f = reinterpret_cast<FunctionObj*>(function_obj_ptr.data);
|
136
136
|
else
|
137
|
-
f = reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
|
137
|
+
f = reinterpret_cast<FunctionObj*>(function_obj_ptr.members.obj_ptr);
|
138
138
|
return (*f)(BOOST_FUNCTION_ARGS);
|
139
139
|
}
|
140
140
|
};
|
@@ -153,9 +153,9 @@ namespace boost {
|
|
153
153
|
{
|
154
154
|
FunctionObj* f;
|
155
155
|
if (function_allows_small_object_optimization<FunctionObj>::value)
|
156
|
-
f = reinterpret_cast<FunctionObj*>(
|
156
|
+
f = reinterpret_cast<FunctionObj*>(function_obj_ptr.data);
|
157
157
|
else
|
158
|
-
f = reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
|
158
|
+
f = reinterpret_cast<FunctionObj*>(function_obj_ptr.members.obj_ptr);
|
159
159
|
BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS));
|
160
160
|
}
|
161
161
|
};
|
@@ -171,8 +171,8 @@ namespace boost {
|
|
171
171
|
BOOST_FUNCTION_PARMS)
|
172
172
|
|
173
173
|
{
|
174
|
-
FunctionObj* f =
|
175
|
-
reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
|
174
|
+
FunctionObj* f =
|
175
|
+
reinterpret_cast<FunctionObj*>(function_obj_ptr.members.obj_ptr);
|
176
176
|
return (*f)(BOOST_FUNCTION_ARGS);
|
177
177
|
}
|
178
178
|
};
|
@@ -189,8 +189,8 @@ namespace boost {
|
|
189
189
|
BOOST_FUNCTION_PARMS)
|
190
190
|
|
191
191
|
{
|
192
|
-
FunctionObj* f =
|
193
|
-
reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
|
192
|
+
FunctionObj* f =
|
193
|
+
reinterpret_cast<FunctionObj*>(function_obj_ptr.members.obj_ptr);
|
194
194
|
BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS));
|
195
195
|
}
|
196
196
|
};
|
@@ -208,8 +208,8 @@ namespace boost {
|
|
208
208
|
BOOST_FUNCTION_PARMS)
|
209
209
|
|
210
210
|
{
|
211
|
-
MemberPtr* f =
|
212
|
-
reinterpret_cast<MemberPtr*>(
|
211
|
+
MemberPtr* f =
|
212
|
+
reinterpret_cast<MemberPtr*>(function_obj_ptr.data);
|
213
213
|
return boost::mem_fn(*f)(BOOST_FUNCTION_ARGS);
|
214
214
|
}
|
215
215
|
};
|
@@ -226,8 +226,8 @@ namespace boost {
|
|
226
226
|
BOOST_FUNCTION_PARMS)
|
227
227
|
|
228
228
|
{
|
229
|
-
MemberPtr* f =
|
230
|
-
reinterpret_cast<MemberPtr*>(
|
229
|
+
MemberPtr* f =
|
230
|
+
reinterpret_cast<MemberPtr*>(function_obj_ptr.data);
|
231
231
|
BOOST_FUNCTION_RETURN(boost::mem_fn(*f)(BOOST_FUNCTION_ARGS));
|
232
232
|
}
|
233
233
|
};
|
@@ -322,7 +322,7 @@ namespace boost {
|
|
322
322
|
|
323
323
|
/* Given the tag returned by get_function_tag, retrieve the
|
324
324
|
actual invoker that will be used for the given function
|
325
|
-
object.
|
325
|
+
object.
|
326
326
|
|
327
327
|
Each specialization contains an "apply" nested class template
|
328
328
|
that accepts the function object, return type, function
|
@@ -513,21 +513,21 @@ namespace boost {
|
|
513
513
|
private:
|
514
514
|
// Function pointers
|
515
515
|
template<typename FunctionPtr>
|
516
|
-
bool
|
516
|
+
bool
|
517
517
|
assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag) const
|
518
518
|
{
|
519
519
|
this->clear(functor);
|
520
520
|
if (f) {
|
521
521
|
// should be a reinterpret cast, but some compilers insist
|
522
522
|
// on giving cv-qualifiers to free functions
|
523
|
-
functor.func_ptr = reinterpret_cast<void (*)()>(f);
|
523
|
+
functor.members.func_ptr = reinterpret_cast<void (*)()>(f);
|
524
524
|
return true;
|
525
525
|
} else {
|
526
526
|
return false;
|
527
527
|
}
|
528
528
|
}
|
529
529
|
template<typename FunctionPtr,typename Allocator>
|
530
|
-
bool
|
530
|
+
bool
|
531
531
|
assign_to_a(FunctionPtr f, function_buffer& functor, Allocator, function_ptr_tag) const
|
532
532
|
{
|
533
533
|
return assign_to(f,functor,function_ptr_tag());
|
@@ -566,13 +566,13 @@ namespace boost {
|
|
566
566
|
// Function objects
|
567
567
|
// Assign to a function object using the small object optimization
|
568
568
|
template<typename FunctionObj>
|
569
|
-
void
|
569
|
+
void
|
570
570
|
assign_functor(FunctionObj f, function_buffer& functor, mpl::true_) const
|
571
571
|
{
|
572
|
-
new (reinterpret_cast<void*>(
|
572
|
+
new (reinterpret_cast<void*>(functor.data)) FunctionObj(f);
|
573
573
|
}
|
574
574
|
template<typename FunctionObj,typename Allocator>
|
575
|
-
void
|
575
|
+
void
|
576
576
|
assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, mpl::true_) const
|
577
577
|
{
|
578
578
|
assign_functor(f,functor,mpl::true_());
|
@@ -580,13 +580,13 @@ namespace boost {
|
|
580
580
|
|
581
581
|
// Assign to a function object allocated on the heap.
|
582
582
|
template<typename FunctionObj>
|
583
|
-
void
|
583
|
+
void
|
584
584
|
assign_functor(FunctionObj f, function_buffer& functor, mpl::false_) const
|
585
585
|
{
|
586
|
-
functor.obj_ptr = new FunctionObj(f);
|
586
|
+
functor.members.obj_ptr = new FunctionObj(f);
|
587
587
|
}
|
588
588
|
template<typename FunctionObj,typename Allocator>
|
589
|
-
void
|
589
|
+
void
|
590
590
|
assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, mpl::false_) const
|
591
591
|
{
|
592
592
|
typedef functor_wrapper<FunctionObj,Allocator> functor_wrapper_type;
|
@@ -597,15 +597,15 @@ namespace boost {
|
|
597
597
|
wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1);
|
598
598
|
wrapper_allocator.construct(copy, functor_wrapper_type(f,a));
|
599
599
|
functor_wrapper_type* new_f = static_cast<functor_wrapper_type*>(copy);
|
600
|
-
functor.obj_ptr = new_f;
|
600
|
+
functor.members.obj_ptr = new_f;
|
601
601
|
}
|
602
602
|
|
603
603
|
template<typename FunctionObj>
|
604
|
-
bool
|
604
|
+
bool
|
605
605
|
assign_to(FunctionObj f, function_buffer& functor, function_obj_tag) const
|
606
606
|
{
|
607
607
|
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
|
608
|
-
assign_functor(f, functor,
|
608
|
+
assign_functor(f, functor,
|
609
609
|
mpl::bool_<(function_allows_small_object_optimization<FunctionObj>::value)>());
|
610
610
|
return true;
|
611
611
|
} else {
|
@@ -613,7 +613,7 @@ namespace boost {
|
|
613
613
|
}
|
614
614
|
}
|
615
615
|
template<typename FunctionObj,typename Allocator>
|
616
|
-
bool
|
616
|
+
bool
|
617
617
|
assign_to_a(FunctionObj f, function_buffer& functor, Allocator a, function_obj_tag) const
|
618
618
|
{
|
619
619
|
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
|
@@ -627,18 +627,18 @@ namespace boost {
|
|
627
627
|
|
628
628
|
// Reference to a function object
|
629
629
|
template<typename FunctionObj>
|
630
|
-
bool
|
631
|
-
assign_to(const reference_wrapper<FunctionObj>& f,
|
630
|
+
bool
|
631
|
+
assign_to(const reference_wrapper<FunctionObj>& f,
|
632
632
|
function_buffer& functor, function_obj_ref_tag) const
|
633
633
|
{
|
634
|
-
functor.obj_ref.obj_ptr = (void *)(f.get_pointer());
|
635
|
-
functor.obj_ref.is_const_qualified = is_const<FunctionObj>::value;
|
636
|
-
functor.obj_ref.is_volatile_qualified = is_volatile<FunctionObj>::value;
|
634
|
+
functor.members.obj_ref.obj_ptr = (void *)(f.get_pointer());
|
635
|
+
functor.members.obj_ref.is_const_qualified = is_const<FunctionObj>::value;
|
636
|
+
functor.members.obj_ref.is_volatile_qualified = is_volatile<FunctionObj>::value;
|
637
637
|
return true;
|
638
638
|
}
|
639
639
|
template<typename FunctionObj,typename Allocator>
|
640
|
-
bool
|
641
|
-
assign_to_a(const reference_wrapper<FunctionObj>& f,
|
640
|
+
bool
|
641
|
+
assign_to_a(const reference_wrapper<FunctionObj>& f,
|
642
642
|
function_buffer& functor, Allocator, function_obj_ref_tag) const
|
643
643
|
{
|
644
644
|
return assign_to(f,functor,function_obj_ref_tag());
|
@@ -656,17 +656,6 @@ namespace boost {
|
|
656
656
|
BOOST_FUNCTION_TEMPLATE_PARMS
|
657
657
|
>
|
658
658
|
class BOOST_FUNCTION_FUNCTION : public function_base
|
659
|
-
|
660
|
-
#if BOOST_FUNCTION_NUM_ARGS == 1
|
661
|
-
|
662
|
-
, public std::unary_function<T0,R>
|
663
|
-
|
664
|
-
#elif BOOST_FUNCTION_NUM_ARGS == 2
|
665
|
-
|
666
|
-
, public std::binary_function<T0,T1,R>
|
667
|
-
|
668
|
-
#endif
|
669
|
-
|
670
659
|
{
|
671
660
|
public:
|
672
661
|
#ifndef BOOST_NO_VOID_RETURNS
|
@@ -752,14 +741,14 @@ namespace boost {
|
|
752
741
|
{
|
753
742
|
this->assign_to_own(f);
|
754
743
|
}
|
755
|
-
|
744
|
+
|
756
745
|
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
|
757
746
|
BOOST_FUNCTION_FUNCTION(BOOST_FUNCTION_FUNCTION&& f) : function_base()
|
758
747
|
{
|
759
748
|
this->move_assign(f);
|
760
749
|
}
|
761
750
|
#endif
|
762
|
-
|
751
|
+
|
763
752
|
~BOOST_FUNCTION_FUNCTION() { clear(); }
|
764
753
|
|
765
754
|
result_type operator()(BOOST_FUNCTION_PARMS) const
|
@@ -840,12 +829,11 @@ namespace boost {
|
|
840
829
|
BOOST_CATCH_END
|
841
830
|
return *this;
|
842
831
|
}
|
843
|
-
|
832
|
+
|
844
833
|
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
|
845
834
|
// Move assignment from another BOOST_FUNCTION_FUNCTION
|
846
835
|
BOOST_FUNCTION_FUNCTION& operator=(BOOST_FUNCTION_FUNCTION&& f)
|
847
836
|
{
|
848
|
-
|
849
837
|
if (&f == this)
|
850
838
|
return *this;
|
851
839
|
|
@@ -922,10 +910,10 @@ namespace boost {
|
|
922
910
|
typedef typename boost::detail::function::get_function_tag<Functor>::type tag;
|
923
911
|
typedef boost::detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
|
924
912
|
typedef typename get_invoker::
|
925
|
-
template apply<Functor, R BOOST_FUNCTION_COMMA
|
913
|
+
template apply<Functor, R BOOST_FUNCTION_COMMA
|
926
914
|
BOOST_FUNCTION_TEMPLATE_ARGS>
|
927
915
|
handler_type;
|
928
|
-
|
916
|
+
|
929
917
|
typedef typename handler_type::invoker_type invoker_type;
|
930
918
|
typedef typename handler_type::manager_type manager_type;
|
931
919
|
|
@@ -933,7 +921,7 @@ namespace boost {
|
|
933
921
|
// static initialization. Otherwise, we will have a race
|
934
922
|
// condition here in multi-threaded code. See
|
935
923
|
// http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/.
|
936
|
-
static const vtable_type stored_vtable =
|
924
|
+
static const vtable_type stored_vtable =
|
937
925
|
{ { &manager_type::manage }, &invoker_type::invoke };
|
938
926
|
|
939
927
|
if (stored_vtable.assign_to(f, functor)) {
|
@@ -944,7 +932,7 @@ namespace boost {
|
|
944
932
|
boost::detail::function::function_allows_small_object_optimization<Functor>::value)
|
945
933
|
value |= static_cast<std::size_t>(0x01);
|
946
934
|
vtable = reinterpret_cast<boost::detail::function::vtable_base *>(value);
|
947
|
-
} else
|
935
|
+
} else
|
948
936
|
vtable = 0;
|
949
937
|
}
|
950
938
|
|
@@ -956,11 +944,11 @@ namespace boost {
|
|
956
944
|
typedef typename boost::detail::function::get_function_tag<Functor>::type tag;
|
957
945
|
typedef boost::detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
|
958
946
|
typedef typename get_invoker::
|
959
|
-
template apply_a<Functor, R BOOST_FUNCTION_COMMA
|
947
|
+
template apply_a<Functor, R BOOST_FUNCTION_COMMA
|
960
948
|
BOOST_FUNCTION_TEMPLATE_ARGS,
|
961
949
|
Allocator>
|
962
950
|
handler_type;
|
963
|
-
|
951
|
+
|
964
952
|
typedef typename handler_type::invoker_type invoker_type;
|
965
953
|
typedef typename handler_type::manager_type manager_type;
|
966
954
|
|
@@ -971,7 +959,7 @@ namespace boost {
|
|
971
959
|
static const vtable_type stored_vtable =
|
972
960
|
{ { &manager_type::manage }, &invoker_type::invoke };
|
973
961
|
|
974
|
-
if (stored_vtable.assign_to_a(f, functor, a)) {
|
962
|
+
if (stored_vtable.assign_to_a(f, functor, a)) {
|
975
963
|
std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);
|
976
964
|
// coverity[pointless_expression]: suppress coverity warnings on apparant if(const).
|
977
965
|
if (boost::has_trivial_copy_constructor<Functor>::value &&
|
@@ -979,15 +967,15 @@ namespace boost {
|
|
979
967
|
boost::detail::function::function_allows_small_object_optimization<Functor>::value)
|
980
968
|
value |= static_cast<std::size_t>(0x01);
|
981
969
|
vtable = reinterpret_cast<boost::detail::function::vtable_base *>(value);
|
982
|
-
} else
|
970
|
+
} else
|
983
971
|
vtable = 0;
|
984
972
|
}
|
985
973
|
|
986
|
-
// Moves the value from the specified argument to *this. If the argument
|
987
|
-
// has its function object allocated on the heap, move_assign will pass
|
988
|
-
// its buffer to *this, and set the argument's buffer pointer to NULL.
|
989
|
-
void move_assign(BOOST_FUNCTION_FUNCTION& f)
|
990
|
-
{
|
974
|
+
// Moves the value from the specified argument to *this. If the argument
|
975
|
+
// has its function object allocated on the heap, move_assign will pass
|
976
|
+
// its buffer to *this, and set the argument's buffer pointer to NULL.
|
977
|
+
void move_assign(BOOST_FUNCTION_FUNCTION& f)
|
978
|
+
{
|
991
979
|
if (&f == this)
|
992
980
|
return;
|
993
981
|
|
@@ -1098,7 +1086,7 @@ public:
|
|
1098
1086
|
function(self_type&& f): base_type(static_cast<base_type&&>(f)){}
|
1099
1087
|
function(base_type&& f): base_type(static_cast<base_type&&>(f)){}
|
1100
1088
|
#endif
|
1101
|
-
|
1089
|
+
|
1102
1090
|
self_type& operator=(const self_type& f)
|
1103
1091
|
{
|
1104
1092
|
self_type(f).swap(*this);
|
@@ -1111,7 +1099,7 @@ public:
|
|
1111
1099
|
self_type(static_cast<self_type&&>(f)).swap(*this);
|
1112
1100
|
return *this;
|
1113
1101
|
}
|
1114
|
-
#endif
|
1102
|
+
#endif
|
1115
1103
|
|
1116
1104
|
template<typename Functor>
|
1117
1105
|
#ifndef BOOST_NO_SFINAE
|
@@ -1140,14 +1128,14 @@ public:
|
|
1140
1128
|
self_type(f).swap(*this);
|
1141
1129
|
return *this;
|
1142
1130
|
}
|
1143
|
-
|
1131
|
+
|
1144
1132
|
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
|
1145
1133
|
self_type& operator=(base_type&& f)
|
1146
1134
|
{
|
1147
1135
|
self_type(static_cast<base_type&&>(f)).swap(*this);
|
1148
1136
|
return *this;
|
1149
1137
|
}
|
1150
|
-
#endif
|
1138
|
+
#endif
|
1151
1139
|
};
|
1152
1140
|
|
1153
1141
|
#undef BOOST_FUNCTION_PARTIAL_SPEC
|
@@ -1187,4 +1175,4 @@ public:
|
|
1187
1175
|
|
1188
1176
|
#if defined(BOOST_MSVC)
|
1189
1177
|
# pragma warning( pop )
|
1190
|
-
#endif
|
1178
|
+
#endif
|
@@ -254,7 +254,7 @@ namespace boost
|
|
254
254
|
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
255
255
|
|
256
256
|
template <class T> struct hash
|
257
|
-
:
|
257
|
+
: boost::hash_detail::hash_base<T>
|
258
258
|
{
|
259
259
|
#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
260
260
|
std::size_t operator()(T const& val) const
|
@@ -271,7 +271,7 @@ namespace boost
|
|
271
271
|
|
272
272
|
#if BOOST_WORKAROUND(__DMC__, <= 0x848)
|
273
273
|
template <class T, unsigned int n> struct hash<T[n]>
|
274
|
-
:
|
274
|
+
: boost::hash_detail::hash_base<T[n]>
|
275
275
|
{
|
276
276
|
std::size_t operator()(const T* val) const
|
277
277
|
{
|
@@ -296,7 +296,7 @@ namespace boost
|
|
296
296
|
{
|
297
297
|
template <class T>
|
298
298
|
struct inner
|
299
|
-
:
|
299
|
+
: boost::hash_detail::hash_base<T>
|
300
300
|
{
|
301
301
|
#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
302
302
|
std::size_t operator()(T const& val) const
|
@@ -62,6 +62,18 @@ namespace boost
|
|
62
62
|
{
|
63
63
|
namespace hash_detail
|
64
64
|
{
|
65
|
+
#if defined(_HAS_AUTO_PTR_ETC) && !_HAS_AUTO_PTR_ETC
|
66
|
+
template <typename T>
|
67
|
+
struct hash_base
|
68
|
+
{
|
69
|
+
typedef T argument_type;
|
70
|
+
typedef std::size_t result_type;
|
71
|
+
};
|
72
|
+
#else
|
73
|
+
template <typename T>
|
74
|
+
struct hash_base : std::unary_function<T, std::size_t> {};
|
75
|
+
#endif
|
76
|
+
|
65
77
|
struct enable_hash_value { typedef std::size_t type; };
|
66
78
|
|
67
79
|
template <typename T> struct basic_numbers {};
|
@@ -168,10 +180,10 @@ namespace boost
|
|
168
180
|
template <class T>
|
169
181
|
inline std::size_t hash_value_signed(T val)
|
170
182
|
{
|
171
|
-
const int size_t_bits = std::numeric_limits<std::size_t>::digits;
|
183
|
+
const unsigned int size_t_bits = std::numeric_limits<std::size_t>::digits;
|
172
184
|
// ceiling(std::numeric_limits<T>::digits / size_t_bits) - 1
|
173
185
|
const int length = (std::numeric_limits<T>::digits - 1)
|
174
|
-
/ size_t_bits;
|
186
|
+
/ static_cast<int>(size_t_bits);
|
175
187
|
|
176
188
|
std::size_t seed = 0;
|
177
189
|
T positive = val < 0 ? -1 - val : val;
|
@@ -189,10 +201,10 @@ namespace boost
|
|
189
201
|
template <class T>
|
190
202
|
inline std::size_t hash_value_unsigned(T val)
|
191
203
|
{
|
192
|
-
const int size_t_bits = std::numeric_limits<std::size_t>::digits;
|
204
|
+
const unsigned int size_t_bits = std::numeric_limits<std::size_t>::digits;
|
193
205
|
// ceiling(std::numeric_limits<T>::digits / size_t_bits) - 1
|
194
206
|
const int length = (std::numeric_limits<T>::digits - 1)
|
195
|
-
/ size_t_bits;
|
207
|
+
/ static_cast<int>(size_t_bits);
|
196
208
|
|
197
209
|
std::size_t seed = 0;
|
198
210
|
|
@@ -212,7 +224,6 @@ namespace boost
|
|
212
224
|
seed ^= value + 0x9e3779b9 + (seed<<6) + (seed>>2);
|
213
225
|
}
|
214
226
|
|
215
|
-
template <typename SizeT>
|
216
227
|
inline void hash_combine_impl(boost::uint32_t& h1,
|
217
228
|
boost::uint32_t k1)
|
218
229
|
{
|
@@ -229,16 +240,15 @@ namespace boost
|
|
229
240
|
}
|
230
241
|
|
231
242
|
|
232
|
-
// Don't define 64-bit hash combine on platforms
|
243
|
+
// Don't define 64-bit hash combine on platforms without 64 bit integers,
|
233
244
|
// and also not for 32-bit gcc as it warns about the 64-bit constant.
|
234
245
|
#if !defined(BOOST_NO_INT64_T) && \
|
235
246
|
!(defined(__GNUC__) && ULONG_MAX == 0xffffffff)
|
236
247
|
|
237
|
-
template <typename SizeT>
|
238
248
|
inline void hash_combine_impl(boost::uint64_t& h,
|
239
249
|
boost::uint64_t k)
|
240
250
|
{
|
241
|
-
const uint64_t m = UINT64_C(0xc6a4a7935bd1e995);
|
251
|
+
const boost::uint64_t m = UINT64_C(0xc6a4a7935bd1e995);
|
242
252
|
const int r = 47;
|
243
253
|
|
244
254
|
k *= m;
|
@@ -247,6 +257,10 @@ namespace boost
|
|
247
257
|
|
248
258
|
h ^= k;
|
249
259
|
h *= m;
|
260
|
+
|
261
|
+
// Completely arbitrary number, to prevent 0's
|
262
|
+
// from hashing to 0.
|
263
|
+
h += 0xe6546b64;
|
250
264
|
}
|
251
265
|
|
252
266
|
#endif // BOOST_NO_INT64_T
|
@@ -417,7 +431,7 @@ namespace boost
|
|
417
431
|
|
418
432
|
#define BOOST_HASH_SPECIALIZE(type) \
|
419
433
|
template <> struct hash<type> \
|
420
|
-
: public
|
434
|
+
: public boost::hash_detail::hash_base<type> \
|
421
435
|
{ \
|
422
436
|
std::size_t operator()(type v) const \
|
423
437
|
{ \
|
@@ -427,7 +441,7 @@ namespace boost
|
|
427
441
|
|
428
442
|
#define BOOST_HASH_SPECIALIZE_REF(type) \
|
429
443
|
template <> struct hash<type> \
|
430
|
-
: public
|
444
|
+
: public boost::hash_detail::hash_base<type> \
|
431
445
|
{ \
|
432
446
|
std::size_t operator()(type const& v) const \
|
433
447
|
{ \
|
@@ -454,7 +468,7 @@ namespace boost
|
|
454
468
|
BOOST_HASH_SPECIALIZE(long double)
|
455
469
|
|
456
470
|
BOOST_HASH_SPECIALIZE_REF(std::string)
|
457
|
-
#if !defined(BOOST_NO_STD_WSTRING)
|
471
|
+
#if !defined(BOOST_NO_STD_WSTRING) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)
|
458
472
|
BOOST_HASH_SPECIALIZE_REF(std::wstring)
|
459
473
|
#endif
|
460
474
|
|
@@ -481,7 +495,7 @@ namespace boost
|
|
481
495
|
|
482
496
|
template <class T>
|
483
497
|
struct hash<T*>
|
484
|
-
: public
|
498
|
+
: public boost::hash_detail::hash_base<T*>
|
485
499
|
{
|
486
500
|
std::size_t operator()(T* v) const
|
487
501
|
{
|
@@ -514,7 +528,7 @@ namespace boost
|
|
514
528
|
{
|
515
529
|
template <class T>
|
516
530
|
struct inner
|
517
|
-
: public
|
531
|
+
: public boost::hash_detail::hash_base<T>
|
518
532
|
{
|
519
533
|
std::size_t operator()(T val) const
|
520
534
|
{
|