passenger 6.0.7 → 6.0.8
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 +29 -0
- data/CONTRIBUTORS +1 -0
- data/README.md +2 -9
- data/build/common_library.rb +4 -4
- data/build/packaging.rb +4 -2
- data/build/support/cxx_dependency_map.rb +1 -0
- data/dev/copy_boost_headers +1 -1
- data/resources/release.txt +1 -0
- data/resources/templates/config/installation_utils/user_support_binaries_dir_not_writable.txt.erb +1 -0
- data/resources/templates/standalone/global.erb +4 -0
- data/src/agent/Core/AdminPanelConnector.h +1 -1
- data/src/agent/Core/ApplicationPool/Group.h +1 -1
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +2 -2
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Options.h +2 -2
- data/src/agent/Core/ApplicationPool/Pool.h +1 -1
- data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +1 -1
- data/src/agent/Core/Config.h +2 -2
- data/src/agent/Core/Controller/Config.h +2 -2
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +1 -1
- data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
- data/src/agent/Core/SpawningKit/SmartSpawner.h +1 -1
- data/src/agent/Core/SpawningKit/Spawner.h +1 -0
- data/src/agent/Core/TelemetryCollector.h +1 -1
- data/src/agent/Shared/ApiServerUtils.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/InstanceDirToucher.cpp +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +1 -1
- data/src/cxx_supportlib/BackgroundEventLoop.cpp +1 -1
- data/src/cxx_supportlib/ConfigKit/Schema.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Translator.h +1 -1
- data/src/cxx_supportlib/Constants.h +2 -2
- data/src/cxx_supportlib/FileTools/FileManip.cpp +10 -1
- data/src/cxx_supportlib/FileTools/FileManip.h +16 -0
- data/src/cxx_supportlib/IOTools/BufferedIO.h +1 -1
- data/src/cxx_supportlib/IOTools/MessageIO.h +1 -1
- data/src/cxx_supportlib/SafeLibev.h +1 -1
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +1 -1
- data/src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h +1 -1
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +9 -12
- data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +5 -1
- data/src/cxx_supportlib/oxt/thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/changelog.md +107 -5
- data/src/cxx_supportlib/vendor-copy/websocketpp/readme.md +2 -2
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/close.hpp +12 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/asio.hpp +13 -3
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/memory.hpp +0 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/thread.hpp +6 -2
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/core.hpp +13 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/connection.hpp +6 -15
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/endpoint.hpp +24 -24
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +1 -0
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +84 -19
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/frame.hpp +3 -0
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/impl/parser.hpp +4 -0
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/parser.hpp +10 -0
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/impl/connection_impl.hpp +150 -147
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/impl/endpoint_impl.hpp +4 -4
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/base.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/hybi13.hpp +47 -25
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/roles/client_endpoint.hpp +3 -3
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/roles/server_endpoint.hpp +14 -9
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/sha1/sha1.hpp +189 -189
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/connection.hpp +59 -66
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/endpoint.hpp +73 -38
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/security/none.hpp +9 -7
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/security/tls.hpp +12 -22
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/base/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/debug/connection.hpp +11 -11
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/debug/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/iostream/connection.hpp +13 -13
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/iostream/endpoint.hpp +3 -3
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/stub/connection.hpp +8 -8
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/uri.hpp +1 -0
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/utilities.hpp +2 -4
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/version.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/compare.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/case_conv.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/classification.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/finder.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/trim.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_format.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/formatter.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/iter_find.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/predicate.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/split.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/array.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +47 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +37 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +426 -65
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +135 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +432 -257
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +178 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +433 -257
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +286 -143
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +315 -96
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +241 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +364 -227
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +976 -461
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +21 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +15 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +329 -197
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +221 -115
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +11 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +416 -89
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +23 -27
- 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 +31 -30
- 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 +23 -27
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +473 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +138 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +118 -102
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +33 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +1 -1
- 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 +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +145 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +109 -0
- 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 +107 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +90 -0
- 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 +1 -1
- 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 +11 -6
- 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 +9 -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 +481 -129
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +1 -1
- 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 +29 -12
- 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 +25 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +36 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +36 -16
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +205 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +55 -6
- 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_invoke_helpers.hpp +24 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +27 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +378 -35
- 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 +218 -84
- 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 +12 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +40 -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 +6 -2
- 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 +11 -6
- 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_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 +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_serial_port_service.ipp +16 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +37 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +87 -4
- 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 +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +1 -1
- 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 +22 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +674 -283
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +15 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +211 -5
- 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 +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +6 -5
- 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 +1 -1
- 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/io_control.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +177 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +65 -16
- 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/local_free_on_block_exit.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +56 -0
- 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 +7 -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 +63 -52
- 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/old_win_sdk_compat.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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +15 -2
- 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_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 +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +62 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +15 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_serial_port_service.hpp +15 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +53 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +20 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +43 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +42 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +26 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +48 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +43 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +82 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +77 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +15 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +4 -2
- 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 +16 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +31 -13
- 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 +31 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +21 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.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 +1 -1
- 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 +11 -7
- 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 +24 -12
- 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 +47 -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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +26 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +5 -2
- 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 +1 -1
- 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 +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +67 -5
- 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 +1 -1
- 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 +65 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +177 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +13 -8
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +84 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +46 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +27 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +251 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +2266 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +1353 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +1066 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +394 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +1020 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +490 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +203 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +154 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +130 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +263 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +235 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +240 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +919 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +180 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +96 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +723 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +329 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +282 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +722 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +294 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +313 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +257 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +257 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +490 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +254 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +454 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +129 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -2
- 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_alloc_hook.hpp +29 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +30 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +438 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +154 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +148 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +300 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +637 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +299 -243
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +204 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +199 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +8 -6
- 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 +16 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +14 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +209 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +204 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +619 -132
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +194 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +2278 -445
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/impl → impl}/redirect_error.hpp +148 -52
- 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 +59 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +25 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +114 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +261 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +73 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +281 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +131 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +562 -132
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +185 -91
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +714 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +46 -54
- 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 +35 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +32 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +41 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +24 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +200 -190
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -10
- 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 +23 -18
- 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 +11 -11
- 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 +26 -26
- 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 +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +1 -1
- 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 +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +63 -0
- 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 +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +14 -19
- 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 +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +8 -1
- 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 +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +189 -74
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +180 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +5 -612
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +3 -326
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +29 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +660 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +300 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +398 -57
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +51 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +1460 -423
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/redirect_error.hpp → redirect_error.hpp} +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +528 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +314 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +3 -736
- 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 +3 -422
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +26 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +4 -1
- 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 +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +37 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +51 -8
- 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 +5 -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 +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +41 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +21 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +92 -0
- 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 +44 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +235 -97
- 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/static_thread_pool.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +264 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +16 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +558 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +917 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +116 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +116 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +236 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +236 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +125 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +125 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +2 -2
- 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 +101 -36
- 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 +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +295 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +363 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +186 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +188 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +3 -346
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +4 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +38 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +3 -344
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +3 -328
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +372 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +51 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +178 -11
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +85 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/capabilities.hpp +2 -191
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/aligned_variable.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +129 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{atomic_template.hpp → atomic_impl.hpp} +327 -429
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +1126 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +23 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/capabilities.hpp +217 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_aarch32.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_aarch64.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_gcc_alpha.hpp → caps_arch_gcc_alpha.hpp} +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{hwcaps_gcc_arm.hpp → caps_arch_gcc_arm.hpp} +37 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{hwcaps_gcc_ppc.hpp → caps_arch_gcc_ppc.hpp} +19 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_gcc_sparc.hpp → caps_arch_gcc_sparc.hpp} +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{hwcaps_gcc_x86.hpp → caps_arch_gcc_x86.hpp} +22 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_msvc_arm.hpp → caps_arch_msvc_arm.hpp} +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_msvc_x86.hpp → caps_arch_msvc_x86.hpp} +12 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_atomic.hpp +100 -75
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sync.hpp +0 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +39 -15
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_operations.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_operations_fwd.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +1121 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +1909 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_alpha.hpp → core_arch_ops_gcc_alpha.hpp} +280 -289
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_arm.hpp → core_arch_ops_gcc_arm.hpp} +467 -447
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_ppc.hpp → core_arch_ops_gcc_ppc.hpp} +75 -94
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_sparc.hpp → core_arch_ops_gcc_sparc.hpp} +33 -58
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_x86_dcas.hpp → core_arch_ops_gcc_x86.hpp} +507 -20
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_msvc_arm.hpp → core_arch_ops_msvc_arm.hpp} +58 -54
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_msvc_x86.hpp → core_arch_ops_msvc_x86.hpp} +69 -101
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +195 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated_fwd.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_fwd.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_cas_based.hpp → core_ops_cas_based.hpp} +9 -22
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +306 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_sync.hpp → core_ops_gcc_sync.hpp} +75 -52
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_linux_arm.hpp → core_ops_linux_arm.hpp} +32 -43
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_windows.hpp +201 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_extending_cas_based.hpp → extending_cas_based_arithmetic.hpp} +12 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_operations_fwd.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +23 -12
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +12 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_operations_fwd.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +60 -40
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +1060 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +1330 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +363 -355
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +94 -91
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +232 -102
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +9 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +119 -92
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_windows.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/footer.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_operations_fwd.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +147 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_arm_asm_common.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/header.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{integral_extend.hpp → integral_conversions.hpp} +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +35 -11
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +151 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_aarch32_common.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_aarch64_common.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +8 -79
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_common.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +23 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +64 -27
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_capabilities.hpp +363 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_dragonfly_umtx.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_freebsd_umtx.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_futex.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_windows.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_operations.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_operations_fwd.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +97 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +119 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +143 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +150 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +7 -18
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +85 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +85 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind.hpp +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +25 -11
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +26 -6
- data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +107 -105
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +25 -31
- data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/abi_prefix.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/abi_suffix.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +72 -22
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +155 -10
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +21 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +15 -7
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_stdlib_config.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +68 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/vxworks.hpp +63 -74
- data/src/cxx_supportlib/vendor-modified/boost/config/requires_threads.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/xlcpp_zos.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/user.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +19 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +117 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +250 -208
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +21 -116
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +11 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +30 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +133 -117
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +83 -18
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +103 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_functors.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +3 -12
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +51 -45
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +24 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +83 -77
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +82 -87
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +278 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/global_resource.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +30 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +90 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/unsynchronized_pool_resource.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +80 -80
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +63 -67
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +48 -42
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +150 -105
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +174 -155
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +157 -105
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +54 -53
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +207 -207
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/extensions.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/alloc_construct.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +633 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/core/first_scalar.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +157 -50
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +82 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/no_exceptions_support.hpp +14 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/noinit_adaptor.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/nvp.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/pointer_traits.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/uncaught_exceptions.hpp +155 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/use_default.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/cstdint.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/current_function.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_time.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +4 -17
- data/src/cxx_supportlib/vendor-modified/boost/date_time/constrained_value.hpp +19 -11
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +23 -23
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +17 -22
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration_types.hpp +44 -49
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_facet.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generators.hpp +24 -19
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_parsing.hpp +51 -25
- data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_rules.hpp +56 -56
- data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_transition_generators.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/find_match.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/format_date_parser.hpp +98 -98
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +22 -14
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration.hpp +44 -32
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration_types.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +51 -23
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_serialize.hpp +29 -27
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +43 -9
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/parsers.hpp +32 -13
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.hpp +15 -17
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.ipp +27 -22
- data/src/cxx_supportlib/vendor-modified/boost/date_time/int_adapter.hpp +57 -37
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time_io.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/locale_config.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +44 -47
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period_formatter.hpp +34 -31
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period_parser.hpp +27 -28
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/date_duration_operators.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_config.hpp +13 -26
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/ptime.hpp +22 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_serialize.hpp +28 -12
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_formatter.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_parser.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/string_parse_tree.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/strings_from_facet.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time.hpp +24 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +56 -44
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +8 -11
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +3 -8
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_resolution_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_counted.hpp +65 -50
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_split.hpp +43 -30
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_names.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/tz_db_base.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/wrapping_int.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/date_time/year_month_day.hpp +7 -5
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +12 -7
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +63 -8
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/shared_ptr.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +15 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +19 -57
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception_ptr.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +4 -12
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +22 -4
- data/src/cxx_supportlib/vendor-modified/boost/integer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_ct.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +30 -28
- data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer/integer_log2.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/integer/mod_inverse.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer/static_log2.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/integer/static_min_max.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +18 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +15 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +7 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +23 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +13 -17
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/intrusive_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/options.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +93 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +17 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +67 -60
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +361 -315
- data/src/cxx_supportlib/vendor-modified/boost/io_fwd.hpp +45 -49
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +18 -13
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +43 -43
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -5
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/c_regex_traits.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/instances.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_traits_defaults.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wc_regex_traits.cpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/winstances.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once.cpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +12 -7
- data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +50 -52
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +41 -7
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/promotion.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/user.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +6 -12
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +35 -26
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +18 -12
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +103 -318
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +437 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge_sort.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/set_difference.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +15 -0
- 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_core.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/common_name_wknd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/adl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/arrays.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bcc.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bind.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/compiler.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ctps.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dtp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/forwarding.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/integral.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/operators.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/overload_resolution.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/preprocessor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ttp.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/count_impl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_impl_body.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_rebind.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_support.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/nested_type_wknd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/size_impl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/static_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/has_xxx.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/if.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/lower_bound.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/numeric_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/upper_bound.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/at.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/converter_policies.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +31 -24
- data/src/cxx_supportlib/vendor-modified/boost/optional/bad_optional_access.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/parameter/are_tagged_arguments.hpp +125 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/always_true_predicate.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +1252 -358
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/as_lvalue.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/augment_predicate.hpp +198 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/cast.hpp +7 -136
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/default.hpp +90 -59
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/has_nested_template_fn.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_maybe.hpp +42 -16
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_placeholder.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_tagged_argument.hpp +95 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/lambda_tag.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/maybe.hpp +128 -97
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/name.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/as_parameter_requirements.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/deduce_tag.hpp +217 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/deduced_item.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/insert_tagged.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/is_named_argument.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/item.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_arg_list.hpp +438 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_deduced_items.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_items.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_parameter_spec_items.hpp +244 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/parameter_requirements.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/predicate.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/satisfies.hpp +142 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_deduced.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_template_keyword_arg.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_type.hpp +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/unmatched_argument.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/parameter_requirements.hpp +7 -20
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/parenthesized_type.hpp +8 -31
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/argument_pack.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/match.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/unwrap_predicate.hpp +97 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_for_each.hpp +1638 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_for_each_inc.hpp +1796 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_to_args.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/convert_binary_seq.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/flatten.hpp +7 -110
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/for_each.hpp +7 -98
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/for_each_pred.hpp +1029 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/argument_specs.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/arity_range.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/flatten.hpp +143 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/for_each.hpp +152 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/forwarding_overloads.hpp +509 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_cast.hpp +730 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_dispatch_layer.hpp +474 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_dispatch_tuple.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_forward_match.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_name.hpp +152 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/no_spec_overloads.hpp +331 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/parenthesized_return_type.hpp +122 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/parenthesized_type.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/specification.hpp +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/split_args.hpp +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/inc_binary_seq.hpp +78 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_binary.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_nullary.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/no_perfect_forwarding_begin.hpp +165 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/no_perfect_forwarding_end.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/nullptr.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/overloads.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/qualifier.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/seq_enum.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/seq_merge.hpp +1807 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/result_of0.hpp +46 -29
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/set.hpp +94 -42
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tag.hpp +149 -27
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument.hpp +865 -159
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument_fwd.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/template_keyword.hpp +76 -34
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +159 -76
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/use_default.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/use_default_tag.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/void.hpp +25 -16
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/yesno.hpp +30 -14
- data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +154 -70
- data/src/cxx_supportlib/vendor-modified/boost/parameter/compose.hpp +210 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/config.hpp +75 -6
- data/src/cxx_supportlib/vendor-modified/boost/parameter/deduced.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/is_argument_pack.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/keyword.hpp +724 -102
- data/src/cxx_supportlib/vendor-modified/boost/parameter/keyword_fwd.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/macros.hpp +205 -72
- data/src/cxx_supportlib/vendor-modified/boost/parameter/match.hpp +37 -44
- data/src/cxx_supportlib/vendor-modified/boost/parameter/name.hpp +100 -126
- data/src/cxx_supportlib/vendor-modified/boost/parameter/nested_keyword.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/optional.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/parameters.hpp +553 -884
- data/src/cxx_supportlib/vendor-modified/boost/parameter/preprocessor.hpp +156 -1016
- data/src/cxx_supportlib/vendor-modified/boost/parameter/preprocessor_no_spec.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/required.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/template_keyword.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +152 -70
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/alpha.h +17 -16
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +86 -32
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/blackfin.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/convex.h +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ia64.h +17 -16
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/m68k.h +28 -27
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/mips.h +21 -20
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +19 -18
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ppc.h +23 -22
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/pyramid.h +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/riscv.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/rs6k.h +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sparc.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/superh.h +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys370.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys390.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/32.h +26 -25
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/64.h +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/z.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/borland.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/clang.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/comeau.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/diab.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/digitalmars.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/dignus.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/edg.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ekopath.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc_xml.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/greenhills.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/hp_acc.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/iar.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ibm.h +15 -14
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +18 -17
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/kai.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/llvm.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metaware.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metrowerks.h +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/microtec.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/mpw.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/palm.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/pgi.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sgi_mipspro.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sunpro.h +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/tendra.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/visualc.h +13 -12
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/watcom.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd.h +95 -46
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm.h +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm/versions.h +16 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc.h +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc/versions.h +27 -21
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86.h +39 -37
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86/versions.h +73 -67
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd.h +25 -23
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd/versions.h +24 -19
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/objc.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdc.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdcpp.h +39 -32
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/cloudabi.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/gnu.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/uc.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/vms.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/zos.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/cxx.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/dinkumware.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/libcomo.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/modena.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msl.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/roguewave.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/sgi.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stdcpp3.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stlport.h +13 -12
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/vacpp.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +97 -35
- data/src/cxx_supportlib/vendor-modified/boost/predef/os.h +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/aix.h +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/amigaos.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/beos.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd.h +22 -23
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/bsdi.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/dragonfly.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/net.h +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +59 -58
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/haiku.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/hpux.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/ios.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/irix.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/linux.h +14 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/macos.h +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/os400.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/qnxnto.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/solaris.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/unix.h +24 -22
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/windows.h +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/workaround.h +22 -14
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/android.h +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/cloudabi.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/ios.h +14 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw32.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw64.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_desktop.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_phone.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_runtime.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_server.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_store.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_system.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_uwp.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version_number.h +16 -14
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/detail/get_data.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_list.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_seq.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_tuple.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/check_empty.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/detail/is_empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_variadic.hpp +28 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/va_opt.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_array.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_tuple.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/for.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/is_empty.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each_i.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/replace.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/rest_n.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/detail/is_single_return.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/elem.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/insert.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_back.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_front.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_back.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_front.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/rem.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/remove.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/replace.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/reverse.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_list.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_seq.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/has_opt.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/is_single_return.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/integer_log2.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/range/rbegin.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/range/rend.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/range/size.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +33 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +17 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +27 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +36 -15
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +26 -16
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +92 -388
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_nt.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +87 -47
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +12 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +25 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +16 -8
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +25 -17
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +23 -26
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_thread_pause.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_thread_sleep.hpp +104 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_typeinfo_.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp +85 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -146
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +47 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +58 -23
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +79 -8
- data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +5 -11
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +57 -16
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +32 -16
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +9 -21
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +9 -21
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_op_status.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_bounded_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_deque.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_priority_queue.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_queue.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +80 -14
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/platform_time.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +4 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp.orig +841 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor_adaptor.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/generic_executor_ref.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/inline_executor.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/loop_executor.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduled_thread_pool.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduler.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduling_adaptor.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor_cont.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/thread_executor.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/work.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/task_region.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/interruption.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/once.hpp.orig +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/poly_lockable.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/poly_shared_lockable.hpp +16 -12
- data/src/cxx_supportlib/vendor-modified/boost/thread/poly_shared_lockable_adapter.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +18 -24
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +6 -13
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +11 -37
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once.hpp +29 -28
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once_atomic.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_helpers.hpp +163 -18
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +1 -69
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +9 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/tss.hpp +23 -41
- data/src/cxx_supportlib/vendor-modified/boost/thread/user_scheduler.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +138 -59
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +15 -11
- data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/aligned_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/alignment_of.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/conjunction.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_cv_ref.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_reference.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +25 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_binary_operator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +102 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_tester.hpp +415 -255
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +1345 -1542
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +143 -28
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/disjunction.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/extent.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_copy.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_promotion.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_array.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_and_derived.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_bounded_array.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_compound.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_const.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_constructible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_enum.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_fundamental.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_lvalue_reference.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_same.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_scoped_enum.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_signed.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_trivially_copyable.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unbounded_array.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unscoped_enum.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unsigned.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_volatile.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/negation.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/rank.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_iterate.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +3 -42
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +4 -43
- data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +29 -67
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/nginx_module/Configuration.c +3 -3
- data/src/nginx_module/config +2 -0
- data/src/nginx_module/ngx_http_passenger_module.c +2 -2
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +4 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +2 -0
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +17 -9
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +1 -1
- metadata +302 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/datagram_socket_service.hpp +0 -468
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer_service.hpp +0 -175
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental.hpp +0 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +0 -228
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detached.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_spawn.hpp +0 -878
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/detached.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_type.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_service.hpp +0 -202
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor_service.hpp +0 -281
- data/src/cxx_supportlib/vendor-modified/boost/asio/raw_socket_service.hpp +0 -468
- data/src/cxx_supportlib/vendor-modified/boost/asio/seq_packet_socket_service.hpp +0 -418
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_service.hpp +0 -251
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_service.hpp +0 -144
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_acceptor_service.hpp +0 -374
- data/src/cxx_supportlib/vendor-modified/boost/asio/stream_socket_service.hpp +0 -414
- data/src/cxx_supportlib/vendor-modified/boost/asio/waitable_timer_service.hpp +0 -212
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_handle.hpp +0 -275
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle_service.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle_service.hpp +0 -216
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle_service.hpp +0 -212
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_arm.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_ppc.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lockpool.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations.hpp +0 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_fwd.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_lockfree.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +0 -162
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +0 -392
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +0 -563
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_type.hpp +0 -207
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/detail/endian.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/detail/iterator.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/detail/sp_typeinfo.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/overloads.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +0 -28
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/android.h +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_solaris.hpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +0 -151
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +0 -161
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync.hpp +0 -69
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// basic_socket_acceptor.hpp
|
|
3
3
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
4
4
|
//
|
|
5
|
-
// Copyright (c) 2003-
|
|
5
|
+
// Copyright (c) 2003-2020 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)
|
|
@@ -16,38 +16,43 @@
|
|
|
16
16
|
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
|
17
17
|
|
|
18
18
|
#include <boost/asio/detail/config.hpp>
|
|
19
|
-
#include <boost/asio/
|
|
19
|
+
#include <boost/asio/any_io_executor.hpp>
|
|
20
20
|
#include <boost/asio/basic_socket.hpp>
|
|
21
21
|
#include <boost/asio/detail/handler_type_requirements.hpp>
|
|
22
|
+
#include <boost/asio/detail/io_object_impl.hpp>
|
|
23
|
+
#include <boost/asio/detail/non_const_lvalue.hpp>
|
|
22
24
|
#include <boost/asio/detail/throw_error.hpp>
|
|
23
25
|
#include <boost/asio/detail/type_traits.hpp>
|
|
24
26
|
#include <boost/asio/error.hpp>
|
|
27
|
+
#include <boost/asio/execution_context.hpp>
|
|
25
28
|
#include <boost/asio/socket_base.hpp>
|
|
26
29
|
|
|
30
|
+
#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
|
|
31
|
+
# include <boost/asio/detail/null_socket_service.hpp>
|
|
32
|
+
#elif defined(BOOST_ASIO_HAS_IOCP)
|
|
33
|
+
# include <boost/asio/detail/win_iocp_socket_service.hpp>
|
|
34
|
+
#else
|
|
35
|
+
# include <boost/asio/detail/reactive_socket_service.hpp>
|
|
36
|
+
#endif
|
|
37
|
+
|
|
27
38
|
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
28
39
|
# include <utility>
|
|
29
40
|
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
30
41
|
|
|
31
|
-
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
32
|
-
# include <boost/asio/socket_acceptor_service.hpp>
|
|
33
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
34
|
-
# if defined(BOOST_ASIO_WINDOWS_RUNTIME)
|
|
35
|
-
# include <boost/asio/detail/null_socket_service.hpp>
|
|
36
|
-
# define BOOST_ASIO_SVC_T detail::null_socket_service<Protocol>
|
|
37
|
-
# elif defined(BOOST_ASIO_HAS_IOCP)
|
|
38
|
-
# include <boost/asio/detail/win_iocp_socket_service.hpp>
|
|
39
|
-
# define BOOST_ASIO_SVC_T detail::win_iocp_socket_service<Protocol>
|
|
40
|
-
# else
|
|
41
|
-
# include <boost/asio/detail/reactive_socket_service.hpp>
|
|
42
|
-
# define BOOST_ASIO_SVC_T detail::reactive_socket_service<Protocol>
|
|
43
|
-
# endif
|
|
44
|
-
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
45
|
-
|
|
46
42
|
#include <boost/asio/detail/push_options.hpp>
|
|
47
43
|
|
|
48
44
|
namespace boost {
|
|
49
45
|
namespace asio {
|
|
50
46
|
|
|
47
|
+
#if !defined(BOOST_ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL)
|
|
48
|
+
#define BOOST_ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL
|
|
49
|
+
|
|
50
|
+
// Forward declaration with defaulted arguments.
|
|
51
|
+
template <typename Protocol, typename Executor = any_io_executor>
|
|
52
|
+
class basic_socket_acceptor;
|
|
53
|
+
|
|
54
|
+
#endif // !defined(BOOST_ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL)
|
|
55
|
+
|
|
51
56
|
/// Provides the ability to accept new connections.
|
|
52
57
|
/**
|
|
53
58
|
* The basic_socket_acceptor class template is used for accepting new socket
|
|
@@ -60,7 +65,7 @@ namespace asio {
|
|
|
60
65
|
* @par Example
|
|
61
66
|
* Opening a socket acceptor with the SO_REUSEADDR option enabled:
|
|
62
67
|
* @code
|
|
63
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
68
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
64
69
|
* boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), port);
|
|
65
70
|
* acceptor.open(endpoint.protocol());
|
|
66
71
|
* acceptor.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
|
|
@@ -68,21 +73,34 @@ namespace asio {
|
|
|
68
73
|
* acceptor.listen();
|
|
69
74
|
* @endcode
|
|
70
75
|
*/
|
|
71
|
-
template <typename Protocol
|
|
72
|
-
BOOST_ASIO_SVC_TPARAM_DEF1(= socket_acceptor_service<Protocol>)>
|
|
76
|
+
template <typename Protocol, typename Executor>
|
|
73
77
|
class basic_socket_acceptor
|
|
74
|
-
:
|
|
75
|
-
public socket_base
|
|
78
|
+
: public socket_base
|
|
76
79
|
{
|
|
77
80
|
public:
|
|
78
81
|
/// The type of the executor associated with the object.
|
|
79
|
-
typedef
|
|
82
|
+
typedef Executor executor_type;
|
|
83
|
+
|
|
84
|
+
/// Rebinds the acceptor type to another executor.
|
|
85
|
+
template <typename Executor1>
|
|
86
|
+
struct rebind_executor
|
|
87
|
+
{
|
|
88
|
+
/// The socket type when rebound to the specified executor.
|
|
89
|
+
typedef basic_socket_acceptor<Protocol, Executor1> other;
|
|
90
|
+
};
|
|
80
91
|
|
|
81
92
|
/// The native representation of an acceptor.
|
|
82
93
|
#if defined(GENERATING_DOCUMENTATION)
|
|
83
94
|
typedef implementation_defined native_handle_type;
|
|
95
|
+
#elif defined(BOOST_ASIO_WINDOWS_RUNTIME)
|
|
96
|
+
typedef typename detail::null_socket_service<
|
|
97
|
+
Protocol>::native_handle_type native_handle_type;
|
|
98
|
+
#elif defined(BOOST_ASIO_HAS_IOCP)
|
|
99
|
+
typedef typename detail::win_iocp_socket_service<
|
|
100
|
+
Protocol>::native_handle_type native_handle_type;
|
|
84
101
|
#else
|
|
85
|
-
typedef typename
|
|
102
|
+
typedef typename detail::reactive_socket_service<
|
|
103
|
+
Protocol>::native_handle_type native_handle_type;
|
|
86
104
|
#endif
|
|
87
105
|
|
|
88
106
|
/// The protocol type.
|
|
@@ -97,12 +115,31 @@ public:
|
|
|
97
115
|
* connections. The open() function must be called before the acceptor can
|
|
98
116
|
* accept new socket connections.
|
|
99
117
|
*
|
|
100
|
-
* @param
|
|
118
|
+
* @param ex The I/O executor that the acceptor will use, by default, to
|
|
101
119
|
* dispatch handlers for any asynchronous operations performed on the
|
|
102
120
|
* acceptor.
|
|
103
121
|
*/
|
|
104
|
-
explicit basic_socket_acceptor(
|
|
105
|
-
:
|
|
122
|
+
explicit basic_socket_acceptor(const executor_type& ex)
|
|
123
|
+
: impl_(ex)
|
|
124
|
+
{
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/// Construct an acceptor without opening it.
|
|
128
|
+
/**
|
|
129
|
+
* This constructor creates an acceptor without opening it to listen for new
|
|
130
|
+
* connections. The open() function must be called before the acceptor can
|
|
131
|
+
* accept new socket connections.
|
|
132
|
+
*
|
|
133
|
+
* @param context An execution context which provides the I/O executor that
|
|
134
|
+
* the acceptor will use, by default, to dispatch handlers for any
|
|
135
|
+
* asynchronous operations performed on the acceptor.
|
|
136
|
+
*/
|
|
137
|
+
template <typename ExecutionContext>
|
|
138
|
+
explicit basic_socket_acceptor(ExecutionContext& context,
|
|
139
|
+
typename enable_if<
|
|
140
|
+
is_convertible<ExecutionContext&, execution_context&>::value
|
|
141
|
+
>::type* = 0)
|
|
142
|
+
: impl_(context)
|
|
106
143
|
{
|
|
107
144
|
}
|
|
108
145
|
|
|
@@ -110,7 +147,7 @@ public:
|
|
|
110
147
|
/**
|
|
111
148
|
* This constructor creates an acceptor and automatically opens it.
|
|
112
149
|
*
|
|
113
|
-
* @param
|
|
150
|
+
* @param ex The I/O executor that the acceptor will use, by default, to
|
|
114
151
|
* dispatch handlers for any asynchronous operations performed on the
|
|
115
152
|
* acceptor.
|
|
116
153
|
*
|
|
@@ -118,12 +155,36 @@ public:
|
|
|
118
155
|
*
|
|
119
156
|
* @throws boost::system::system_error Thrown on failure.
|
|
120
157
|
*/
|
|
121
|
-
basic_socket_acceptor(
|
|
122
|
-
|
|
123
|
-
|
|
158
|
+
basic_socket_acceptor(const executor_type& ex, const protocol_type& protocol)
|
|
159
|
+
: impl_(ex)
|
|
160
|
+
{
|
|
161
|
+
boost::system::error_code ec;
|
|
162
|
+
impl_.get_service().open(impl_.get_implementation(), protocol, ec);
|
|
163
|
+
boost::asio::detail::throw_error(ec, "open");
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/// Construct an open acceptor.
|
|
167
|
+
/**
|
|
168
|
+
* This constructor creates an acceptor and automatically opens it.
|
|
169
|
+
*
|
|
170
|
+
* @param context An execution context which provides the I/O executor that
|
|
171
|
+
* the acceptor will use, by default, to dispatch handlers for any
|
|
172
|
+
* asynchronous operations performed on the acceptor.
|
|
173
|
+
*
|
|
174
|
+
* @param protocol An object specifying protocol parameters to be used.
|
|
175
|
+
*
|
|
176
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
177
|
+
*/
|
|
178
|
+
template <typename ExecutionContext>
|
|
179
|
+
basic_socket_acceptor(ExecutionContext& context,
|
|
180
|
+
const protocol_type& protocol,
|
|
181
|
+
typename enable_if<
|
|
182
|
+
is_convertible<ExecutionContext&, execution_context&>::value
|
|
183
|
+
>::type* = 0)
|
|
184
|
+
: impl_(context)
|
|
124
185
|
{
|
|
125
186
|
boost::system::error_code ec;
|
|
126
|
-
|
|
187
|
+
impl_.get_service().open(impl_.get_implementation(), protocol, ec);
|
|
127
188
|
boost::asio::detail::throw_error(ec, "open");
|
|
128
189
|
}
|
|
129
190
|
|
|
@@ -132,7 +193,7 @@ public:
|
|
|
132
193
|
* This constructor creates an acceptor and automatically opens it to listen
|
|
133
194
|
* for new connections on the specified endpoint.
|
|
134
195
|
*
|
|
135
|
-
* @param
|
|
196
|
+
* @param ex The I/O executor that the acceptor will use, by default, to
|
|
136
197
|
* dispatch handlers for any asynchronous operations performed on the
|
|
137
198
|
* acceptor.
|
|
138
199
|
*
|
|
@@ -146,31 +207,83 @@ public:
|
|
|
146
207
|
*
|
|
147
208
|
* @note This constructor is equivalent to the following code:
|
|
148
209
|
* @code
|
|
149
|
-
* basic_socket_acceptor<Protocol> acceptor(
|
|
210
|
+
* basic_socket_acceptor<Protocol> acceptor(my_context);
|
|
150
211
|
* acceptor.open(endpoint.protocol());
|
|
151
212
|
* if (reuse_addr)
|
|
152
213
|
* acceptor.set_option(socket_base::reuse_address(true));
|
|
153
214
|
* acceptor.bind(endpoint);
|
|
154
|
-
* acceptor.listen(
|
|
215
|
+
* acceptor.listen();
|
|
155
216
|
* @endcode
|
|
156
217
|
*/
|
|
157
|
-
basic_socket_acceptor(
|
|
218
|
+
basic_socket_acceptor(const executor_type& ex,
|
|
158
219
|
const endpoint_type& endpoint, bool reuse_addr = true)
|
|
159
|
-
:
|
|
220
|
+
: impl_(ex)
|
|
160
221
|
{
|
|
161
222
|
boost::system::error_code ec;
|
|
162
223
|
const protocol_type protocol = endpoint.protocol();
|
|
163
|
-
|
|
224
|
+
impl_.get_service().open(impl_.get_implementation(), protocol, ec);
|
|
164
225
|
boost::asio::detail::throw_error(ec, "open");
|
|
165
226
|
if (reuse_addr)
|
|
166
227
|
{
|
|
167
|
-
|
|
228
|
+
impl_.get_service().set_option(impl_.get_implementation(),
|
|
168
229
|
socket_base::reuse_address(true), ec);
|
|
169
230
|
boost::asio::detail::throw_error(ec, "set_option");
|
|
170
231
|
}
|
|
171
|
-
|
|
232
|
+
impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
|
|
172
233
|
boost::asio::detail::throw_error(ec, "bind");
|
|
173
|
-
|
|
234
|
+
impl_.get_service().listen(impl_.get_implementation(),
|
|
235
|
+
socket_base::max_listen_connections, ec);
|
|
236
|
+
boost::asio::detail::throw_error(ec, "listen");
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/// Construct an acceptor opened on the given endpoint.
|
|
240
|
+
/**
|
|
241
|
+
* This constructor creates an acceptor and automatically opens it to listen
|
|
242
|
+
* for new connections on the specified endpoint.
|
|
243
|
+
*
|
|
244
|
+
* @param context An execution context which provides the I/O executor that
|
|
245
|
+
* the acceptor will use, by default, to dispatch handlers for any
|
|
246
|
+
* asynchronous operations performed on the acceptor.
|
|
247
|
+
*
|
|
248
|
+
* @param endpoint An endpoint on the local machine on which the acceptor
|
|
249
|
+
* will listen for new connections.
|
|
250
|
+
*
|
|
251
|
+
* @param reuse_addr Whether the constructor should set the socket option
|
|
252
|
+
* socket_base::reuse_address.
|
|
253
|
+
*
|
|
254
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
255
|
+
*
|
|
256
|
+
* @note This constructor is equivalent to the following code:
|
|
257
|
+
* @code
|
|
258
|
+
* basic_socket_acceptor<Protocol> acceptor(my_context);
|
|
259
|
+
* acceptor.open(endpoint.protocol());
|
|
260
|
+
* if (reuse_addr)
|
|
261
|
+
* acceptor.set_option(socket_base::reuse_address(true));
|
|
262
|
+
* acceptor.bind(endpoint);
|
|
263
|
+
* acceptor.listen();
|
|
264
|
+
* @endcode
|
|
265
|
+
*/
|
|
266
|
+
template <typename ExecutionContext>
|
|
267
|
+
basic_socket_acceptor(ExecutionContext& context,
|
|
268
|
+
const endpoint_type& endpoint, bool reuse_addr = true,
|
|
269
|
+
typename enable_if<
|
|
270
|
+
is_convertible<ExecutionContext&, execution_context&>::value
|
|
271
|
+
>::type* = 0)
|
|
272
|
+
: impl_(context)
|
|
273
|
+
{
|
|
274
|
+
boost::system::error_code ec;
|
|
275
|
+
const protocol_type protocol = endpoint.protocol();
|
|
276
|
+
impl_.get_service().open(impl_.get_implementation(), protocol, ec);
|
|
277
|
+
boost::asio::detail::throw_error(ec, "open");
|
|
278
|
+
if (reuse_addr)
|
|
279
|
+
{
|
|
280
|
+
impl_.get_service().set_option(impl_.get_implementation(),
|
|
281
|
+
socket_base::reuse_address(true), ec);
|
|
282
|
+
boost::asio::detail::throw_error(ec, "set_option");
|
|
283
|
+
}
|
|
284
|
+
impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
|
|
285
|
+
boost::asio::detail::throw_error(ec, "bind");
|
|
286
|
+
impl_.get_service().listen(impl_.get_implementation(),
|
|
174
287
|
socket_base::max_listen_connections, ec);
|
|
175
288
|
boost::asio::detail::throw_error(ec, "listen");
|
|
176
289
|
}
|
|
@@ -180,7 +293,7 @@ public:
|
|
|
180
293
|
* This constructor creates an acceptor object to hold an existing native
|
|
181
294
|
* acceptor.
|
|
182
295
|
*
|
|
183
|
-
* @param
|
|
296
|
+
* @param ex The I/O executor that the acceptor will use, by default, to
|
|
184
297
|
* dispatch handlers for any asynchronous operations performed on the
|
|
185
298
|
* acceptor.
|
|
186
299
|
*
|
|
@@ -190,12 +303,41 @@ public:
|
|
|
190
303
|
*
|
|
191
304
|
* @throws boost::system::system_error Thrown on failure.
|
|
192
305
|
*/
|
|
193
|
-
basic_socket_acceptor(
|
|
306
|
+
basic_socket_acceptor(const executor_type& ex,
|
|
194
307
|
const protocol_type& protocol, const native_handle_type& native_acceptor)
|
|
195
|
-
:
|
|
308
|
+
: impl_(ex)
|
|
196
309
|
{
|
|
197
310
|
boost::system::error_code ec;
|
|
198
|
-
|
|
311
|
+
impl_.get_service().assign(impl_.get_implementation(),
|
|
312
|
+
protocol, native_acceptor, ec);
|
|
313
|
+
boost::asio::detail::throw_error(ec, "assign");
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/// Construct a basic_socket_acceptor on an existing native acceptor.
|
|
317
|
+
/**
|
|
318
|
+
* This constructor creates an acceptor object to hold an existing native
|
|
319
|
+
* acceptor.
|
|
320
|
+
*
|
|
321
|
+
* @param context An execution context which provides the I/O executor that
|
|
322
|
+
* the acceptor will use, by default, to dispatch handlers for any
|
|
323
|
+
* asynchronous operations performed on the acceptor.
|
|
324
|
+
*
|
|
325
|
+
* @param protocol An object specifying protocol parameters to be used.
|
|
326
|
+
*
|
|
327
|
+
* @param native_acceptor A native acceptor.
|
|
328
|
+
*
|
|
329
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
330
|
+
*/
|
|
331
|
+
template <typename ExecutionContext>
|
|
332
|
+
basic_socket_acceptor(ExecutionContext& context,
|
|
333
|
+
const protocol_type& protocol, const native_handle_type& native_acceptor,
|
|
334
|
+
typename enable_if<
|
|
335
|
+
is_convertible<ExecutionContext&, execution_context&>::value
|
|
336
|
+
>::type* = 0)
|
|
337
|
+
: impl_(context)
|
|
338
|
+
{
|
|
339
|
+
boost::system::error_code ec;
|
|
340
|
+
impl_.get_service().assign(impl_.get_implementation(),
|
|
199
341
|
protocol, native_acceptor, ec);
|
|
200
342
|
boost::asio::detail::throw_error(ec, "assign");
|
|
201
343
|
}
|
|
@@ -209,10 +351,11 @@ public:
|
|
|
209
351
|
* will occur.
|
|
210
352
|
*
|
|
211
353
|
* @note Following the move, the moved-from object is in the same state as if
|
|
212
|
-
* constructed using the @c basic_socket_acceptor(
|
|
354
|
+
* constructed using the @c basic_socket_acceptor(const executor_type&)
|
|
355
|
+
* constructor.
|
|
213
356
|
*/
|
|
214
|
-
basic_socket_acceptor(basic_socket_acceptor&& other)
|
|
215
|
-
:
|
|
357
|
+
basic_socket_acceptor(basic_socket_acceptor&& other) BOOST_ASIO_NOEXCEPT
|
|
358
|
+
: impl_(std::move(other.impl_))
|
|
216
359
|
{
|
|
217
360
|
}
|
|
218
361
|
|
|
@@ -224,16 +367,17 @@ public:
|
|
|
224
367
|
* will occur.
|
|
225
368
|
*
|
|
226
369
|
* @note Following the move, the moved-from object is in the same state as if
|
|
227
|
-
* constructed using the @c basic_socket_acceptor(
|
|
370
|
+
* constructed using the @c basic_socket_acceptor(const executor_type&)
|
|
371
|
+
* constructor.
|
|
228
372
|
*/
|
|
229
373
|
basic_socket_acceptor& operator=(basic_socket_acceptor&& other)
|
|
230
374
|
{
|
|
231
|
-
|
|
375
|
+
impl_ = std::move(other.impl_);
|
|
232
376
|
return *this;
|
|
233
377
|
}
|
|
234
378
|
|
|
235
379
|
// All socket acceptors have access to each other's implementations.
|
|
236
|
-
template <typename Protocol1
|
|
380
|
+
template <typename Protocol1, typename Executor1>
|
|
237
381
|
friend class basic_socket_acceptor;
|
|
238
382
|
|
|
239
383
|
/// Move-construct a basic_socket_acceptor from an acceptor of another
|
|
@@ -245,14 +389,16 @@ public:
|
|
|
245
389
|
* will occur.
|
|
246
390
|
*
|
|
247
391
|
* @note Following the move, the moved-from object is in the same state as if
|
|
248
|
-
* constructed using the @c
|
|
392
|
+
* constructed using the @c basic_socket_acceptor(const executor_type&)
|
|
393
|
+
* constructor.
|
|
249
394
|
*/
|
|
250
|
-
template <typename Protocol1
|
|
251
|
-
basic_socket_acceptor(
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
395
|
+
template <typename Protocol1, typename Executor1>
|
|
396
|
+
basic_socket_acceptor(basic_socket_acceptor<Protocol1, Executor1>&& other,
|
|
397
|
+
typename enable_if<
|
|
398
|
+
is_convertible<Protocol1, Protocol>::value
|
|
399
|
+
&& is_convertible<Executor1, Executor>::value
|
|
400
|
+
>::type* = 0)
|
|
401
|
+
: impl_(std::move(other.impl_))
|
|
256
402
|
{
|
|
257
403
|
}
|
|
258
404
|
|
|
@@ -265,15 +411,18 @@ public:
|
|
|
265
411
|
* will occur.
|
|
266
412
|
*
|
|
267
413
|
* @note Following the move, the moved-from object is in the same state as if
|
|
268
|
-
* constructed using the @c
|
|
414
|
+
* constructed using the @c basic_socket_acceptor(const executor_type&)
|
|
415
|
+
* constructor.
|
|
269
416
|
*/
|
|
270
|
-
template <typename Protocol1
|
|
271
|
-
typename enable_if<
|
|
272
|
-
|
|
273
|
-
|
|
417
|
+
template <typename Protocol1, typename Executor1>
|
|
418
|
+
typename enable_if<
|
|
419
|
+
is_convertible<Protocol1, Protocol>::value
|
|
420
|
+
&& is_convertible<Executor1, Executor>::value,
|
|
421
|
+
basic_socket_acceptor&
|
|
422
|
+
>::type operator=(basic_socket_acceptor<Protocol1, Executor1>&& other)
|
|
274
423
|
{
|
|
275
424
|
basic_socket_acceptor tmp(std::move(other));
|
|
276
|
-
|
|
425
|
+
impl_ = std::move(tmp.impl_);
|
|
277
426
|
return *this;
|
|
278
427
|
}
|
|
279
428
|
#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
@@ -288,45 +437,11 @@ public:
|
|
|
288
437
|
{
|
|
289
438
|
}
|
|
290
439
|
|
|
291
|
-
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
292
|
-
// These functions are provided by basic_io_object<>.
|
|
293
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
294
|
-
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
295
|
-
/// (Deprecated: Use get_executor().) Get the io_context associated with the
|
|
296
|
-
/// object.
|
|
297
|
-
/**
|
|
298
|
-
* This function may be used to obtain the io_context object that the I/O
|
|
299
|
-
* object uses to dispatch handlers for asynchronous operations.
|
|
300
|
-
*
|
|
301
|
-
* @return A reference to the io_context object that the I/O object will use
|
|
302
|
-
* to dispatch handlers. Ownership is not transferred to the caller.
|
|
303
|
-
*/
|
|
304
|
-
boost::asio::io_context& get_io_context()
|
|
305
|
-
{
|
|
306
|
-
return basic_io_object<BOOST_ASIO_SVC_T>::get_io_context();
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
/// (Deprecated: Use get_executor().) Get the io_context associated with the
|
|
310
|
-
/// object.
|
|
311
|
-
/**
|
|
312
|
-
* This function may be used to obtain the io_context object that the I/O
|
|
313
|
-
* object uses to dispatch handlers for asynchronous operations.
|
|
314
|
-
*
|
|
315
|
-
* @return A reference to the io_context object that the I/O object will use
|
|
316
|
-
* to dispatch handlers. Ownership is not transferred to the caller.
|
|
317
|
-
*/
|
|
318
|
-
boost::asio::io_context& get_io_service()
|
|
319
|
-
{
|
|
320
|
-
return basic_io_object<BOOST_ASIO_SVC_T>::get_io_service();
|
|
321
|
-
}
|
|
322
|
-
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
323
|
-
|
|
324
440
|
/// Get the executor associated with the object.
|
|
325
441
|
executor_type get_executor() BOOST_ASIO_NOEXCEPT
|
|
326
442
|
{
|
|
327
|
-
return
|
|
443
|
+
return impl_.get_executor();
|
|
328
444
|
}
|
|
329
|
-
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
330
445
|
|
|
331
446
|
/// Open the acceptor using the specified protocol.
|
|
332
447
|
/**
|
|
@@ -339,14 +454,14 @@ public:
|
|
|
339
454
|
*
|
|
340
455
|
* @par Example
|
|
341
456
|
* @code
|
|
342
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
457
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
343
458
|
* acceptor.open(boost::asio::ip::tcp::v4());
|
|
344
459
|
* @endcode
|
|
345
460
|
*/
|
|
346
461
|
void open(const protocol_type& protocol = protocol_type())
|
|
347
462
|
{
|
|
348
463
|
boost::system::error_code ec;
|
|
349
|
-
|
|
464
|
+
impl_.get_service().open(impl_.get_implementation(), protocol, ec);
|
|
350
465
|
boost::asio::detail::throw_error(ec, "open");
|
|
351
466
|
}
|
|
352
467
|
|
|
@@ -361,7 +476,7 @@ public:
|
|
|
361
476
|
*
|
|
362
477
|
* @par Example
|
|
363
478
|
* @code
|
|
364
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
479
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
365
480
|
* boost::system::error_code ec;
|
|
366
481
|
* acceptor.open(boost::asio::ip::tcp::v4(), ec);
|
|
367
482
|
* if (ec)
|
|
@@ -373,7 +488,7 @@ public:
|
|
|
373
488
|
BOOST_ASIO_SYNC_OP_VOID open(const protocol_type& protocol,
|
|
374
489
|
boost::system::error_code& ec)
|
|
375
490
|
{
|
|
376
|
-
|
|
491
|
+
impl_.get_service().open(impl_.get_implementation(), protocol, ec);
|
|
377
492
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
378
493
|
}
|
|
379
494
|
|
|
@@ -391,7 +506,7 @@ public:
|
|
|
391
506
|
const native_handle_type& native_acceptor)
|
|
392
507
|
{
|
|
393
508
|
boost::system::error_code ec;
|
|
394
|
-
|
|
509
|
+
impl_.get_service().assign(impl_.get_implementation(),
|
|
395
510
|
protocol, native_acceptor, ec);
|
|
396
511
|
boost::asio::detail::throw_error(ec, "assign");
|
|
397
512
|
}
|
|
@@ -409,7 +524,7 @@ public:
|
|
|
409
524
|
BOOST_ASIO_SYNC_OP_VOID assign(const protocol_type& protocol,
|
|
410
525
|
const native_handle_type& native_acceptor, boost::system::error_code& ec)
|
|
411
526
|
{
|
|
412
|
-
|
|
527
|
+
impl_.get_service().assign(impl_.get_implementation(),
|
|
413
528
|
protocol, native_acceptor, ec);
|
|
414
529
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
415
530
|
}
|
|
@@ -417,7 +532,7 @@ public:
|
|
|
417
532
|
/// Determine whether the acceptor is open.
|
|
418
533
|
bool is_open() const
|
|
419
534
|
{
|
|
420
|
-
return
|
|
535
|
+
return impl_.get_service().is_open(impl_.get_implementation());
|
|
421
536
|
}
|
|
422
537
|
|
|
423
538
|
/// Bind the acceptor to the given local endpoint.
|
|
@@ -432,7 +547,7 @@ public:
|
|
|
432
547
|
*
|
|
433
548
|
* @par Example
|
|
434
549
|
* @code
|
|
435
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
550
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
436
551
|
* boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), 12345);
|
|
437
552
|
* acceptor.open(endpoint.protocol());
|
|
438
553
|
* acceptor.bind(endpoint);
|
|
@@ -441,7 +556,7 @@ public:
|
|
|
441
556
|
void bind(const endpoint_type& endpoint)
|
|
442
557
|
{
|
|
443
558
|
boost::system::error_code ec;
|
|
444
|
-
|
|
559
|
+
impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
|
|
445
560
|
boost::asio::detail::throw_error(ec, "bind");
|
|
446
561
|
}
|
|
447
562
|
|
|
@@ -457,7 +572,7 @@ public:
|
|
|
457
572
|
*
|
|
458
573
|
* @par Example
|
|
459
574
|
* @code
|
|
460
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
575
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
461
576
|
* boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), 12345);
|
|
462
577
|
* acceptor.open(endpoint.protocol());
|
|
463
578
|
* boost::system::error_code ec;
|
|
@@ -471,7 +586,7 @@ public:
|
|
|
471
586
|
BOOST_ASIO_SYNC_OP_VOID bind(const endpoint_type& endpoint,
|
|
472
587
|
boost::system::error_code& ec)
|
|
473
588
|
{
|
|
474
|
-
|
|
589
|
+
impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
|
|
475
590
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
476
591
|
}
|
|
477
592
|
|
|
@@ -488,7 +603,7 @@ public:
|
|
|
488
603
|
void listen(int backlog = socket_base::max_listen_connections)
|
|
489
604
|
{
|
|
490
605
|
boost::system::error_code ec;
|
|
491
|
-
|
|
606
|
+
impl_.get_service().listen(impl_.get_implementation(), backlog, ec);
|
|
492
607
|
boost::asio::detail::throw_error(ec, "listen");
|
|
493
608
|
}
|
|
494
609
|
|
|
@@ -504,7 +619,7 @@ public:
|
|
|
504
619
|
*
|
|
505
620
|
* @par Example
|
|
506
621
|
* @code
|
|
507
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
622
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
508
623
|
* ...
|
|
509
624
|
* boost::system::error_code ec;
|
|
510
625
|
* acceptor.listen(boost::asio::socket_base::max_listen_connections, ec);
|
|
@@ -516,7 +631,7 @@ public:
|
|
|
516
631
|
*/
|
|
517
632
|
BOOST_ASIO_SYNC_OP_VOID listen(int backlog, boost::system::error_code& ec)
|
|
518
633
|
{
|
|
519
|
-
|
|
634
|
+
impl_.get_service().listen(impl_.get_implementation(), backlog, ec);
|
|
520
635
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
521
636
|
}
|
|
522
637
|
|
|
@@ -533,7 +648,7 @@ public:
|
|
|
533
648
|
void close()
|
|
534
649
|
{
|
|
535
650
|
boost::system::error_code ec;
|
|
536
|
-
|
|
651
|
+
impl_.get_service().close(impl_.get_implementation(), ec);
|
|
537
652
|
boost::asio::detail::throw_error(ec, "close");
|
|
538
653
|
}
|
|
539
654
|
|
|
@@ -549,7 +664,7 @@ public:
|
|
|
549
664
|
*
|
|
550
665
|
* @par Example
|
|
551
666
|
* @code
|
|
552
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
667
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
553
668
|
* ...
|
|
554
669
|
* boost::system::error_code ec;
|
|
555
670
|
* acceptor.close(ec);
|
|
@@ -561,7 +676,7 @@ public:
|
|
|
561
676
|
*/
|
|
562
677
|
BOOST_ASIO_SYNC_OP_VOID close(boost::system::error_code& ec)
|
|
563
678
|
{
|
|
564
|
-
|
|
679
|
+
impl_.get_service().close(impl_.get_implementation(), ec);
|
|
565
680
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
566
681
|
}
|
|
567
682
|
|
|
@@ -587,8 +702,8 @@ public:
|
|
|
587
702
|
native_handle_type release()
|
|
588
703
|
{
|
|
589
704
|
boost::system::error_code ec;
|
|
590
|
-
native_handle_type s =
|
|
591
|
-
|
|
705
|
+
native_handle_type s = impl_.get_service().release(
|
|
706
|
+
impl_.get_implementation(), ec);
|
|
592
707
|
boost::asio::detail::throw_error(ec, "release");
|
|
593
708
|
return s;
|
|
594
709
|
}
|
|
@@ -614,7 +729,7 @@ public:
|
|
|
614
729
|
#endif
|
|
615
730
|
native_handle_type release(boost::system::error_code& ec)
|
|
616
731
|
{
|
|
617
|
-
return
|
|
732
|
+
return impl_.get_service().release(impl_.get_implementation(), ec);
|
|
618
733
|
}
|
|
619
734
|
|
|
620
735
|
/// Get the native acceptor representation.
|
|
@@ -625,7 +740,7 @@ public:
|
|
|
625
740
|
*/
|
|
626
741
|
native_handle_type native_handle()
|
|
627
742
|
{
|
|
628
|
-
return
|
|
743
|
+
return impl_.get_service().native_handle(impl_.get_implementation());
|
|
629
744
|
}
|
|
630
745
|
|
|
631
746
|
/// Cancel all asynchronous operations associated with the acceptor.
|
|
@@ -639,7 +754,7 @@ public:
|
|
|
639
754
|
void cancel()
|
|
640
755
|
{
|
|
641
756
|
boost::system::error_code ec;
|
|
642
|
-
|
|
757
|
+
impl_.get_service().cancel(impl_.get_implementation(), ec);
|
|
643
758
|
boost::asio::detail::throw_error(ec, "cancel");
|
|
644
759
|
}
|
|
645
760
|
|
|
@@ -653,7 +768,7 @@ public:
|
|
|
653
768
|
*/
|
|
654
769
|
BOOST_ASIO_SYNC_OP_VOID cancel(boost::system::error_code& ec)
|
|
655
770
|
{
|
|
656
|
-
|
|
771
|
+
impl_.get_service().cancel(impl_.get_implementation(), ec);
|
|
657
772
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
658
773
|
}
|
|
659
774
|
|
|
@@ -672,7 +787,7 @@ public:
|
|
|
672
787
|
* @par Example
|
|
673
788
|
* Setting the SOL_SOCKET/SO_REUSEADDR option:
|
|
674
789
|
* @code
|
|
675
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
790
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
676
791
|
* ...
|
|
677
792
|
* boost::asio::ip::tcp::acceptor::reuse_address option(true);
|
|
678
793
|
* acceptor.set_option(option);
|
|
@@ -682,7 +797,7 @@ public:
|
|
|
682
797
|
void set_option(const SettableSocketOption& option)
|
|
683
798
|
{
|
|
684
799
|
boost::system::error_code ec;
|
|
685
|
-
|
|
800
|
+
impl_.get_service().set_option(impl_.get_implementation(), option, ec);
|
|
686
801
|
boost::asio::detail::throw_error(ec, "set_option");
|
|
687
802
|
}
|
|
688
803
|
|
|
@@ -701,7 +816,7 @@ public:
|
|
|
701
816
|
* @par Example
|
|
702
817
|
* Setting the SOL_SOCKET/SO_REUSEADDR option:
|
|
703
818
|
* @code
|
|
704
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
819
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
705
820
|
* ...
|
|
706
821
|
* boost::asio::ip::tcp::acceptor::reuse_address option(true);
|
|
707
822
|
* boost::system::error_code ec;
|
|
@@ -716,7 +831,7 @@ public:
|
|
|
716
831
|
BOOST_ASIO_SYNC_OP_VOID set_option(const SettableSocketOption& option,
|
|
717
832
|
boost::system::error_code& ec)
|
|
718
833
|
{
|
|
719
|
-
|
|
834
|
+
impl_.get_service().set_option(impl_.get_implementation(), option, ec);
|
|
720
835
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
721
836
|
}
|
|
722
837
|
|
|
@@ -735,7 +850,7 @@ public:
|
|
|
735
850
|
* @par Example
|
|
736
851
|
* Getting the value of the SOL_SOCKET/SO_REUSEADDR option:
|
|
737
852
|
* @code
|
|
738
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
853
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
739
854
|
* ...
|
|
740
855
|
* boost::asio::ip::tcp::acceptor::reuse_address option;
|
|
741
856
|
* acceptor.get_option(option);
|
|
@@ -746,7 +861,7 @@ public:
|
|
|
746
861
|
void get_option(GettableSocketOption& option) const
|
|
747
862
|
{
|
|
748
863
|
boost::system::error_code ec;
|
|
749
|
-
|
|
864
|
+
impl_.get_service().get_option(impl_.get_implementation(), option, ec);
|
|
750
865
|
boost::asio::detail::throw_error(ec, "get_option");
|
|
751
866
|
}
|
|
752
867
|
|
|
@@ -765,7 +880,7 @@ public:
|
|
|
765
880
|
* @par Example
|
|
766
881
|
* Getting the value of the SOL_SOCKET/SO_REUSEADDR option:
|
|
767
882
|
* @code
|
|
768
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
883
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
769
884
|
* ...
|
|
770
885
|
* boost::asio::ip::tcp::acceptor::reuse_address option;
|
|
771
886
|
* boost::system::error_code ec;
|
|
@@ -781,7 +896,7 @@ public:
|
|
|
781
896
|
BOOST_ASIO_SYNC_OP_VOID get_option(GettableSocketOption& option,
|
|
782
897
|
boost::system::error_code& ec) const
|
|
783
898
|
{
|
|
784
|
-
|
|
899
|
+
impl_.get_service().get_option(impl_.get_implementation(), option, ec);
|
|
785
900
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
786
901
|
}
|
|
787
902
|
|
|
@@ -799,7 +914,7 @@ public:
|
|
|
799
914
|
* @par Example
|
|
800
915
|
* Getting the number of bytes ready to read:
|
|
801
916
|
* @code
|
|
802
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
917
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
803
918
|
* ...
|
|
804
919
|
* boost::asio::ip::tcp::acceptor::non_blocking_io command(true);
|
|
805
920
|
* socket.io_control(command);
|
|
@@ -809,7 +924,7 @@ public:
|
|
|
809
924
|
void io_control(IoControlCommand& command)
|
|
810
925
|
{
|
|
811
926
|
boost::system::error_code ec;
|
|
812
|
-
|
|
927
|
+
impl_.get_service().io_control(impl_.get_implementation(), command, ec);
|
|
813
928
|
boost::asio::detail::throw_error(ec, "io_control");
|
|
814
929
|
}
|
|
815
930
|
|
|
@@ -827,7 +942,7 @@ public:
|
|
|
827
942
|
* @par Example
|
|
828
943
|
* Getting the number of bytes ready to read:
|
|
829
944
|
* @code
|
|
830
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
945
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
831
946
|
* ...
|
|
832
947
|
* boost::asio::ip::tcp::acceptor::non_blocking_io command(true);
|
|
833
948
|
* boost::system::error_code ec;
|
|
@@ -842,7 +957,7 @@ public:
|
|
|
842
957
|
BOOST_ASIO_SYNC_OP_VOID io_control(IoControlCommand& command,
|
|
843
958
|
boost::system::error_code& ec)
|
|
844
959
|
{
|
|
845
|
-
|
|
960
|
+
impl_.get_service().io_control(impl_.get_implementation(), command, ec);
|
|
846
961
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
847
962
|
}
|
|
848
963
|
|
|
@@ -859,7 +974,7 @@ public:
|
|
|
859
974
|
*/
|
|
860
975
|
bool non_blocking() const
|
|
861
976
|
{
|
|
862
|
-
return
|
|
977
|
+
return impl_.get_service().non_blocking(impl_.get_implementation());
|
|
863
978
|
}
|
|
864
979
|
|
|
865
980
|
/// Sets the non-blocking mode of the acceptor.
|
|
@@ -878,7 +993,7 @@ public:
|
|
|
878
993
|
void non_blocking(bool mode)
|
|
879
994
|
{
|
|
880
995
|
boost::system::error_code ec;
|
|
881
|
-
|
|
996
|
+
impl_.get_service().non_blocking(impl_.get_implementation(), mode, ec);
|
|
882
997
|
boost::asio::detail::throw_error(ec, "non_blocking");
|
|
883
998
|
}
|
|
884
999
|
|
|
@@ -898,7 +1013,7 @@ public:
|
|
|
898
1013
|
BOOST_ASIO_SYNC_OP_VOID non_blocking(
|
|
899
1014
|
bool mode, boost::system::error_code& ec)
|
|
900
1015
|
{
|
|
901
|
-
|
|
1016
|
+
impl_.get_service().non_blocking(impl_.get_implementation(), mode, ec);
|
|
902
1017
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
903
1018
|
}
|
|
904
1019
|
|
|
@@ -918,7 +1033,7 @@ public:
|
|
|
918
1033
|
*/
|
|
919
1034
|
bool native_non_blocking() const
|
|
920
1035
|
{
|
|
921
|
-
return
|
|
1036
|
+
return impl_.get_service().native_non_blocking(impl_.get_implementation());
|
|
922
1037
|
}
|
|
923
1038
|
|
|
924
1039
|
/// Sets the non-blocking mode of the native acceptor implementation.
|
|
@@ -939,8 +1054,8 @@ public:
|
|
|
939
1054
|
void native_non_blocking(bool mode)
|
|
940
1055
|
{
|
|
941
1056
|
boost::system::error_code ec;
|
|
942
|
-
|
|
943
|
-
|
|
1057
|
+
impl_.get_service().native_non_blocking(
|
|
1058
|
+
impl_.get_implementation(), mode, ec);
|
|
944
1059
|
boost::asio::detail::throw_error(ec, "native_non_blocking");
|
|
945
1060
|
}
|
|
946
1061
|
|
|
@@ -962,8 +1077,8 @@ public:
|
|
|
962
1077
|
BOOST_ASIO_SYNC_OP_VOID native_non_blocking(
|
|
963
1078
|
bool mode, boost::system::error_code& ec)
|
|
964
1079
|
{
|
|
965
|
-
|
|
966
|
-
|
|
1080
|
+
impl_.get_service().native_non_blocking(
|
|
1081
|
+
impl_.get_implementation(), mode, ec);
|
|
967
1082
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
968
1083
|
}
|
|
969
1084
|
|
|
@@ -977,7 +1092,7 @@ public:
|
|
|
977
1092
|
*
|
|
978
1093
|
* @par Example
|
|
979
1094
|
* @code
|
|
980
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1095
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
981
1096
|
* ...
|
|
982
1097
|
* boost::asio::ip::tcp::endpoint endpoint = acceptor.local_endpoint();
|
|
983
1098
|
* @endcode
|
|
@@ -985,8 +1100,8 @@ public:
|
|
|
985
1100
|
endpoint_type local_endpoint() const
|
|
986
1101
|
{
|
|
987
1102
|
boost::system::error_code ec;
|
|
988
|
-
endpoint_type ep =
|
|
989
|
-
|
|
1103
|
+
endpoint_type ep = impl_.get_service().local_endpoint(
|
|
1104
|
+
impl_.get_implementation(), ec);
|
|
990
1105
|
boost::asio::detail::throw_error(ec, "local_endpoint");
|
|
991
1106
|
return ep;
|
|
992
1107
|
}
|
|
@@ -1003,7 +1118,7 @@ public:
|
|
|
1003
1118
|
*
|
|
1004
1119
|
* @par Example
|
|
1005
1120
|
* @code
|
|
1006
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1121
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1007
1122
|
* ...
|
|
1008
1123
|
* boost::system::error_code ec;
|
|
1009
1124
|
* boost::asio::ip::tcp::endpoint endpoint = acceptor.local_endpoint(ec);
|
|
@@ -1015,7 +1130,7 @@ public:
|
|
|
1015
1130
|
*/
|
|
1016
1131
|
endpoint_type local_endpoint(boost::system::error_code& ec) const
|
|
1017
1132
|
{
|
|
1018
|
-
return
|
|
1133
|
+
return impl_.get_service().local_endpoint(impl_.get_implementation(), ec);
|
|
1019
1134
|
}
|
|
1020
1135
|
|
|
1021
1136
|
/// Wait for the acceptor to become ready to read, ready to write, or to have
|
|
@@ -1029,7 +1144,7 @@ public:
|
|
|
1029
1144
|
* @par Example
|
|
1030
1145
|
* Waiting for an acceptor to become readable.
|
|
1031
1146
|
* @code
|
|
1032
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1147
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1033
1148
|
* ...
|
|
1034
1149
|
* acceptor.wait(boost::asio::ip::tcp::acceptor::wait_read);
|
|
1035
1150
|
* @endcode
|
|
@@ -1037,7 +1152,7 @@ public:
|
|
|
1037
1152
|
void wait(wait_type w)
|
|
1038
1153
|
{
|
|
1039
1154
|
boost::system::error_code ec;
|
|
1040
|
-
|
|
1155
|
+
impl_.get_service().wait(impl_.get_implementation(), w, ec);
|
|
1041
1156
|
boost::asio::detail::throw_error(ec, "wait");
|
|
1042
1157
|
}
|
|
1043
1158
|
|
|
@@ -1054,7 +1169,7 @@ public:
|
|
|
1054
1169
|
* @par Example
|
|
1055
1170
|
* Waiting for an acceptor to become readable.
|
|
1056
1171
|
* @code
|
|
1057
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1172
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1058
1173
|
* ...
|
|
1059
1174
|
* boost::system::error_code ec;
|
|
1060
1175
|
* acceptor.wait(boost::asio::ip::tcp::acceptor::wait_read, ec);
|
|
@@ -1062,7 +1177,7 @@ public:
|
|
|
1062
1177
|
*/
|
|
1063
1178
|
BOOST_ASIO_SYNC_OP_VOID wait(wait_type w, boost::system::error_code& ec)
|
|
1064
1179
|
{
|
|
1065
|
-
|
|
1180
|
+
impl_.get_service().wait(impl_.get_implementation(), w, ec);
|
|
1066
1181
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
1067
1182
|
}
|
|
1068
1183
|
|
|
@@ -1081,9 +1196,9 @@ public:
|
|
|
1081
1196
|
* const boost::system::error_code& error // Result of operation
|
|
1082
1197
|
* ); @endcode
|
|
1083
1198
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
1084
|
-
* not, the handler will not be invoked from within this function.
|
|
1085
|
-
* of the handler will be performed in a
|
|
1086
|
-
* boost::asio::
|
|
1199
|
+
* not, the handler will not be invoked from within this function. On
|
|
1200
|
+
* immediate completion, invocation of the handler will be performed in a
|
|
1201
|
+
* manner equivalent to using boost::asio::post().
|
|
1087
1202
|
*
|
|
1088
1203
|
* @par Example
|
|
1089
1204
|
* @code
|
|
@@ -1097,34 +1212,24 @@ public:
|
|
|
1097
1212
|
*
|
|
1098
1213
|
* ...
|
|
1099
1214
|
*
|
|
1100
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1215
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1101
1216
|
* ...
|
|
1102
1217
|
* acceptor.async_wait(
|
|
1103
1218
|
* boost::asio::ip::tcp::acceptor::wait_read,
|
|
1104
1219
|
* wait_handler);
|
|
1105
1220
|
* @endcode
|
|
1106
1221
|
*/
|
|
1107
|
-
template <
|
|
1108
|
-
|
|
1222
|
+
template <
|
|
1223
|
+
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code))
|
|
1224
|
+
WaitHandler BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
|
1225
|
+
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(WaitHandler,
|
|
1109
1226
|
void (boost::system::error_code))
|
|
1110
|
-
async_wait(wait_type w,
|
|
1227
|
+
async_wait(wait_type w,
|
|
1228
|
+
BOOST_ASIO_MOVE_ARG(WaitHandler) handler
|
|
1229
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
|
|
1111
1230
|
{
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
BOOST_ASIO_WAIT_HANDLER_CHECK(WaitHandler, handler) type_check;
|
|
1115
|
-
|
|
1116
|
-
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1117
|
-
return this->get_service().async_wait(this->get_implementation(),
|
|
1118
|
-
w, BOOST_ASIO_MOVE_CAST(WaitHandler)(handler));
|
|
1119
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1120
|
-
async_completion<WaitHandler,
|
|
1121
|
-
void (boost::system::error_code)> init(handler);
|
|
1122
|
-
|
|
1123
|
-
this->get_service().async_wait(this->get_implementation(),
|
|
1124
|
-
w, init.completion_handler);
|
|
1125
|
-
|
|
1126
|
-
return init.result.get();
|
|
1127
|
-
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1231
|
+
return async_initiate<WaitHandler, void (boost::system::error_code)>(
|
|
1232
|
+
initiate_async_wait(this), handler, w);
|
|
1128
1233
|
}
|
|
1129
1234
|
|
|
1130
1235
|
#if !defined(BOOST_ASIO_NO_EXTENSIONS)
|
|
@@ -1140,24 +1245,20 @@ public:
|
|
|
1140
1245
|
*
|
|
1141
1246
|
* @par Example
|
|
1142
1247
|
* @code
|
|
1143
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1248
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1144
1249
|
* ...
|
|
1145
|
-
* boost::asio::ip::tcp::socket socket(
|
|
1250
|
+
* boost::asio::ip::tcp::socket socket(my_context);
|
|
1146
1251
|
* acceptor.accept(socket);
|
|
1147
1252
|
* @endcode
|
|
1148
1253
|
*/
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
template <typename Protocol1>
|
|
1155
|
-
void accept(basic_socket<Protocol1>& peer,
|
|
1156
|
-
typename enable_if<is_convertible<Protocol, Protocol1>::value>::type* = 0)
|
|
1157
|
-
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1254
|
+
template <typename Protocol1, typename Executor1>
|
|
1255
|
+
void accept(basic_socket<Protocol1, Executor1>& peer,
|
|
1256
|
+
typename enable_if<
|
|
1257
|
+
is_convertible<Protocol, Protocol1>::value
|
|
1258
|
+
>::type* = 0)
|
|
1158
1259
|
{
|
|
1159
1260
|
boost::system::error_code ec;
|
|
1160
|
-
|
|
1261
|
+
impl_.get_service().accept(impl_.get_implementation(),
|
|
1161
1262
|
peer, static_cast<endpoint_type*>(0), ec);
|
|
1162
1263
|
boost::asio::detail::throw_error(ec, "accept");
|
|
1163
1264
|
}
|
|
@@ -1174,9 +1275,9 @@ public:
|
|
|
1174
1275
|
*
|
|
1175
1276
|
* @par Example
|
|
1176
1277
|
* @code
|
|
1177
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1278
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1178
1279
|
* ...
|
|
1179
|
-
* boost::asio::ip::tcp::socket socket(
|
|
1280
|
+
* boost::asio::ip::tcp::socket socket(my_context);
|
|
1180
1281
|
* boost::system::error_code ec;
|
|
1181
1282
|
* acceptor.accept(socket, ec);
|
|
1182
1283
|
* if (ec)
|
|
@@ -1185,20 +1286,14 @@ public:
|
|
|
1185
1286
|
* }
|
|
1186
1287
|
* @endcode
|
|
1187
1288
|
*/
|
|
1188
|
-
|
|
1189
|
-
template <typename Protocol1, typename SocketService>
|
|
1190
|
-
BOOST_ASIO_SYNC_OP_VOID accept(
|
|
1191
|
-
basic_socket<Protocol1, SocketService>& peer,
|
|
1192
|
-
boost::system::error_code& ec,
|
|
1193
|
-
typename enable_if<is_convertible<Protocol, Protocol1>::value>::type* = 0)
|
|
1194
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1195
|
-
template <typename Protocol1>
|
|
1289
|
+
template <typename Protocol1, typename Executor1>
|
|
1196
1290
|
BOOST_ASIO_SYNC_OP_VOID accept(
|
|
1197
|
-
basic_socket<Protocol1>& peer, boost::system::error_code& ec,
|
|
1198
|
-
typename enable_if<
|
|
1199
|
-
|
|
1291
|
+
basic_socket<Protocol1, Executor1>& peer, boost::system::error_code& ec,
|
|
1292
|
+
typename enable_if<
|
|
1293
|
+
is_convertible<Protocol, Protocol1>::value
|
|
1294
|
+
>::type* = 0)
|
|
1200
1295
|
{
|
|
1201
|
-
|
|
1296
|
+
impl_.get_service().accept(impl_.get_implementation(),
|
|
1202
1297
|
peer, static_cast<endpoint_type*>(0), ec);
|
|
1203
1298
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
1204
1299
|
}
|
|
@@ -1219,9 +1314,9 @@ public:
|
|
|
1219
1314
|
* const boost::system::error_code& error // Result of operation.
|
|
1220
1315
|
* ); @endcode
|
|
1221
1316
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
1222
|
-
* not, the handler will not be invoked from within this function.
|
|
1223
|
-
* of the handler will be performed in a
|
|
1224
|
-
* boost::asio::
|
|
1317
|
+
* not, the handler will not be invoked from within this function. On
|
|
1318
|
+
* immediate completion, invocation of the handler will be performed in a
|
|
1319
|
+
* manner equivalent to using boost::asio::post().
|
|
1225
1320
|
*
|
|
1226
1321
|
* @par Example
|
|
1227
1322
|
* @code
|
|
@@ -1235,45 +1330,27 @@ public:
|
|
|
1235
1330
|
*
|
|
1236
1331
|
* ...
|
|
1237
1332
|
*
|
|
1238
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1333
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1239
1334
|
* ...
|
|
1240
|
-
* boost::asio::ip::tcp::socket socket(
|
|
1335
|
+
* boost::asio::ip::tcp::socket socket(my_context);
|
|
1241
1336
|
* acceptor.async_accept(socket, accept_handler);
|
|
1242
1337
|
* @endcode
|
|
1243
1338
|
*/
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
async_accept(basic_socket<Protocol1, SocketService>& peer,
|
|
1249
|
-
BOOST_ASIO_MOVE_ARG(AcceptHandler) handler,
|
|
1250
|
-
typename enable_if<is_convertible<Protocol, Protocol1>::value>::type* = 0)
|
|
1251
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1252
|
-
template <typename Protocol1, typename AcceptHandler>
|
|
1253
|
-
BOOST_ASIO_INITFN_RESULT_TYPE(AcceptHandler,
|
|
1339
|
+
template <typename Protocol1, typename Executor1,
|
|
1340
|
+
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code))
|
|
1341
|
+
AcceptHandler BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
|
1342
|
+
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(AcceptHandler,
|
|
1254
1343
|
void (boost::system::error_code))
|
|
1255
|
-
async_accept(basic_socket<Protocol1>& peer,
|
|
1256
|
-
BOOST_ASIO_MOVE_ARG(AcceptHandler) handler
|
|
1257
|
-
|
|
1258
|
-
|
|
1344
|
+
async_accept(basic_socket<Protocol1, Executor1>& peer,
|
|
1345
|
+
BOOST_ASIO_MOVE_ARG(AcceptHandler) handler
|
|
1346
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type),
|
|
1347
|
+
typename enable_if<
|
|
1348
|
+
is_convertible<Protocol, Protocol1>::value
|
|
1349
|
+
>::type* = 0)
|
|
1259
1350
|
{
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1265
|
-
return this->get_service().async_accept(this->get_implementation(),
|
|
1266
|
-
peer, static_cast<endpoint_type*>(0),
|
|
1267
|
-
BOOST_ASIO_MOVE_CAST(AcceptHandler)(handler));
|
|
1268
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1269
|
-
async_completion<AcceptHandler,
|
|
1270
|
-
void (boost::system::error_code)> init(handler);
|
|
1271
|
-
|
|
1272
|
-
this->get_service().async_accept(this->get_implementation(),
|
|
1273
|
-
peer, static_cast<endpoint_type*>(0), init.completion_handler);
|
|
1274
|
-
|
|
1275
|
-
return init.result.get();
|
|
1276
|
-
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1351
|
+
return async_initiate<AcceptHandler, void (boost::system::error_code)>(
|
|
1352
|
+
initiate_async_accept(this), handler,
|
|
1353
|
+
&peer, static_cast<endpoint_type*>(0));
|
|
1277
1354
|
}
|
|
1278
1355
|
|
|
1279
1356
|
/// Accept a new connection and obtain the endpoint of the peer
|
|
@@ -1292,23 +1369,19 @@ public:
|
|
|
1292
1369
|
*
|
|
1293
1370
|
* @par Example
|
|
1294
1371
|
* @code
|
|
1295
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1372
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1296
1373
|
* ...
|
|
1297
|
-
* boost::asio::ip::tcp::socket socket(
|
|
1374
|
+
* boost::asio::ip::tcp::socket socket(my_context);
|
|
1298
1375
|
* boost::asio::ip::tcp::endpoint endpoint;
|
|
1299
1376
|
* acceptor.accept(socket, endpoint);
|
|
1300
1377
|
* @endcode
|
|
1301
1378
|
*/
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
void accept(basic_socket<protocol_type, SocketService>& peer,
|
|
1379
|
+
template <typename Executor1>
|
|
1380
|
+
void accept(basic_socket<protocol_type, Executor1>& peer,
|
|
1305
1381
|
endpoint_type& peer_endpoint)
|
|
1306
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1307
|
-
void accept(basic_socket<protocol_type>& peer, endpoint_type& peer_endpoint)
|
|
1308
|
-
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1309
1382
|
{
|
|
1310
1383
|
boost::system::error_code ec;
|
|
1311
|
-
|
|
1384
|
+
impl_.get_service().accept(impl_.get_implementation(),
|
|
1312
1385
|
peer, &peer_endpoint, ec);
|
|
1313
1386
|
boost::asio::detail::throw_error(ec, "accept");
|
|
1314
1387
|
}
|
|
@@ -1329,9 +1402,9 @@ public:
|
|
|
1329
1402
|
*
|
|
1330
1403
|
* @par Example
|
|
1331
1404
|
* @code
|
|
1332
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1405
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1333
1406
|
* ...
|
|
1334
|
-
* boost::asio::ip::tcp::socket socket(
|
|
1407
|
+
* boost::asio::ip::tcp::socket socket(my_context);
|
|
1335
1408
|
* boost::asio::ip::tcp::endpoint endpoint;
|
|
1336
1409
|
* boost::system::error_code ec;
|
|
1337
1410
|
* acceptor.accept(socket, endpoint, ec);
|
|
@@ -1341,18 +1414,12 @@ public:
|
|
|
1341
1414
|
* }
|
|
1342
1415
|
* @endcode
|
|
1343
1416
|
*/
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
BOOST_ASIO_SYNC_OP_VOID accept(
|
|
1347
|
-
basic_socket<protocol_type, SocketService>& peer,
|
|
1348
|
-
endpoint_type& peer_endpoint, boost::system::error_code& ec)
|
|
1349
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1350
|
-
BOOST_ASIO_SYNC_OP_VOID accept(basic_socket<protocol_type>& peer,
|
|
1417
|
+
template <typename Executor1>
|
|
1418
|
+
BOOST_ASIO_SYNC_OP_VOID accept(basic_socket<protocol_type, Executor1>& peer,
|
|
1351
1419
|
endpoint_type& peer_endpoint, boost::system::error_code& ec)
|
|
1352
|
-
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1353
1420
|
{
|
|
1354
|
-
|
|
1355
|
-
|
|
1421
|
+
impl_.get_service().accept(
|
|
1422
|
+
impl_.get_implementation(), peer, &peer_endpoint, ec);
|
|
1356
1423
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
1357
1424
|
}
|
|
1358
1425
|
|
|
@@ -1378,40 +1445,22 @@ public:
|
|
|
1378
1445
|
* const boost::system::error_code& error // Result of operation.
|
|
1379
1446
|
* ); @endcode
|
|
1380
1447
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
1381
|
-
* not, the handler will not be invoked from within this function.
|
|
1382
|
-
* of the handler will be performed in a
|
|
1383
|
-
* boost::asio::
|
|
1448
|
+
* not, the handler will not be invoked from within this function. On
|
|
1449
|
+
* immediate completion, invocation of the handler will be performed in a
|
|
1450
|
+
* manner equivalent to using boost::asio::post().
|
|
1384
1451
|
*/
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
async_accept(basic_socket<protocol_type, SocketService>& peer,
|
|
1390
|
-
endpoint_type& peer_endpoint, BOOST_ASIO_MOVE_ARG(AcceptHandler) handler)
|
|
1391
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1392
|
-
template <typename AcceptHandler>
|
|
1393
|
-
BOOST_ASIO_INITFN_RESULT_TYPE(AcceptHandler,
|
|
1452
|
+
template <typename Executor1,
|
|
1453
|
+
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code))
|
|
1454
|
+
AcceptHandler BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
|
1455
|
+
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(AcceptHandler,
|
|
1394
1456
|
void (boost::system::error_code))
|
|
1395
|
-
async_accept(basic_socket<protocol_type>& peer,
|
|
1396
|
-
endpoint_type& peer_endpoint,
|
|
1397
|
-
|
|
1457
|
+
async_accept(basic_socket<protocol_type, Executor1>& peer,
|
|
1458
|
+
endpoint_type& peer_endpoint,
|
|
1459
|
+
BOOST_ASIO_MOVE_ARG(AcceptHandler) handler
|
|
1460
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
|
|
1398
1461
|
{
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
BOOST_ASIO_ACCEPT_HANDLER_CHECK(AcceptHandler, handler) type_check;
|
|
1402
|
-
|
|
1403
|
-
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1404
|
-
return this->get_service().async_accept(this->get_implementation(), peer,
|
|
1405
|
-
&peer_endpoint, BOOST_ASIO_MOVE_CAST(AcceptHandler)(handler));
|
|
1406
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1407
|
-
async_completion<AcceptHandler,
|
|
1408
|
-
void (boost::system::error_code)> init(handler);
|
|
1409
|
-
|
|
1410
|
-
this->get_service().async_accept(this->get_implementation(),
|
|
1411
|
-
peer, &peer_endpoint, init.completion_handler);
|
|
1412
|
-
|
|
1413
|
-
return init.result.get();
|
|
1414
|
-
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1462
|
+
return async_initiate<AcceptHandler, void (boost::system::error_code)>(
|
|
1463
|
+
initiate_async_accept(this), handler, &peer, &peer_endpoint);
|
|
1415
1464
|
}
|
|
1416
1465
|
#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
|
|
1417
1466
|
|
|
@@ -1431,17 +1480,18 @@ public:
|
|
|
1431
1480
|
*
|
|
1432
1481
|
* @par Example
|
|
1433
1482
|
* @code
|
|
1434
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1483
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1435
1484
|
* ...
|
|
1436
1485
|
* boost::asio::ip::tcp::socket socket(acceptor.accept());
|
|
1437
1486
|
* @endcode
|
|
1438
1487
|
*/
|
|
1439
|
-
typename Protocol::socket
|
|
1488
|
+
typename Protocol::socket::template rebind_executor<executor_type>::other
|
|
1489
|
+
accept()
|
|
1440
1490
|
{
|
|
1441
1491
|
boost::system::error_code ec;
|
|
1442
|
-
typename Protocol::socket
|
|
1443
|
-
|
|
1444
|
-
|
|
1492
|
+
typename Protocol::socket::template rebind_executor<
|
|
1493
|
+
executor_type>::other peer(impl_.get_executor());
|
|
1494
|
+
impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
|
|
1445
1495
|
boost::asio::detail::throw_error(ec, "accept");
|
|
1446
1496
|
return peer;
|
|
1447
1497
|
}
|
|
@@ -1462,7 +1512,7 @@ public:
|
|
|
1462
1512
|
*
|
|
1463
1513
|
* @par Example
|
|
1464
1514
|
* @code
|
|
1465
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1515
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1466
1516
|
* ...
|
|
1467
1517
|
* boost::asio::ip::tcp::socket socket(acceptor.accept(ec));
|
|
1468
1518
|
* if (ec)
|
|
@@ -1471,9 +1521,13 @@ public:
|
|
|
1471
1521
|
* }
|
|
1472
1522
|
* @endcode
|
|
1473
1523
|
*/
|
|
1474
|
-
typename Protocol::socket
|
|
1524
|
+
typename Protocol::socket::template rebind_executor<executor_type>::other
|
|
1525
|
+
accept(boost::system::error_code& ec)
|
|
1475
1526
|
{
|
|
1476
|
-
|
|
1527
|
+
typename Protocol::socket::template rebind_executor<
|
|
1528
|
+
executor_type>::other peer(impl_.get_executor());
|
|
1529
|
+
impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
|
|
1530
|
+
return peer;
|
|
1477
1531
|
}
|
|
1478
1532
|
|
|
1479
1533
|
/// Start an asynchronous accept.
|
|
@@ -1488,13 +1542,16 @@ public:
|
|
|
1488
1542
|
* completes. Copies will be made of the handler as required. The function
|
|
1489
1543
|
* signature of the handler must be:
|
|
1490
1544
|
* @code void handler(
|
|
1491
|
-
*
|
|
1492
|
-
*
|
|
1545
|
+
* // Result of operation.
|
|
1546
|
+
* const boost::system::error_code& error,
|
|
1547
|
+
* // On success, the newly accepted socket.
|
|
1548
|
+
* typename Protocol::socket::template
|
|
1549
|
+
* rebind_executor<executor_type>::other peer
|
|
1493
1550
|
* ); @endcode
|
|
1494
1551
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
1495
|
-
* not, the handler will not be invoked from within this function.
|
|
1496
|
-
* of the handler will be performed in a
|
|
1497
|
-
* boost::asio::
|
|
1552
|
+
* not, the handler will not be invoked from within this function. On
|
|
1553
|
+
* immediate completion, invocation of the handler will be performed in a
|
|
1554
|
+
* manner equivalent to using boost::asio::post().
|
|
1498
1555
|
*
|
|
1499
1556
|
* @par Example
|
|
1500
1557
|
* @code
|
|
@@ -1509,37 +1566,70 @@ public:
|
|
|
1509
1566
|
*
|
|
1510
1567
|
* ...
|
|
1511
1568
|
*
|
|
1512
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1569
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1513
1570
|
* ...
|
|
1514
1571
|
* acceptor.async_accept(accept_handler);
|
|
1515
1572
|
* @endcode
|
|
1516
1573
|
*/
|
|
1517
|
-
template <
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
// not meet the documented type requirements for a MoveAcceptHandler.
|
|
1524
|
-
BOOST_ASIO_MOVE_ACCEPT_HANDLER_CHECK(MoveAcceptHandler,
|
|
1525
|
-
handler, typename Protocol::socket) type_check;
|
|
1526
|
-
|
|
1527
|
-
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1528
|
-
return this->get_service().async_accept(
|
|
1529
|
-
this->get_implementation(), static_cast<boost::asio::io_context*>(0),
|
|
1530
|
-
static_cast<endpoint_type*>(0),
|
|
1531
|
-
BOOST_ASIO_MOVE_CAST(MoveAcceptHandler)(handler));
|
|
1532
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1533
|
-
async_completion<MoveAcceptHandler,
|
|
1574
|
+
template <
|
|
1575
|
+
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
|
1576
|
+
typename Protocol::socket::template rebind_executor<
|
|
1577
|
+
executor_type>::other)) MoveAcceptHandler
|
|
1578
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
|
1579
|
+
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
|
|
1534
1580
|
void (boost::system::error_code,
|
|
1535
|
-
typename Protocol::socket
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1581
|
+
typename Protocol::socket::template
|
|
1582
|
+
rebind_executor<executor_type>::other))
|
|
1583
|
+
async_accept(
|
|
1584
|
+
BOOST_ASIO_MOVE_ARG(MoveAcceptHandler) handler
|
|
1585
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
|
|
1586
|
+
{
|
|
1587
|
+
return async_initiate<MoveAcceptHandler,
|
|
1588
|
+
void (boost::system::error_code, typename Protocol::socket::template
|
|
1589
|
+
rebind_executor<executor_type>::other)>(
|
|
1590
|
+
initiate_async_move_accept(this), handler,
|
|
1591
|
+
impl_.get_executor(), static_cast<endpoint_type*>(0),
|
|
1592
|
+
static_cast<typename Protocol::socket::template
|
|
1593
|
+
rebind_executor<executor_type>::other*>(0));
|
|
1594
|
+
}
|
|
1540
1595
|
|
|
1541
|
-
|
|
1542
|
-
|
|
1596
|
+
/// Accept a new connection.
|
|
1597
|
+
/**
|
|
1598
|
+
* This function is used to accept a new connection from a peer. The function
|
|
1599
|
+
* call will block until a new connection has been accepted successfully or
|
|
1600
|
+
* an error occurs.
|
|
1601
|
+
*
|
|
1602
|
+
* This overload requires that the Protocol template parameter satisfy the
|
|
1603
|
+
* AcceptableProtocol type requirements.
|
|
1604
|
+
*
|
|
1605
|
+
* @param ex The I/O executor object to be used for the newly
|
|
1606
|
+
* accepted socket.
|
|
1607
|
+
*
|
|
1608
|
+
* @returns A socket object representing the newly accepted connection.
|
|
1609
|
+
*
|
|
1610
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
1611
|
+
*
|
|
1612
|
+
* @par Example
|
|
1613
|
+
* @code
|
|
1614
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1615
|
+
* ...
|
|
1616
|
+
* boost::asio::ip::tcp::socket socket(acceptor.accept());
|
|
1617
|
+
* @endcode
|
|
1618
|
+
*/
|
|
1619
|
+
template <typename Executor1>
|
|
1620
|
+
typename Protocol::socket::template rebind_executor<Executor1>::other
|
|
1621
|
+
accept(const Executor1& ex,
|
|
1622
|
+
typename enable_if<
|
|
1623
|
+
is_executor<Executor1>::value
|
|
1624
|
+
|| execution::is_executor<Executor1>::value
|
|
1625
|
+
>::type* = 0)
|
|
1626
|
+
{
|
|
1627
|
+
boost::system::error_code ec;
|
|
1628
|
+
typename Protocol::socket::template
|
|
1629
|
+
rebind_executor<Executor1>::other peer(ex);
|
|
1630
|
+
impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
|
|
1631
|
+
boost::asio::detail::throw_error(ec, "accept");
|
|
1632
|
+
return peer;
|
|
1543
1633
|
}
|
|
1544
1634
|
|
|
1545
1635
|
/// Accept a new connection.
|
|
@@ -1551,8 +1641,8 @@ public:
|
|
|
1551
1641
|
* This overload requires that the Protocol template parameter satisfy the
|
|
1552
1642
|
* AcceptableProtocol type requirements.
|
|
1553
1643
|
*
|
|
1554
|
-
* @param
|
|
1555
|
-
* socket.
|
|
1644
|
+
* @param context The I/O execution context object to be used for the newly
|
|
1645
|
+
* accepted socket.
|
|
1556
1646
|
*
|
|
1557
1647
|
* @returns A socket object representing the newly accepted connection.
|
|
1558
1648
|
*
|
|
@@ -1560,17 +1650,23 @@ public:
|
|
|
1560
1650
|
*
|
|
1561
1651
|
* @par Example
|
|
1562
1652
|
* @code
|
|
1563
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1653
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1564
1654
|
* ...
|
|
1565
1655
|
* boost::asio::ip::tcp::socket socket(acceptor.accept());
|
|
1566
1656
|
* @endcode
|
|
1567
1657
|
*/
|
|
1568
|
-
typename
|
|
1658
|
+
template <typename ExecutionContext>
|
|
1659
|
+
typename Protocol::socket::template rebind_executor<
|
|
1660
|
+
typename ExecutionContext::executor_type>::other
|
|
1661
|
+
accept(ExecutionContext& context,
|
|
1662
|
+
typename enable_if<
|
|
1663
|
+
is_convertible<ExecutionContext&, execution_context&>::value
|
|
1664
|
+
>::type* = 0)
|
|
1569
1665
|
{
|
|
1570
1666
|
boost::system::error_code ec;
|
|
1571
|
-
typename Protocol::socket
|
|
1572
|
-
|
|
1573
|
-
|
|
1667
|
+
typename Protocol::socket::template rebind_executor<
|
|
1668
|
+
typename ExecutionContext::executor_type>::other peer(context);
|
|
1669
|
+
impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
|
|
1574
1670
|
boost::asio::detail::throw_error(ec, "accept");
|
|
1575
1671
|
return peer;
|
|
1576
1672
|
}
|
|
@@ -1584,7 +1680,7 @@ public:
|
|
|
1584
1680
|
* This overload requires that the Protocol template parameter satisfy the
|
|
1585
1681
|
* AcceptableProtocol type requirements.
|
|
1586
1682
|
*
|
|
1587
|
-
* @param
|
|
1683
|
+
* @param ex The I/O executor object to be used for the newly accepted
|
|
1588
1684
|
* socket.
|
|
1589
1685
|
*
|
|
1590
1686
|
* @param ec Set to indicate what error occurred, if any.
|
|
@@ -1594,20 +1690,69 @@ public:
|
|
|
1594
1690
|
*
|
|
1595
1691
|
* @par Example
|
|
1596
1692
|
* @code
|
|
1597
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1693
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1598
1694
|
* ...
|
|
1599
|
-
* boost::asio::ip::tcp::socket socket(acceptor.accept(
|
|
1695
|
+
* boost::asio::ip::tcp::socket socket(acceptor.accept(my_context2, ec));
|
|
1600
1696
|
* if (ec)
|
|
1601
1697
|
* {
|
|
1602
1698
|
* // An error occurred.
|
|
1603
1699
|
* }
|
|
1604
1700
|
* @endcode
|
|
1605
1701
|
*/
|
|
1606
|
-
typename
|
|
1607
|
-
|
|
1702
|
+
template <typename Executor1>
|
|
1703
|
+
typename Protocol::socket::template rebind_executor<Executor1>::other
|
|
1704
|
+
accept(const Executor1& ex, boost::system::error_code& ec,
|
|
1705
|
+
typename enable_if<
|
|
1706
|
+
is_executor<Executor1>::value
|
|
1707
|
+
|| execution::is_executor<Executor1>::value
|
|
1708
|
+
>::type* = 0)
|
|
1608
1709
|
{
|
|
1609
|
-
|
|
1610
|
-
|
|
1710
|
+
typename Protocol::socket::template
|
|
1711
|
+
rebind_executor<Executor1>::other peer(ex);
|
|
1712
|
+
impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
|
|
1713
|
+
return peer;
|
|
1714
|
+
}
|
|
1715
|
+
|
|
1716
|
+
/// Accept a new connection.
|
|
1717
|
+
/**
|
|
1718
|
+
* This function is used to accept a new connection from a peer. The function
|
|
1719
|
+
* call will block until a new connection has been accepted successfully or
|
|
1720
|
+
* an error occurs.
|
|
1721
|
+
*
|
|
1722
|
+
* This overload requires that the Protocol template parameter satisfy the
|
|
1723
|
+
* AcceptableProtocol type requirements.
|
|
1724
|
+
*
|
|
1725
|
+
* @param context The I/O execution context object to be used for the newly
|
|
1726
|
+
* accepted socket.
|
|
1727
|
+
*
|
|
1728
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
1729
|
+
*
|
|
1730
|
+
* @returns On success, a socket object representing the newly accepted
|
|
1731
|
+
* connection. On error, a socket object where is_open() is false.
|
|
1732
|
+
*
|
|
1733
|
+
* @par Example
|
|
1734
|
+
* @code
|
|
1735
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1736
|
+
* ...
|
|
1737
|
+
* boost::asio::ip::tcp::socket socket(acceptor.accept(my_context2, ec));
|
|
1738
|
+
* if (ec)
|
|
1739
|
+
* {
|
|
1740
|
+
* // An error occurred.
|
|
1741
|
+
* }
|
|
1742
|
+
* @endcode
|
|
1743
|
+
*/
|
|
1744
|
+
template <typename ExecutionContext>
|
|
1745
|
+
typename Protocol::socket::template rebind_executor<
|
|
1746
|
+
typename ExecutionContext::executor_type>::other
|
|
1747
|
+
accept(ExecutionContext& context, boost::system::error_code& ec,
|
|
1748
|
+
typename enable_if<
|
|
1749
|
+
is_convertible<ExecutionContext&, execution_context&>::value
|
|
1750
|
+
>::type* = 0)
|
|
1751
|
+
{
|
|
1752
|
+
typename Protocol::socket::template rebind_executor<
|
|
1753
|
+
typename ExecutionContext::executor_type>::other peer(context);
|
|
1754
|
+
impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
|
|
1755
|
+
return peer;
|
|
1611
1756
|
}
|
|
1612
1757
|
|
|
1613
1758
|
/// Start an asynchronous accept.
|
|
@@ -1618,7 +1763,7 @@ public:
|
|
|
1618
1763
|
* This overload requires that the Protocol template parameter satisfy the
|
|
1619
1764
|
* AcceptableProtocol type requirements.
|
|
1620
1765
|
*
|
|
1621
|
-
* @param
|
|
1766
|
+
* @param ex The I/O executor object to be used for the newly accepted
|
|
1622
1767
|
* socket.
|
|
1623
1768
|
*
|
|
1624
1769
|
* @param handler The handler to be called when the accept operation
|
|
@@ -1626,12 +1771,13 @@ public:
|
|
|
1626
1771
|
* signature of the handler must be:
|
|
1627
1772
|
* @code void handler(
|
|
1628
1773
|
* const boost::system::error_code& error, // Result of operation.
|
|
1629
|
-
* typename Protocol::socket
|
|
1774
|
+
* typename Protocol::socket::template rebind_executor<
|
|
1775
|
+
* Executor1>::other peer // On success, the newly accepted socket.
|
|
1630
1776
|
* ); @endcode
|
|
1631
1777
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
1632
|
-
* not, the handler will not be invoked from within this function.
|
|
1633
|
-
* of the handler will be performed in a
|
|
1634
|
-
* boost::asio::
|
|
1778
|
+
* not, the handler will not be invoked from within this function. On
|
|
1779
|
+
* immediate completion, invocation of the handler will be performed in a
|
|
1780
|
+
* manner equivalent to using boost::asio::post().
|
|
1635
1781
|
*
|
|
1636
1782
|
* @par Example
|
|
1637
1783
|
* @code
|
|
@@ -1646,36 +1792,105 @@ public:
|
|
|
1646
1792
|
*
|
|
1647
1793
|
* ...
|
|
1648
1794
|
*
|
|
1649
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1795
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1650
1796
|
* ...
|
|
1651
|
-
* acceptor.async_accept(
|
|
1797
|
+
* acceptor.async_accept(my_context2, accept_handler);
|
|
1652
1798
|
* @endcode
|
|
1653
1799
|
*/
|
|
1654
|
-
template <typename
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
// If you get an error on the following line it means that your handler does
|
|
1661
|
-
// not meet the documented type requirements for a MoveAcceptHandler.
|
|
1662
|
-
BOOST_ASIO_MOVE_ACCEPT_HANDLER_CHECK(MoveAcceptHandler,
|
|
1663
|
-
handler, typename Protocol::socket) type_check;
|
|
1664
|
-
|
|
1665
|
-
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1666
|
-
return this->get_service().async_accept(this->get_implementation(),
|
|
1667
|
-
&io_context, static_cast<endpoint_type*>(0),
|
|
1668
|
-
BOOST_ASIO_MOVE_CAST(MoveAcceptHandler)(handler));
|
|
1669
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1670
|
-
async_completion<MoveAcceptHandler,
|
|
1800
|
+
template <typename Executor1,
|
|
1801
|
+
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
|
1802
|
+
typename Protocol::socket::template rebind_executor<
|
|
1803
|
+
Executor1>::other)) MoveAcceptHandler
|
|
1804
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
|
1805
|
+
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
|
|
1671
1806
|
void (boost::system::error_code,
|
|
1672
|
-
typename Protocol::socket
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1807
|
+
typename Protocol::socket::template rebind_executor<
|
|
1808
|
+
Executor1>::other))
|
|
1809
|
+
async_accept(const Executor1& ex,
|
|
1810
|
+
BOOST_ASIO_MOVE_ARG(MoveAcceptHandler) handler
|
|
1811
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type),
|
|
1812
|
+
typename enable_if<
|
|
1813
|
+
is_executor<Executor1>::value
|
|
1814
|
+
|| execution::is_executor<Executor1>::value
|
|
1815
|
+
>::type* = 0)
|
|
1816
|
+
{
|
|
1817
|
+
typedef typename Protocol::socket::template rebind_executor<
|
|
1818
|
+
Executor1>::other other_socket_type;
|
|
1819
|
+
|
|
1820
|
+
return async_initiate<MoveAcceptHandler,
|
|
1821
|
+
void (boost::system::error_code, other_socket_type)>(
|
|
1822
|
+
initiate_async_move_accept(this), handler,
|
|
1823
|
+
ex, static_cast<endpoint_type*>(0),
|
|
1824
|
+
static_cast<other_socket_type*>(0));
|
|
1825
|
+
}
|
|
1676
1826
|
|
|
1677
|
-
|
|
1678
|
-
|
|
1827
|
+
/// Start an asynchronous accept.
|
|
1828
|
+
/**
|
|
1829
|
+
* This function is used to asynchronously accept a new connection. The
|
|
1830
|
+
* function call always returns immediately.
|
|
1831
|
+
*
|
|
1832
|
+
* This overload requires that the Protocol template parameter satisfy the
|
|
1833
|
+
* AcceptableProtocol type requirements.
|
|
1834
|
+
*
|
|
1835
|
+
* @param context The I/O execution context object to be used for the newly
|
|
1836
|
+
* accepted socket.
|
|
1837
|
+
*
|
|
1838
|
+
* @param handler The handler to be called when the accept operation
|
|
1839
|
+
* completes. Copies will be made of the handler as required. The function
|
|
1840
|
+
* signature of the handler must be:
|
|
1841
|
+
* @code void handler(
|
|
1842
|
+
* const boost::system::error_code& error, // Result of operation.
|
|
1843
|
+
* typename Protocol::socket::template rebind_executor<
|
|
1844
|
+
* typename ExecutionContext::executor_type>::other peer
|
|
1845
|
+
* // On success, the newly accepted socket.
|
|
1846
|
+
* ); @endcode
|
|
1847
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
|
1848
|
+
* not, the handler will not be invoked from within this function. On
|
|
1849
|
+
* immediate completion, invocation of the handler will be performed in a
|
|
1850
|
+
* manner equivalent to using boost::asio::post().
|
|
1851
|
+
*
|
|
1852
|
+
* @par Example
|
|
1853
|
+
* @code
|
|
1854
|
+
* void accept_handler(const boost::system::error_code& error,
|
|
1855
|
+
* boost::asio::ip::tcp::socket peer)
|
|
1856
|
+
* {
|
|
1857
|
+
* if (!error)
|
|
1858
|
+
* {
|
|
1859
|
+
* // Accept succeeded.
|
|
1860
|
+
* }
|
|
1861
|
+
* }
|
|
1862
|
+
*
|
|
1863
|
+
* ...
|
|
1864
|
+
*
|
|
1865
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1866
|
+
* ...
|
|
1867
|
+
* acceptor.async_accept(my_context2, accept_handler);
|
|
1868
|
+
* @endcode
|
|
1869
|
+
*/
|
|
1870
|
+
template <typename ExecutionContext,
|
|
1871
|
+
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
|
1872
|
+
typename Protocol::socket::template rebind_executor<
|
|
1873
|
+
typename ExecutionContext::executor_type>::other)) MoveAcceptHandler
|
|
1874
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
|
1875
|
+
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
|
|
1876
|
+
void (boost::system::error_code,
|
|
1877
|
+
typename Protocol::socket::template rebind_executor<
|
|
1878
|
+
typename ExecutionContext::executor_type>::other))
|
|
1879
|
+
async_accept(ExecutionContext& context,
|
|
1880
|
+
BOOST_ASIO_MOVE_ARG(MoveAcceptHandler) handler
|
|
1881
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type),
|
|
1882
|
+
typename enable_if<
|
|
1883
|
+
is_convertible<ExecutionContext&, execution_context&>::value
|
|
1884
|
+
>::type* = 0)
|
|
1885
|
+
{
|
|
1886
|
+
typedef typename Protocol::socket::template rebind_executor<
|
|
1887
|
+
typename ExecutionContext::executor_type>::other other_socket_type;
|
|
1888
|
+
|
|
1889
|
+
return async_initiate<MoveAcceptHandler,
|
|
1890
|
+
void (boost::system::error_code, other_socket_type)>(
|
|
1891
|
+
initiate_async_move_accept(this), handler,
|
|
1892
|
+
context.get_executor(), static_cast<endpoint_type*>(0),
|
|
1893
|
+
static_cast<other_socket_type*>(0));
|
|
1679
1894
|
}
|
|
1680
1895
|
|
|
1681
1896
|
/// Accept a new connection.
|
|
@@ -1696,18 +1911,20 @@ public:
|
|
|
1696
1911
|
*
|
|
1697
1912
|
* @par Example
|
|
1698
1913
|
* @code
|
|
1699
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1914
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1700
1915
|
* ...
|
|
1701
1916
|
* boost::asio::ip::tcp::endpoint endpoint;
|
|
1702
1917
|
* boost::asio::ip::tcp::socket socket(acceptor.accept(endpoint));
|
|
1703
1918
|
* @endcode
|
|
1704
1919
|
*/
|
|
1705
|
-
typename Protocol::socket
|
|
1920
|
+
typename Protocol::socket::template rebind_executor<executor_type>::other
|
|
1921
|
+
accept(endpoint_type& peer_endpoint)
|
|
1706
1922
|
{
|
|
1707
1923
|
boost::system::error_code ec;
|
|
1708
|
-
typename Protocol::socket
|
|
1709
|
-
|
|
1710
|
-
|
|
1924
|
+
typename Protocol::socket::template rebind_executor<
|
|
1925
|
+
executor_type>::other peer(impl_.get_executor());
|
|
1926
|
+
impl_.get_service().accept(impl_.get_implementation(),
|
|
1927
|
+
peer, &peer_endpoint, ec);
|
|
1711
1928
|
boost::asio::detail::throw_error(ec, "accept");
|
|
1712
1929
|
return peer;
|
|
1713
1930
|
}
|
|
@@ -1731,7 +1948,7 @@ public:
|
|
|
1731
1948
|
*
|
|
1732
1949
|
* @par Example
|
|
1733
1950
|
* @code
|
|
1734
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
1951
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1735
1952
|
* ...
|
|
1736
1953
|
* boost::asio::ip::tcp::endpoint endpoint;
|
|
1737
1954
|
* boost::asio::ip::tcp::socket socket(acceptor.accept(endpoint, ec));
|
|
@@ -1741,11 +1958,14 @@ public:
|
|
|
1741
1958
|
* }
|
|
1742
1959
|
* @endcode
|
|
1743
1960
|
*/
|
|
1744
|
-
typename Protocol::socket
|
|
1745
|
-
|
|
1961
|
+
typename Protocol::socket::template rebind_executor<executor_type>::other
|
|
1962
|
+
accept(endpoint_type& peer_endpoint, boost::system::error_code& ec)
|
|
1746
1963
|
{
|
|
1747
|
-
|
|
1748
|
-
|
|
1964
|
+
typename Protocol::socket::template rebind_executor<
|
|
1965
|
+
executor_type>::other peer(impl_.get_executor());
|
|
1966
|
+
impl_.get_service().accept(impl_.get_implementation(),
|
|
1967
|
+
peer, &peer_endpoint, ec);
|
|
1968
|
+
return peer;
|
|
1749
1969
|
}
|
|
1750
1970
|
|
|
1751
1971
|
/// Start an asynchronous accept.
|
|
@@ -1765,13 +1985,16 @@ public:
|
|
|
1765
1985
|
* completes. Copies will be made of the handler as required. The function
|
|
1766
1986
|
* signature of the handler must be:
|
|
1767
1987
|
* @code void handler(
|
|
1768
|
-
*
|
|
1769
|
-
*
|
|
1988
|
+
* // Result of operation.
|
|
1989
|
+
* const boost::system::error_code& error,
|
|
1990
|
+
* // On success, the newly accepted socket.
|
|
1991
|
+
* typename Protocol::socket::template
|
|
1992
|
+
* rebind_executor<executor_type>::other peer
|
|
1770
1993
|
* ); @endcode
|
|
1771
1994
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
1772
|
-
* not, the handler will not be invoked from within this function.
|
|
1773
|
-
* of the handler will be performed in a
|
|
1774
|
-
* boost::asio::
|
|
1995
|
+
* not, the handler will not be invoked from within this function. On
|
|
1996
|
+
* immediate completion, invocation of the handler will be performed in a
|
|
1997
|
+
* manner equivalent to using boost::asio::post().
|
|
1775
1998
|
*
|
|
1776
1999
|
* @par Example
|
|
1777
2000
|
* @code
|
|
@@ -1786,38 +2009,32 @@ public:
|
|
|
1786
2009
|
*
|
|
1787
2010
|
* ...
|
|
1788
2011
|
*
|
|
1789
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
2012
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1790
2013
|
* ...
|
|
1791
2014
|
* boost::asio::ip::tcp::endpoint endpoint;
|
|
1792
2015
|
* acceptor.async_accept(endpoint, accept_handler);
|
|
1793
2016
|
* @endcode
|
|
1794
2017
|
*/
|
|
1795
|
-
template <
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
// If you get an error on the following line it means that your handler does
|
|
1802
|
-
// not meet the documented type requirements for a MoveAcceptHandler.
|
|
1803
|
-
BOOST_ASIO_MOVE_ACCEPT_HANDLER_CHECK(MoveAcceptHandler,
|
|
1804
|
-
handler, typename Protocol::socket) type_check;
|
|
1805
|
-
|
|
1806
|
-
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1807
|
-
return this->get_service().async_accept(this->get_implementation(),
|
|
1808
|
-
static_cast<boost::asio::io_context*>(0), &peer_endpoint,
|
|
1809
|
-
BOOST_ASIO_MOVE_CAST(MoveAcceptHandler)(handler));
|
|
1810
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1811
|
-
async_completion<MoveAcceptHandler,
|
|
2018
|
+
template <
|
|
2019
|
+
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
|
2020
|
+
typename Protocol::socket::template rebind_executor<
|
|
2021
|
+
executor_type>::other)) MoveAcceptHandler
|
|
2022
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
|
2023
|
+
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
|
|
1812
2024
|
void (boost::system::error_code,
|
|
1813
|
-
typename Protocol::socket
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
return
|
|
1820
|
-
|
|
2025
|
+
typename Protocol::socket::template
|
|
2026
|
+
rebind_executor<executor_type>::other))
|
|
2027
|
+
async_accept(endpoint_type& peer_endpoint,
|
|
2028
|
+
BOOST_ASIO_MOVE_ARG(MoveAcceptHandler) handler
|
|
2029
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
|
|
2030
|
+
{
|
|
2031
|
+
return async_initiate<MoveAcceptHandler,
|
|
2032
|
+
void (boost::system::error_code, typename Protocol::socket::template
|
|
2033
|
+
rebind_executor<executor_type>::other)>(
|
|
2034
|
+
initiate_async_move_accept(this), handler,
|
|
2035
|
+
impl_.get_executor(), &peer_endpoint,
|
|
2036
|
+
static_cast<typename Protocol::socket::template
|
|
2037
|
+
rebind_executor<executor_type>::other*>(0));
|
|
1821
2038
|
}
|
|
1822
2039
|
|
|
1823
2040
|
/// Accept a new connection.
|
|
@@ -1829,7 +2046,7 @@ public:
|
|
|
1829
2046
|
* This overload requires that the Protocol template parameter satisfy the
|
|
1830
2047
|
* AcceptableProtocol type requirements.
|
|
1831
2048
|
*
|
|
1832
|
-
* @param
|
|
2049
|
+
* @param ex The I/O executor object to be used for the newly accepted
|
|
1833
2050
|
* socket.
|
|
1834
2051
|
*
|
|
1835
2052
|
* @param peer_endpoint An endpoint object into which the endpoint of the
|
|
@@ -1841,20 +2058,71 @@ public:
|
|
|
1841
2058
|
*
|
|
1842
2059
|
* @par Example
|
|
1843
2060
|
* @code
|
|
1844
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
2061
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
2062
|
+
* ...
|
|
2063
|
+
* boost::asio::ip::tcp::endpoint endpoint;
|
|
2064
|
+
* boost::asio::ip::tcp::socket socket(
|
|
2065
|
+
* acceptor.accept(my_context2, endpoint));
|
|
2066
|
+
* @endcode
|
|
2067
|
+
*/
|
|
2068
|
+
template <typename Executor1>
|
|
2069
|
+
typename Protocol::socket::template rebind_executor<Executor1>::other
|
|
2070
|
+
accept(const Executor1& ex, endpoint_type& peer_endpoint,
|
|
2071
|
+
typename enable_if<
|
|
2072
|
+
is_executor<Executor1>::value
|
|
2073
|
+
|| execution::is_executor<Executor1>::value
|
|
2074
|
+
>::type* = 0)
|
|
2075
|
+
{
|
|
2076
|
+
boost::system::error_code ec;
|
|
2077
|
+
typename Protocol::socket::template
|
|
2078
|
+
rebind_executor<Executor1>::other peer(ex);
|
|
2079
|
+
impl_.get_service().accept(impl_.get_implementation(),
|
|
2080
|
+
peer, &peer_endpoint, ec);
|
|
2081
|
+
boost::asio::detail::throw_error(ec, "accept");
|
|
2082
|
+
return peer;
|
|
2083
|
+
}
|
|
2084
|
+
|
|
2085
|
+
/// Accept a new connection.
|
|
2086
|
+
/**
|
|
2087
|
+
* This function is used to accept a new connection from a peer. The function
|
|
2088
|
+
* call will block until a new connection has been accepted successfully or
|
|
2089
|
+
* an error occurs.
|
|
2090
|
+
*
|
|
2091
|
+
* This overload requires that the Protocol template parameter satisfy the
|
|
2092
|
+
* AcceptableProtocol type requirements.
|
|
2093
|
+
*
|
|
2094
|
+
* @param context The I/O execution context object to be used for the newly
|
|
2095
|
+
* accepted socket.
|
|
2096
|
+
*
|
|
2097
|
+
* @param peer_endpoint An endpoint object into which the endpoint of the
|
|
2098
|
+
* remote peer will be written.
|
|
2099
|
+
*
|
|
2100
|
+
* @returns A socket object representing the newly accepted connection.
|
|
2101
|
+
*
|
|
2102
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
2103
|
+
*
|
|
2104
|
+
* @par Example
|
|
2105
|
+
* @code
|
|
2106
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1845
2107
|
* ...
|
|
1846
2108
|
* boost::asio::ip::tcp::endpoint endpoint;
|
|
1847
2109
|
* boost::asio::ip::tcp::socket socket(
|
|
1848
|
-
* acceptor.accept(
|
|
2110
|
+
* acceptor.accept(my_context2, endpoint));
|
|
1849
2111
|
* @endcode
|
|
1850
2112
|
*/
|
|
1851
|
-
typename
|
|
1852
|
-
|
|
2113
|
+
template <typename ExecutionContext>
|
|
2114
|
+
typename Protocol::socket::template rebind_executor<
|
|
2115
|
+
typename ExecutionContext::executor_type>::other
|
|
2116
|
+
accept(ExecutionContext& context, endpoint_type& peer_endpoint,
|
|
2117
|
+
typename enable_if<
|
|
2118
|
+
is_convertible<ExecutionContext&, execution_context&>::value
|
|
2119
|
+
>::type* = 0)
|
|
1853
2120
|
{
|
|
1854
2121
|
boost::system::error_code ec;
|
|
1855
|
-
typename Protocol::socket
|
|
1856
|
-
|
|
1857
|
-
|
|
2122
|
+
typename Protocol::socket::template rebind_executor<
|
|
2123
|
+
typename ExecutionContext::executor_type>::other peer(context);
|
|
2124
|
+
impl_.get_service().accept(impl_.get_implementation(),
|
|
2125
|
+
peer, &peer_endpoint, ec);
|
|
1858
2126
|
boost::asio::detail::throw_error(ec, "accept");
|
|
1859
2127
|
return peer;
|
|
1860
2128
|
}
|
|
@@ -1868,7 +2136,7 @@ public:
|
|
|
1868
2136
|
* This overload requires that the Protocol template parameter satisfy the
|
|
1869
2137
|
* AcceptableProtocol type requirements.
|
|
1870
2138
|
*
|
|
1871
|
-
* @param
|
|
2139
|
+
* @param ex The I/O executor object to be used for the newly accepted
|
|
1872
2140
|
* socket.
|
|
1873
2141
|
*
|
|
1874
2142
|
* @param peer_endpoint An endpoint object into which the endpoint of the
|
|
@@ -1881,22 +2149,80 @@ public:
|
|
|
1881
2149
|
*
|
|
1882
2150
|
* @par Example
|
|
1883
2151
|
* @code
|
|
1884
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
2152
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1885
2153
|
* ...
|
|
1886
2154
|
* boost::asio::ip::tcp::endpoint endpoint;
|
|
1887
2155
|
* boost::asio::ip::tcp::socket socket(
|
|
1888
|
-
* acceptor.accept(
|
|
2156
|
+
* acceptor.accept(my_context2, endpoint, ec));
|
|
1889
2157
|
* if (ec)
|
|
1890
2158
|
* {
|
|
1891
2159
|
* // An error occurred.
|
|
1892
2160
|
* }
|
|
1893
2161
|
* @endcode
|
|
1894
2162
|
*/
|
|
1895
|
-
typename
|
|
1896
|
-
|
|
2163
|
+
template <typename Executor1>
|
|
2164
|
+
typename Protocol::socket::template rebind_executor<Executor1>::other
|
|
2165
|
+
accept(const executor_type& ex,
|
|
2166
|
+
endpoint_type& peer_endpoint, boost::system::error_code& ec,
|
|
2167
|
+
typename enable_if<
|
|
2168
|
+
is_executor<Executor1>::value
|
|
2169
|
+
|| execution::is_executor<Executor1>::value
|
|
2170
|
+
>::type* = 0)
|
|
2171
|
+
{
|
|
2172
|
+
typename Protocol::socket::template
|
|
2173
|
+
rebind_executor<Executor1>::other peer(ex);
|
|
2174
|
+
impl_.get_service().accept(impl_.get_implementation(),
|
|
2175
|
+
peer, &peer_endpoint, ec);
|
|
2176
|
+
return peer;
|
|
2177
|
+
}
|
|
2178
|
+
|
|
2179
|
+
/// Accept a new connection.
|
|
2180
|
+
/**
|
|
2181
|
+
* This function is used to accept a new connection from a peer. The function
|
|
2182
|
+
* call will block until a new connection has been accepted successfully or
|
|
2183
|
+
* an error occurs.
|
|
2184
|
+
*
|
|
2185
|
+
* This overload requires that the Protocol template parameter satisfy the
|
|
2186
|
+
* AcceptableProtocol type requirements.
|
|
2187
|
+
*
|
|
2188
|
+
* @param context The I/O execution context object to be used for the newly
|
|
2189
|
+
* accepted socket.
|
|
2190
|
+
*
|
|
2191
|
+
* @param peer_endpoint An endpoint object into which the endpoint of the
|
|
2192
|
+
* remote peer will be written.
|
|
2193
|
+
*
|
|
2194
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
2195
|
+
*
|
|
2196
|
+
* @returns On success, a socket object representing the newly accepted
|
|
2197
|
+
* connection. On error, a socket object where is_open() is false.
|
|
2198
|
+
*
|
|
2199
|
+
* @par Example
|
|
2200
|
+
* @code
|
|
2201
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
2202
|
+
* ...
|
|
2203
|
+
* boost::asio::ip::tcp::endpoint endpoint;
|
|
2204
|
+
* boost::asio::ip::tcp::socket socket(
|
|
2205
|
+
* acceptor.accept(my_context2, endpoint, ec));
|
|
2206
|
+
* if (ec)
|
|
2207
|
+
* {
|
|
2208
|
+
* // An error occurred.
|
|
2209
|
+
* }
|
|
2210
|
+
* @endcode
|
|
2211
|
+
*/
|
|
2212
|
+
template <typename ExecutionContext>
|
|
2213
|
+
typename Protocol::socket::template rebind_executor<
|
|
2214
|
+
typename ExecutionContext::executor_type>::other
|
|
2215
|
+
accept(ExecutionContext& context,
|
|
2216
|
+
endpoint_type& peer_endpoint, boost::system::error_code& ec,
|
|
2217
|
+
typename enable_if<
|
|
2218
|
+
is_convertible<ExecutionContext&, execution_context&>::value
|
|
2219
|
+
>::type* = 0)
|
|
1897
2220
|
{
|
|
1898
|
-
|
|
1899
|
-
|
|
2221
|
+
typename Protocol::socket::template rebind_executor<
|
|
2222
|
+
typename ExecutionContext::executor_type>::other peer(context);
|
|
2223
|
+
impl_.get_service().accept(impl_.get_implementation(),
|
|
2224
|
+
peer, &peer_endpoint, ec);
|
|
2225
|
+
return peer;
|
|
1900
2226
|
}
|
|
1901
2227
|
|
|
1902
2228
|
/// Start an asynchronous accept.
|
|
@@ -1907,7 +2233,7 @@ public:
|
|
|
1907
2233
|
* This overload requires that the Protocol template parameter satisfy the
|
|
1908
2234
|
* AcceptableProtocol type requirements.
|
|
1909
2235
|
*
|
|
1910
|
-
* @param
|
|
2236
|
+
* @param ex The I/O executor object to be used for the newly accepted
|
|
1911
2237
|
* socket.
|
|
1912
2238
|
*
|
|
1913
2239
|
* @param peer_endpoint An endpoint object into which the endpoint of the
|
|
@@ -1920,12 +2246,13 @@ public:
|
|
|
1920
2246
|
* signature of the handler must be:
|
|
1921
2247
|
* @code void handler(
|
|
1922
2248
|
* const boost::system::error_code& error, // Result of operation.
|
|
1923
|
-
* typename Protocol::socket
|
|
2249
|
+
* typename Protocol::socket::template rebind_executor<
|
|
2250
|
+
* Executor1>::other peer // On success, the newly accepted socket.
|
|
1924
2251
|
* ); @endcode
|
|
1925
2252
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
1926
|
-
* not, the handler will not be invoked from within this function.
|
|
1927
|
-
* of the handler will be performed in a
|
|
1928
|
-
* boost::asio::
|
|
2253
|
+
* not, the handler will not be invoked from within this function. On
|
|
2254
|
+
* immediate completion, invocation of the handler will be performed in a
|
|
2255
|
+
* manner equivalent to using boost::asio::post().
|
|
1929
2256
|
*
|
|
1930
2257
|
* @par Example
|
|
1931
2258
|
* @code
|
|
@@ -1940,40 +2267,232 @@ public:
|
|
|
1940
2267
|
*
|
|
1941
2268
|
* ...
|
|
1942
2269
|
*
|
|
1943
|
-
* boost::asio::ip::tcp::acceptor acceptor(
|
|
2270
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
1944
2271
|
* ...
|
|
1945
2272
|
* boost::asio::ip::tcp::endpoint endpoint;
|
|
1946
|
-
* acceptor.async_accept(
|
|
2273
|
+
* acceptor.async_accept(my_context2, endpoint, accept_handler);
|
|
1947
2274
|
* @endcode
|
|
1948
2275
|
*/
|
|
1949
|
-
template <typename
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
{
|
|
1956
|
-
// If you get an error on the following line it means that your handler does
|
|
1957
|
-
// not meet the documented type requirements for a MoveAcceptHandler.
|
|
1958
|
-
BOOST_ASIO_MOVE_ACCEPT_HANDLER_CHECK(MoveAcceptHandler,
|
|
1959
|
-
handler, typename Protocol::socket) type_check;
|
|
1960
|
-
|
|
1961
|
-
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1962
|
-
return this->get_service().async_accept(
|
|
1963
|
-
this->get_implementation(), &io_context, &peer_endpoint,
|
|
1964
|
-
BOOST_ASIO_MOVE_CAST(MoveAcceptHandler)(handler));
|
|
1965
|
-
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1966
|
-
async_completion<MoveAcceptHandler,
|
|
2276
|
+
template <typename Executor1,
|
|
2277
|
+
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
|
2278
|
+
typename Protocol::socket::template rebind_executor<
|
|
2279
|
+
Executor1>::other)) MoveAcceptHandler
|
|
2280
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
|
2281
|
+
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
|
|
1967
2282
|
void (boost::system::error_code,
|
|
1968
|
-
typename Protocol::socket
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
2283
|
+
typename Protocol::socket::template rebind_executor<
|
|
2284
|
+
Executor1>::other))
|
|
2285
|
+
async_accept(const Executor1& ex, endpoint_type& peer_endpoint,
|
|
2286
|
+
BOOST_ASIO_MOVE_ARG(MoveAcceptHandler) handler
|
|
2287
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type),
|
|
2288
|
+
typename enable_if<
|
|
2289
|
+
is_executor<Executor1>::value
|
|
2290
|
+
|| execution::is_executor<Executor1>::value
|
|
2291
|
+
>::type* = 0)
|
|
2292
|
+
{
|
|
2293
|
+
typedef typename Protocol::socket::template rebind_executor<
|
|
2294
|
+
Executor1>::other other_socket_type;
|
|
2295
|
+
|
|
2296
|
+
return async_initiate<MoveAcceptHandler,
|
|
2297
|
+
void (boost::system::error_code, other_socket_type)>(
|
|
2298
|
+
initiate_async_move_accept(this), handler,
|
|
2299
|
+
ex, &peer_endpoint,
|
|
2300
|
+
static_cast<other_socket_type*>(0));
|
|
2301
|
+
}
|
|
1972
2302
|
|
|
1973
|
-
|
|
1974
|
-
|
|
2303
|
+
/// Start an asynchronous accept.
|
|
2304
|
+
/**
|
|
2305
|
+
* This function is used to asynchronously accept a new connection. The
|
|
2306
|
+
* function call always returns immediately.
|
|
2307
|
+
*
|
|
2308
|
+
* This overload requires that the Protocol template parameter satisfy the
|
|
2309
|
+
* AcceptableProtocol type requirements.
|
|
2310
|
+
*
|
|
2311
|
+
* @param context The I/O execution context object to be used for the newly
|
|
2312
|
+
* accepted socket.
|
|
2313
|
+
*
|
|
2314
|
+
* @param peer_endpoint An endpoint object into which the endpoint of the
|
|
2315
|
+
* remote peer will be written. Ownership of the peer_endpoint object is
|
|
2316
|
+
* retained by the caller, which must guarantee that it is valid until the
|
|
2317
|
+
* handler is called.
|
|
2318
|
+
*
|
|
2319
|
+
* @param handler The handler to be called when the accept operation
|
|
2320
|
+
* completes. Copies will be made of the handler as required. The function
|
|
2321
|
+
* signature of the handler must be:
|
|
2322
|
+
* @code void handler(
|
|
2323
|
+
* const boost::system::error_code& error, // Result of operation.
|
|
2324
|
+
* typename Protocol::socket::template rebind_executor<
|
|
2325
|
+
* typename ExecutionContext::executor_type>::other peer
|
|
2326
|
+
* // On success, the newly accepted socket.
|
|
2327
|
+
* ); @endcode
|
|
2328
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
|
2329
|
+
* not, the handler will not be invoked from within this function. On
|
|
2330
|
+
* immediate completion, invocation of the handler will be performed in a
|
|
2331
|
+
* manner equivalent to using boost::asio::post().
|
|
2332
|
+
*
|
|
2333
|
+
* @par Example
|
|
2334
|
+
* @code
|
|
2335
|
+
* void accept_handler(const boost::system::error_code& error,
|
|
2336
|
+
* boost::asio::ip::tcp::socket peer)
|
|
2337
|
+
* {
|
|
2338
|
+
* if (!error)
|
|
2339
|
+
* {
|
|
2340
|
+
* // Accept succeeded.
|
|
2341
|
+
* }
|
|
2342
|
+
* }
|
|
2343
|
+
*
|
|
2344
|
+
* ...
|
|
2345
|
+
*
|
|
2346
|
+
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
|
2347
|
+
* ...
|
|
2348
|
+
* boost::asio::ip::tcp::endpoint endpoint;
|
|
2349
|
+
* acceptor.async_accept(my_context2, endpoint, accept_handler);
|
|
2350
|
+
* @endcode
|
|
2351
|
+
*/
|
|
2352
|
+
template <typename ExecutionContext,
|
|
2353
|
+
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
|
2354
|
+
typename Protocol::socket::template rebind_executor<
|
|
2355
|
+
typename ExecutionContext::executor_type>::other)) MoveAcceptHandler
|
|
2356
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
|
2357
|
+
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
|
|
2358
|
+
void (boost::system::error_code,
|
|
2359
|
+
typename Protocol::socket::template rebind_executor<
|
|
2360
|
+
typename ExecutionContext::executor_type>::other))
|
|
2361
|
+
async_accept(ExecutionContext& context,
|
|
2362
|
+
endpoint_type& peer_endpoint,
|
|
2363
|
+
BOOST_ASIO_MOVE_ARG(MoveAcceptHandler) handler
|
|
2364
|
+
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type),
|
|
2365
|
+
typename enable_if<
|
|
2366
|
+
is_convertible<ExecutionContext&, execution_context&>::value
|
|
2367
|
+
>::type* = 0)
|
|
2368
|
+
{
|
|
2369
|
+
typedef typename Protocol::socket::template rebind_executor<
|
|
2370
|
+
typename ExecutionContext::executor_type>::other other_socket_type;
|
|
2371
|
+
|
|
2372
|
+
return async_initiate<MoveAcceptHandler,
|
|
2373
|
+
void (boost::system::error_code, other_socket_type)>(
|
|
2374
|
+
initiate_async_move_accept(this), handler,
|
|
2375
|
+
context.get_executor(), &peer_endpoint,
|
|
2376
|
+
static_cast<other_socket_type*>(0));
|
|
1975
2377
|
}
|
|
1976
2378
|
#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
2379
|
+
|
|
2380
|
+
private:
|
|
2381
|
+
// Disallow copying and assignment.
|
|
2382
|
+
basic_socket_acceptor(const basic_socket_acceptor&) BOOST_ASIO_DELETED;
|
|
2383
|
+
basic_socket_acceptor& operator=(
|
|
2384
|
+
const basic_socket_acceptor&) BOOST_ASIO_DELETED;
|
|
2385
|
+
|
|
2386
|
+
class initiate_async_wait
|
|
2387
|
+
{
|
|
2388
|
+
public:
|
|
2389
|
+
typedef Executor executor_type;
|
|
2390
|
+
|
|
2391
|
+
explicit initiate_async_wait(basic_socket_acceptor* self)
|
|
2392
|
+
: self_(self)
|
|
2393
|
+
{
|
|
2394
|
+
}
|
|
2395
|
+
|
|
2396
|
+
executor_type get_executor() const BOOST_ASIO_NOEXCEPT
|
|
2397
|
+
{
|
|
2398
|
+
return self_->get_executor();
|
|
2399
|
+
}
|
|
2400
|
+
|
|
2401
|
+
template <typename WaitHandler>
|
|
2402
|
+
void operator()(BOOST_ASIO_MOVE_ARG(WaitHandler) handler, wait_type w) const
|
|
2403
|
+
{
|
|
2404
|
+
// If you get an error on the following line it means that your handler
|
|
2405
|
+
// does not meet the documented type requirements for a WaitHandler.
|
|
2406
|
+
BOOST_ASIO_WAIT_HANDLER_CHECK(WaitHandler, handler) type_check;
|
|
2407
|
+
|
|
2408
|
+
detail::non_const_lvalue<WaitHandler> handler2(handler);
|
|
2409
|
+
self_->impl_.get_service().async_wait(
|
|
2410
|
+
self_->impl_.get_implementation(), w,
|
|
2411
|
+
handler2.value, self_->impl_.get_executor());
|
|
2412
|
+
}
|
|
2413
|
+
|
|
2414
|
+
private:
|
|
2415
|
+
basic_socket_acceptor* self_;
|
|
2416
|
+
};
|
|
2417
|
+
|
|
2418
|
+
class initiate_async_accept
|
|
2419
|
+
{
|
|
2420
|
+
public:
|
|
2421
|
+
typedef Executor executor_type;
|
|
2422
|
+
|
|
2423
|
+
explicit initiate_async_accept(basic_socket_acceptor* self)
|
|
2424
|
+
: self_(self)
|
|
2425
|
+
{
|
|
2426
|
+
}
|
|
2427
|
+
|
|
2428
|
+
executor_type get_executor() const BOOST_ASIO_NOEXCEPT
|
|
2429
|
+
{
|
|
2430
|
+
return self_->get_executor();
|
|
2431
|
+
}
|
|
2432
|
+
|
|
2433
|
+
template <typename AcceptHandler, typename Protocol1, typename Executor1>
|
|
2434
|
+
void operator()(BOOST_ASIO_MOVE_ARG(AcceptHandler) handler,
|
|
2435
|
+
basic_socket<Protocol1, Executor1>* peer,
|
|
2436
|
+
endpoint_type* peer_endpoint) const
|
|
2437
|
+
{
|
|
2438
|
+
// If you get an error on the following line it means that your handler
|
|
2439
|
+
// does not meet the documented type requirements for a AcceptHandler.
|
|
2440
|
+
BOOST_ASIO_ACCEPT_HANDLER_CHECK(AcceptHandler, handler) type_check;
|
|
2441
|
+
|
|
2442
|
+
detail::non_const_lvalue<AcceptHandler> handler2(handler);
|
|
2443
|
+
self_->impl_.get_service().async_accept(
|
|
2444
|
+
self_->impl_.get_implementation(), *peer, peer_endpoint,
|
|
2445
|
+
handler2.value, self_->impl_.get_executor());
|
|
2446
|
+
}
|
|
2447
|
+
|
|
2448
|
+
private:
|
|
2449
|
+
basic_socket_acceptor* self_;
|
|
2450
|
+
};
|
|
2451
|
+
|
|
2452
|
+
class initiate_async_move_accept
|
|
2453
|
+
{
|
|
2454
|
+
public:
|
|
2455
|
+
typedef Executor executor_type;
|
|
2456
|
+
|
|
2457
|
+
explicit initiate_async_move_accept(basic_socket_acceptor* self)
|
|
2458
|
+
: self_(self)
|
|
2459
|
+
{
|
|
2460
|
+
}
|
|
2461
|
+
|
|
2462
|
+
executor_type get_executor() const BOOST_ASIO_NOEXCEPT
|
|
2463
|
+
{
|
|
2464
|
+
return self_->get_executor();
|
|
2465
|
+
}
|
|
2466
|
+
|
|
2467
|
+
template <typename MoveAcceptHandler, typename Executor1, typename Socket>
|
|
2468
|
+
void operator()(BOOST_ASIO_MOVE_ARG(MoveAcceptHandler) handler,
|
|
2469
|
+
const Executor1& peer_ex, endpoint_type* peer_endpoint, Socket*) const
|
|
2470
|
+
{
|
|
2471
|
+
// If you get an error on the following line it means that your handler
|
|
2472
|
+
// does not meet the documented type requirements for a MoveAcceptHandler.
|
|
2473
|
+
BOOST_ASIO_MOVE_ACCEPT_HANDLER_CHECK(
|
|
2474
|
+
MoveAcceptHandler, handler, Socket) type_check;
|
|
2475
|
+
|
|
2476
|
+
detail::non_const_lvalue<MoveAcceptHandler> handler2(handler);
|
|
2477
|
+
self_->impl_.get_service().async_move_accept(
|
|
2478
|
+
self_->impl_.get_implementation(), peer_ex, peer_endpoint,
|
|
2479
|
+
handler2.value, self_->impl_.get_executor());
|
|
2480
|
+
}
|
|
2481
|
+
|
|
2482
|
+
private:
|
|
2483
|
+
basic_socket_acceptor* self_;
|
|
2484
|
+
};
|
|
2485
|
+
|
|
2486
|
+
#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
|
|
2487
|
+
detail::io_object_impl<
|
|
2488
|
+
detail::null_socket_service<Protocol>, Executor> impl_;
|
|
2489
|
+
#elif defined(BOOST_ASIO_HAS_IOCP)
|
|
2490
|
+
detail::io_object_impl<
|
|
2491
|
+
detail::win_iocp_socket_service<Protocol>, Executor> impl_;
|
|
2492
|
+
#else
|
|
2493
|
+
detail::io_object_impl<
|
|
2494
|
+
detail::reactive_socket_service<Protocol>, Executor> impl_;
|
|
2495
|
+
#endif
|
|
1977
2496
|
};
|
|
1978
2497
|
|
|
1979
2498
|
} // namespace asio
|
|
@@ -1981,8 +2500,4 @@ public:
|
|
|
1981
2500
|
|
|
1982
2501
|
#include <boost/asio/detail/pop_options.hpp>
|
|
1983
2502
|
|
|
1984
|
-
#if !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1985
|
-
# undef BOOST_ASIO_SVC_T
|
|
1986
|
-
#endif // !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1987
|
-
|
|
1988
2503
|
#endif // BOOST_ASIO_BASIC_SOCKET_ACCEPTOR_HPP
|