passenger 5.3.3 → 5.3.4
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 +8 -0
- data/build/support/cxx_dependency_map.rb +151 -83
- data/dev/configkit-schemas/index.json +3 -3
- data/src/agent/Core/AdminPanelConnector.h +5 -3
- data/src/agent/Core/ApplicationPool/Common.h +1 -2
- data/src/agent/Core/ApplicationPool/Context.h +1 -2
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +2 -2
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +2 -2
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller.h +2 -1
- data/src/agent/Core/Controller/Config.h +6 -5
- data/src/agent/Core/Controller/Hooks.cpp +11 -0
- data/src/agent/Core/Controller/SendRequest.cpp +7 -7
- data/src/agent/Core/CoreMain.cpp +0 -2
- data/src/agent/Core/SpawningKit/Context.h +1 -3
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +2 -2
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +2 -2
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +17 -38
- data/src/agent/Core/SpawningKit/PipeWatcher.h +5 -3
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +13 -5
- data/src/agent/Shared/ApiServerUtils.h +2 -2
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +33 -18
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +20 -20
- data/src/apache2_module/Config.cpp +7 -6
- data/src/cxx_supportlib/ConfigKit/Store.h +2 -2
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/Exceptions.h +0 -1
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +3 -2
- data/src/cxx_supportlib/ResourceLocator.h +3 -21
- data/src/cxx_supportlib/SafeLibev.h +6 -6
- data/src/cxx_supportlib/ServerKit/Channel.h +2 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +3 -3
- data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpServer.h +27 -15
- data/src/cxx_supportlib/ServerKit/Server.h +2 -2
- data/src/cxx_supportlib/SystemTools/README.md +1 -0
- data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +222 -0
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +151 -0
- data/src/cxx_supportlib/Utils.cpp +1 -113
- data/src/cxx_supportlib/Utils.h +1 -29
- data/src/cxx_supportlib/Utils/MessagePassing.h +3 -3
- data/src/cxx_supportlib/WatchdogLauncher.h +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/case_conv.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/util.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +31 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +151 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +149 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +140 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +145 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +75 -41
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +139 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +98 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +42 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +45 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +349 -109
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +959 -108
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +198 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +424 -284
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +116 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +99 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +235 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +613 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +1139 -1216
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +27 -14
- 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 +26 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +27 -14
- 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 +61 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +462 -226
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/datagram_socket_service.hpp +94 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer_service.hpp +20 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +109 -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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +404 -77
- 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 +212 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +68 -0
- 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 +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +94 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +151 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +398 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +287 -165
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +15 -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 +65 -14
- 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 +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +27 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +41 -17
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +86 -0
- 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/{function.hpp → functional.hpp} +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +158 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +90 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +117 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +97 -0
- 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 +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +24 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +34 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +152 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +80 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +19 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +93 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +76 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +13 -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 +11 -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 +27 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_serial_port_service.ipp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +43 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +54 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/{task_io_service.ipp → scheduler.ipp} +167 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +46 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +36 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +39 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +43 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +129 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +15 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +12 -5
- 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 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +241 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +128 -0
- 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 +36 -14
- 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 +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +42 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +1 -1
- 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 +17 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +61 -0
- 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 +10 -9
- 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 +29 -19
- 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 +7 -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 +26 -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 +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +37 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +82 -0
- 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 +5 -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 +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +86 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +9 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_serial_port_service.hpp +10 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +101 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +20 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +13 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +25 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +99 -31
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +96 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +7 -3
- 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 +106 -0
- 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 +25 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +6 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +38 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +30 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/{task_io_service.hpp → scheduler.hpp} +57 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/{task_io_service_operation.hpp → scheduler_operation.hpp} +19 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/{task_io_service_thread_info.hpp → scheduler_thread_info.hpp} +10 -10
- 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 +9 -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 +37 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +54 -34
- 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 +9 -5
- 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 +14 -13
- 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 +9 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +2 -1
- 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 +1 -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 +72 -0
- 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 +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +144 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +45 -15
- 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 +29 -2
- 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 +11 -5
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +2 -2
- 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 +29 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +74 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +8 -6
- 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 +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +413 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +343 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +172 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +228 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detached.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_spawn.hpp +878 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/detached.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/redirect_error.hpp +296 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/redirect_error.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +1 -1
- 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 +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +1 -1
- 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 +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_type.hpp +11 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +4 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +86 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +92 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +549 -119
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +80 -0
- 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 +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +388 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +7 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +347 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +176 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +341 -379
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +173 -343
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +559 -206
- 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 +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +254 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +129 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +78 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +855 -94
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +358 -449
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +165 -418
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +878 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +386 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +6 -743
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +79 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +111 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +164 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +104 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +185 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +821 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +23 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +31 -99
- 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 +313 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +5 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +16 -19
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +28 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +55 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +28 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +76 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +28 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +85 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +2 -14
- 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 +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +218 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +187 -0
- 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 +263 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +3 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_service.hpp +48 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +1 -1
- 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_executor.hpp +48 -0
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +23 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +128 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +30 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +138 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +646 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +17 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +326 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor_service.hpp +63 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/raw_socket_service.hpp +94 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +328 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +1148 -247
- data/src/cxx_supportlib/vendor-modified/boost/asio/seq_packet_socket_service.hpp +88 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +736 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_service.hpp +41 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +422 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_service.hpp +32 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_acceptor_service.hpp +114 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +85 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +89 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +33 -62
- 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 +27 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +10 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +22 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +40 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +27 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +8 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +86 -102
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +7 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +7 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +90 -85
- 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 +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +4 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +209 -175
- data/src/cxx_supportlib/vendor-modified/boost/asio/stream_socket_service.hpp +88 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +4 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +234 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +199 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +70 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/waitable_timer_service.hpp +62 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_handle.hpp +22 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +14 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +346 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle_service.hpp +26 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +333 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +344 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle_service.hpp +31 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +328 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle_service.hpp +29 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +321 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/capabilities.hpp +50 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_template.hpp +688 -220
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +25 -21
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_arm.hpp +1 -18
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_atomic.hpp +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sync.hpp +7 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +1 -36
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +108 -34
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_operations.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_operations_fwd.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +189 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_operations.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_operations_fwd.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +238 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +1111 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +840 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +1656 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +402 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +106 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +1301 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +142 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_operations.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_operations_fwd.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_arm.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_ppc.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_x86.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_extend.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +35 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_lockfree.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_cas_based.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +8 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_extending_cas_based.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_alpha.hpp +14 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm.hpp +548 -126
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +134 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +36 -44
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc.hpp +524 -96
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sparc.hpp +14 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sync.hpp +27 -59
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +104 -57
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +268 -340
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_linux_arm.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_arm.hpp +22 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_x86.hpp +55 -80
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +88 -46
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_type.hpp +30 -103
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/string_ops.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_cc.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +36 -36
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +0 -10
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +28 -30
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_get.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_units.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io_v1/chrono_io.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/process_cpu_clocks.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/time_point.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/config.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +26 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +30 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +32 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/diab.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +33 -6
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +28 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pgi.hpp +8 -142
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +14 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +37 -9
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/{posix_features.hpp → detail/posix_features.hpp} +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/{select_compiler_config.hpp → detail/select_compiler_config.hpp} +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/{select_platform_config.hpp → detail/select_platform_config.hpp} +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/{select_stdlib_config.hpp → detail/select_stdlib_config.hpp} +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/{suffix.hpp → detail/suffix.hpp} +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/config/header_deprecated.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/helper_macros.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/aix.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/beos.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/bsd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cray.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/haiku.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/hpux.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/irix.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/linux.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/macos.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/qnxnto.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/solaris.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/symbian.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/vxworks.hpp +155 -91
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/zos.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/pragma_message.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +21 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/xlcpp_zos.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +279 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +58 -58
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +7 -28
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +57 -57
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/addressof.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +122 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +258 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +119 -134
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +55 -55
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +714 -282
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_sorted.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator_to_raw_pointer.hpp +4 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/min_max.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +37 -35
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +41 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +69 -16
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair_key_mapped_of_value.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/singleton.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +180 -116
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_functors.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +874 -572
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +497 -248
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -42
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +326 -246
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +122 -78
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +165 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_map.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/map.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/set.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +285 -110
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +35 -53
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +25 -25
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +24 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +194 -142
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +395 -421
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/detail/float_functions.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/detail/hash_float.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/detail/limits.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/extensions.hpp +112 -16
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/hash.hpp +195 -7
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/hash_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +53 -44
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +80 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/no_exceptions_support.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/pointer_traits.hpp +233 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/cstdint.hpp +26 -16
- data/src/cxx_supportlib/vendor-modified/boost/date_time/adjust_functors.hpp +20 -34
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_local_time_adjustor.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting_locales.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_rules.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/filetime_functions.hpp +8 -94
- data/src/cxx_supportlib/vendor-modified/boost/date_time/format_date_parser.hpp +1 -8
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_facet.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian_io.hpp +52 -52
- data/src/cxx_supportlib/vendor-modified/boost/date_time/int_adapter.hpp +14 -27
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/custom_time_zone.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/locale_config.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/microsec_time_clock.hpp +36 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period_formatter.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/conversion.hpp +10 -12
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +18 -10
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_io.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_serialize.hpp +65 -20
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_parser.hpp +32 -23
- data/src/cxx_supportlib/vendor-modified/boost/date_time/string_parse_tree.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_resolution_traits.hpp +31 -8
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_split.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/tz_db_base.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/workaround.hpp +2 -264
- data/src/cxx_supportlib/vendor-modified/boost/enable_shared_from_this.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +38 -21
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +13 -47
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +508 -390
- data/src/cxx_supportlib/vendor-modified/boost/integer/integer_mask.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/integer_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +11 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +7 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +108 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_to_value.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +147 -64
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +8 -10
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +36 -92
- data/src/cxx_supportlib/vendor-modified/boost/make_shared.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +57 -3
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/sign.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +40 -9
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +253 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +563 -4
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +324 -1071
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/insertion_sort.hpp +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/is_sorted.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +59 -143
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge_sort.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/pdqsort.hpp +334 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/set_difference.hpp +207 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/unique.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +1 -9
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/destruct_n.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/{intrusive → move}/detail/pointer_element.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +19 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/get_tag.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +85 -55
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/conversion_traits.hpp +0 -7
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/converter.hpp +4 -13
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +26 -7
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +98 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +17 -21
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +25 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +499 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +126 -21
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/pointer_cast.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/pointer_to_other.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm.h +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/cloudabi.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/android.h +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/workaround.h +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/cloudabi.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/ios.h +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw32.h +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw64.h +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_desktop.h +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_phone.h +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_runtime.h +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_server.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_store.h +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_system.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_uwp.h +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +11 -9
- data/src/cxx_supportlib/vendor-modified/boost/random/binomial_distribution.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/vector_io.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/random/independent_bits.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/linear_congruential.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/poisson_distribution.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/uniform_on_sphere.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +56 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +37 -13
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +9 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/scoped_array.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/scoped_ptr.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/shared_array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/shared_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +333 -656
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/operator_bool.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +15 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_noexcept.hpp +21 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +26 -26
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ref_counter.hpp +17 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +11 -12
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +15 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +135 -90
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +23 -23
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +140 -111
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +297 -49
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_bounded_queue.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_deque.hpp +5 -7
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_priority_queue.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_queue.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +118 -183
- data/src/cxx_supportlib/vendor-modified/boost/{detail → thread/detail}/atomic_redef_macros.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/{detail → thread/detail}/atomic_undef_macros.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +62 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/log.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/platform.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/platform_time.hpp +478 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +51 -85
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +11 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/detail/priority_executor_base.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduled_thread_pool.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduler.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduling_adaptor.hpp +15 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +320 -92
- data/src/cxx_supportlib/vendor-modified/boost/thread/once.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +187 -112
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +137 -164
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +67 -37
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_helpers.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +15 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +65 -33
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +84 -158
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +143 -35
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_heap_alloc.hpp +32 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/shared_mutex.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_only.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +579 -589
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/token_iterator.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +8 -8
- 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 +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +5 -8
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_const.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_cv.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_lvalue_reference.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_pointer.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_reference.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_rvalue_reference.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_volatile.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/common_type.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/conditional.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_cv.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/decay.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_binary_operator.hpp +71 -14
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_helper.hpp +370 -102
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +94 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +1177 -572
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/floating_point_promotion.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_equal_to.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater_equal.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less_equal.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +95 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_not_equal_to.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_destructor.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_promotion.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_assignable.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complex.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_constructible.hpp +12 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +20 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +16 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_list_constructible.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +14 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_swappable.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_signed.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_unsigned.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/promote.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_bounds.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv_ref.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_pointer.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_reference.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_identity.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +5 -85
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +24 -14
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +18 -12
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +4018 -4052
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +57 -97
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +56 -95
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +2150 -1777
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +41 -38
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +1630 -1420
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +40 -37
- data/src/cxx_supportlib/vendor-modified/boost/utility.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_iterate.hpp +14 -17
- data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +44 -20
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/weak_ptr.hpp +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +8 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +7 -1
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +4 -4
- metadata +201 -47
- data/src/cxx_supportlib/ConfigKit/VariantMapUtils.h +0 -96
- data/src/cxx_supportlib/MessageClient.h +0 -309
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/addressof.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/task_io_service.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/shared_ptr.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/weak_ptr.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/win_iocp_serial_port_service.hpp +0 -230
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_service.hpp +0 -156
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_service.ipp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/basic_context.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_service.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/basic_context.hpp +0 -436
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/context_service.hpp +0 -176
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_context_service.hpp +0 -396
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_operation.hpp +0 -526
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_stream_service.hpp +0 -573
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/stream.hpp +0 -503
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/stream_service.hpp +0 -186
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_service.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/to_raw_pointer.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/to_raw_pointer.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/iterator.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex_assert.hpp +0 -724
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/timespec.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/thread.hpp +0 -155
- data/src/cxx_supportlib/vendor-modified/boost/utility/empty_deleter.hpp +0 -43
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// impl/buffered_write_stream.hpp
|
|
3
3
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
4
4
|
//
|
|
5
|
-
// Copyright (c) 2003-
|
|
5
|
+
// Copyright (c) 2003-2018 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)
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
# pragma once
|
|
16
16
|
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
|
17
17
|
|
|
18
|
+
#include <boost/asio/associated_allocator.hpp>
|
|
19
|
+
#include <boost/asio/associated_executor.hpp>
|
|
18
20
|
#include <boost/asio/detail/handler_alloc_helpers.hpp>
|
|
19
21
|
#include <boost/asio/detail/handler_cont_helpers.hpp>
|
|
20
22
|
#include <boost/asio/detail/handler_invoke_helpers.hpp>
|
|
@@ -53,7 +55,7 @@ namespace detail
|
|
|
53
55
|
buffered_flush_handler(detail::buffered_stream_storage& storage,
|
|
54
56
|
WriteHandler& handler)
|
|
55
57
|
: storage_(storage),
|
|
56
|
-
handler_(handler)
|
|
58
|
+
handler_(BOOST_ASIO_MOVE_CAST(WriteHandler)(handler))
|
|
57
59
|
{
|
|
58
60
|
}
|
|
59
61
|
|
|
@@ -122,7 +124,37 @@ namespace detail
|
|
|
122
124
|
boost_asio_handler_invoke_helpers::invoke(
|
|
123
125
|
function, this_handler->handler_);
|
|
124
126
|
}
|
|
125
|
-
}
|
|
127
|
+
} // namespace detail
|
|
128
|
+
|
|
129
|
+
#if !defined(GENERATING_DOCUMENTATION)
|
|
130
|
+
|
|
131
|
+
template <typename WriteHandler, typename Allocator>
|
|
132
|
+
struct associated_allocator<
|
|
133
|
+
detail::buffered_flush_handler<WriteHandler>, Allocator>
|
|
134
|
+
{
|
|
135
|
+
typedef typename associated_allocator<WriteHandler, Allocator>::type type;
|
|
136
|
+
|
|
137
|
+
static type get(const detail::buffered_flush_handler<WriteHandler>& h,
|
|
138
|
+
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
|
139
|
+
{
|
|
140
|
+
return associated_allocator<WriteHandler, Allocator>::get(h.handler_, a);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
template <typename WriteHandler, typename Executor>
|
|
145
|
+
struct associated_executor<
|
|
146
|
+
detail::buffered_flush_handler<WriteHandler>, Executor>
|
|
147
|
+
{
|
|
148
|
+
typedef typename associated_executor<WriteHandler, Executor>::type type;
|
|
149
|
+
|
|
150
|
+
static type get(const detail::buffered_flush_handler<WriteHandler>& h,
|
|
151
|
+
const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
|
|
152
|
+
{
|
|
153
|
+
return associated_executor<WriteHandler, Executor>::get(h.handler_, ex);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
#endif // !defined(GENERATING_DOCUMENTATION)
|
|
126
158
|
|
|
127
159
|
template <typename Stream>
|
|
128
160
|
template <typename WriteHandler>
|
|
@@ -135,14 +167,13 @@ buffered_write_stream<Stream>::async_flush(
|
|
|
135
167
|
// not meet the documented type requirements for a WriteHandler.
|
|
136
168
|
BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check;
|
|
137
169
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
BOOST_ASIO_MOVE_CAST(WriteHandler)(handler));
|
|
170
|
+
async_completion<WriteHandler,
|
|
171
|
+
void (boost::system::error_code, std::size_t)> init(handler);
|
|
141
172
|
|
|
142
173
|
async_write(next_layer_, buffer(storage_.data(), storage_.size()),
|
|
143
174
|
detail::buffered_flush_handler<BOOST_ASIO_HANDLER_TYPE(
|
|
144
175
|
WriteHandler, void (boost::system::error_code, std::size_t))>(
|
|
145
|
-
storage_, init.
|
|
176
|
+
storage_, init.completion_handler));
|
|
146
177
|
|
|
147
178
|
return init.result.get();
|
|
148
179
|
}
|
|
@@ -152,7 +183,8 @@ template <typename ConstBufferSequence>
|
|
|
152
183
|
std::size_t buffered_write_stream<Stream>::write_some(
|
|
153
184
|
const ConstBufferSequence& buffers)
|
|
154
185
|
{
|
|
155
|
-
|
|
186
|
+
using boost::asio::buffer_size;
|
|
187
|
+
if (buffer_size(buffers) == 0)
|
|
156
188
|
return 0;
|
|
157
189
|
|
|
158
190
|
if (storage_.size() == storage_.capacity())
|
|
@@ -168,7 +200,8 @@ std::size_t buffered_write_stream<Stream>::write_some(
|
|
|
168
200
|
{
|
|
169
201
|
ec = boost::system::error_code();
|
|
170
202
|
|
|
171
|
-
|
|
203
|
+
using boost::asio::buffer_size;
|
|
204
|
+
if (buffer_size(buffers) == 0)
|
|
172
205
|
return 0;
|
|
173
206
|
|
|
174
207
|
if (storage_.size() == storage_.capacity() && !flush(ec))
|
|
@@ -187,7 +220,7 @@ namespace detail
|
|
|
187
220
|
const ConstBufferSequence& buffers, WriteHandler& handler)
|
|
188
221
|
: storage_(storage),
|
|
189
222
|
buffers_(buffers),
|
|
190
|
-
handler_(handler)
|
|
223
|
+
handler_(BOOST_ASIO_MOVE_CAST(WriteHandler)(handler))
|
|
191
224
|
{
|
|
192
225
|
}
|
|
193
226
|
|
|
@@ -216,9 +249,10 @@ namespace detail
|
|
|
216
249
|
}
|
|
217
250
|
else
|
|
218
251
|
{
|
|
252
|
+
using boost::asio::buffer_size;
|
|
219
253
|
std::size_t orig_size = storage_.size();
|
|
220
254
|
std::size_t space_avail = storage_.capacity() - orig_size;
|
|
221
|
-
std::size_t bytes_avail =
|
|
255
|
+
std::size_t bytes_avail = buffer_size(buffers_);
|
|
222
256
|
std::size_t length = bytes_avail < space_avail
|
|
223
257
|
? bytes_avail : space_avail;
|
|
224
258
|
storage_.resize(orig_size + length);
|
|
@@ -282,6 +316,44 @@ namespace detail
|
|
|
282
316
|
}
|
|
283
317
|
} // namespace detail
|
|
284
318
|
|
|
319
|
+
#if !defined(GENERATING_DOCUMENTATION)
|
|
320
|
+
|
|
321
|
+
template <typename ConstBufferSequence,
|
|
322
|
+
typename WriteHandler, typename Allocator>
|
|
323
|
+
struct associated_allocator<
|
|
324
|
+
detail::buffered_write_some_handler<ConstBufferSequence, WriteHandler>,
|
|
325
|
+
Allocator>
|
|
326
|
+
{
|
|
327
|
+
typedef typename associated_allocator<WriteHandler, Allocator>::type type;
|
|
328
|
+
|
|
329
|
+
static type get(
|
|
330
|
+
const detail::buffered_write_some_handler<
|
|
331
|
+
ConstBufferSequence, WriteHandler>& h,
|
|
332
|
+
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
|
333
|
+
{
|
|
334
|
+
return associated_allocator<WriteHandler, Allocator>::get(h.handler_, a);
|
|
335
|
+
}
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
template <typename ConstBufferSequence,
|
|
339
|
+
typename WriteHandler, typename Executor>
|
|
340
|
+
struct associated_executor<
|
|
341
|
+
detail::buffered_write_some_handler<ConstBufferSequence, WriteHandler>,
|
|
342
|
+
Executor>
|
|
343
|
+
{
|
|
344
|
+
typedef typename associated_executor<WriteHandler, Executor>::type type;
|
|
345
|
+
|
|
346
|
+
static type get(
|
|
347
|
+
const detail::buffered_write_some_handler<
|
|
348
|
+
ConstBufferSequence, WriteHandler>& h,
|
|
349
|
+
const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
|
|
350
|
+
{
|
|
351
|
+
return associated_executor<WriteHandler, Executor>::get(h.handler_, ex);
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
#endif // !defined(GENERATING_DOCUMENTATION)
|
|
356
|
+
|
|
285
357
|
template <typename Stream>
|
|
286
358
|
template <typename ConstBufferSequence, typename WriteHandler>
|
|
287
359
|
BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
|
|
@@ -294,25 +366,25 @@ buffered_write_stream<Stream>::async_write_some(
|
|
|
294
366
|
// not meet the documented type requirements for a WriteHandler.
|
|
295
367
|
BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check;
|
|
296
368
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
BOOST_ASIO_MOVE_CAST(WriteHandler)(handler));
|
|
369
|
+
async_completion<WriteHandler,
|
|
370
|
+
void (boost::system::error_code, std::size_t)> init(handler);
|
|
300
371
|
|
|
301
|
-
|
|
372
|
+
using boost::asio::buffer_size;
|
|
373
|
+
if (buffer_size(buffers) == 0
|
|
302
374
|
|| storage_.size() < storage_.capacity())
|
|
303
375
|
{
|
|
304
|
-
next_layer_.async_write_some(
|
|
376
|
+
next_layer_.async_write_some(BOOST_ASIO_CONST_BUFFER(0, 0),
|
|
305
377
|
detail::buffered_write_some_handler<
|
|
306
378
|
ConstBufferSequence, BOOST_ASIO_HANDLER_TYPE(
|
|
307
379
|
WriteHandler, void (boost::system::error_code, std::size_t))>(
|
|
308
|
-
storage_, buffers, init.
|
|
380
|
+
storage_, buffers, init.completion_handler));
|
|
309
381
|
}
|
|
310
382
|
else
|
|
311
383
|
{
|
|
312
384
|
this->async_flush(detail::buffered_write_some_handler<
|
|
313
385
|
ConstBufferSequence, BOOST_ASIO_HANDLER_TYPE(
|
|
314
386
|
WriteHandler, void (boost::system::error_code, std::size_t))>(
|
|
315
|
-
storage_, buffers, init.
|
|
387
|
+
storage_, buffers, init.completion_handler));
|
|
316
388
|
}
|
|
317
389
|
|
|
318
390
|
return init.result.get();
|
|
@@ -323,9 +395,10 @@ template <typename ConstBufferSequence>
|
|
|
323
395
|
std::size_t buffered_write_stream<Stream>::copy(
|
|
324
396
|
const ConstBufferSequence& buffers)
|
|
325
397
|
{
|
|
398
|
+
using boost::asio::buffer_size;
|
|
326
399
|
std::size_t orig_size = storage_.size();
|
|
327
400
|
std::size_t space_avail = storage_.capacity() - orig_size;
|
|
328
|
-
std::size_t bytes_avail =
|
|
401
|
+
std::size_t bytes_avail = buffer_size(buffers);
|
|
329
402
|
std::size_t length = bytes_avail < space_avail ? bytes_avail : space_avail;
|
|
330
403
|
storage_.resize(orig_size + length);
|
|
331
404
|
return boost::asio::buffer_copy(
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// impl/connect.hpp
|
|
3
3
|
// ~~~~~~~~~~~~~~~~
|
|
4
4
|
//
|
|
5
|
-
// Copyright (c) 2003-
|
|
5
|
+
// Copyright (c) 2003-2018 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)
|
|
@@ -15,14 +15,17 @@
|
|
|
15
15
|
# pragma once
|
|
16
16
|
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
|
17
17
|
|
|
18
|
+
#include <algorithm>
|
|
19
|
+
#include <boost/asio/associated_allocator.hpp>
|
|
20
|
+
#include <boost/asio/associated_executor.hpp>
|
|
18
21
|
#include <boost/asio/detail/bind_handler.hpp>
|
|
19
|
-
#include <boost/asio/detail/consuming_buffers.hpp>
|
|
20
22
|
#include <boost/asio/detail/handler_alloc_helpers.hpp>
|
|
21
23
|
#include <boost/asio/detail/handler_cont_helpers.hpp>
|
|
22
24
|
#include <boost/asio/detail/handler_invoke_helpers.hpp>
|
|
23
25
|
#include <boost/asio/detail/handler_type_requirements.hpp>
|
|
24
26
|
#include <boost/asio/detail/throw_error.hpp>
|
|
25
27
|
#include <boost/asio/error.hpp>
|
|
28
|
+
#include <boost/asio/post.hpp>
|
|
26
29
|
|
|
27
30
|
#include <boost/asio/detail/push_options.hpp>
|
|
28
31
|
|
|
@@ -33,16 +36,100 @@ namespace detail
|
|
|
33
36
|
{
|
|
34
37
|
struct default_connect_condition
|
|
35
38
|
{
|
|
36
|
-
template <typename
|
|
37
|
-
|
|
39
|
+
template <typename Endpoint>
|
|
40
|
+
bool operator()(const boost::system::error_code&, const Endpoint&)
|
|
38
41
|
{
|
|
39
|
-
return
|
|
42
|
+
return true;
|
|
40
43
|
}
|
|
41
44
|
};
|
|
45
|
+
|
|
46
|
+
template <typename Protocol, typename Iterator>
|
|
47
|
+
inline typename Protocol::endpoint deref_connect_result(
|
|
48
|
+
Iterator iter, boost::system::error_code& ec)
|
|
49
|
+
{
|
|
50
|
+
return ec ? typename Protocol::endpoint() : *iter;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
template <typename T, typename Iterator>
|
|
54
|
+
struct legacy_connect_condition_helper : T
|
|
55
|
+
{
|
|
56
|
+
typedef char (*fallback_func_type)(...);
|
|
57
|
+
operator fallback_func_type() const;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
template <typename R, typename Arg1, typename Arg2, typename Iterator>
|
|
61
|
+
struct legacy_connect_condition_helper<R (*)(Arg1, Arg2), Iterator>
|
|
62
|
+
{
|
|
63
|
+
R operator()(Arg1, Arg2) const;
|
|
64
|
+
char operator()(...) const;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
template <typename T, typename Iterator>
|
|
68
|
+
struct is_legacy_connect_condition
|
|
69
|
+
{
|
|
70
|
+
static char asio_connect_condition_check(char);
|
|
71
|
+
static char (&asio_connect_condition_check(Iterator))[2];
|
|
72
|
+
|
|
73
|
+
static const bool value =
|
|
74
|
+
sizeof(asio_connect_condition_check(
|
|
75
|
+
(*static_cast<legacy_connect_condition_helper<T, Iterator>*>(0))(
|
|
76
|
+
*static_cast<const boost::system::error_code*>(0),
|
|
77
|
+
*static_cast<const Iterator*>(0)))) != 1;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
template <typename ConnectCondition, typename Iterator>
|
|
81
|
+
inline Iterator call_connect_condition(ConnectCondition& connect_condition,
|
|
82
|
+
const boost::system::error_code& ec, Iterator next, Iterator end,
|
|
83
|
+
typename enable_if<is_legacy_connect_condition<
|
|
84
|
+
ConnectCondition, Iterator>::value>::type* = 0)
|
|
85
|
+
{
|
|
86
|
+
if (next != end)
|
|
87
|
+
return connect_condition(ec, next);
|
|
88
|
+
return end;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
template <typename ConnectCondition, typename Iterator>
|
|
92
|
+
inline Iterator call_connect_condition(ConnectCondition& connect_condition,
|
|
93
|
+
const boost::system::error_code& ec, Iterator next, Iterator end,
|
|
94
|
+
typename enable_if<!is_legacy_connect_condition<
|
|
95
|
+
ConnectCondition, Iterator>::value>::type* = 0)
|
|
96
|
+
{
|
|
97
|
+
for (;next != end; ++next)
|
|
98
|
+
if (connect_condition(ec, *next))
|
|
99
|
+
return next;
|
|
100
|
+
return end;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename EndpointSequence>
|
|
105
|
+
typename Protocol::endpoint connect(
|
|
106
|
+
basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
107
|
+
const EndpointSequence& endpoints,
|
|
108
|
+
typename enable_if<is_endpoint_sequence<
|
|
109
|
+
EndpointSequence>::value>::type*)
|
|
110
|
+
{
|
|
111
|
+
boost::system::error_code ec;
|
|
112
|
+
typename Protocol::endpoint result = connect(s, endpoints, ec);
|
|
113
|
+
boost::asio::detail::throw_error(ec, "connect");
|
|
114
|
+
return result;
|
|
42
115
|
}
|
|
43
116
|
|
|
44
|
-
template <typename Protocol
|
|
45
|
-
|
|
117
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename EndpointSequence>
|
|
118
|
+
typename Protocol::endpoint connect(
|
|
119
|
+
basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
120
|
+
const EndpointSequence& endpoints, boost::system::error_code& ec,
|
|
121
|
+
typename enable_if<is_endpoint_sequence<
|
|
122
|
+
EndpointSequence>::value>::type*)
|
|
123
|
+
{
|
|
124
|
+
return detail::deref_connect_result<Protocol>(
|
|
125
|
+
connect(s, endpoints.begin(), endpoints.end(),
|
|
126
|
+
detail::default_connect_condition(), ec), ec);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
130
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator>
|
|
131
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s, Iterator begin,
|
|
132
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type*)
|
|
46
133
|
{
|
|
47
134
|
boost::system::error_code ec;
|
|
48
135
|
Iterator result = connect(s, begin, ec);
|
|
@@ -50,15 +137,17 @@ Iterator connect(basic_socket<Protocol, SocketService>& s, Iterator begin)
|
|
|
50
137
|
return result;
|
|
51
138
|
}
|
|
52
139
|
|
|
53
|
-
template <typename Protocol
|
|
54
|
-
inline Iterator connect(basic_socket<Protocol
|
|
55
|
-
Iterator begin, boost::system::error_code& ec
|
|
140
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator>
|
|
141
|
+
inline Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
142
|
+
Iterator begin, boost::system::error_code& ec,
|
|
143
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type*)
|
|
56
144
|
{
|
|
57
145
|
return connect(s, begin, Iterator(), detail::default_connect_condition(), ec);
|
|
58
146
|
}
|
|
147
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
59
148
|
|
|
60
|
-
template <typename Protocol
|
|
61
|
-
Iterator connect(basic_socket<Protocol
|
|
149
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator>
|
|
150
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
62
151
|
Iterator begin, Iterator end)
|
|
63
152
|
{
|
|
64
153
|
boost::system::error_code ec;
|
|
@@ -67,17 +156,48 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
67
156
|
return result;
|
|
68
157
|
}
|
|
69
158
|
|
|
70
|
-
template <typename Protocol
|
|
71
|
-
inline Iterator connect(basic_socket<Protocol
|
|
159
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator>
|
|
160
|
+
inline Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
72
161
|
Iterator begin, Iterator end, boost::system::error_code& ec)
|
|
73
162
|
{
|
|
74
163
|
return connect(s, begin, end, detail::default_connect_condition(), ec);
|
|
75
164
|
}
|
|
76
165
|
|
|
77
|
-
template <typename Protocol
|
|
166
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
167
|
+
typename EndpointSequence, typename ConnectCondition>
|
|
168
|
+
typename Protocol::endpoint connect(
|
|
169
|
+
basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
170
|
+
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
|
171
|
+
typename enable_if<is_endpoint_sequence<
|
|
172
|
+
EndpointSequence>::value>::type*)
|
|
173
|
+
{
|
|
174
|
+
boost::system::error_code ec;
|
|
175
|
+
typename Protocol::endpoint result = connect(
|
|
176
|
+
s, endpoints, connect_condition, ec);
|
|
177
|
+
boost::asio::detail::throw_error(ec, "connect");
|
|
178
|
+
return result;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
182
|
+
typename EndpointSequence, typename ConnectCondition>
|
|
183
|
+
typename Protocol::endpoint connect(
|
|
184
|
+
basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
185
|
+
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
|
186
|
+
boost::system::error_code& ec,
|
|
187
|
+
typename enable_if<is_endpoint_sequence<
|
|
188
|
+
EndpointSequence>::value>::type*)
|
|
189
|
+
{
|
|
190
|
+
return detail::deref_connect_result<Protocol>(
|
|
191
|
+
connect(s, endpoints.begin(), endpoints.end(),
|
|
192
|
+
connect_condition, ec), ec);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
196
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
78
197
|
typename Iterator, typename ConnectCondition>
|
|
79
|
-
Iterator connect(basic_socket<Protocol
|
|
80
|
-
Iterator begin, ConnectCondition connect_condition
|
|
198
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
199
|
+
Iterator begin, ConnectCondition connect_condition,
|
|
200
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type*)
|
|
81
201
|
{
|
|
82
202
|
boost::system::error_code ec;
|
|
83
203
|
Iterator result = connect(s, begin, connect_condition, ec);
|
|
@@ -85,18 +205,20 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
85
205
|
return result;
|
|
86
206
|
}
|
|
87
207
|
|
|
88
|
-
template <typename Protocol
|
|
208
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
89
209
|
typename Iterator, typename ConnectCondition>
|
|
90
|
-
inline Iterator connect(basic_socket<Protocol
|
|
210
|
+
inline Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
91
211
|
Iterator begin, ConnectCondition connect_condition,
|
|
92
|
-
boost::system::error_code& ec
|
|
212
|
+
boost::system::error_code& ec,
|
|
213
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type*)
|
|
93
214
|
{
|
|
94
215
|
return connect(s, begin, Iterator(), connect_condition, ec);
|
|
95
216
|
}
|
|
217
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
96
218
|
|
|
97
|
-
template <typename Protocol
|
|
219
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
98
220
|
typename Iterator, typename ConnectCondition>
|
|
99
|
-
Iterator connect(basic_socket<Protocol
|
|
221
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
100
222
|
Iterator begin, Iterator end, ConnectCondition connect_condition)
|
|
101
223
|
{
|
|
102
224
|
boost::system::error_code ec;
|
|
@@ -105,9 +227,9 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
105
227
|
return result;
|
|
106
228
|
}
|
|
107
229
|
|
|
108
|
-
template <typename Protocol
|
|
230
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
109
231
|
typename Iterator, typename ConnectCondition>
|
|
110
|
-
Iterator connect(basic_socket<Protocol
|
|
232
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
111
233
|
Iterator begin, Iterator end, ConnectCondition connect_condition,
|
|
112
234
|
boost::system::error_code& ec)
|
|
113
235
|
{
|
|
@@ -115,7 +237,7 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
115
237
|
|
|
116
238
|
for (Iterator iter = begin; iter != end; ++iter)
|
|
117
239
|
{
|
|
118
|
-
iter = connect_condition
|
|
240
|
+
iter = (detail::call_connect_condition(connect_condition, ec, iter, end));
|
|
119
241
|
if (iter != end)
|
|
120
242
|
{
|
|
121
243
|
s.close(ec);
|
|
@@ -150,8 +272,7 @@ namespace detail
|
|
|
150
272
|
void check_condition(const boost::system::error_code& ec,
|
|
151
273
|
Iterator& iter, Iterator& end)
|
|
152
274
|
{
|
|
153
|
-
|
|
154
|
-
iter = connect_condition_(ec, static_cast<const Iterator&>(iter));
|
|
275
|
+
iter = detail::call_connect_condition(connect_condition_, ec, iter, end);
|
|
155
276
|
}
|
|
156
277
|
|
|
157
278
|
private:
|
|
@@ -174,26 +295,186 @@ namespace detail
|
|
|
174
295
|
}
|
|
175
296
|
};
|
|
176
297
|
|
|
177
|
-
template <typename Protocol
|
|
178
|
-
typename
|
|
179
|
-
|
|
298
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
299
|
+
typename EndpointSequence, typename ConnectCondition,
|
|
300
|
+
typename RangeConnectHandler>
|
|
301
|
+
class range_connect_op : base_from_connect_condition<ConnectCondition>
|
|
302
|
+
{
|
|
303
|
+
public:
|
|
304
|
+
range_connect_op(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& sock,
|
|
305
|
+
const EndpointSequence& endpoints,
|
|
306
|
+
const ConnectCondition& connect_condition,
|
|
307
|
+
RangeConnectHandler& handler)
|
|
308
|
+
: base_from_connect_condition<ConnectCondition>(connect_condition),
|
|
309
|
+
socket_(sock),
|
|
310
|
+
endpoints_(endpoints),
|
|
311
|
+
index_(0),
|
|
312
|
+
start_(0),
|
|
313
|
+
handler_(BOOST_ASIO_MOVE_CAST(RangeConnectHandler)(handler))
|
|
314
|
+
{
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
318
|
+
range_connect_op(const range_connect_op& other)
|
|
319
|
+
: base_from_connect_condition<ConnectCondition>(other),
|
|
320
|
+
socket_(other.socket_),
|
|
321
|
+
endpoints_(other.endpoints_),
|
|
322
|
+
index_(other.index_),
|
|
323
|
+
start_(other.start_),
|
|
324
|
+
handler_(other.handler_)
|
|
325
|
+
{
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
range_connect_op(range_connect_op&& other)
|
|
329
|
+
: base_from_connect_condition<ConnectCondition>(other),
|
|
330
|
+
socket_(other.socket_),
|
|
331
|
+
endpoints_(other.endpoints_),
|
|
332
|
+
index_(other.index_),
|
|
333
|
+
start_(other.start_),
|
|
334
|
+
handler_(BOOST_ASIO_MOVE_CAST(RangeConnectHandler)(other.handler_))
|
|
335
|
+
{
|
|
336
|
+
}
|
|
337
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
338
|
+
|
|
339
|
+
void operator()(boost::system::error_code ec, int start = 0)
|
|
340
|
+
{
|
|
341
|
+
typename EndpointSequence::const_iterator begin = endpoints_.begin();
|
|
342
|
+
typename EndpointSequence::const_iterator iter = begin;
|
|
343
|
+
std::advance(iter, index_);
|
|
344
|
+
typename EndpointSequence::const_iterator end = endpoints_.end();
|
|
345
|
+
|
|
346
|
+
switch (start_ = start)
|
|
347
|
+
{
|
|
348
|
+
case 1:
|
|
349
|
+
for (;;)
|
|
350
|
+
{
|
|
351
|
+
this->check_condition(ec, iter, end);
|
|
352
|
+
index_ = std::distance(begin, iter);
|
|
353
|
+
|
|
354
|
+
if (iter != end)
|
|
355
|
+
{
|
|
356
|
+
socket_.close(ec);
|
|
357
|
+
socket_.async_connect(*iter,
|
|
358
|
+
BOOST_ASIO_MOVE_CAST(range_connect_op)(*this));
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
if (start)
|
|
363
|
+
{
|
|
364
|
+
ec = boost::asio::error::not_found;
|
|
365
|
+
boost::asio::post(socket_.get_executor(),
|
|
366
|
+
detail::bind_handler(
|
|
367
|
+
BOOST_ASIO_MOVE_CAST(range_connect_op)(*this), ec));
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
default:
|
|
372
|
+
|
|
373
|
+
if (iter == end)
|
|
374
|
+
break;
|
|
375
|
+
|
|
376
|
+
if (!socket_.is_open())
|
|
377
|
+
{
|
|
378
|
+
ec = boost::asio::error::operation_aborted;
|
|
379
|
+
break;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
if (!ec)
|
|
383
|
+
break;
|
|
384
|
+
|
|
385
|
+
++iter;
|
|
386
|
+
++index_;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
handler_(static_cast<const boost::system::error_code&>(ec),
|
|
390
|
+
static_cast<const typename Protocol::endpoint&>(
|
|
391
|
+
ec || iter == end ? typename Protocol::endpoint() : *iter));
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
//private:
|
|
396
|
+
basic_socket<Protocol BOOST_ASIO_SVC_TARG>& socket_;
|
|
397
|
+
EndpointSequence endpoints_;
|
|
398
|
+
std::size_t index_;
|
|
399
|
+
int start_;
|
|
400
|
+
RangeConnectHandler handler_;
|
|
401
|
+
};
|
|
402
|
+
|
|
403
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
404
|
+
typename EndpointSequence, typename ConnectCondition,
|
|
405
|
+
typename RangeConnectHandler>
|
|
406
|
+
inline void* asio_handler_allocate(std::size_t size,
|
|
407
|
+
range_connect_op<Protocol BOOST_ASIO_SVC_TARG, EndpointSequence,
|
|
408
|
+
ConnectCondition, RangeConnectHandler>* this_handler)
|
|
409
|
+
{
|
|
410
|
+
return boost_asio_handler_alloc_helpers::allocate(
|
|
411
|
+
size, this_handler->handler_);
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
415
|
+
typename EndpointSequence, typename ConnectCondition,
|
|
416
|
+
typename RangeConnectHandler>
|
|
417
|
+
inline void asio_handler_deallocate(void* pointer, std::size_t size,
|
|
418
|
+
range_connect_op<Protocol BOOST_ASIO_SVC_TARG, EndpointSequence,
|
|
419
|
+
ConnectCondition, RangeConnectHandler>* this_handler)
|
|
420
|
+
{
|
|
421
|
+
boost_asio_handler_alloc_helpers::deallocate(
|
|
422
|
+
pointer, size, this_handler->handler_);
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
426
|
+
typename EndpointSequence, typename ConnectCondition,
|
|
427
|
+
typename RangeConnectHandler>
|
|
428
|
+
inline bool asio_handler_is_continuation(
|
|
429
|
+
range_connect_op<Protocol BOOST_ASIO_SVC_TARG, EndpointSequence,
|
|
430
|
+
ConnectCondition, RangeConnectHandler>* this_handler)
|
|
431
|
+
{
|
|
432
|
+
return boost_asio_handler_cont_helpers::is_continuation(
|
|
433
|
+
this_handler->handler_);
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
template <typename Function, typename Protocol
|
|
437
|
+
BOOST_ASIO_SVC_TPARAM, typename EndpointSequence,
|
|
438
|
+
typename ConnectCondition, typename RangeConnectHandler>
|
|
439
|
+
inline void asio_handler_invoke(Function& function,
|
|
440
|
+
range_connect_op<Protocol BOOST_ASIO_SVC_TARG, EndpointSequence,
|
|
441
|
+
ConnectCondition, RangeConnectHandler>* this_handler)
|
|
442
|
+
{
|
|
443
|
+
boost_asio_handler_invoke_helpers::invoke(
|
|
444
|
+
function, this_handler->handler_);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
template <typename Function, typename Protocol
|
|
448
|
+
BOOST_ASIO_SVC_TPARAM, typename EndpointSequence,
|
|
449
|
+
typename ConnectCondition, typename RangeConnectHandler>
|
|
450
|
+
inline void asio_handler_invoke(const Function& function,
|
|
451
|
+
range_connect_op<Protocol BOOST_ASIO_SVC_TARG, EndpointSequence,
|
|
452
|
+
ConnectCondition, RangeConnectHandler>* this_handler)
|
|
453
|
+
{
|
|
454
|
+
boost_asio_handler_invoke_helpers::invoke(
|
|
455
|
+
function, this_handler->handler_);
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator,
|
|
459
|
+
typename ConnectCondition, typename IteratorConnectHandler>
|
|
460
|
+
class iterator_connect_op : base_from_connect_condition<ConnectCondition>
|
|
180
461
|
{
|
|
181
462
|
public:
|
|
182
|
-
|
|
463
|
+
iterator_connect_op(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& sock,
|
|
183
464
|
const Iterator& begin, const Iterator& end,
|
|
184
465
|
const ConnectCondition& connect_condition,
|
|
185
|
-
|
|
466
|
+
IteratorConnectHandler& handler)
|
|
186
467
|
: base_from_connect_condition<ConnectCondition>(connect_condition),
|
|
187
468
|
socket_(sock),
|
|
188
469
|
iter_(begin),
|
|
189
470
|
end_(end),
|
|
190
471
|
start_(0),
|
|
191
|
-
handler_(BOOST_ASIO_MOVE_CAST(
|
|
472
|
+
handler_(BOOST_ASIO_MOVE_CAST(IteratorConnectHandler)(handler))
|
|
192
473
|
{
|
|
193
474
|
}
|
|
194
475
|
|
|
195
476
|
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
196
|
-
|
|
477
|
+
iterator_connect_op(const iterator_connect_op& other)
|
|
197
478
|
: base_from_connect_condition<ConnectCondition>(other),
|
|
198
479
|
socket_(other.socket_),
|
|
199
480
|
iter_(other.iter_),
|
|
@@ -203,13 +484,13 @@ namespace detail
|
|
|
203
484
|
{
|
|
204
485
|
}
|
|
205
486
|
|
|
206
|
-
|
|
487
|
+
iterator_connect_op(iterator_connect_op&& other)
|
|
207
488
|
: base_from_connect_condition<ConnectCondition>(other),
|
|
208
489
|
socket_(other.socket_),
|
|
209
490
|
iter_(other.iter_),
|
|
210
491
|
end_(other.end_),
|
|
211
492
|
start_(other.start_),
|
|
212
|
-
handler_(BOOST_ASIO_MOVE_CAST(
|
|
493
|
+
handler_(BOOST_ASIO_MOVE_CAST(IteratorConnectHandler)(other.handler_))
|
|
213
494
|
{
|
|
214
495
|
}
|
|
215
496
|
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
@@ -227,14 +508,16 @@ namespace detail
|
|
|
227
508
|
{
|
|
228
509
|
socket_.close(ec);
|
|
229
510
|
socket_.async_connect(*iter_,
|
|
230
|
-
BOOST_ASIO_MOVE_CAST(
|
|
511
|
+
BOOST_ASIO_MOVE_CAST(iterator_connect_op)(*this));
|
|
231
512
|
return;
|
|
232
513
|
}
|
|
233
514
|
|
|
234
515
|
if (start)
|
|
235
516
|
{
|
|
236
517
|
ec = boost::asio::error::not_found;
|
|
237
|
-
socket_.
|
|
518
|
+
boost::asio::post(socket_.get_executor(),
|
|
519
|
+
detail::bind_handler(
|
|
520
|
+
BOOST_ASIO_MOVE_CAST(iterator_connect_op)(*this), ec));
|
|
238
521
|
return;
|
|
239
522
|
}
|
|
240
523
|
|
|
@@ -261,164 +544,311 @@ namespace detail
|
|
|
261
544
|
}
|
|
262
545
|
|
|
263
546
|
//private:
|
|
264
|
-
basic_socket<Protocol
|
|
547
|
+
basic_socket<Protocol BOOST_ASIO_SVC_TARG>& socket_;
|
|
265
548
|
Iterator iter_;
|
|
266
549
|
Iterator end_;
|
|
267
550
|
int start_;
|
|
268
|
-
|
|
551
|
+
IteratorConnectHandler handler_;
|
|
269
552
|
};
|
|
270
553
|
|
|
271
|
-
template <typename Protocol
|
|
272
|
-
typename ConnectCondition, typename
|
|
554
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator,
|
|
555
|
+
typename ConnectCondition, typename IteratorConnectHandler>
|
|
273
556
|
inline void* asio_handler_allocate(std::size_t size,
|
|
274
|
-
|
|
275
|
-
ConnectCondition,
|
|
557
|
+
iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG, Iterator,
|
|
558
|
+
ConnectCondition, IteratorConnectHandler>* this_handler)
|
|
276
559
|
{
|
|
277
560
|
return boost_asio_handler_alloc_helpers::allocate(
|
|
278
561
|
size, this_handler->handler_);
|
|
279
562
|
}
|
|
280
563
|
|
|
281
|
-
template <typename Protocol
|
|
282
|
-
typename ConnectCondition, typename
|
|
564
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator,
|
|
565
|
+
typename ConnectCondition, typename IteratorConnectHandler>
|
|
283
566
|
inline void asio_handler_deallocate(void* pointer, std::size_t size,
|
|
284
|
-
|
|
285
|
-
ConnectCondition,
|
|
567
|
+
iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG, Iterator,
|
|
568
|
+
ConnectCondition, IteratorConnectHandler>* this_handler)
|
|
286
569
|
{
|
|
287
570
|
boost_asio_handler_alloc_helpers::deallocate(
|
|
288
571
|
pointer, size, this_handler->handler_);
|
|
289
572
|
}
|
|
290
573
|
|
|
291
|
-
template <typename Protocol
|
|
292
|
-
typename ConnectCondition, typename
|
|
574
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator,
|
|
575
|
+
typename ConnectCondition, typename IteratorConnectHandler>
|
|
293
576
|
inline bool asio_handler_is_continuation(
|
|
294
|
-
|
|
295
|
-
ConnectCondition,
|
|
577
|
+
iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG, Iterator,
|
|
578
|
+
ConnectCondition, IteratorConnectHandler>* this_handler)
|
|
296
579
|
{
|
|
297
580
|
return boost_asio_handler_cont_helpers::is_continuation(
|
|
298
581
|
this_handler->handler_);
|
|
299
582
|
}
|
|
300
583
|
|
|
301
|
-
template <typename Function, typename Protocol
|
|
302
|
-
|
|
303
|
-
typename ConnectCondition, typename
|
|
584
|
+
template <typename Function, typename Protocol
|
|
585
|
+
BOOST_ASIO_SVC_TPARAM, typename Iterator,
|
|
586
|
+
typename ConnectCondition, typename IteratorConnectHandler>
|
|
304
587
|
inline void asio_handler_invoke(Function& function,
|
|
305
|
-
|
|
306
|
-
ConnectCondition,
|
|
588
|
+
iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG, Iterator,
|
|
589
|
+
ConnectCondition, IteratorConnectHandler>* this_handler)
|
|
307
590
|
{
|
|
308
591
|
boost_asio_handler_invoke_helpers::invoke(
|
|
309
592
|
function, this_handler->handler_);
|
|
310
593
|
}
|
|
311
594
|
|
|
312
|
-
template <typename Function, typename Protocol
|
|
313
|
-
|
|
314
|
-
typename ConnectCondition, typename
|
|
595
|
+
template <typename Function, typename Protocol
|
|
596
|
+
BOOST_ASIO_SVC_TPARAM, typename Iterator,
|
|
597
|
+
typename ConnectCondition, typename IteratorConnectHandler>
|
|
315
598
|
inline void asio_handler_invoke(const Function& function,
|
|
316
|
-
|
|
317
|
-
ConnectCondition,
|
|
599
|
+
iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG, Iterator,
|
|
600
|
+
ConnectCondition, IteratorConnectHandler>* this_handler)
|
|
318
601
|
{
|
|
319
602
|
boost_asio_handler_invoke_helpers::invoke(
|
|
320
603
|
function, this_handler->handler_);
|
|
321
604
|
}
|
|
322
605
|
} // namespace detail
|
|
323
606
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
607
|
+
#if !defined(GENERATING_DOCUMENTATION)
|
|
608
|
+
|
|
609
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
610
|
+
typename EndpointSequence, typename ConnectCondition,
|
|
611
|
+
typename RangeConnectHandler, typename Allocator>
|
|
612
|
+
struct associated_allocator<
|
|
613
|
+
detail::range_connect_op<Protocol BOOST_ASIO_SVC_TARG,
|
|
614
|
+
EndpointSequence, ConnectCondition, RangeConnectHandler>,
|
|
615
|
+
Allocator>
|
|
616
|
+
{
|
|
617
|
+
typedef typename associated_allocator<
|
|
618
|
+
RangeConnectHandler, Allocator>::type type;
|
|
619
|
+
|
|
620
|
+
static type get(
|
|
621
|
+
const detail::range_connect_op<Protocol BOOST_ASIO_SVC_TARG,
|
|
622
|
+
EndpointSequence, ConnectCondition, RangeConnectHandler>& h,
|
|
623
|
+
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
|
624
|
+
{
|
|
625
|
+
return associated_allocator<RangeConnectHandler,
|
|
626
|
+
Allocator>::get(h.handler_, a);
|
|
627
|
+
}
|
|
628
|
+
};
|
|
629
|
+
|
|
630
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
631
|
+
typename EndpointSequence, typename ConnectCondition,
|
|
632
|
+
typename RangeConnectHandler, typename Executor>
|
|
633
|
+
struct associated_executor<
|
|
634
|
+
detail::range_connect_op<Protocol BOOST_ASIO_SVC_TARG,
|
|
635
|
+
EndpointSequence, ConnectCondition, RangeConnectHandler>,
|
|
636
|
+
Executor>
|
|
637
|
+
{
|
|
638
|
+
typedef typename associated_executor<
|
|
639
|
+
RangeConnectHandler, Executor>::type type;
|
|
640
|
+
|
|
641
|
+
static type get(
|
|
642
|
+
const detail::range_connect_op<Protocol BOOST_ASIO_SVC_TARG,
|
|
643
|
+
EndpointSequence, ConnectCondition, RangeConnectHandler>& h,
|
|
644
|
+
const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
|
|
645
|
+
{
|
|
646
|
+
return associated_executor<RangeConnectHandler,
|
|
647
|
+
Executor>::get(h.handler_, ex);
|
|
648
|
+
}
|
|
649
|
+
};
|
|
650
|
+
|
|
651
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
652
|
+
typename Iterator, typename ConnectCondition,
|
|
653
|
+
typename IteratorConnectHandler, typename Allocator>
|
|
654
|
+
struct associated_allocator<
|
|
655
|
+
detail::iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG, Iterator,
|
|
656
|
+
ConnectCondition, IteratorConnectHandler>,
|
|
657
|
+
Allocator>
|
|
658
|
+
{
|
|
659
|
+
typedef typename associated_allocator<
|
|
660
|
+
IteratorConnectHandler, Allocator>::type type;
|
|
661
|
+
|
|
662
|
+
static type get(
|
|
663
|
+
const detail::iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG,
|
|
664
|
+
Iterator, ConnectCondition, IteratorConnectHandler>& h,
|
|
665
|
+
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
|
666
|
+
{
|
|
667
|
+
return associated_allocator<IteratorConnectHandler,
|
|
668
|
+
Allocator>::get(h.handler_, a);
|
|
669
|
+
}
|
|
670
|
+
};
|
|
671
|
+
|
|
672
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
673
|
+
typename Iterator, typename ConnectCondition,
|
|
674
|
+
typename IteratorConnectHandler, typename Executor>
|
|
675
|
+
struct associated_executor<
|
|
676
|
+
detail::iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG, Iterator,
|
|
677
|
+
ConnectCondition, IteratorConnectHandler>,
|
|
678
|
+
Executor>
|
|
679
|
+
{
|
|
680
|
+
typedef typename associated_executor<
|
|
681
|
+
IteratorConnectHandler, Executor>::type type;
|
|
682
|
+
|
|
683
|
+
static type get(
|
|
684
|
+
const detail::iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG,
|
|
685
|
+
Iterator, ConnectCondition, IteratorConnectHandler>& h,
|
|
686
|
+
const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
|
|
687
|
+
{
|
|
688
|
+
return associated_executor<IteratorConnectHandler,
|
|
689
|
+
Executor>::get(h.handler_, ex);
|
|
690
|
+
}
|
|
691
|
+
};
|
|
692
|
+
|
|
693
|
+
#endif // !defined(GENERATING_DOCUMENTATION)
|
|
694
|
+
|
|
695
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
696
|
+
typename EndpointSequence, typename RangeConnectHandler>
|
|
697
|
+
inline BOOST_ASIO_INITFN_RESULT_TYPE(RangeConnectHandler,
|
|
698
|
+
void (boost::system::error_code, typename Protocol::endpoint))
|
|
699
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
700
|
+
const EndpointSequence& endpoints,
|
|
701
|
+
BOOST_ASIO_MOVE_ARG(RangeConnectHandler) handler,
|
|
702
|
+
typename enable_if<is_endpoint_sequence<
|
|
703
|
+
EndpointSequence>::value>::type*)
|
|
704
|
+
{
|
|
705
|
+
// If you get an error on the following line it means that your handler does
|
|
706
|
+
// not meet the documented type requirements for a RangeConnectHandler.
|
|
707
|
+
BOOST_ASIO_RANGE_CONNECT_HANDLER_CHECK(
|
|
708
|
+
RangeConnectHandler, handler, typename Protocol::endpoint) type_check;
|
|
709
|
+
|
|
710
|
+
async_completion<RangeConnectHandler,
|
|
711
|
+
void (boost::system::error_code, typename Protocol::endpoint)>
|
|
712
|
+
init(handler);
|
|
713
|
+
|
|
714
|
+
detail::range_connect_op<Protocol BOOST_ASIO_SVC_TARG, EndpointSequence,
|
|
715
|
+
detail::default_connect_condition,
|
|
716
|
+
BOOST_ASIO_HANDLER_TYPE(RangeConnectHandler,
|
|
717
|
+
void (boost::system::error_code, typename Protocol::endpoint))>(s,
|
|
718
|
+
endpoints, detail::default_connect_condition(),
|
|
719
|
+
init.completion_handler)(boost::system::error_code(), 1);
|
|
720
|
+
|
|
721
|
+
return init.result.get();
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
725
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
726
|
+
typename Iterator, typename IteratorConnectHandler>
|
|
727
|
+
inline BOOST_ASIO_INITFN_RESULT_TYPE(IteratorConnectHandler,
|
|
327
728
|
void (boost::system::error_code, Iterator))
|
|
328
|
-
async_connect(basic_socket<Protocol
|
|
329
|
-
Iterator begin, BOOST_ASIO_MOVE_ARG(
|
|
729
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
730
|
+
Iterator begin, BOOST_ASIO_MOVE_ARG(IteratorConnectHandler) handler,
|
|
731
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type*)
|
|
330
732
|
{
|
|
331
733
|
// If you get an error on the following line it means that your handler does
|
|
332
|
-
// not meet the documented type requirements for a
|
|
333
|
-
|
|
334
|
-
|
|
734
|
+
// not meet the documented type requirements for a IteratorConnectHandler.
|
|
735
|
+
BOOST_ASIO_ITERATOR_CONNECT_HANDLER_CHECK(
|
|
736
|
+
IteratorConnectHandler, handler, Iterator) type_check;
|
|
335
737
|
|
|
336
|
-
|
|
337
|
-
void (boost::system::error_code, Iterator)> init(
|
|
338
|
-
BOOST_ASIO_MOVE_CAST(ComposedConnectHandler)(handler));
|
|
738
|
+
async_completion<IteratorConnectHandler,
|
|
739
|
+
void (boost::system::error_code, Iterator)> init(handler);
|
|
339
740
|
|
|
340
|
-
detail::
|
|
741
|
+
detail::iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG, Iterator,
|
|
341
742
|
detail::default_connect_condition, BOOST_ASIO_HANDLER_TYPE(
|
|
342
|
-
|
|
343
|
-
begin, Iterator(), detail::default_connect_condition(),
|
|
344
|
-
boost::system::error_code(), 1);
|
|
743
|
+
IteratorConnectHandler, void (boost::system::error_code, Iterator))>(s,
|
|
744
|
+
begin, Iterator(), detail::default_connect_condition(),
|
|
745
|
+
init.completion_handler)(boost::system::error_code(), 1);
|
|
345
746
|
|
|
346
747
|
return init.result.get();
|
|
347
748
|
}
|
|
749
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
348
750
|
|
|
349
|
-
template <typename Protocol
|
|
350
|
-
typename Iterator, typename
|
|
351
|
-
inline BOOST_ASIO_INITFN_RESULT_TYPE(
|
|
751
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
752
|
+
typename Iterator, typename IteratorConnectHandler>
|
|
753
|
+
inline BOOST_ASIO_INITFN_RESULT_TYPE(IteratorConnectHandler,
|
|
352
754
|
void (boost::system::error_code, Iterator))
|
|
353
|
-
async_connect(basic_socket<Protocol
|
|
755
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
354
756
|
Iterator begin, Iterator end,
|
|
355
|
-
BOOST_ASIO_MOVE_ARG(
|
|
757
|
+
BOOST_ASIO_MOVE_ARG(IteratorConnectHandler) handler)
|
|
356
758
|
{
|
|
357
759
|
// If you get an error on the following line it means that your handler does
|
|
358
|
-
// not meet the documented type requirements for a
|
|
359
|
-
|
|
360
|
-
|
|
760
|
+
// not meet the documented type requirements for a IteratorConnectHandler.
|
|
761
|
+
BOOST_ASIO_ITERATOR_CONNECT_HANDLER_CHECK(
|
|
762
|
+
IteratorConnectHandler, handler, Iterator) type_check;
|
|
361
763
|
|
|
362
|
-
|
|
363
|
-
void (boost::system::error_code, Iterator)> init(
|
|
364
|
-
BOOST_ASIO_MOVE_CAST(ComposedConnectHandler)(handler));
|
|
764
|
+
async_completion<IteratorConnectHandler,
|
|
765
|
+
void (boost::system::error_code, Iterator)> init(handler);
|
|
365
766
|
|
|
366
|
-
detail::
|
|
767
|
+
detail::iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG, Iterator,
|
|
367
768
|
detail::default_connect_condition, BOOST_ASIO_HANDLER_TYPE(
|
|
368
|
-
|
|
369
|
-
begin, end, detail::default_connect_condition(),
|
|
769
|
+
IteratorConnectHandler, void (boost::system::error_code, Iterator))>(s,
|
|
770
|
+
begin, end, detail::default_connect_condition(),
|
|
771
|
+
init.completion_handler)(boost::system::error_code(), 1);
|
|
772
|
+
|
|
773
|
+
return init.result.get();
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename EndpointSequence,
|
|
777
|
+
typename ConnectCondition, typename RangeConnectHandler>
|
|
778
|
+
inline BOOST_ASIO_INITFN_RESULT_TYPE(RangeConnectHandler,
|
|
779
|
+
void (boost::system::error_code, typename Protocol::endpoint))
|
|
780
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
781
|
+
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
|
782
|
+
BOOST_ASIO_MOVE_ARG(RangeConnectHandler) handler,
|
|
783
|
+
typename enable_if<is_endpoint_sequence<
|
|
784
|
+
EndpointSequence>::value>::type*)
|
|
785
|
+
{
|
|
786
|
+
// If you get an error on the following line it means that your handler does
|
|
787
|
+
// not meet the documented type requirements for a RangeConnectHandler.
|
|
788
|
+
BOOST_ASIO_RANGE_CONNECT_HANDLER_CHECK(
|
|
789
|
+
RangeConnectHandler, handler, typename Protocol::endpoint) type_check;
|
|
790
|
+
|
|
791
|
+
async_completion<RangeConnectHandler,
|
|
792
|
+
void (boost::system::error_code, typename Protocol::endpoint)>
|
|
793
|
+
init(handler);
|
|
794
|
+
|
|
795
|
+
detail::range_connect_op<Protocol BOOST_ASIO_SVC_TARG, EndpointSequence,
|
|
796
|
+
ConnectCondition, BOOST_ASIO_HANDLER_TYPE(RangeConnectHandler,
|
|
797
|
+
void (boost::system::error_code, typename Protocol::endpoint))>(s,
|
|
798
|
+
endpoints, connect_condition, init.completion_handler)(
|
|
370
799
|
boost::system::error_code(), 1);
|
|
371
800
|
|
|
372
801
|
return init.result.get();
|
|
373
802
|
}
|
|
374
803
|
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
804
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
805
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator,
|
|
806
|
+
typename ConnectCondition, typename IteratorConnectHandler>
|
|
807
|
+
inline BOOST_ASIO_INITFN_RESULT_TYPE(IteratorConnectHandler,
|
|
378
808
|
void (boost::system::error_code, Iterator))
|
|
379
|
-
async_connect(basic_socket<Protocol
|
|
809
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
380
810
|
Iterator begin, ConnectCondition connect_condition,
|
|
381
|
-
BOOST_ASIO_MOVE_ARG(
|
|
811
|
+
BOOST_ASIO_MOVE_ARG(IteratorConnectHandler) handler,
|
|
812
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type*)
|
|
382
813
|
{
|
|
383
814
|
// If you get an error on the following line it means that your handler does
|
|
384
|
-
// not meet the documented type requirements for a
|
|
385
|
-
|
|
386
|
-
|
|
815
|
+
// not meet the documented type requirements for a IteratorConnectHandler.
|
|
816
|
+
BOOST_ASIO_ITERATOR_CONNECT_HANDLER_CHECK(
|
|
817
|
+
IteratorConnectHandler, handler, Iterator) type_check;
|
|
387
818
|
|
|
388
|
-
|
|
389
|
-
void (boost::system::error_code, Iterator)> init(
|
|
390
|
-
BOOST_ASIO_MOVE_CAST(ComposedConnectHandler)(handler));
|
|
819
|
+
async_completion<IteratorConnectHandler,
|
|
820
|
+
void (boost::system::error_code, Iterator)> init(handler);
|
|
391
821
|
|
|
392
|
-
detail::
|
|
822
|
+
detail::iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG, Iterator,
|
|
393
823
|
ConnectCondition, BOOST_ASIO_HANDLER_TYPE(
|
|
394
|
-
|
|
395
|
-
begin, Iterator(), connect_condition, init.
|
|
824
|
+
IteratorConnectHandler, void (boost::system::error_code, Iterator))>(s,
|
|
825
|
+
begin, Iterator(), connect_condition, init.completion_handler)(
|
|
396
826
|
boost::system::error_code(), 1);
|
|
397
827
|
|
|
398
828
|
return init.result.get();
|
|
399
829
|
}
|
|
830
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
400
831
|
|
|
401
|
-
template <typename Protocol
|
|
402
|
-
typename ConnectCondition, typename
|
|
403
|
-
inline BOOST_ASIO_INITFN_RESULT_TYPE(
|
|
832
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator,
|
|
833
|
+
typename ConnectCondition, typename IteratorConnectHandler>
|
|
834
|
+
inline BOOST_ASIO_INITFN_RESULT_TYPE(IteratorConnectHandler,
|
|
404
835
|
void (boost::system::error_code, Iterator))
|
|
405
|
-
async_connect(basic_socket<Protocol
|
|
836
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
406
837
|
Iterator begin, Iterator end, ConnectCondition connect_condition,
|
|
407
|
-
BOOST_ASIO_MOVE_ARG(
|
|
838
|
+
BOOST_ASIO_MOVE_ARG(IteratorConnectHandler) handler)
|
|
408
839
|
{
|
|
409
840
|
// If you get an error on the following line it means that your handler does
|
|
410
|
-
// not meet the documented type requirements for a
|
|
411
|
-
|
|
412
|
-
|
|
841
|
+
// not meet the documented type requirements for a IteratorConnectHandler.
|
|
842
|
+
BOOST_ASIO_ITERATOR_CONNECT_HANDLER_CHECK(
|
|
843
|
+
IteratorConnectHandler, handler, Iterator) type_check;
|
|
413
844
|
|
|
414
|
-
|
|
415
|
-
void (boost::system::error_code, Iterator)> init(
|
|
416
|
-
BOOST_ASIO_MOVE_CAST(ComposedConnectHandler)(handler));
|
|
845
|
+
async_completion<IteratorConnectHandler,
|
|
846
|
+
void (boost::system::error_code, Iterator)> init(handler);
|
|
417
847
|
|
|
418
|
-
detail::
|
|
848
|
+
detail::iterator_connect_op<Protocol BOOST_ASIO_SVC_TARG, Iterator,
|
|
419
849
|
ConnectCondition, BOOST_ASIO_HANDLER_TYPE(
|
|
420
|
-
|
|
421
|
-
begin, end, connect_condition, init.
|
|
850
|
+
IteratorConnectHandler, void (boost::system::error_code, Iterator))>(s,
|
|
851
|
+
begin, end, connect_condition, init.completion_handler)(
|
|
422
852
|
boost::system::error_code(), 1);
|
|
423
853
|
|
|
424
854
|
return init.result.get();
|