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
|
// seq_packet_socket_service.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)
|
|
@@ -16,11 +16,14 @@
|
|
|
16
16
|
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
|
17
17
|
|
|
18
18
|
#include <boost/asio/detail/config.hpp>
|
|
19
|
+
|
|
20
|
+
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
21
|
+
|
|
19
22
|
#include <cstddef>
|
|
20
23
|
#include <boost/asio/async_result.hpp>
|
|
21
24
|
#include <boost/asio/detail/type_traits.hpp>
|
|
22
25
|
#include <boost/asio/error.hpp>
|
|
23
|
-
#include <boost/asio/
|
|
26
|
+
#include <boost/asio/io_context.hpp>
|
|
24
27
|
|
|
25
28
|
#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
|
|
26
29
|
# include <boost/asio/detail/null_socket_service.hpp>
|
|
@@ -39,7 +42,7 @@ namespace asio {
|
|
|
39
42
|
template <typename Protocol>
|
|
40
43
|
class seq_packet_socket_service
|
|
41
44
|
#if defined(GENERATING_DOCUMENTATION)
|
|
42
|
-
: public boost::asio::
|
|
45
|
+
: public boost::asio::io_context::service
|
|
43
46
|
#else
|
|
44
47
|
: public boost::asio::detail::service_base<
|
|
45
48
|
seq_packet_socket_service<Protocol> >
|
|
@@ -48,7 +51,7 @@ class seq_packet_socket_service
|
|
|
48
51
|
public:
|
|
49
52
|
#if defined(GENERATING_DOCUMENTATION)
|
|
50
53
|
/// The unique service identifier.
|
|
51
|
-
static boost::asio::
|
|
54
|
+
static boost::asio::io_context::id id;
|
|
52
55
|
#endif
|
|
53
56
|
|
|
54
57
|
/// The protocol type.
|
|
@@ -75,13 +78,6 @@ public:
|
|
|
75
78
|
typedef typename service_impl_type::implementation_type implementation_type;
|
|
76
79
|
#endif
|
|
77
80
|
|
|
78
|
-
/// (Deprecated: Use native_handle_type.) The native socket type.
|
|
79
|
-
#if defined(GENERATING_DOCUMENTATION)
|
|
80
|
-
typedef implementation_defined native_type;
|
|
81
|
-
#else
|
|
82
|
-
typedef typename service_impl_type::native_handle_type native_type;
|
|
83
|
-
#endif
|
|
84
|
-
|
|
85
81
|
/// The native socket type.
|
|
86
82
|
#if defined(GENERATING_DOCUMENTATION)
|
|
87
83
|
typedef implementation_defined native_handle_type;
|
|
@@ -90,11 +86,11 @@ public:
|
|
|
90
86
|
#endif
|
|
91
87
|
|
|
92
88
|
/// Construct a new sequenced packet socket service for the specified
|
|
93
|
-
///
|
|
94
|
-
explicit seq_packet_socket_service(boost::asio::
|
|
89
|
+
/// io_context.
|
|
90
|
+
explicit seq_packet_socket_service(boost::asio::io_context& io_context)
|
|
95
91
|
: boost::asio::detail::service_base<
|
|
96
|
-
seq_packet_socket_service<Protocol> >(
|
|
97
|
-
service_impl_(
|
|
92
|
+
seq_packet_socket_service<Protocol> >(io_context),
|
|
93
|
+
service_impl_(io_context)
|
|
98
94
|
{
|
|
99
95
|
}
|
|
100
96
|
|
|
@@ -145,22 +141,23 @@ public:
|
|
|
145
141
|
}
|
|
146
142
|
|
|
147
143
|
/// Open a sequenced packet socket.
|
|
148
|
-
|
|
144
|
+
BOOST_ASIO_SYNC_OP_VOID open(implementation_type& impl,
|
|
149
145
|
const protocol_type& protocol, boost::system::error_code& ec)
|
|
150
146
|
{
|
|
151
147
|
if (protocol.type() == BOOST_ASIO_OS_DEF(SOCK_SEQPACKET))
|
|
152
148
|
service_impl_.open(impl, protocol, ec);
|
|
153
149
|
else
|
|
154
150
|
ec = boost::asio::error::invalid_argument;
|
|
155
|
-
|
|
151
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
156
152
|
}
|
|
157
153
|
|
|
158
154
|
/// Assign an existing native socket to a sequenced packet socket.
|
|
159
|
-
|
|
155
|
+
BOOST_ASIO_SYNC_OP_VOID assign(implementation_type& impl,
|
|
160
156
|
const protocol_type& protocol, const native_handle_type& native_socket,
|
|
161
157
|
boost::system::error_code& ec)
|
|
162
158
|
{
|
|
163
|
-
|
|
159
|
+
service_impl_.assign(impl, protocol, native_socket, ec);
|
|
160
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
164
161
|
}
|
|
165
162
|
|
|
166
163
|
/// Determine whether the socket is open.
|
|
@@ -170,16 +167,18 @@ public:
|
|
|
170
167
|
}
|
|
171
168
|
|
|
172
169
|
/// Close a sequenced packet socket implementation.
|
|
173
|
-
|
|
170
|
+
BOOST_ASIO_SYNC_OP_VOID close(implementation_type& impl,
|
|
174
171
|
boost::system::error_code& ec)
|
|
175
172
|
{
|
|
176
|
-
|
|
173
|
+
service_impl_.close(impl, ec);
|
|
174
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
177
175
|
}
|
|
178
176
|
|
|
179
|
-
///
|
|
180
|
-
|
|
177
|
+
/// Release ownership of the underlying socket.
|
|
178
|
+
native_handle_type release(implementation_type& impl,
|
|
179
|
+
boost::system::error_code& ec)
|
|
181
180
|
{
|
|
182
|
-
return service_impl_.
|
|
181
|
+
return service_impl_.release(impl, ec);
|
|
183
182
|
}
|
|
184
183
|
|
|
185
184
|
/// Get the native socket implementation.
|
|
@@ -189,10 +188,11 @@ public:
|
|
|
189
188
|
}
|
|
190
189
|
|
|
191
190
|
/// Cancel all asynchronous operations associated with the socket.
|
|
192
|
-
|
|
191
|
+
BOOST_ASIO_SYNC_OP_VOID cancel(implementation_type& impl,
|
|
193
192
|
boost::system::error_code& ec)
|
|
194
193
|
{
|
|
195
|
-
|
|
194
|
+
service_impl_.cancel(impl, ec);
|
|
195
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
/// Determine whether the socket is at the out-of-band data mark.
|
|
@@ -210,17 +210,19 @@ public:
|
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
/// Bind the sequenced packet socket to the specified local endpoint.
|
|
213
|
-
|
|
213
|
+
BOOST_ASIO_SYNC_OP_VOID bind(implementation_type& impl,
|
|
214
214
|
const endpoint_type& endpoint, boost::system::error_code& ec)
|
|
215
215
|
{
|
|
216
|
-
|
|
216
|
+
service_impl_.bind(impl, endpoint, ec);
|
|
217
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
217
218
|
}
|
|
218
219
|
|
|
219
220
|
/// Connect the sequenced packet socket to the specified endpoint.
|
|
220
|
-
|
|
221
|
+
BOOST_ASIO_SYNC_OP_VOID connect(implementation_type& impl,
|
|
221
222
|
const endpoint_type& peer_endpoint, boost::system::error_code& ec)
|
|
222
223
|
{
|
|
223
|
-
|
|
224
|
+
service_impl_.connect(impl, peer_endpoint, ec);
|
|
225
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
224
226
|
}
|
|
225
227
|
|
|
226
228
|
/// Start an asynchronous connect.
|
|
@@ -231,37 +233,39 @@ public:
|
|
|
231
233
|
const endpoint_type& peer_endpoint,
|
|
232
234
|
BOOST_ASIO_MOVE_ARG(ConnectHandler) handler)
|
|
233
235
|
{
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
BOOST_ASIO_MOVE_CAST(ConnectHandler)(handler));
|
|
236
|
+
async_completion<ConnectHandler,
|
|
237
|
+
void (boost::system::error_code)> init(handler);
|
|
237
238
|
|
|
238
|
-
service_impl_.async_connect(impl, peer_endpoint, init.
|
|
239
|
+
service_impl_.async_connect(impl, peer_endpoint, init.completion_handler);
|
|
239
240
|
|
|
240
241
|
return init.result.get();
|
|
241
242
|
}
|
|
242
243
|
|
|
243
244
|
/// Set a socket option.
|
|
244
245
|
template <typename SettableSocketOption>
|
|
245
|
-
|
|
246
|
+
BOOST_ASIO_SYNC_OP_VOID set_option(implementation_type& impl,
|
|
246
247
|
const SettableSocketOption& option, boost::system::error_code& ec)
|
|
247
248
|
{
|
|
248
|
-
|
|
249
|
+
service_impl_.set_option(impl, option, ec);
|
|
250
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
249
251
|
}
|
|
250
252
|
|
|
251
253
|
/// Get a socket option.
|
|
252
254
|
template <typename GettableSocketOption>
|
|
253
|
-
|
|
255
|
+
BOOST_ASIO_SYNC_OP_VOID get_option(const implementation_type& impl,
|
|
254
256
|
GettableSocketOption& option, boost::system::error_code& ec) const
|
|
255
257
|
{
|
|
256
|
-
|
|
258
|
+
service_impl_.get_option(impl, option, ec);
|
|
259
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
257
260
|
}
|
|
258
261
|
|
|
259
262
|
/// Perform an IO control command on the socket.
|
|
260
263
|
template <typename IoControlCommand>
|
|
261
|
-
|
|
264
|
+
BOOST_ASIO_SYNC_OP_VOID io_control(implementation_type& impl,
|
|
262
265
|
IoControlCommand& command, boost::system::error_code& ec)
|
|
263
266
|
{
|
|
264
|
-
|
|
267
|
+
service_impl_.io_control(impl, command, ec);
|
|
268
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
265
269
|
}
|
|
266
270
|
|
|
267
271
|
/// Gets the non-blocking mode of the socket.
|
|
@@ -271,10 +275,11 @@ public:
|
|
|
271
275
|
}
|
|
272
276
|
|
|
273
277
|
/// Sets the non-blocking mode of the socket.
|
|
274
|
-
|
|
278
|
+
BOOST_ASIO_SYNC_OP_VOID non_blocking(implementation_type& impl,
|
|
275
279
|
bool mode, boost::system::error_code& ec)
|
|
276
280
|
{
|
|
277
|
-
|
|
281
|
+
service_impl_.non_blocking(impl, mode, ec);
|
|
282
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
278
283
|
}
|
|
279
284
|
|
|
280
285
|
/// Gets the non-blocking mode of the native socket implementation.
|
|
@@ -284,10 +289,11 @@ public:
|
|
|
284
289
|
}
|
|
285
290
|
|
|
286
291
|
/// Sets the non-blocking mode of the native socket implementation.
|
|
287
|
-
|
|
292
|
+
BOOST_ASIO_SYNC_OP_VOID native_non_blocking(implementation_type& impl,
|
|
288
293
|
bool mode, boost::system::error_code& ec)
|
|
289
294
|
{
|
|
290
|
-
|
|
295
|
+
service_impl_.native_non_blocking(impl, mode, ec);
|
|
296
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
291
297
|
}
|
|
292
298
|
|
|
293
299
|
/// Get the local endpoint.
|
|
@@ -305,10 +311,36 @@ public:
|
|
|
305
311
|
}
|
|
306
312
|
|
|
307
313
|
/// Disable sends or receives on the socket.
|
|
308
|
-
|
|
314
|
+
BOOST_ASIO_SYNC_OP_VOID shutdown(implementation_type& impl,
|
|
309
315
|
socket_base::shutdown_type what, boost::system::error_code& ec)
|
|
310
316
|
{
|
|
311
|
-
|
|
317
|
+
service_impl_.shutdown(impl, what, ec);
|
|
318
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
/// Wait for the socket to become ready to read, ready to write, or to have
|
|
322
|
+
/// pending error conditions.
|
|
323
|
+
BOOST_ASIO_SYNC_OP_VOID wait(implementation_type& impl,
|
|
324
|
+
socket_base::wait_type w, boost::system::error_code& ec)
|
|
325
|
+
{
|
|
326
|
+
service_impl_.wait(impl, w, ec);
|
|
327
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
/// Asynchronously wait for the socket to become ready to read, ready to
|
|
331
|
+
/// write, or to have pending error conditions.
|
|
332
|
+
template <typename WaitHandler>
|
|
333
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(WaitHandler,
|
|
334
|
+
void (boost::system::error_code))
|
|
335
|
+
async_wait(implementation_type& impl, socket_base::wait_type w,
|
|
336
|
+
BOOST_ASIO_MOVE_ARG(WaitHandler) handler)
|
|
337
|
+
{
|
|
338
|
+
async_completion<WaitHandler,
|
|
339
|
+
void (boost::system::error_code)> init(handler);
|
|
340
|
+
|
|
341
|
+
service_impl_.async_wait(impl, w, init.completion_handler);
|
|
342
|
+
|
|
343
|
+
return init.result.get();
|
|
312
344
|
}
|
|
313
345
|
|
|
314
346
|
/// Send the given data to the peer.
|
|
@@ -329,11 +361,10 @@ public:
|
|
|
329
361
|
socket_base::message_flags flags,
|
|
330
362
|
BOOST_ASIO_MOVE_ARG(WriteHandler) handler)
|
|
331
363
|
{
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
BOOST_ASIO_MOVE_CAST(WriteHandler)(handler));
|
|
364
|
+
async_completion<WriteHandler,
|
|
365
|
+
void (boost::system::error_code, std::size_t)> init(handler);
|
|
335
366
|
|
|
336
|
-
service_impl_.async_send(impl, buffers, flags, init.
|
|
367
|
+
service_impl_.async_send(impl, buffers, flags, init.completion_handler);
|
|
337
368
|
|
|
338
369
|
return init.result.get();
|
|
339
370
|
}
|
|
@@ -357,21 +388,20 @@ public:
|
|
|
357
388
|
socket_base::message_flags& out_flags,
|
|
358
389
|
BOOST_ASIO_MOVE_ARG(ReadHandler) handler)
|
|
359
390
|
{
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
BOOST_ASIO_MOVE_CAST(ReadHandler)(handler));
|
|
391
|
+
async_completion<ReadHandler,
|
|
392
|
+
void (boost::system::error_code, std::size_t)> init(handler);
|
|
363
393
|
|
|
364
394
|
service_impl_.async_receive_with_flags(impl,
|
|
365
|
-
buffers, in_flags, out_flags, init.
|
|
395
|
+
buffers, in_flags, out_flags, init.completion_handler);
|
|
366
396
|
|
|
367
397
|
return init.result.get();
|
|
368
398
|
}
|
|
369
399
|
|
|
370
400
|
private:
|
|
371
401
|
// Destroy all user-defined handler objects owned by the service.
|
|
372
|
-
void
|
|
402
|
+
void shutdown()
|
|
373
403
|
{
|
|
374
|
-
service_impl_.
|
|
404
|
+
service_impl_.shutdown();
|
|
375
405
|
}
|
|
376
406
|
|
|
377
407
|
// The platform-specific implementation.
|
|
@@ -383,4 +413,6 @@ private:
|
|
|
383
413
|
|
|
384
414
|
#include <boost/asio/detail/pop_options.hpp>
|
|
385
415
|
|
|
416
|
+
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
417
|
+
|
|
386
418
|
#endif // BOOST_ASIO_SEQ_PACKET_SOCKET_SERVICE_HPP
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// serial_port.hpp
|
|
3
3
|
// ~~~~~~~~~~~~~~~
|
|
4
4
|
//
|
|
5
|
-
// Copyright (c) 2003-
|
|
5
|
+
// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
|
6
6
|
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
|
|
7
7
|
//
|
|
8
8
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
@@ -21,17 +21,750 @@
|
|
|
21
21
|
#if defined(BOOST_ASIO_HAS_SERIAL_PORT) \
|
|
22
22
|
|| defined(GENERATING_DOCUMENTATION)
|
|
23
23
|
|
|
24
|
-
#include <
|
|
24
|
+
#include <string>
|
|
25
|
+
#include <boost/asio/async_result.hpp>
|
|
26
|
+
#include <boost/asio/basic_io_object.hpp>
|
|
27
|
+
#include <boost/asio/detail/handler_type_requirements.hpp>
|
|
28
|
+
#include <boost/asio/detail/throw_error.hpp>
|
|
29
|
+
#include <boost/asio/error.hpp>
|
|
30
|
+
#include <boost/asio/io_context.hpp>
|
|
31
|
+
#include <boost/asio/serial_port_base.hpp>
|
|
32
|
+
|
|
33
|
+
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
34
|
+
# include <utility>
|
|
35
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
36
|
+
|
|
37
|
+
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
38
|
+
# include <boost/asio/basic_serial_port.hpp>
|
|
39
|
+
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
40
|
+
# if defined(BOOST_ASIO_HAS_IOCP)
|
|
41
|
+
# include <boost/asio/detail/win_iocp_serial_port_service.hpp>
|
|
42
|
+
# define BOOST_ASIO_SVC_T detail::win_iocp_serial_port_service
|
|
43
|
+
# else
|
|
44
|
+
# include <boost/asio/detail/reactive_serial_port_service.hpp>
|
|
45
|
+
# define BOOST_ASIO_SVC_T detail::reactive_serial_port_service
|
|
46
|
+
# endif
|
|
47
|
+
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
48
|
+
|
|
49
|
+
#include <boost/asio/detail/push_options.hpp>
|
|
25
50
|
|
|
26
51
|
namespace boost {
|
|
27
52
|
namespace asio {
|
|
28
53
|
|
|
29
|
-
|
|
54
|
+
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
55
|
+
// Typedef for the typical usage of a serial port.
|
|
30
56
|
typedef basic_serial_port<> serial_port;
|
|
57
|
+
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
58
|
+
/// Provides serial port functionality.
|
|
59
|
+
/**
|
|
60
|
+
* The serial_port class provides a wrapper over serial port functionality.
|
|
61
|
+
*
|
|
62
|
+
* @par Thread Safety
|
|
63
|
+
* @e Distinct @e objects: Safe.@n
|
|
64
|
+
* @e Shared @e objects: Unsafe.
|
|
65
|
+
*/
|
|
66
|
+
class serial_port
|
|
67
|
+
: BOOST_ASIO_SVC_ACCESS basic_io_object<BOOST_ASIO_SVC_T>,
|
|
68
|
+
public serial_port_base
|
|
69
|
+
{
|
|
70
|
+
public:
|
|
71
|
+
/// The type of the executor associated with the object.
|
|
72
|
+
typedef io_context::executor_type executor_type;
|
|
73
|
+
|
|
74
|
+
/// The native representation of a serial port.
|
|
75
|
+
#if defined(GENERATING_DOCUMENTATION)
|
|
76
|
+
typedef implementation_defined native_handle_type;
|
|
77
|
+
#else
|
|
78
|
+
typedef BOOST_ASIO_SVC_T::native_handle_type native_handle_type;
|
|
79
|
+
#endif
|
|
80
|
+
|
|
81
|
+
/// A basic_serial_port is always the lowest layer.
|
|
82
|
+
typedef serial_port lowest_layer_type;
|
|
83
|
+
|
|
84
|
+
/// Construct a serial_port without opening it.
|
|
85
|
+
/**
|
|
86
|
+
* This constructor creates a serial port without opening it.
|
|
87
|
+
*
|
|
88
|
+
* @param io_context The io_context object that the serial port will use to
|
|
89
|
+
* dispatch handlers for any asynchronous operations performed on the port.
|
|
90
|
+
*/
|
|
91
|
+
explicit serial_port(boost::asio::io_context& io_context)
|
|
92
|
+
: basic_io_object<BOOST_ASIO_SVC_T>(io_context)
|
|
93
|
+
{
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/// Construct and open a serial_port.
|
|
97
|
+
/**
|
|
98
|
+
* This constructor creates and opens a serial port for the specified device
|
|
99
|
+
* name.
|
|
100
|
+
*
|
|
101
|
+
* @param io_context The io_context object that the serial port will use to
|
|
102
|
+
* dispatch handlers for any asynchronous operations performed on the port.
|
|
103
|
+
*
|
|
104
|
+
* @param device The platform-specific device name for this serial
|
|
105
|
+
* port.
|
|
106
|
+
*/
|
|
107
|
+
explicit serial_port(boost::asio::io_context& io_context,
|
|
108
|
+
const char* device)
|
|
109
|
+
: basic_io_object<BOOST_ASIO_SVC_T>(io_context)
|
|
110
|
+
{
|
|
111
|
+
boost::system::error_code ec;
|
|
112
|
+
this->get_service().open(this->get_implementation(), device, ec);
|
|
113
|
+
boost::asio::detail::throw_error(ec, "open");
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/// Construct and open a serial_port.
|
|
117
|
+
/**
|
|
118
|
+
* This constructor creates and opens a serial port for the specified device
|
|
119
|
+
* name.
|
|
120
|
+
*
|
|
121
|
+
* @param io_context The io_context object that the serial port will use to
|
|
122
|
+
* dispatch handlers for any asynchronous operations performed on the port.
|
|
123
|
+
*
|
|
124
|
+
* @param device The platform-specific device name for this serial
|
|
125
|
+
* port.
|
|
126
|
+
*/
|
|
127
|
+
explicit serial_port(boost::asio::io_context& io_context,
|
|
128
|
+
const std::string& device)
|
|
129
|
+
: basic_io_object<BOOST_ASIO_SVC_T>(io_context)
|
|
130
|
+
{
|
|
131
|
+
boost::system::error_code ec;
|
|
132
|
+
this->get_service().open(this->get_implementation(), device, ec);
|
|
133
|
+
boost::asio::detail::throw_error(ec, "open");
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/// Construct a serial_port on an existing native serial port.
|
|
137
|
+
/**
|
|
138
|
+
* This constructor creates a serial port object to hold an existing native
|
|
139
|
+
* serial port.
|
|
140
|
+
*
|
|
141
|
+
* @param io_context The io_context object that the serial port will use to
|
|
142
|
+
* dispatch handlers for any asynchronous operations performed on the port.
|
|
143
|
+
*
|
|
144
|
+
* @param native_serial_port A native serial port.
|
|
145
|
+
*
|
|
146
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
147
|
+
*/
|
|
148
|
+
serial_port(boost::asio::io_context& io_context,
|
|
149
|
+
const native_handle_type& native_serial_port)
|
|
150
|
+
: basic_io_object<BOOST_ASIO_SVC_T>(io_context)
|
|
151
|
+
{
|
|
152
|
+
boost::system::error_code ec;
|
|
153
|
+
this->get_service().assign(this->get_implementation(),
|
|
154
|
+
native_serial_port, ec);
|
|
155
|
+
boost::asio::detail::throw_error(ec, "assign");
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
159
|
+
/// Move-construct a serial_port from another.
|
|
160
|
+
/**
|
|
161
|
+
* This constructor moves a serial port from one object to another.
|
|
162
|
+
*
|
|
163
|
+
* @param other The other serial_port object from which the move will
|
|
164
|
+
* occur.
|
|
165
|
+
*
|
|
166
|
+
* @note Following the move, the moved-from object is in the same state as if
|
|
167
|
+
* constructed using the @c serial_port(io_context&) constructor.
|
|
168
|
+
*/
|
|
169
|
+
serial_port(serial_port&& other)
|
|
170
|
+
: basic_io_object<BOOST_ASIO_SVC_T>(std::move(other))
|
|
171
|
+
{
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/// Move-assign a serial_port from another.
|
|
175
|
+
/**
|
|
176
|
+
* This assignment operator moves a serial port from one object to another.
|
|
177
|
+
*
|
|
178
|
+
* @param other The other serial_port object from which the move will
|
|
179
|
+
* occur.
|
|
180
|
+
*
|
|
181
|
+
* @note Following the move, the moved-from object is in the same state as if
|
|
182
|
+
* constructed using the @c serial_port(io_context&) constructor.
|
|
183
|
+
*/
|
|
184
|
+
serial_port& operator=(serial_port&& other)
|
|
185
|
+
{
|
|
186
|
+
basic_io_object<BOOST_ASIO_SVC_T>::operator=(std::move(other));
|
|
187
|
+
return *this;
|
|
188
|
+
}
|
|
189
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
190
|
+
|
|
191
|
+
/// Destroys the serial port.
|
|
192
|
+
/**
|
|
193
|
+
* This function destroys the serial port, cancelling any outstanding
|
|
194
|
+
* asynchronous wait operations associated with the serial port as if by
|
|
195
|
+
* calling @c cancel.
|
|
196
|
+
*/
|
|
197
|
+
~serial_port()
|
|
198
|
+
{
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
202
|
+
/// (Deprecated: Use get_executor().) Get the io_context associated with the
|
|
203
|
+
/// object.
|
|
204
|
+
/**
|
|
205
|
+
* This function may be used to obtain the io_context object that the I/O
|
|
206
|
+
* object uses to dispatch handlers for asynchronous operations.
|
|
207
|
+
*
|
|
208
|
+
* @return A reference to the io_context object that the I/O object will use
|
|
209
|
+
* to dispatch handlers. Ownership is not transferred to the caller.
|
|
210
|
+
*/
|
|
211
|
+
boost::asio::io_context& get_io_context()
|
|
212
|
+
{
|
|
213
|
+
return basic_io_object<BOOST_ASIO_SVC_T>::get_io_context();
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/// (Deprecated: Use get_executor().) Get the io_context associated with the
|
|
217
|
+
/// object.
|
|
218
|
+
/**
|
|
219
|
+
* This function may be used to obtain the io_context object that the I/O
|
|
220
|
+
* object uses to dispatch handlers for asynchronous operations.
|
|
221
|
+
*
|
|
222
|
+
* @return A reference to the io_context object that the I/O object will use
|
|
223
|
+
* to dispatch handlers. Ownership is not transferred to the caller.
|
|
224
|
+
*/
|
|
225
|
+
boost::asio::io_context& get_io_service()
|
|
226
|
+
{
|
|
227
|
+
return basic_io_object<BOOST_ASIO_SVC_T>::get_io_service();
|
|
228
|
+
}
|
|
229
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
230
|
+
|
|
231
|
+
/// Get the executor associated with the object.
|
|
232
|
+
executor_type get_executor() BOOST_ASIO_NOEXCEPT
|
|
233
|
+
{
|
|
234
|
+
return basic_io_object<BOOST_ASIO_SVC_T>::get_executor();
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/// Get a reference to the lowest layer.
|
|
238
|
+
/**
|
|
239
|
+
* This function returns a reference to the lowest layer in a stack of
|
|
240
|
+
* layers. Since a serial_port cannot contain any further layers, it simply
|
|
241
|
+
* returns a reference to itself.
|
|
242
|
+
*
|
|
243
|
+
* @return A reference to the lowest layer in the stack of layers. Ownership
|
|
244
|
+
* is not transferred to the caller.
|
|
245
|
+
*/
|
|
246
|
+
lowest_layer_type& lowest_layer()
|
|
247
|
+
{
|
|
248
|
+
return *this;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/// Get a const reference to the lowest layer.
|
|
252
|
+
/**
|
|
253
|
+
* This function returns a const reference to the lowest layer in a stack of
|
|
254
|
+
* layers. Since a serial_port cannot contain any further layers, it simply
|
|
255
|
+
* returns a reference to itself.
|
|
256
|
+
*
|
|
257
|
+
* @return A const reference to the lowest layer in the stack of layers.
|
|
258
|
+
* Ownership is not transferred to the caller.
|
|
259
|
+
*/
|
|
260
|
+
const lowest_layer_type& lowest_layer() const
|
|
261
|
+
{
|
|
262
|
+
return *this;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/// Open the serial port using the specified device name.
|
|
266
|
+
/**
|
|
267
|
+
* This function opens the serial port for the specified device name.
|
|
268
|
+
*
|
|
269
|
+
* @param device The platform-specific device name.
|
|
270
|
+
*
|
|
271
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
272
|
+
*/
|
|
273
|
+
void open(const std::string& device)
|
|
274
|
+
{
|
|
275
|
+
boost::system::error_code ec;
|
|
276
|
+
this->get_service().open(this->get_implementation(), device, ec);
|
|
277
|
+
boost::asio::detail::throw_error(ec, "open");
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/// Open the serial port using the specified device name.
|
|
281
|
+
/**
|
|
282
|
+
* This function opens the serial port using the given platform-specific
|
|
283
|
+
* device name.
|
|
284
|
+
*
|
|
285
|
+
* @param device The platform-specific device name.
|
|
286
|
+
*
|
|
287
|
+
* @param ec Set the indicate what error occurred, if any.
|
|
288
|
+
*/
|
|
289
|
+
BOOST_ASIO_SYNC_OP_VOID open(const std::string& device,
|
|
290
|
+
boost::system::error_code& ec)
|
|
291
|
+
{
|
|
292
|
+
this->get_service().open(this->get_implementation(), device, ec);
|
|
293
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/// Assign an existing native serial port to the serial port.
|
|
297
|
+
/*
|
|
298
|
+
* This function opens the serial port to hold an existing native serial port.
|
|
299
|
+
*
|
|
300
|
+
* @param native_serial_port A native serial port.
|
|
301
|
+
*
|
|
302
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
303
|
+
*/
|
|
304
|
+
void assign(const native_handle_type& native_serial_port)
|
|
305
|
+
{
|
|
306
|
+
boost::system::error_code ec;
|
|
307
|
+
this->get_service().assign(this->get_implementation(),
|
|
308
|
+
native_serial_port, ec);
|
|
309
|
+
boost::asio::detail::throw_error(ec, "assign");
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/// Assign an existing native serial port to the serial port.
|
|
313
|
+
/*
|
|
314
|
+
* This function opens the serial port to hold an existing native serial port.
|
|
315
|
+
*
|
|
316
|
+
* @param native_serial_port A native serial port.
|
|
317
|
+
*
|
|
318
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
319
|
+
*/
|
|
320
|
+
BOOST_ASIO_SYNC_OP_VOID assign(const native_handle_type& native_serial_port,
|
|
321
|
+
boost::system::error_code& ec)
|
|
322
|
+
{
|
|
323
|
+
this->get_service().assign(this->get_implementation(),
|
|
324
|
+
native_serial_port, ec);
|
|
325
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/// Determine whether the serial port is open.
|
|
329
|
+
bool is_open() const
|
|
330
|
+
{
|
|
331
|
+
return this->get_service().is_open(this->get_implementation());
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/// Close the serial port.
|
|
335
|
+
/**
|
|
336
|
+
* This function is used to close the serial port. Any asynchronous read or
|
|
337
|
+
* write operations will be cancelled immediately, and will complete with the
|
|
338
|
+
* boost::asio::error::operation_aborted error.
|
|
339
|
+
*
|
|
340
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
341
|
+
*/
|
|
342
|
+
void close()
|
|
343
|
+
{
|
|
344
|
+
boost::system::error_code ec;
|
|
345
|
+
this->get_service().close(this->get_implementation(), ec);
|
|
346
|
+
boost::asio::detail::throw_error(ec, "close");
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/// Close the serial port.
|
|
350
|
+
/**
|
|
351
|
+
* This function is used to close the serial port. Any asynchronous read or
|
|
352
|
+
* write operations will be cancelled immediately, and will complete with the
|
|
353
|
+
* boost::asio::error::operation_aborted error.
|
|
354
|
+
*
|
|
355
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
356
|
+
*/
|
|
357
|
+
BOOST_ASIO_SYNC_OP_VOID close(boost::system::error_code& ec)
|
|
358
|
+
{
|
|
359
|
+
this->get_service().close(this->get_implementation(), ec);
|
|
360
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
/// Get the native serial port representation.
|
|
364
|
+
/**
|
|
365
|
+
* This function may be used to obtain the underlying representation of the
|
|
366
|
+
* serial port. This is intended to allow access to native serial port
|
|
367
|
+
* functionality that is not otherwise provided.
|
|
368
|
+
*/
|
|
369
|
+
native_handle_type native_handle()
|
|
370
|
+
{
|
|
371
|
+
return this->get_service().native_handle(this->get_implementation());
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
/// Cancel all asynchronous operations associated with the serial port.
|
|
375
|
+
/**
|
|
376
|
+
* This function causes all outstanding asynchronous read or write operations
|
|
377
|
+
* to finish immediately, and the handlers for cancelled operations will be
|
|
378
|
+
* passed the boost::asio::error::operation_aborted error.
|
|
379
|
+
*
|
|
380
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
381
|
+
*/
|
|
382
|
+
void cancel()
|
|
383
|
+
{
|
|
384
|
+
boost::system::error_code ec;
|
|
385
|
+
this->get_service().cancel(this->get_implementation(), ec);
|
|
386
|
+
boost::asio::detail::throw_error(ec, "cancel");
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
/// Cancel all asynchronous operations associated with the serial port.
|
|
390
|
+
/**
|
|
391
|
+
* This function causes all outstanding asynchronous read or write operations
|
|
392
|
+
* to finish immediately, and the handlers for cancelled operations will be
|
|
393
|
+
* passed the boost::asio::error::operation_aborted error.
|
|
394
|
+
*
|
|
395
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
396
|
+
*/
|
|
397
|
+
BOOST_ASIO_SYNC_OP_VOID cancel(boost::system::error_code& ec)
|
|
398
|
+
{
|
|
399
|
+
this->get_service().cancel(this->get_implementation(), ec);
|
|
400
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/// Send a break sequence to the serial port.
|
|
404
|
+
/**
|
|
405
|
+
* This function causes a break sequence of platform-specific duration to be
|
|
406
|
+
* sent out the serial port.
|
|
407
|
+
*
|
|
408
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
409
|
+
*/
|
|
410
|
+
void send_break()
|
|
411
|
+
{
|
|
412
|
+
boost::system::error_code ec;
|
|
413
|
+
this->get_service().send_break(this->get_implementation(), ec);
|
|
414
|
+
boost::asio::detail::throw_error(ec, "send_break");
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/// Send a break sequence to the serial port.
|
|
418
|
+
/**
|
|
419
|
+
* This function causes a break sequence of platform-specific duration to be
|
|
420
|
+
* sent out the serial port.
|
|
421
|
+
*
|
|
422
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
423
|
+
*/
|
|
424
|
+
BOOST_ASIO_SYNC_OP_VOID send_break(boost::system::error_code& ec)
|
|
425
|
+
{
|
|
426
|
+
this->get_service().send_break(this->get_implementation(), ec);
|
|
427
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/// Set an option on the serial port.
|
|
431
|
+
/**
|
|
432
|
+
* This function is used to set an option on the serial port.
|
|
433
|
+
*
|
|
434
|
+
* @param option The option value to be set on the serial port.
|
|
435
|
+
*
|
|
436
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
437
|
+
*
|
|
438
|
+
* @sa SettableSerialPortOption @n
|
|
439
|
+
* boost::asio::serial_port_base::baud_rate @n
|
|
440
|
+
* boost::asio::serial_port_base::flow_control @n
|
|
441
|
+
* boost::asio::serial_port_base::parity @n
|
|
442
|
+
* boost::asio::serial_port_base::stop_bits @n
|
|
443
|
+
* boost::asio::serial_port_base::character_size
|
|
444
|
+
*/
|
|
445
|
+
template <typename SettableSerialPortOption>
|
|
446
|
+
void set_option(const SettableSerialPortOption& option)
|
|
447
|
+
{
|
|
448
|
+
boost::system::error_code ec;
|
|
449
|
+
this->get_service().set_option(this->get_implementation(), option, ec);
|
|
450
|
+
boost::asio::detail::throw_error(ec, "set_option");
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
/// Set an option on the serial port.
|
|
454
|
+
/**
|
|
455
|
+
* This function is used to set an option on the serial port.
|
|
456
|
+
*
|
|
457
|
+
* @param option The option value to be set on the serial port.
|
|
458
|
+
*
|
|
459
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
460
|
+
*
|
|
461
|
+
* @sa SettableSerialPortOption @n
|
|
462
|
+
* boost::asio::serial_port_base::baud_rate @n
|
|
463
|
+
* boost::asio::serial_port_base::flow_control @n
|
|
464
|
+
* boost::asio::serial_port_base::parity @n
|
|
465
|
+
* boost::asio::serial_port_base::stop_bits @n
|
|
466
|
+
* boost::asio::serial_port_base::character_size
|
|
467
|
+
*/
|
|
468
|
+
template <typename SettableSerialPortOption>
|
|
469
|
+
BOOST_ASIO_SYNC_OP_VOID set_option(const SettableSerialPortOption& option,
|
|
470
|
+
boost::system::error_code& ec)
|
|
471
|
+
{
|
|
472
|
+
this->get_service().set_option(this->get_implementation(), option, ec);
|
|
473
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
/// Get an option from the serial port.
|
|
477
|
+
/**
|
|
478
|
+
* This function is used to get the current value of an option on the serial
|
|
479
|
+
* port.
|
|
480
|
+
*
|
|
481
|
+
* @param option The option value to be obtained from the serial port.
|
|
482
|
+
*
|
|
483
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
484
|
+
*
|
|
485
|
+
* @sa GettableSerialPortOption @n
|
|
486
|
+
* boost::asio::serial_port_base::baud_rate @n
|
|
487
|
+
* boost::asio::serial_port_base::flow_control @n
|
|
488
|
+
* boost::asio::serial_port_base::parity @n
|
|
489
|
+
* boost::asio::serial_port_base::stop_bits @n
|
|
490
|
+
* boost::asio::serial_port_base::character_size
|
|
491
|
+
*/
|
|
492
|
+
template <typename GettableSerialPortOption>
|
|
493
|
+
void get_option(GettableSerialPortOption& option)
|
|
494
|
+
{
|
|
495
|
+
boost::system::error_code ec;
|
|
496
|
+
this->get_service().get_option(this->get_implementation(), option, ec);
|
|
497
|
+
boost::asio::detail::throw_error(ec, "get_option");
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
/// Get an option from the serial port.
|
|
501
|
+
/**
|
|
502
|
+
* This function is used to get the current value of an option on the serial
|
|
503
|
+
* port.
|
|
504
|
+
*
|
|
505
|
+
* @param option The option value to be obtained from the serial port.
|
|
506
|
+
*
|
|
507
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
508
|
+
*
|
|
509
|
+
* @sa GettableSerialPortOption @n
|
|
510
|
+
* boost::asio::serial_port_base::baud_rate @n
|
|
511
|
+
* boost::asio::serial_port_base::flow_control @n
|
|
512
|
+
* boost::asio::serial_port_base::parity @n
|
|
513
|
+
* boost::asio::serial_port_base::stop_bits @n
|
|
514
|
+
* boost::asio::serial_port_base::character_size
|
|
515
|
+
*/
|
|
516
|
+
template <typename GettableSerialPortOption>
|
|
517
|
+
BOOST_ASIO_SYNC_OP_VOID get_option(GettableSerialPortOption& option,
|
|
518
|
+
boost::system::error_code& ec)
|
|
519
|
+
{
|
|
520
|
+
this->get_service().get_option(this->get_implementation(), option, ec);
|
|
521
|
+
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
/// Write some data to the serial port.
|
|
525
|
+
/**
|
|
526
|
+
* This function is used to write data to the serial port. The function call
|
|
527
|
+
* will block until one or more bytes of the data has been written
|
|
528
|
+
* successfully, or until an error occurs.
|
|
529
|
+
*
|
|
530
|
+
* @param buffers One or more data buffers to be written to the serial port.
|
|
531
|
+
*
|
|
532
|
+
* @returns The number of bytes written.
|
|
533
|
+
*
|
|
534
|
+
* @throws boost::system::system_error Thrown on failure. An error code of
|
|
535
|
+
* boost::asio::error::eof indicates that the connection was closed by the
|
|
536
|
+
* peer.
|
|
537
|
+
*
|
|
538
|
+
* @note The write_some operation may not transmit all of the data to the
|
|
539
|
+
* peer. Consider using the @ref write function if you need to ensure that
|
|
540
|
+
* all data is written before the blocking operation completes.
|
|
541
|
+
*
|
|
542
|
+
* @par Example
|
|
543
|
+
* To write a single data buffer use the @ref buffer function as follows:
|
|
544
|
+
* @code
|
|
545
|
+
* serial_port.write_some(boost::asio::buffer(data, size));
|
|
546
|
+
* @endcode
|
|
547
|
+
* See the @ref buffer documentation for information on writing multiple
|
|
548
|
+
* buffers in one go, and how to use it with arrays, boost::array or
|
|
549
|
+
* std::vector.
|
|
550
|
+
*/
|
|
551
|
+
template <typename ConstBufferSequence>
|
|
552
|
+
std::size_t write_some(const ConstBufferSequence& buffers)
|
|
553
|
+
{
|
|
554
|
+
boost::system::error_code ec;
|
|
555
|
+
std::size_t s = this->get_service().write_some(
|
|
556
|
+
this->get_implementation(), buffers, ec);
|
|
557
|
+
boost::asio::detail::throw_error(ec, "write_some");
|
|
558
|
+
return s;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
/// Write some data to the serial port.
|
|
562
|
+
/**
|
|
563
|
+
* This function is used to write data to the serial port. The function call
|
|
564
|
+
* will block until one or more bytes of the data has been written
|
|
565
|
+
* successfully, or until an error occurs.
|
|
566
|
+
*
|
|
567
|
+
* @param buffers One or more data buffers to be written to the serial port.
|
|
568
|
+
*
|
|
569
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
570
|
+
*
|
|
571
|
+
* @returns The number of bytes written. Returns 0 if an error occurred.
|
|
572
|
+
*
|
|
573
|
+
* @note The write_some operation may not transmit all of the data to the
|
|
574
|
+
* peer. Consider using the @ref write function if you need to ensure that
|
|
575
|
+
* all data is written before the blocking operation completes.
|
|
576
|
+
*/
|
|
577
|
+
template <typename ConstBufferSequence>
|
|
578
|
+
std::size_t write_some(const ConstBufferSequence& buffers,
|
|
579
|
+
boost::system::error_code& ec)
|
|
580
|
+
{
|
|
581
|
+
return this->get_service().write_some(
|
|
582
|
+
this->get_implementation(), buffers, ec);
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
/// Start an asynchronous write.
|
|
586
|
+
/**
|
|
587
|
+
* This function is used to asynchronously write data to the serial port.
|
|
588
|
+
* The function call always returns immediately.
|
|
589
|
+
*
|
|
590
|
+
* @param buffers One or more data buffers to be written to the serial port.
|
|
591
|
+
* Although the buffers object may be copied as necessary, ownership of the
|
|
592
|
+
* underlying memory blocks is retained by the caller, which must guarantee
|
|
593
|
+
* that they remain valid until the handler is called.
|
|
594
|
+
*
|
|
595
|
+
* @param handler The handler to be called when the write operation completes.
|
|
596
|
+
* Copies will be made of the handler as required. The function signature of
|
|
597
|
+
* the handler must be:
|
|
598
|
+
* @code void handler(
|
|
599
|
+
* const boost::system::error_code& error, // Result of operation.
|
|
600
|
+
* std::size_t bytes_transferred // Number of bytes written.
|
|
601
|
+
* ); @endcode
|
|
602
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
|
603
|
+
* not, the handler will not be invoked from within this function. Invocation
|
|
604
|
+
* of the handler will be performed in a manner equivalent to using
|
|
605
|
+
* boost::asio::io_context::post().
|
|
606
|
+
*
|
|
607
|
+
* @note The write operation may not transmit all of the data to the peer.
|
|
608
|
+
* Consider using the @ref async_write function if you need to ensure that all
|
|
609
|
+
* data is written before the asynchronous operation completes.
|
|
610
|
+
*
|
|
611
|
+
* @par Example
|
|
612
|
+
* To write a single data buffer use the @ref buffer function as follows:
|
|
613
|
+
* @code
|
|
614
|
+
* serial_port.async_write_some(boost::asio::buffer(data, size), handler);
|
|
615
|
+
* @endcode
|
|
616
|
+
* See the @ref buffer documentation for information on writing multiple
|
|
617
|
+
* buffers in one go, and how to use it with arrays, boost::array or
|
|
618
|
+
* std::vector.
|
|
619
|
+
*/
|
|
620
|
+
template <typename ConstBufferSequence, typename WriteHandler>
|
|
621
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
|
|
622
|
+
void (boost::system::error_code, std::size_t))
|
|
623
|
+
async_write_some(const ConstBufferSequence& buffers,
|
|
624
|
+
BOOST_ASIO_MOVE_ARG(WriteHandler) handler)
|
|
625
|
+
{
|
|
626
|
+
// If you get an error on the following line it means that your handler does
|
|
627
|
+
// not meet the documented type requirements for a WriteHandler.
|
|
628
|
+
BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check;
|
|
629
|
+
|
|
630
|
+
async_completion<WriteHandler,
|
|
631
|
+
void (boost::system::error_code, std::size_t)> init(handler);
|
|
632
|
+
|
|
633
|
+
this->get_service().async_write_some(
|
|
634
|
+
this->get_implementation(), buffers, init.completion_handler);
|
|
635
|
+
|
|
636
|
+
return init.result.get();
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
/// Read some data from the serial port.
|
|
640
|
+
/**
|
|
641
|
+
* This function is used to read data from the serial port. The function
|
|
642
|
+
* call will block until one or more bytes of data has been read successfully,
|
|
643
|
+
* or until an error occurs.
|
|
644
|
+
*
|
|
645
|
+
* @param buffers One or more buffers into which the data will be read.
|
|
646
|
+
*
|
|
647
|
+
* @returns The number of bytes read.
|
|
648
|
+
*
|
|
649
|
+
* @throws boost::system::system_error Thrown on failure. An error code of
|
|
650
|
+
* boost::asio::error::eof indicates that the connection was closed by the
|
|
651
|
+
* peer.
|
|
652
|
+
*
|
|
653
|
+
* @note The read_some operation may not read all of the requested number of
|
|
654
|
+
* bytes. Consider using the @ref read function if you need to ensure that
|
|
655
|
+
* the requested amount of data is read before the blocking operation
|
|
656
|
+
* completes.
|
|
657
|
+
*
|
|
658
|
+
* @par Example
|
|
659
|
+
* To read into a single data buffer use the @ref buffer function as follows:
|
|
660
|
+
* @code
|
|
661
|
+
* serial_port.read_some(boost::asio::buffer(data, size));
|
|
662
|
+
* @endcode
|
|
663
|
+
* See the @ref buffer documentation for information on reading into multiple
|
|
664
|
+
* buffers in one go, and how to use it with arrays, boost::array or
|
|
665
|
+
* std::vector.
|
|
666
|
+
*/
|
|
667
|
+
template <typename MutableBufferSequence>
|
|
668
|
+
std::size_t read_some(const MutableBufferSequence& buffers)
|
|
669
|
+
{
|
|
670
|
+
boost::system::error_code ec;
|
|
671
|
+
std::size_t s = this->get_service().read_some(
|
|
672
|
+
this->get_implementation(), buffers, ec);
|
|
673
|
+
boost::asio::detail::throw_error(ec, "read_some");
|
|
674
|
+
return s;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
/// Read some data from the serial port.
|
|
678
|
+
/**
|
|
679
|
+
* This function is used to read data from the serial port. The function
|
|
680
|
+
* call will block until one or more bytes of data has been read successfully,
|
|
681
|
+
* or until an error occurs.
|
|
682
|
+
*
|
|
683
|
+
* @param buffers One or more buffers into which the data will be read.
|
|
684
|
+
*
|
|
685
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
686
|
+
*
|
|
687
|
+
* @returns The number of bytes read. Returns 0 if an error occurred.
|
|
688
|
+
*
|
|
689
|
+
* @note The read_some operation may not read all of the requested number of
|
|
690
|
+
* bytes. Consider using the @ref read function if you need to ensure that
|
|
691
|
+
* the requested amount of data is read before the blocking operation
|
|
692
|
+
* completes.
|
|
693
|
+
*/
|
|
694
|
+
template <typename MutableBufferSequence>
|
|
695
|
+
std::size_t read_some(const MutableBufferSequence& buffers,
|
|
696
|
+
boost::system::error_code& ec)
|
|
697
|
+
{
|
|
698
|
+
return this->get_service().read_some(
|
|
699
|
+
this->get_implementation(), buffers, ec);
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
/// Start an asynchronous read.
|
|
703
|
+
/**
|
|
704
|
+
* This function is used to asynchronously read data from the serial port.
|
|
705
|
+
* The function call always returns immediately.
|
|
706
|
+
*
|
|
707
|
+
* @param buffers One or more buffers into which the data will be read.
|
|
708
|
+
* Although the buffers object may be copied as necessary, ownership of the
|
|
709
|
+
* underlying memory blocks is retained by the caller, which must guarantee
|
|
710
|
+
* that they remain valid until the handler is called.
|
|
711
|
+
*
|
|
712
|
+
* @param handler The handler to be called when the read operation completes.
|
|
713
|
+
* Copies will be made of the handler as required. The function signature of
|
|
714
|
+
* the handler must be:
|
|
715
|
+
* @code void handler(
|
|
716
|
+
* const boost::system::error_code& error, // Result of operation.
|
|
717
|
+
* std::size_t bytes_transferred // Number of bytes read.
|
|
718
|
+
* ); @endcode
|
|
719
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
|
720
|
+
* not, the handler will not be invoked from within this function. Invocation
|
|
721
|
+
* of the handler will be performed in a manner equivalent to using
|
|
722
|
+
* boost::asio::io_context::post().
|
|
723
|
+
*
|
|
724
|
+
* @note The read operation may not read all of the requested number of bytes.
|
|
725
|
+
* Consider using the @ref async_read function if you need to ensure that the
|
|
726
|
+
* requested amount of data is read before the asynchronous operation
|
|
727
|
+
* completes.
|
|
728
|
+
*
|
|
729
|
+
* @par Example
|
|
730
|
+
* To read into a single data buffer use the @ref buffer function as follows:
|
|
731
|
+
* @code
|
|
732
|
+
* serial_port.async_read_some(boost::asio::buffer(data, size), handler);
|
|
733
|
+
* @endcode
|
|
734
|
+
* See the @ref buffer documentation for information on reading into multiple
|
|
735
|
+
* buffers in one go, and how to use it with arrays, boost::array or
|
|
736
|
+
* std::vector.
|
|
737
|
+
*/
|
|
738
|
+
template <typename MutableBufferSequence, typename ReadHandler>
|
|
739
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler,
|
|
740
|
+
void (boost::system::error_code, std::size_t))
|
|
741
|
+
async_read_some(const MutableBufferSequence& buffers,
|
|
742
|
+
BOOST_ASIO_MOVE_ARG(ReadHandler) handler)
|
|
743
|
+
{
|
|
744
|
+
// If you get an error on the following line it means that your handler does
|
|
745
|
+
// not meet the documented type requirements for a ReadHandler.
|
|
746
|
+
BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
|
|
747
|
+
|
|
748
|
+
async_completion<ReadHandler,
|
|
749
|
+
void (boost::system::error_code, std::size_t)> init(handler);
|
|
750
|
+
|
|
751
|
+
this->get_service().async_read_some(
|
|
752
|
+
this->get_implementation(), buffers, init.completion_handler);
|
|
753
|
+
|
|
754
|
+
return init.result.get();
|
|
755
|
+
}
|
|
756
|
+
};
|
|
757
|
+
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
31
758
|
|
|
32
759
|
} // namespace asio
|
|
33
760
|
} // namespace boost
|
|
34
761
|
|
|
762
|
+
#include <boost/asio/detail/pop_options.hpp>
|
|
763
|
+
|
|
764
|
+
#if !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
765
|
+
# undef BOOST_ASIO_SVC_T
|
|
766
|
+
#endif // !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
767
|
+
|
|
35
768
|
#endif // defined(BOOST_ASIO_HAS_SERIAL_PORT)
|
|
36
769
|
// || defined(GENERATING_DOCUMENTATION)
|
|
37
770
|
|