passenger 6.0.20 → 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 +41 -1
- data/CONTRIBUTORS +2 -0
- data/README.md +2 -2
- data/bin/passenger-install-nginx-module +4 -4
- data/build/support/cxx_dependency_map.rb +155 -54
- data/dev/copy_boost_headers +21 -7
- data/dev/nginx_version_sha256 +72 -0
- 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 +96 -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 +61 -62
- 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 +28 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +42 -59
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +154 -883
- 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 +19 -22
- 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 +106 -153
- 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 +75 -294
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +75 -283
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +89 -288
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +73 -275
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +170 -328
- 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 +26 -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 +32 -48
- 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 +26 -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 +53 -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 +22 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +188 -275
- 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 +2 -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 +91 -975
- 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 +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +1 -1
- 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 +5 -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 +73 -127
- 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 +32 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +1 -1
- 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 +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +1 -1
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +2 -2
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/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 +1 -1
- 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 +56 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +56 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +56 -101
- 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 +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +3 -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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +7 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +3 -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 +3 -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 +1 -1
- 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 +12 -44
- 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 +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +11 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +11 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +4 -5
- 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 +3 -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 +3 -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 +1 -1
- 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 +2 -2
- 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 +1 -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 +21 -26
- 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 +229 -1019
- 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 +55 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +55 -33
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +3 -3
- 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 +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +130 -53
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp +92 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +73 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +48 -48
- 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 +39 -30
- 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 +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +14 -14
- 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 +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +2 -2
- 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/use_coro.hpp +14 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +11 -11
- 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 +62 -137
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +22 -21
- 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 +44 -36
- 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 +32 -41
- 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 +1 -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 +36 -420
- 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 +205 -421
- 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 +1 -1
- 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 +77 -423
- 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 +25 -34
- 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 +4 -4
- 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 +4 -4
- 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 +21 -26
- 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 +10 -21
- 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 +1 -1
- 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 +1 -27
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +2 -3
- 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 +1 -1
- 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/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 -61
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +229 -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/tuple_for_each.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +138 -289
- data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +3 -16
- data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +0 -280
- data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +0 -7
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1 -0
- 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 +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +4 -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 +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +3 -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 +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -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 +40 -0
- 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/deque.hpp +112 -112
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +40 -40
- 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 +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +30 -25
- 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 +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +129 -129
- 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/next_capacity.hpp +6 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +32 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +18 -19
- 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 +77 -77
- 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 +44 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +78 -78
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +231 -231
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +85 -85
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +107 -109
- 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 +18 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +2 -2
- 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 -80
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +81 -81
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +115 -109
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +101 -101
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +32 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +150 -190
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +165 -165
- 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 +84 -86
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +5 -99
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +25 -126
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +27 -21
- 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 -41
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +20 -6
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +19 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +1 -1
- 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/invoke_swap.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +17 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +6 -55
- 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 +2 -2
- 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/{ratio → exception}/detail/requires_cxx11.hpp +7 -5
- 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 +1 -1
- 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 +1 -1
- 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 +21 -166
- data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +267 -418
- data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -63
- 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 +2 -2
- 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/common_slist_algorithms.hpp +5 -5
- 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 -21
- 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 -21
- 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 +32 -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 +56 -57
- 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 +60 -61
- 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/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 +611 -633
- 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 -30
- 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/thread/src/pthread/thread.cpp +24 -14
- 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 +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +5 -19
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +3 -3
- 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/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 +67 -17
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +48 -48
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- 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 +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
- 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 -87
- 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/smart_ptr/detail/requires_cxx11.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +1 -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 +13 -57
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +5 -29
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +51 -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 +8 -1
- 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 +5 -9
- 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/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/is_floating_point.hpp +22 -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 +2 -54
- 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 +2 -12
- 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 -203
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +145 -103
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +1 -4
- 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 +531 -91
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +346 -194
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +10 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +22 -15
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +10 -13
- 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/table.hpp +150 -55
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +346 -1039
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +8 -8
- 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 +95 -144
- 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 +123 -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 +65 -46
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +41 -23
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +324 -997
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +7 -12
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +57 -46
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +35 -24
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +229 -629
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +8 -13
- 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/native_support.rb +10 -7
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +3 -7
- 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 +50 -149
- data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2575
- data/src/cxx_supportlib/ServerKit/http_parser.h +0 -452
- 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 -91
- 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/handler_alloc_hook.ipp +0 -64
- 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/detail/is_same.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/requires_cxx11.hpp +0 -22
- 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 -476
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/requires_cxx11.hpp +0 -22
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_win32_sleep.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/epilogue.hpp +0 -39
- 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 -27
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/requires_cxx11.hpp +0 -22
- 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/swap.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/requires_cxx11.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/typeof/detail/requires_cxx11.hpp +0 -18
- 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/fwd.hpp +0 -150
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/requires_cxx11.hpp +0 -21
- /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
|
|
|
@@ -1000,16 +893,11 @@ protected:
|
|
|
1000
893
|
}
|
|
1001
894
|
|
|
1002
895
|
template <typename Ex>
|
|
1003
|
-
static void execute_ex(const any_executor_base& ex,
|
|
1004
|
-
BOOST_ASIO_MOVE_ARG(function) f)
|
|
896
|
+
static void execute_ex(const any_executor_base& ex, function&& f)
|
|
1005
897
|
{
|
|
1006
898
|
const Ex* p = ex.target<Ex>();
|
|
1007
899
|
BOOST_ASIO_ASSUME(p != 0);
|
|
1008
|
-
|
|
1009
|
-
p->execute(BOOST_ASIO_MOVE_CAST(function)(f));
|
|
1010
|
-
#else // defined(BOOST_ASIO_NO_DEPRECATED)
|
|
1011
|
-
execution::execute(*p, BOOST_ASIO_MOVE_CAST(function)(f));
|
|
1012
|
-
#endif // defined(BOOST_ASIO_NO_DEPRECATED)
|
|
900
|
+
p->execute(static_cast<function&&>(f));
|
|
1013
901
|
}
|
|
1014
902
|
|
|
1015
903
|
template <typename Ex>
|
|
@@ -1017,18 +905,14 @@ protected:
|
|
|
1017
905
|
{
|
|
1018
906
|
const Ex* p = ex.target<Ex>();
|
|
1019
907
|
BOOST_ASIO_ASSUME(p != 0);
|
|
1020
|
-
#if defined(BOOST_ASIO_NO_DEPRECATED)
|
|
1021
908
|
p->execute(f);
|
|
1022
|
-
#else // defined(BOOST_ASIO_NO_DEPRECATED)
|
|
1023
|
-
execution::execute(*p, f);
|
|
1024
|
-
#endif // defined(BOOST_ASIO_NO_DEPRECATED)
|
|
1025
909
|
}
|
|
1026
910
|
|
|
1027
911
|
template <typename Ex>
|
|
1028
912
|
static const target_fns* target_fns_table(bool is_always_blocking,
|
|
1029
|
-
|
|
913
|
+
enable_if_t<
|
|
1030
914
|
!is_same<Ex, void>::value
|
|
1031
|
-
|
|
915
|
+
>* = 0)
|
|
1032
916
|
{
|
|
1033
917
|
static const target_fns fns_with_execute =
|
|
1034
918
|
{
|
|
@@ -1062,10 +946,10 @@ protected:
|
|
|
1062
946
|
|
|
1063
947
|
template <typename Ex, class Prop>
|
|
1064
948
|
static void query_fn_non_void(void*, const void* ex, const void* prop,
|
|
1065
|
-
|
|
949
|
+
enable_if_t<
|
|
1066
950
|
boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1067
951
|
&& is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1068
|
-
|
|
952
|
+
>*)
|
|
1069
953
|
{
|
|
1070
954
|
boost::asio::query(*static_cast<const Ex*>(ex),
|
|
1071
955
|
*static_cast<const Prop*>(prop));
|
|
@@ -1073,23 +957,23 @@ protected:
|
|
|
1073
957
|
|
|
1074
958
|
template <typename Ex, class Prop>
|
|
1075
959
|
static void query_fn_non_void(void*, const void*, const void*,
|
|
1076
|
-
|
|
960
|
+
enable_if_t<
|
|
1077
961
|
!boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1078
962
|
&& is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1079
|
-
|
|
963
|
+
>*)
|
|
1080
964
|
{
|
|
1081
965
|
}
|
|
1082
966
|
|
|
1083
967
|
template <typename Ex, class Prop>
|
|
1084
968
|
static void query_fn_non_void(void* result, const void* ex, const void* prop,
|
|
1085
|
-
|
|
969
|
+
enable_if_t<
|
|
1086
970
|
boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1087
971
|
&& !is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1088
972
|
&& is_reference<typename Prop::polymorphic_query_result_type>::value
|
|
1089
|
-
|
|
973
|
+
>*)
|
|
1090
974
|
{
|
|
1091
|
-
*static_cast<
|
|
1092
|
-
typename Prop::polymorphic_query_result_type
|
|
975
|
+
*static_cast<remove_reference_t<
|
|
976
|
+
typename Prop::polymorphic_query_result_type>**>(result)
|
|
1093
977
|
= &static_cast<typename Prop::polymorphic_query_result_type>(
|
|
1094
978
|
boost::asio::query(*static_cast<const Ex*>(ex),
|
|
1095
979
|
*static_cast<const Prop*>(prop)));
|
|
@@ -1097,22 +981,22 @@ protected:
|
|
|
1097
981
|
|
|
1098
982
|
template <typename Ex, class Prop>
|
|
1099
983
|
static void query_fn_non_void(void*, const void*, const void*,
|
|
1100
|
-
|
|
984
|
+
enable_if_t<
|
|
1101
985
|
!boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1102
986
|
&& !is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1103
987
|
&& is_reference<typename Prop::polymorphic_query_result_type>::value
|
|
1104
|
-
|
|
988
|
+
>*)
|
|
1105
989
|
{
|
|
1106
990
|
std::terminate(); // Combination should not be possible.
|
|
1107
991
|
}
|
|
1108
992
|
|
|
1109
993
|
template <typename Ex, class Prop>
|
|
1110
994
|
static void query_fn_non_void(void* result, const void* ex, const void* prop,
|
|
1111
|
-
|
|
995
|
+
enable_if_t<
|
|
1112
996
|
boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1113
997
|
&& !is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1114
998
|
&& is_scalar<typename Prop::polymorphic_query_result_type>::value
|
|
1115
|
-
|
|
999
|
+
>*)
|
|
1116
1000
|
{
|
|
1117
1001
|
*static_cast<typename Prop::polymorphic_query_result_type*>(result)
|
|
1118
1002
|
= static_cast<typename Prop::polymorphic_query_result_type>(
|
|
@@ -1122,11 +1006,11 @@ protected:
|
|
|
1122
1006
|
|
|
1123
1007
|
template <typename Ex, class Prop>
|
|
1124
1008
|
static void query_fn_non_void(void* result, const void*, const void*,
|
|
1125
|
-
|
|
1009
|
+
enable_if_t<
|
|
1126
1010
|
!boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1127
1011
|
&& !is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1128
1012
|
&& is_scalar<typename Prop::polymorphic_query_result_type>::value
|
|
1129
|
-
|
|
1013
|
+
>*)
|
|
1130
1014
|
{
|
|
1131
1015
|
*static_cast<typename Prop::polymorphic_query_result_type*>(result)
|
|
1132
1016
|
= typename Prop::polymorphic_query_result_type();
|
|
@@ -1134,12 +1018,12 @@ protected:
|
|
|
1134
1018
|
|
|
1135
1019
|
template <typename Ex, class Prop>
|
|
1136
1020
|
static void query_fn_non_void(void* result, const void* ex, const void* prop,
|
|
1137
|
-
|
|
1021
|
+
enable_if_t<
|
|
1138
1022
|
boost::asio::can_query<const Ex&, const Prop&>::value
|
|
1139
1023
|
&& !is_same<typename Prop::polymorphic_query_result_type, void>::value
|
|
1140
1024
|
&& !is_reference<typename Prop::polymorphic_query_result_type>::value
|
|
1141
1025
|
&& !is_scalar<typename Prop::polymorphic_query_result_type>::value
|
|
1142
|
-
|
|
1026
|
+
>*)
|
|
1143
1027
|
{
|
|
1144
1028
|
*static_cast<typename Prop::polymorphic_query_result_type**>(result)
|
|
1145
1029
|
= new typename Prop::polymorphic_query_result_type(
|
|
@@ -1156,18 +1040,18 @@ protected:
|
|
|
1156
1040
|
|
|
1157
1041
|
template <typename Ex, class Prop>
|
|
1158
1042
|
static void query_fn_impl(void* result, const void* ex, const void* prop,
|
|
1159
|
-
|
|
1043
|
+
enable_if_t<
|
|
1160
1044
|
is_same<Ex, void>::value
|
|
1161
|
-
|
|
1045
|
+
>*)
|
|
1162
1046
|
{
|
|
1163
1047
|
query_fn_void(result, ex, prop);
|
|
1164
1048
|
}
|
|
1165
1049
|
|
|
1166
1050
|
template <typename Ex, class Prop>
|
|
1167
1051
|
static void query_fn_impl(void* result, const void* ex, const void* prop,
|
|
1168
|
-
|
|
1052
|
+
enable_if_t<
|
|
1169
1053
|
!is_same<Ex, void>::value
|
|
1170
|
-
|
|
1054
|
+
>*)
|
|
1171
1055
|
{
|
|
1172
1056
|
query_fn_non_void<Ex, Prop>(result, ex, prop, 0);
|
|
1173
1057
|
}
|
|
@@ -1180,9 +1064,9 @@ protected:
|
|
|
1180
1064
|
|
|
1181
1065
|
template <typename Poly, typename Ex, class Prop>
|
|
1182
1066
|
static Poly require_fn_impl(const void*, const void*,
|
|
1183
|
-
|
|
1067
|
+
enable_if_t<
|
|
1184
1068
|
is_same<Ex, void>::value
|
|
1185
|
-
|
|
1069
|
+
>*)
|
|
1186
1070
|
{
|
|
1187
1071
|
bad_executor ex;
|
|
1188
1072
|
boost::asio::detail::throw_exception(ex);
|
|
@@ -1191,9 +1075,9 @@ protected:
|
|
|
1191
1075
|
|
|
1192
1076
|
template <typename Poly, typename Ex, class Prop>
|
|
1193
1077
|
static Poly require_fn_impl(const void* ex, const void* prop,
|
|
1194
|
-
|
|
1078
|
+
enable_if_t<
|
|
1195
1079
|
!is_same<Ex, void>::value && Prop::is_requirable
|
|
1196
|
-
|
|
1080
|
+
>*)
|
|
1197
1081
|
{
|
|
1198
1082
|
return boost::asio::require(*static_cast<const Ex*>(ex),
|
|
1199
1083
|
*static_cast<const Prop*>(prop));
|
|
@@ -1213,9 +1097,9 @@ protected:
|
|
|
1213
1097
|
|
|
1214
1098
|
template <typename Poly, typename Ex, class Prop>
|
|
1215
1099
|
static Poly prefer_fn_impl(const void*, const void*,
|
|
1216
|
-
|
|
1100
|
+
enable_if_t<
|
|
1217
1101
|
is_same<Ex, void>::value
|
|
1218
|
-
|
|
1102
|
+
>*)
|
|
1219
1103
|
{
|
|
1220
1104
|
bad_executor ex;
|
|
1221
1105
|
boost::asio::detail::throw_exception(ex);
|
|
@@ -1224,9 +1108,9 @@ protected:
|
|
|
1224
1108
|
|
|
1225
1109
|
template <typename Poly, typename Ex, class Prop>
|
|
1226
1110
|
static Poly prefer_fn_impl(const void* ex, const void* prop,
|
|
1227
|
-
|
|
1111
|
+
enable_if_t<
|
|
1228
1112
|
!is_same<Ex, void>::value && Prop::is_preferable
|
|
1229
|
-
|
|
1113
|
+
>*)
|
|
1230
1114
|
{
|
|
1231
1115
|
return boost::asio::prefer(*static_cast<const Ex*>(ex),
|
|
1232
1116
|
*static_cast<const Prop*>(prop));
|
|
@@ -1273,7 +1157,7 @@ private:
|
|
|
1273
1157
|
void construct_object(Executor& ex, true_type)
|
|
1274
1158
|
{
|
|
1275
1159
|
object_fns_ = object_fns_table<Executor>();
|
|
1276
|
-
target_ = new (&object_) Executor(
|
|
1160
|
+
target_ = new (&object_) Executor(static_cast<Executor&&>(ex));
|
|
1277
1161
|
}
|
|
1278
1162
|
|
|
1279
1163
|
template <typename Executor>
|
|
@@ -1282,26 +1166,26 @@ private:
|
|
|
1282
1166
|
object_fns_ = object_fns_table<shared_target_executor>();
|
|
1283
1167
|
Executor* p = 0;
|
|
1284
1168
|
new (&object_) shared_target_executor(
|
|
1285
|
-
|
|
1169
|
+
static_cast<Executor&&>(ex), p);
|
|
1286
1170
|
target_ = p;
|
|
1287
1171
|
}
|
|
1288
1172
|
|
|
1289
1173
|
template <typename Executor>
|
|
1290
1174
|
void construct_object(std::nothrow_t,
|
|
1291
|
-
Executor& ex, true_type)
|
|
1175
|
+
Executor& ex, true_type) noexcept
|
|
1292
1176
|
{
|
|
1293
1177
|
object_fns_ = object_fns_table<Executor>();
|
|
1294
|
-
target_ = new (&object_) Executor(
|
|
1178
|
+
target_ = new (&object_) Executor(static_cast<Executor&&>(ex));
|
|
1295
1179
|
}
|
|
1296
1180
|
|
|
1297
1181
|
template <typename Executor>
|
|
1298
1182
|
void construct_object(std::nothrow_t,
|
|
1299
|
-
Executor& ex, false_type)
|
|
1183
|
+
Executor& ex, false_type) noexcept
|
|
1300
1184
|
{
|
|
1301
1185
|
object_fns_ = object_fns_table<shared_target_executor>();
|
|
1302
1186
|
Executor* p = 0;
|
|
1303
1187
|
new (&object_) shared_target_executor(
|
|
1304
|
-
std::nothrow,
|
|
1188
|
+
std::nothrow, static_cast<Executor&&>(ex), p);
|
|
1305
1189
|
target_ = p;
|
|
1306
1190
|
}
|
|
1307
1191
|
|
|
@@ -1310,7 +1194,7 @@ private:
|
|
|
1310
1194
|
|
|
1311
1195
|
typedef aligned_storage<
|
|
1312
1196
|
sizeof(boost::asio::detail::shared_ptr<void>) + sizeof(void*),
|
|
1313
|
-
alignment_of<boost::asio::detail::shared_ptr<void
|
|
1197
|
+
alignment_of<boost::asio::detail::shared_ptr<void>>::value
|
|
1314
1198
|
>::type object_type;
|
|
1315
1199
|
|
|
1316
1200
|
object_type object_;
|
|
@@ -1327,8 +1211,7 @@ struct any_executor_context
|
|
|
1327
1211
|
#if !defined(BOOST_ASIO_NO_TS_EXECUTORS)
|
|
1328
1212
|
|
|
1329
1213
|
template <typename Derived, typename Property>
|
|
1330
|
-
struct any_executor_context<Derived, Property,
|
|
1331
|
-
typename enable_if<Property::value>::type>
|
|
1214
|
+
struct any_executor_context<Derived, Property, enable_if_t<Property::value>>
|
|
1332
1215
|
{
|
|
1333
1216
|
typename Property::query_result_type context() const
|
|
1334
1217
|
{
|
|
@@ -1344,48 +1227,46 @@ template <>
|
|
|
1344
1227
|
class any_executor<> : public detail::any_executor_base
|
|
1345
1228
|
{
|
|
1346
1229
|
public:
|
|
1347
|
-
any_executor()
|
|
1230
|
+
any_executor() noexcept
|
|
1348
1231
|
: detail::any_executor_base()
|
|
1349
1232
|
{
|
|
1350
1233
|
}
|
|
1351
1234
|
|
|
1352
|
-
any_executor(nullptr_t)
|
|
1235
|
+
any_executor(nullptr_t) noexcept
|
|
1353
1236
|
: detail::any_executor_base()
|
|
1354
1237
|
{
|
|
1355
1238
|
}
|
|
1356
1239
|
|
|
1357
1240
|
template <typename Executor>
|
|
1358
1241
|
any_executor(Executor ex,
|
|
1359
|
-
|
|
1360
|
-
|
|
1242
|
+
enable_if_t<
|
|
1243
|
+
conditional_t<
|
|
1361
1244
|
!is_same<Executor, any_executor>::value
|
|
1362
1245
|
&& !is_base_of<detail::any_executor_base, Executor>::value,
|
|
1363
1246
|
is_executor<Executor>,
|
|
1364
1247
|
false_type
|
|
1365
|
-
>::
|
|
1366
|
-
|
|
1248
|
+
>::value
|
|
1249
|
+
>* = 0)
|
|
1367
1250
|
: detail::any_executor_base(
|
|
1368
|
-
|
|
1251
|
+
static_cast<Executor&&>(ex), false_type())
|
|
1369
1252
|
{
|
|
1370
1253
|
}
|
|
1371
1254
|
|
|
1372
1255
|
template <typename Executor>
|
|
1373
1256
|
any_executor(std::nothrow_t, Executor ex,
|
|
1374
|
-
|
|
1375
|
-
|
|
1257
|
+
enable_if_t<
|
|
1258
|
+
conditional_t<
|
|
1376
1259
|
!is_same<Executor, any_executor>::value
|
|
1377
1260
|
&& !is_base_of<detail::any_executor_base, Executor>::value,
|
|
1378
1261
|
is_executor<Executor>,
|
|
1379
1262
|
false_type
|
|
1380
|
-
>::
|
|
1381
|
-
|
|
1263
|
+
>::value
|
|
1264
|
+
>* = 0) noexcept
|
|
1382
1265
|
: detail::any_executor_base(std::nothrow,
|
|
1383
|
-
|
|
1266
|
+
static_cast<Executor&&>(ex), false_type())
|
|
1384
1267
|
{
|
|
1385
1268
|
}
|
|
1386
1269
|
|
|
1387
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
1388
|
-
|
|
1389
1270
|
template <typename... OtherSupportableProperties>
|
|
1390
1271
|
any_executor(any_executor<OtherSupportableProperties...> other)
|
|
1391
1272
|
: detail::any_executor_base(
|
|
@@ -1395,46 +1276,25 @@ public:
|
|
|
1395
1276
|
|
|
1396
1277
|
template <typename... OtherSupportableProperties>
|
|
1397
1278
|
any_executor(std::nothrow_t,
|
|
1398
|
-
any_executor<OtherSupportableProperties...> other)
|
|
1399
|
-
: detail::any_executor_base(
|
|
1400
|
-
static_cast<const detail::any_executor_base&>(other))
|
|
1401
|
-
{
|
|
1402
|
-
}
|
|
1403
|
-
|
|
1404
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
1405
|
-
|
|
1406
|
-
template <typename U0, typename U1, typename U2, typename U3,
|
|
1407
|
-
typename U4, typename U5, typename U6, typename U7>
|
|
1408
|
-
any_executor(any_executor<U0, U1, U2, U3, U4, U5, U6, U7> other)
|
|
1409
|
-
: detail::any_executor_base(
|
|
1410
|
-
static_cast<const detail::any_executor_base&>(other))
|
|
1411
|
-
{
|
|
1412
|
-
}
|
|
1413
|
-
|
|
1414
|
-
template <typename U0, typename U1, typename U2, typename U3,
|
|
1415
|
-
typename U4, typename U5, typename U6, typename U7>
|
|
1416
|
-
any_executor(std::nothrow_t,
|
|
1417
|
-
any_executor<U0, U1, U2, U3, U4, U5, U6, U7> other) BOOST_ASIO_NOEXCEPT
|
|
1279
|
+
any_executor<OtherSupportableProperties...> other) noexcept
|
|
1418
1280
|
: detail::any_executor_base(
|
|
1419
1281
|
static_cast<const detail::any_executor_base&>(other))
|
|
1420
1282
|
{
|
|
1421
1283
|
}
|
|
1422
1284
|
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
any_executor(const any_executor& other) BOOST_ASIO_NOEXCEPT
|
|
1285
|
+
any_executor(const any_executor& other) noexcept
|
|
1426
1286
|
: detail::any_executor_base(
|
|
1427
1287
|
static_cast<const detail::any_executor_base&>(other))
|
|
1428
1288
|
{
|
|
1429
1289
|
}
|
|
1430
1290
|
|
|
1431
|
-
any_executor(std::nothrow_t, const any_executor& other)
|
|
1291
|
+
any_executor(std::nothrow_t, const any_executor& other) noexcept
|
|
1432
1292
|
: detail::any_executor_base(
|
|
1433
1293
|
static_cast<const detail::any_executor_base&>(other))
|
|
1434
1294
|
{
|
|
1435
1295
|
}
|
|
1436
1296
|
|
|
1437
|
-
any_executor& operator=(const any_executor& other)
|
|
1297
|
+
any_executor& operator=(const any_executor& other) noexcept
|
|
1438
1298
|
{
|
|
1439
1299
|
if (this != &other)
|
|
1440
1300
|
{
|
|
@@ -1444,29 +1304,27 @@ public:
|
|
|
1444
1304
|
return *this;
|
|
1445
1305
|
}
|
|
1446
1306
|
|
|
1447
|
-
any_executor& operator=(nullptr_t p)
|
|
1307
|
+
any_executor& operator=(nullptr_t p) noexcept
|
|
1448
1308
|
{
|
|
1449
1309
|
detail::any_executor_base::operator=(p);
|
|
1450
1310
|
return *this;
|
|
1451
1311
|
}
|
|
1452
1312
|
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
any_executor(any_executor&& other) BOOST_ASIO_NOEXCEPT
|
|
1313
|
+
any_executor(any_executor&& other) noexcept
|
|
1456
1314
|
: detail::any_executor_base(
|
|
1457
1315
|
static_cast<any_executor_base&&>(
|
|
1458
1316
|
static_cast<any_executor_base&>(other)))
|
|
1459
1317
|
{
|
|
1460
1318
|
}
|
|
1461
1319
|
|
|
1462
|
-
any_executor(std::nothrow_t, any_executor&& other)
|
|
1320
|
+
any_executor(std::nothrow_t, any_executor&& other) noexcept
|
|
1463
1321
|
: detail::any_executor_base(
|
|
1464
1322
|
static_cast<any_executor_base&&>(
|
|
1465
1323
|
static_cast<any_executor_base&>(other)))
|
|
1466
1324
|
{
|
|
1467
1325
|
}
|
|
1468
1326
|
|
|
1469
|
-
any_executor& operator=(any_executor&& other)
|
|
1327
|
+
any_executor& operator=(any_executor&& other) noexcept
|
|
1470
1328
|
{
|
|
1471
1329
|
if (this != &other)
|
|
1472
1330
|
{
|
|
@@ -1477,9 +1335,7 @@ public:
|
|
|
1477
1335
|
return *this;
|
|
1478
1336
|
}
|
|
1479
1337
|
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
void swap(any_executor& other) BOOST_ASIO_NOEXCEPT
|
|
1338
|
+
void swap(any_executor& other) noexcept
|
|
1483
1339
|
{
|
|
1484
1340
|
detail::any_executor_base::swap(
|
|
1485
1341
|
static_cast<detail::any_executor_base&>(other));
|
|
@@ -1491,77 +1347,75 @@ public:
|
|
|
1491
1347
|
using detail::any_executor_base::operator unspecified_bool_type;
|
|
1492
1348
|
using detail::any_executor_base::operator!;
|
|
1493
1349
|
|
|
1494
|
-
bool equality_helper(const any_executor& other) const
|
|
1350
|
+
bool equality_helper(const any_executor& other) const noexcept
|
|
1495
1351
|
{
|
|
1496
1352
|
return any_executor_base::equality_helper(other);
|
|
1497
1353
|
}
|
|
1498
1354
|
|
|
1499
1355
|
template <typename AnyExecutor1, typename AnyExecutor2>
|
|
1500
|
-
friend
|
|
1356
|
+
friend enable_if_t<
|
|
1501
1357
|
is_base_of<any_executor, AnyExecutor1>::value
|
|
1502
1358
|
|| is_base_of<any_executor, AnyExecutor2>::value,
|
|
1503
1359
|
bool
|
|
1504
|
-
|
|
1505
|
-
const AnyExecutor2& b)
|
|
1360
|
+
> operator==(const AnyExecutor1& a,
|
|
1361
|
+
const AnyExecutor2& b) noexcept
|
|
1506
1362
|
{
|
|
1507
1363
|
return static_cast<const any_executor&>(a).equality_helper(b);
|
|
1508
1364
|
}
|
|
1509
1365
|
|
|
1510
1366
|
template <typename AnyExecutor>
|
|
1511
|
-
friend
|
|
1367
|
+
friend enable_if_t<
|
|
1512
1368
|
is_same<AnyExecutor, any_executor>::value,
|
|
1513
1369
|
bool
|
|
1514
|
-
|
|
1370
|
+
> operator==(const AnyExecutor& a, nullptr_t) noexcept
|
|
1515
1371
|
{
|
|
1516
1372
|
return !a;
|
|
1517
1373
|
}
|
|
1518
1374
|
|
|
1519
1375
|
template <typename AnyExecutor>
|
|
1520
|
-
friend
|
|
1376
|
+
friend enable_if_t<
|
|
1521
1377
|
is_same<AnyExecutor, any_executor>::value,
|
|
1522
1378
|
bool
|
|
1523
|
-
|
|
1379
|
+
> operator==(nullptr_t, const AnyExecutor& b) noexcept
|
|
1524
1380
|
{
|
|
1525
1381
|
return !b;
|
|
1526
1382
|
}
|
|
1527
1383
|
|
|
1528
1384
|
template <typename AnyExecutor1, typename AnyExecutor2>
|
|
1529
|
-
friend
|
|
1385
|
+
friend enable_if_t<
|
|
1530
1386
|
is_base_of<any_executor, AnyExecutor1>::value
|
|
1531
1387
|
|| is_base_of<any_executor, AnyExecutor2>::value,
|
|
1532
1388
|
bool
|
|
1533
|
-
|
|
1534
|
-
const AnyExecutor2& b)
|
|
1389
|
+
> operator!=(const AnyExecutor1& a,
|
|
1390
|
+
const AnyExecutor2& b) noexcept
|
|
1535
1391
|
{
|
|
1536
1392
|
return !static_cast<const any_executor&>(a).equality_helper(b);
|
|
1537
1393
|
}
|
|
1538
1394
|
|
|
1539
1395
|
template <typename AnyExecutor>
|
|
1540
|
-
friend
|
|
1396
|
+
friend enable_if_t<
|
|
1541
1397
|
is_same<AnyExecutor, any_executor>::value,
|
|
1542
1398
|
bool
|
|
1543
|
-
|
|
1399
|
+
> operator!=(const AnyExecutor& a, nullptr_t) noexcept
|
|
1544
1400
|
{
|
|
1545
1401
|
return !!a;
|
|
1546
1402
|
}
|
|
1547
1403
|
|
|
1548
1404
|
template <typename AnyExecutor>
|
|
1549
|
-
friend
|
|
1405
|
+
friend enable_if_t<
|
|
1550
1406
|
is_same<AnyExecutor, any_executor>::value,
|
|
1551
1407
|
bool
|
|
1552
|
-
|
|
1408
|
+
> operator!=(nullptr_t, const AnyExecutor& b) noexcept
|
|
1553
1409
|
{
|
|
1554
1410
|
return !!b;
|
|
1555
1411
|
}
|
|
1556
1412
|
};
|
|
1557
1413
|
|
|
1558
|
-
inline void swap(any_executor<>& a, any_executor<>& b)
|
|
1414
|
+
inline void swap(any_executor<>& a, any_executor<>& b) noexcept
|
|
1559
1415
|
{
|
|
1560
1416
|
return a.swap(b);
|
|
1561
1417
|
}
|
|
1562
1418
|
|
|
1563
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
1564
|
-
|
|
1565
1419
|
template <typename... SupportableProperties>
|
|
1566
1420
|
class any_executor :
|
|
1567
1421
|
public detail::any_executor_base,
|
|
@@ -1571,13 +1425,13 @@ class any_executor :
|
|
|
1571
1425
|
0, void(SupportableProperties...)>::find_context_as_property>
|
|
1572
1426
|
{
|
|
1573
1427
|
public:
|
|
1574
|
-
any_executor()
|
|
1428
|
+
any_executor() noexcept
|
|
1575
1429
|
: detail::any_executor_base(),
|
|
1576
1430
|
prop_fns_(prop_fns_table<void>())
|
|
1577
1431
|
{
|
|
1578
1432
|
}
|
|
1579
1433
|
|
|
1580
|
-
any_executor(nullptr_t)
|
|
1434
|
+
any_executor(nullptr_t) noexcept
|
|
1581
1435
|
: detail::any_executor_base(),
|
|
1582
1436
|
prop_fns_(prop_fns_table<void>())
|
|
1583
1437
|
{
|
|
@@ -1585,34 +1439,34 @@ public:
|
|
|
1585
1439
|
|
|
1586
1440
|
template <typename Executor>
|
|
1587
1441
|
any_executor(Executor ex,
|
|
1588
|
-
|
|
1589
|
-
|
|
1442
|
+
enable_if_t<
|
|
1443
|
+
conditional_t<
|
|
1590
1444
|
!is_same<Executor, any_executor>::value
|
|
1591
1445
|
&& !is_base_of<detail::any_executor_base, Executor>::value,
|
|
1592
1446
|
detail::is_valid_target_executor<
|
|
1593
1447
|
Executor, void(SupportableProperties...)>,
|
|
1594
1448
|
false_type
|
|
1595
|
-
>::
|
|
1596
|
-
|
|
1449
|
+
>::value
|
|
1450
|
+
>* = 0)
|
|
1597
1451
|
: detail::any_executor_base(
|
|
1598
|
-
|
|
1452
|
+
static_cast<Executor&&>(ex), false_type()),
|
|
1599
1453
|
prop_fns_(prop_fns_table<Executor>())
|
|
1600
1454
|
{
|
|
1601
1455
|
}
|
|
1602
1456
|
|
|
1603
1457
|
template <typename Executor>
|
|
1604
1458
|
any_executor(std::nothrow_t, Executor ex,
|
|
1605
|
-
|
|
1606
|
-
|
|
1459
|
+
enable_if_t<
|
|
1460
|
+
conditional_t<
|
|
1607
1461
|
!is_same<Executor, any_executor>::value
|
|
1608
1462
|
&& !is_base_of<detail::any_executor_base, Executor>::value,
|
|
1609
1463
|
detail::is_valid_target_executor<
|
|
1610
1464
|
Executor, void(SupportableProperties...)>,
|
|
1611
1465
|
false_type
|
|
1612
|
-
>::
|
|
1613
|
-
|
|
1466
|
+
>::value
|
|
1467
|
+
>* = 0) noexcept
|
|
1614
1468
|
: detail::any_executor_base(std::nothrow,
|
|
1615
|
-
|
|
1469
|
+
static_cast<Executor&&>(ex), false_type()),
|
|
1616
1470
|
prop_fns_(prop_fns_table<Executor>())
|
|
1617
1471
|
{
|
|
1618
1472
|
if (this->template target<void>() == 0)
|
|
@@ -1621,62 +1475,64 @@ public:
|
|
|
1621
1475
|
|
|
1622
1476
|
template <typename... OtherSupportableProperties>
|
|
1623
1477
|
any_executor(any_executor<OtherSupportableProperties...> other,
|
|
1624
|
-
|
|
1625
|
-
|
|
1478
|
+
enable_if_t<
|
|
1479
|
+
conditional_t<
|
|
1626
1480
|
!is_same<
|
|
1627
1481
|
any_executor<OtherSupportableProperties...>,
|
|
1628
1482
|
any_executor
|
|
1629
1483
|
>::value,
|
|
1630
1484
|
typename detail::supportable_properties<
|
|
1631
1485
|
0, void(SupportableProperties...)>::template is_valid_target<
|
|
1632
|
-
any_executor<OtherSupportableProperties
|
|
1486
|
+
any_executor<OtherSupportableProperties...>>,
|
|
1633
1487
|
false_type
|
|
1634
|
-
>::
|
|
1635
|
-
|
|
1636
|
-
: detail::any_executor_base(
|
|
1637
|
-
|
|
1638
|
-
|
|
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...>>())
|
|
1639
1494
|
{
|
|
1640
1495
|
}
|
|
1641
1496
|
|
|
1642
1497
|
template <typename... OtherSupportableProperties>
|
|
1643
1498
|
any_executor(std::nothrow_t,
|
|
1644
1499
|
any_executor<OtherSupportableProperties...> other,
|
|
1645
|
-
|
|
1646
|
-
|
|
1500
|
+
enable_if_t<
|
|
1501
|
+
conditional_t<
|
|
1647
1502
|
!is_same<
|
|
1648
1503
|
any_executor<OtherSupportableProperties...>,
|
|
1649
1504
|
any_executor
|
|
1650
1505
|
>::value,
|
|
1651
1506
|
typename detail::supportable_properties<
|
|
1652
1507
|
0, void(SupportableProperties...)>::template is_valid_target<
|
|
1653
|
-
any_executor<OtherSupportableProperties
|
|
1508
|
+
any_executor<OtherSupportableProperties...>>,
|
|
1654
1509
|
false_type
|
|
1655
|
-
>::
|
|
1656
|
-
|
|
1657
|
-
: detail::any_executor_base(std::nothrow,
|
|
1658
|
-
|
|
1659
|
-
|
|
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...>>())
|
|
1660
1516
|
{
|
|
1661
1517
|
if (this->template target<void>() == 0)
|
|
1662
1518
|
prop_fns_ = prop_fns_table<void>();
|
|
1663
1519
|
}
|
|
1664
1520
|
|
|
1665
|
-
any_executor(const any_executor& other)
|
|
1521
|
+
any_executor(const any_executor& other) noexcept
|
|
1666
1522
|
: detail::any_executor_base(
|
|
1667
1523
|
static_cast<const detail::any_executor_base&>(other)),
|
|
1668
1524
|
prop_fns_(other.prop_fns_)
|
|
1669
1525
|
{
|
|
1670
1526
|
}
|
|
1671
1527
|
|
|
1672
|
-
any_executor(std::nothrow_t, const any_executor& other)
|
|
1528
|
+
any_executor(std::nothrow_t, const any_executor& other) noexcept
|
|
1673
1529
|
: detail::any_executor_base(
|
|
1674
1530
|
static_cast<const detail::any_executor_base&>(other)),
|
|
1675
1531
|
prop_fns_(other.prop_fns_)
|
|
1676
1532
|
{
|
|
1677
1533
|
}
|
|
1678
1534
|
|
|
1679
|
-
any_executor& operator=(const any_executor& other)
|
|
1535
|
+
any_executor& operator=(const any_executor& other) noexcept
|
|
1680
1536
|
{
|
|
1681
1537
|
if (this != &other)
|
|
1682
1538
|
{
|
|
@@ -1687,16 +1543,14 @@ public:
|
|
|
1687
1543
|
return *this;
|
|
1688
1544
|
}
|
|
1689
1545
|
|
|
1690
|
-
any_executor& operator=(nullptr_t p)
|
|
1546
|
+
any_executor& operator=(nullptr_t p) noexcept
|
|
1691
1547
|
{
|
|
1692
1548
|
prop_fns_ = prop_fns_table<void>();
|
|
1693
1549
|
detail::any_executor_base::operator=(p);
|
|
1694
1550
|
return *this;
|
|
1695
1551
|
}
|
|
1696
1552
|
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
any_executor(any_executor&& other) BOOST_ASIO_NOEXCEPT
|
|
1553
|
+
any_executor(any_executor&& other) noexcept
|
|
1700
1554
|
: detail::any_executor_base(
|
|
1701
1555
|
static_cast<any_executor_base&&>(
|
|
1702
1556
|
static_cast<any_executor_base&>(other))),
|
|
@@ -1705,7 +1559,7 @@ public:
|
|
|
1705
1559
|
other.prop_fns_ = prop_fns_table<void>();
|
|
1706
1560
|
}
|
|
1707
1561
|
|
|
1708
|
-
any_executor(std::nothrow_t, any_executor&& other)
|
|
1562
|
+
any_executor(std::nothrow_t, any_executor&& other) noexcept
|
|
1709
1563
|
: detail::any_executor_base(
|
|
1710
1564
|
static_cast<any_executor_base&&>(
|
|
1711
1565
|
static_cast<any_executor_base&>(other))),
|
|
@@ -1714,7 +1568,7 @@ public:
|
|
|
1714
1568
|
other.prop_fns_ = prop_fns_table<void>();
|
|
1715
1569
|
}
|
|
1716
1570
|
|
|
1717
|
-
any_executor& operator=(any_executor&& other)
|
|
1571
|
+
any_executor& operator=(any_executor&& other) noexcept
|
|
1718
1572
|
{
|
|
1719
1573
|
if (this != &other)
|
|
1720
1574
|
{
|
|
@@ -1726,9 +1580,7 @@ public:
|
|
|
1726
1580
|
return *this;
|
|
1727
1581
|
}
|
|
1728
1582
|
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
void swap(any_executor& other) BOOST_ASIO_NOEXCEPT
|
|
1583
|
+
void swap(any_executor& other) noexcept
|
|
1732
1584
|
{
|
|
1733
1585
|
if (this != &other)
|
|
1734
1586
|
{
|
|
@@ -1746,65 +1598,65 @@ public:
|
|
|
1746
1598
|
using detail::any_executor_base::operator unspecified_bool_type;
|
|
1747
1599
|
using detail::any_executor_base::operator!;
|
|
1748
1600
|
|
|
1749
|
-
bool equality_helper(const any_executor& other) const
|
|
1601
|
+
bool equality_helper(const any_executor& other) const noexcept
|
|
1750
1602
|
{
|
|
1751
1603
|
return any_executor_base::equality_helper(other);
|
|
1752
1604
|
}
|
|
1753
1605
|
|
|
1754
1606
|
template <typename AnyExecutor1, typename AnyExecutor2>
|
|
1755
|
-
friend
|
|
1607
|
+
friend enable_if_t<
|
|
1756
1608
|
is_base_of<any_executor, AnyExecutor1>::value
|
|
1757
1609
|
|| is_base_of<any_executor, AnyExecutor2>::value,
|
|
1758
1610
|
bool
|
|
1759
|
-
|
|
1760
|
-
const AnyExecutor2& b)
|
|
1611
|
+
> operator==(const AnyExecutor1& a,
|
|
1612
|
+
const AnyExecutor2& b) noexcept
|
|
1761
1613
|
{
|
|
1762
1614
|
return static_cast<const any_executor&>(a).equality_helper(b);
|
|
1763
1615
|
}
|
|
1764
1616
|
|
|
1765
1617
|
template <typename AnyExecutor>
|
|
1766
|
-
friend
|
|
1618
|
+
friend enable_if_t<
|
|
1767
1619
|
is_same<AnyExecutor, any_executor>::value,
|
|
1768
1620
|
bool
|
|
1769
|
-
|
|
1621
|
+
> operator==(const AnyExecutor& a, nullptr_t) noexcept
|
|
1770
1622
|
{
|
|
1771
1623
|
return !a;
|
|
1772
1624
|
}
|
|
1773
1625
|
|
|
1774
1626
|
template <typename AnyExecutor>
|
|
1775
|
-
friend
|
|
1627
|
+
friend enable_if_t<
|
|
1776
1628
|
is_same<AnyExecutor, any_executor>::value,
|
|
1777
1629
|
bool
|
|
1778
|
-
|
|
1630
|
+
> operator==(nullptr_t, const AnyExecutor& b) noexcept
|
|
1779
1631
|
{
|
|
1780
1632
|
return !b;
|
|
1781
1633
|
}
|
|
1782
1634
|
|
|
1783
1635
|
template <typename AnyExecutor1, typename AnyExecutor2>
|
|
1784
|
-
friend
|
|
1636
|
+
friend enable_if_t<
|
|
1785
1637
|
is_base_of<any_executor, AnyExecutor1>::value
|
|
1786
1638
|
|| is_base_of<any_executor, AnyExecutor2>::value,
|
|
1787
1639
|
bool
|
|
1788
|
-
|
|
1789
|
-
const AnyExecutor2& b)
|
|
1640
|
+
> operator!=(const AnyExecutor1& a,
|
|
1641
|
+
const AnyExecutor2& b) noexcept
|
|
1790
1642
|
{
|
|
1791
1643
|
return !static_cast<const any_executor&>(a).equality_helper(b);
|
|
1792
1644
|
}
|
|
1793
1645
|
|
|
1794
1646
|
template <typename AnyExecutor>
|
|
1795
|
-
friend
|
|
1647
|
+
friend enable_if_t<
|
|
1796
1648
|
is_same<AnyExecutor, any_executor>::value,
|
|
1797
1649
|
bool
|
|
1798
|
-
|
|
1650
|
+
> operator!=(const AnyExecutor& a, nullptr_t) noexcept
|
|
1799
1651
|
{
|
|
1800
1652
|
return !!a;
|
|
1801
1653
|
}
|
|
1802
1654
|
|
|
1803
1655
|
template <typename AnyExecutor>
|
|
1804
|
-
friend
|
|
1656
|
+
friend enable_if_t<
|
|
1805
1657
|
is_same<AnyExecutor, any_executor>::value,
|
|
1806
1658
|
bool
|
|
1807
|
-
|
|
1659
|
+
> operator!=(nullptr_t, const AnyExecutor& b) noexcept
|
|
1808
1660
|
{
|
|
1809
1661
|
return !!b;
|
|
1810
1662
|
}
|
|
@@ -1817,12 +1669,12 @@ public:
|
|
|
1817
1669
|
|
|
1818
1670
|
template <typename Property>
|
|
1819
1671
|
void query(const Property& p,
|
|
1820
|
-
|
|
1672
|
+
enable_if_t<
|
|
1821
1673
|
is_same<
|
|
1822
1674
|
typename find_convertible_property<Property>::query_result_type,
|
|
1823
1675
|
void
|
|
1824
1676
|
>::value
|
|
1825
|
-
|
|
1677
|
+
>* = 0) const
|
|
1826
1678
|
{
|
|
1827
1679
|
if (!target_)
|
|
1828
1680
|
{
|
|
@@ -1837,7 +1689,7 @@ public:
|
|
|
1837
1689
|
template <typename Property>
|
|
1838
1690
|
typename find_convertible_property<Property>::query_result_type
|
|
1839
1691
|
query(const Property& p,
|
|
1840
|
-
|
|
1692
|
+
enable_if_t<
|
|
1841
1693
|
!is_same<
|
|
1842
1694
|
typename find_convertible_property<Property>::query_result_type,
|
|
1843
1695
|
void
|
|
@@ -1846,7 +1698,7 @@ public:
|
|
|
1846
1698
|
is_reference<
|
|
1847
1699
|
typename find_convertible_property<Property>::query_result_type
|
|
1848
1700
|
>::value
|
|
1849
|
-
|
|
1701
|
+
>* = 0) const
|
|
1850
1702
|
{
|
|
1851
1703
|
if (!target_)
|
|
1852
1704
|
{
|
|
@@ -1854,8 +1706,7 @@ public:
|
|
|
1854
1706
|
boost::asio::detail::throw_exception(ex);
|
|
1855
1707
|
}
|
|
1856
1708
|
typedef find_convertible_property<Property> found;
|
|
1857
|
-
typename
|
|
1858
|
-
typename found::query_result_type>::type* result = 0;
|
|
1709
|
+
remove_reference_t<typename found::query_result_type>* result = 0;
|
|
1859
1710
|
prop_fns_[found::index].query(&result, object_fns_->target(*this),
|
|
1860
1711
|
&static_cast<const typename found::type&>(p));
|
|
1861
1712
|
return *result;
|
|
@@ -1864,7 +1715,7 @@ public:
|
|
|
1864
1715
|
template <typename Property>
|
|
1865
1716
|
typename find_convertible_property<Property>::query_result_type
|
|
1866
1717
|
query(const Property& p,
|
|
1867
|
-
|
|
1718
|
+
enable_if_t<
|
|
1868
1719
|
!is_same<
|
|
1869
1720
|
typename find_convertible_property<Property>::query_result_type,
|
|
1870
1721
|
void
|
|
@@ -1873,7 +1724,7 @@ public:
|
|
|
1873
1724
|
is_scalar<
|
|
1874
1725
|
typename find_convertible_property<Property>::query_result_type
|
|
1875
1726
|
>::value
|
|
1876
|
-
|
|
1727
|
+
>* = 0) const
|
|
1877
1728
|
{
|
|
1878
1729
|
if (!target_)
|
|
1879
1730
|
{
|
|
@@ -1890,7 +1741,7 @@ public:
|
|
|
1890
1741
|
template <typename Property>
|
|
1891
1742
|
typename find_convertible_property<Property>::query_result_type
|
|
1892
1743
|
query(const Property& p,
|
|
1893
|
-
|
|
1744
|
+
enable_if_t<
|
|
1894
1745
|
!is_same<
|
|
1895
1746
|
typename find_convertible_property<Property>::query_result_type,
|
|
1896
1747
|
void
|
|
@@ -1903,7 +1754,7 @@ public:
|
|
|
1903
1754
|
!is_scalar<
|
|
1904
1755
|
typename find_convertible_property<Property>::query_result_type
|
|
1905
1756
|
>::value
|
|
1906
|
-
|
|
1757
|
+
>* = 0) const
|
|
1907
1758
|
{
|
|
1908
1759
|
if (!target_)
|
|
1909
1760
|
{
|
|
@@ -1926,9 +1777,9 @@ public:
|
|
|
1926
1777
|
|
|
1927
1778
|
template <typename Property>
|
|
1928
1779
|
any_executor require(const Property& p,
|
|
1929
|
-
|
|
1780
|
+
enable_if_t<
|
|
1930
1781
|
find_convertible_requirable_property<Property>::value
|
|
1931
|
-
|
|
1782
|
+
>* = 0) const
|
|
1932
1783
|
{
|
|
1933
1784
|
if (!target_)
|
|
1934
1785
|
{
|
|
@@ -1948,9 +1799,9 @@ public:
|
|
|
1948
1799
|
|
|
1949
1800
|
template <typename Property>
|
|
1950
1801
|
any_executor prefer(const Property& p,
|
|
1951
|
-
|
|
1802
|
+
enable_if_t<
|
|
1952
1803
|
find_convertible_preferable_property<Property>::value
|
|
1953
|
-
|
|
1804
|
+
>* = 0) const
|
|
1954
1805
|
{
|
|
1955
1806
|
if (!target_)
|
|
1956
1807
|
{
|
|
@@ -1985,732 +1836,91 @@ public:
|
|
|
1985
1836
|
|
|
1986
1837
|
template <typename... SupportableProperties>
|
|
1987
1838
|
inline void swap(any_executor<SupportableProperties...>& a,
|
|
1988
|
-
any_executor<SupportableProperties...>& b)
|
|
1839
|
+
any_executor<SupportableProperties...>& b) noexcept
|
|
1989
1840
|
{
|
|
1990
1841
|
return a.swap(b);
|
|
1991
1842
|
}
|
|
1992
1843
|
|
|
1993
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
1994
|
-
|
|
1995
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS(n) \
|
|
1996
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_##n
|
|
1997
|
-
|
|
1998
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_1 \
|
|
1999
|
-
{ \
|
|
2000
|
-
&detail::any_executor_base::query_fn<Ex, T1>, \
|
|
2001
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T1>, \
|
|
2002
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T1> \
|
|
2003
|
-
}
|
|
2004
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_2 \
|
|
2005
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_1, \
|
|
2006
|
-
{ \
|
|
2007
|
-
&detail::any_executor_base::query_fn<Ex, T2>, \
|
|
2008
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T2>, \
|
|
2009
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T2> \
|
|
2010
|
-
}
|
|
2011
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_3 \
|
|
2012
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_2, \
|
|
2013
|
-
{ \
|
|
2014
|
-
&detail::any_executor_base::query_fn<Ex, T3>, \
|
|
2015
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T3>, \
|
|
2016
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T3> \
|
|
2017
|
-
}
|
|
2018
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_4 \
|
|
2019
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_3, \
|
|
2020
|
-
{ \
|
|
2021
|
-
&detail::any_executor_base::query_fn<Ex, T4>, \
|
|
2022
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T4>, \
|
|
2023
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T4> \
|
|
2024
|
-
}
|
|
2025
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_5 \
|
|
2026
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_4, \
|
|
2027
|
-
{ \
|
|
2028
|
-
&detail::any_executor_base::query_fn<Ex, T5>, \
|
|
2029
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T5>, \
|
|
2030
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T5> \
|
|
2031
|
-
}
|
|
2032
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_6 \
|
|
2033
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_5, \
|
|
2034
|
-
{ \
|
|
2035
|
-
&detail::any_executor_base::query_fn<Ex, T6>, \
|
|
2036
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T6>, \
|
|
2037
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T6> \
|
|
2038
|
-
}
|
|
2039
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_7 \
|
|
2040
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_6, \
|
|
2041
|
-
{ \
|
|
2042
|
-
&detail::any_executor_base::query_fn<Ex, T7>, \
|
|
2043
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T7>, \
|
|
2044
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T7> \
|
|
2045
|
-
}
|
|
2046
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_8 \
|
|
2047
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_7, \
|
|
2048
|
-
{ \
|
|
2049
|
-
&detail::any_executor_base::query_fn<Ex, T8>, \
|
|
2050
|
-
&detail::any_executor_base::require_fn<any_executor, Ex, T8>, \
|
|
2051
|
-
&detail::any_executor_base::prefer_fn<any_executor, Ex, T8> \
|
|
2052
|
-
}
|
|
2053
|
-
|
|
2054
|
-
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
2055
|
-
|
|
2056
|
-
# define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS \
|
|
2057
|
-
any_executor(any_executor&& other) BOOST_ASIO_NOEXCEPT \
|
|
2058
|
-
: detail::any_executor_base( \
|
|
2059
|
-
static_cast<any_executor_base&&>( \
|
|
2060
|
-
static_cast<any_executor_base&>(other))), \
|
|
2061
|
-
prop_fns_(other.prop_fns_) \
|
|
2062
|
-
{ \
|
|
2063
|
-
other.prop_fns_ = prop_fns_table<void>(); \
|
|
2064
|
-
} \
|
|
2065
|
-
\
|
|
2066
|
-
any_executor(std::nothrow_t, any_executor&& other) BOOST_ASIO_NOEXCEPT \
|
|
2067
|
-
: detail::any_executor_base( \
|
|
2068
|
-
static_cast<any_executor_base&&>( \
|
|
2069
|
-
static_cast<any_executor_base&>(other))), \
|
|
2070
|
-
prop_fns_(other.prop_fns_) \
|
|
2071
|
-
{ \
|
|
2072
|
-
other.prop_fns_ = prop_fns_table<void>(); \
|
|
2073
|
-
} \
|
|
2074
|
-
\
|
|
2075
|
-
any_executor& operator=(any_executor&& other) BOOST_ASIO_NOEXCEPT \
|
|
2076
|
-
{ \
|
|
2077
|
-
if (this != &other) \
|
|
2078
|
-
{ \
|
|
2079
|
-
prop_fns_ = other.prop_fns_; \
|
|
2080
|
-
detail::any_executor_base::operator=( \
|
|
2081
|
-
static_cast<detail::any_executor_base&&>( \
|
|
2082
|
-
static_cast<detail::any_executor_base&>(other))); \
|
|
2083
|
-
} \
|
|
2084
|
-
return *this; \
|
|
2085
|
-
} \
|
|
2086
|
-
/**/
|
|
2087
|
-
#else // defined(BOOST_ASIO_HAS_MOVE)
|
|
2088
|
-
|
|
2089
|
-
# define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS
|
|
2090
|
-
|
|
2091
|
-
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
2092
|
-
|
|
2093
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_DEF(n) \
|
|
2094
|
-
template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2095
|
-
class any_executor<BOOST_ASIO_VARIADIC_TARGS(n)> : \
|
|
2096
|
-
public detail::any_executor_base, \
|
|
2097
|
-
public detail::any_executor_context< \
|
|
2098
|
-
any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>, \
|
|
2099
|
-
typename detail::supportable_properties< \
|
|
2100
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::find_context_as_property> \
|
|
2101
|
-
{ \
|
|
2102
|
-
public: \
|
|
2103
|
-
any_executor() BOOST_ASIO_NOEXCEPT \
|
|
2104
|
-
: detail::any_executor_base(), \
|
|
2105
|
-
prop_fns_(prop_fns_table<void>()) \
|
|
2106
|
-
{ \
|
|
2107
|
-
} \
|
|
2108
|
-
\
|
|
2109
|
-
any_executor(nullptr_t) BOOST_ASIO_NOEXCEPT \
|
|
2110
|
-
: detail::any_executor_base(), \
|
|
2111
|
-
prop_fns_(prop_fns_table<void>()) \
|
|
2112
|
-
{ \
|
|
2113
|
-
} \
|
|
2114
|
-
\
|
|
2115
|
-
template <BOOST_ASIO_EXECUTION_EXECUTOR Executor> \
|
|
2116
|
-
any_executor(Executor ex, \
|
|
2117
|
-
typename enable_if< \
|
|
2118
|
-
conditional< \
|
|
2119
|
-
!is_same<Executor, any_executor>::value \
|
|
2120
|
-
&& !is_base_of<detail::any_executor_base, Executor>::value, \
|
|
2121
|
-
detail::is_valid_target_executor< \
|
|
2122
|
-
Executor, void(BOOST_ASIO_VARIADIC_TARGS(n))>, \
|
|
2123
|
-
false_type \
|
|
2124
|
-
>::type::value \
|
|
2125
|
-
>::type* = 0) \
|
|
2126
|
-
: detail::any_executor_base(BOOST_ASIO_MOVE_CAST( \
|
|
2127
|
-
Executor)(ex), false_type()), \
|
|
2128
|
-
prop_fns_(prop_fns_table<Executor>()) \
|
|
2129
|
-
{ \
|
|
2130
|
-
} \
|
|
2131
|
-
\
|
|
2132
|
-
template <BOOST_ASIO_EXECUTION_EXECUTOR Executor> \
|
|
2133
|
-
any_executor(std::nothrow_t, Executor ex, \
|
|
2134
|
-
typename enable_if< \
|
|
2135
|
-
conditional< \
|
|
2136
|
-
!is_same<Executor, any_executor>::value \
|
|
2137
|
-
&& !is_base_of<detail::any_executor_base, Executor>::value, \
|
|
2138
|
-
detail::is_valid_target_executor< \
|
|
2139
|
-
Executor, void(BOOST_ASIO_VARIADIC_TARGS(n))>, \
|
|
2140
|
-
false_type \
|
|
2141
|
-
>::type::value \
|
|
2142
|
-
>::type* = 0) BOOST_ASIO_NOEXCEPT \
|
|
2143
|
-
: detail::any_executor_base(std::nothrow, \
|
|
2144
|
-
BOOST_ASIO_MOVE_CAST(Executor)(ex), false_type()), \
|
|
2145
|
-
prop_fns_(prop_fns_table<Executor>()) \
|
|
2146
|
-
{ \
|
|
2147
|
-
if (this->template target<void>() == 0) \
|
|
2148
|
-
prop_fns_ = prop_fns_table<void>(); \
|
|
2149
|
-
} \
|
|
2150
|
-
\
|
|
2151
|
-
any_executor(const any_executor& other) BOOST_ASIO_NOEXCEPT \
|
|
2152
|
-
: detail::any_executor_base( \
|
|
2153
|
-
static_cast<const detail::any_executor_base&>(other)), \
|
|
2154
|
-
prop_fns_(other.prop_fns_) \
|
|
2155
|
-
{ \
|
|
2156
|
-
} \
|
|
2157
|
-
\
|
|
2158
|
-
any_executor(std::nothrow_t, \
|
|
2159
|
-
const any_executor& other) BOOST_ASIO_NOEXCEPT \
|
|
2160
|
-
: detail::any_executor_base( \
|
|
2161
|
-
static_cast<const detail::any_executor_base&>(other)), \
|
|
2162
|
-
prop_fns_(other.prop_fns_) \
|
|
2163
|
-
{ \
|
|
2164
|
-
if (this->template target<void>() == 0) \
|
|
2165
|
-
prop_fns_ = prop_fns_table<void>(); \
|
|
2166
|
-
} \
|
|
2167
|
-
\
|
|
2168
|
-
any_executor(any_executor<> other) \
|
|
2169
|
-
: detail::any_executor_base(BOOST_ASIO_MOVE_CAST( \
|
|
2170
|
-
any_executor<>)(other), true_type()), \
|
|
2171
|
-
prop_fns_(prop_fns_table<any_executor<> >()) \
|
|
2172
|
-
{ \
|
|
2173
|
-
} \
|
|
2174
|
-
\
|
|
2175
|
-
any_executor(std::nothrow_t, any_executor<> other) BOOST_ASIO_NOEXCEPT \
|
|
2176
|
-
: detail::any_executor_base(std::nothrow, \
|
|
2177
|
-
BOOST_ASIO_MOVE_CAST(any_executor<>)(other), true_type()), \
|
|
2178
|
-
prop_fns_(prop_fns_table<any_executor<> >()) \
|
|
2179
|
-
{ \
|
|
2180
|
-
if (this->template target<void>() == 0) \
|
|
2181
|
-
prop_fns_ = prop_fns_table<void>(); \
|
|
2182
|
-
} \
|
|
2183
|
-
\
|
|
2184
|
-
template <typename OtherAnyExecutor> \
|
|
2185
|
-
any_executor(OtherAnyExecutor other, \
|
|
2186
|
-
typename enable_if< \
|
|
2187
|
-
conditional< \
|
|
2188
|
-
!is_same<OtherAnyExecutor, any_executor>::value \
|
|
2189
|
-
&& is_base_of<detail::any_executor_base, \
|
|
2190
|
-
OtherAnyExecutor>::value, \
|
|
2191
|
-
typename detail::supportable_properties< \
|
|
2192
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2193
|
-
is_valid_target<OtherAnyExecutor>, \
|
|
2194
|
-
false_type \
|
|
2195
|
-
>::type::value \
|
|
2196
|
-
>::type* = 0) \
|
|
2197
|
-
: detail::any_executor_base(BOOST_ASIO_MOVE_CAST( \
|
|
2198
|
-
OtherAnyExecutor)(other), true_type()), \
|
|
2199
|
-
prop_fns_(prop_fns_table<OtherAnyExecutor>()) \
|
|
2200
|
-
{ \
|
|
2201
|
-
} \
|
|
2202
|
-
\
|
|
2203
|
-
template <typename OtherAnyExecutor> \
|
|
2204
|
-
any_executor(std::nothrow_t, OtherAnyExecutor other, \
|
|
2205
|
-
typename enable_if< \
|
|
2206
|
-
conditional< \
|
|
2207
|
-
!is_same<OtherAnyExecutor, any_executor>::value \
|
|
2208
|
-
&& is_base_of<detail::any_executor_base, \
|
|
2209
|
-
OtherAnyExecutor>::value, \
|
|
2210
|
-
typename detail::supportable_properties< \
|
|
2211
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2212
|
-
is_valid_target<OtherAnyExecutor>, \
|
|
2213
|
-
false_type \
|
|
2214
|
-
>::type::value \
|
|
2215
|
-
>::type* = 0) BOOST_ASIO_NOEXCEPT \
|
|
2216
|
-
: detail::any_executor_base(std::nothrow, \
|
|
2217
|
-
BOOST_ASIO_MOVE_CAST(OtherAnyExecutor)(other), true_type()), \
|
|
2218
|
-
prop_fns_(prop_fns_table<OtherAnyExecutor>()) \
|
|
2219
|
-
{ \
|
|
2220
|
-
if (this->template target<void>() == 0) \
|
|
2221
|
-
prop_fns_ = prop_fns_table<void>(); \
|
|
2222
|
-
} \
|
|
2223
|
-
\
|
|
2224
|
-
any_executor& operator=(const any_executor& other) BOOST_ASIO_NOEXCEPT \
|
|
2225
|
-
{ \
|
|
2226
|
-
if (this != &other) \
|
|
2227
|
-
{ \
|
|
2228
|
-
prop_fns_ = other.prop_fns_; \
|
|
2229
|
-
detail::any_executor_base::operator=( \
|
|
2230
|
-
static_cast<const detail::any_executor_base&>(other)); \
|
|
2231
|
-
} \
|
|
2232
|
-
return *this; \
|
|
2233
|
-
} \
|
|
2234
|
-
\
|
|
2235
|
-
any_executor& operator=(nullptr_t p) BOOST_ASIO_NOEXCEPT \
|
|
2236
|
-
{ \
|
|
2237
|
-
prop_fns_ = prop_fns_table<void>(); \
|
|
2238
|
-
detail::any_executor_base::operator=(p); \
|
|
2239
|
-
return *this; \
|
|
2240
|
-
} \
|
|
2241
|
-
\
|
|
2242
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS \
|
|
2243
|
-
\
|
|
2244
|
-
void swap(any_executor& other) BOOST_ASIO_NOEXCEPT \
|
|
2245
|
-
{ \
|
|
2246
|
-
if (this != &other) \
|
|
2247
|
-
{ \
|
|
2248
|
-
detail::any_executor_base::swap( \
|
|
2249
|
-
static_cast<detail::any_executor_base&>(other)); \
|
|
2250
|
-
const prop_fns<any_executor>* tmp_prop_fns = other.prop_fns_; \
|
|
2251
|
-
other.prop_fns_ = prop_fns_; \
|
|
2252
|
-
prop_fns_ = tmp_prop_fns; \
|
|
2253
|
-
} \
|
|
2254
|
-
} \
|
|
2255
|
-
\
|
|
2256
|
-
using detail::any_executor_base::execute; \
|
|
2257
|
-
using detail::any_executor_base::target; \
|
|
2258
|
-
using detail::any_executor_base::target_type; \
|
|
2259
|
-
using detail::any_executor_base::operator unspecified_bool_type; \
|
|
2260
|
-
using detail::any_executor_base::operator!; \
|
|
2261
|
-
\
|
|
2262
|
-
bool equality_helper(const any_executor& other) const BOOST_ASIO_NOEXCEPT \
|
|
2263
|
-
{ \
|
|
2264
|
-
return any_executor_base::equality_helper(other); \
|
|
2265
|
-
} \
|
|
2266
|
-
\
|
|
2267
|
-
template <typename AnyExecutor1, typename AnyExecutor2> \
|
|
2268
|
-
friend typename enable_if< \
|
|
2269
|
-
is_base_of<any_executor, AnyExecutor1>::value \
|
|
2270
|
-
|| is_base_of<any_executor, AnyExecutor2>::value, \
|
|
2271
|
-
bool \
|
|
2272
|
-
>::type operator==(const AnyExecutor1& a, \
|
|
2273
|
-
const AnyExecutor2& b) BOOST_ASIO_NOEXCEPT \
|
|
2274
|
-
{ \
|
|
2275
|
-
return static_cast<const any_executor&>(a).equality_helper(b); \
|
|
2276
|
-
} \
|
|
2277
|
-
\
|
|
2278
|
-
template <typename AnyExecutor> \
|
|
2279
|
-
friend typename enable_if< \
|
|
2280
|
-
is_same<AnyExecutor, any_executor>::value, \
|
|
2281
|
-
bool \
|
|
2282
|
-
>::type operator==(const AnyExecutor& a, nullptr_t) BOOST_ASIO_NOEXCEPT \
|
|
2283
|
-
{ \
|
|
2284
|
-
return !a; \
|
|
2285
|
-
} \
|
|
2286
|
-
\
|
|
2287
|
-
template <typename AnyExecutor> \
|
|
2288
|
-
friend typename enable_if< \
|
|
2289
|
-
is_same<AnyExecutor, any_executor>::value, \
|
|
2290
|
-
bool \
|
|
2291
|
-
>::type operator==(nullptr_t, const AnyExecutor& b) BOOST_ASIO_NOEXCEPT \
|
|
2292
|
-
{ \
|
|
2293
|
-
return !b; \
|
|
2294
|
-
} \
|
|
2295
|
-
\
|
|
2296
|
-
template <typename AnyExecutor1, typename AnyExecutor2> \
|
|
2297
|
-
friend typename enable_if< \
|
|
2298
|
-
is_base_of<any_executor, AnyExecutor1>::value \
|
|
2299
|
-
|| is_base_of<any_executor, AnyExecutor2>::value, \
|
|
2300
|
-
bool \
|
|
2301
|
-
>::type operator!=(const AnyExecutor1& a, \
|
|
2302
|
-
const AnyExecutor2& b) BOOST_ASIO_NOEXCEPT \
|
|
2303
|
-
{ \
|
|
2304
|
-
return !static_cast<const any_executor&>(a).equality_helper(b); \
|
|
2305
|
-
} \
|
|
2306
|
-
\
|
|
2307
|
-
template <typename AnyExecutor> \
|
|
2308
|
-
friend typename enable_if< \
|
|
2309
|
-
is_same<AnyExecutor, any_executor>::value, \
|
|
2310
|
-
bool \
|
|
2311
|
-
>::type operator!=(const AnyExecutor& a, nullptr_t) BOOST_ASIO_NOEXCEPT \
|
|
2312
|
-
{ \
|
|
2313
|
-
return !!a; \
|
|
2314
|
-
} \
|
|
2315
|
-
\
|
|
2316
|
-
template <typename AnyExecutor> \
|
|
2317
|
-
friend typename enable_if< \
|
|
2318
|
-
is_same<AnyExecutor, any_executor>::value, \
|
|
2319
|
-
bool \
|
|
2320
|
-
>::type operator!=(nullptr_t, const AnyExecutor& b) BOOST_ASIO_NOEXCEPT \
|
|
2321
|
-
{ \
|
|
2322
|
-
return !!b; \
|
|
2323
|
-
} \
|
|
2324
|
-
\
|
|
2325
|
-
template <typename T> \
|
|
2326
|
-
struct find_convertible_property : \
|
|
2327
|
-
detail::supportable_properties< \
|
|
2328
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2329
|
-
find_convertible_property<T> {}; \
|
|
2330
|
-
\
|
|
2331
|
-
template <typename Property> \
|
|
2332
|
-
void 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
|
-
>::type* = 0) const \
|
|
2339
|
-
{ \
|
|
2340
|
-
if (!target_) \
|
|
2341
|
-
{ \
|
|
2342
|
-
bad_executor ex; \
|
|
2343
|
-
boost::asio::detail::throw_exception(ex); \
|
|
2344
|
-
} \
|
|
2345
|
-
typedef find_convertible_property<Property> found; \
|
|
2346
|
-
prop_fns_[found::index].query(0, object_fns_->target(*this), \
|
|
2347
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2348
|
-
} \
|
|
2349
|
-
\
|
|
2350
|
-
template <typename Property> \
|
|
2351
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2352
|
-
query(const Property& p, \
|
|
2353
|
-
typename enable_if< \
|
|
2354
|
-
!is_same< \
|
|
2355
|
-
typename find_convertible_property<Property>::query_result_type, \
|
|
2356
|
-
void \
|
|
2357
|
-
>::value \
|
|
2358
|
-
&& \
|
|
2359
|
-
is_reference< \
|
|
2360
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2361
|
-
>::value \
|
|
2362
|
-
>::type* = 0) const \
|
|
2363
|
-
{ \
|
|
2364
|
-
if (!target_) \
|
|
2365
|
-
{ \
|
|
2366
|
-
bad_executor ex; \
|
|
2367
|
-
boost::asio::detail::throw_exception(ex); \
|
|
2368
|
-
} \
|
|
2369
|
-
typedef find_convertible_property<Property> found; \
|
|
2370
|
-
typename remove_reference< \
|
|
2371
|
-
typename found::query_result_type>::type* result; \
|
|
2372
|
-
prop_fns_[found::index].query(&result, object_fns_->target(*this), \
|
|
2373
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2374
|
-
return *result; \
|
|
2375
|
-
} \
|
|
2376
|
-
\
|
|
2377
|
-
template <typename Property> \
|
|
2378
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2379
|
-
query(const Property& p, \
|
|
2380
|
-
typename enable_if< \
|
|
2381
|
-
!is_same< \
|
|
2382
|
-
typename find_convertible_property<Property>::query_result_type, \
|
|
2383
|
-
void \
|
|
2384
|
-
>::value \
|
|
2385
|
-
&& \
|
|
2386
|
-
is_scalar< \
|
|
2387
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2388
|
-
>::value \
|
|
2389
|
-
>::type* = 0) const \
|
|
2390
|
-
{ \
|
|
2391
|
-
if (!target_) \
|
|
2392
|
-
{ \
|
|
2393
|
-
bad_executor ex; \
|
|
2394
|
-
boost::asio::detail::throw_exception(ex); \
|
|
2395
|
-
} \
|
|
2396
|
-
typedef find_convertible_property<Property> found; \
|
|
2397
|
-
typename found::query_result_type result; \
|
|
2398
|
-
prop_fns_[found::index].query(&result, object_fns_->target(*this), \
|
|
2399
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2400
|
-
return result; \
|
|
2401
|
-
} \
|
|
2402
|
-
\
|
|
2403
|
-
template <typename Property> \
|
|
2404
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2405
|
-
query(const Property& p, \
|
|
2406
|
-
typename enable_if< \
|
|
2407
|
-
!is_same< \
|
|
2408
|
-
typename find_convertible_property<Property>::query_result_type, \
|
|
2409
|
-
void \
|
|
2410
|
-
>::value \
|
|
2411
|
-
&& \
|
|
2412
|
-
!is_reference< \
|
|
2413
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2414
|
-
>::value \
|
|
2415
|
-
&& \
|
|
2416
|
-
!is_scalar< \
|
|
2417
|
-
typename find_convertible_property<Property>::query_result_type \
|
|
2418
|
-
>::value \
|
|
2419
|
-
>::type* = 0) const \
|
|
2420
|
-
{ \
|
|
2421
|
-
if (!target_) \
|
|
2422
|
-
{ \
|
|
2423
|
-
bad_executor ex; \
|
|
2424
|
-
boost::asio::detail::throw_exception(ex); \
|
|
2425
|
-
} \
|
|
2426
|
-
typedef find_convertible_property<Property> found; \
|
|
2427
|
-
typename found::query_result_type* result; \
|
|
2428
|
-
prop_fns_[found::index].query(&result, object_fns_->target(*this), \
|
|
2429
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2430
|
-
return *boost::asio::detail::scoped_ptr< \
|
|
2431
|
-
typename found::query_result_type>(result); \
|
|
2432
|
-
} \
|
|
2433
|
-
\
|
|
2434
|
-
template <typename T> \
|
|
2435
|
-
struct find_convertible_requirable_property : \
|
|
2436
|
-
detail::supportable_properties< \
|
|
2437
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2438
|
-
find_convertible_requirable_property<T> {}; \
|
|
2439
|
-
\
|
|
2440
|
-
template <typename Property> \
|
|
2441
|
-
any_executor require(const Property& p, \
|
|
2442
|
-
typename enable_if< \
|
|
2443
|
-
find_convertible_requirable_property<Property>::value \
|
|
2444
|
-
>::type* = 0) const \
|
|
2445
|
-
{ \
|
|
2446
|
-
if (!target_) \
|
|
2447
|
-
{ \
|
|
2448
|
-
bad_executor ex; \
|
|
2449
|
-
boost::asio::detail::throw_exception(ex); \
|
|
2450
|
-
} \
|
|
2451
|
-
typedef find_convertible_requirable_property<Property> found; \
|
|
2452
|
-
return prop_fns_[found::index].require(object_fns_->target(*this), \
|
|
2453
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2454
|
-
} \
|
|
2455
|
-
\
|
|
2456
|
-
template <typename T> \
|
|
2457
|
-
struct find_convertible_preferable_property : \
|
|
2458
|
-
detail::supportable_properties< \
|
|
2459
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2460
|
-
find_convertible_preferable_property<T> {}; \
|
|
2461
|
-
\
|
|
2462
|
-
template <typename Property> \
|
|
2463
|
-
any_executor prefer(const Property& p, \
|
|
2464
|
-
typename enable_if< \
|
|
2465
|
-
find_convertible_preferable_property<Property>::value \
|
|
2466
|
-
>::type* = 0) const \
|
|
2467
|
-
{ \
|
|
2468
|
-
if (!target_) \
|
|
2469
|
-
{ \
|
|
2470
|
-
bad_executor ex; \
|
|
2471
|
-
boost::asio::detail::throw_exception(ex); \
|
|
2472
|
-
} \
|
|
2473
|
-
typedef find_convertible_preferable_property<Property> found; \
|
|
2474
|
-
return prop_fns_[found::index].prefer(object_fns_->target(*this), \
|
|
2475
|
-
&static_cast<const typename found::type&>(p)); \
|
|
2476
|
-
} \
|
|
2477
|
-
\
|
|
2478
|
-
template <typename Ex> \
|
|
2479
|
-
static const prop_fns<any_executor>* prop_fns_table() \
|
|
2480
|
-
{ \
|
|
2481
|
-
static const prop_fns<any_executor> fns[] = \
|
|
2482
|
-
{ \
|
|
2483
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS(n) \
|
|
2484
|
-
}; \
|
|
2485
|
-
return fns; \
|
|
2486
|
-
} \
|
|
2487
|
-
\
|
|
2488
|
-
const prop_fns<any_executor>* prop_fns_; \
|
|
2489
|
-
typedef detail::supportable_properties<0, \
|
|
2490
|
-
void(BOOST_ASIO_VARIADIC_TARGS(n))> supportable_properties_type; \
|
|
2491
|
-
}; \
|
|
2492
|
-
\
|
|
2493
|
-
template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2494
|
-
inline void swap(any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>& a, \
|
|
2495
|
-
any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>& b) BOOST_ASIO_NOEXCEPT \
|
|
2496
|
-
{ \
|
|
2497
|
-
return a.swap(b); \
|
|
2498
|
-
} \
|
|
2499
|
-
/**/
|
|
2500
|
-
BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_ANY_EXECUTOR_DEF)
|
|
2501
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_DEF
|
|
2502
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS
|
|
2503
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS
|
|
2504
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_1
|
|
2505
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_2
|
|
2506
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_3
|
|
2507
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_4
|
|
2508
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_5
|
|
2509
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_6
|
|
2510
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_7
|
|
2511
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_8
|
|
2512
|
-
|
|
2513
|
-
#endif // if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2514
|
-
|
|
2515
1844
|
} // namespace execution
|
|
2516
1845
|
namespace traits {
|
|
2517
1846
|
|
|
2518
1847
|
#if !defined(BOOST_ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
|
|
2519
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2520
1848
|
|
|
2521
1849
|
template <typename... SupportableProperties>
|
|
2522
|
-
struct equality_comparable<execution::any_executor<SupportableProperties
|
|
2523
|
-
{
|
|
2524
|
-
static const bool is_valid = true;
|
|
2525
|
-
static const bool is_noexcept = true;
|
|
2526
|
-
};
|
|
2527
|
-
|
|
2528
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2529
|
-
|
|
2530
|
-
template <>
|
|
2531
|
-
struct equality_comparable<execution::any_executor<> >
|
|
1850
|
+
struct equality_comparable<execution::any_executor<SupportableProperties...>>
|
|
2532
1851
|
{
|
|
2533
|
-
static
|
|
2534
|
-
static
|
|
1852
|
+
static constexpr bool is_valid = true;
|
|
1853
|
+
static constexpr bool is_noexcept = true;
|
|
2535
1854
|
};
|
|
2536
1855
|
|
|
2537
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EQUALITY_COMPARABLE_DEF(n) \
|
|
2538
|
-
template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2539
|
-
struct equality_comparable< \
|
|
2540
|
-
execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)> > \
|
|
2541
|
-
{ \
|
|
2542
|
-
static const bool is_valid = true; \
|
|
2543
|
-
static const bool is_noexcept = true; \
|
|
2544
|
-
}; \
|
|
2545
|
-
/**/
|
|
2546
|
-
BOOST_ASIO_VARIADIC_GENERATE(
|
|
2547
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EQUALITY_COMPARABLE_DEF)
|
|
2548
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EQUALITY_COMPARABLE_DEF
|
|
2549
|
-
|
|
2550
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2551
1856
|
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
|
|
2552
1857
|
|
|
2553
1858
|
#if !defined(BOOST_ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
|
|
2554
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2555
1859
|
|
|
2556
1860
|
template <typename F, typename... SupportableProperties>
|
|
2557
1861
|
struct execute_member<execution::any_executor<SupportableProperties...>, F>
|
|
2558
1862
|
{
|
|
2559
|
-
static
|
|
2560
|
-
static
|
|
2561
|
-
typedef void result_type;
|
|
2562
|
-
};
|
|
2563
|
-
|
|
2564
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2565
|
-
|
|
2566
|
-
template <typename F>
|
|
2567
|
-
struct execute_member<execution::any_executor<>, F>
|
|
2568
|
-
{
|
|
2569
|
-
static const bool is_valid = true;
|
|
2570
|
-
static const bool is_noexcept = false;
|
|
1863
|
+
static constexpr bool is_valid = true;
|
|
1864
|
+
static constexpr bool is_noexcept = false;
|
|
2571
1865
|
typedef void result_type;
|
|
2572
1866
|
};
|
|
2573
1867
|
|
|
2574
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EXECUTE_MEMBER_DEF(n) \
|
|
2575
|
-
template <typename F, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2576
|
-
struct execute_member< \
|
|
2577
|
-
execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>, F> \
|
|
2578
|
-
{ \
|
|
2579
|
-
static const bool is_valid = true; \
|
|
2580
|
-
static const bool is_noexcept = false; \
|
|
2581
|
-
typedef void result_type; \
|
|
2582
|
-
}; \
|
|
2583
|
-
/**/
|
|
2584
|
-
BOOST_ASIO_VARIADIC_GENERATE(
|
|
2585
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EXECUTE_MEMBER_DEF)
|
|
2586
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_EXECUTE_MEMBER_DEF
|
|
2587
|
-
|
|
2588
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2589
1868
|
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
|
|
2590
1869
|
|
|
2591
1870
|
#if !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
|
|
2592
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2593
1871
|
|
|
2594
1872
|
template <typename Prop, typename... SupportableProperties>
|
|
2595
1873
|
struct query_member<
|
|
2596
1874
|
execution::any_executor<SupportableProperties...>, Prop,
|
|
2597
|
-
|
|
1875
|
+
enable_if_t<
|
|
2598
1876
|
execution::detail::supportable_properties<
|
|
2599
1877
|
0, void(SupportableProperties...)>::template
|
|
2600
1878
|
find_convertible_property<Prop>::value
|
|
2601
|
-
|
|
1879
|
+
>>
|
|
2602
1880
|
{
|
|
2603
|
-
static
|
|
2604
|
-
static
|
|
1881
|
+
static constexpr bool is_valid = true;
|
|
1882
|
+
static constexpr bool is_noexcept = false;
|
|
2605
1883
|
typedef typename execution::detail::supportable_properties<
|
|
2606
1884
|
0, void(SupportableProperties...)>::template
|
|
2607
1885
|
find_convertible_property<Prop>::query_result_type result_type;
|
|
2608
1886
|
};
|
|
2609
1887
|
|
|
2610
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2611
|
-
|
|
2612
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_QUERY_MEMBER_DEF(n) \
|
|
2613
|
-
template <typename Prop, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2614
|
-
struct query_member< \
|
|
2615
|
-
execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>, Prop, \
|
|
2616
|
-
typename enable_if< \
|
|
2617
|
-
execution::detail::supportable_properties< \
|
|
2618
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2619
|
-
find_convertible_property<Prop>::value \
|
|
2620
|
-
>::type> \
|
|
2621
|
-
{ \
|
|
2622
|
-
static const bool is_valid = true; \
|
|
2623
|
-
static const bool is_noexcept = false; \
|
|
2624
|
-
typedef typename execution::detail::supportable_properties< \
|
|
2625
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2626
|
-
find_convertible_property<Prop>::query_result_type result_type; \
|
|
2627
|
-
}; \
|
|
2628
|
-
/**/
|
|
2629
|
-
BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_ANY_EXECUTOR_QUERY_MEMBER_DEF)
|
|
2630
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_QUERY_MEMBER_DEF
|
|
2631
|
-
|
|
2632
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2633
1888
|
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
|
|
2634
1889
|
|
|
2635
1890
|
#if !defined(BOOST_ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
|
|
2636
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2637
1891
|
|
|
2638
1892
|
template <typename Prop, typename... SupportableProperties>
|
|
2639
1893
|
struct require_member<
|
|
2640
1894
|
execution::any_executor<SupportableProperties...>, Prop,
|
|
2641
|
-
|
|
1895
|
+
enable_if_t<
|
|
2642
1896
|
execution::detail::supportable_properties<
|
|
2643
1897
|
0, void(SupportableProperties...)>::template
|
|
2644
1898
|
find_convertible_requirable_property<Prop>::value
|
|
2645
|
-
|
|
1899
|
+
>>
|
|
2646
1900
|
{
|
|
2647
|
-
static
|
|
2648
|
-
static
|
|
1901
|
+
static constexpr bool is_valid = true;
|
|
1902
|
+
static constexpr bool is_noexcept = false;
|
|
2649
1903
|
typedef execution::any_executor<SupportableProperties...> result_type;
|
|
2650
1904
|
};
|
|
2651
1905
|
|
|
2652
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2653
|
-
|
|
2654
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_REQUIRE_MEMBER_DEF(n) \
|
|
2655
|
-
template <typename Prop, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2656
|
-
struct require_member< \
|
|
2657
|
-
execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>, Prop, \
|
|
2658
|
-
typename enable_if< \
|
|
2659
|
-
execution::detail::supportable_properties< \
|
|
2660
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2661
|
-
find_convertible_requirable_property<Prop>::value \
|
|
2662
|
-
>::type> \
|
|
2663
|
-
{ \
|
|
2664
|
-
static const bool is_valid = true; \
|
|
2665
|
-
static const bool is_noexcept = false; \
|
|
2666
|
-
typedef execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)> result_type; \
|
|
2667
|
-
}; \
|
|
2668
|
-
/**/
|
|
2669
|
-
BOOST_ASIO_VARIADIC_GENERATE(
|
|
2670
|
-
BOOST_ASIO_PRIVATE_ANY_EXECUTOR_REQUIRE_MEMBER_DEF)
|
|
2671
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_REQUIRE_MEMBER_DEF
|
|
2672
|
-
|
|
2673
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2674
1906
|
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
|
|
2675
1907
|
|
|
2676
1908
|
#if !defined(BOOST_ASIO_HAS_DEDUCED_PREFER_FREE_TRAIT)
|
|
2677
|
-
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2678
1909
|
|
|
2679
1910
|
template <typename Prop, typename... SupportableProperties>
|
|
2680
1911
|
struct prefer_member<
|
|
2681
1912
|
execution::any_executor<SupportableProperties...>, Prop,
|
|
2682
|
-
|
|
1913
|
+
enable_if_t<
|
|
2683
1914
|
execution::detail::supportable_properties<
|
|
2684
1915
|
0, void(SupportableProperties...)>::template
|
|
2685
1916
|
find_convertible_preferable_property<Prop>::value
|
|
2686
|
-
|
|
1917
|
+
>>
|
|
2687
1918
|
{
|
|
2688
|
-
static
|
|
2689
|
-
static
|
|
1919
|
+
static constexpr bool is_valid = true;
|
|
1920
|
+
static constexpr bool is_noexcept = false;
|
|
2690
1921
|
typedef execution::any_executor<SupportableProperties...> result_type;
|
|
2691
1922
|
};
|
|
2692
1923
|
|
|
2693
|
-
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2694
|
-
|
|
2695
|
-
#define BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PREFER_FREE_DEF(n) \
|
|
2696
|
-
template <typename Prop, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
|
|
2697
|
-
struct prefer_member< \
|
|
2698
|
-
execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)>, Prop, \
|
|
2699
|
-
typename enable_if< \
|
|
2700
|
-
execution::detail::supportable_properties< \
|
|
2701
|
-
0, void(BOOST_ASIO_VARIADIC_TARGS(n))>::template \
|
|
2702
|
-
find_convertible_preferable_property<Prop>::value \
|
|
2703
|
-
>::type> \
|
|
2704
|
-
{ \
|
|
2705
|
-
static const bool is_valid = true; \
|
|
2706
|
-
static const bool is_noexcept = false; \
|
|
2707
|
-
typedef execution::any_executor<BOOST_ASIO_VARIADIC_TARGS(n)> result_type; \
|
|
2708
|
-
}; \
|
|
2709
|
-
/**/
|
|
2710
|
-
BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PREFER_FREE_DEF)
|
|
2711
|
-
#undef BOOST_ASIO_PRIVATE_ANY_EXECUTOR_PREFER_FREE_DEF
|
|
2712
|
-
|
|
2713
|
-
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
|
|
2714
1924
|
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_PREFER_FREE_TRAIT)
|
|
2715
1925
|
|
|
2716
1926
|
} // namespace traits
|