passenger 6.0.23 → 6.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- 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
|