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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// execution/any_executor.hpp
|
|
3
3
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
4
4
|
//
|
|
5
|
-
// Copyright (c) 2003-
|
|
5
|
+
// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
|
6
6
|
//
|
|
7
7
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
8
8
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
@@ -27,10 +27,8 @@
|
|
|
27
27
|
#include <boost/asio/detail/scoped_ptr.hpp>
|
|
28
28
|
#include <boost/asio/detail/type_traits.hpp>
|
|
29
29
|
#include <boost/asio/detail/throw_exception.hpp>
|
|
30
|
-
#include <boost/asio/detail/variadic_templates.hpp>
|
|
31
30
|
#include <boost/asio/execution/bad_executor.hpp>
|
|
32
31
|
#include <boost/asio/execution/blocking.hpp>
|
|
33
|
-
#include <boost/asio/execution/execute.hpp>
|
|
34
32
|
#include <boost/asio/execution/executor.hpp>
|
|
35
33
|
#include <boost/asio/prefer.hpp>
|
|
36
34
|
#include <boost/asio/query.hpp>
|
|
@@ -230,20 +228,9 @@ namespace execution {
|
|
|
230
228
|
#if !defined(BOOST_ASIO_EXECUTION_ANY_EXECUTOR_FWD_DECL)
|
|
231
229
|
#define BOOST_ASIO_EXECUTION_ANY_EXECUTOR_FWD_DECL
|
|
232
230
|
|
|
233
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
234
|
-
|
|
235
231
|
template <typename... SupportableProperties>
|
|
236
232
|
class any_executor;
|
|
237
233
|
|
|
238
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
239
|
-
|
|
240
|
-
template <typename = void, typename = void, typename = void,
|
|
241
|
-
typename = void, typename = void, typename = void,
|
|
242
|
-
typename = void, typename = void, typename = void>
|
|
243
|
-
class any_executor;
|
|
244
|
-
|
|
245
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
246
|
-
|
|
247
234
|
#endif // !defined(BOOST_ASIO_EXECUTION_ANY_EXECUTOR_FWD_DECL)
|
|
248
235
|
|
|
249
236
|
template <typename U>
|
|
@@ -259,15 +246,13 @@ template <typename T, typename = void>
|
|
|
259
246
|
struct is_requirable : false_type {};
|
|
260
247
|
|
|
261
248
|
template <typename T>
|
|
262
|
-
struct is_requirable<T,
|
|
263
|
-
true_type {};
|
|
249
|
+
struct is_requirable<T, enable_if_t<T::is_requirable>> : true_type {};
|
|
264
250
|
|
|
265
251
|
template <typename T, typename = void>
|
|
266
252
|
struct is_preferable : false_type {};
|
|
267
253
|
|
|
268
254
|
template <typename T>
|
|
269
|
-
struct is_preferable<T,
|
|
270
|
-
true_type {};
|
|
255
|
+
struct is_preferable<T, enable_if_t<T::is_preferable>> : true_type {};
|
|
271
256
|
|
|
272
257
|
// Trait used to detect context_as property, for backward compatibility.
|
|
273
258
|
|
|
@@ -275,7 +260,7 @@ template <typename T>
|
|
|
275
260
|
struct is_context_as : false_type {};
|
|
276
261
|
|
|
277
262
|
template <typename U>
|
|
278
|
-
struct is_context_as<context_as_t<U
|
|
263
|
+
struct is_context_as<context_as_t<U>> : true_type {};
|
|
279
264
|
|
|
280
265
|
// Helper template to:
|
|
281
266
|
// - Check if a target can supply the supportable properties.
|
|
@@ -312,53 +297,51 @@ struct supportable_properties<I, void(Prop)>
|
|
|
312
297
|
|
|
313
298
|
struct found
|
|
314
299
|
{
|
|
315
|
-
|
|
300
|
+
static constexpr bool value = true;
|
|
316
301
|
typedef Prop type;
|
|
317
302
|
typedef typename Prop::polymorphic_query_result_type query_result_type;
|
|
318
|
-
|
|
303
|
+
static constexpr std::size_t index = I;
|
|
319
304
|
};
|
|
320
305
|
|
|
321
306
|
struct not_found
|
|
322
307
|
{
|
|
323
|
-
|
|
308
|
+
static constexpr bool value = false;
|
|
324
309
|
};
|
|
325
310
|
|
|
326
311
|
template <typename T>
|
|
327
312
|
struct find_convertible_property :
|
|
328
|
-
|
|
313
|
+
conditional_t<
|
|
329
314
|
is_same<T, Prop>::value || is_convertible<T, Prop>::value,
|
|
330
315
|
found,
|
|
331
316
|
not_found
|
|
332
|
-
|
|
317
|
+
> {};
|
|
333
318
|
|
|
334
319
|
template <typename T>
|
|
335
320
|
struct find_convertible_requirable_property :
|
|
336
|
-
|
|
321
|
+
conditional_t<
|
|
337
322
|
is_requirable<Prop>::value
|
|
338
323
|
&& (is_same<T, Prop>::value || is_convertible<T, Prop>::value),
|
|
339
324
|
found,
|
|
340
325
|
not_found
|
|
341
|
-
|
|
326
|
+
> {};
|
|
342
327
|
|
|
343
328
|
template <typename T>
|
|
344
329
|
struct find_convertible_preferable_property :
|
|
345
|
-
|
|
330
|
+
conditional_t<
|
|
346
331
|
is_preferable<Prop>::value
|
|
347
332
|
&& (is_same<T, Prop>::value || is_convertible<T, Prop>::value),
|
|
348
333
|
found,
|
|
349
334
|
not_found
|
|
350
|
-
|
|
335
|
+
> {};
|
|
351
336
|
|
|
352
337
|
struct find_context_as_property :
|
|
353
|
-
|
|
338
|
+
conditional_t<
|
|
354
339
|
is_context_as<Prop>::value,
|
|
355
340
|
found,
|
|
356
341
|
not_found
|
|
357
|
-
|
|
342
|
+
> {};
|
|
358
343
|
};
|
|
359
344
|
|
|
360
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
361
|
-
|
|
362
345
|
template <std::size_t I, typename Head, typename... Tail>
|
|
363
346
|
struct supportable_properties<I, void(Head, Tail...)>
|
|
364
347
|
{
|
|
@@ -377,117 +360,49 @@ struct supportable_properties<I, void(Head, Tail...)>
|
|
|
377
360
|
|
|
378
361
|
template <typename T>
|
|
379
362
|
struct find_convertible_property :
|
|
380
|
-
|
|
363
|
+
conditional_t<
|
|
381
364
|
is_convertible<T, Head>::value,
|
|
382
365
|
typename supportable_properties<I, void(Head)>::found,
|
|
383
366
|
typename supportable_properties<I + 1,
|
|
384
367
|
void(Tail...)>::template find_convertible_property<T>
|
|
385
|
-
|
|
368
|
+
> {};
|
|
386
369
|
|
|
387
370
|
template <typename T>
|
|
388
371
|
struct find_convertible_requirable_property :
|
|
389
|
-
|
|
372
|
+
conditional_t<
|
|
390
373
|
is_requirable<Head>::value
|
|
391
374
|
&& is_convertible<T, Head>::value,
|
|
392
375
|
typename supportable_properties<I, void(Head)>::found,
|
|
393
376
|
typename supportable_properties<I + 1,
|
|
394
377
|
void(Tail...)>::template find_convertible_requirable_property<T>
|
|
395
|
-
|
|
378
|
+
> {};
|
|
396
379
|
|
|
397
380
|
template <typename T>
|
|
398
381
|
struct find_convertible_preferable_property :
|
|
399
|
-
|
|
382
|
+
conditional_t<
|
|
400
383
|
is_preferable<Head>::value
|
|
401
384
|
&& is_convertible<T, Head>::value,
|
|
402
385
|
typename supportable_properties<I, void(Head)>::found,
|
|
403
386
|
typename supportable_properties<I + 1,
|
|
404
387
|
void(Tail...)>::template find_convertible_preferable_property<T>
|
|
405
|
-
|
|
388
|
+
> {};
|
|
406
389
|
|
|
407
390
|
struct find_context_as_property :
|
|
408
|
-
|
|
391
|
+
conditional_t<
|
|
409
392
|
is_context_as<Head>::value,
|
|
410
393
|
typename supportable_properties<I, void(Head)>::found,
|
|
411
394
|
typename supportable_properties<I + 1,
|
|
412
395
|
void(Tail...)>::find_context_as_property
|
|
413
|
-
|
|
396
|
+
> {};
|
|
414
397
|
};
|
|
415
398
|
|
|
416
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
417
|
-
|
|
418
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROPS_BASE_DEF(n) \
|
|
419
|
-
template <std::size_t I, \
|
|
420
|
-
typename Head, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
421
|
-
struct supportable_properties<I, \
|
|
422
|
-
void(Head, BOOST_ASIO_VARIADIC_TARGS(n))> \
|
|
423
|
-
{ \
|
|
424
|
-
template <typename T> \
|
|
425
|
-
struct is_valid_target : integral_constant<bool, \
|
|
426
|
-
( \
|
|
427
|
-
supportable_properties<I, \
|
|
428
|
-
void(Head)>::template is_valid_target<T>::value \
|
|
429
|
-
&& \
|
|
430
|
-
supportable_properties<I + 1, \
|
|
431
|
-
void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
432
|
-
is_valid_target<T>::value \
|
|
433
|
-
) \
|
|
434
|
-
> \
|
|
435
|
-
{ \
|
|
436
|
-
}; \
|
|
437
|
-
\
|
|
438
|
-
template <typename T> \
|
|
439
|
-
struct find_convertible_property : \
|
|
440
|
-
conditional< \
|
|
441
|
-
is_convertible<T, Head>::value, \
|
|
442
|
-
typename supportable_properties<I, void(Head)>::found, \
|
|
443
|
-
typename supportable_properties<I + 1, \
|
|
444
|
-
void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
445
|
-
find_convertible_property<T> \
|
|
446
|
-
>::type {}; \
|
|
447
|
-
\
|
|
448
|
-
template <typename T> \
|
|
449
|
-
struct find_convertible_requirable_property : \
|
|
450
|
-
conditional< \
|
|
451
|
-
is_requirable<Head>::value \
|
|
452
|
-
&& is_convertible<T, Head>::value, \
|
|
453
|
-
typename supportable_properties<I, void(Head)>::found, \
|
|
454
|
-
typename supportable_properties<I + 1, \
|
|
455
|
-
void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
456
|
-
find_convertible_requirable_property<T> \
|
|
457
|
-
>::type {}; \
|
|
458
|
-
\
|
|
459
|
-
template <typename T> \
|
|
460
|
-
struct find_convertible_preferable_property : \
|
|
461
|
-
conditional< \
|
|
462
|
-
is_preferable<Head>::value \
|
|
463
|
-
&& is_convertible<T, Head>::value, \
|
|
464
|
-
typename supportable_properties<I, void(Head)>::found, \
|
|
465
|
-
typename supportable_properties<I + 1, \
|
|
466
|
-
void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
467
|
-
find_convertible_preferable_property<T> \
|
|
468
|
-
>::type {}; \
|
|
469
|
-
\
|
|
470
|
-
struct find_context_as_property : \
|
|
471
|
-
conditional< \
|
|
472
|
-
is_context_as<Head>::value, \
|
|
473
|
-
typename supportable_properties<I, void(Head)>::found, \
|
|
474
|
-
typename supportable_properties<I + 1, void( \
|
|
475
|
-
BOOST_ASIO_VARIADIC_TARGS(n))>::find_context_as_property \
|
|
476
|
-
>::type {}; \
|
|
477
|
-
}; \
|
|
478
|
-
/**/
|
|
479
|
-
BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROPS_BASE_DEF)
|
|
480
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROPS_BASE_DEF
|
|
481
|
-
|
|
482
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
483
|
-
|
|
484
399
|
template <typename T, typename Props>
|
|
485
400
|
struct is_valid_target_executor :
|
|
486
|
-
|
|
401
|
+
conditional_t<
|
|
487
402
|
is_executor<T>::value,
|
|
488
403
|
typename supportable_properties<0, Props>::template is_valid_target<T>,
|
|
489
404
|
false_type
|
|
490
|
-
|
|
405
|
+
>
|
|
491
406
|
{
|
|
492
407
|
};
|
|
493
408
|
|
|
@@ -500,60 +415,36 @@ class shared_target_executor
|
|
|
500
415
|
{
|
|
501
416
|
public:
|
|
502
417
|
template <typename E>
|
|
503
|
-
shared_target_executor(
|
|
504
|
-
typename decay<E>::type*& target)
|
|
418
|
+
shared_target_executor(E&& e, decay_t<E>*& target)
|
|
505
419
|
{
|
|
506
|
-
impl<
|
|
507
|
-
new impl<
|
|
420
|
+
impl<decay_t<E>>* i =
|
|
421
|
+
new impl<decay_t<E>>(static_cast<E&&>(e));
|
|
508
422
|
target = &i->ex_;
|
|
509
423
|
impl_ = i;
|
|
510
424
|
}
|
|
511
425
|
|
|
512
426
|
template <typename E>
|
|
513
|
-
shared_target_executor(std::nothrow_t,
|
|
514
|
-
typename decay<E>::type*& target) BOOST_ASIO_NOEXCEPT
|
|
427
|
+
shared_target_executor(std::nothrow_t, E&& e, decay_t<E>*& target) noexcept
|
|
515
428
|
{
|
|
516
|
-
impl<
|
|
517
|
-
new (std::nothrow) impl<
|
|
518
|
-
BOOST_ASIO_MOVE_CAST(E)(e));
|
|
429
|
+
impl<decay_t<E>>* i =
|
|
430
|
+
new (std::nothrow) impl<decay_t<E>>(static_cast<E&&>(e));
|
|
519
431
|
target = i ? &i->ex_ : 0;
|
|
520
432
|
impl_ = i;
|
|
521
433
|
}
|
|
522
434
|
|
|
523
|
-
shared_target_executor(
|
|
524
|
-
const shared_target_executor& other) BOOST_ASIO_NOEXCEPT
|
|
435
|
+
shared_target_executor(const shared_target_executor& other) noexcept
|
|
525
436
|
: impl_(other.impl_)
|
|
526
437
|
{
|
|
527
438
|
if (impl_)
|
|
528
439
|
boost::asio::detail::ref_count_up(impl_->ref_count_);
|
|
529
440
|
}
|
|
530
441
|
|
|
531
|
-
shared_target_executor
|
|
532
|
-
const shared_target_executor& other) BOOST_ASIO_NOEXCEPT
|
|
533
|
-
{
|
|
534
|
-
impl_ = other.impl_;
|
|
535
|
-
if (impl_)
|
|
536
|
-
boost::asio::detail::ref_count_up(impl_->ref_count_);
|
|
537
|
-
return *this;
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
541
|
-
shared_target_executor(
|
|
542
|
-
shared_target_executor&& other) BOOST_ASIO_NOEXCEPT
|
|
442
|
+
shared_target_executor(shared_target_executor&& other) noexcept
|
|
543
443
|
: impl_(other.impl_)
|
|
544
444
|
{
|
|
545
445
|
other.impl_ = 0;
|
|
546
446
|
}
|
|
547
447
|
|
|
548
|
-
shared_target_executor& operator=(
|
|
549
|
-
shared_target_executor&& other) BOOST_ASIO_NOEXCEPT
|
|
550
|
-
{
|
|
551
|
-
impl_ = other.impl_;
|
|
552
|
-
other.impl_ = 0;
|
|
553
|
-
return *this;
|
|
554
|
-
}
|
|
555
|
-
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
556
|
-
|
|
557
448
|
~shared_target_executor()
|
|
558
449
|
{
|
|
559
450
|
if (impl_)
|
|
@@ -561,12 +452,18 @@ public:
|
|
|
561
452
|
delete impl_;
|
|
562
453
|
}
|
|
563
454
|
|
|
564
|
-
void* get() const
|
|
455
|
+
void* get() const noexcept
|
|
565
456
|
{
|
|
566
457
|
return impl_ ? impl_->get() : 0;
|
|
567
458
|
}
|
|
568
459
|
|
|
569
460
|
private:
|
|
461
|
+
shared_target_executor& operator=(
|
|
462
|
+
const shared_target_executor& other) = delete;
|
|
463
|
+
|
|
464
|
+
shared_target_executor& operator=(
|
|
465
|
+
shared_target_executor&& other) = delete;
|
|
466
|
+
|
|
570
467
|
struct impl_base
|
|
571
468
|
{
|
|
572
469
|
impl_base() : ref_count_(1) {}
|
|
@@ -578,7 +475,7 @@ private:
|
|
|
578
475
|
template <typename Executor>
|
|
579
476
|
struct impl : impl_base
|
|
580
477
|
{
|
|
581
|
-
impl(Executor ex) : ex_(
|
|
478
|
+
impl(Executor ex) : ex_(static_cast<Executor&&>(ex)) {}
|
|
582
479
|
virtual void* get() { return &ex_; }
|
|
583
480
|
Executor ex_;
|
|
584
481
|
};
|
|
@@ -589,7 +486,7 @@ private:
|
|
|
589
486
|
class any_executor_base
|
|
590
487
|
{
|
|
591
488
|
public:
|
|
592
|
-
any_executor_base()
|
|
489
|
+
any_executor_base() noexcept
|
|
593
490
|
: object_fns_(0),
|
|
594
491
|
target_(0),
|
|
595
492
|
target_fns_(0)
|
|
@@ -611,7 +508,7 @@ public:
|
|
|
611
508
|
}
|
|
612
509
|
|
|
613
510
|
template <BOOST_ASIO_EXECUTION_EXECUTOR Executor>
|
|
614
|
-
any_executor_base(std::nothrow_t, Executor ex, false_type)
|
|
511
|
+
any_executor_base(std::nothrow_t, Executor ex, false_type) noexcept
|
|
615
512
|
: target_fns_(target_fns_table<Executor>(
|
|
616
513
|
any_executor_base::query_blocking(ex,
|
|
617
514
|
can_query<const Executor&, const execution::blocking_t&>())
|
|
@@ -636,19 +533,19 @@ public:
|
|
|
636
533
|
{
|
|
637
534
|
Executor* p = 0;
|
|
638
535
|
new (&object_) shared_target_executor(
|
|
639
|
-
|
|
536
|
+
static_cast<Executor&&>(other), p);
|
|
640
537
|
target_ = p->template target<void>();
|
|
641
538
|
}
|
|
642
539
|
|
|
643
540
|
template <BOOST_ASIO_EXECUTION_EXECUTOR Executor>
|
|
644
541
|
any_executor_base(std::nothrow_t,
|
|
645
|
-
Executor other, true_type)
|
|
542
|
+
Executor other, true_type) noexcept
|
|
646
543
|
: object_fns_(object_fns_table<shared_target_executor>()),
|
|
647
544
|
target_fns_(other.target_fns_)
|
|
648
545
|
{
|
|
649
546
|
Executor* p = 0;
|
|
650
547
|
new (&object_) shared_target_executor(
|
|
651
|
-
std::nothrow,
|
|
548
|
+
std::nothrow, static_cast<Executor&&>(other), p);
|
|
652
549
|
if (p)
|
|
653
550
|
target_ = p->template target<void>();
|
|
654
551
|
else
|
|
@@ -659,7 +556,7 @@ public:
|
|
|
659
556
|
}
|
|
660
557
|
}
|
|
661
558
|
|
|
662
|
-
any_executor_base(const any_executor_base& other)
|
|
559
|
+
any_executor_base(const any_executor_base& other) noexcept
|
|
663
560
|
{
|
|
664
561
|
if (!!other)
|
|
665
562
|
{
|
|
@@ -675,14 +572,14 @@ public:
|
|
|
675
572
|
}
|
|
676
573
|
}
|
|
677
574
|
|
|
678
|
-
~any_executor_base()
|
|
575
|
+
~any_executor_base() noexcept
|
|
679
576
|
{
|
|
680
577
|
if (!!*this)
|
|
681
578
|
object_fns_->destroy(*this);
|
|
682
579
|
}
|
|
683
580
|
|
|
684
581
|
any_executor_base& operator=(
|
|
685
|
-
const any_executor_base& other)
|
|
582
|
+
const any_executor_base& other) noexcept
|
|
686
583
|
{
|
|
687
584
|
if (this != &other)
|
|
688
585
|
{
|
|
@@ -704,7 +601,7 @@ public:
|
|
|
704
601
|
return *this;
|
|
705
602
|
}
|
|
706
603
|
|
|
707
|
-
any_executor_base& operator=(nullptr_t)
|
|
604
|
+
any_executor_base& operator=(nullptr_t) noexcept
|
|
708
605
|
{
|
|
709
606
|
if (target_)
|
|
710
607
|
object_fns_->destroy(*this);
|
|
@@ -714,9 +611,7 @@ public:
|
|
|
714
611
|
return *this;
|
|
715
612
|
}
|
|
716
613
|
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
any_executor_base(any_executor_base&& other) BOOST_ASIO_NOEXCEPT
|
|
614
|
+
any_executor_base(any_executor_base&& other) noexcept
|
|
720
615
|
{
|
|
721
616
|
if (other.target_)
|
|
722
617
|
{
|
|
@@ -736,7 +631,7 @@ public:
|
|
|
736
631
|
}
|
|
737
632
|
|
|
738
633
|
any_executor_base& operator=(
|
|
739
|
-
any_executor_base&& other)
|
|
634
|
+
any_executor_base&& other) noexcept
|
|
740
635
|
{
|
|
741
636
|
if (this != &other)
|
|
742
637
|
{
|
|
@@ -761,20 +656,18 @@ public:
|
|
|
761
656
|
return *this;
|
|
762
657
|
}
|
|
763
658
|
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
void swap(any_executor_base& other) BOOST_ASIO_NOEXCEPT
|
|
659
|
+
void swap(any_executor_base& other) noexcept
|
|
767
660
|
{
|
|
768
661
|
if (this != &other)
|
|
769
662
|
{
|
|
770
|
-
any_executor_base tmp(
|
|
771
|
-
other =
|
|
772
|
-
*this =
|
|
663
|
+
any_executor_base tmp(static_cast<any_executor_base&&>(other));
|
|
664
|
+
other = static_cast<any_executor_base&&>(*this);
|
|
665
|
+
*this = static_cast<any_executor_base&&>(tmp);
|
|
773
666
|
}
|
|
774
667
|
}
|
|
775
668
|
|
|
776
669
|
template <typename F>
|
|
777
|
-
void execute(
|
|
670
|
+
void execute(F&& f) const
|
|
778
671
|
{
|
|
779
672
|
if (target_)
|
|
780
673
|
{
|
|
@@ -786,7 +679,7 @@ public:
|
|
|
786
679
|
else
|
|
787
680
|
{
|
|
788
681
|
target_fns_->execute(*this,
|
|
789
|
-
function(
|
|
682
|
+
function(static_cast<F&&>(f), std::allocator<void>()));
|
|
790
683
|
}
|
|
791
684
|
}
|
|
792
685
|
else
|
|
@@ -828,18 +721,18 @@ public:
|
|
|
828
721
|
typedef void (*unspecified_bool_type)(unspecified_bool_type_t);
|
|
829
722
|
static void unspecified_bool_true(unspecified_bool_type_t) {}
|
|
830
723
|
|
|
831
|
-
operator unspecified_bool_type() const
|
|
724
|
+
operator unspecified_bool_type() const noexcept
|
|
832
725
|
{
|
|
833
726
|
return target_ ? &any_executor_base::unspecified_bool_true : 0;
|
|
834
727
|
}
|
|
835
728
|
|
|
836
|
-
bool operator!() const
|
|
729
|
+
bool operator!() const noexcept
|
|
837
730
|
{
|
|
838
731
|
return target_ == 0;
|
|
839
732
|
}
|
|
840
733
|
|
|
841
734
|
protected:
|
|
842
|
-
bool equality_helper(const any_executor_base& other) const
|
|
735
|
+
bool equality_helper(const any_executor_base& other) const noexcept
|
|
843
736
|
{
|
|
844
737
|
if (target_ == other.target_)
|
|
845
738
|
return true;
|
|
@@ -888,7 +781,7 @@ protected:
|
|
|
888
781
|
static void move_shared(any_executor_base& ex1, any_executor_base& ex2)
|
|
889
782
|
{
|
|
890
783
|
typedef shared_target_executor type;
|
|
891
|
-
new (&ex1.object_) type(
|
|
784
|
+
new (&ex1.object_) type(static_cast<type&&>(ex2.object<type>()));
|
|
892
785
|
ex1.target_ = ex2.target_;
|
|
893
786
|
ex2.object<type>().~type();
|
|
894
787
|
}
|
|
@@ -901,9 +794,9 @@ protected:
|
|
|
901
794
|
|
|
902
795
|
template <typename Obj>
|
|
903
796
|
static const object_fns* object_fns_table(
|
|
904
|
-
|
|
797
|
+
enable_if_t<
|
|
905
798
|
is_same<Obj, shared_target_executor>::value
|
|
906
|
-
|
|
799
|
+
>* = 0)
|
|
907
800
|
{
|
|
908
801
|
static const object_fns fns =
|
|
909
802
|
{
|
|
@@ -931,7 +824,7 @@ protected:
|
|
|
931
824
|
template <typename Obj>
|
|
932
825
|
static void move_object(any_executor_base& ex1, any_executor_base& ex2)
|
|
933
826
|
{
|
|
934
|
-
new (&ex1.object_) Obj(
|
|
827
|
+
new (&ex1.object_) Obj(static_cast<Obj&&>(ex2.object<Obj>()));
|
|
935
828
|
ex1.target_ = &ex1.object<Obj>();
|
|
936
829
|
ex2.object<Obj>().~Obj();
|
|
937
830
|
}
|
|
@@ -944,10 +837,10 @@ protected:
|
|
|
944
837
|
|
|
945
838
|
template <typename Obj>
|
|
946
839
|
static const object_fns* object_fns_table(
|
|
947
|
-
|
|
840
|
+
enable_if_t<
|
|
948
841
|
!is_same<Obj, void>::value
|
|
949
842
|
&& !is_same<Obj, shared_target_executor>::value
|
|
950
|
-
|
|
843
|
+
>* = 0)
|
|
951
844
|
{
|
|
952
845
|
static const object_fns fns =
|
|
953
846
|
{
|
|
@@ -970,7 +863,7 @@ protected:
|
|
|
970
863
|
const void* (*target_type)();
|
|
971
864
|
#endif // !defined(BOOST_ASIO_NO_TYPEID)
|
|
972
865
|
bool (*equal)(const any_executor_base&, const any_executor_base&);
|
|
973
|
-
void (*execute)(const any_executor_base&,
|
|
866
|
+
void (*execute)(const any_executor_base&, function&&);
|
|
974
867
|
void (*blocking_execute)(const any_executor_base&, function_view);
|
|
975
868
|
};
|
|
976
869
|
|
|
@@ -993,35 +886,33 @@ protected:
|
|
|
993
886
|
static bool equal_ex(const any_executor_base& ex1,
|
|
994
887
|
const any_executor_base& ex2)
|
|
995
888
|
{
|
|
996
|
-
|
|
889
|
+
const Ex* p1 = ex1.target<Ex>();
|
|
890
|
+
const Ex* p2 = ex2.target<Ex>();
|
|
891
|
+
BOOST_ASIO_ASSUME(p1 != 0 && p2 != 0);
|
|
892
|
+
return *p1 == *p2;
|
|
997
893
|
}
|
|
998
894
|
|
|
999
895
|
template <typename Ex>
|
|
1000
|
-
static void execute_ex(const any_executor_base& ex,
|
|
1001
|
-
BOOST_ASIO_MOVE_ARG(function) f)
|
|
896
|
+
static void execute_ex(const any_executor_base& ex, function&& f)
|
|
1002
897
|
{
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
execution::execute(*ex.target<Ex>(), BOOST_ASIO_MOVE_CAST(function)(f));
|
|
1007
|
-
#endif // defined(BOOST_ASIO_NO_DEPRECATED)
|
|
898
|
+
const Ex* p = ex.target<Ex>();
|
|
899
|
+
BOOST_ASIO_ASSUME(p != 0);
|
|
900
|
+
p->execute(static_cast<function&&>(f));
|
|
1008
901
|
}
|
|
1009
902
|
|
|
1010
903
|
template <typename Ex>
|
|
1011
904
|
static void blocking_execute_ex(const any_executor_base& ex, function_view f)
|
|
1012
905
|
{
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
execution::execute(*ex.target<Ex>(), f);
|
|
1017
|
-
#endif // defined(BOOST_ASIO_NO_DEPRECATED)
|
|
906
|
+
const Ex* p = ex.target<Ex>();
|
|
907
|
+
BOOST_ASIO_ASSUME(p != 0);
|
|
908
|
+
p->execute(f);
|
|
1018
909
|
}
|
|
1019
910
|
|
|
1020
911
|
template <typename Ex>
|
|
1021
912
|
static const target_fns* target_fns_table(bool is_always_blocking,
|
|
1022
|
-
|
|
913
|
+
enable_if_t<
|
|
1023
914
|
!is_same<Ex, void>::value
|
|
1024
|
-
|
|
915
|
+
>* = 0)
|
|
1025
916
|
{
|
|
1026
917
|
static const target_fns fns_with_execute =
|
|
1027
918
|
{
|
|
@@ -1055,10 +946,10 @@ protected:
|
|
|
1055
946
|
|
|
1056
947
|
template <typename Ex, class Prop>
|
|
1057
948
|
static void query_fn_non_void(void*, const void* ex, const void* prop,
|
|
1058
|
-
|
|
949
|
+
enable_if_t<
|
|
1059
950
|
boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1060
951
|
&& is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1061
|
-
|
|
952
|
+
>*)
|
|
1062
953
|
{
|
|
1063
954
|
boost::asio::query(*static_cast<const Ex*>(ex),
|
|
1064
955
|
*static_cast<const Prop*>(prop));
|
|
@@ -1066,23 +957,23 @@ protected:
|
|
|
1066
957
|
|
|
1067
958
|
template <typename Ex, class Prop>
|
|
1068
959
|
static void query_fn_non_void(void*, const void*, const void*,
|
|
1069
|
-
|
|
960
|
+
enable_if_t<
|
|
1070
961
|
!boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1071
962
|
&& is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1072
|
-
|
|
963
|
+
>*)
|
|
1073
964
|
{
|
|
1074
965
|
}
|
|
1075
966
|
|
|
1076
967
|
template <typename Ex, class Prop>
|
|
1077
968
|
static void query_fn_non_void(void* result, const void* ex, const void* prop,
|
|
1078
|
-
|
|
969
|
+
enable_if_t<
|
|
1079
970
|
boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1080
971
|
&& !is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1081
972
|
&& is_reference<typename Prop::polymorphic_query_result_type>::value
|
|
1082
|
-
|
|
973
|
+
>*)
|
|
1083
974
|
{
|
|
1084
|
-
*static_cast<
|
|
1085
|
-
typename Prop::polymorphic_query_result_type
|
|
975
|
+
*static_cast<remove_reference_t<
|
|
976
|
+
typename Prop::polymorphic_query_result_type>**>(result)
|
|
1086
977
|
= &static_cast<typename Prop::polymorphic_query_result_type>(
|
|
1087
978
|
boost::asio::query(*static_cast<const Ex*>(ex),
|
|
1088
979
|
*static_cast<const Prop*>(prop)));
|
|
@@ -1090,22 +981,22 @@ protected:
|
|
|
1090
981
|
|
|
1091
982
|
template <typename Ex, class Prop>
|
|
1092
983
|
static void query_fn_non_void(void*, const void*, const void*,
|
|
1093
|
-
|
|
984
|
+
enable_if_t<
|
|
1094
985
|
!boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1095
986
|
&& !is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1096
987
|
&& is_reference<typename Prop::polymorphic_query_result_type>::value
|
|
1097
|
-
|
|
988
|
+
>*)
|
|
1098
989
|
{
|
|
1099
990
|
std::terminate(); // Combination should not be possible.
|
|
1100
991
|
}
|
|
1101
992
|
|
|
1102
993
|
template <typename Ex, class Prop>
|
|
1103
994
|
static void query_fn_non_void(void* result, const void* ex, const void* prop,
|
|
1104
|
-
|
|
995
|
+
enable_if_t<
|
|
1105
996
|
boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1106
997
|
&& !is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1107
998
|
&& is_scalar<typename Prop::polymorphic_query_result_type>::value
|
|
1108
|
-
|
|
999
|
+
>*)
|
|
1109
1000
|
{
|
|
1110
1001
|
*static_cast<typename Prop::polymorphic_query_result_type*>(result)
|
|
1111
1002
|
= static_cast<typename Prop::polymorphic_query_result_type>(
|
|
@@ -1115,11 +1006,11 @@ protected:
|
|
|
1115
1006
|
|
|
1116
1007
|
template <typename Ex, class Prop>
|
|
1117
1008
|
static void query_fn_non_void(void* result, const void*, const void*,
|
|
1118
|
-
|
|
1009
|
+
enable_if_t<
|
|
1119
1010
|
!boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1120
1011
|
&& !is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1121
1012
|
&& is_scalar<typename Prop::polymorphic_query_result_type>::value
|
|
1122
|
-
|
|
1013
|
+
>*)
|
|
1123
1014
|
{
|
|
1124
1015
|
*static_cast<typename Prop::polymorphic_query_result_type*>(result)
|
|
1125
1016
|
= typename Prop::polymorphic_query_result_type();
|
|
@@ -1127,12 +1018,12 @@ protected:
|
|
|
1127
1018
|
|
|
1128
1019
|
template <typename Ex, class Prop>
|
|
1129
1020
|
static void query_fn_non_void(void* result, const void* ex, const void* prop,
|
|
1130
|
-
|
|
1021
|
+
enable_if_t<
|
|
1131
1022
|
boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1132
1023
|
&& !is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1133
1024
|
&& !is_reference<typename Prop::polymorphic_query_result_type>::value
|
|
1134
1025
|
&& !is_scalar<typename Prop::polymorphic_query_result_type>::value
|
|
1135
|
-
|
|
1026
|
+
>*)
|
|
1136
1027
|
{
|
|
1137
1028
|
*static_cast<typename Prop::polymorphic_query_result_type**>(result)
|
|
1138
1029
|
= new typename Prop::polymorphic_query_result_type(
|
|
@@ -1149,18 +1040,18 @@ protected:
|
|
|
1149
1040
|
|
|
1150
1041
|
template <typename Ex, class Prop>
|
|
1151
1042
|
static void query_fn_impl(void* result, const void* ex, const void* prop,
|
|
1152
|
-
|
|
1043
|
+
enable_if_t<
|
|
1153
1044
|
is_same<Ex, void>::value
|
|
1154
|
-
|
|
1045
|
+
>*)
|
|
1155
1046
|
{
|
|
1156
1047
|
query_fn_void(result, ex, prop);
|
|
1157
1048
|
}
|
|
1158
1049
|
|
|
1159
1050
|
template <typename Ex, class Prop>
|
|
1160
1051
|
static void query_fn_impl(void* result, const void* ex, const void* prop,
|
|
1161
|
-
|
|
1052
|
+
enable_if_t<
|
|
1162
1053
|
!is_same<Ex, void>::value
|
|
1163
|
-
|
|
1054
|
+
>*)
|
|
1164
1055
|
{
|
|
1165
1056
|
query_fn_non_void<Ex, Prop>(result, ex, prop, 0);
|
|
1166
1057
|
}
|
|
@@ -1173,9 +1064,9 @@ protected:
|
|
|
1173
1064
|
|
|
1174
1065
|
template <typename Poly, typename Ex, class Prop>
|
|
1175
1066
|
static Poly require_fn_impl(const void*, const void*,
|
|
1176
|
-
|
|
1067
|
+
enable_if_t<
|
|
1177
1068
|
is_same<Ex, void>::value
|
|
1178
|
-
|
|
1069
|
+
>*)
|
|
1179
1070
|
{
|
|
1180
1071
|
bad_executor ex;
|
|
1181
1072
|
boost::asio::detail::throw_exception(ex);
|
|
@@ -1184,9 +1075,9 @@ protected:
|
|
|
1184
1075
|
|
|
1185
1076
|
template <typename Poly, typename Ex, class Prop>
|
|
1186
1077
|
static Poly require_fn_impl(const void* ex, const void* prop,
|
|
1187
|
-
|
|
1078
|
+
enable_if_t<
|
|
1188
1079
|
!is_same<Ex, void>::value && Prop::is_requirable
|
|
1189
|
-
|
|
1080
|
+
>*)
|
|
1190
1081
|
{
|
|
1191
1082
|
return boost::asio::require(*static_cast<const Ex*>(ex),
|
|
1192
1083
|
*static_cast<const Prop*>(prop));
|
|
@@ -1206,9 +1097,9 @@ protected:
|
|
|
1206
1097
|
|
|
1207
1098
|
template <typename Poly, typename Ex, class Prop>
|
|
1208
1099
|
static Poly prefer_fn_impl(const void*, const void*,
|
|
1209
|
-
|
|
1100
|
+
enable_if_t<
|
|
1210
1101
|
is_same<Ex, void>::value
|
|
1211
|
-
|
|
1102
|
+
>*)
|
|
1212
1103
|
{
|
|
1213
1104
|
bad_executor ex;
|
|
1214
1105
|
boost::asio::detail::throw_exception(ex);
|
|
@@ -1217,9 +1108,9 @@ protected:
|
|
|
1217
1108
|
|
|
1218
1109
|
template <typename Poly, typename Ex, class Prop>
|
|
1219
1110
|
static Poly prefer_fn_impl(const void* ex, const void* prop,
|
|
1220
|
-
|
|
1111
|
+
enable_if_t<
|
|
1221
1112
|
!is_same<Ex, void>::value && Prop::is_preferable
|
|
1222
|
-
|
|
1113
|
+
>*)
|
|
1223
1114
|
{
|
|
1224
1115
|
return boost::asio::prefer(*static_cast<const Ex*>(ex),
|
|
1225
1116
|
*static_cast<const Prop*>(prop));
|
|
@@ -1266,7 +1157,7 @@ private:
|
|
|
1266
1157
|
void construct_object(Executor& ex, true_type)
|
|
1267
1158
|
{
|
|
1268
1159
|
object_fns_ = object_fns_table<Executor>();
|
|
1269
|
-
target_ = new (&object_) Executor(
|
|
1160
|
+
target_ = new (&object_) Executor(static_cast<Executor&&>(ex));
|
|
1270
1161
|
}
|
|
1271
1162
|
|
|
1272
1163
|
template <typename Executor>
|
|
@@ -1275,26 +1166,26 @@ private:
|
|
|
1275
1166
|
object_fns_ = object_fns_table<shared_target_executor>();
|
|
1276
1167
|
Executor* p = 0;
|
|
1277
1168
|
new (&object_) shared_target_executor(
|
|
1278
|
-
|
|
1169
|
+
static_cast<Executor&&>(ex), p);
|
|
1279
1170
|
target_ = p;
|
|
1280
1171
|
}
|
|
1281
1172
|
|
|
1282
1173
|
template <typename Executor>
|
|
1283
1174
|
void construct_object(std::nothrow_t,
|
|
1284
|
-
Executor& ex, true_type)
|
|
1175
|
+
Executor& ex, true_type) noexcept
|
|
1285
1176
|
{
|
|
1286
1177
|
object_fns_ = object_fns_table<Executor>();
|
|
1287
|
-
target_ = new (&object_) Executor(
|
|
1178
|
+
target_ = new (&object_) Executor(static_cast<Executor&&>(ex));
|
|
1288
1179
|
}
|
|
1289
1180
|
|
|
1290
1181
|
template <typename Executor>
|
|
1291
1182
|
void construct_object(std::nothrow_t,
|
|
1292
|
-
Executor& ex, false_type)
|
|
1183
|
+
Executor& ex, false_type) noexcept
|
|
1293
1184
|
{
|
|
1294
1185
|
object_fns_ = object_fns_table<shared_target_executor>();
|
|
1295
1186
|
Executor* p = 0;
|
|
1296
1187
|
new (&object_) shared_target_executor(
|
|
1297
|
-
std::nothrow,
|
|
1188
|
+
std::nothrow, static_cast<Executor&&>(ex), p);
|
|
1298
1189
|
target_ = p;
|
|
1299
1190
|
}
|
|
1300
1191
|
|
|
@@ -1303,7 +1194,7 @@ private:
|
|
|
1303
1194
|
|
|
1304
1195
|
typedef aligned_storage<
|
|
1305
1196
|
sizeof(boost::asio::detail::shared_ptr<void>) + sizeof(void*),
|
|
1306
|
-
alignment_of<boost::asio::detail::shared_ptr<void
|
|
1197
|
+
alignment_of<boost::asio::detail::shared_ptr<void>>::value
|
|
1307
1198
|
>::type object_type;
|
|
1308
1199
|
|
|
1309
1200
|
object_type object_;
|
|
@@ -1320,8 +1211,7 @@ struct any_executor_context
|
|
|
1320
1211
|
#if !defined(BOOST_ASIO_NO_TS_EXECUTORS)
|
|
1321
1212
|
|
|
1322
1213
|
template <typename Derived, typename Property>
|
|
1323
|
-
struct any_executor_context<Derived, Property,
|
|
1324
|
-
typename enable_if<Property::value>::type>
|
|
1214
|
+
struct any_executor_context<Derived, Property, enable_if_t<Property::value>>
|
|
1325
1215
|
{
|
|
1326
1216
|
typename Property::query_result_type context() const
|
|
1327
1217
|
{
|
|
@@ -1337,48 +1227,46 @@ template <>
|
|
|
1337
1227
|
class any_executor<> : public detail::any_executor_base
|
|
1338
1228
|
{
|
|
1339
1229
|
public:
|
|
1340
|
-
any_executor()
|
|
1230
|
+
any_executor() noexcept
|
|
1341
1231
|
: detail::any_executor_base()
|
|
1342
1232
|
{
|
|
1343
1233
|
}
|
|
1344
1234
|
|
|
1345
|
-
any_executor(nullptr_t)
|
|
1235
|
+
any_executor(nullptr_t) noexcept
|
|
1346
1236
|
: detail::any_executor_base()
|
|
1347
1237
|
{
|
|
1348
1238
|
}
|
|
1349
1239
|
|
|
1350
1240
|
template <typename Executor>
|
|
1351
1241
|
any_executor(Executor ex,
|
|
1352
|
-
|
|
1353
|
-
|
|
1242
|
+
enable_if_t<
|
|
1243
|
+
conditional_t<
|
|
1354
1244
|
!is_same<Executor, any_executor>::value
|
|
1355
1245
|
&& !is_base_of<detail::any_executor_base, Executor>::value,
|
|
1356
1246
|
is_executor<Executor>,
|
|
1357
1247
|
false_type
|
|
1358
|
-
>::
|
|
1359
|
-
|
|
1248
|
+
>::value
|
|
1249
|
+
>* = 0)
|
|
1360
1250
|
: detail::any_executor_base(
|
|
1361
|
-
|
|
1251
|
+
static_cast<Executor&&>(ex), false_type())
|
|
1362
1252
|
{
|
|
1363
1253
|
}
|
|
1364
1254
|
|
|
1365
1255
|
template <typename Executor>
|
|
1366
1256
|
any_executor(std::nothrow_t, Executor ex,
|
|
1367
|
-
|
|
1368
|
-
|
|
1257
|
+
enable_if_t<
|
|
1258
|
+
conditional_t<
|
|
1369
1259
|
!is_same<Executor, any_executor>::value
|
|
1370
1260
|
&& !is_base_of<detail::any_executor_base, Executor>::value,
|
|
1371
1261
|
is_executor<Executor>,
|
|
1372
1262
|
false_type
|
|
1373
|
-
>::
|
|
1374
|
-
|
|
1263
|
+
>::value
|
|
1264
|
+
>* = 0) noexcept
|
|
1375
1265
|
: detail::any_executor_base(std::nothrow,
|
|
1376
|
-
|
|
1266
|
+
static_cast<Executor&&>(ex), false_type())
|
|
1377
1267
|
{
|
|
1378
1268
|
}
|
|
1379
1269
|
|
|
1380
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
1381
|
-
|
|
1382
1270
|
template <typename... OtherSupportableProperties>
|
|
1383
1271
|
any_executor(any_executor<OtherSupportableProperties...> other)
|
|
1384
1272
|
: detail::any_executor_base(
|
|
@@ -1388,46 +1276,25 @@ public:
|
|
|
1388
1276
|
|
|
1389
1277
|
template <typename... OtherSupportableProperties>
|
|
1390
1278
|
any_executor(std::nothrow_t,
|
|
1391
|
-
any_executor<OtherSupportableProperties...> other)
|
|
1392
|
-
: detail::any_executor_base(
|
|
1393
|
-
static_cast<const detail::any_executor_base&>(other))
|
|
1394
|
-
{
|
|
1395
|
-
}
|
|
1396
|
-
|
|
1397
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
1398
|
-
|
|
1399
|
-
template <typename U0, typename U1, typename U2, typename U3,
|
|
1400
|
-
typename U4, typename U5, typename U6, typename U7>
|
|
1401
|
-
any_executor(any_executor<U0, U1, U2, U3, U4, U5, U6, U7> other)
|
|
1402
|
-
: detail::any_executor_base(
|
|
1403
|
-
static_cast<const detail::any_executor_base&>(other))
|
|
1404
|
-
{
|
|
1405
|
-
}
|
|
1406
|
-
|
|
1407
|
-
template <typename U0, typename U1, typename U2, typename U3,
|
|
1408
|
-
typename U4, typename U5, typename U6, typename U7>
|
|
1409
|
-
any_executor(std::nothrow_t,
|
|
1410
|
-
any_executor<U0, U1, U2, U3, U4, U5, U6, U7> other) BOOST_ASIO_NOEXCEPT
|
|
1279
|
+
any_executor<OtherSupportableProperties...> other) noexcept
|
|
1411
1280
|
: detail::any_executor_base(
|
|
1412
1281
|
static_cast<const detail::any_executor_base&>(other))
|
|
1413
1282
|
{
|
|
1414
1283
|
}
|
|
1415
1284
|
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
any_executor(const any_executor& other) BOOST_ASIO_NOEXCEPT
|
|
1285
|
+
any_executor(const any_executor& other) noexcept
|
|
1419
1286
|
: detail::any_executor_base(
|
|
1420
1287
|
static_cast<const detail::any_executor_base&>(other))
|
|
1421
1288
|
{
|
|
1422
1289
|
}
|
|
1423
1290
|
|
|
1424
|
-
any_executor(std::nothrow_t, const any_executor& other)
|
|
1291
|
+
any_executor(std::nothrow_t, const any_executor& other) noexcept
|
|
1425
1292
|
: detail::any_executor_base(
|
|
1426
1293
|
static_cast<const detail::any_executor_base&>(other))
|
|
1427
1294
|
{
|
|
1428
1295
|
}
|
|
1429
1296
|
|
|
1430
|
-
any_executor& operator=(const any_executor& other)
|
|
1297
|
+
any_executor& operator=(const any_executor& other) noexcept
|
|
1431
1298
|
{
|
|
1432
1299
|
if (this != &other)
|
|
1433
1300
|
{
|
|
@@ -1437,29 +1304,27 @@ public:
|
|
|
1437
1304
|
return *this;
|
|
1438
1305
|
}
|
|
1439
1306
|
|
|
1440
|
-
any_executor& operator=(nullptr_t p)
|
|
1307
|
+
any_executor& operator=(nullptr_t p) noexcept
|
|
1441
1308
|
{
|
|
1442
1309
|
detail::any_executor_base::operator=(p);
|
|
1443
1310
|
return *this;
|
|
1444
1311
|
}
|
|
1445
1312
|
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
any_executor(any_executor&& other) BOOST_ASIO_NOEXCEPT
|
|
1313
|
+
any_executor(any_executor&& other) noexcept
|
|
1449
1314
|
: detail::any_executor_base(
|
|
1450
1315
|
static_cast<any_executor_base&&>(
|
|
1451
1316
|
static_cast<any_executor_base&>(other)))
|
|
1452
1317
|
{
|
|
1453
1318
|
}
|
|
1454
1319
|
|
|
1455
|
-
any_executor(std::nothrow_t, any_executor&& other)
|
|
1320
|
+
any_executor(std::nothrow_t, any_executor&& other) noexcept
|
|
1456
1321
|
: detail::any_executor_base(
|
|
1457
1322
|
static_cast<any_executor_base&&>(
|
|
1458
1323
|
static_cast<any_executor_base&>(other)))
|
|
1459
1324
|
{
|
|
1460
1325
|
}
|
|
1461
1326
|
|
|
1462
|
-
any_executor& operator=(any_executor&& other)
|
|
1327
|
+
any_executor& operator=(any_executor&& other) noexcept
|
|
1463
1328
|
{
|
|
1464
1329
|
if (this != &other)
|
|
1465
1330
|
{
|
|
@@ -1470,9 +1335,7 @@ public:
|
|
|
1470
1335
|
return *this;
|
|
1471
1336
|
}
|
|
1472
1337
|
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
void swap(any_executor& other) BOOST_ASIO_NOEXCEPT
|
|
1338
|
+
void swap(any_executor& other) noexcept
|
|
1476
1339
|
{
|
|
1477
1340
|
detail::any_executor_base::swap(
|
|
1478
1341
|
static_cast<detail::any_executor_base&>(other));
|
|
@@ -1484,77 +1347,75 @@ public:
|
|
|
1484
1347
|
using detail::any_executor_base::operator unspecified_bool_type;
|
|
1485
1348
|
using detail::any_executor_base::operator!;
|
|
1486
1349
|
|
|
1487
|
-
bool equality_helper(const any_executor& other) const
|
|
1350
|
+
bool equality_helper(const any_executor& other) const noexcept
|
|
1488
1351
|
{
|
|
1489
1352
|
return any_executor_base::equality_helper(other);
|
|
1490
1353
|
}
|
|
1491
1354
|
|
|
1492
1355
|
template <typename AnyExecutor1, typename AnyExecutor2>
|
|
1493
|
-
friend
|
|
1356
|
+
friend enable_if_t<
|
|
1494
1357
|
is_base_of<any_executor, AnyExecutor1>::value
|
|
1495
1358
|
|| is_base_of<any_executor, AnyExecutor2>::value,
|
|
1496
1359
|
bool
|
|
1497
|
-
|
|
1498
|
-
const AnyExecutor2& b)
|
|
1360
|
+
> operator==(const AnyExecutor1& a,
|
|
1361
|
+
const AnyExecutor2& b) noexcept
|
|
1499
1362
|
{
|
|
1500
1363
|
return static_cast<const any_executor&>(a).equality_helper(b);
|
|
1501
1364
|
}
|
|
1502
1365
|
|
|
1503
1366
|
template <typename AnyExecutor>
|
|
1504
|
-
friend
|
|
1367
|
+
friend enable_if_t<
|
|
1505
1368
|
is_same<AnyExecutor, any_executor>::value,
|
|
1506
1369
|
bool
|
|
1507
|
-
|
|
1370
|
+
> operator==(const AnyExecutor& a, nullptr_t) noexcept
|
|
1508
1371
|
{
|
|
1509
1372
|
return !a;
|
|
1510
1373
|
}
|
|
1511
1374
|
|
|
1512
1375
|
template <typename AnyExecutor>
|
|
1513
|
-
friend
|
|
1376
|
+
friend enable_if_t<
|
|
1514
1377
|
is_same<AnyExecutor, any_executor>::value,
|
|
1515
1378
|
bool
|
|
1516
|
-
|
|
1379
|
+
> operator==(nullptr_t, const AnyExecutor& b) noexcept
|
|
1517
1380
|
{
|
|
1518
1381
|
return !b;
|
|
1519
1382
|
}
|
|
1520
1383
|
|
|
1521
1384
|
template <typename AnyExecutor1, typename AnyExecutor2>
|
|
1522
|
-
friend
|
|
1385
|
+
friend enable_if_t<
|
|
1523
1386
|
is_base_of<any_executor, AnyExecutor1>::value
|
|
1524
1387
|
|| is_base_of<any_executor, AnyExecutor2>::value,
|
|
1525
1388
|
bool
|
|
1526
|
-
|
|
1527
|
-
const AnyExecutor2& b)
|
|
1389
|
+
> operator!=(const AnyExecutor1& a,
|
|
1390
|
+
const AnyExecutor2& b) noexcept
|
|
1528
1391
|
{
|
|
1529
1392
|
return !static_cast<const any_executor&>(a).equality_helper(b);
|
|
1530
1393
|
}
|
|
1531
1394
|
|
|
1532
1395
|
template <typename AnyExecutor>
|
|
1533
|
-
friend
|
|
1396
|
+
friend enable_if_t<
|
|
1534
1397
|
is_same<AnyExecutor, any_executor>::value,
|
|
1535
1398
|
bool
|
|
1536
|
-
|
|
1399
|
+
> operator!=(const AnyExecutor& a, nullptr_t) noexcept
|
|
1537
1400
|
{
|
|
1538
1401
|
return !!a;
|
|
1539
1402
|
}
|
|
1540
1403
|
|
|
1541
1404
|
template <typename AnyExecutor>
|
|
1542
|
-
friend
|
|
1405
|
+
friend enable_if_t<
|
|
1543
1406
|
is_same<AnyExecutor, any_executor>::value,
|
|
1544
1407
|
bool
|
|
1545
|
-
|
|
1408
|
+
> operator!=(nullptr_t, const AnyExecutor& b) noexcept
|
|
1546
1409
|
{
|
|
1547
1410
|
return !!b;
|
|
1548
1411
|
}
|
|
1549
1412
|
};
|
|
1550
1413
|
|
|
1551
|
-
inline void swap(any_executor<>& a, any_executor<>& b)
|
|
1414
|
+
inline void swap(any_executor<>& a, any_executor<>& b) noexcept
|
|
1552
1415
|
{
|
|
1553
1416
|
return a.swap(b);
|
|
1554
1417
|
}
|
|
1555
1418
|
|
|
1556
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
1557
|
-
|
|
1558
1419
|
template <typename... SupportableProperties>
|
|
1559
1420
|
class any_executor :
|
|
1560
1421
|
public detail::any_executor_base,
|
|
@@ -1564,13 +1425,13 @@ class any_executor :
|
|
|
1564
1425
|
0, void(SupportableProperties...)>::find_context_as_property>
|
|
1565
1426
|
{
|
|
1566
1427
|
public:
|
|
1567
|
-
any_executor()
|
|
1428
|
+
any_executor() noexcept
|
|
1568
1429
|
: detail::any_executor_base(),
|
|
1569
1430
|
prop_fns_(prop_fns_table<void>())
|
|
1570
1431
|
{
|
|
1571
1432
|
}
|
|
1572
1433
|
|
|
1573
|
-
any_executor(nullptr_t)
|
|
1434
|
+
any_executor(nullptr_t) noexcept
|
|
1574
1435
|
: detail::any_executor_base(),
|
|
1575
1436
|
prop_fns_(prop_fns_table<void>())
|
|
1576
1437
|
{
|
|
@@ -1578,34 +1439,34 @@ public:
|
|
|
1578
1439
|
|
|
1579
1440
|
template <typename Executor>
|
|
1580
1441
|
any_executor(Executor ex,
|
|
1581
|
-
|
|
1582
|
-
|
|
1442
|
+
enable_if_t<
|
|
1443
|
+
conditional_t<
|
|
1583
1444
|
!is_same<Executor, any_executor>::value
|
|
1584
1445
|
&& !is_base_of<detail::any_executor_base, Executor>::value,
|
|
1585
1446
|
detail::is_valid_target_executor<
|
|
1586
1447
|
Executor, void(SupportableProperties...)>,
|
|
1587
1448
|
false_type
|
|
1588
|
-
>::
|
|
1589
|
-
|
|
1449
|
+
>::value
|
|
1450
|
+
>* = 0)
|
|
1590
1451
|
: detail::any_executor_base(
|
|
1591
|
-
|
|
1452
|
+
static_cast<Executor&&>(ex), false_type()),
|
|
1592
1453
|
prop_fns_(prop_fns_table<Executor>())
|
|
1593
1454
|
{
|
|
1594
1455
|
}
|
|
1595
1456
|
|
|
1596
1457
|
template <typename Executor>
|
|
1597
1458
|
any_executor(std::nothrow_t, Executor ex,
|
|
1598
|
-
|
|
1599
|
-
|
|
1459
|
+
enable_if_t<
|
|
1460
|
+
conditional_t<
|
|
1600
1461
|
!is_same<Executor, any_executor>::value
|
|
1601
1462
|
&& !is_base_of<detail::any_executor_base, Executor>::value,
|
|
1602
1463
|
detail::is_valid_target_executor<
|
|
1603
1464
|
Executor, void(SupportableProperties...)>,
|
|
1604
1465
|
false_type
|
|
1605
|
-
>::
|
|
1606
|
-
|
|
1466
|
+
>::value
|
|
1467
|
+
>* = 0) noexcept
|
|
1607
1468
|
: detail::any_executor_base(std::nothrow,
|
|
1608
|
-
|
|
1469
|
+
static_cast<Executor&&>(ex), false_type()),
|
|
1609
1470
|
prop_fns_(prop_fns_table<Executor>())
|
|
1610
1471
|
{
|
|
1611
1472
|
if (this->template target<void>() == 0)
|
|
@@ -1614,62 +1475,64 @@ public:
|
|
|
1614
1475
|
|
|
1615
1476
|
template <typename... OtherSupportableProperties>
|
|
1616
1477
|
any_executor(any_executor<OtherSupportableProperties...> other,
|
|
1617
|
-
|
|
1618
|
-
|
|
1478
|
+
enable_if_t<
|
|
1479
|
+
conditional_t<
|
|
1619
1480
|
!is_same<
|
|
1620
1481
|
any_executor<OtherSupportableProperties...>,
|
|
1621
1482
|
any_executor
|
|
1622
1483
|
>::value,
|
|
1623
1484
|
typename detail::supportable_properties<
|
|
1624
1485
|
0, void(SupportableProperties...)>::template is_valid_target<
|
|
1625
|
-
any_executor<OtherSupportableProperties
|
|
1486
|
+
any_executor<OtherSupportableProperties...>>,
|
|
1626
1487
|
false_type
|
|
1627
|
-
>::
|
|
1628
|
-
|
|
1629
|
-
: detail::any_executor_base(
|
|
1630
|
-
|
|
1631
|
-
|
|
1488
|
+
>::value
|
|
1489
|
+
>* = 0)
|
|
1490
|
+
: detail::any_executor_base(
|
|
1491
|
+
static_cast<any_executor<OtherSupportableProperties...>&&>(other),
|
|
1492
|
+
true_type()),
|
|
1493
|
+
prop_fns_(prop_fns_table<any_executor<OtherSupportableProperties...>>())
|
|
1632
1494
|
{
|
|
1633
1495
|
}
|
|
1634
1496
|
|
|
1635
1497
|
template <typename... OtherSupportableProperties>
|
|
1636
1498
|
any_executor(std::nothrow_t,
|
|
1637
1499
|
any_executor<OtherSupportableProperties...> other,
|
|
1638
|
-
|
|
1639
|
-
|
|
1500
|
+
enable_if_t<
|
|
1501
|
+
conditional_t<
|
|
1640
1502
|
!is_same<
|
|
1641
1503
|
any_executor<OtherSupportableProperties...>,
|
|
1642
1504
|
any_executor
|
|
1643
1505
|
>::value,
|
|
1644
1506
|
typename detail::supportable_properties<
|
|
1645
1507
|
0, void(SupportableProperties...)>::template is_valid_target<
|
|
1646
|
-
any_executor<OtherSupportableProperties
|
|
1508
|
+
any_executor<OtherSupportableProperties...>>,
|
|
1647
1509
|
false_type
|
|
1648
|
-
>::
|
|
1649
|
-
|
|
1650
|
-
: detail::any_executor_base(std::nothrow,
|
|
1651
|
-
|
|
1652
|
-
|
|
1510
|
+
>::value
|
|
1511
|
+
>* = 0) noexcept
|
|
1512
|
+
: detail::any_executor_base(std::nothrow,
|
|
1513
|
+
static_cast<any_executor<OtherSupportableProperties...>&&>(other),
|
|
1514
|
+
true_type()),
|
|
1515
|
+
prop_fns_(prop_fns_table<any_executor<OtherSupportableProperties...>>())
|
|
1653
1516
|
{
|
|
1654
1517
|
if (this->template target<void>() == 0)
|
|
1655
1518
|
prop_fns_ = prop_fns_table<void>();
|
|
1656
1519
|
}
|
|
1657
1520
|
|
|
1658
|
-
any_executor(const any_executor& other)
|
|
1521
|
+
any_executor(const any_executor& other) noexcept
|
|
1659
1522
|
: detail::any_executor_base(
|
|
1660
1523
|
static_cast<const detail::any_executor_base&>(other)),
|
|
1661
1524
|
prop_fns_(other.prop_fns_)
|
|
1662
1525
|
{
|
|
1663
1526
|
}
|
|
1664
1527
|
|
|
1665
|
-
any_executor(std::nothrow_t, const any_executor& other)
|
|
1528
|
+
any_executor(std::nothrow_t, const any_executor& other) noexcept
|
|
1666
1529
|
: detail::any_executor_base(
|
|
1667
1530
|
static_cast<const detail::any_executor_base&>(other)),
|
|
1668
1531
|
prop_fns_(other.prop_fns_)
|
|
1669
1532
|
{
|
|
1670
1533
|
}
|
|
1671
1534
|
|
|
1672
|
-
any_executor& operator=(const any_executor& other)
|
|
1535
|
+
any_executor& operator=(const any_executor& other) noexcept
|
|
1673
1536
|
{
|
|
1674
1537
|
if (this != &other)
|
|
1675
1538
|
{
|
|
@@ -1680,16 +1543,14 @@ public:
|
|
|
1680
1543
|
return *this;
|
|
1681
1544
|
}
|
|
1682
1545
|
|
|
1683
|
-
any_executor& operator=(nullptr_t p)
|
|
1546
|
+
any_executor& operator=(nullptr_t p) noexcept
|
|
1684
1547
|
{
|
|
1685
1548
|
prop_fns_ = prop_fns_table<void>();
|
|
1686
1549
|
detail::any_executor_base::operator=(p);
|
|
1687
1550
|
return *this;
|
|
1688
1551
|
}
|
|
1689
1552
|
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
any_executor(any_executor&& other) BOOST_ASIO_NOEXCEPT
|
|
1553
|
+
any_executor(any_executor&& other) noexcept
|
|
1693
1554
|
: detail::any_executor_base(
|
|
1694
1555
|
static_cast<any_executor_base&&>(
|
|
1695
1556
|
static_cast<any_executor_base&>(other))),
|
|
@@ -1698,7 +1559,7 @@ public:
|
|
|
1698
1559
|
other.prop_fns_ = prop_fns_table<void>();
|
|
1699
1560
|
}
|
|
1700
1561
|
|
|
1701
|
-
any_executor(std::nothrow_t, any_executor&& other)
|
|
1562
|
+
any_executor(std::nothrow_t, any_executor&& other) noexcept
|
|
1702
1563
|
: detail::any_executor_base(
|
|
1703
1564
|
static_cast<any_executor_base&&>(
|
|
1704
1565
|
static_cast<any_executor_base&>(other))),
|
|
@@ -1707,7 +1568,7 @@ public:
|
|
|
1707
1568
|
other.prop_fns_ = prop_fns_table<void>();
|
|
1708
1569
|
}
|
|
1709
1570
|
|
|
1710
|
-
any_executor& operator=(any_executor&& other)
|
|
1571
|
+
any_executor& operator=(any_executor&& other) noexcept
|
|
1711
1572
|
{
|
|
1712
1573
|
if (this != &other)
|
|
1713
1574
|
{
|
|
@@ -1719,9 +1580,7 @@ public:
|
|
|
1719
1580
|
return *this;
|
|
1720
1581
|
}
|
|
1721
1582
|
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
void swap(any_executor& other) BOOST_ASIO_NOEXCEPT
|
|
1583
|
+
void swap(any_executor& other) noexcept
|
|
1725
1584
|
{
|
|
1726
1585
|
if (this != &other)
|
|
1727
1586
|
{
|
|
@@ -1739,65 +1598,65 @@ public:
|
|
|
1739
1598
|
using detail::any_executor_base::operator unspecified_bool_type;
|
|
1740
1599
|
using detail::any_executor_base::operator!;
|
|
1741
1600
|
|
|
1742
|
-
bool equality_helper(const any_executor& other) const
|
|
1601
|
+
bool equality_helper(const any_executor& other) const noexcept
|
|
1743
1602
|
{
|
|
1744
1603
|
return any_executor_base::equality_helper(other);
|
|
1745
1604
|
}
|
|
1746
1605
|
|
|
1747
1606
|
template <typename AnyExecutor1, typename AnyExecutor2>
|
|
1748
|
-
friend
|
|
1607
|
+
friend enable_if_t<
|
|
1749
1608
|
is_base_of<any_executor, AnyExecutor1>::value
|
|
1750
1609
|
|| is_base_of<any_executor, AnyExecutor2>::value,
|
|
1751
1610
|
bool
|
|
1752
|
-
|
|
1753
|
-
const AnyExecutor2& b)
|
|
1611
|
+
> operator==(const AnyExecutor1& a,
|
|
1612
|
+
const AnyExecutor2& b) noexcept
|
|
1754
1613
|
{
|
|
1755
1614
|
return static_cast<const any_executor&>(a).equality_helper(b);
|
|
1756
1615
|
}
|
|
1757
1616
|
|
|
1758
1617
|
template <typename AnyExecutor>
|
|
1759
|
-
friend
|
|
1618
|
+
friend enable_if_t<
|
|
1760
1619
|
is_same<AnyExecutor, any_executor>::value,
|
|
1761
1620
|
bool
|
|
1762
|
-
|
|
1621
|
+
> operator==(const AnyExecutor& a, nullptr_t) noexcept
|
|
1763
1622
|
{
|
|
1764
1623
|
return !a;
|
|
1765
1624
|
}
|
|
1766
1625
|
|
|
1767
1626
|
template <typename AnyExecutor>
|
|
1768
|
-
friend
|
|
1627
|
+
friend enable_if_t<
|
|
1769
1628
|
is_same<AnyExecutor, any_executor>::value,
|
|
1770
1629
|
bool
|
|
1771
|
-
|
|
1630
|
+
> operator==(nullptr_t, const AnyExecutor& b) noexcept
|
|
1772
1631
|
{
|
|
1773
1632
|
return !b;
|
|
1774
1633
|
}
|
|
1775
1634
|
|
|
1776
1635
|
template <typename AnyExecutor1, typename AnyExecutor2>
|
|
1777
|
-
friend
|
|
1636
|
+
friend enable_if_t<
|
|
1778
1637
|
is_base_of<any_executor, AnyExecutor1>::value
|
|
1779
1638
|
|| is_base_of<any_executor, AnyExecutor2>::value,
|
|
1780
1639
|
bool
|
|
1781
|
-
|
|
1782
|
-
const AnyExecutor2& b)
|
|
1640
|
+
> operator!=(const AnyExecutor1& a,
|
|
1641
|
+
const AnyExecutor2& b) noexcept
|
|
1783
1642
|
{
|
|
1784
1643
|
return !static_cast<const any_executor&>(a).equality_helper(b);
|
|
1785
1644
|
}
|
|
1786
1645
|
|
|
1787
1646
|
template <typename AnyExecutor>
|
|
1788
|
-
friend
|
|
1647
|
+
friend enable_if_t<
|
|
1789
1648
|
is_same<AnyExecutor, any_executor>::value,
|
|
1790
1649
|
bool
|
|
1791
|
-
|
|
1650
|
+
> operator!=(const AnyExecutor& a, nullptr_t) noexcept
|
|
1792
1651
|
{
|
|
1793
1652
|
return !!a;
|
|
1794
1653
|
}
|
|
1795
1654
|
|
|
1796
1655
|
template <typename AnyExecutor>
|
|
1797
|
-
friend
|
|
1656
|
+
friend enable_if_t<
|
|
1798
1657
|
is_same<AnyExecutor, any_executor>::value,
|
|
1799
1658
|
bool
|
|
1800
|
-
|
|
1659
|
+
> operator!=(nullptr_t, const AnyExecutor& b) noexcept
|
|
1801
1660
|
{
|
|
1802
1661
|
return !!b;
|
|
1803
1662
|
}
|
|
@@ -1810,13 +1669,18 @@ public:
|
|
|
1810
1669
|
|
|
1811
1670
|
template <typename Property>
|
|
1812
1671
|
void query(const Property& p,
|
|
1813
|
-
|
|
1672
|
+
enable_if_t<
|
|
1814
1673
|
is_same<
|
|
1815
1674
|
typename find_convertible_property<Property>::query_result_type,
|
|
1816
1675
|
void
|
|
1817
1676
|
>::value
|
|
1818
|
-
|
|
1677
|
+
>* = 0) const
|
|
1819
1678
|
{
|
|
1679
|
+
if (!target_)
|
|
1680
|
+
{
|
|
1681
|
+
bad_executor ex;
|
|
1682
|
+
boost::asio::detail::throw_exception(ex);
|
|
1683
|
+
}
|
|
1820
1684
|
typedef find_convertible_property<Property> found;
|
|
1821
1685
|
prop_fns_[found::index].query(0, object_fns_->target(*this),
|
|
1822
1686
|
&static_cast<const typename found::type&>(p));
|
|
@@ -1825,7 +1689,7 @@ public:
|
|
|
1825
1689
|
template <typename Property>
|
|
1826
1690
|
typename find_convertible_property<Property>::query_result_type
|
|
1827
1691
|
query(const Property& p,
|
|
1828
|
-
|
|
1692
|
+
enable_if_t<
|
|
1829
1693
|
!is_same<
|
|
1830
1694
|
typename find_convertible_property<Property>::query_result_type,
|
|
1831
1695
|
void
|
|
@@ -1834,11 +1698,15 @@ public:
|
|
|
1834
1698
|
is_reference<
|
|
1835
1699
|
typename find_convertible_property<Property>::query_result_type
|
|
1836
1700
|
>::value
|
|
1837
|
-
|
|
1701
|
+
>* = 0) const
|
|
1838
1702
|
{
|
|
1703
|
+
if (!target_)
|
|
1704
|
+
{
|
|
1705
|
+
bad_executor ex;
|
|
1706
|
+
boost::asio::detail::throw_exception(ex);
|
|
1707
|
+
}
|
|
1839
1708
|
typedef find_convertible_property<Property> found;
|
|
1840
|
-
typename
|
|
1841
|
-
typename found::query_result_type>::type* result = 0;
|
|
1709
|
+
remove_reference_t<typename found::query_result_type>* result = 0;
|
|
1842
1710
|
prop_fns_[found::index].query(&result, object_fns_->target(*this),
|
|
1843
1711
|
&static_cast<const typename found::type&>(p));
|
|
1844
1712
|
return *result;
|
|
@@ -1847,7 +1715,7 @@ public:
|
|
|
1847
1715
|
template <typename Property>
|
|
1848
1716
|
typename find_convertible_property<Property>::query_result_type
|
|
1849
1717
|
query(const Property& p,
|
|
1850
|
-
|
|
1718
|
+
enable_if_t<
|
|
1851
1719
|
!is_same<
|
|
1852
1720
|
typename find_convertible_property<Property>::query_result_type,
|
|
1853
1721
|
void
|
|
@@ -1856,8 +1724,13 @@ public:
|
|
|
1856
1724
|
is_scalar<
|
|
1857
1725
|
typename find_convertible_property<Property>::query_result_type
|
|
1858
1726
|
>::value
|
|
1859
|
-
|
|
1727
|
+
>* = 0) const
|
|
1860
1728
|
{
|
|
1729
|
+
if (!target_)
|
|
1730
|
+
{
|
|
1731
|
+
bad_executor ex;
|
|
1732
|
+
boost::asio::detail::throw_exception(ex);
|
|
1733
|
+
}
|
|
1861
1734
|
typedef find_convertible_property<Property> found;
|
|
1862
1735
|
typename found::query_result_type result;
|
|
1863
1736
|
prop_fns_[found::index].query(&result, object_fns_->target(*this),
|
|
@@ -1868,7 +1741,7 @@ public:
|
|
|
1868
1741
|
template <typename Property>
|
|
1869
1742
|
typename find_convertible_property<Property>::query_result_type
|
|
1870
1743
|
query(const Property& p,
|
|
1871
|
-
|
|
1744
|
+
enable_if_t<
|
|
1872
1745
|
!is_same<
|
|
1873
1746
|
typename find_convertible_property<Property>::query_result_type,
|
|
1874
1747
|
void
|
|
@@ -1881,8 +1754,13 @@ public:
|
|
|
1881
1754
|
!is_scalar<
|
|
1882
1755
|
typename find_convertible_property<Property>::query_result_type
|
|
1883
1756
|
>::value
|
|
1884
|
-
|
|
1757
|
+
>* = 0) const
|
|
1885
1758
|
{
|
|
1759
|
+
if (!target_)
|
|
1760
|
+
{
|
|
1761
|
+
bad_executor ex;
|
|
1762
|
+
boost::asio::detail::throw_exception(ex);
|
|
1763
|
+
}
|
|
1886
1764
|
typedef find_convertible_property<Property> found;
|
|
1887
1765
|
typename found::query_result_type* result;
|
|
1888
1766
|
prop_fns_[found::index].query(&result, object_fns_->target(*this),
|
|
@@ -1899,10 +1777,15 @@ public:
|
|
|
1899
1777
|
|
|
1900
1778
|
template <typename Property>
|
|
1901
1779
|
any_executor require(const Property& p,
|
|
1902
|
-
|
|
1780
|
+
enable_if_t<
|
|
1903
1781
|
find_convertible_requirable_property<Property>::value
|
|
1904
|
-
|
|
1782
|
+
>* = 0) const
|
|
1905
1783
|
{
|
|
1784
|
+
if (!target_)
|
|
1785
|
+
{
|
|
1786
|
+
bad_executor ex;
|
|
1787
|
+
boost::asio::detail::throw_exception(ex);
|
|
1788
|
+
}
|
|
1906
1789
|
typedef find_convertible_requirable_property<Property> found;
|
|
1907
1790
|
return prop_fns_[found::index].require(object_fns_->target(*this),
|
|
1908
1791
|
&static_cast<const typename found::type&>(p));
|
|
@@ -1916,10 +1799,15 @@ public:
|
|
|
1916
1799
|
|
|
1917
1800
|
template <typename Property>
|
|
1918
1801
|
any_executor prefer(const Property& p,
|
|
1919
|
-
|
|
1802
|
+
enable_if_t<
|
|
1920
1803
|
find_convertible_preferable_property<Property>::value
|
|
1921
|
-
|
|
1804
|
+
>* = 0) const
|
|
1922
1805
|
{
|
|
1806
|
+
if (!target_)
|
|
1807
|
+
{
|
|
1808
|
+
bad_executor ex;
|
|
1809
|
+
boost::asio::detail::throw_exception(ex);
|
|
1810
|
+
}
|
|
1923
1811
|
typedef find_convertible_preferable_property<Property> found;
|
|
1924
1812
|
return prop_fns_[found::index].prefer(object_fns_->target(*this),
|
|
1925
1813
|
&static_cast<const typename found::type&>(p));
|
|
@@ -1948,702 +1836,91 @@ public:
|
|
|
1948
1836
|
|
|
1949
1837
|
template <typename... SupportableProperties>
|
|
1950
1838
|
inline void swap(any_executor<SupportableProperties...>& a,
|
|
1951
|
-
any_executor<SupportableProperties...>& b)
|
|
1839
|
+
any_executor<SupportableProperties...>& b) noexcept
|
|
1952
1840
|
{
|
|
1953
1841
|
return a.swap(b);
|
|
1954
1842
|
}
|
|
1955
1843
|
|
|
1956
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
1957
|
-
|
|
1958
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS(n) \
|
|
1959
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_##n
|
|
1960
|
-
|
|
1961
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_1 \
|
|
1962
|
-
{ \
|
|
1963
|
-
&detail::any_executor_base::query_fn<Ex, T1>, \
|
|
1964
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T1>, \
|
|
1965
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T1> \
|
|
1966
|
-
}
|
|
1967
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_2 \
|
|
1968
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_1, \
|
|
1969
|
-
{ \
|
|
1970
|
-
&detail::any_executor_base::query_fn<Ex, T2>, \
|
|
1971
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T2>, \
|
|
1972
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T2> \
|
|
1973
|
-
}
|
|
1974
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_3 \
|
|
1975
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_2, \
|
|
1976
|
-
{ \
|
|
1977
|
-
&detail::any_executor_base::query_fn<Ex, T3>, \
|
|
1978
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T3>, \
|
|
1979
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T3> \
|
|
1980
|
-
}
|
|
1981
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_4 \
|
|
1982
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_3, \
|
|
1983
|
-
{ \
|
|
1984
|
-
&detail::any_executor_base::query_fn<Ex, T4>, \
|
|
1985
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T4>, \
|
|
1986
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T4> \
|
|
1987
|
-
}
|
|
1988
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_5 \
|
|
1989
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_4, \
|
|
1990
|
-
{ \
|
|
1991
|
-
&detail::any_executor_base::query_fn<Ex, T5>, \
|
|
1992
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T5>, \
|
|
1993
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T5> \
|
|
1994
|
-
}
|
|
1995
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_6 \
|
|
1996
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_5, \
|
|
1997
|
-
{ \
|
|
1998
|
-
&detail::any_executor_base::query_fn<Ex, T6>, \
|
|
1999
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T6>, \
|
|
2000
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T6> \
|
|
2001
|
-
}
|
|
2002
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_7 \
|
|
2003
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_6, \
|
|
2004
|
-
{ \
|
|
2005
|
-
&detail::any_executor_base::query_fn<Ex, T7>, \
|
|
2006
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T7>, \
|
|
2007
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T7> \
|
|
2008
|
-
}
|
|
2009
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_8 \
|
|
2010
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_7, \
|
|
2011
|
-
{ \
|
|
2012
|
-
&detail::any_executor_base::query_fn<Ex, T8>, \
|
|
2013
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T8>, \
|
|
2014
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T8> \
|
|
2015
|
-
}
|
|
2016
|
-
|
|
2017
|
-
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
2018
|
-
|
|
2019
|
-
# define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS \
|
|
2020
|
-
any_executor(any_executor&& other) BOOST_ASIO_NOEXCEPT \
|
|
2021
|
-
: detail::any_executor_base( \
|
|
2022
|
-
static_cast<any_executor_base&&>( \
|
|
2023
|
-
static_cast<any_executor_base&>(other))), \
|
|
2024
|
-
prop_fns_(other.prop_fns_) \
|
|
2025
|
-
{ \
|
|
2026
|
-
other.prop_fns_ = prop_fns_table<void>(); \
|
|
2027
|
-
} \
|
|
2028
|
-
\
|
|
2029
|
-
any_executor(std::nothrow_t, any_executor&& other) BOOST_ASIO_NOEXCEPT \
|
|
2030
|
-
: detail::any_executor_base( \
|
|
2031
|
-
static_cast<any_executor_base&&>( \
|
|
2032
|
-
static_cast<any_executor_base&>(other))), \
|
|
2033
|
-
prop_fns_(other.prop_fns_) \
|
|
2034
|
-
{ \
|
|
2035
|
-
other.prop_fns_ = prop_fns_table<void>(); \
|
|
2036
|
-
} \
|
|
2037
|
-
\
|
|
2038
|
-
any_executor& operator=(any_executor&& other) BOOST_ASIO_NOEXCEPT \
|
|
2039
|
-
{ \
|
|
2040
|
-
if (this != &other) \
|
|
2041
|
-
{ \
|
|
2042
|
-
prop_fns_ = other.prop_fns_; \
|
|
2043
|
-
detail::any_executor_base::operator=( \
|
|
2044
|
-
static_cast<detail::any_executor_base&&>( \
|
|
2045
|
-
static_cast<detail::any_executor_base&>(other))); \
|
|
2046
|
-
} \
|
|
2047
|
-
return *this; \
|
|
2048
|
-
} \
|
|
2049
|
-
/**/
|
|
2050
|
-
#else // defined(BOOST_ASIO_HAS_MOVE)
|
|
2051
|
-
|
|
2052
|
-
# define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS
|
|
2053
|
-
|
|
2054
|
-
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
2055
|
-
|
|
2056
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_DEF(n) \
|
|
2057
|
-
template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2058
|
-
class any_executor<BOOST_ASIO_VARIADIC_TARGS(n)> : \
|
|
2059
|
-
public detail::any_executor_base, \
|
|
2060
|
-
public detail::any_executor_context< \
|
|
2061
|
-
any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>, \
|
|
2062
|
-
typename detail::supportable_properties< \
|
|
2063
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::find_context_as_property> \
|
|
2064
|
-
{ \
|
|
2065
|
-
public: \
|
|
2066
|
-
any_executor() BOOST_ASIO_NOEXCEPT \
|
|
2067
|
-
: detail::any_executor_base(), \
|
|
2068
|
-
prop_fns_(prop_fns_table<void>()) \
|
|
2069
|
-
{ \
|
|
2070
|
-
} \
|
|
2071
|
-
\
|
|
2072
|
-
any_executor(nullptr_t) BOOST_ASIO_NOEXCEPT \
|
|
2073
|
-
: detail::any_executor_base(), \
|
|
2074
|
-
prop_fns_(prop_fns_table<void>()) \
|
|
2075
|
-
{ \
|
|
2076
|
-
} \
|
|
2077
|
-
\
|
|
2078
|
-
template <BOOST_ASIO_EXECUTION_EXECUTOR Executor> \
|
|
2079
|
-
any_executor(Executor ex, \
|
|
2080
|
-
typename enable_if< \
|
|
2081
|
-
conditional< \
|
|
2082
|
-
!is_same<Executor, any_executor>::value \
|
|
2083
|
-
&& !is_base_of<detail::any_executor_base, Executor>::value, \
|
|
2084
|
-
detail::is_valid_target_executor< \
|
|
2085
|
-
Executor, void(BOOST_ASIO_VARIADIC_TARGS(n))>, \
|
|
2086
|
-
false_type \
|
|
2087
|
-
>::type::value \
|
|
2088
|
-
>::type* = 0) \
|
|
2089
|
-
: detail::any_executor_base(BOOST_ASIO_MOVE_CAST( \
|
|
2090
|
-
Executor)(ex), false_type()), \
|
|
2091
|
-
prop_fns_(prop_fns_table<Executor>()) \
|
|
2092
|
-
{ \
|
|
2093
|
-
} \
|
|
2094
|
-
\
|
|
2095
|
-
template <BOOST_ASIO_EXECUTION_EXECUTOR Executor> \
|
|
2096
|
-
any_executor(std::nothrow_t, Executor ex, \
|
|
2097
|
-
typename enable_if< \
|
|
2098
|
-
conditional< \
|
|
2099
|
-
!is_same<Executor, any_executor>::value \
|
|
2100
|
-
&& !is_base_of<detail::any_executor_base, Executor>::value, \
|
|
2101
|
-
detail::is_valid_target_executor< \
|
|
2102
|
-
Executor, void(BOOST_ASIO_VARIADIC_TARGS(n))>, \
|
|
2103
|
-
false_type \
|
|
2104
|
-
>::type::value \
|
|
2105
|
-
>::type* = 0) BOOST_ASIO_NOEXCEPT \
|
|
2106
|
-
: detail::any_executor_base(std::nothrow, \
|
|
2107
|
-
BOOST_ASIO_MOVE_CAST(Executor)(ex), false_type()), \
|
|
2108
|
-
prop_fns_(prop_fns_table<Executor>()) \
|
|
2109
|
-
{ \
|
|
2110
|
-
if (this->template target<void>() == 0) \
|
|
2111
|
-
prop_fns_ = prop_fns_table<void>(); \
|
|
2112
|
-
} \
|
|
2113
|
-
\
|
|
2114
|
-
any_executor(const any_executor& other) BOOST_ASIO_NOEXCEPT \
|
|
2115
|
-
: detail::any_executor_base( \
|
|
2116
|
-
static_cast<const detail::any_executor_base&>(other)), \
|
|
2117
|
-
prop_fns_(other.prop_fns_) \
|
|
2118
|
-
{ \
|
|
2119
|
-
} \
|
|
2120
|
-
\
|
|
2121
|
-
any_executor(std::nothrow_t, \
|
|
2122
|
-
const any_executor& other) BOOST_ASIO_NOEXCEPT \
|
|
2123
|
-
: detail::any_executor_base( \
|
|
2124
|
-
static_cast<const detail::any_executor_base&>(other)), \
|
|
2125
|
-
prop_fns_(other.prop_fns_) \
|
|
2126
|
-
{ \
|
|
2127
|
-
if (this->template target<void>() == 0) \
|
|
2128
|
-
prop_fns_ = prop_fns_table<void>(); \
|
|
2129
|
-
} \
|
|
2130
|
-
\
|
|
2131
|
-
any_executor(any_executor<> other) \
|
|
2132
|
-
: detail::any_executor_base(BOOST_ASIO_MOVE_CAST( \
|
|
2133
|
-
any_executor<>)(other), true_type()), \
|
|
2134
|
-
prop_fns_(prop_fns_table<any_executor<> >()) \
|
|
2135
|
-
{ \
|
|
2136
|
-
} \
|
|
2137
|
-
\
|
|
2138
|
-
any_executor(std::nothrow_t, any_executor<> other) BOOST_ASIO_NOEXCEPT \
|
|
2139
|
-
: detail::any_executor_base(std::nothrow, \
|
|
2140
|
-
BOOST_ASIO_MOVE_CAST(any_executor<>)(other), true_type()), \
|
|
2141
|
-
prop_fns_(prop_fns_table<any_executor<> >()) \
|
|
2142
|
-
{ \
|
|
2143
|
-
if (this->template target<void>() == 0) \
|
|
2144
|
-
prop_fns_ = prop_fns_table<void>(); \
|
|
2145
|
-
} \
|
|
2146
|
-
\
|
|
2147
|
-
template <typename OtherAnyExecutor> \
|
|
2148
|
-
any_executor(OtherAnyExecutor other, \
|
|
2149
|
-
typename enable_if< \
|
|
2150
|
-
conditional< \
|
|
2151
|
-
!is_same<OtherAnyExecutor, any_executor>::value \
|
|
2152
|
-
&& is_base_of<detail::any_executor_base, \
|
|
2153
|
-
OtherAnyExecutor>::value, \
|
|
2154
|
-
typename detail::supportable_properties< \
|
|
2155
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2156
|
-
is_valid_target<OtherAnyExecutor>, \
|
|
2157
|
-
false_type \
|
|
2158
|
-
>::type::value \
|
|
2159
|
-
>::type* = 0) \
|
|
2160
|
-
: detail::any_executor_base(BOOST_ASIO_MOVE_CAST( \
|
|
2161
|
-
OtherAnyExecutor)(other), true_type()), \
|
|
2162
|
-
prop_fns_(prop_fns_table<OtherAnyExecutor>()) \
|
|
2163
|
-
{ \
|
|
2164
|
-
} \
|
|
2165
|
-
\
|
|
2166
|
-
template <typename OtherAnyExecutor> \
|
|
2167
|
-
any_executor(std::nothrow_t, OtherAnyExecutor other, \
|
|
2168
|
-
typename enable_if< \
|
|
2169
|
-
conditional< \
|
|
2170
|
-
!is_same<OtherAnyExecutor, any_executor>::value \
|
|
2171
|
-
&& is_base_of<detail::any_executor_base, \
|
|
2172
|
-
OtherAnyExecutor>::value, \
|
|
2173
|
-
typename detail::supportable_properties< \
|
|
2174
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2175
|
-
is_valid_target<OtherAnyExecutor>, \
|
|
2176
|
-
false_type \
|
|
2177
|
-
>::type::value \
|
|
2178
|
-
>::type* = 0) BOOST_ASIO_NOEXCEPT \
|
|
2179
|
-
: detail::any_executor_base(std::nothrow, \
|
|
2180
|
-
BOOST_ASIO_MOVE_CAST(OtherAnyExecutor)(other), true_type()), \
|
|
2181
|
-
prop_fns_(prop_fns_table<OtherAnyExecutor>()) \
|
|
2182
|
-
{ \
|
|
2183
|
-
if (this->template target<void>() == 0) \
|
|
2184
|
-
prop_fns_ = prop_fns_table<void>(); \
|
|
2185
|
-
} \
|
|
2186
|
-
\
|
|
2187
|
-
any_executor& operator=(const any_executor& other) BOOST_ASIO_NOEXCEPT \
|
|
2188
|
-
{ \
|
|
2189
|
-
if (this != &other) \
|
|
2190
|
-
{ \
|
|
2191
|
-
prop_fns_ = other.prop_fns_; \
|
|
2192
|
-
detail::any_executor_base::operator=( \
|
|
2193
|
-
static_cast<const detail::any_executor_base&>(other)); \
|
|
2194
|
-
} \
|
|
2195
|
-
return *this; \
|
|
2196
|
-
} \
|
|
2197
|
-
\
|
|
2198
|
-
any_executor& operator=(nullptr_t p) BOOST_ASIO_NOEXCEPT \
|
|
2199
|
-
{ \
|
|
2200
|
-
prop_fns_ = prop_fns_table<void>(); \
|
|
2201
|
-
detail::any_executor_base::operator=(p); \
|
|
2202
|
-
return *this; \
|
|
2203
|
-
} \
|
|
2204
|
-
\
|
|
2205
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS \
|
|
2206
|
-
\
|
|
2207
|
-
void swap(any_executor& other) BOOST_ASIO_NOEXCEPT \
|
|
2208
|
-
{ \
|
|
2209
|
-
if (this != &other) \
|
|
2210
|
-
{ \
|
|
2211
|
-
detail::any_executor_base::swap( \
|
|
2212
|
-
static_cast<detail::any_executor_base&>(other)); \
|
|
2213
|
-
const prop_fns<any_executor>* tmp_prop_fns = other.prop_fns_; \
|
|
2214
|
-
other.prop_fns_ = prop_fns_; \
|
|
2215
|
-
prop_fns_ = tmp_prop_fns; \
|
|
2216
|
-
} \
|
|
2217
|
-
} \
|
|
2218
|
-
\
|
|
2219
|
-
using detail::any_executor_base::execute; \
|
|
2220
|
-
using detail::any_executor_base::target; \
|
|
2221
|
-
using detail::any_executor_base::target_type; \
|
|
2222
|
-
using detail::any_executor_base::operator unspecified_bool_type; \
|
|
2223
|
-
using detail::any_executor_base::operator!; \
|
|
2224
|
-
\
|
|
2225
|
-
bool equality_helper(const any_executor& other) const BOOST_ASIO_NOEXCEPT \
|
|
2226
|
-
{ \
|
|
2227
|
-
return any_executor_base::equality_helper(other); \
|
|
2228
|
-
} \
|
|
2229
|
-
\
|
|
2230
|
-
template <typename AnyExecutor1, typename AnyExecutor2> \
|
|
2231
|
-
friend typename enable_if< \
|
|
2232
|
-
is_base_of<any_executor, AnyExecutor1>::value \
|
|
2233
|
-
|| is_base_of<any_executor, AnyExecutor2>::value, \
|
|
2234
|
-
bool \
|
|
2235
|
-
>::type operator==(const AnyExecutor1& a, \
|
|
2236
|
-
const AnyExecutor2& b) BOOST_ASIO_NOEXCEPT \
|
|
2237
|
-
{ \
|
|
2238
|
-
return static_cast<const any_executor&>(a).equality_helper(b); \
|
|
2239
|
-
} \
|
|
2240
|
-
\
|
|
2241
|
-
template <typename AnyExecutor> \
|
|
2242
|
-
friend typename enable_if< \
|
|
2243
|
-
is_same<AnyExecutor, any_executor>::value, \
|
|
2244
|
-
bool \
|
|
2245
|
-
>::type operator==(const AnyExecutor& a, nullptr_t) BOOST_ASIO_NOEXCEPT \
|
|
2246
|
-
{ \
|
|
2247
|
-
return !a; \
|
|
2248
|
-
} \
|
|
2249
|
-
\
|
|
2250
|
-
template <typename AnyExecutor> \
|
|
2251
|
-
friend typename enable_if< \
|
|
2252
|
-
is_same<AnyExecutor, any_executor>::value, \
|
|
2253
|
-
bool \
|
|
2254
|
-
>::type operator==(nullptr_t, const AnyExecutor& b) BOOST_ASIO_NOEXCEPT \
|
|
2255
|
-
{ \
|
|
2256
|
-
return !b; \
|
|
2257
|
-
} \
|
|
2258
|
-
\
|
|
2259
|
-
template <typename AnyExecutor1, typename AnyExecutor2> \
|
|
2260
|
-
friend typename enable_if< \
|
|
2261
|
-
is_base_of<any_executor, AnyExecutor1>::value \
|
|
2262
|
-
|| is_base_of<any_executor, AnyExecutor2>::value, \
|
|
2263
|
-
bool \
|
|
2264
|
-
>::type operator!=(const AnyExecutor1& a, \
|
|
2265
|
-
const AnyExecutor2& b) BOOST_ASIO_NOEXCEPT \
|
|
2266
|
-
{ \
|
|
2267
|
-
return !static_cast<const any_executor&>(a).equality_helper(b); \
|
|
2268
|
-
} \
|
|
2269
|
-
\
|
|
2270
|
-
template <typename AnyExecutor> \
|
|
2271
|
-
friend typename enable_if< \
|
|
2272
|
-
is_same<AnyExecutor, any_executor>::value, \
|
|
2273
|
-
bool \
|
|
2274
|
-
>::type operator!=(const AnyExecutor& a, nullptr_t) BOOST_ASIO_NOEXCEPT \
|
|
2275
|
-
{ \
|
|
2276
|
-
return !!a; \
|
|
2277
|
-
} \
|
|
2278
|
-
\
|
|
2279
|
-
template <typename AnyExecutor> \
|
|
2280
|
-
friend typename enable_if< \
|
|
2281
|
-
is_same<AnyExecutor, any_executor>::value, \
|
|
2282
|
-
bool \
|
|
2283
|
-
>::type operator!=(nullptr_t, const AnyExecutor& b) BOOST_ASIO_NOEXCEPT \
|
|
2284
|
-
{ \
|
|
2285
|
-
return !!b; \
|
|
2286
|
-
} \
|
|
2287
|
-
\
|
|
2288
|
-
template <typename T> \
|
|
2289
|
-
struct find_convertible_property : \
|
|
2290
|
-
detail::supportable_properties< \
|
|
2291
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2292
|
-
find_convertible_property<T> {}; \
|
|
2293
|
-
\
|
|
2294
|
-
template <typename Property> \
|
|
2295
|
-
void query(const Property& p, \
|
|
2296
|
-
typename enable_if< \
|
|
2297
|
-
is_same< \
|
|
2298
|
-
typename find_convertible_property<Property>::query_result_type, \
|
|
2299
|
-
void \
|
|
2300
|
-
>::value \
|
|
2301
|
-
>::type* = 0) const \
|
|
2302
|
-
{ \
|
|
2303
|
-
typedef find_convertible_property<Property> found; \
|
|
2304
|
-
prop_fns_[found::index].query(0, object_fns_->target(*this), \
|
|
2305
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2306
|
-
} \
|
|
2307
|
-
\
|
|
2308
|
-
template <typename Property> \
|
|
2309
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2310
|
-
query(const Property& p, \
|
|
2311
|
-
typename enable_if< \
|
|
2312
|
-
!is_same< \
|
|
2313
|
-
typename find_convertible_property<Property>::query_result_type, \
|
|
2314
|
-
void \
|
|
2315
|
-
>::value \
|
|
2316
|
-
&& \
|
|
2317
|
-
is_reference< \
|
|
2318
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2319
|
-
>::value \
|
|
2320
|
-
>::type* = 0) const \
|
|
2321
|
-
{ \
|
|
2322
|
-
typedef find_convertible_property<Property> found; \
|
|
2323
|
-
typename remove_reference< \
|
|
2324
|
-
typename found::query_result_type>::type* result; \
|
|
2325
|
-
prop_fns_[found::index].query(&result, object_fns_->target(*this), \
|
|
2326
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2327
|
-
return *result; \
|
|
2328
|
-
} \
|
|
2329
|
-
\
|
|
2330
|
-
template <typename Property> \
|
|
2331
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2332
|
-
query(const Property& p, \
|
|
2333
|
-
typename enable_if< \
|
|
2334
|
-
!is_same< \
|
|
2335
|
-
typename find_convertible_property<Property>::query_result_type, \
|
|
2336
|
-
void \
|
|
2337
|
-
>::value \
|
|
2338
|
-
&& \
|
|
2339
|
-
is_scalar< \
|
|
2340
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2341
|
-
>::value \
|
|
2342
|
-
>::type* = 0) const \
|
|
2343
|
-
{ \
|
|
2344
|
-
typedef find_convertible_property<Property> found; \
|
|
2345
|
-
typename found::query_result_type result; \
|
|
2346
|
-
prop_fns_[found::index].query(&result, object_fns_->target(*this), \
|
|
2347
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2348
|
-
return result; \
|
|
2349
|
-
} \
|
|
2350
|
-
\
|
|
2351
|
-
template <typename Property> \
|
|
2352
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2353
|
-
query(const Property& p, \
|
|
2354
|
-
typename enable_if< \
|
|
2355
|
-
!is_same< \
|
|
2356
|
-
typename find_convertible_property<Property>::query_result_type, \
|
|
2357
|
-
void \
|
|
2358
|
-
>::value \
|
|
2359
|
-
&& \
|
|
2360
|
-
!is_reference< \
|
|
2361
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2362
|
-
>::value \
|
|
2363
|
-
&& \
|
|
2364
|
-
!is_scalar< \
|
|
2365
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2366
|
-
>::value \
|
|
2367
|
-
>::type* = 0) const \
|
|
2368
|
-
{ \
|
|
2369
|
-
typedef find_convertible_property<Property> found; \
|
|
2370
|
-
typename found::query_result_type* result; \
|
|
2371
|
-
prop_fns_[found::index].query(&result, object_fns_->target(*this), \
|
|
2372
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2373
|
-
return *boost::asio::detail::scoped_ptr< \
|
|
2374
|
-
typename found::query_result_type>(result); \
|
|
2375
|
-
} \
|
|
2376
|
-
\
|
|
2377
|
-
template <typename T> \
|
|
2378
|
-
struct find_convertible_requirable_property : \
|
|
2379
|
-
detail::supportable_properties< \
|
|
2380
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2381
|
-
find_convertible_requirable_property<T> {}; \
|
|
2382
|
-
\
|
|
2383
|
-
template <typename Property> \
|
|
2384
|
-
any_executor require(const Property& p, \
|
|
2385
|
-
typename enable_if< \
|
|
2386
|
-
find_convertible_requirable_property<Property>::value \
|
|
2387
|
-
>::type* = 0) const \
|
|
2388
|
-
{ \
|
|
2389
|
-
typedef find_convertible_requirable_property<Property> found; \
|
|
2390
|
-
return prop_fns_[found::index].require(object_fns_->target(*this), \
|
|
2391
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2392
|
-
} \
|
|
2393
|
-
\
|
|
2394
|
-
template <typename T> \
|
|
2395
|
-
struct find_convertible_preferable_property : \
|
|
2396
|
-
detail::supportable_properties< \
|
|
2397
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2398
|
-
find_convertible_preferable_property<T> {}; \
|
|
2399
|
-
\
|
|
2400
|
-
template <typename Property> \
|
|
2401
|
-
any_executor prefer(const Property& p, \
|
|
2402
|
-
typename enable_if< \
|
|
2403
|
-
find_convertible_preferable_property<Property>::value \
|
|
2404
|
-
>::type* = 0) const \
|
|
2405
|
-
{ \
|
|
2406
|
-
typedef find_convertible_preferable_property<Property> found; \
|
|
2407
|
-
return prop_fns_[found::index].prefer(object_fns_->target(*this), \
|
|
2408
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2409
|
-
} \
|
|
2410
|
-
\
|
|
2411
|
-
template <typename Ex> \
|
|
2412
|
-
static const prop_fns<any_executor>* prop_fns_table() \
|
|
2413
|
-
{ \
|
|
2414
|
-
static const prop_fns<any_executor> fns[] = \
|
|
2415
|
-
{ \
|
|
2416
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS(n) \
|
|
2417
|
-
}; \
|
|
2418
|
-
return fns; \
|
|
2419
|
-
} \
|
|
2420
|
-
\
|
|
2421
|
-
const prop_fns<any_executor>* prop_fns_; \
|
|
2422
|
-
typedef detail::supportable_properties<0, \
|
|
2423
|
-
void(BOOST_ASIO_VARIADIC_TARGS(n))> supportable_properties_type; \
|
|
2424
|
-
}; \
|
|
2425
|
-
\
|
|
2426
|
-
template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2427
|
-
inline void swap(any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>& a, \
|
|
2428
|
-
any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>& b) BOOST_ASIO_NOEXCEPT \
|
|
2429
|
-
{ \
|
|
2430
|
-
return a.swap(b); \
|
|
2431
|
-
} \
|
|
2432
|
-
/**/
|
|
2433
|
-
BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_ANY_EXECUTOR_DEF)
|
|
2434
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_DEF
|
|
2435
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS
|
|
2436
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS
|
|
2437
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_1
|
|
2438
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_2
|
|
2439
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_3
|
|
2440
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_4
|
|
2441
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_5
|
|
2442
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_6
|
|
2443
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_7
|
|
2444
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_8
|
|
2445
|
-
|
|
2446
|
-
#endif // if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2447
|
-
|
|
2448
1844
|
} // namespace execution
|
|
2449
1845
|
namespace traits {
|
|
2450
1846
|
|
|
2451
1847
|
#if !defined(BOOST_ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
|
|
2452
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2453
1848
|
|
|
2454
1849
|
template <typename... SupportableProperties>
|
|
2455
|
-
struct equality_comparable<execution::any_executor<SupportableProperties
|
|
2456
|
-
{
|
|
2457
|
-
static const bool is_valid = true;
|
|
2458
|
-
static const bool is_noexcept = true;
|
|
2459
|
-
};
|
|
2460
|
-
|
|
2461
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2462
|
-
|
|
2463
|
-
template <>
|
|
2464
|
-
struct equality_comparable<execution::any_executor<> >
|
|
1850
|
+
struct equality_comparable<execution::any_executor<SupportableProperties...>>
|
|
2465
1851
|
{
|
|
2466
|
-
static
|
|
2467
|
-
static
|
|
1852
|
+
static constexpr bool is_valid = true;
|
|
1853
|
+
static constexpr bool is_noexcept = true;
|
|
2468
1854
|
};
|
|
2469
1855
|
|
|
2470
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EQUALITY_COMPARABLE_DEF(n) \
|
|
2471
|
-
template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2472
|
-
struct equality_comparable< \
|
|
2473
|
-
execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)> > \
|
|
2474
|
-
{ \
|
|
2475
|
-
static const bool is_valid = true; \
|
|
2476
|
-
static const bool is_noexcept = true; \
|
|
2477
|
-
}; \
|
|
2478
|
-
/**/
|
|
2479
|
-
BOOST_ASIO_VARIADIC_GENERATE(
|
|
2480
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EQUALITY_COMPARABLE_DEF)
|
|
2481
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EQUALITY_COMPARABLE_DEF
|
|
2482
|
-
|
|
2483
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2484
1856
|
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
|
|
2485
1857
|
|
|
2486
1858
|
#if !defined(BOOST_ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
|
|
2487
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2488
1859
|
|
|
2489
1860
|
template <typename F, typename... SupportableProperties>
|
|
2490
1861
|
struct execute_member<execution::any_executor<SupportableProperties...>, F>
|
|
2491
1862
|
{
|
|
2492
|
-
static
|
|
2493
|
-
static
|
|
2494
|
-
typedef void result_type;
|
|
2495
|
-
};
|
|
2496
|
-
|
|
2497
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2498
|
-
|
|
2499
|
-
template <typename F>
|
|
2500
|
-
struct execute_member<execution::any_executor<>, F>
|
|
2501
|
-
{
|
|
2502
|
-
static const bool is_valid = true;
|
|
2503
|
-
static const bool is_noexcept = false;
|
|
1863
|
+
static constexpr bool is_valid = true;
|
|
1864
|
+
static constexpr bool is_noexcept = false;
|
|
2504
1865
|
typedef void result_type;
|
|
2505
1866
|
};
|
|
2506
1867
|
|
|
2507
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EXECUTE_MEMBER_DEF(n) \
|
|
2508
|
-
template <typename F, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2509
|
-
struct execute_member< \
|
|
2510
|
-
execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>, F> \
|
|
2511
|
-
{ \
|
|
2512
|
-
static const bool is_valid = true; \
|
|
2513
|
-
static const bool is_noexcept = false; \
|
|
2514
|
-
typedef void result_type; \
|
|
2515
|
-
}; \
|
|
2516
|
-
/**/
|
|
2517
|
-
BOOST_ASIO_VARIADIC_GENERATE(
|
|
2518
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EXECUTE_MEMBER_DEF)
|
|
2519
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EXECUTE_MEMBER_DEF
|
|
2520
|
-
|
|
2521
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2522
1868
|
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
|
|
2523
1869
|
|
|
2524
1870
|
#if !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
|
|
2525
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2526
1871
|
|
|
2527
1872
|
template <typename Prop, typename... SupportableProperties>
|
|
2528
1873
|
struct query_member<
|
|
2529
1874
|
execution::any_executor<SupportableProperties...>, Prop,
|
|
2530
|
-
|
|
1875
|
+
enable_if_t<
|
|
2531
1876
|
execution::detail::supportable_properties<
|
|
2532
1877
|
0, void(SupportableProperties...)>::template
|
|
2533
1878
|
find_convertible_property<Prop>::value
|
|
2534
|
-
|
|
1879
|
+
>>
|
|
2535
1880
|
{
|
|
2536
|
-
static
|
|
2537
|
-
static
|
|
1881
|
+
static constexpr bool is_valid = true;
|
|
1882
|
+
static constexpr bool is_noexcept = false;
|
|
2538
1883
|
typedef typename execution::detail::supportable_properties<
|
|
2539
1884
|
0, void(SupportableProperties...)>::template
|
|
2540
1885
|
find_convertible_property<Prop>::query_result_type result_type;
|
|
2541
1886
|
};
|
|
2542
1887
|
|
|
2543
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2544
|
-
|
|
2545
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_QUERY_MEMBER_DEF(n) \
|
|
2546
|
-
template <typename Prop, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2547
|
-
struct query_member< \
|
|
2548
|
-
execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>, Prop, \
|
|
2549
|
-
typename enable_if< \
|
|
2550
|
-
execution::detail::supportable_properties< \
|
|
2551
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2552
|
-
find_convertible_property<Prop>::value \
|
|
2553
|
-
>::type> \
|
|
2554
|
-
{ \
|
|
2555
|
-
static const bool is_valid = true; \
|
|
2556
|
-
static const bool is_noexcept = false; \
|
|
2557
|
-
typedef typename execution::detail::supportable_properties< \
|
|
2558
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2559
|
-
find_convertible_property<Prop>::query_result_type result_type; \
|
|
2560
|
-
}; \
|
|
2561
|
-
/**/
|
|
2562
|
-
BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_ANY_EXECUTOR_QUERY_MEMBER_DEF)
|
|
2563
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_QUERY_MEMBER_DEF
|
|
2564
|
-
|
|
2565
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2566
1888
|
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
|
|
2567
1889
|
|
|
2568
1890
|
#if !defined(BOOST_ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
|
|
2569
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2570
1891
|
|
|
2571
1892
|
template <typename Prop, typename... SupportableProperties>
|
|
2572
1893
|
struct require_member<
|
|
2573
1894
|
execution::any_executor<SupportableProperties...>, Prop,
|
|
2574
|
-
|
|
1895
|
+
enable_if_t<
|
|
2575
1896
|
execution::detail::supportable_properties<
|
|
2576
1897
|
0, void(SupportableProperties...)>::template
|
|
2577
1898
|
find_convertible_requirable_property<Prop>::value
|
|
2578
|
-
|
|
1899
|
+
>>
|
|
2579
1900
|
{
|
|
2580
|
-
static
|
|
2581
|
-
static
|
|
1901
|
+
static constexpr bool is_valid = true;
|
|
1902
|
+
static constexpr bool is_noexcept = false;
|
|
2582
1903
|
typedef execution::any_executor<SupportableProperties...> result_type;
|
|
2583
1904
|
};
|
|
2584
1905
|
|
|
2585
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2586
|
-
|
|
2587
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_REQUIRE_MEMBER_DEF(n) \
|
|
2588
|
-
template <typename Prop, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2589
|
-
struct require_member< \
|
|
2590
|
-
execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>, Prop, \
|
|
2591
|
-
typename enable_if< \
|
|
2592
|
-
execution::detail::supportable_properties< \
|
|
2593
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2594
|
-
find_convertible_requirable_property<Prop>::value \
|
|
2595
|
-
>::type> \
|
|
2596
|
-
{ \
|
|
2597
|
-
static const bool is_valid = true; \
|
|
2598
|
-
static const bool is_noexcept = false; \
|
|
2599
|
-
typedef execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)> result_type; \
|
|
2600
|
-
}; \
|
|
2601
|
-
/**/
|
|
2602
|
-
BOOST_ASIO_VARIADIC_GENERATE(
|
|
2603
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_REQUIRE_MEMBER_DEF)
|
|
2604
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_REQUIRE_MEMBER_DEF
|
|
2605
|
-
|
|
2606
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2607
1906
|
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
|
|
2608
1907
|
|
|
2609
1908
|
#if !defined(BOOST_ASIO_HAS_DEDUCED_PREFER_FREE_TRAIT)
|
|
2610
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2611
1909
|
|
|
2612
1910
|
template <typename Prop, typename... SupportableProperties>
|
|
2613
1911
|
struct prefer_member<
|
|
2614
1912
|
execution::any_executor<SupportableProperties...>, Prop,
|
|
2615
|
-
|
|
1913
|
+
enable_if_t<
|
|
2616
1914
|
execution::detail::supportable_properties<
|
|
2617
1915
|
0, void(SupportableProperties...)>::template
|
|
2618
1916
|
find_convertible_preferable_property<Prop>::value
|
|
2619
|
-
|
|
1917
|
+
>>
|
|
2620
1918
|
{
|
|
2621
|
-
static
|
|
2622
|
-
static
|
|
1919
|
+
static constexpr bool is_valid = true;
|
|
1920
|
+
static constexpr bool is_noexcept = false;
|
|
2623
1921
|
typedef execution::any_executor<SupportableProperties...> result_type;
|
|
2624
1922
|
};
|
|
2625
1923
|
|
|
2626
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2627
|
-
|
|
2628
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PREFER_FREE_DEF(n) \
|
|
2629
|
-
template <typename Prop, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2630
|
-
struct prefer_member< \
|
|
2631
|
-
execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>, Prop, \
|
|
2632
|
-
typename enable_if< \
|
|
2633
|
-
execution::detail::supportable_properties< \
|
|
2634
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2635
|
-
find_convertible_preferable_property<Prop>::value \
|
|
2636
|
-
>::type> \
|
|
2637
|
-
{ \
|
|
2638
|
-
static const bool is_valid = true; \
|
|
2639
|
-
static const bool is_noexcept = false; \
|
|
2640
|
-
typedef execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)> result_type; \
|
|
2641
|
-
}; \
|
|
2642
|
-
/**/
|
|
2643
|
-
BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PREFER_FREE_DEF)
|
|
2644
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PREFER_FREE_DEF
|
|
2645
|
-
|
|
2646
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2647
1924
|
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_PREFER_FREE_TRAIT)
|
|
2648
1925
|
|
|
2649
1926
|
} // namespace traits
|