passenger 6.0.16 → 6.0.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +46 -2
- data/CONTRIBUTORS +2 -0
- data/build/integration_tests.rb +6 -6
- data/build/ruby_tests.rb +1 -1
- data/build/test_basics.rb +0 -1
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/SpawningKit/PipeWatcher.h +18 -3
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +344 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +686 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +81 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +68 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +46 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +1 -1
- 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 +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +4 -4
- 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 +2 -2
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +14 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +30 -305
- data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +17 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +98 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +330 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +81 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +19 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +14 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +4 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +22 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +447 -142
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +57 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +51 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +52 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +39 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +39 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +6 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +146 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +35 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +180 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +89 -66
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +66 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp +1134 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +130 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +377 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +168 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +149 -203
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +256 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +76 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +40 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +113 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +25 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +25 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +34 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +28 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +204 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +21 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +40 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +27 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +104 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +70 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +38 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +27 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +17 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/scan_keyword.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_io.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_put.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/utility/ios_base_state_ptr.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/chrono/time_point.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/header_deprecated.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +80 -95
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +738 -34
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +38 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +1150 -1213
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +104 -12
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +31 -331
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +113 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +173 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +461 -566
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +32 -4
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters_limited.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/parsers.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/iso_format.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_date_time.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters_limited.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_parser.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/describe/bases.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/cx_streq.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/void_t.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/members.hpp +159 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +45 -45
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +37 -38
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +145 -90
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +11 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +106 -25
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/pdqsort.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/int_float_mixture.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/sign_mixture.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/udt_builtin_mixture.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +38 -43
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_helper.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +22 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +37 -7
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa.hpp +1921 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +66 -82
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/xmx.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +732 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +586 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +166 -66
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +145 -28
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/md5.hpp +1 -1
- data/src/ruby_native_extension/extconf.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +4 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/public_api.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger/utils.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger.rb +5 -5
- metadata +36 -19
- data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +0 -19
- data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of_forward.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of.hpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of_cxx11.hpp +0 -23
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/element_type.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/integral_constant.hpp +0 -53
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/min_size.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/completion_handler_erasure.hpp +0 -196
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +0 -709
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/float_functions.hpp +0 -336
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_float.hpp +0 -271
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/limits.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/extensions.hpp +0 -361
- data/src/cxx_supportlib/vendor-modified/boost/detail/container_fwd.hpp +0 -157
@@ -205,13 +205,13 @@ class treap_algorithms
|
|
205
205
|
|
206
206
|
//! @copydoc ::boost::intrusive::bstree_algorithms::unlink(node_ptr)
|
207
207
|
template<class NodePtrPriorityCompare>
|
208
|
-
static void unlink(node_ptr
|
208
|
+
static void unlink(node_ptr n, NodePtrPriorityCompare pcomp)
|
209
209
|
{
|
210
|
-
node_ptr x = NodeTraits::get_parent(
|
210
|
+
node_ptr x = NodeTraits::get_parent(n);
|
211
211
|
if(x){
|
212
212
|
while(!bstree_algo::is_header(x))
|
213
213
|
x = NodeTraits::get_parent(x);
|
214
|
-
erase(x,
|
214
|
+
erase(x, n, pcomp);
|
215
215
|
}
|
216
216
|
}
|
217
217
|
|
@@ -220,19 +220,19 @@ class treap_algorithms
|
|
220
220
|
static node_ptr unlink_leftmost_without_rebalance(node_ptr header) BOOST_NOEXCEPT;
|
221
221
|
|
222
222
|
//! @copydoc ::boost::intrusive::bstree_algorithms::unique(const_node_ptr)
|
223
|
-
static bool unique(const_node_ptr
|
223
|
+
static bool unique(const_node_ptr n) BOOST_NOEXCEPT;
|
224
224
|
|
225
225
|
//! @copydoc ::boost::intrusive::bstree_algorithms::size(const_node_ptr)
|
226
226
|
static std::size_t size(const_node_ptr header) BOOST_NOEXCEPT;
|
227
227
|
|
228
228
|
//! @copydoc ::boost::intrusive::bstree_algorithms::next_node(node_ptr)
|
229
|
-
static node_ptr next_node(node_ptr
|
229
|
+
static node_ptr next_node(node_ptr n) BOOST_NOEXCEPT;
|
230
230
|
|
231
231
|
//! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(node_ptr)
|
232
|
-
static node_ptr prev_node(node_ptr
|
232
|
+
static node_ptr prev_node(node_ptr n) BOOST_NOEXCEPT;
|
233
233
|
|
234
234
|
//! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
|
235
|
-
static void init(node_ptr
|
235
|
+
static void init(node_ptr n) BOOST_NOEXCEPT;
|
236
236
|
|
237
237
|
//! @copydoc ::boost::intrusive::bstree_algorithms::init_header(node_ptr)
|
238
238
|
static void init_header(node_ptr header) BOOST_NOEXCEPT;
|
@@ -154,79 +154,160 @@ namespace iterators {
|
|
154
154
|
class postfix_increment_proxy
|
155
155
|
{
|
156
156
|
typedef typename iterator_value<Iterator>::type value_type;
|
157
|
+
|
157
158
|
public:
|
158
159
|
explicit postfix_increment_proxy(Iterator const& x)
|
159
|
-
:
|
160
|
+
: stored_iterator(x)
|
161
|
+
, stored_value(*x)
|
160
162
|
{}
|
161
163
|
|
162
164
|
// Returning a mutable reference allows nonsense like
|
163
165
|
// (*r++).mutate(), but it imposes fewer assumptions about the
|
164
166
|
// behavior of the value_type. In particular, recall that
|
165
167
|
// (*r).mutate() is legal if operator* returns by value.
|
166
|
-
|
167
|
-
operator*() const
|
168
|
+
// Provides readability of *r++
|
169
|
+
value_type& operator*() const
|
168
170
|
{
|
169
|
-
return
|
171
|
+
return stored_value;
|
172
|
+
}
|
173
|
+
|
174
|
+
// Provides X(r++)
|
175
|
+
operator Iterator const&() const
|
176
|
+
{
|
177
|
+
return stored_iterator;
|
178
|
+
}
|
179
|
+
|
180
|
+
// Provides (r++)->foo()
|
181
|
+
value_type* operator->() const
|
182
|
+
{
|
183
|
+
return boost::addressof(stored_value);
|
170
184
|
}
|
185
|
+
|
171
186
|
private:
|
187
|
+
Iterator stored_iterator;
|
172
188
|
mutable value_type stored_value;
|
173
189
|
};
|
174
190
|
|
191
|
+
|
192
|
+
template <class Iterator>
|
193
|
+
class writable_postfix_increment_dereference_proxy;
|
194
|
+
|
195
|
+
template <class T>
|
196
|
+
struct is_not_writable_postfix_increment_dereference_proxy :
|
197
|
+
public boost::true_type
|
198
|
+
{};
|
199
|
+
|
200
|
+
template <class Iterator>
|
201
|
+
struct is_not_writable_postfix_increment_dereference_proxy<
|
202
|
+
writable_postfix_increment_dereference_proxy<Iterator>
|
203
|
+
> :
|
204
|
+
public boost::false_type
|
205
|
+
{};
|
206
|
+
|
207
|
+
template <class Iterator>
|
208
|
+
class writable_postfix_increment_proxy;
|
209
|
+
|
175
210
|
//
|
176
211
|
// In general, we can't determine that such an iterator isn't
|
177
212
|
// writable -- we also need to store a copy of the old iterator so
|
178
213
|
// that it can be written into.
|
179
214
|
template <class Iterator>
|
180
|
-
class
|
215
|
+
class writable_postfix_increment_dereference_proxy
|
181
216
|
{
|
217
|
+
friend class writable_postfix_increment_proxy<Iterator>;
|
218
|
+
|
182
219
|
typedef typename iterator_value<Iterator>::type value_type;
|
220
|
+
|
183
221
|
public:
|
184
|
-
explicit
|
185
|
-
:
|
186
|
-
,
|
222
|
+
explicit writable_postfix_increment_dereference_proxy(Iterator const& x)
|
223
|
+
: stored_iterator(x)
|
224
|
+
, stored_value(*x)
|
187
225
|
{}
|
188
226
|
|
189
|
-
//
|
190
|
-
|
191
|
-
// *r++, and the conversion operator below is used to ensure
|
192
|
-
// readability.
|
193
|
-
writable_postfix_increment_proxy const&
|
194
|
-
operator*() const
|
227
|
+
// Provides readability of *r++
|
228
|
+
operator value_type&() const
|
195
229
|
{
|
196
|
-
return
|
230
|
+
return this->stored_value;
|
197
231
|
}
|
198
232
|
|
199
|
-
|
200
|
-
|
233
|
+
template <class OtherIterator>
|
234
|
+
writable_postfix_increment_dereference_proxy const&
|
235
|
+
operator=(writable_postfix_increment_dereference_proxy<OtherIterator> const& x) const
|
201
236
|
{
|
202
|
-
|
237
|
+
typedef typename iterator_value<OtherIterator>::type other_value_type;
|
238
|
+
*this->stored_iterator = static_cast<other_value_type&>(x);
|
239
|
+
return *this;
|
203
240
|
}
|
204
241
|
|
205
242
|
// Provides writability of *r++
|
243
|
+
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
206
244
|
template <class T>
|
207
|
-
|
245
|
+
typename iterators::enable_if<
|
246
|
+
is_not_writable_postfix_increment_dereference_proxy< T >,
|
247
|
+
writable_postfix_increment_dereference_proxy const&
|
248
|
+
>::type operator=(T&& x) const
|
249
|
+
{
|
250
|
+
*this->stored_iterator = static_cast< T&& >(x);
|
251
|
+
return *this;
|
252
|
+
}
|
253
|
+
#else
|
254
|
+
template <class T>
|
255
|
+
typename iterators::enable_if<
|
256
|
+
is_not_writable_postfix_increment_dereference_proxy< T >,
|
257
|
+
writable_postfix_increment_dereference_proxy const&
|
258
|
+
>::type operator=(T const& x) const
|
208
259
|
{
|
209
260
|
*this->stored_iterator = x;
|
210
|
-
return
|
261
|
+
return *this;
|
211
262
|
}
|
212
263
|
|
213
264
|
// This overload just in case only non-const objects are writable
|
214
265
|
template <class T>
|
215
|
-
|
266
|
+
typename iterators::enable_if<
|
267
|
+
is_not_writable_postfix_increment_dereference_proxy< T >,
|
268
|
+
writable_postfix_increment_dereference_proxy const&
|
269
|
+
>::type operator=(T& x) const
|
216
270
|
{
|
217
271
|
*this->stored_iterator = x;
|
218
|
-
return
|
272
|
+
return *this;
|
273
|
+
}
|
274
|
+
#endif
|
275
|
+
|
276
|
+
private:
|
277
|
+
Iterator stored_iterator;
|
278
|
+
mutable value_type stored_value;
|
279
|
+
};
|
280
|
+
|
281
|
+
template <class Iterator>
|
282
|
+
class writable_postfix_increment_proxy
|
283
|
+
{
|
284
|
+
typedef typename iterator_value<Iterator>::type value_type;
|
285
|
+
|
286
|
+
public:
|
287
|
+
explicit writable_postfix_increment_proxy(Iterator const& x)
|
288
|
+
: dereference_proxy(x)
|
289
|
+
{}
|
290
|
+
|
291
|
+
writable_postfix_increment_dereference_proxy<Iterator> const&
|
292
|
+
operator*() const
|
293
|
+
{
|
294
|
+
return dereference_proxy;
|
219
295
|
}
|
220
296
|
|
221
297
|
// Provides X(r++)
|
222
298
|
operator Iterator const&() const
|
223
299
|
{
|
224
|
-
return stored_iterator;
|
300
|
+
return dereference_proxy.stored_iterator;
|
301
|
+
}
|
302
|
+
|
303
|
+
// Provides (r++)->foo()
|
304
|
+
value_type* operator->() const
|
305
|
+
{
|
306
|
+
return boost::addressof(dereference_proxy.stored_value);
|
225
307
|
}
|
226
308
|
|
227
309
|
private:
|
228
|
-
|
229
|
-
Iterator stored_iterator;
|
310
|
+
writable_postfix_increment_dereference_proxy<Iterator> dereference_proxy;
|
230
311
|
};
|
231
312
|
|
232
313
|
# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp
CHANGED
@@ -76,7 +76,7 @@
|
|
76
76
|
#include <boost/container/container_fwd.hpp>
|
77
77
|
#include <boost/integer.hpp>
|
78
78
|
#include <boost/detail/basic_pointerbuf.hpp>
|
79
|
-
#include <boost/noncopyable.hpp>
|
79
|
+
#include <boost/core/noncopyable.hpp>
|
80
80
|
#ifndef BOOST_NO_CWCHAR
|
81
81
|
# include <cwchar>
|
82
82
|
#endif
|
@@ -32,6 +32,7 @@
|
|
32
32
|
#include <boost/type_traits/is_arithmetic.hpp>
|
33
33
|
#include <boost/type_traits/is_base_of.hpp>
|
34
34
|
#include <boost/type_traits/is_float.hpp>
|
35
|
+
#include <boost/type_traits/remove_volatile.hpp>
|
35
36
|
|
36
37
|
#include <boost/numeric/conversion/cast.hpp>
|
37
38
|
|
@@ -155,14 +156,16 @@ struct lexical_cast_dynamic_num_ignoring_minus
|
|
155
156
|
template <typename Target, typename Source>
|
156
157
|
struct dynamic_num_converter_impl
|
157
158
|
{
|
158
|
-
|
159
|
+
typedef BOOST_DEDUCED_TYPENAME boost::remove_volatile<Source>::type source_type;
|
160
|
+
|
161
|
+
static inline bool try_convert(source_type arg, Target& result) BOOST_NOEXCEPT {
|
159
162
|
typedef BOOST_DEDUCED_TYPENAME boost::conditional<
|
160
163
|
boost::is_unsigned<Target>::value &&
|
161
|
-
(boost::is_signed<
|
162
|
-
!(boost::is_same<
|
164
|
+
(boost::is_signed<source_type>::value || boost::is_float<source_type>::value) &&
|
165
|
+
!(boost::is_same<source_type, bool>::value) &&
|
163
166
|
!(boost::is_same<Target, bool>::value),
|
164
|
-
lexical_cast_dynamic_num_ignoring_minus<Target,
|
165
|
-
lexical_cast_dynamic_num_not_ignoring_minus<Target,
|
167
|
+
lexical_cast_dynamic_num_ignoring_minus<Target, source_type>,
|
168
|
+
lexical_cast_dynamic_num_not_ignoring_minus<Target, source_type>
|
166
169
|
>::type caster_type;
|
167
170
|
|
168
171
|
return caster_type::try_convert(arg, result);
|
data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
#include <boost/lexical_cast/detail/lcast_char_constants.hpp>
|
51
51
|
#include <boost/type_traits/make_unsigned.hpp>
|
52
52
|
#include <boost/type_traits/is_signed.hpp>
|
53
|
-
#include <boost/noncopyable.hpp>
|
53
|
+
#include <boost/core/noncopyable.hpp>
|
54
54
|
|
55
55
|
namespace boost
|
56
56
|
{
|
@@ -175,7 +175,8 @@ void swap_and_update_key
|
|
175
175
|
{
|
176
176
|
if(begin != with){
|
177
177
|
::boost::adl_move_swap_ranges(begin, end, with);
|
178
|
-
|
178
|
+
if(key_next != key_range2) //Avoid potential self-swapping
|
179
|
+
::boost::adl_move_swap(*key_next, *key_range2);
|
179
180
|
if(key_next == key_mid){
|
180
181
|
key_mid = key_range2;
|
181
182
|
}
|
@@ -217,7 +218,8 @@ RandIt2 buffer_and_update_key
|
|
217
218
|
while(begin != end) {
|
218
219
|
op(three_way_t(), begin++, with++, buffer++);
|
219
220
|
}
|
220
|
-
|
221
|
+
if (key_next != key_range2) //Avoid potential self-swapping
|
222
|
+
::boost::adl_move_swap(*key_next, *key_range2);
|
221
223
|
if (key_next == key_mid) {
|
222
224
|
key_mid = key_range2;
|
223
225
|
}
|
@@ -192,7 +192,8 @@ namespace pdqsort_detail {
|
|
192
192
|
|
193
193
|
// Put the pivot in the right place.
|
194
194
|
Iter pivot_pos = first - 1;
|
195
|
-
|
195
|
+
if(begin != pivot_pos) //Avoid potential self-move
|
196
|
+
*begin = boost::move(*pivot_pos);
|
196
197
|
*pivot_pos = boost::move(pivot);
|
197
198
|
|
198
199
|
return pdqsort_detail::pair<Iter, bool>(pivot_pos, already_partitioned);
|
@@ -190,33 +190,37 @@
|
|
190
190
|
# endif
|
191
191
|
|
192
192
|
// BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR
|
193
|
-
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
193
|
+
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
194
|
+
|
195
|
+
# if BOOST_MOVE_HAS_TRAIT(is_constructible) && BOOST_MOVE_HAS_TRAIT(is_trivially_constructible)
|
194
196
|
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_constructible(T, T&&) && __is_trivially_constructible(T, T&&))
|
195
197
|
# elif BOOST_MOVE_HAS_TRAIT(has_trivial_move_constructor)
|
196
198
|
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) __has_trivial_move_constructor(T)
|
197
199
|
# endif
|
198
200
|
|
199
201
|
// BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN
|
200
|
-
# if
|
202
|
+
# if BOOST_MOVE_HAS_TRAIT(is_assignable) && BOOST_MOVE_HAS_TRAIT(is_trivially_assignable)
|
201
203
|
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_assignable(T, T&&) && __is_trivially_assignable(T, T&&))
|
202
204
|
# elif BOOST_MOVE_HAS_TRAIT(has_trivial_move_assign)
|
203
205
|
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) __has_trivial_move_assign(T)
|
204
206
|
# endif
|
205
207
|
|
206
208
|
// BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCTOR
|
207
|
-
# if
|
209
|
+
# if BOOST_MOVE_HAS_TRAIT(is_constructible) && BOOST_MOVE_HAS_TRAIT(is_nothrow_constructible)
|
208
210
|
# define BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCTOR(T) (__is_constructible(T, T&&) && __is_nothrow_constructible(T, T&&))
|
209
211
|
# elif BOOST_MOVE_HAS_TRAIT(has_nothrow_move_constructor)
|
210
212
|
# define BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCTOR(T) __has_nothrow_move_constructor(T)
|
211
213
|
# endif
|
212
214
|
|
213
215
|
// BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN
|
214
|
-
# if
|
216
|
+
# if BOOST_MOVE_HAS_TRAIT(is_assignable) && BOOST_MOVE_HAS_TRAIT(is_nothrow_assignable)
|
215
217
|
# define BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN(T) (__is_assignable(T, T&&) && __is_nothrow_assignable(T, T&&))
|
216
218
|
# elif BOOST_MOVE_HAS_TRAIT(has_nothrow_move_assign)
|
217
219
|
# define BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN(T) __has_nothrow_move_assign(T)
|
218
220
|
# endif
|
219
221
|
|
222
|
+
# endif //BOOST_NO_CXX11_RVALUE_REFERENCES
|
223
|
+
|
220
224
|
// BOOST_MOVE_ALIGNMENT_OF
|
221
225
|
# define BOOST_MOVE_ALIGNMENT_OF(T) __alignof(T)
|
222
226
|
|
@@ -0,0 +1,111 @@
|
|
1
|
+
#ifndef BOOST_MP11_BIND_HPP_INCLUDED
|
2
|
+
#define BOOST_MP11_BIND_HPP_INCLUDED
|
3
|
+
|
4
|
+
// Copyright 2017, 2018 Peter Dimov.
|
5
|
+
//
|
6
|
+
// Distributed under the Boost Software License, Version 1.0.
|
7
|
+
//
|
8
|
+
// See accompanying file LICENSE_1_0.txt or copy at
|
9
|
+
// http://www.boost.org/LICENSE_1_0.txt
|
10
|
+
|
11
|
+
#include <boost/mp11/algorithm.hpp>
|
12
|
+
#include <boost/mp11/utility.hpp>
|
13
|
+
#include <cstddef>
|
14
|
+
|
15
|
+
namespace boost
|
16
|
+
{
|
17
|
+
namespace mp11
|
18
|
+
{
|
19
|
+
|
20
|
+
// mp_bind_front
|
21
|
+
template<template<class...> class F, class... T> struct mp_bind_front
|
22
|
+
{
|
23
|
+
// the indirection through mp_defer works around the language inability
|
24
|
+
// to expand U... into a fixed parameter list of an alias template
|
25
|
+
|
26
|
+
template<class... U> using fn = typename mp_defer<F, T..., U...>::type;
|
27
|
+
};
|
28
|
+
|
29
|
+
template<class Q, class... T> using mp_bind_front_q = mp_bind_front<Q::template fn, T...>;
|
30
|
+
|
31
|
+
// mp_bind_back
|
32
|
+
template<template<class...> class F, class... T> struct mp_bind_back
|
33
|
+
{
|
34
|
+
template<class... U> using fn = typename mp_defer<F, U..., T...>::type;
|
35
|
+
};
|
36
|
+
|
37
|
+
template<class Q, class... T> using mp_bind_back_q = mp_bind_back<Q::template fn, T...>;
|
38
|
+
|
39
|
+
// mp_arg
|
40
|
+
template<std::size_t I> struct mp_arg
|
41
|
+
{
|
42
|
+
template<class... T> using fn = mp_at_c<mp_list<T...>, I>;
|
43
|
+
};
|
44
|
+
|
45
|
+
using _1 = mp_arg<0>;
|
46
|
+
using _2 = mp_arg<1>;
|
47
|
+
using _3 = mp_arg<2>;
|
48
|
+
using _4 = mp_arg<3>;
|
49
|
+
using _5 = mp_arg<4>;
|
50
|
+
using _6 = mp_arg<5>;
|
51
|
+
using _7 = mp_arg<6>;
|
52
|
+
using _8 = mp_arg<7>;
|
53
|
+
using _9 = mp_arg<8>;
|
54
|
+
|
55
|
+
// mp_bind
|
56
|
+
template<template<class...> class F, class... T> struct mp_bind;
|
57
|
+
|
58
|
+
namespace detail
|
59
|
+
{
|
60
|
+
|
61
|
+
template<class V, class... T> struct eval_bound_arg
|
62
|
+
{
|
63
|
+
using type = V;
|
64
|
+
};
|
65
|
+
|
66
|
+
template<std::size_t I, class... T> struct eval_bound_arg<mp_arg<I>, T...>
|
67
|
+
{
|
68
|
+
using type = typename mp_arg<I>::template fn<T...>;
|
69
|
+
};
|
70
|
+
|
71
|
+
template<template<class...> class F, class... U, class... T> struct eval_bound_arg<mp_bind<F, U...>, T...>
|
72
|
+
{
|
73
|
+
using type = typename mp_bind<F, U...>::template fn<T...>;
|
74
|
+
};
|
75
|
+
|
76
|
+
template<template<class...> class F, class... U, class... T> struct eval_bound_arg<mp_bind_front<F, U...>, T...>
|
77
|
+
{
|
78
|
+
using type = typename mp_bind_front<F, U...>::template fn<T...>;
|
79
|
+
};
|
80
|
+
|
81
|
+
template<template<class...> class F, class... U, class... T> struct eval_bound_arg<mp_bind_back<F, U...>, T...>
|
82
|
+
{
|
83
|
+
using type = typename mp_bind_back<F, U...>::template fn<T...>;
|
84
|
+
};
|
85
|
+
|
86
|
+
} // namespace detail
|
87
|
+
|
88
|
+
template<template<class...> class F, class... T> struct mp_bind
|
89
|
+
{
|
90
|
+
#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, == 1915 )
|
91
|
+
private:
|
92
|
+
|
93
|
+
template<class... U> struct _f { using type = F<typename detail::eval_bound_arg<T, U...>::type...>; };
|
94
|
+
|
95
|
+
public:
|
96
|
+
|
97
|
+
template<class... U> using fn = typename _f<U...>::type;
|
98
|
+
|
99
|
+
#else
|
100
|
+
|
101
|
+
template<class... U> using fn = F<typename detail::eval_bound_arg<T, U...>::type...>;
|
102
|
+
|
103
|
+
#endif
|
104
|
+
};
|
105
|
+
|
106
|
+
template<class Q, class... T> using mp_bind_q = mp_bind<Q::template fn, T...>;
|
107
|
+
|
108
|
+
} // namespace mp11
|
109
|
+
} // namespace boost
|
110
|
+
|
111
|
+
#endif // #ifndef BOOST_MP11_BIND_HPP_INCLUDED
|
data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/int_float_mixture.hpp
CHANGED
@@ -16,15 +16,15 @@
|
|
16
16
|
#include "boost/numeric/conversion/int_float_mixture_enum.hpp"
|
17
17
|
#include "boost/numeric/conversion/detail/meta.hpp"
|
18
18
|
|
19
|
-
#include "boost/
|
19
|
+
#include "boost/type_traits/integral_constant.hpp"
|
20
20
|
|
21
21
|
namespace boost { namespace numeric { namespace convdetail
|
22
22
|
{
|
23
23
|
// Integral Constants for 'IntFloatMixture'
|
24
|
-
typedef
|
25
|
-
typedef
|
26
|
-
typedef
|
27
|
-
typedef
|
24
|
+
typedef boost::integral_constant<int_float_mixture_enum, integral_to_integral> int2int_c ;
|
25
|
+
typedef boost::integral_constant<int_float_mixture_enum, integral_to_float> int2float_c ;
|
26
|
+
typedef boost::integral_constant<int_float_mixture_enum, float_to_integral> float2int_c ;
|
27
|
+
typedef boost::integral_constant<int_float_mixture_enum, float_to_float> float2float_c ;
|
28
28
|
|
29
29
|
// Metafunction:
|
30
30
|
//
|
@@ -16,15 +16,15 @@
|
|
16
16
|
#include "boost/numeric/conversion/sign_mixture_enum.hpp"
|
17
17
|
#include "boost/numeric/conversion/detail/meta.hpp"
|
18
18
|
|
19
|
-
#include "boost/
|
19
|
+
#include "boost/type_traits/integral_constant.hpp"
|
20
20
|
|
21
21
|
namespace boost { namespace numeric { namespace convdetail
|
22
22
|
{
|
23
23
|
// Integral Constants for 'SignMixture'
|
24
|
-
typedef
|
25
|
-
typedef
|
26
|
-
typedef
|
27
|
-
typedef
|
24
|
+
typedef boost::integral_constant<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
|
25
|
+
typedef boost::integral_constant<sign_mixture_enum, signed_to_signed> sig2sig_c ;
|
26
|
+
typedef boost::integral_constant<sign_mixture_enum, signed_to_unsigned> sig2unsig_c ;
|
27
|
+
typedef boost::integral_constant<sign_mixture_enum, unsigned_to_signed> unsig2sig_c ;
|
28
28
|
|
29
29
|
// Metafunction:
|
30
30
|
//
|
data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/udt_builtin_mixture.hpp
CHANGED
@@ -15,15 +15,15 @@
|
|
15
15
|
#include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp"
|
16
16
|
#include "boost/numeric/conversion/detail/meta.hpp"
|
17
17
|
|
18
|
-
#include "boost/
|
18
|
+
#include "boost/type_traits/integral_constant.hpp"
|
19
19
|
|
20
20
|
namespace boost { namespace numeric { namespace convdetail
|
21
21
|
{
|
22
22
|
// Integral Constants for 'UdtMixture'
|
23
|
-
typedef
|
24
|
-
typedef
|
25
|
-
typedef
|
26
|
-
typedef
|
23
|
+
typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
|
24
|
+
typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_udt> builtin2udt_c ;
|
25
|
+
typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_builtin> udt2builtin_c ;
|
26
|
+
typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_udt> udt2udt_c ;
|
27
27
|
|
28
28
|
// Metafunction:
|
29
29
|
//
|
@@ -17,10 +17,14 @@
|
|
17
17
|
# /* BOOST_PP_VARIADIC_HAS_OPT */
|
18
18
|
#
|
19
19
|
# if defined(__cplusplus) && __cplusplus > 201703L
|
20
|
-
#
|
21
|
-
#
|
20
|
+
# if defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 8 && __GNUC__ < 10
|
21
|
+
# define BOOST_PP_VARIADIC_HAS_OPT() 0
|
22
|
+
# else
|
23
|
+
# include <boost/preprocessor/variadic/detail/has_opt.hpp>
|
24
|
+
# define BOOST_PP_VARIADIC_HAS_OPT() \
|
22
25
|
BOOST_PP_VARIADIC_HAS_OPT_ELEM2(BOOST_PP_VARIADIC_HAS_OPT_FUNCTION(?),) \
|
23
26
|
/**/
|
27
|
+
# endif
|
24
28
|
# else
|
25
29
|
# define BOOST_PP_VARIADIC_HAS_OPT() 0
|
26
30
|
# endif
|
@@ -30,7 +30,16 @@ class spinlock
|
|
30
30
|
{
|
31
31
|
public:
|
32
32
|
|
33
|
-
|
33
|
+
// `bool` alignment is required for Apple PPC32
|
34
|
+
// https://github.com/boostorg/smart_ptr/issues/105
|
35
|
+
// https://github.com/PurpleI2P/i2pd/issues/1726
|
36
|
+
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107590
|
37
|
+
|
38
|
+
union
|
39
|
+
{
|
40
|
+
unsigned char v_;
|
41
|
+
bool align_;
|
42
|
+
};
|
34
43
|
|
35
44
|
public:
|
36
45
|
|
@@ -80,6 +89,6 @@ public:
|
|
80
89
|
} // namespace detail
|
81
90
|
} // namespace boost
|
82
91
|
|
83
|
-
#define BOOST_DETAIL_SPINLOCK_INIT {0}
|
92
|
+
#define BOOST_DETAIL_SPINLOCK_INIT {{0}}
|
84
93
|
|
85
94
|
#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ATOMIC_HPP_INCLUDED
|
@@ -245,7 +245,7 @@ template<class T, class U> inline bool operator!=(T * a, intrusive_ptr<U> const
|
|
245
245
|
return a != b.get();
|
246
246
|
}
|
247
247
|
|
248
|
-
#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
|
248
|
+
#if defined(__GNUC__) && __GNUC__ == 2 && __GNUC_MINOR__ <= 96
|
249
249
|
|
250
250
|
// Resolve the ambiguity between our op!= and the one in rel_ops
|
251
251
|
|
@@ -12,8 +12,14 @@
|
|
12
12
|
#include <boost/config/workaround.hpp>
|
13
13
|
|
14
14
|
// BOOST_SYSTEM_HAS_SYSTEM_ERROR
|
15
|
+
//
|
16
|
+
// The macro BOOST_SYSTEM_DISABLE_THREADS can be defined on configurations
|
17
|
+
// that provide <system_error> and <atomic>, but not <mutex>, such as the
|
18
|
+
// single-threaded libstdc++.
|
19
|
+
//
|
20
|
+
// https://github.com/boostorg/system/issues/92
|
15
21
|
|
16
|
-
#if !defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_CXX11_HDR_ATOMIC) && !defined(BOOST_NO_CXX11_HDR_MUTEX)
|
22
|
+
#if !defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_CXX11_HDR_ATOMIC) && ( !defined(BOOST_NO_CXX11_HDR_MUTEX) || defined(BOOST_SYSTEM_DISABLE_THREADS) )
|
17
23
|
# define BOOST_SYSTEM_HAS_SYSTEM_ERROR
|
18
24
|
#endif
|
19
25
|
|
@@ -48,7 +48,7 @@ class std_category;
|
|
48
48
|
#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
|
49
49
|
#endif
|
50
50
|
|
51
|
-
#if defined(BOOST_MSVC)
|
51
|
+
#if defined(BOOST_MSVC) && BOOST_MSVC < 1900
|
52
52
|
#pragma warning(push)
|
53
53
|
#pragma warning(disable: 4351) // new behavior: elements of array will be default initialized
|
54
54
|
#endif
|
@@ -183,7 +183,7 @@ public:
|
|
183
183
|
#endif
|
184
184
|
};
|
185
185
|
|
186
|
-
#if defined(BOOST_MSVC)
|
186
|
+
#if defined(BOOST_MSVC) && BOOST_MSVC < 1900
|
187
187
|
#pragma warning(pop)
|
188
188
|
#endif
|
189
189
|
|