passenger 6.0.23 → 6.0.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +26 -1
- data/Rakefile +7 -3
- data/bin/passenger-install-apache2-module +5 -0
- data/bin/passenger-install-nginx-module +17 -2
- data/build/apache2.rb +1 -1
- data/build/basics.rb +10 -4
- data/build/cxx_tests.rb +18 -7
- data/build/support/cxx_dependency_map.rb +40 -6
- data/build/test_basics.rb +4 -12
- data/package.json +1 -1
- data/passenger.gemspec +1 -1
- data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +10 -2
- data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +9 -0
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +9 -0
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +63 -50
- data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +19 -9
- data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/Verification.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group.h +15 -5
- data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +11 -1
- data/src/agent/Core/ApplicationPool/Pool.h +0 -2
- data/src/agent/Core/ApplicationPool/Process.h +22 -6
- data/src/agent/Core/ApplicationPool/Session.h +6 -1
- data/src/agent/Core/Config.h +7 -3
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/CoreMain.cpp +10 -17
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -53
- data/src/agent/Core/SpawningKit/Handshake/Session.h +3 -0
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
- data/src/agent/Core/SpawningKit/SmartSpawner.h +6 -2
- data/src/agent/Core/SpawningKit/Spawner.h +4 -0
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +88 -9
- data/src/agent/Shared/Fundamentals/AbortHandler.h +2 -0
- data/src/agent/Shared/Fundamentals/Initialization.cpp +9 -3
- data/src/agent/Shared/Fundamentals/Initialization.h +3 -3
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +6 -7
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +4 -7
- data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +5 -3
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +3 -0
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +3 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +2 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringMap.h +0 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +1 -1
- data/src/cxx_supportlib/SafeLibev.h +1 -3
- data/src/cxx_supportlib/ServerKit/Hooks.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +0 -1
- data/src/cxx_supportlib/ServerKit/HttpServer.h +15 -10
- data/src/cxx_supportlib/ServerKit/Server.h +0 -6
- data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +2 -0
- data/src/cxx_supportlib/Utils/SpeedMeter.h +0 -3
- data/src/cxx_supportlib/oxt/implementation.cpp +11 -0
- data/src/cxx_supportlib/oxt/system_calls.cpp +10 -3
- data/src/cxx_supportlib/oxt/thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +35 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +74 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +88 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +91 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +105 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +90 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_after.hpp +303 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_at.hpp +296 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/impl/co_composed.hpp → co_composed.hpp} +208 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +10 -201
- data/src/cxx_supportlib/vendor-modified/boost/asio/composed.hpp +415 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +214 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/default_completion_token.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_message.hpp → detail/completion_message.hpp} +14 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_payload.hpp → detail/completion_payload.hpp} +30 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_handler.hpp → detail/completion_payload_handler.hpp} +15 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +26 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -118
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +36 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +7 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +44 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiation_base.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +20 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timed_cancel_op.hpp +363 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +29 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +2 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +27 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +17 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +12 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/immediate.hpp +144 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +45 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_after.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_at.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +60 -166
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +26 -177
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +16 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +13 -286
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +55 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +26 -185
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +16 -87
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +12 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +127 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +70 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +114 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +43 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +147 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +74 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +42 -11
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +15 -37
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +151 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +11 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +611 -102
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +47 -47
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +25 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocation_type.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +35 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +55 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_pair.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +96 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +19 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_resource.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +86 -52
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +145 -65
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +105 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +30 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +19 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +31 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +45 -43
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +45 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +5 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +55 -47
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +222 -73
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/minstd_rand.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +53 -5
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/pointer_in_range.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +22 -34
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +141 -38
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algorithm.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +22 -17
- data/src/cxx_supportlib/vendor-modified/boost/libs/random/src/random_device.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +22 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +38 -10
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +111 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/cumulative_stats.hpp +177 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +33 -7
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +1 -43
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +6 -2
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +10 -0
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +12 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +32 -5
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +0 -4
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/utils.rb +5 -15
- data/src/ruby_supportlib/phusion_passenger.rb +5 -5
- metadata +21 -8
@@ -15,11 +15,10 @@
|
|
15
15
|
#include <boost/core/no_exceptions_support.hpp>
|
16
16
|
#include <boost/mem_fn.hpp>
|
17
17
|
#include <boost/throw_exception.hpp>
|
18
|
-
#include <boost/type_traits/is_integral.hpp>
|
19
|
-
#include <boost/type_traits/is_void.hpp>
|
20
18
|
#include <boost/config.hpp>
|
21
19
|
#include <algorithm>
|
22
20
|
#include <cassert>
|
21
|
+
#include <type_traits>
|
23
22
|
|
24
23
|
#if defined(BOOST_MSVC)
|
25
24
|
# pragma warning( push )
|
@@ -180,7 +179,7 @@ namespace boost {
|
|
180
179
|
>
|
181
180
|
struct get_function_invoker
|
182
181
|
{
|
183
|
-
typedef typename conditional<
|
182
|
+
typedef typename std::conditional<std::is_void<R>::value,
|
184
183
|
void_function_invoker<
|
185
184
|
FunctionPtr,
|
186
185
|
R,
|
@@ -201,7 +200,7 @@ namespace boost {
|
|
201
200
|
>
|
202
201
|
struct get_function_obj_invoker
|
203
202
|
{
|
204
|
-
typedef typename conditional<
|
203
|
+
typedef typename std::conditional<std::is_void<R>::value,
|
205
204
|
void_function_obj_invoker<
|
206
205
|
FunctionObj,
|
207
206
|
R,
|
@@ -222,7 +221,7 @@ namespace boost {
|
|
222
221
|
>
|
223
222
|
struct get_function_ref_invoker
|
224
223
|
{
|
225
|
-
typedef typename conditional<
|
224
|
+
typedef typename std::conditional<std::is_void<R>::value,
|
226
225
|
void_function_ref_invoker<
|
227
226
|
FunctionObj,
|
228
227
|
R,
|
@@ -244,7 +243,7 @@ namespace boost {
|
|
244
243
|
>
|
245
244
|
struct get_member_invoker
|
246
245
|
{
|
247
|
-
typedef typename conditional<
|
246
|
+
typedef typename std::conditional<std::is_void<R>::value,
|
248
247
|
void_member_invoker<
|
249
248
|
MemberPtr,
|
250
249
|
R,
|
@@ -499,27 +498,27 @@ namespace boost {
|
|
499
498
|
// Assign to a function object using the small object optimization
|
500
499
|
template<typename FunctionObj>
|
501
500
|
void
|
502
|
-
assign_functor(FunctionObj f, function_buffer& functor, true_type) const
|
501
|
+
assign_functor(FunctionObj f, function_buffer& functor, std::true_type) const
|
503
502
|
{
|
504
503
|
new (reinterpret_cast<void*>(functor.data)) FunctionObj(std::move(f));
|
505
504
|
}
|
506
505
|
template<typename FunctionObj,typename Allocator>
|
507
506
|
void
|
508
|
-
assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, true_type) const
|
507
|
+
assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, std::true_type) const
|
509
508
|
{
|
510
|
-
assign_functor(std::move(f),functor,true_type());
|
509
|
+
assign_functor(std::move(f),functor,std::true_type());
|
511
510
|
}
|
512
511
|
|
513
512
|
// Assign to a function object allocated on the heap.
|
514
513
|
template<typename FunctionObj>
|
515
514
|
void
|
516
|
-
assign_functor(FunctionObj f, function_buffer& functor, false_type) const
|
515
|
+
assign_functor(FunctionObj f, function_buffer& functor, std::false_type) const
|
517
516
|
{
|
518
517
|
functor.members.obj_ptr = new FunctionObj(std::move(f));
|
519
518
|
}
|
520
519
|
template<typename FunctionObj,typename Allocator>
|
521
520
|
void
|
522
|
-
assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, false_type) const
|
521
|
+
assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, std::false_type) const
|
523
522
|
{
|
524
523
|
typedef functor_wrapper<FunctionObj,Allocator> functor_wrapper_type;
|
525
524
|
|
@@ -540,7 +539,7 @@ namespace boost {
|
|
540
539
|
{
|
541
540
|
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
|
542
541
|
assign_functor(std::move(f), functor,
|
543
|
-
integral_constant<bool, (function_allows_small_object_optimization<FunctionObj>::value)>());
|
542
|
+
std::integral_constant<bool, (function_allows_small_object_optimization<FunctionObj>::value)>());
|
544
543
|
return true;
|
545
544
|
} else {
|
546
545
|
return false;
|
@@ -552,7 +551,7 @@ namespace boost {
|
|
552
551
|
{
|
553
552
|
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
|
554
553
|
assign_functor_a(std::move(f), functor, a,
|
555
|
-
integral_constant<bool, (function_allows_small_object_optimization<FunctionObj>::value)>());
|
554
|
+
std::integral_constant<bool, (function_allows_small_object_optimization<FunctionObj>::value)>());
|
556
555
|
return true;
|
557
556
|
} else {
|
558
557
|
return false;
|
@@ -566,8 +565,8 @@ namespace boost {
|
|
566
565
|
function_buffer& functor, function_obj_ref_tag) const
|
567
566
|
{
|
568
567
|
functor.members.obj_ref.obj_ptr = (void *)(f.get_pointer());
|
569
|
-
functor.members.obj_ref.is_const_qualified = is_const<FunctionObj>::value;
|
570
|
-
functor.members.obj_ref.is_volatile_qualified = is_volatile<FunctionObj>::value;
|
568
|
+
functor.members.obj_ref.is_const_qualified = std::is_const<FunctionObj>::value;
|
569
|
+
functor.members.obj_ref.is_volatile_qualified = std::is_volatile<FunctionObj>::value;
|
571
570
|
return true;
|
572
571
|
}
|
573
572
|
template<typename FunctionObj,typename Allocator>
|
@@ -587,19 +586,125 @@ namespace boost {
|
|
587
586
|
struct variadic_function_base
|
588
587
|
{};
|
589
588
|
|
590
|
-
template <typename
|
591
|
-
struct variadic_function_base<
|
589
|
+
template <typename T1>
|
590
|
+
struct variadic_function_base<T1>
|
592
591
|
{
|
593
|
-
typedef
|
592
|
+
typedef T1 argument_type;
|
593
|
+
typedef T1 arg1_type;
|
594
594
|
};
|
595
595
|
|
596
|
-
template <typename
|
597
|
-
struct variadic_function_base<
|
596
|
+
template <typename T1, typename T2>
|
597
|
+
struct variadic_function_base<T1, T2>
|
598
598
|
{
|
599
|
-
typedef
|
600
|
-
typedef
|
599
|
+
typedef T1 first_argument_type;
|
600
|
+
typedef T2 second_argument_type;
|
601
|
+
typedef T1 arg1_type;
|
602
|
+
typedef T2 arg2_type;
|
601
603
|
};
|
602
604
|
|
605
|
+
template <typename T1, typename T2, typename T3>
|
606
|
+
struct variadic_function_base<T1, T2, T3>
|
607
|
+
{
|
608
|
+
typedef T1 arg1_type;
|
609
|
+
typedef T2 arg2_type;
|
610
|
+
typedef T3 arg3_type;
|
611
|
+
};
|
612
|
+
|
613
|
+
template <typename T1, typename T2, typename T3, typename T4>
|
614
|
+
struct variadic_function_base<T1, T2, T3, T4>
|
615
|
+
{
|
616
|
+
typedef T1 arg1_type;
|
617
|
+
typedef T2 arg2_type;
|
618
|
+
typedef T3 arg3_type;
|
619
|
+
typedef T4 arg4_type;
|
620
|
+
};
|
621
|
+
|
622
|
+
template <typename T1, typename T2, typename T3, typename T4, typename T5>
|
623
|
+
struct variadic_function_base<T1, T2, T3, T4, T5>
|
624
|
+
{
|
625
|
+
typedef T1 arg1_type;
|
626
|
+
typedef T2 arg2_type;
|
627
|
+
typedef T3 arg3_type;
|
628
|
+
typedef T4 arg4_type;
|
629
|
+
typedef T5 arg5_type;
|
630
|
+
};
|
631
|
+
|
632
|
+
template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
|
633
|
+
struct variadic_function_base<T1, T2, T3, T4, T5, T6>
|
634
|
+
{
|
635
|
+
typedef T1 arg1_type;
|
636
|
+
typedef T2 arg2_type;
|
637
|
+
typedef T3 arg3_type;
|
638
|
+
typedef T4 arg4_type;
|
639
|
+
typedef T5 arg5_type;
|
640
|
+
typedef T6 arg6_type;
|
641
|
+
};
|
642
|
+
|
643
|
+
template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
|
644
|
+
struct variadic_function_base<T1, T2, T3, T4, T5, T6, T7>
|
645
|
+
{
|
646
|
+
typedef T1 arg1_type;
|
647
|
+
typedef T2 arg2_type;
|
648
|
+
typedef T3 arg3_type;
|
649
|
+
typedef T4 arg4_type;
|
650
|
+
typedef T5 arg5_type;
|
651
|
+
typedef T6 arg6_type;
|
652
|
+
typedef T7 arg7_type;
|
653
|
+
};
|
654
|
+
|
655
|
+
template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
|
656
|
+
struct variadic_function_base<T1, T2, T3, T4, T5, T6, T7, T8>
|
657
|
+
{
|
658
|
+
typedef T1 arg1_type;
|
659
|
+
typedef T2 arg2_type;
|
660
|
+
typedef T3 arg3_type;
|
661
|
+
typedef T4 arg4_type;
|
662
|
+
typedef T5 arg5_type;
|
663
|
+
typedef T6 arg6_type;
|
664
|
+
typedef T7 arg7_type;
|
665
|
+
typedef T8 arg8_type;
|
666
|
+
};
|
667
|
+
|
668
|
+
template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
|
669
|
+
struct variadic_function_base<T1, T2, T3, T4, T5, T6, T7, T8, T9>
|
670
|
+
{
|
671
|
+
typedef T1 arg1_type;
|
672
|
+
typedef T2 arg2_type;
|
673
|
+
typedef T3 arg3_type;
|
674
|
+
typedef T4 arg4_type;
|
675
|
+
typedef T5 arg5_type;
|
676
|
+
typedef T6 arg6_type;
|
677
|
+
typedef T7 arg7_type;
|
678
|
+
typedef T8 arg8_type;
|
679
|
+
typedef T9 arg9_type;
|
680
|
+
};
|
681
|
+
|
682
|
+
template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
|
683
|
+
struct variadic_function_base<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
|
684
|
+
{
|
685
|
+
typedef T1 arg1_type;
|
686
|
+
typedef T2 arg2_type;
|
687
|
+
typedef T3 arg3_type;
|
688
|
+
typedef T4 arg4_type;
|
689
|
+
typedef T5 arg5_type;
|
690
|
+
typedef T6 arg6_type;
|
691
|
+
typedef T7 arg7_type;
|
692
|
+
typedef T8 arg8_type;
|
693
|
+
typedef T9 arg9_type;
|
694
|
+
typedef T10 arg10_type;
|
695
|
+
};
|
696
|
+
|
697
|
+
#if defined( BOOST_LIBSTDCXX_VERSION ) && BOOST_LIBSTDCXX_VERSION < 50000
|
698
|
+
|
699
|
+
template<class T> struct is_trivially_copyable: std::integral_constant<bool,
|
700
|
+
__has_trivial_copy(T) && __has_trivial_assign(T) && __has_trivial_destructor(T)> {};
|
701
|
+
|
702
|
+
#else
|
703
|
+
|
704
|
+
using std::is_trivially_copyable;
|
705
|
+
|
706
|
+
#endif
|
707
|
+
|
603
708
|
} // end namespace function
|
604
709
|
} // end namespace detail
|
605
710
|
|
@@ -643,8 +748,8 @@ namespace boost {
|
|
643
748
|
// one with a default parameter.
|
644
749
|
template<typename Functor>
|
645
750
|
function_n(Functor f
|
646
|
-
,typename
|
647
|
-
!
|
751
|
+
,typename std::enable_if<
|
752
|
+
!std::is_integral<Functor>::value,
|
648
753
|
int>::type = 0
|
649
754
|
) :
|
650
755
|
function_base()
|
@@ -653,8 +758,8 @@ namespace boost {
|
|
653
758
|
}
|
654
759
|
template<typename Functor,typename Allocator>
|
655
760
|
function_n(Functor f, Allocator a
|
656
|
-
,typename
|
657
|
-
!
|
761
|
+
,typename std::enable_if<
|
762
|
+
!std::is_integral<Functor>::value,
|
658
763
|
int>::type = 0
|
659
764
|
) :
|
660
765
|
function_base()
|
@@ -691,8 +796,8 @@ namespace boost {
|
|
691
796
|
// handle function_n as the type of the temporary to
|
692
797
|
// construct.
|
693
798
|
template<typename Functor>
|
694
|
-
typename
|
695
|
-
!
|
799
|
+
typename std::enable_if<
|
800
|
+
!std::is_integral<Functor>::value,
|
696
801
|
function_n&>::type
|
697
802
|
operator=(Functor f)
|
698
803
|
{
|
@@ -835,8 +940,7 @@ namespace boost {
|
|
835
940
|
if (stored_vtable.assign_to(std::move(f), functor)) {
|
836
941
|
std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);
|
837
942
|
// coverity[pointless_expression]: suppress coverity warnings on apparant if(const).
|
838
|
-
if (boost::
|
839
|
-
boost::has_trivial_destructor<Functor>::value &&
|
943
|
+
if (boost::detail::function::is_trivially_copyable<Functor>::value &&
|
840
944
|
boost::detail::function::function_allows_small_object_optimization<Functor>::value)
|
841
945
|
value |= static_cast<std::size_t>(0x01);
|
842
946
|
vtable = reinterpret_cast<boost::detail::function::vtable_base *>(value);
|
@@ -869,8 +973,7 @@ namespace boost {
|
|
869
973
|
if (stored_vtable.assign_to_a(std::move(f), functor, a)) {
|
870
974
|
std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);
|
871
975
|
// coverity[pointless_expression]: suppress coverity warnings on apparant if(const).
|
872
|
-
if (boost::
|
873
|
-
boost::has_trivial_destructor<Functor>::value &&
|
976
|
+
if (boost::detail::function::is_trivially_copyable<Functor>::value &&
|
874
977
|
boost::detail::function::function_allows_small_object_optimization<Functor>::value)
|
875
978
|
value |= static_cast<std::size_t>(0x01);
|
876
979
|
vtable = reinterpret_cast<boost::detail::function::vtable_base *>(value);
|
@@ -974,8 +1077,8 @@ public:
|
|
974
1077
|
|
975
1078
|
template<typename Functor>
|
976
1079
|
function(Functor f
|
977
|
-
,typename
|
978
|
-
!
|
1080
|
+
,typename std::enable_if<
|
1081
|
+
!std::is_integral<Functor>::value,
|
979
1082
|
int>::type = 0
|
980
1083
|
) :
|
981
1084
|
base_type(std::move(f))
|
@@ -983,8 +1086,8 @@ public:
|
|
983
1086
|
}
|
984
1087
|
template<typename Functor,typename Allocator>
|
985
1088
|
function(Functor f, Allocator a
|
986
|
-
,typename
|
987
|
-
!
|
1089
|
+
,typename std::enable_if<
|
1090
|
+
!std::is_integral<Functor>::value,
|
988
1091
|
int>::type = 0
|
989
1092
|
) :
|
990
1093
|
base_type(std::move(f),a)
|
@@ -1014,8 +1117,8 @@ public:
|
|
1014
1117
|
}
|
1015
1118
|
|
1016
1119
|
template<typename Functor>
|
1017
|
-
typename
|
1018
|
-
!
|
1120
|
+
typename std::enable_if<
|
1121
|
+
!std::is_integral<Functor>::value,
|
1019
1122
|
self_type&>::type
|
1020
1123
|
operator=(Functor f)
|
1021
1124
|
{
|
@@ -26,15 +26,15 @@ namespace intrusive {
|
|
26
26
|
|
27
27
|
struct algo_pred_equal
|
28
28
|
{
|
29
|
-
template<class T>
|
30
|
-
bool operator()(const T &x, const
|
29
|
+
template<class T, class T2>
|
30
|
+
bool operator()(const T &x, const T2 &y) const
|
31
31
|
{ return x == y; }
|
32
32
|
};
|
33
33
|
|
34
34
|
struct algo_pred_less
|
35
35
|
{
|
36
|
-
template<class T>
|
37
|
-
bool operator()(const T &x, const
|
36
|
+
template<class T, class T2>
|
37
|
+
bool operator()(const T &x, const T2 &y) const
|
38
38
|
{ return x < y; }
|
39
39
|
};
|
40
40
|
|
@@ -49,10 +49,6 @@ bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, BinaryPredicat
|
|
49
49
|
return true;
|
50
50
|
}
|
51
51
|
|
52
|
-
template<class InputIt1, class InputIt2>
|
53
|
-
bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2)
|
54
|
-
{ return (algo_equal)(first1, last1, first2, algo_pred_equal()); }
|
55
|
-
|
56
52
|
template<class InputIt1, class InputIt2, class BinaryPredicate>
|
57
53
|
bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, BinaryPredicate pred)
|
58
54
|
{
|
@@ -62,6 +58,10 @@ bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2
|
|
62
58
|
return first1 == last1 && first2 == last2;
|
63
59
|
}
|
64
60
|
|
61
|
+
template<class InputIt1, class InputIt2>
|
62
|
+
bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2)
|
63
|
+
{ return (algo_equal)(first1, last1, first2, algo_pred_equal()); }
|
64
|
+
|
65
65
|
template<class InputIt1, class InputIt2>
|
66
66
|
bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2)
|
67
67
|
{ return (algo_equal)(first1, last1, first2, last2, algo_pred_equal()); }
|
@@ -46,6 +46,10 @@ struct bhtraits_base
|
|
46
46
|
template rebind_pointer<T>::type pointer;
|
47
47
|
typedef typename pointer_traits<node_ptr>::
|
48
48
|
template rebind_pointer<const T>::type const_pointer;
|
49
|
+
typedef typename pointer_traits<node_ptr>::
|
50
|
+
template rebind_pointer<node_holder_type>::type node_holder_ptr;
|
51
|
+
typedef typename pointer_traits<node_ptr>::
|
52
|
+
template rebind_pointer<const node_holder_type>::type const_node_holder_ptr;
|
49
53
|
typedef T & reference;
|
50
54
|
typedef const T & const_reference;
|
51
55
|
typedef node_holder_type & node_holder_reference;
|
@@ -55,16 +59,14 @@ struct bhtraits_base
|
|
55
59
|
|
56
60
|
inline static pointer to_value_ptr(node_ptr n)
|
57
61
|
{
|
58
|
-
|
59
|
-
(
|
60
|
-
return p;
|
62
|
+
return pointer_traits<pointer>::
|
63
|
+
static_cast_from(pointer_traits<node_holder_ptr>::static_cast_from(n));
|
61
64
|
}
|
62
65
|
|
63
66
|
inline static const_pointer to_value_ptr(const_node_ptr n)
|
64
67
|
{
|
65
|
-
|
66
|
-
(
|
67
|
-
return p;
|
68
|
+
return pointer_traits<const_pointer>::
|
69
|
+
static_cast_from(pointer_traits<const_node_holder_ptr>::static_cast_from(n));
|
68
70
|
}
|
69
71
|
|
70
72
|
inline static node_ptr to_node_ptr(reference value)
|
@@ -130,7 +130,7 @@ struct pointer_traits
|
|
130
130
|
//!
|
131
131
|
//! <b>Note</b>: For non-conforming compilers only the existence of a member function called
|
132
132
|
//! <code>pointer_to</code> is checked.
|
133
|
-
|
133
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer pointer_to(reference r) BOOST_NOEXCEPT
|
134
134
|
{
|
135
135
|
//Non-standard extension, it does not require Ptr::pointer_to. If not present
|
136
136
|
//tries to converts &r to pointer.
|
@@ -150,7 +150,7 @@ struct pointer_traits
|
|
150
150
|
//! <b>Note</b>: For non-conforming compilers only the existence of a member function called
|
151
151
|
//! <code>static_cast_from</code> is checked.
|
152
152
|
template<class UPtr>
|
153
|
-
|
153
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer static_cast_from(const UPtr &uptr) BOOST_NOEXCEPT
|
154
154
|
{
|
155
155
|
typedef const UPtr &RefArg;
|
156
156
|
const bool value = boost::intrusive::detail::
|
@@ -171,7 +171,7 @@ struct pointer_traits
|
|
171
171
|
//! <b>Note</b>: For non-conforming compilers only the existence of a member function called
|
172
172
|
//! <code>const_cast_from</code> is checked.
|
173
173
|
template<class UPtr>
|
174
|
-
|
174
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer const_cast_from(const UPtr &uptr) BOOST_NOEXCEPT
|
175
175
|
{
|
176
176
|
typedef const UPtr &RefArg;
|
177
177
|
const bool value = boost::intrusive::detail::
|
@@ -192,7 +192,7 @@ struct pointer_traits
|
|
192
192
|
//! <b>Note</b>: For non-conforming compilers only the existence of a member function called
|
193
193
|
//! <code>dynamic_cast_from</code> is checked.
|
194
194
|
template<class UPtr>
|
195
|
-
|
195
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer dynamic_cast_from(const UPtr &uptr) BOOST_NOEXCEPT
|
196
196
|
{
|
197
197
|
typedef const UPtr &RefArg;
|
198
198
|
const bool value = boost::intrusive::detail::
|
@@ -208,46 +208,46 @@ struct pointer_traits
|
|
208
208
|
private:
|
209
209
|
//priv_to_raw_pointer
|
210
210
|
template <class T>
|
211
|
-
|
211
|
+
BOOST_INTRUSIVE_FORCEINLINE static T* to_raw_pointer(T* p) BOOST_NOEXCEPT
|
212
212
|
{ return p; }
|
213
213
|
|
214
214
|
template <class Pointer>
|
215
|
-
|
215
|
+
BOOST_INTRUSIVE_FORCEINLINE static typename pointer_traits<Pointer>::element_type*
|
216
216
|
to_raw_pointer(const Pointer &p) BOOST_NOEXCEPT
|
217
217
|
{ return pointer_traits::to_raw_pointer(p.operator->()); }
|
218
218
|
|
219
219
|
//priv_pointer_to
|
220
|
-
|
220
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer priv_pointer_to(boost::intrusive::detail::true_, reference r) BOOST_NOEXCEPT
|
221
221
|
{ return Ptr::pointer_to(r); }
|
222
222
|
|
223
|
-
|
223
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer priv_pointer_to(boost::intrusive::detail::false_, reference r) BOOST_NOEXCEPT
|
224
224
|
{ return pointer(boost::intrusive::detail::addressof(r)); }
|
225
225
|
|
226
226
|
//priv_static_cast_from
|
227
227
|
template<class UPtr>
|
228
|
-
|
228
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer priv_static_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) BOOST_NOEXCEPT
|
229
229
|
{ return Ptr::static_cast_from(uptr); }
|
230
230
|
|
231
231
|
template<class UPtr>
|
232
|
-
|
232
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer priv_static_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) BOOST_NOEXCEPT
|
233
233
|
{ return uptr ? pointer_to(*static_cast<element_type*>(to_raw_pointer(uptr))) : pointer(); }
|
234
234
|
|
235
235
|
//priv_const_cast_from
|
236
236
|
template<class UPtr>
|
237
|
-
|
237
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer priv_const_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) BOOST_NOEXCEPT
|
238
238
|
{ return Ptr::const_cast_from(uptr); }
|
239
239
|
|
240
240
|
template<class UPtr>
|
241
|
-
|
241
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer priv_const_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) BOOST_NOEXCEPT
|
242
242
|
{ return uptr ? pointer_to(const_cast<element_type&>(*uptr)) : pointer(); }
|
243
243
|
|
244
244
|
//priv_dynamic_cast_from
|
245
245
|
template<class UPtr>
|
246
|
-
|
246
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer priv_dynamic_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) BOOST_NOEXCEPT
|
247
247
|
{ return Ptr::dynamic_cast_from(uptr); }
|
248
248
|
|
249
249
|
template<class UPtr>
|
250
|
-
|
250
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer priv_dynamic_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) BOOST_NOEXCEPT
|
251
251
|
{ return uptr ? pointer_to(dynamic_cast<element_type&>(*uptr)) : pointer(); }
|
252
252
|
///@endcond
|
253
253
|
};
|
@@ -296,25 +296,25 @@ struct pointer_traits<T*>
|
|
296
296
|
|
297
297
|
//! <b>Returns</b>: addressof(r)
|
298
298
|
//!
|
299
|
-
|
299
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer pointer_to(reference r) BOOST_NOEXCEPT
|
300
300
|
{ return boost::intrusive::detail::addressof(r); }
|
301
301
|
|
302
302
|
//! <b>Returns</b>: static_cast<pointer>(uptr)
|
303
303
|
//!
|
304
304
|
template<class U>
|
305
|
-
|
305
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer static_cast_from(U *uptr) BOOST_NOEXCEPT
|
306
306
|
{ return static_cast<pointer>(uptr); }
|
307
307
|
|
308
308
|
//! <b>Returns</b>: const_cast<pointer>(uptr)
|
309
309
|
//!
|
310
310
|
template<class U>
|
311
|
-
|
311
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer const_cast_from(U *uptr) BOOST_NOEXCEPT
|
312
312
|
{ return const_cast<pointer>(uptr); }
|
313
313
|
|
314
314
|
//! <b>Returns</b>: dynamic_cast<pointer>(uptr)
|
315
315
|
//!
|
316
316
|
template<class U>
|
317
|
-
|
317
|
+
BOOST_INTRUSIVE_FORCEINLINE static pointer dynamic_cast_from(U *uptr) BOOST_NOEXCEPT
|
318
318
|
{ return dynamic_cast<pointer>(uptr); }
|
319
319
|
};
|
320
320
|
|
data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp
CHANGED
@@ -198,7 +198,6 @@ namespace boost { namespace detail { namespace lcast {
|
|
198
198
|
}
|
199
199
|
|
200
200
|
bool shl_real_type(float val, char* begin) {
|
201
|
-
using namespace std;
|
202
201
|
const double val_as_double = val;
|
203
202
|
finish = start +
|
204
203
|
boost::core::snprintf(begin, CharacterBufferSize,
|
@@ -207,7 +206,6 @@ namespace boost { namespace detail { namespace lcast {
|
|
207
206
|
}
|
208
207
|
|
209
208
|
bool shl_real_type(double val, char* begin) {
|
210
|
-
using namespace std;
|
211
209
|
finish = start +
|
212
210
|
boost::core::snprintf(begin, CharacterBufferSize,
|
213
211
|
"%.*g", static_cast<int>(boost::detail::lcast_get_precision<double>()), val);
|
@@ -216,7 +214,6 @@ namespace boost { namespace detail { namespace lcast {
|
|
216
214
|
|
217
215
|
#ifndef __MINGW32__
|
218
216
|
bool shl_real_type(long double val, char* begin) {
|
219
|
-
using namespace std;
|
220
217
|
finish = start +
|
221
218
|
boost::core::snprintf(begin, CharacterBufferSize,
|
222
219
|
"%.*Lg", static_cast<int>(boost::detail::lcast_get_precision<long double>()), val );
|
@@ -228,28 +225,32 @@ namespace boost { namespace detail { namespace lcast {
|
|
228
225
|
}
|
229
226
|
#endif
|
230
227
|
|
231
|
-
#if !defined(BOOST_LCAST_NO_WCHAR_T)
|
228
|
+
#if !defined(BOOST_LCAST_NO_WCHAR_T)
|
232
229
|
bool shl_real_type(float val, wchar_t* begin) {
|
233
|
-
using namespace std;
|
234
230
|
const double val_as_double = val;
|
235
|
-
finish = start + swprintf(
|
236
|
-
|
237
|
-
|
238
|
-
|
231
|
+
finish = start + boost::core::swprintf(
|
232
|
+
begin, CharacterBufferSize, L"%.*g",
|
233
|
+
static_cast<int>(boost::detail::lcast_get_precision<float >()),
|
234
|
+
val_as_double
|
235
|
+
);
|
239
236
|
return finish > start;
|
240
237
|
}
|
241
238
|
|
242
239
|
bool shl_real_type(double val, wchar_t* begin) {
|
243
|
-
|
244
|
-
|
245
|
-
|
240
|
+
finish = start + boost::core::swprintf(
|
241
|
+
begin, CharacterBufferSize, L"%.*g",
|
242
|
+
static_cast<int>(boost::detail::lcast_get_precision<double>()),
|
243
|
+
val
|
244
|
+
);
|
246
245
|
return finish > start;
|
247
246
|
}
|
248
247
|
|
249
248
|
bool shl_real_type(long double val, wchar_t* begin) {
|
250
|
-
|
251
|
-
|
252
|
-
|
249
|
+
finish = start + boost::core::swprintf(
|
250
|
+
begin, CharacterBufferSize, L"%.*Lg",
|
251
|
+
static_cast<int>(boost::detail::lcast_get_precision<long double>()),
|
252
|
+
val
|
253
|
+
);
|
253
254
|
return finish > start;
|
254
255
|
}
|
255
256
|
#endif
|
@@ -345,13 +346,17 @@ namespace boost { namespace detail { namespace lcast {
|
|
345
346
|
template <class C, class CharTraits>
|
346
347
|
enable_if_compatible_char_t<C>
|
347
348
|
stream_in(lcast::exact<std::basic_string_view<C, CharTraits>> x) noexcept {
|
348
|
-
|
349
|
+
start = reinterpret_cast<const CharT*>(x.payload.data());
|
350
|
+
finish = start + x.payload.size();
|
351
|
+
return true;
|
349
352
|
}
|
350
353
|
#endif
|
351
354
|
template <class C, class CharTraits>
|
352
355
|
enable_if_compatible_char_t<C>
|
353
356
|
stream_in(lcast::exact<boost::basic_string_view<C, CharTraits>> x) noexcept {
|
354
|
-
|
357
|
+
start = reinterpret_cast<const CharT*>(x.payload.data());
|
358
|
+
finish = start + x.payload.size();
|
359
|
+
return true;
|
355
360
|
}
|
356
361
|
};
|
357
362
|
|
@@ -16,7 +16,6 @@
|
|
16
16
|
# pragma warning (disable : 4619) // there is no warning number 'XXXX'
|
17
17
|
# pragma warning (disable : 4324) // structure was padded due to __declspec(align())
|
18
18
|
# pragma warning (disable : 4675) // "function": resolved overload was found by argument-dependent lookup
|
19
|
-
# pragma warning (disable : 4996) // "function": was declared deprecated (_CRT_SECURE_NO_DEPRECATE/_SCL_SECURE_NO_WARNINGS)
|
20
19
|
# pragma warning (disable : 4714) // "function": marked as __forceinline not inlined
|
21
20
|
# pragma warning (disable : 4127) // conditional expression is constant
|
22
21
|
#endif
|