passenger 6.0.19 → 6.0.21
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.
- checksums.yaml +4 -4
- data/CHANGELOG +65 -3
- data/CONTRIBUTORS +2 -0
- data/README.md +2 -2
- data/bin/passenger-install-nginx-module +4 -4
- data/build/integration_tests.rb +2 -1
- data/build/support/cxx_dependency_map.rb +155 -54
- data/dev/copy_boost_headers +21 -7
- data/dev/nginx_version_sha256 +72 -0
- data/package.json +15 -15
- data/src/agent/AgentMain.cpp +2 -8
- data/src/agent/Core/AdminPanelConnector.h +2 -3
- data/src/agent/Core/ApiServer.h +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +8 -1
- data/src/agent/Core/Config.h +6 -3
- data/src/agent/Core/Controller/AppResponse.h +0 -1
- data/src/agent/Core/Controller/Config.h +2 -2
- data/src/agent/Core/Controller/SendRequest.cpp +2 -2
- data/src/agent/Core/CoreMain.cpp +1 -0
- data/src/agent/Core/ResponseCache.h +3 -2
- data/src/agent/Core/SecurityUpdateChecker.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +4 -4
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +2 -2
- data/src/agent/ExecHelper/ExecHelperMain.cpp +10 -12
- data/src/agent/FileReadHelper/FileReadHelperMain.cpp +7 -10
- data/src/agent/MainFunctions.h +38 -0
- data/src/agent/Shared/ApiServerUtils.h +3 -2
- data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +2 -3
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -0
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +6 -4
- data/src/agent/Watchdog/ApiServer.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +5 -12
- data/src/apache2_module/Hooks.cpp +26 -1
- data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +10 -1
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +2 -6
- data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
- data/src/cxx_supportlib/JsonTools/CBindings.cpp +0 -2
- data/src/cxx_supportlib/JsonTools/JsonUtils.h +4 -4
- data/src/cxx_supportlib/LoggingKit/Context.h +16 -21
- data/src/cxx_supportlib/LoggingKit/Forward.h +0 -2
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +36 -72
- data/src/cxx_supportlib/MemoryKit/mbuf.cpp +12 -4
- data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
- data/src/cxx_supportlib/ResourceLocator.h +1 -1
- data/src/cxx_supportlib/SecurityKit/Crypto.cpp +3 -94
- data/src/cxx_supportlib/SecurityKit/Crypto.h +0 -8
- data/src/cxx_supportlib/ServerKit/Context.h +6 -0
- data/src/cxx_supportlib/ServerKit/Errors.h +3 -2
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +99 -64
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +4 -1
- data/src/cxx_supportlib/ServerKit/HttpRequest.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpServer.h +3 -2
- data/src/cxx_supportlib/ServerKit/llerrors.h +84 -0
- data/src/cxx_supportlib/ServerKit/llhttp.c +10168 -0
- data/src/cxx_supportlib/ServerKit/llhttp.h +903 -0
- data/src/cxx_supportlib/ServerKit/llhttp_api.c +510 -0
- data/src/cxx_supportlib/ServerKit/llhttp_http.c +170 -0
- data/src/cxx_supportlib/ServerKit/llversion.h +12 -0
- data/src/cxx_supportlib/ServerKit/url_parser.c +574 -0
- data/src/cxx_supportlib/ServerKit/url_parser.h +74 -0
- data/src/cxx_supportlib/StaticString.h +3 -1
- data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +12 -3
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +5 -0
- data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +2 -2
- data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +14 -14
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +6 -10
- data/src/cxx_supportlib/Utils/AnsiColorConstants.h +11 -9
- data/src/cxx_supportlib/Utils.cpp +1 -1
- data/src/cxx_supportlib/oxt/implementation.cpp +1 -2
- data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +26 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +194 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +34 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +10 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +21 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +26 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +26 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +30 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +282 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +178 -863
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +64 -98
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +17 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +18 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +30 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +65 -96
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +20 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +36 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +31 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +73 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +34 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +108 -151
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +6 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +6 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +30 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +50 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +13 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +23 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +20 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +97 -299
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +97 -288
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +90 -288
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +551 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +365 -290
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +29 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +27 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +33 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +27 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +25 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +8 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +60 -272
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +52 -79
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +11 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +37 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +302 -262
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +12 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +5 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +21 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +129 -563
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +2 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +21 -97
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +155 -963
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +3 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +2 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +41 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +40 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +2 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +8 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +3 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +41 -104
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +9 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +101 -123
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +36 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +13 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +69 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +15 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +26 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +57 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +63 -5
- 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/impl/strand_executor_service.hpp +47 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +209 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +195 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +209 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +6 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +17 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +11 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +11 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +7 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +13 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +4 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +61 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +37 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +89 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +40 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +40 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +135 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +37 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +4 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +12 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +104 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +20 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +7 -117
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +36 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +34 -112
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +268 -991
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +296 -536
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +232 -409
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +20 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +30 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +24 -170
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +2 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +240 -398
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +20 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +149 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +56 -59
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +149 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +1 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +1 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +59 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +56 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +20 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +56 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +56 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +25 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp +10 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_message.hpp +27 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +193 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp +143 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +24 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +77 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +20 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +50 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +46 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +33 -96
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp +62 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +48 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +56 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +18 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +27 -31
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +15 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +10 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +10 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +37 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +99 -107
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +66 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +55 -178
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +55 -178
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +123 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +84 -234
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +32 -97
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +73 -31
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +5 -58
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +3 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +60 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +39 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +36 -98
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +206 -429
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +60 -206
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +456 -970
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +43 -411
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +207 -423
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +19 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +32 -109
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +79 -425
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +213 -427
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +58 -194
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +91 -120
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +33 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +26 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +28 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +13 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +16 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +33 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +13 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +15 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +26 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +46 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +9 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +18 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +9 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +24 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +29 -105
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +21 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +24 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +36 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +176 -333
- data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +11 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +57 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +136 -168
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +35 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +256 -298
- data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +35 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +108 -246
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +70 -79
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +173 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +127 -161
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +3 -7
- 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/detail/io.hpp +16 -75
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +15 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +51 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +91 -118
- data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +62 -62
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +35 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +91 -273
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +15 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +20 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +22 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +22 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +6 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +15 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +8 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +122 -146
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +34 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -28
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +2 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +107 -40
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +32 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +7 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +26 -27
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +122 -35
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +2 -60
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +230 -1740
- data/src/cxx_supportlib/vendor-modified/boost/bind/{bind_cc.hpp → detail/bind_cc.hpp} +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf2_cc.hpp +210 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf_cc.hpp +405 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/integer_sequence.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/result_traits.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/tuple_for_each.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +140 -290
- data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +3 -16
- data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +0 -279
- data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/is_evenly_divisible_by.hpp +1 -7
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/requires_cxx11.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_get.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io_v1/chrono_io.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +27 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +144 -145
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +48 -49
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +14 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +71 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +48 -48
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +165 -153
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +162 -163
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +48 -12
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +6 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +44 -46
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +83 -84
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +77 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +81 -85
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +231 -233
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +86 -86
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +107 -110
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +9 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +29 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +80 -82
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +81 -81
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +24 -26
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +147 -122
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +109 -110
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +32 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +165 -194
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +263 -199
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_integral.hpp +146 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +296 -61
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +62 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +38 -124
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +27 -20
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +8 -40
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/core/alignof.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +22 -8
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +362 -31
- data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +29 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/is_same.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/lwt_unattended.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/{smart_ptr → core}/detail/sp_thread_sleep.hpp +39 -21
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_yield.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/functor.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/identity.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/invoke_swap.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/is_same.hpp +10 -15
- data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +33 -36
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/make_span.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/max_align.hpp +82 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/memory_resource.hpp +108 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +23 -16
- data/src/cxx_supportlib/vendor-modified/boost/core/serialization.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/snprintf.hpp +173 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +10 -40
- data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +29 -5
- data/src/cxx_supportlib/vendor-modified/boost/core/yield_primitives.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/members.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -6
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +6 -97
- data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +22 -10
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/requires_cxx11.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +49 -198
- data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +277 -420
- data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -61
- data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +65 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +14 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +277 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +11 -49
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_integral.hpp +119 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_mix.hpp +130 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +41 -41
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +14 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +6 -17
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +58 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +268 -239
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +57 -58
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +14 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +61 -62
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +36 -37
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +37 -34
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +7 -13
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +113 -131
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +612 -645
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +85 -79
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +25 -32
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +22 -29
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +21 -16
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +22 -161
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +9 -12
- data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/chrono.cpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/process_cpu_clocks.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/thread_clock.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +10 -18
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +13 -14
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +24 -14
- data/src/cxx_supportlib/vendor-modified/boost/limits.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +20 -19
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +41 -56
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +32 -34
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +65 -24
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +72 -23
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +81 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +65 -66
- data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +97 -17
- data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/config.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_append.hpp +140 -4
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_defer.hpp +119 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +108 -4
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_front.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_is_value_list.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_list_v.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_plus.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_rename.hpp +18 -5
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_value.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +180 -3
- data/src/cxx_supportlib/vendor-modified/boost/mp11/utility.hpp +2 -96
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +3 -44
- data/src/cxx_supportlib/vendor-modified/boost/nondet_random.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/unmatched_argument.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/overloads.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tag.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/void.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/parameter/match.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/template_keyword.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msvc.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +203 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +4 -82
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/gcd_lcm.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_evenly_divisible_by.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_ratio.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/include.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +5 -249
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +30 -56
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_io.hpp +0 -533
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +2 -11
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -11
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/enable_if.hpp +3 -12
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +14 -50
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +16 -55
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +62 -124
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +29 -52
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +3 -13
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/mutex.hpp +128 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +1 -46
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category.hpp +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category_impl.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_message.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +1 -24
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +1 -14
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +1 -14
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +2 -12
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +0 -16
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +0 -19
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +2 -26
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +1 -18
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +1 -14
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_to_unsigned.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_trim.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_swappable_cxx_11.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_swappable.hpp +4 -24
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_swappable.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +1 -10
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +2 -15
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +4 -51
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +2 -46
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +2 -29
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +4 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +2 -19
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +2 -12
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +8 -202
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +860 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +716 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocator_constructed.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/archive_constructed.hpp +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/bad_archive_exception.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +120 -85
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +1764 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +2271 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/ignore_wshadow.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +204 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +139 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/reentrancy_check.hpp +138 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/restore_wshadow.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/rw_spinlock.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +651 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/tuple_rotate_right.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +356 -1118
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/mulx.hpp +129 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/opt_storage.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +96 -150
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialization_version.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_container.hpp +204 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_fca_container.hpp +156 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_tracked_address.hpp +104 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/static_assert.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/throw_exception.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +136 -19
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +171 -103
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +70 -46
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +406 -899
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +7 -13
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +895 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +699 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +253 -618
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +8 -14
- data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +2 -9
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +14 -20
- data/src/helper-scripts/wsgi-loader.py +2 -2
- data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +2 -2
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +16 -5
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +10 -7
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +8 -10
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +14 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +4 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +6 -6
- data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +11 -12
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +4 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- metadata +109 -150
- data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2265
- data/src/cxx_supportlib/ServerKit/http_parser.h +0 -330
- data/src/cxx_supportlib/vendor-modified/boost/array.hpp +0 -456
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +0 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +0 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +0 -216
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +0 -294
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +0 -406
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +0 -1254
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +0 -498
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +0 -111
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +0 -263
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +0 -235
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +0 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +0 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +0 -287
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +0 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +0 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +0 -318
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +0 -259
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +0 -259
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +0 -492
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +0 -256
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +0 -459
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +0 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +0 -300
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +0 -275
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +0 -300
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +0 -236
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +0 -236
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +0 -495
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +0 -462
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +0 -581
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +0 -563
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +0 -147
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_windows.hpp +0 -201
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_windows.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_windows.hpp +0 -57
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +0 -179
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf2_cc.hpp +0 -228
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +0 -441
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +0 -345
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_template.hpp +0 -1047
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +0 -475
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/hash_table.hpp +0 -1278
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple.hpp +0 -133
- data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/function_iterate.hpp +0 -16
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +0 -369
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/prologue.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +0 -124
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +0 -126
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +0 -367
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/ratio_io.hpp +0 -1342
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/abs.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/arithmetic.hpp +0 -22
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/comparison.hpp +0 -19
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/divides.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/equal_to.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/gcd.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater_equal.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/lcm.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less_equal.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/minus.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/negate.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/not_equal_to.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/numeric_cast.hpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/plus.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_c_tag.hpp +0 -25
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_constant.hpp +0 -15
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/sign.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/times.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_thread_pause.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +0 -278
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +0 -297
- data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +0 -265
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -58
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +0 -118
- data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/typeof/message.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +0 -121
- data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +0 -50
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +0 -321
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +0 -471
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +0 -621
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa.hpp +0 -1921
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +0 -64
- /data/dev/{webpacketpp.patch → websocketpp.patch} +0 -0
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
#ifndef BOOST_FUNCTION_FUNCTION_TEMPLATE_HPP_INCLUDED
|
|
2
|
+
#define BOOST_FUNCTION_FUNCTION_TEMPLATE_HPP_INCLUDED
|
|
3
|
+
|
|
1
4
|
// Boost.Function library
|
|
2
5
|
|
|
3
6
|
// Copyright Douglas Gregor 2001-2006
|
|
@@ -8,125 +11,65 @@
|
|
|
8
11
|
|
|
9
12
|
// For more information, see http://www.boost.org
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
// protection.
|
|
13
|
-
#include <boost/function/detail/prologue.hpp>
|
|
14
|
+
#include <boost/function/function_base.hpp>
|
|
14
15
|
#include <boost/core/no_exceptions_support.hpp>
|
|
16
|
+
#include <boost/mem_fn.hpp>
|
|
17
|
+
#include <boost/throw_exception.hpp>
|
|
18
|
+
#include <boost/type_traits/is_integral.hpp>
|
|
19
|
+
#include <boost/type_traits/is_void.hpp>
|
|
20
|
+
#include <boost/config.hpp>
|
|
21
|
+
#include <algorithm>
|
|
22
|
+
#include <cassert>
|
|
15
23
|
|
|
16
24
|
#if defined(BOOST_MSVC)
|
|
17
25
|
# pragma warning( push )
|
|
18
26
|
# pragma warning( disable : 4127 ) // "conditional expression is constant"
|
|
19
27
|
#endif
|
|
20
28
|
|
|
21
|
-
#define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
|
|
22
|
-
|
|
23
|
-
#define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
|
|
24
|
-
|
|
25
|
-
#define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
|
|
26
|
-
|
|
27
|
-
#define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
|
|
28
|
-
|
|
29
|
-
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
|
|
30
|
-
# define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
|
|
31
|
-
#else
|
|
32
|
-
# define BOOST_FUNCTION_ARG(J,I,D) static_cast<BOOST_PP_CAT(T,I)&&>(BOOST_PP_CAT(a,I))
|
|
33
|
-
# define BOOST_FUNCTION_ARGS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG,BOOST_PP_EMPTY)
|
|
34
|
-
#endif
|
|
35
|
-
|
|
36
|
-
#define BOOST_FUNCTION_ARG_TYPE(J,I,D) \
|
|
37
|
-
typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(BOOST_PP_CAT(arg, BOOST_PP_INC(I)),_type);
|
|
38
|
-
|
|
39
|
-
#define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
|
|
40
|
-
|
|
41
|
-
// Comma if nonzero number of arguments
|
|
42
|
-
#if BOOST_FUNCTION_NUM_ARGS == 0
|
|
43
|
-
# define BOOST_FUNCTION_COMMA
|
|
44
|
-
#else
|
|
45
|
-
# define BOOST_FUNCTION_COMMA ,
|
|
46
|
-
#endif // BOOST_FUNCTION_NUM_ARGS > 0
|
|
47
|
-
|
|
48
|
-
// Class names used in this version of the code
|
|
49
|
-
#define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
|
|
50
|
-
#define BOOST_FUNCTION_FUNCTION_INVOKER \
|
|
51
|
-
BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
52
|
-
#define BOOST_FUNCTION_VOID_FUNCTION_INVOKER \
|
|
53
|
-
BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
54
|
-
#define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER \
|
|
55
|
-
BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
56
|
-
#define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER \
|
|
57
|
-
BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
58
|
-
#define BOOST_FUNCTION_FUNCTION_REF_INVOKER \
|
|
59
|
-
BOOST_JOIN(function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
60
|
-
#define BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \
|
|
61
|
-
BOOST_JOIN(void_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
62
|
-
#define BOOST_FUNCTION_MEMBER_INVOKER \
|
|
63
|
-
BOOST_JOIN(function_mem_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
64
|
-
#define BOOST_FUNCTION_VOID_MEMBER_INVOKER \
|
|
65
|
-
BOOST_JOIN(function_void_mem_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
66
|
-
#define BOOST_FUNCTION_GET_FUNCTION_INVOKER \
|
|
67
|
-
BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
68
|
-
#define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \
|
|
69
|
-
BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
70
|
-
#define BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER \
|
|
71
|
-
BOOST_JOIN(get_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
72
|
-
#define BOOST_FUNCTION_GET_MEMBER_INVOKER \
|
|
73
|
-
BOOST_JOIN(get_member_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
74
|
-
#define BOOST_FUNCTION_GET_INVOKER \
|
|
75
|
-
BOOST_JOIN(get_invoker,BOOST_FUNCTION_NUM_ARGS)
|
|
76
|
-
#define BOOST_FUNCTION_VTABLE BOOST_JOIN(basic_vtable,BOOST_FUNCTION_NUM_ARGS)
|
|
77
|
-
|
|
78
|
-
#ifndef BOOST_NO_VOID_RETURNS
|
|
79
|
-
# define BOOST_FUNCTION_VOID_RETURN_TYPE void
|
|
80
|
-
# define BOOST_FUNCTION_RETURN(X) X
|
|
81
|
-
#else
|
|
82
|
-
# define BOOST_FUNCTION_VOID_RETURN_TYPE boost::detail::function::unusable
|
|
83
|
-
# define BOOST_FUNCTION_RETURN(X) X; return BOOST_FUNCTION_VOID_RETURN_TYPE ()
|
|
84
|
-
#endif
|
|
85
|
-
|
|
86
29
|
namespace boost {
|
|
87
30
|
namespace detail {
|
|
88
31
|
namespace function {
|
|
89
32
|
template<
|
|
90
33
|
typename FunctionPtr,
|
|
91
|
-
typename R
|
|
92
|
-
|
|
34
|
+
typename R,
|
|
35
|
+
typename... T
|
|
93
36
|
>
|
|
94
|
-
struct
|
|
37
|
+
struct function_invoker
|
|
95
38
|
{
|
|
96
|
-
static R invoke(function_buffer& function_ptr
|
|
97
|
-
|
|
39
|
+
static R invoke(function_buffer& function_ptr,
|
|
40
|
+
T... a)
|
|
98
41
|
{
|
|
99
42
|
FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.members.func_ptr);
|
|
100
|
-
return f(
|
|
43
|
+
return f(static_cast<T&&>(a)...);
|
|
101
44
|
}
|
|
102
45
|
};
|
|
103
46
|
|
|
104
47
|
template<
|
|
105
48
|
typename FunctionPtr,
|
|
106
|
-
typename R
|
|
107
|
-
|
|
49
|
+
typename R,
|
|
50
|
+
typename... T
|
|
108
51
|
>
|
|
109
|
-
struct
|
|
52
|
+
struct void_function_invoker
|
|
110
53
|
{
|
|
111
|
-
static
|
|
112
|
-
invoke(function_buffer& function_ptr
|
|
113
|
-
|
|
54
|
+
static void
|
|
55
|
+
invoke(function_buffer& function_ptr,
|
|
56
|
+
T... a)
|
|
114
57
|
|
|
115
58
|
{
|
|
116
59
|
FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.members.func_ptr);
|
|
117
|
-
|
|
60
|
+
f(static_cast<T&&>(a)...);
|
|
118
61
|
}
|
|
119
62
|
};
|
|
120
63
|
|
|
121
64
|
template<
|
|
122
65
|
typename FunctionObj,
|
|
123
|
-
typename R
|
|
124
|
-
|
|
66
|
+
typename R,
|
|
67
|
+
typename... T
|
|
125
68
|
>
|
|
126
|
-
struct
|
|
69
|
+
struct function_obj_invoker
|
|
127
70
|
{
|
|
128
|
-
static R invoke(function_buffer& function_obj_ptr
|
|
129
|
-
|
|
71
|
+
static R invoke(function_buffer& function_obj_ptr,
|
|
72
|
+
T... a)
|
|
130
73
|
|
|
131
74
|
{
|
|
132
75
|
FunctionObj* f;
|
|
@@ -134,20 +77,20 @@ namespace boost {
|
|
|
134
77
|
f = reinterpret_cast<FunctionObj*>(function_obj_ptr.data);
|
|
135
78
|
else
|
|
136
79
|
f = reinterpret_cast<FunctionObj*>(function_obj_ptr.members.obj_ptr);
|
|
137
|
-
return (*f)(
|
|
80
|
+
return (*f)(static_cast<T&&>(a)...);
|
|
138
81
|
}
|
|
139
82
|
};
|
|
140
83
|
|
|
141
84
|
template<
|
|
142
85
|
typename FunctionObj,
|
|
143
|
-
typename R
|
|
144
|
-
|
|
86
|
+
typename R,
|
|
87
|
+
typename... T
|
|
145
88
|
>
|
|
146
|
-
struct
|
|
89
|
+
struct void_function_obj_invoker
|
|
147
90
|
{
|
|
148
|
-
static
|
|
149
|
-
invoke(function_buffer& function_obj_ptr
|
|
150
|
-
|
|
91
|
+
static void
|
|
92
|
+
invoke(function_buffer& function_obj_ptr,
|
|
93
|
+
T... a)
|
|
151
94
|
|
|
152
95
|
{
|
|
153
96
|
FunctionObj* f;
|
|
@@ -155,169 +98,165 @@ namespace boost {
|
|
|
155
98
|
f = reinterpret_cast<FunctionObj*>(function_obj_ptr.data);
|
|
156
99
|
else
|
|
157
100
|
f = reinterpret_cast<FunctionObj*>(function_obj_ptr.members.obj_ptr);
|
|
158
|
-
|
|
101
|
+
(*f)(static_cast<T&&>(a)...);
|
|
159
102
|
}
|
|
160
103
|
};
|
|
161
104
|
|
|
162
105
|
template<
|
|
163
106
|
typename FunctionObj,
|
|
164
|
-
typename R
|
|
165
|
-
|
|
107
|
+
typename R,
|
|
108
|
+
typename... T
|
|
166
109
|
>
|
|
167
|
-
struct
|
|
110
|
+
struct function_ref_invoker
|
|
168
111
|
{
|
|
169
|
-
static R invoke(function_buffer& function_obj_ptr
|
|
170
|
-
|
|
112
|
+
static R invoke(function_buffer& function_obj_ptr,
|
|
113
|
+
T... a)
|
|
171
114
|
|
|
172
115
|
{
|
|
173
116
|
FunctionObj* f =
|
|
174
117
|
reinterpret_cast<FunctionObj*>(function_obj_ptr.members.obj_ptr);
|
|
175
|
-
return (*f)(
|
|
118
|
+
return (*f)(static_cast<T&&>(a)...);
|
|
176
119
|
}
|
|
177
120
|
};
|
|
178
121
|
|
|
179
122
|
template<
|
|
180
123
|
typename FunctionObj,
|
|
181
|
-
typename R
|
|
182
|
-
|
|
124
|
+
typename R,
|
|
125
|
+
typename... T
|
|
183
126
|
>
|
|
184
|
-
struct
|
|
127
|
+
struct void_function_ref_invoker
|
|
185
128
|
{
|
|
186
|
-
static
|
|
187
|
-
invoke(function_buffer& function_obj_ptr
|
|
188
|
-
|
|
129
|
+
static void
|
|
130
|
+
invoke(function_buffer& function_obj_ptr,
|
|
131
|
+
T... a)
|
|
189
132
|
|
|
190
133
|
{
|
|
191
134
|
FunctionObj* f =
|
|
192
135
|
reinterpret_cast<FunctionObj*>(function_obj_ptr.members.obj_ptr);
|
|
193
|
-
|
|
136
|
+
(*f)(static_cast<T&&>(a)...);
|
|
194
137
|
}
|
|
195
138
|
};
|
|
196
139
|
|
|
197
|
-
#if BOOST_FUNCTION_NUM_ARGS > 0
|
|
198
140
|
/* Handle invocation of member pointers. */
|
|
199
141
|
template<
|
|
200
142
|
typename MemberPtr,
|
|
201
|
-
typename R
|
|
202
|
-
|
|
143
|
+
typename R,
|
|
144
|
+
typename... T
|
|
203
145
|
>
|
|
204
|
-
struct
|
|
146
|
+
struct member_invoker
|
|
205
147
|
{
|
|
206
|
-
static R invoke(function_buffer& function_obj_ptr
|
|
207
|
-
|
|
148
|
+
static R invoke(function_buffer& function_obj_ptr,
|
|
149
|
+
T... a)
|
|
208
150
|
|
|
209
151
|
{
|
|
210
152
|
MemberPtr* f =
|
|
211
153
|
reinterpret_cast<MemberPtr*>(function_obj_ptr.data);
|
|
212
|
-
return boost::mem_fn(*f)(
|
|
154
|
+
return boost::mem_fn(*f)(static_cast<T&&>(a)...);
|
|
213
155
|
}
|
|
214
156
|
};
|
|
215
157
|
|
|
216
158
|
template<
|
|
217
159
|
typename MemberPtr,
|
|
218
|
-
typename R
|
|
219
|
-
|
|
160
|
+
typename R,
|
|
161
|
+
typename... T
|
|
220
162
|
>
|
|
221
|
-
struct
|
|
163
|
+
struct void_member_invoker
|
|
222
164
|
{
|
|
223
|
-
static
|
|
224
|
-
invoke(function_buffer& function_obj_ptr
|
|
225
|
-
|
|
165
|
+
static void
|
|
166
|
+
invoke(function_buffer& function_obj_ptr,
|
|
167
|
+
T... a)
|
|
226
168
|
|
|
227
169
|
{
|
|
228
170
|
MemberPtr* f =
|
|
229
171
|
reinterpret_cast<MemberPtr*>(function_obj_ptr.data);
|
|
230
|
-
|
|
172
|
+
boost::mem_fn(*f)(static_cast<T&&>(a)...);
|
|
231
173
|
}
|
|
232
174
|
};
|
|
233
|
-
#endif
|
|
234
175
|
|
|
235
176
|
template<
|
|
236
177
|
typename FunctionPtr,
|
|
237
|
-
typename R
|
|
238
|
-
|
|
178
|
+
typename R,
|
|
179
|
+
typename... T
|
|
239
180
|
>
|
|
240
|
-
struct
|
|
181
|
+
struct get_function_invoker
|
|
241
182
|
{
|
|
242
183
|
typedef typename conditional<(is_void<R>::value),
|
|
243
|
-
|
|
184
|
+
void_function_invoker<
|
|
244
185
|
FunctionPtr,
|
|
245
|
-
R
|
|
246
|
-
|
|
186
|
+
R,
|
|
187
|
+
T...
|
|
247
188
|
>,
|
|
248
|
-
|
|
189
|
+
function_invoker<
|
|
249
190
|
FunctionPtr,
|
|
250
|
-
R
|
|
251
|
-
|
|
191
|
+
R,
|
|
192
|
+
T...
|
|
252
193
|
>
|
|
253
194
|
>::type type;
|
|
254
195
|
};
|
|
255
196
|
|
|
256
197
|
template<
|
|
257
198
|
typename FunctionObj,
|
|
258
|
-
typename R
|
|
259
|
-
|
|
199
|
+
typename R,
|
|
200
|
+
typename... T
|
|
260
201
|
>
|
|
261
|
-
struct
|
|
202
|
+
struct get_function_obj_invoker
|
|
262
203
|
{
|
|
263
204
|
typedef typename conditional<(is_void<R>::value),
|
|
264
|
-
|
|
205
|
+
void_function_obj_invoker<
|
|
265
206
|
FunctionObj,
|
|
266
|
-
R
|
|
267
|
-
|
|
207
|
+
R,
|
|
208
|
+
T...
|
|
268
209
|
>,
|
|
269
|
-
|
|
210
|
+
function_obj_invoker<
|
|
270
211
|
FunctionObj,
|
|
271
|
-
R
|
|
272
|
-
|
|
212
|
+
R,
|
|
213
|
+
T...
|
|
273
214
|
>
|
|
274
215
|
>::type type;
|
|
275
216
|
};
|
|
276
217
|
|
|
277
218
|
template<
|
|
278
219
|
typename FunctionObj,
|
|
279
|
-
typename R
|
|
280
|
-
|
|
220
|
+
typename R,
|
|
221
|
+
typename... T
|
|
281
222
|
>
|
|
282
|
-
struct
|
|
223
|
+
struct get_function_ref_invoker
|
|
283
224
|
{
|
|
284
225
|
typedef typename conditional<(is_void<R>::value),
|
|
285
|
-
|
|
226
|
+
void_function_ref_invoker<
|
|
286
227
|
FunctionObj,
|
|
287
|
-
R
|
|
288
|
-
|
|
228
|
+
R,
|
|
229
|
+
T...
|
|
289
230
|
>,
|
|
290
|
-
|
|
231
|
+
function_ref_invoker<
|
|
291
232
|
FunctionObj,
|
|
292
|
-
R
|
|
293
|
-
|
|
233
|
+
R,
|
|
234
|
+
T...
|
|
294
235
|
>
|
|
295
236
|
>::type type;
|
|
296
237
|
};
|
|
297
238
|
|
|
298
|
-
#if BOOST_FUNCTION_NUM_ARGS > 0
|
|
299
239
|
/* Retrieve the appropriate invoker for a member pointer. */
|
|
300
240
|
template<
|
|
301
241
|
typename MemberPtr,
|
|
302
|
-
typename R
|
|
303
|
-
|
|
242
|
+
typename R,
|
|
243
|
+
typename... T
|
|
304
244
|
>
|
|
305
|
-
struct
|
|
245
|
+
struct get_member_invoker
|
|
306
246
|
{
|
|
307
247
|
typedef typename conditional<(is_void<R>::value),
|
|
308
|
-
|
|
248
|
+
void_member_invoker<
|
|
309
249
|
MemberPtr,
|
|
310
|
-
R
|
|
311
|
-
|
|
250
|
+
R,
|
|
251
|
+
T...
|
|
312
252
|
>,
|
|
313
|
-
|
|
253
|
+
member_invoker<
|
|
314
254
|
MemberPtr,
|
|
315
|
-
R
|
|
316
|
-
|
|
255
|
+
R,
|
|
256
|
+
T...
|
|
317
257
|
>
|
|
318
258
|
>::type type;
|
|
319
259
|
};
|
|
320
|
-
#endif
|
|
321
260
|
|
|
322
261
|
/* Given the tag returned by get_function_tag, retrieve the
|
|
323
262
|
actual invoker that will be used for the given function
|
|
@@ -329,20 +268,20 @@ namespace boost {
|
|
|
329
268
|
contains two typedefs, "invoker_type" and "manager_type",
|
|
330
269
|
which correspond to the invoker and manager types. */
|
|
331
270
|
template<typename Tag>
|
|
332
|
-
struct
|
|
271
|
+
struct get_invoker { };
|
|
333
272
|
|
|
334
273
|
/* Retrieve the invoker for a function pointer. */
|
|
335
274
|
template<>
|
|
336
|
-
struct
|
|
275
|
+
struct get_invoker<function_ptr_tag>
|
|
337
276
|
{
|
|
338
277
|
template<typename FunctionPtr,
|
|
339
|
-
typename R
|
|
278
|
+
typename R, typename... T>
|
|
340
279
|
struct apply
|
|
341
280
|
{
|
|
342
|
-
typedef typename
|
|
281
|
+
typedef typename get_function_invoker<
|
|
343
282
|
FunctionPtr,
|
|
344
|
-
R
|
|
345
|
-
|
|
283
|
+
R,
|
|
284
|
+
T...
|
|
346
285
|
>::type
|
|
347
286
|
invoker_type;
|
|
348
287
|
|
|
@@ -350,13 +289,13 @@ namespace boost {
|
|
|
350
289
|
};
|
|
351
290
|
|
|
352
291
|
template<typename FunctionPtr, typename Allocator,
|
|
353
|
-
typename R
|
|
292
|
+
typename R, typename... T>
|
|
354
293
|
struct apply_a
|
|
355
294
|
{
|
|
356
|
-
typedef typename
|
|
295
|
+
typedef typename get_function_invoker<
|
|
357
296
|
FunctionPtr,
|
|
358
|
-
R
|
|
359
|
-
|
|
297
|
+
R,
|
|
298
|
+
T...
|
|
360
299
|
>::type
|
|
361
300
|
invoker_type;
|
|
362
301
|
|
|
@@ -364,19 +303,18 @@ namespace boost {
|
|
|
364
303
|
};
|
|
365
304
|
};
|
|
366
305
|
|
|
367
|
-
#if BOOST_FUNCTION_NUM_ARGS > 0
|
|
368
306
|
/* Retrieve the invoker for a member pointer. */
|
|
369
307
|
template<>
|
|
370
|
-
struct
|
|
308
|
+
struct get_invoker<member_ptr_tag>
|
|
371
309
|
{
|
|
372
310
|
template<typename MemberPtr,
|
|
373
|
-
typename R
|
|
311
|
+
typename R, typename... T>
|
|
374
312
|
struct apply
|
|
375
313
|
{
|
|
376
|
-
typedef typename
|
|
314
|
+
typedef typename get_member_invoker<
|
|
377
315
|
MemberPtr,
|
|
378
|
-
R
|
|
379
|
-
|
|
316
|
+
R,
|
|
317
|
+
T...
|
|
380
318
|
>::type
|
|
381
319
|
invoker_type;
|
|
382
320
|
|
|
@@ -384,33 +322,32 @@ namespace boost {
|
|
|
384
322
|
};
|
|
385
323
|
|
|
386
324
|
template<typename MemberPtr, typename Allocator,
|
|
387
|
-
typename R
|
|
325
|
+
typename R, typename... T>
|
|
388
326
|
struct apply_a
|
|
389
327
|
{
|
|
390
|
-
typedef typename
|
|
328
|
+
typedef typename get_member_invoker<
|
|
391
329
|
MemberPtr,
|
|
392
|
-
R
|
|
393
|
-
|
|
330
|
+
R,
|
|
331
|
+
T...
|
|
394
332
|
>::type
|
|
395
333
|
invoker_type;
|
|
396
334
|
|
|
397
335
|
typedef functor_manager<MemberPtr> manager_type;
|
|
398
336
|
};
|
|
399
337
|
};
|
|
400
|
-
#endif
|
|
401
338
|
|
|
402
339
|
/* Retrieve the invoker for a function object. */
|
|
403
340
|
template<>
|
|
404
|
-
struct
|
|
341
|
+
struct get_invoker<function_obj_tag>
|
|
405
342
|
{
|
|
406
343
|
template<typename FunctionObj,
|
|
407
|
-
typename R
|
|
344
|
+
typename R, typename... T>
|
|
408
345
|
struct apply
|
|
409
346
|
{
|
|
410
|
-
typedef typename
|
|
347
|
+
typedef typename get_function_obj_invoker<
|
|
411
348
|
FunctionObj,
|
|
412
|
-
R
|
|
413
|
-
|
|
349
|
+
R,
|
|
350
|
+
T...
|
|
414
351
|
>::type
|
|
415
352
|
invoker_type;
|
|
416
353
|
|
|
@@ -418,13 +355,13 @@ namespace boost {
|
|
|
418
355
|
};
|
|
419
356
|
|
|
420
357
|
template<typename FunctionObj, typename Allocator,
|
|
421
|
-
typename R
|
|
358
|
+
typename R, typename... T>
|
|
422
359
|
struct apply_a
|
|
423
360
|
{
|
|
424
|
-
typedef typename
|
|
361
|
+
typedef typename get_function_obj_invoker<
|
|
425
362
|
FunctionObj,
|
|
426
|
-
R
|
|
427
|
-
|
|
363
|
+
R,
|
|
364
|
+
T...
|
|
428
365
|
>::type
|
|
429
366
|
invoker_type;
|
|
430
367
|
|
|
@@ -434,16 +371,16 @@ namespace boost {
|
|
|
434
371
|
|
|
435
372
|
/* Retrieve the invoker for a reference to a function object. */
|
|
436
373
|
template<>
|
|
437
|
-
struct
|
|
374
|
+
struct get_invoker<function_obj_ref_tag>
|
|
438
375
|
{
|
|
439
376
|
template<typename RefWrapper,
|
|
440
|
-
typename R
|
|
377
|
+
typename R, typename... T>
|
|
441
378
|
struct apply
|
|
442
379
|
{
|
|
443
|
-
typedef typename
|
|
380
|
+
typedef typename get_function_ref_invoker<
|
|
444
381
|
typename RefWrapper::type,
|
|
445
|
-
R
|
|
446
|
-
|
|
382
|
+
R,
|
|
383
|
+
T...
|
|
447
384
|
>::type
|
|
448
385
|
invoker_type;
|
|
449
386
|
|
|
@@ -451,13 +388,13 @@ namespace boost {
|
|
|
451
388
|
};
|
|
452
389
|
|
|
453
390
|
template<typename RefWrapper, typename Allocator,
|
|
454
|
-
typename R
|
|
391
|
+
typename R, typename... T>
|
|
455
392
|
struct apply_a
|
|
456
393
|
{
|
|
457
|
-
typedef typename
|
|
394
|
+
typedef typename get_function_ref_invoker<
|
|
458
395
|
typename RefWrapper::type,
|
|
459
|
-
R
|
|
460
|
-
|
|
396
|
+
R,
|
|
397
|
+
T...
|
|
461
398
|
>::type
|
|
462
399
|
invoker_type;
|
|
463
400
|
|
|
@@ -473,36 +410,40 @@ namespace boost {
|
|
|
473
410
|
* members. It therefore cannot have any constructors,
|
|
474
411
|
* destructors, base classes, etc.
|
|
475
412
|
*/
|
|
476
|
-
template<typename R
|
|
477
|
-
struct
|
|
413
|
+
template<typename R, typename... T>
|
|
414
|
+
struct basic_vtable
|
|
478
415
|
{
|
|
479
|
-
#ifndef BOOST_NO_VOID_RETURNS
|
|
480
416
|
typedef R result_type;
|
|
481
|
-
#else
|
|
482
|
-
typedef typename function_return_type<R>::type result_type;
|
|
483
|
-
#endif // BOOST_NO_VOID_RETURNS
|
|
484
417
|
|
|
485
418
|
typedef result_type (*invoker_type)(function_buffer&
|
|
486
|
-
|
|
487
|
-
|
|
419
|
+
,
|
|
420
|
+
T...);
|
|
488
421
|
|
|
489
422
|
template<typename F>
|
|
490
423
|
bool assign_to(F f, function_buffer& functor) const
|
|
491
424
|
{
|
|
492
425
|
typedef typename get_function_tag<F>::type tag;
|
|
493
|
-
return assign_to(f, functor, tag());
|
|
426
|
+
return assign_to(std::move(f), functor, tag());
|
|
494
427
|
}
|
|
495
428
|
template<typename F,typename Allocator>
|
|
496
429
|
bool assign_to_a(F f, function_buffer& functor, Allocator a) const
|
|
497
430
|
{
|
|
498
431
|
typedef typename get_function_tag<F>::type tag;
|
|
499
|
-
return assign_to_a(f, functor, a, tag());
|
|
432
|
+
return assign_to_a(std::move(f), functor, a, tag());
|
|
500
433
|
}
|
|
501
434
|
|
|
502
435
|
void clear(function_buffer& functor) const
|
|
503
436
|
{
|
|
437
|
+
#if defined(BOOST_GCC) && (__GNUC__ >= 11)
|
|
438
|
+
# pragma GCC diagnostic push
|
|
439
|
+
// False positive in GCC 11/12 for empty function objects
|
|
440
|
+
# pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
|
|
441
|
+
#endif
|
|
504
442
|
if (base.manager)
|
|
505
443
|
base.manager(functor, functor, destroy_functor_tag);
|
|
444
|
+
#if defined(BOOST_GCC) && (__GNUC__ >= 11)
|
|
445
|
+
# pragma GCC diagnostic pop
|
|
446
|
+
#endif
|
|
506
447
|
}
|
|
507
448
|
|
|
508
449
|
private:
|
|
@@ -513,8 +454,6 @@ namespace boost {
|
|
|
513
454
|
{
|
|
514
455
|
this->clear(functor);
|
|
515
456
|
if (f) {
|
|
516
|
-
// should be a reinterpret cast, but some compilers insist
|
|
517
|
-
// on giving cv-qualifiers to free functions
|
|
518
457
|
functor.members.func_ptr = reinterpret_cast<void (*)()>(f);
|
|
519
458
|
return true;
|
|
520
459
|
} else {
|
|
@@ -525,11 +464,10 @@ namespace boost {
|
|
|
525
464
|
bool
|
|
526
465
|
assign_to_a(FunctionPtr f, function_buffer& functor, Allocator, function_ptr_tag) const
|
|
527
466
|
{
|
|
528
|
-
return assign_to(f,functor,function_ptr_tag());
|
|
467
|
+
return assign_to(std::move(f),functor,function_ptr_tag());
|
|
529
468
|
}
|
|
530
469
|
|
|
531
470
|
// Member pointers
|
|
532
|
-
#if BOOST_FUNCTION_NUM_ARGS > 0
|
|
533
471
|
template<typename MemberPtr>
|
|
534
472
|
bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) const
|
|
535
473
|
{
|
|
@@ -556,7 +494,6 @@ namespace boost {
|
|
|
556
494
|
return false;
|
|
557
495
|
}
|
|
558
496
|
}
|
|
559
|
-
#endif // BOOST_FUNCTION_NUM_ARGS > 0
|
|
560
497
|
|
|
561
498
|
// Function objects
|
|
562
499
|
// Assign to a function object using the small object optimization
|
|
@@ -564,13 +501,13 @@ namespace boost {
|
|
|
564
501
|
void
|
|
565
502
|
assign_functor(FunctionObj f, function_buffer& functor, true_type) const
|
|
566
503
|
{
|
|
567
|
-
new (reinterpret_cast<void*>(functor.data)) FunctionObj(f);
|
|
504
|
+
new (reinterpret_cast<void*>(functor.data)) FunctionObj(std::move(f));
|
|
568
505
|
}
|
|
569
506
|
template<typename FunctionObj,typename Allocator>
|
|
570
507
|
void
|
|
571
508
|
assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, true_type) const
|
|
572
509
|
{
|
|
573
|
-
assign_functor(f,functor,true_type());
|
|
510
|
+
assign_functor(std::move(f),functor,true_type());
|
|
574
511
|
}
|
|
575
512
|
|
|
576
513
|
// Assign to a function object allocated on the heap.
|
|
@@ -578,28 +515,21 @@ namespace boost {
|
|
|
578
515
|
void
|
|
579
516
|
assign_functor(FunctionObj f, function_buffer& functor, false_type) const
|
|
580
517
|
{
|
|
581
|
-
functor.members.obj_ptr = new FunctionObj(f);
|
|
518
|
+
functor.members.obj_ptr = new FunctionObj(std::move(f));
|
|
582
519
|
}
|
|
583
520
|
template<typename FunctionObj,typename Allocator>
|
|
584
521
|
void
|
|
585
522
|
assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, false_type) const
|
|
586
523
|
{
|
|
587
524
|
typedef functor_wrapper<FunctionObj,Allocator> functor_wrapper_type;
|
|
588
|
-
|
|
589
|
-
typedef typename Allocator::template rebind<functor_wrapper_type>::other
|
|
590
|
-
wrapper_allocator_type;
|
|
591
|
-
typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type;
|
|
592
|
-
#else
|
|
525
|
+
|
|
593
526
|
using wrapper_allocator_type = typename std::allocator_traits<Allocator>::template rebind_alloc<functor_wrapper_type>;
|
|
594
527
|
using wrapper_allocator_pointer_type = typename std::allocator_traits<wrapper_allocator_type>::pointer;
|
|
595
|
-
|
|
528
|
+
|
|
596
529
|
wrapper_allocator_type wrapper_allocator(a);
|
|
597
530
|
wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1);
|
|
598
|
-
#if defined(BOOST_NO_CXX11_ALLOCATOR)
|
|
599
|
-
wrapper_allocator.construct(copy, functor_wrapper_type(f,a));
|
|
600
|
-
#else
|
|
601
531
|
std::allocator_traits<wrapper_allocator_type>::construct(wrapper_allocator, copy, functor_wrapper_type(f,a));
|
|
602
|
-
|
|
532
|
+
|
|
603
533
|
functor_wrapper_type* new_f = static_cast<functor_wrapper_type*>(copy);
|
|
604
534
|
functor.members.obj_ptr = new_f;
|
|
605
535
|
}
|
|
@@ -609,7 +539,7 @@ namespace boost {
|
|
|
609
539
|
assign_to(FunctionObj f, function_buffer& functor, function_obj_tag) const
|
|
610
540
|
{
|
|
611
541
|
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
|
|
612
|
-
assign_functor(f, functor,
|
|
542
|
+
assign_functor(std::move(f), functor,
|
|
613
543
|
integral_constant<bool, (function_allows_small_object_optimization<FunctionObj>::value)>());
|
|
614
544
|
return true;
|
|
615
545
|
} else {
|
|
@@ -621,7 +551,7 @@ namespace boost {
|
|
|
621
551
|
assign_to_a(FunctionObj f, function_buffer& functor, Allocator a, function_obj_tag) const
|
|
622
552
|
{
|
|
623
553
|
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
|
|
624
|
-
assign_functor_a(f, functor, a,
|
|
554
|
+
assign_functor_a(std::move(f), functor, a,
|
|
625
555
|
integral_constant<bool, (function_allows_small_object_optimization<FunctionObj>::value)>());
|
|
626
556
|
return true;
|
|
627
557
|
} else {
|
|
@@ -652,26 +582,40 @@ namespace boost {
|
|
|
652
582
|
vtable_base base;
|
|
653
583
|
invoker_type invoker;
|
|
654
584
|
};
|
|
585
|
+
|
|
586
|
+
template <typename... T>
|
|
587
|
+
struct variadic_function_base
|
|
588
|
+
{};
|
|
589
|
+
|
|
590
|
+
template <typename T>
|
|
591
|
+
struct variadic_function_base<T>
|
|
592
|
+
{
|
|
593
|
+
typedef T argument_type;
|
|
594
|
+
};
|
|
595
|
+
|
|
596
|
+
template <typename T0, typename T1>
|
|
597
|
+
struct variadic_function_base<T0, T1>
|
|
598
|
+
{
|
|
599
|
+
typedef T0 first_argument_type;
|
|
600
|
+
typedef T1 second_argument_type;
|
|
601
|
+
};
|
|
602
|
+
|
|
655
603
|
} // end namespace function
|
|
656
604
|
} // end namespace detail
|
|
657
605
|
|
|
658
606
|
template<
|
|
659
|
-
typename R
|
|
660
|
-
|
|
607
|
+
typename R,
|
|
608
|
+
typename... T
|
|
661
609
|
>
|
|
662
|
-
class
|
|
610
|
+
class function_n : public function_base
|
|
611
|
+
, public detail::function::variadic_function_base<T...>
|
|
663
612
|
{
|
|
664
613
|
public:
|
|
665
|
-
#ifndef BOOST_NO_VOID_RETURNS
|
|
666
614
|
typedef R result_type;
|
|
667
|
-
#else
|
|
668
|
-
typedef typename boost::detail::function::function_return_type<R>::type
|
|
669
|
-
result_type;
|
|
670
|
-
#endif // BOOST_NO_VOID_RETURNS
|
|
671
615
|
|
|
672
616
|
private:
|
|
673
|
-
typedef boost::detail::function::
|
|
674
|
-
R
|
|
617
|
+
typedef boost::detail::function::basic_vtable<
|
|
618
|
+
R, T...>
|
|
675
619
|
vtable_type;
|
|
676
620
|
|
|
677
621
|
vtable_type* get_vtable() const {
|
|
@@ -682,8 +626,6 @@ namespace boost {
|
|
|
682
626
|
struct clear_type {};
|
|
683
627
|
|
|
684
628
|
public:
|
|
685
|
-
BOOST_STATIC_CONSTANT(int, args = BOOST_FUNCTION_NUM_ARGS);
|
|
686
|
-
|
|
687
629
|
// add signature for boost::lambda
|
|
688
630
|
template<typename Args>
|
|
689
631
|
struct sig
|
|
@@ -691,93 +633,68 @@ namespace boost {
|
|
|
691
633
|
typedef result_type type;
|
|
692
634
|
};
|
|
693
635
|
|
|
694
|
-
|
|
695
|
-
typedef T0 argument_type;
|
|
696
|
-
#elif BOOST_FUNCTION_NUM_ARGS == 2
|
|
697
|
-
typedef T0 first_argument_type;
|
|
698
|
-
typedef T1 second_argument_type;
|
|
699
|
-
#endif
|
|
700
|
-
|
|
701
|
-
BOOST_STATIC_CONSTANT(int, arity = BOOST_FUNCTION_NUM_ARGS);
|
|
702
|
-
BOOST_FUNCTION_ARG_TYPES
|
|
636
|
+
BOOST_STATIC_CONSTANT(int, arity = sizeof...(T));
|
|
703
637
|
|
|
704
|
-
typedef
|
|
638
|
+
typedef function_n self_type;
|
|
705
639
|
|
|
706
|
-
BOOST_DEFAULTED_FUNCTION(
|
|
640
|
+
BOOST_DEFAULTED_FUNCTION(function_n(), : function_base() {})
|
|
707
641
|
|
|
708
642
|
// MSVC chokes if the following two constructors are collapsed into
|
|
709
643
|
// one with a default parameter.
|
|
710
644
|
template<typename Functor>
|
|
711
|
-
|
|
712
|
-
#ifndef BOOST_NO_SFINAE
|
|
645
|
+
function_n(Functor f
|
|
713
646
|
,typename boost::enable_if_<
|
|
714
647
|
!(is_integral<Functor>::value),
|
|
715
648
|
int>::type = 0
|
|
716
|
-
#endif // BOOST_NO_SFINAE
|
|
717
649
|
) :
|
|
718
650
|
function_base()
|
|
719
651
|
{
|
|
720
|
-
this->assign_to(f);
|
|
652
|
+
this->assign_to(std::move(f));
|
|
721
653
|
}
|
|
722
654
|
template<typename Functor,typename Allocator>
|
|
723
|
-
|
|
724
|
-
#ifndef BOOST_NO_SFINAE
|
|
655
|
+
function_n(Functor f, Allocator a
|
|
725
656
|
,typename boost::enable_if_<
|
|
726
657
|
!(is_integral<Functor>::value),
|
|
727
658
|
int>::type = 0
|
|
728
|
-
#endif // BOOST_NO_SFINAE
|
|
729
659
|
) :
|
|
730
660
|
function_base()
|
|
731
661
|
{
|
|
732
|
-
this->assign_to_a(f,a);
|
|
662
|
+
this->assign_to_a(std::move(f),a);
|
|
733
663
|
}
|
|
734
664
|
|
|
735
|
-
|
|
736
|
-
BOOST_FUNCTION_FUNCTION(clear_type*) : function_base() { }
|
|
737
|
-
#else
|
|
738
|
-
BOOST_FUNCTION_FUNCTION(int zero) : function_base()
|
|
739
|
-
{
|
|
740
|
-
BOOST_ASSERT(zero == 0);
|
|
741
|
-
}
|
|
742
|
-
#endif
|
|
665
|
+
function_n(clear_type*) : function_base() { }
|
|
743
666
|
|
|
744
|
-
|
|
667
|
+
function_n(const function_n& f) : function_base()
|
|
745
668
|
{
|
|
746
669
|
this->assign_to_own(f);
|
|
747
670
|
}
|
|
748
671
|
|
|
749
|
-
|
|
750
|
-
BOOST_FUNCTION_FUNCTION(BOOST_FUNCTION_FUNCTION&& f) : function_base()
|
|
672
|
+
function_n(function_n&& f) : function_base()
|
|
751
673
|
{
|
|
752
674
|
this->move_assign(f);
|
|
753
675
|
}
|
|
754
|
-
#endif
|
|
755
676
|
|
|
756
|
-
~
|
|
677
|
+
~function_n() { clear(); }
|
|
757
678
|
|
|
758
|
-
result_type operator()(
|
|
679
|
+
result_type operator()(T... a) const
|
|
759
680
|
{
|
|
760
681
|
if (this->empty())
|
|
761
682
|
boost::throw_exception(bad_function_call());
|
|
762
683
|
|
|
763
684
|
return get_vtable()->invoker
|
|
764
|
-
(this->functor
|
|
685
|
+
(this->functor, static_cast<T&&>(a)...);
|
|
765
686
|
}
|
|
766
687
|
|
|
767
|
-
// The distinction between when to use
|
|
688
|
+
// The distinction between when to use function_n and
|
|
768
689
|
// when to use self_type is obnoxious. MSVC cannot handle self_type as
|
|
769
690
|
// the return type of these assignment operators, but Borland C++ cannot
|
|
770
|
-
// handle
|
|
691
|
+
// handle function_n as the type of the temporary to
|
|
771
692
|
// construct.
|
|
772
693
|
template<typename Functor>
|
|
773
|
-
#ifndef BOOST_NO_SFINAE
|
|
774
694
|
typename boost::enable_if_<
|
|
775
695
|
!(is_integral<Functor>::value),
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
BOOST_FUNCTION_FUNCTION&
|
|
779
|
-
#endif
|
|
780
|
-
operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f)
|
|
696
|
+
function_n&>::type
|
|
697
|
+
operator=(Functor f)
|
|
781
698
|
{
|
|
782
699
|
this->clear();
|
|
783
700
|
BOOST_TRY {
|
|
@@ -790,7 +707,7 @@ namespace boost {
|
|
|
790
707
|
return *this;
|
|
791
708
|
}
|
|
792
709
|
template<typename Functor,typename Allocator>
|
|
793
|
-
void assign(Functor
|
|
710
|
+
void assign(Functor f, Allocator a)
|
|
794
711
|
{
|
|
795
712
|
this->clear();
|
|
796
713
|
BOOST_TRY{
|
|
@@ -802,23 +719,14 @@ namespace boost {
|
|
|
802
719
|
BOOST_CATCH_END
|
|
803
720
|
}
|
|
804
721
|
|
|
805
|
-
|
|
806
|
-
BOOST_FUNCTION_FUNCTION& operator=(clear_type*)
|
|
722
|
+
function_n& operator=(clear_type*)
|
|
807
723
|
{
|
|
808
724
|
this->clear();
|
|
809
725
|
return *this;
|
|
810
726
|
}
|
|
811
|
-
#else
|
|
812
|
-
BOOST_FUNCTION_FUNCTION& operator=(int zero)
|
|
813
|
-
{
|
|
814
|
-
BOOST_ASSERT(zero == 0);
|
|
815
|
-
this->clear();
|
|
816
|
-
return *this;
|
|
817
|
-
}
|
|
818
|
-
#endif
|
|
819
727
|
|
|
820
|
-
// Assignment from another
|
|
821
|
-
|
|
728
|
+
// Assignment from another function_n
|
|
729
|
+
function_n& operator=(const function_n& f)
|
|
822
730
|
{
|
|
823
731
|
if (&f == this)
|
|
824
732
|
return *this;
|
|
@@ -834,9 +742,8 @@ namespace boost {
|
|
|
834
742
|
return *this;
|
|
835
743
|
}
|
|
836
744
|
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
BOOST_FUNCTION_FUNCTION& operator=(BOOST_FUNCTION_FUNCTION&& f)
|
|
745
|
+
// Move assignment from another function_n
|
|
746
|
+
function_n& operator=(function_n&& f)
|
|
840
747
|
{
|
|
841
748
|
if (&f == this)
|
|
842
749
|
return *this;
|
|
@@ -851,14 +758,13 @@ namespace boost {
|
|
|
851
758
|
BOOST_CATCH_END
|
|
852
759
|
return *this;
|
|
853
760
|
}
|
|
854
|
-
#endif
|
|
855
761
|
|
|
856
|
-
void swap(
|
|
762
|
+
void swap(function_n& other)
|
|
857
763
|
{
|
|
858
764
|
if (&other == this)
|
|
859
765
|
return;
|
|
860
766
|
|
|
861
|
-
|
|
767
|
+
function_n tmp;
|
|
862
768
|
tmp.move_assign(*this);
|
|
863
769
|
this->move_assign(other);
|
|
864
770
|
other.move_assign(tmp);
|
|
@@ -874,27 +780,10 @@ namespace boost {
|
|
|
874
780
|
}
|
|
875
781
|
}
|
|
876
782
|
|
|
877
|
-
|
|
878
|
-
// Sun C++ 5.3 can't handle the safe_bool idiom, so don't use it
|
|
879
|
-
operator bool () const { return !this->empty(); }
|
|
880
|
-
#else
|
|
881
|
-
private:
|
|
882
|
-
struct dummy {
|
|
883
|
-
void nonnull() {}
|
|
884
|
-
};
|
|
885
|
-
|
|
886
|
-
typedef void (dummy::*safe_bool)();
|
|
887
|
-
|
|
888
|
-
public:
|
|
889
|
-
operator safe_bool () const
|
|
890
|
-
{ return (this->empty())? 0 : &dummy::nonnull; }
|
|
891
|
-
|
|
892
|
-
bool operator!() const
|
|
893
|
-
{ return this->empty(); }
|
|
894
|
-
#endif
|
|
783
|
+
explicit operator bool () const { return !this->empty(); }
|
|
895
784
|
|
|
896
785
|
private:
|
|
897
|
-
void assign_to_own(const
|
|
786
|
+
void assign_to_own(const function_n& f)
|
|
898
787
|
{
|
|
899
788
|
if (!f.empty()) {
|
|
900
789
|
this->vtable = f.vtable;
|
|
@@ -906,8 +795,8 @@ namespace boost {
|
|
|
906
795
|
// This warning is technically correct, but we don't want to pay the price for initializing
|
|
907
796
|
// just to silence a warning: https://github.com/boostorg/function/issues/27
|
|
908
797
|
# pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
|
|
909
|
-
# if (BOOST_GCC >=
|
|
910
|
-
// GCC 12
|
|
798
|
+
# if (BOOST_GCC >= 110000)
|
|
799
|
+
// GCC 11.3, 12 emit a different warning: https://github.com/boostorg/function/issues/42
|
|
911
800
|
# pragma GCC diagnostic ignored "-Wuninitialized"
|
|
912
801
|
# endif
|
|
913
802
|
# endif
|
|
@@ -927,10 +816,10 @@ namespace boost {
|
|
|
927
816
|
using boost::detail::function::vtable_base;
|
|
928
817
|
|
|
929
818
|
typedef typename boost::detail::function::get_function_tag<Functor>::type tag;
|
|
930
|
-
typedef boost::detail::function::
|
|
819
|
+
typedef boost::detail::function::get_invoker<tag> get_invoker;
|
|
931
820
|
typedef typename get_invoker::
|
|
932
|
-
template apply<Functor, R
|
|
933
|
-
|
|
821
|
+
template apply<Functor, R,
|
|
822
|
+
T...>
|
|
934
823
|
handler_type;
|
|
935
824
|
|
|
936
825
|
typedef typename handler_type::invoker_type invoker_type;
|
|
@@ -943,7 +832,7 @@ namespace boost {
|
|
|
943
832
|
static const vtable_type stored_vtable =
|
|
944
833
|
{ { &manager_type::manage }, &invoker_type::invoke };
|
|
945
834
|
|
|
946
|
-
if (stored_vtable.assign_to(f, functor)) {
|
|
835
|
+
if (stored_vtable.assign_to(std::move(f), functor)) {
|
|
947
836
|
std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);
|
|
948
837
|
// coverity[pointless_expression]: suppress coverity warnings on apparant if(const).
|
|
949
838
|
if (boost::has_trivial_copy_constructor<Functor>::value &&
|
|
@@ -961,10 +850,10 @@ namespace boost {
|
|
|
961
850
|
using boost::detail::function::vtable_base;
|
|
962
851
|
|
|
963
852
|
typedef typename boost::detail::function::get_function_tag<Functor>::type tag;
|
|
964
|
-
typedef boost::detail::function::
|
|
853
|
+
typedef boost::detail::function::get_invoker<tag> get_invoker;
|
|
965
854
|
typedef typename get_invoker::
|
|
966
|
-
template apply_a<Functor, Allocator, R
|
|
967
|
-
|
|
855
|
+
template apply_a<Functor, Allocator, R,
|
|
856
|
+
T...>
|
|
968
857
|
handler_type;
|
|
969
858
|
|
|
970
859
|
typedef typename handler_type::invoker_type invoker_type;
|
|
@@ -977,7 +866,7 @@ namespace boost {
|
|
|
977
866
|
static const vtable_type stored_vtable =
|
|
978
867
|
{ { &manager_type::manage }, &invoker_type::invoke };
|
|
979
868
|
|
|
980
|
-
if (stored_vtable.assign_to_a(f, functor, a)) {
|
|
869
|
+
if (stored_vtable.assign_to_a(std::move(f), functor, a)) {
|
|
981
870
|
std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);
|
|
982
871
|
// coverity[pointless_expression]: suppress coverity warnings on apparant if(const).
|
|
983
872
|
if (boost::has_trivial_copy_constructor<Functor>::value &&
|
|
@@ -992,7 +881,7 @@ namespace boost {
|
|
|
992
881
|
// Moves the value from the specified argument to *this. If the argument
|
|
993
882
|
// has its function object allocated on the heap, move_assign will pass
|
|
994
883
|
// its buffer to *this, and set the argument's buffer pointer to NULL.
|
|
995
|
-
void move_assign(
|
|
884
|
+
void move_assign(function_n& f)
|
|
996
885
|
{
|
|
997
886
|
if (&f == this)
|
|
998
887
|
return;
|
|
@@ -1040,49 +929,41 @@ namespace boost {
|
|
|
1040
929
|
}
|
|
1041
930
|
};
|
|
1042
931
|
|
|
1043
|
-
template<typename R
|
|
1044
|
-
inline void swap(
|
|
1045
|
-
R
|
|
1046
|
-
|
|
932
|
+
template<typename R, typename... T>
|
|
933
|
+
inline void swap(function_n<
|
|
934
|
+
R,
|
|
935
|
+
T...
|
|
1047
936
|
>& f1,
|
|
1048
|
-
|
|
1049
|
-
R
|
|
1050
|
-
|
|
937
|
+
function_n<
|
|
938
|
+
R,
|
|
939
|
+
T...
|
|
1051
940
|
>& f2)
|
|
1052
941
|
{
|
|
1053
942
|
f1.swap(f2);
|
|
1054
943
|
}
|
|
1055
944
|
|
|
1056
945
|
// Poison comparisons between boost::function objects of the same type.
|
|
1057
|
-
template<typename R
|
|
1058
|
-
void operator==(const
|
|
1059
|
-
R
|
|
1060
|
-
|
|
1061
|
-
const
|
|
1062
|
-
R
|
|
1063
|
-
|
|
1064
|
-
template<typename R
|
|
1065
|
-
void operator!=(const
|
|
1066
|
-
R
|
|
1067
|
-
|
|
1068
|
-
const
|
|
1069
|
-
R
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
#else
|
|
1077
|
-
#define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_FUNCTION_TEMPLATE_ARGS)
|
|
1078
|
-
#endif
|
|
1079
|
-
|
|
1080
|
-
template<typename R BOOST_FUNCTION_COMMA
|
|
1081
|
-
BOOST_FUNCTION_TEMPLATE_PARMS>
|
|
1082
|
-
class function<BOOST_FUNCTION_PARTIAL_SPEC>
|
|
1083
|
-
: public BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
|
|
946
|
+
template<typename R, typename... T>
|
|
947
|
+
void operator==(const function_n<
|
|
948
|
+
R,
|
|
949
|
+
T...>&,
|
|
950
|
+
const function_n<
|
|
951
|
+
R,
|
|
952
|
+
T...>&);
|
|
953
|
+
template<typename R, typename... T>
|
|
954
|
+
void operator!=(const function_n<
|
|
955
|
+
R,
|
|
956
|
+
T...>&,
|
|
957
|
+
const function_n<
|
|
958
|
+
R,
|
|
959
|
+
T...>& );
|
|
960
|
+
|
|
961
|
+
template<typename R,
|
|
962
|
+
typename... T>
|
|
963
|
+
class function<R (T...)>
|
|
964
|
+
: public function_n<R, T...>
|
|
1084
965
|
{
|
|
1085
|
-
typedef
|
|
966
|
+
typedef function_n<R, T...> base_type;
|
|
1086
967
|
typedef function self_type;
|
|
1087
968
|
|
|
1088
969
|
struct clear_type {};
|
|
@@ -1093,40 +974,32 @@ public:
|
|
|
1093
974
|
|
|
1094
975
|
template<typename Functor>
|
|
1095
976
|
function(Functor f
|
|
1096
|
-
#ifndef BOOST_NO_SFINAE
|
|
1097
977
|
,typename boost::enable_if_<
|
|
1098
978
|
!(is_integral<Functor>::value),
|
|
1099
979
|
int>::type = 0
|
|
1100
|
-
#endif
|
|
1101
980
|
) :
|
|
1102
|
-
base_type(f)
|
|
981
|
+
base_type(std::move(f))
|
|
1103
982
|
{
|
|
1104
983
|
}
|
|
1105
984
|
template<typename Functor,typename Allocator>
|
|
1106
985
|
function(Functor f, Allocator a
|
|
1107
|
-
#ifndef BOOST_NO_SFINAE
|
|
1108
986
|
,typename boost::enable_if_<
|
|
1109
987
|
!(is_integral<Functor>::value),
|
|
1110
988
|
int>::type = 0
|
|
1111
|
-
#endif
|
|
1112
989
|
) :
|
|
1113
|
-
base_type(f,a)
|
|
990
|
+
base_type(std::move(f),a)
|
|
1114
991
|
{
|
|
1115
992
|
}
|
|
1116
993
|
|
|
1117
|
-
#ifndef BOOST_NO_SFINAE
|
|
1118
994
|
function(clear_type*) : base_type() {}
|
|
1119
|
-
#endif
|
|
1120
995
|
|
|
1121
996
|
function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
|
|
1122
997
|
|
|
1123
998
|
function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
|
|
1124
999
|
|
|
1125
|
-
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
|
|
1126
1000
|
// Move constructors
|
|
1127
1001
|
function(self_type&& f): base_type(static_cast<base_type&&>(f)){}
|
|
1128
1002
|
function(base_type&& f): base_type(static_cast<base_type&&>(f)){}
|
|
1129
|
-
#endif
|
|
1130
1003
|
|
|
1131
1004
|
self_type& operator=(const self_type& f)
|
|
1132
1005
|
{
|
|
@@ -1134,35 +1007,27 @@ public:
|
|
|
1134
1007
|
return *this;
|
|
1135
1008
|
}
|
|
1136
1009
|
|
|
1137
|
-
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
|
|
1138
1010
|
self_type& operator=(self_type&& f)
|
|
1139
1011
|
{
|
|
1140
1012
|
self_type(static_cast<self_type&&>(f)).swap(*this);
|
|
1141
1013
|
return *this;
|
|
1142
1014
|
}
|
|
1143
|
-
#endif
|
|
1144
1015
|
|
|
1145
1016
|
template<typename Functor>
|
|
1146
|
-
#ifndef BOOST_NO_SFINAE
|
|
1147
1017
|
typename boost::enable_if_<
|
|
1148
1018
|
!(is_integral<Functor>::value),
|
|
1149
1019
|
self_type&>::type
|
|
1150
|
-
#else
|
|
1151
|
-
self_type&
|
|
1152
|
-
#endif
|
|
1153
1020
|
operator=(Functor f)
|
|
1154
1021
|
{
|
|
1155
1022
|
self_type(f).swap(*this);
|
|
1156
1023
|
return *this;
|
|
1157
1024
|
}
|
|
1158
1025
|
|
|
1159
|
-
#ifndef BOOST_NO_SFINAE
|
|
1160
1026
|
self_type& operator=(clear_type*)
|
|
1161
1027
|
{
|
|
1162
1028
|
this->clear();
|
|
1163
1029
|
return *this;
|
|
1164
1030
|
}
|
|
1165
|
-
#endif
|
|
1166
1031
|
|
|
1167
1032
|
self_type& operator=(const base_type& f)
|
|
1168
1033
|
{
|
|
@@ -1170,50 +1035,42 @@ public:
|
|
|
1170
1035
|
return *this;
|
|
1171
1036
|
}
|
|
1172
1037
|
|
|
1173
|
-
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
|
|
1174
1038
|
self_type& operator=(base_type&& f)
|
|
1175
1039
|
{
|
|
1176
1040
|
self_type(static_cast<base_type&&>(f)).swap(*this);
|
|
1177
1041
|
return *this;
|
|
1178
1042
|
}
|
|
1179
|
-
#endif
|
|
1180
1043
|
};
|
|
1181
1044
|
|
|
1182
|
-
#undef BOOST_FUNCTION_PARTIAL_SPEC
|
|
1183
|
-
#endif // have partial specialization
|
|
1184
|
-
|
|
1185
1045
|
} // end namespace boost
|
|
1186
1046
|
|
|
1187
|
-
// Cleanup after ourselves...
|
|
1188
|
-
#undef BOOST_FUNCTION_VTABLE
|
|
1189
|
-
#undef BOOST_FUNCTION_COMMA
|
|
1190
|
-
#undef BOOST_FUNCTION_FUNCTION
|
|
1191
|
-
#undef BOOST_FUNCTION_FUNCTION_INVOKER
|
|
1192
|
-
#undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
|
|
1193
|
-
#undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
|
|
1194
|
-
#undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
|
|
1195
|
-
#undef BOOST_FUNCTION_FUNCTION_REF_INVOKER
|
|
1196
|
-
#undef BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER
|
|
1197
|
-
#undef BOOST_FUNCTION_MEMBER_INVOKER
|
|
1198
|
-
#undef BOOST_FUNCTION_VOID_MEMBER_INVOKER
|
|
1199
|
-
#undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
|
|
1200
|
-
#undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
|
|
1201
|
-
#undef BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
|
|
1202
|
-
#undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
|
|
1203
|
-
#undef BOOST_FUNCTION_GET_INVOKER
|
|
1204
|
-
#undef BOOST_FUNCTION_TEMPLATE_PARMS
|
|
1205
|
-
#undef BOOST_FUNCTION_TEMPLATE_ARGS
|
|
1206
|
-
#undef BOOST_FUNCTION_PARMS
|
|
1207
|
-
#undef BOOST_FUNCTION_PARM
|
|
1208
|
-
#ifdef BOOST_FUNCTION_ARG
|
|
1209
|
-
# undef BOOST_FUNCTION_ARG
|
|
1210
|
-
#endif
|
|
1211
|
-
#undef BOOST_FUNCTION_ARGS
|
|
1212
|
-
#undef BOOST_FUNCTION_ARG_TYPE
|
|
1213
|
-
#undef BOOST_FUNCTION_ARG_TYPES
|
|
1214
|
-
#undef BOOST_FUNCTION_VOID_RETURN_TYPE
|
|
1215
|
-
#undef BOOST_FUNCTION_RETURN
|
|
1216
|
-
|
|
1217
1047
|
#if defined(BOOST_MSVC)
|
|
1218
1048
|
# pragma warning( pop )
|
|
1219
1049
|
#endif
|
|
1050
|
+
|
|
1051
|
+
// Resolve C++20 issue with fn == bind(...)
|
|
1052
|
+
// https://github.com/boostorg/function/issues/45
|
|
1053
|
+
|
|
1054
|
+
namespace boost
|
|
1055
|
+
{
|
|
1056
|
+
|
|
1057
|
+
namespace _bi
|
|
1058
|
+
{
|
|
1059
|
+
|
|
1060
|
+
template<class R, class F, class L> class bind_t;
|
|
1061
|
+
|
|
1062
|
+
} // namespace _bi
|
|
1063
|
+
|
|
1064
|
+
template<class S, class R, class F, class L> bool operator==( function<S> const& f, _bi::bind_t<R, F, L> const& b )
|
|
1065
|
+
{
|
|
1066
|
+
return f.contains( b );
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
template<class S, class R, class F, class L> bool operator!=( function<S> const& f, _bi::bind_t<R, F, L> const& b )
|
|
1070
|
+
{
|
|
1071
|
+
return !f.contains( b );
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
} // namespace boost
|
|
1075
|
+
|
|
1076
|
+
#endif // #ifndef BOOST_FUNCTION_FUNCTION_TEMPLATE_HPP_INCLUDED
|