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
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
//
|
|
2
|
+
// ip/address_v6_range.hpp
|
|
3
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~
|
|
4
|
+
//
|
|
5
|
+
// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
|
6
|
+
// Oliver Kowalke (oliver dot kowalke at gmail dot com)
|
|
7
|
+
//
|
|
8
|
+
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
9
|
+
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
10
|
+
//
|
|
11
|
+
|
|
12
|
+
#ifndef BOOST_ASIO_IP_ADDRESS_V6_RANGE_HPP
|
|
13
|
+
#define BOOST_ASIO_IP_ADDRESS_V6_RANGE_HPP
|
|
14
|
+
|
|
15
|
+
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
|
16
|
+
# pragma once
|
|
17
|
+
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
|
18
|
+
|
|
19
|
+
#include <boost/asio/detail/config.hpp>
|
|
20
|
+
#include <boost/asio/ip/address_v6_iterator.hpp>
|
|
21
|
+
|
|
22
|
+
#include <boost/asio/detail/push_options.hpp>
|
|
23
|
+
|
|
24
|
+
namespace boost {
|
|
25
|
+
namespace asio {
|
|
26
|
+
namespace ip {
|
|
27
|
+
|
|
28
|
+
template <typename> class basic_address_range;
|
|
29
|
+
|
|
30
|
+
/// Represents a range of IPv6 addresses.
|
|
31
|
+
/**
|
|
32
|
+
* @par Thread Safety
|
|
33
|
+
* @e Distinct @e objects: Safe.@n
|
|
34
|
+
* @e Shared @e objects: Unsafe.
|
|
35
|
+
*/
|
|
36
|
+
template <> class basic_address_range<address_v6>
|
|
37
|
+
{
|
|
38
|
+
public:
|
|
39
|
+
/// The type of an iterator that points into the range.
|
|
40
|
+
typedef basic_address_iterator<address_v6> iterator;
|
|
41
|
+
|
|
42
|
+
/// Construct an empty range.
|
|
43
|
+
basic_address_range() BOOST_ASIO_NOEXCEPT
|
|
44
|
+
: begin_(address_v6()),
|
|
45
|
+
end_(address_v6())
|
|
46
|
+
{
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/// Construct an range that represents the given range of addresses.
|
|
50
|
+
explicit basic_address_range(const iterator& first,
|
|
51
|
+
const iterator& last) BOOST_ASIO_NOEXCEPT
|
|
52
|
+
: begin_(first),
|
|
53
|
+
end_(last)
|
|
54
|
+
{
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/// Copy constructor.
|
|
58
|
+
basic_address_range(const basic_address_range& other) BOOST_ASIO_NOEXCEPT
|
|
59
|
+
: begin_(other.begin_),
|
|
60
|
+
end_(other.end_)
|
|
61
|
+
{
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
65
|
+
/// Move constructor.
|
|
66
|
+
basic_address_range(basic_address_range&& other) BOOST_ASIO_NOEXCEPT
|
|
67
|
+
: begin_(BOOST_ASIO_MOVE_CAST(iterator)(other.begin_)),
|
|
68
|
+
end_(BOOST_ASIO_MOVE_CAST(iterator)(other.end_))
|
|
69
|
+
{
|
|
70
|
+
}
|
|
71
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
72
|
+
|
|
73
|
+
/// Assignment operator.
|
|
74
|
+
basic_address_range& operator=(
|
|
75
|
+
const basic_address_range& other) BOOST_ASIO_NOEXCEPT
|
|
76
|
+
{
|
|
77
|
+
begin_ = other.begin_;
|
|
78
|
+
end_ = other.end_;
|
|
79
|
+
return *this;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
83
|
+
/// Move assignment operator.
|
|
84
|
+
basic_address_range& operator=(
|
|
85
|
+
basic_address_range&& other) BOOST_ASIO_NOEXCEPT
|
|
86
|
+
{
|
|
87
|
+
begin_ = BOOST_ASIO_MOVE_CAST(iterator)(other.begin_);
|
|
88
|
+
end_ = BOOST_ASIO_MOVE_CAST(iterator)(other.end_);
|
|
89
|
+
return *this;
|
|
90
|
+
}
|
|
91
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
92
|
+
|
|
93
|
+
/// Obtain an iterator that points to the start of the range.
|
|
94
|
+
iterator begin() const BOOST_ASIO_NOEXCEPT
|
|
95
|
+
{
|
|
96
|
+
return begin_;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/// Obtain an iterator that points to the end of the range.
|
|
100
|
+
iterator end() const BOOST_ASIO_NOEXCEPT
|
|
101
|
+
{
|
|
102
|
+
return end_;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/// Determine whether the range is empty.
|
|
106
|
+
bool empty() const BOOST_ASIO_NOEXCEPT
|
|
107
|
+
{
|
|
108
|
+
return begin_ == end_;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/// Find an address in the range.
|
|
112
|
+
iterator find(const address_v6& addr) const BOOST_ASIO_NOEXCEPT
|
|
113
|
+
{
|
|
114
|
+
return addr >= *begin_ && addr < *end_ ? iterator(addr) : end_;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
private:
|
|
118
|
+
iterator begin_;
|
|
119
|
+
iterator end_;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
/// Represents a range of IPv6 addresses.
|
|
123
|
+
typedef basic_address_range<address_v6> address_v6_range;
|
|
124
|
+
|
|
125
|
+
} // namespace ip
|
|
126
|
+
} // namespace asio
|
|
127
|
+
} // namespace boost
|
|
128
|
+
|
|
129
|
+
#include <boost/asio/detail/pop_options.hpp>
|
|
130
|
+
|
|
131
|
+
#endif // BOOST_ASIO_IP_ADDRESS_V6_RANGE_HPP
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//
|
|
2
|
+
// ip/bad_address_cast.hpp
|
|
3
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~
|
|
4
|
+
//
|
|
5
|
+
// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
|
6
|
+
//
|
|
7
|
+
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
8
|
+
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
9
|
+
//
|
|
10
|
+
|
|
11
|
+
#ifndef BOOST_ASIO_IP_BAD_ADDRESS_CAST_HPP
|
|
12
|
+
#define BOOST_ASIO_IP_BAD_ADDRESS_CAST_HPP
|
|
13
|
+
|
|
14
|
+
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
|
15
|
+
# pragma once
|
|
16
|
+
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
|
17
|
+
|
|
18
|
+
#include <boost/asio/detail/config.hpp>
|
|
19
|
+
#include <typeinfo>
|
|
20
|
+
|
|
21
|
+
#include <boost/asio/detail/push_options.hpp>
|
|
22
|
+
|
|
23
|
+
namespace boost {
|
|
24
|
+
namespace asio {
|
|
25
|
+
namespace ip {
|
|
26
|
+
|
|
27
|
+
/// Thrown to indicate a failed address conversion.
|
|
28
|
+
class bad_address_cast : public std::bad_cast
|
|
29
|
+
{
|
|
30
|
+
public:
|
|
31
|
+
/// Default constructor.
|
|
32
|
+
bad_address_cast() {}
|
|
33
|
+
|
|
34
|
+
/// Destructor.
|
|
35
|
+
virtual ~bad_address_cast() BOOST_ASIO_NOEXCEPT_OR_NOTHROW {}
|
|
36
|
+
|
|
37
|
+
/// Get the message associated with the exception.
|
|
38
|
+
virtual const char* what() const BOOST_ASIO_NOEXCEPT_OR_NOTHROW
|
|
39
|
+
{
|
|
40
|
+
return "bad address cast";
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
} // namespace ip
|
|
45
|
+
} // namespace asio
|
|
46
|
+
} // namespace boost
|
|
47
|
+
|
|
48
|
+
#include <boost/asio/detail/pop_options.hpp>
|
|
49
|
+
|
|
50
|
+
#endif // BOOST_ASIO_IP_ADDRESS_HPP
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// ip/basic_endpoint.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)
|
|
@@ -98,13 +98,13 @@ public:
|
|
|
98
98
|
{
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
101
|
+
#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
102
102
|
/// Move constructor.
|
|
103
103
|
basic_endpoint(basic_endpoint&& other)
|
|
104
104
|
: impl_(other.impl_)
|
|
105
105
|
{
|
|
106
106
|
}
|
|
107
|
-
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
107
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
108
108
|
|
|
109
109
|
/// Assign from another endpoint.
|
|
110
110
|
basic_endpoint& operator=(const basic_endpoint& other)
|
|
@@ -113,14 +113,14 @@ public:
|
|
|
113
113
|
return *this;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
116
|
+
#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
117
117
|
/// Move-assign from another endpoint.
|
|
118
118
|
basic_endpoint& operator=(basic_endpoint&& other)
|
|
119
119
|
{
|
|
120
120
|
impl_ = other.impl_;
|
|
121
121
|
return *this;
|
|
122
122
|
}
|
|
123
|
-
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
123
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
124
124
|
|
|
125
125
|
/// The protocol associated with the endpoint.
|
|
126
126
|
protocol_type protocol() const
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// ip/basic_resolver.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,13 +16,36 @@
|
|
|
16
16
|
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
|
17
17
|
|
|
18
18
|
#include <boost/asio/detail/config.hpp>
|
|
19
|
+
#include <string>
|
|
20
|
+
#include <boost/asio/async_result.hpp>
|
|
19
21
|
#include <boost/asio/basic_io_object.hpp>
|
|
20
22
|
#include <boost/asio/detail/handler_type_requirements.hpp>
|
|
23
|
+
#include <boost/asio/detail/string_view.hpp>
|
|
21
24
|
#include <boost/asio/detail/throw_error.hpp>
|
|
22
25
|
#include <boost/asio/error.hpp>
|
|
26
|
+
#include <boost/asio/io_context.hpp>
|
|
23
27
|
#include <boost/asio/ip/basic_resolver_iterator.hpp>
|
|
24
28
|
#include <boost/asio/ip/basic_resolver_query.hpp>
|
|
25
|
-
#include <boost/asio/ip/
|
|
29
|
+
#include <boost/asio/ip/basic_resolver_results.hpp>
|
|
30
|
+
#include <boost/asio/ip/resolver_base.hpp>
|
|
31
|
+
|
|
32
|
+
#if defined(BOOST_ASIO_HAS_MOVE)
|
|
33
|
+
# include <utility>
|
|
34
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
|
35
|
+
|
|
36
|
+
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
37
|
+
# include <boost/asio/ip/resolver_service.hpp>
|
|
38
|
+
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
39
|
+
# if defined(BOOST_ASIO_WINDOWS_RUNTIME)
|
|
40
|
+
# include <boost/asio/detail/winrt_resolver_service.hpp>
|
|
41
|
+
# define BOOST_ASIO_SVC_T \
|
|
42
|
+
boost::asio::detail::winrt_resolver_service<InternetProtocol>
|
|
43
|
+
# else
|
|
44
|
+
# include <boost/asio/detail/resolver_service.hpp>
|
|
45
|
+
# define BOOST_ASIO_SVC_T \
|
|
46
|
+
boost::asio::detail::resolver_service<InternetProtocol>
|
|
47
|
+
# endif
|
|
48
|
+
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
26
49
|
|
|
27
50
|
#include <boost/asio/detail/push_options.hpp>
|
|
28
51
|
|
|
@@ -39,35 +62,130 @@ namespace ip {
|
|
|
39
62
|
* @e Distinct @e objects: Safe.@n
|
|
40
63
|
* @e Shared @e objects: Unsafe.
|
|
41
64
|
*/
|
|
42
|
-
template <typename InternetProtocol
|
|
43
|
-
|
|
65
|
+
template <typename InternetProtocol
|
|
66
|
+
BOOST_ASIO_SVC_TPARAM_DEF1(= resolver_service<InternetProtocol>)>
|
|
44
67
|
class basic_resolver
|
|
45
|
-
:
|
|
68
|
+
: BOOST_ASIO_SVC_ACCESS basic_io_object<BOOST_ASIO_SVC_T>,
|
|
69
|
+
public resolver_base
|
|
46
70
|
{
|
|
47
71
|
public:
|
|
72
|
+
/// The type of the executor associated with the object.
|
|
73
|
+
typedef io_context::executor_type executor_type;
|
|
74
|
+
|
|
48
75
|
/// The protocol type.
|
|
49
76
|
typedef InternetProtocol protocol_type;
|
|
50
77
|
|
|
51
78
|
/// The endpoint type.
|
|
52
79
|
typedef typename InternetProtocol::endpoint endpoint_type;
|
|
53
80
|
|
|
54
|
-
|
|
81
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
82
|
+
/// (Deprecated.) The query type.
|
|
55
83
|
typedef basic_resolver_query<InternetProtocol> query;
|
|
56
84
|
|
|
57
|
-
/// The iterator type.
|
|
85
|
+
/// (Deprecated.) The iterator type.
|
|
58
86
|
typedef basic_resolver_iterator<InternetProtocol> iterator;
|
|
87
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
88
|
+
|
|
89
|
+
/// The results type.
|
|
90
|
+
typedef basic_resolver_results<InternetProtocol> results_type;
|
|
59
91
|
|
|
60
92
|
/// Constructor.
|
|
61
93
|
/**
|
|
62
94
|
* This constructor creates a basic_resolver.
|
|
63
95
|
*
|
|
64
|
-
* @param
|
|
65
|
-
* dispatch handlers for any asynchronous operations performed on the
|
|
96
|
+
* @param io_context The io_context object that the resolver will use to
|
|
97
|
+
* dispatch handlers for any asynchronous operations performed on the
|
|
98
|
+
* resolver.
|
|
99
|
+
*/
|
|
100
|
+
explicit basic_resolver(boost::asio::io_context& io_context)
|
|
101
|
+
: basic_io_object<BOOST_ASIO_SVC_T>(io_context)
|
|
102
|
+
{
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
106
|
+
/// Move-construct a basic_resolver from another.
|
|
107
|
+
/**
|
|
108
|
+
* This constructor moves a resolver from one object to another.
|
|
109
|
+
*
|
|
110
|
+
* @param other The other basic_resolver object from which the move will
|
|
111
|
+
* occur.
|
|
112
|
+
*
|
|
113
|
+
* @note Following the move, the moved-from object is in the same state as if
|
|
114
|
+
* constructed using the @c basic_resolver(io_context&) constructor.
|
|
115
|
+
*/
|
|
116
|
+
basic_resolver(basic_resolver&& other)
|
|
117
|
+
: basic_io_object<BOOST_ASIO_SVC_T>(std::move(other))
|
|
118
|
+
{
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/// Move-assign a basic_resolver from another.
|
|
122
|
+
/**
|
|
123
|
+
* This assignment operator moves a resolver from one object to another.
|
|
124
|
+
* Cancels any outstanding asynchronous operations associated with the target
|
|
125
|
+
* object.
|
|
126
|
+
*
|
|
127
|
+
* @param other The other basic_resolver object from which the move will
|
|
128
|
+
* occur.
|
|
129
|
+
*
|
|
130
|
+
* @note Following the move, the moved-from object is in the same state as if
|
|
131
|
+
* constructed using the @c basic_resolver(io_context&) constructor.
|
|
132
|
+
*/
|
|
133
|
+
basic_resolver& operator=(basic_resolver&& other)
|
|
134
|
+
{
|
|
135
|
+
basic_io_object<BOOST_ASIO_SVC_T>::operator=(std::move(other));
|
|
136
|
+
return *this;
|
|
137
|
+
}
|
|
138
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
139
|
+
|
|
140
|
+
/// Destroys the resolver.
|
|
141
|
+
/**
|
|
142
|
+
* This function destroys the resolver, cancelling any outstanding
|
|
143
|
+
* asynchronous wait operations associated with the resolver as if by calling
|
|
144
|
+
* @c cancel.
|
|
145
|
+
*/
|
|
146
|
+
~basic_resolver()
|
|
147
|
+
{
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
151
|
+
// These functions are provided by basic_io_object<>.
|
|
152
|
+
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
153
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
154
|
+
/// (Deprecated: Use get_executor().) Get the io_context associated with the
|
|
155
|
+
/// object.
|
|
156
|
+
/**
|
|
157
|
+
* This function may be used to obtain the io_context object that the I/O
|
|
158
|
+
* object uses to dispatch handlers for asynchronous operations.
|
|
159
|
+
*
|
|
160
|
+
* @return A reference to the io_context object that the I/O object will use
|
|
161
|
+
* to dispatch handlers. Ownership is not transferred to the caller.
|
|
66
162
|
*/
|
|
67
|
-
|
|
68
|
-
|
|
163
|
+
boost::asio::io_context& get_io_context()
|
|
164
|
+
{
|
|
165
|
+
return basic_io_object<BOOST_ASIO_SVC_T>::get_io_context();
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/// (Deprecated: Use get_executor().) Get the io_context associated with the
|
|
169
|
+
/// object.
|
|
170
|
+
/**
|
|
171
|
+
* This function may be used to obtain the io_context object that the I/O
|
|
172
|
+
* object uses to dispatch handlers for asynchronous operations.
|
|
173
|
+
*
|
|
174
|
+
* @return A reference to the io_context object that the I/O object will use
|
|
175
|
+
* to dispatch handlers. Ownership is not transferred to the caller.
|
|
176
|
+
*/
|
|
177
|
+
boost::asio::io_context& get_io_service()
|
|
178
|
+
{
|
|
179
|
+
return basic_io_object<BOOST_ASIO_SVC_T>::get_io_service();
|
|
180
|
+
}
|
|
181
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
182
|
+
|
|
183
|
+
/// Get the executor associated with the object.
|
|
184
|
+
executor_type get_executor() BOOST_ASIO_NOEXCEPT
|
|
69
185
|
{
|
|
186
|
+
return basic_io_object<BOOST_ASIO_SVC_T>::get_executor();
|
|
70
187
|
}
|
|
188
|
+
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
71
189
|
|
|
72
190
|
/// Cancel any asynchronous operations that are waiting on the resolver.
|
|
73
191
|
/**
|
|
@@ -77,56 +195,414 @@ public:
|
|
|
77
195
|
*/
|
|
78
196
|
void cancel()
|
|
79
197
|
{
|
|
80
|
-
return this->
|
|
198
|
+
return this->get_service().cancel(this->get_implementation());
|
|
81
199
|
}
|
|
82
200
|
|
|
83
|
-
|
|
201
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
202
|
+
/// (Deprecated.) Perform forward resolution of a query to a list of entries.
|
|
84
203
|
/**
|
|
85
204
|
* This function is used to resolve a query into a list of endpoint entries.
|
|
86
205
|
*
|
|
87
206
|
* @param q A query object that determines what endpoints will be returned.
|
|
88
207
|
*
|
|
89
|
-
* @returns A
|
|
90
|
-
*
|
|
208
|
+
* @returns A range object representing the list of endpoint entries. A
|
|
209
|
+
* successful call to this function is guaranteed to return a non-empty
|
|
210
|
+
* range.
|
|
211
|
+
*
|
|
212
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
213
|
+
*/
|
|
214
|
+
results_type resolve(const query& q)
|
|
215
|
+
{
|
|
216
|
+
boost::system::error_code ec;
|
|
217
|
+
results_type r = this->get_service().resolve(
|
|
218
|
+
this->get_implementation(), q, ec);
|
|
219
|
+
boost::asio::detail::throw_error(ec, "resolve");
|
|
220
|
+
return r;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/// (Deprecated.) Perform forward resolution of a query to a list of entries.
|
|
224
|
+
/**
|
|
225
|
+
* This function is used to resolve a query into a list of endpoint entries.
|
|
226
|
+
*
|
|
227
|
+
* @param q A query object that determines what endpoints will be returned.
|
|
228
|
+
*
|
|
229
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
230
|
+
*
|
|
231
|
+
* @returns A range object representing the list of endpoint entries. An
|
|
232
|
+
* empty range is returned if an error occurs. A successful call to this
|
|
233
|
+
* function is guaranteed to return a non-empty range.
|
|
234
|
+
*/
|
|
235
|
+
results_type resolve(const query& q, boost::system::error_code& ec)
|
|
236
|
+
{
|
|
237
|
+
return this->get_service().resolve(this->get_implementation(), q, ec);
|
|
238
|
+
}
|
|
239
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
240
|
+
|
|
241
|
+
/// Perform forward resolution of a query to a list of entries.
|
|
242
|
+
/**
|
|
243
|
+
* This function is used to resolve host and service names into a list of
|
|
244
|
+
* endpoint entries.
|
|
245
|
+
*
|
|
246
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
247
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
248
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
249
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
250
|
+
* will use the loopback address.
|
|
251
|
+
*
|
|
252
|
+
* @param service A string identifying the requested service. This may be a
|
|
253
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
254
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
255
|
+
* number of 0.
|
|
256
|
+
*
|
|
257
|
+
* @returns A range object representing the list of endpoint entries. A
|
|
258
|
+
* successful call to this function is guaranteed to return a non-empty
|
|
259
|
+
* range.
|
|
91
260
|
*
|
|
92
261
|
* @throws boost::system::system_error Thrown on failure.
|
|
93
262
|
*
|
|
94
|
-
* @note
|
|
263
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
264
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
265
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
266
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
267
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
95
268
|
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
269
|
+
* On POSIX systems, service names are typically defined in the file
|
|
270
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
271
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
272
|
+
* may use additional locations when resolving service names.
|
|
98
273
|
*/
|
|
99
|
-
|
|
274
|
+
results_type resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
|
|
275
|
+
BOOST_ASIO_STRING_VIEW_PARAM service)
|
|
276
|
+
{
|
|
277
|
+
return resolve(host, service, resolver_base::flags());
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/// Perform forward resolution of a query to a list of entries.
|
|
281
|
+
/**
|
|
282
|
+
* This function is used to resolve host and service names into a list of
|
|
283
|
+
* endpoint entries.
|
|
284
|
+
*
|
|
285
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
286
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
287
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
288
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
289
|
+
* will use the loopback address.
|
|
290
|
+
*
|
|
291
|
+
* @param service A string identifying the requested service. This may be a
|
|
292
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
293
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
294
|
+
* number of 0.
|
|
295
|
+
*
|
|
296
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
297
|
+
*
|
|
298
|
+
* @returns A range object representing the list of endpoint entries. An
|
|
299
|
+
* empty range is returned if an error occurs. A successful call to this
|
|
300
|
+
* function is guaranteed to return a non-empty range.
|
|
301
|
+
*
|
|
302
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
303
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
304
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
305
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
306
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
307
|
+
*
|
|
308
|
+
* On POSIX systems, service names are typically defined in the file
|
|
309
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
310
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
311
|
+
* may use additional locations when resolving service names.
|
|
312
|
+
*/
|
|
313
|
+
results_type resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
|
|
314
|
+
BOOST_ASIO_STRING_VIEW_PARAM service, boost::system::error_code& ec)
|
|
315
|
+
{
|
|
316
|
+
return resolve(host, service, resolver_base::flags(), ec);
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/// Perform forward resolution of a query to a list of entries.
|
|
320
|
+
/**
|
|
321
|
+
* This function is used to resolve host and service names into a list of
|
|
322
|
+
* endpoint entries.
|
|
323
|
+
*
|
|
324
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
325
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
326
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
327
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
328
|
+
* will use the loopback address.
|
|
329
|
+
*
|
|
330
|
+
* @param service A string identifying the requested service. This may be a
|
|
331
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
332
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
333
|
+
* number of 0.
|
|
334
|
+
*
|
|
335
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
|
336
|
+
* should be performed. The default flags are suitable for communication with
|
|
337
|
+
* remote hosts.
|
|
338
|
+
*
|
|
339
|
+
* @returns A range object representing the list of endpoint entries. A
|
|
340
|
+
* successful call to this function is guaranteed to return a non-empty
|
|
341
|
+
* range.
|
|
342
|
+
*
|
|
343
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
344
|
+
*
|
|
345
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
346
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
347
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
348
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
349
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
350
|
+
*
|
|
351
|
+
* On POSIX systems, service names are typically defined in the file
|
|
352
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
353
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
354
|
+
* may use additional locations when resolving service names.
|
|
355
|
+
*/
|
|
356
|
+
results_type resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
|
|
357
|
+
BOOST_ASIO_STRING_VIEW_PARAM service, resolver_base::flags resolve_flags)
|
|
100
358
|
{
|
|
101
359
|
boost::system::error_code ec;
|
|
102
|
-
|
|
360
|
+
basic_resolver_query<protocol_type> q(static_cast<std::string>(host),
|
|
361
|
+
static_cast<std::string>(service), resolve_flags);
|
|
362
|
+
results_type r = this->get_service().resolve(
|
|
363
|
+
this->get_implementation(), q, ec);
|
|
103
364
|
boost::asio::detail::throw_error(ec, "resolve");
|
|
104
|
-
return
|
|
365
|
+
return r;
|
|
105
366
|
}
|
|
106
367
|
|
|
107
368
|
/// Perform forward resolution of a query to a list of entries.
|
|
108
369
|
/**
|
|
109
|
-
* This function is used to resolve
|
|
370
|
+
* This function is used to resolve host and service names into a list of
|
|
371
|
+
* endpoint entries.
|
|
110
372
|
*
|
|
111
|
-
* @param
|
|
373
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
374
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
375
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
376
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
377
|
+
* will use the loopback address.
|
|
378
|
+
*
|
|
379
|
+
* @param service A string identifying the requested service. This may be a
|
|
380
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
381
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
382
|
+
* number of 0.
|
|
383
|
+
*
|
|
384
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
|
385
|
+
* should be performed. The default flags are suitable for communication with
|
|
386
|
+
* remote hosts.
|
|
112
387
|
*
|
|
113
388
|
* @param ec Set to indicate what error occurred, if any.
|
|
114
389
|
*
|
|
115
|
-
* @returns A
|
|
116
|
-
*
|
|
117
|
-
*
|
|
390
|
+
* @returns A range object representing the list of endpoint entries. An
|
|
391
|
+
* empty range is returned if an error occurs. A successful call to this
|
|
392
|
+
* function is guaranteed to return a non-empty range.
|
|
118
393
|
*
|
|
119
|
-
* @note
|
|
394
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
395
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
396
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
397
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
398
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
120
399
|
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
400
|
+
* On POSIX systems, service names are typically defined in the file
|
|
401
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
402
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
403
|
+
* may use additional locations when resolving service names.
|
|
123
404
|
*/
|
|
124
|
-
|
|
405
|
+
results_type resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
|
|
406
|
+
BOOST_ASIO_STRING_VIEW_PARAM service, resolver_base::flags resolve_flags,
|
|
407
|
+
boost::system::error_code& ec)
|
|
125
408
|
{
|
|
126
|
-
|
|
409
|
+
basic_resolver_query<protocol_type> q(static_cast<std::string>(host),
|
|
410
|
+
static_cast<std::string>(service), resolve_flags);
|
|
411
|
+
return this->get_service().resolve(this->get_implementation(), q, ec);
|
|
127
412
|
}
|
|
128
413
|
|
|
129
|
-
///
|
|
414
|
+
/// Perform forward resolution of a query to a list of entries.
|
|
415
|
+
/**
|
|
416
|
+
* This function is used to resolve host and service names into a list of
|
|
417
|
+
* endpoint entries.
|
|
418
|
+
*
|
|
419
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
|
420
|
+
* IPv6 version of an internet protocol.
|
|
421
|
+
*
|
|
422
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
423
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
424
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
425
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
426
|
+
* will use the loopback address.
|
|
427
|
+
*
|
|
428
|
+
* @param service A string identifying the requested service. This may be a
|
|
429
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
430
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
431
|
+
* number of 0.
|
|
432
|
+
*
|
|
433
|
+
* @returns A range object representing the list of endpoint entries. A
|
|
434
|
+
* successful call to this function is guaranteed to return a non-empty
|
|
435
|
+
* range.
|
|
436
|
+
*
|
|
437
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
438
|
+
*
|
|
439
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
440
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
441
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
442
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
443
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
444
|
+
*
|
|
445
|
+
* On POSIX systems, service names are typically defined in the file
|
|
446
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
447
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
448
|
+
* may use additional locations when resolving service names.
|
|
449
|
+
*/
|
|
450
|
+
results_type resolve(const protocol_type& protocol,
|
|
451
|
+
BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service)
|
|
452
|
+
{
|
|
453
|
+
return resolve(protocol, host, service, resolver_base::flags());
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
/// Perform forward resolution of a query to a list of entries.
|
|
457
|
+
/**
|
|
458
|
+
* This function is used to resolve host and service names into a list of
|
|
459
|
+
* endpoint entries.
|
|
460
|
+
*
|
|
461
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
|
462
|
+
* IPv6 version of an internet protocol.
|
|
463
|
+
*
|
|
464
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
465
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
466
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
467
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
468
|
+
* will use the loopback address.
|
|
469
|
+
*
|
|
470
|
+
* @param service A string identifying the requested service. This may be a
|
|
471
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
472
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
473
|
+
* number of 0.
|
|
474
|
+
*
|
|
475
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
476
|
+
*
|
|
477
|
+
* @returns A range object representing the list of endpoint entries. An
|
|
478
|
+
* empty range is returned if an error occurs. A successful call to this
|
|
479
|
+
* function is guaranteed to return a non-empty range.
|
|
480
|
+
*
|
|
481
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
482
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
483
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
484
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
485
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
486
|
+
*
|
|
487
|
+
* On POSIX systems, service names are typically defined in the file
|
|
488
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
489
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
490
|
+
* may use additional locations when resolving service names.
|
|
491
|
+
*/
|
|
492
|
+
results_type resolve(const protocol_type& protocol,
|
|
493
|
+
BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service,
|
|
494
|
+
boost::system::error_code& ec)
|
|
495
|
+
{
|
|
496
|
+
return resolve(protocol, host, service, resolver_base::flags(), ec);
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
/// Perform forward resolution of a query to a list of entries.
|
|
500
|
+
/**
|
|
501
|
+
* This function is used to resolve host and service names into a list of
|
|
502
|
+
* endpoint entries.
|
|
503
|
+
*
|
|
504
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
|
505
|
+
* IPv6 version of an internet protocol.
|
|
506
|
+
*
|
|
507
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
508
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
509
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
510
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
511
|
+
* will use the loopback address.
|
|
512
|
+
*
|
|
513
|
+
* @param service A string identifying the requested service. This may be a
|
|
514
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
515
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
516
|
+
* number of 0.
|
|
517
|
+
*
|
|
518
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
|
519
|
+
* should be performed. The default flags are suitable for communication with
|
|
520
|
+
* remote hosts.
|
|
521
|
+
*
|
|
522
|
+
* @returns A range object representing the list of endpoint entries. A
|
|
523
|
+
* successful call to this function is guaranteed to return a non-empty
|
|
524
|
+
* range.
|
|
525
|
+
*
|
|
526
|
+
* @throws boost::system::system_error Thrown on failure.
|
|
527
|
+
*
|
|
528
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
529
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
530
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
531
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
532
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
533
|
+
*
|
|
534
|
+
* On POSIX systems, service names are typically defined in the file
|
|
535
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
536
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
537
|
+
* may use additional locations when resolving service names.
|
|
538
|
+
*/
|
|
539
|
+
results_type resolve(const protocol_type& protocol,
|
|
540
|
+
BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service,
|
|
541
|
+
resolver_base::flags resolve_flags)
|
|
542
|
+
{
|
|
543
|
+
boost::system::error_code ec;
|
|
544
|
+
basic_resolver_query<protocol_type> q(
|
|
545
|
+
protocol, static_cast<std::string>(host),
|
|
546
|
+
static_cast<std::string>(service), resolve_flags);
|
|
547
|
+
results_type r = this->get_service().resolve(
|
|
548
|
+
this->get_implementation(), q, ec);
|
|
549
|
+
boost::asio::detail::throw_error(ec, "resolve");
|
|
550
|
+
return r;
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
/// Perform forward resolution of a query to a list of entries.
|
|
554
|
+
/**
|
|
555
|
+
* This function is used to resolve host and service names into a list of
|
|
556
|
+
* endpoint entries.
|
|
557
|
+
*
|
|
558
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
|
559
|
+
* IPv6 version of an internet protocol.
|
|
560
|
+
*
|
|
561
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
562
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
563
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
564
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
565
|
+
* will use the loopback address.
|
|
566
|
+
*
|
|
567
|
+
* @param service A string identifying the requested service. This may be a
|
|
568
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
569
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
570
|
+
* number of 0.
|
|
571
|
+
*
|
|
572
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
|
573
|
+
* should be performed. The default flags are suitable for communication with
|
|
574
|
+
* remote hosts.
|
|
575
|
+
*
|
|
576
|
+
* @param ec Set to indicate what error occurred, if any.
|
|
577
|
+
*
|
|
578
|
+
* @returns A range object representing the list of endpoint entries. An
|
|
579
|
+
* empty range is returned if an error occurs. A successful call to this
|
|
580
|
+
* function is guaranteed to return a non-empty range.
|
|
581
|
+
*
|
|
582
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
583
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
584
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
585
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
586
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
587
|
+
*
|
|
588
|
+
* On POSIX systems, service names are typically defined in the file
|
|
589
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
590
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
591
|
+
* may use additional locations when resolving service names.
|
|
592
|
+
*/
|
|
593
|
+
results_type resolve(const protocol_type& protocol,
|
|
594
|
+
BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service,
|
|
595
|
+
resolver_base::flags resolve_flags, boost::system::error_code& ec)
|
|
596
|
+
{
|
|
597
|
+
basic_resolver_query<protocol_type> q(
|
|
598
|
+
protocol, static_cast<std::string>(host),
|
|
599
|
+
static_cast<std::string>(service), resolve_flags);
|
|
600
|
+
return this->get_service().resolve(this->get_implementation(), q, ec);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
604
|
+
/// (Deprecated.) Asynchronously perform forward resolution of a query to a
|
|
605
|
+
/// list of entries.
|
|
130
606
|
/**
|
|
131
607
|
* This function is used to asynchronously resolve a query into a list of
|
|
132
608
|
* endpoint entries.
|
|
@@ -138,35 +614,307 @@ public:
|
|
|
138
614
|
* signature of the handler must be:
|
|
139
615
|
* @code void handler(
|
|
140
616
|
* const boost::system::error_code& error, // Result of operation.
|
|
141
|
-
* resolver::
|
|
142
|
-
* // be used to traverse the list
|
|
143
|
-
* // of endpoint entries.
|
|
617
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
|
144
618
|
* ); @endcode
|
|
145
619
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
146
620
|
* not, the handler will not be invoked from within this function. Invocation
|
|
147
621
|
* of the handler will be performed in a manner equivalent to using
|
|
148
|
-
* boost::asio::
|
|
622
|
+
* boost::asio::io_context::post().
|
|
149
623
|
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
* A successful resolve operation is guaranteed to pass at least one entry to
|
|
624
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
|
153
625
|
* the handler.
|
|
154
626
|
*/
|
|
155
627
|
template <typename ResolveHandler>
|
|
156
628
|
BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
|
|
157
|
-
void (boost::system::error_code,
|
|
629
|
+
void (boost::system::error_code, results_type))
|
|
158
630
|
async_resolve(const query& q,
|
|
159
631
|
BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
|
|
160
632
|
{
|
|
161
633
|
// If you get an error on the following line it means that your handler does
|
|
162
634
|
// not meet the documented type requirements for a ResolveHandler.
|
|
163
635
|
BOOST_ASIO_RESOLVE_HANDLER_CHECK(
|
|
164
|
-
ResolveHandler, handler,
|
|
636
|
+
ResolveHandler, handler, results_type) type_check;
|
|
637
|
+
|
|
638
|
+
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
639
|
+
return this->get_service().async_resolve(this->get_implementation(), q,
|
|
640
|
+
BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
|
|
641
|
+
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
642
|
+
boost::asio::async_completion<ResolveHandler,
|
|
643
|
+
void (boost::system::error_code, results_type)> init(handler);
|
|
644
|
+
|
|
645
|
+
this->get_service().async_resolve(
|
|
646
|
+
this->get_implementation(), q, init.completion_handler);
|
|
647
|
+
|
|
648
|
+
return init.result.get();
|
|
649
|
+
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
650
|
+
}
|
|
651
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
652
|
+
|
|
653
|
+
/// Asynchronously perform forward resolution of a query to a list of entries.
|
|
654
|
+
/**
|
|
655
|
+
* This function is used to resolve host and service names into a list of
|
|
656
|
+
* endpoint entries.
|
|
657
|
+
*
|
|
658
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
659
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
660
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
661
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
662
|
+
* will use the loopback address.
|
|
663
|
+
*
|
|
664
|
+
* @param service A string identifying the requested service. This may be a
|
|
665
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
666
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
667
|
+
* number of 0.
|
|
668
|
+
*
|
|
669
|
+
* @param handler The handler to be called when the resolve operation
|
|
670
|
+
* completes. Copies will be made of the handler as required. The function
|
|
671
|
+
* signature of the handler must be:
|
|
672
|
+
* @code void handler(
|
|
673
|
+
* const boost::system::error_code& error, // Result of operation.
|
|
674
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
|
675
|
+
* ); @endcode
|
|
676
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
|
677
|
+
* not, the handler will not be invoked from within this function. Invocation
|
|
678
|
+
* of the handler will be performed in a manner equivalent to using
|
|
679
|
+
* boost::asio::io_context::post().
|
|
680
|
+
*
|
|
681
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
|
682
|
+
* the handler.
|
|
683
|
+
*
|
|
684
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
685
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
686
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
687
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
688
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
689
|
+
*
|
|
690
|
+
* On POSIX systems, service names are typically defined in the file
|
|
691
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
692
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
693
|
+
* may use additional locations when resolving service names.
|
|
694
|
+
*/
|
|
695
|
+
template <typename ResolveHandler>
|
|
696
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
|
|
697
|
+
void (boost::system::error_code, results_type))
|
|
698
|
+
async_resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
|
|
699
|
+
BOOST_ASIO_STRING_VIEW_PARAM service,
|
|
700
|
+
BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
|
|
701
|
+
{
|
|
702
|
+
return async_resolve(host, service, resolver_base::flags(),
|
|
703
|
+
BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
/// Asynchronously perform forward resolution of a query to a list of entries.
|
|
707
|
+
/**
|
|
708
|
+
* This function is used to resolve host and service names into a list of
|
|
709
|
+
* endpoint entries.
|
|
710
|
+
*
|
|
711
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
712
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
713
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
714
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
715
|
+
* will use the loopback address.
|
|
716
|
+
*
|
|
717
|
+
* @param service A string identifying the requested service. This may be a
|
|
718
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
719
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
720
|
+
* number of 0.
|
|
721
|
+
*
|
|
722
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
|
723
|
+
* should be performed. The default flags are suitable for communication with
|
|
724
|
+
* remote hosts.
|
|
725
|
+
*
|
|
726
|
+
* @param handler The handler to be called when the resolve operation
|
|
727
|
+
* completes. Copies will be made of the handler as required. The function
|
|
728
|
+
* signature of the handler must be:
|
|
729
|
+
* @code void handler(
|
|
730
|
+
* const boost::system::error_code& error, // Result of operation.
|
|
731
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
|
732
|
+
* ); @endcode
|
|
733
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
|
734
|
+
* not, the handler will not be invoked from within this function. Invocation
|
|
735
|
+
* of the handler will be performed in a manner equivalent to using
|
|
736
|
+
* boost::asio::io_context::post().
|
|
737
|
+
*
|
|
738
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
|
739
|
+
* the handler.
|
|
740
|
+
*
|
|
741
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
742
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
743
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
744
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
745
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
746
|
+
*
|
|
747
|
+
* On POSIX systems, service names are typically defined in the file
|
|
748
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
749
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
750
|
+
* may use additional locations when resolving service names.
|
|
751
|
+
*/
|
|
752
|
+
template <typename ResolveHandler>
|
|
753
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
|
|
754
|
+
void (boost::system::error_code, results_type))
|
|
755
|
+
async_resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
|
|
756
|
+
BOOST_ASIO_STRING_VIEW_PARAM service,
|
|
757
|
+
resolver_base::flags resolve_flags,
|
|
758
|
+
BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
|
|
759
|
+
{
|
|
760
|
+
// If you get an error on the following line it means that your handler does
|
|
761
|
+
// not meet the documented type requirements for a ResolveHandler.
|
|
762
|
+
BOOST_ASIO_RESOLVE_HANDLER_CHECK(
|
|
763
|
+
ResolveHandler, handler, results_type) type_check;
|
|
165
764
|
|
|
166
|
-
|
|
765
|
+
basic_resolver_query<protocol_type> q(static_cast<std::string>(host),
|
|
766
|
+
static_cast<std::string>(service), resolve_flags);
|
|
767
|
+
|
|
768
|
+
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
769
|
+
return this->get_service().async_resolve(this->get_implementation(), q,
|
|
770
|
+
BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
|
|
771
|
+
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
772
|
+
boost::asio::async_completion<ResolveHandler,
|
|
773
|
+
void (boost::system::error_code, results_type)> init(handler);
|
|
774
|
+
|
|
775
|
+
this->get_service().async_resolve(
|
|
776
|
+
this->get_implementation(), q, init.completion_handler);
|
|
777
|
+
|
|
778
|
+
return init.result.get();
|
|
779
|
+
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
/// Asynchronously perform forward resolution of a query to a list of entries.
|
|
783
|
+
/**
|
|
784
|
+
* This function is used to resolve host and service names into a list of
|
|
785
|
+
* endpoint entries.
|
|
786
|
+
*
|
|
787
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
|
788
|
+
* IPv6 version of an internet protocol.
|
|
789
|
+
*
|
|
790
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
791
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
792
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
793
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
794
|
+
* will use the loopback address.
|
|
795
|
+
*
|
|
796
|
+
* @param service A string identifying the requested service. This may be a
|
|
797
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
798
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
799
|
+
* number of 0.
|
|
800
|
+
*
|
|
801
|
+
* @param handler The handler to be called when the resolve operation
|
|
802
|
+
* completes. Copies will be made of the handler as required. The function
|
|
803
|
+
* signature of the handler must be:
|
|
804
|
+
* @code void handler(
|
|
805
|
+
* const boost::system::error_code& error, // Result of operation.
|
|
806
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
|
807
|
+
* ); @endcode
|
|
808
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
|
809
|
+
* not, the handler will not be invoked from within this function. Invocation
|
|
810
|
+
* of the handler will be performed in a manner equivalent to using
|
|
811
|
+
* boost::asio::io_context::post().
|
|
812
|
+
*
|
|
813
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
|
814
|
+
* the handler.
|
|
815
|
+
*
|
|
816
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
817
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
818
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
819
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
820
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
821
|
+
*
|
|
822
|
+
* On POSIX systems, service names are typically defined in the file
|
|
823
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
824
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
825
|
+
* may use additional locations when resolving service names.
|
|
826
|
+
*/
|
|
827
|
+
template <typename ResolveHandler>
|
|
828
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
|
|
829
|
+
void (boost::system::error_code, results_type))
|
|
830
|
+
async_resolve(const protocol_type& protocol,
|
|
831
|
+
BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service,
|
|
832
|
+
BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
|
|
833
|
+
{
|
|
834
|
+
return async_resolve(protocol, host, service, resolver_base::flags(),
|
|
167
835
|
BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
|
|
168
836
|
}
|
|
169
837
|
|
|
838
|
+
/// Asynchronously perform forward resolution of a query to a list of entries.
|
|
839
|
+
/**
|
|
840
|
+
* This function is used to resolve host and service names into a list of
|
|
841
|
+
* endpoint entries.
|
|
842
|
+
*
|
|
843
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
|
844
|
+
* IPv6 version of an internet protocol.
|
|
845
|
+
*
|
|
846
|
+
* @param host A string identifying a location. May be a descriptive name or
|
|
847
|
+
* a numeric address string. If an empty string and the passive flag has been
|
|
848
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
|
849
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
|
850
|
+
* will use the loopback address.
|
|
851
|
+
*
|
|
852
|
+
* @param service A string identifying the requested service. This may be a
|
|
853
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
|
854
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
|
855
|
+
* number of 0.
|
|
856
|
+
*
|
|
857
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
|
858
|
+
* should be performed. The default flags are suitable for communication with
|
|
859
|
+
* remote hosts.
|
|
860
|
+
*
|
|
861
|
+
* @param handler The handler to be called when the resolve operation
|
|
862
|
+
* completes. Copies will be made of the handler as required. The function
|
|
863
|
+
* signature of the handler must be:
|
|
864
|
+
* @code void handler(
|
|
865
|
+
* const boost::system::error_code& error, // Result of operation.
|
|
866
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
|
867
|
+
* ); @endcode
|
|
868
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
|
869
|
+
* not, the handler will not be invoked from within this function. Invocation
|
|
870
|
+
* of the handler will be performed in a manner equivalent to using
|
|
871
|
+
* boost::asio::io_context::post().
|
|
872
|
+
*
|
|
873
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
|
874
|
+
* the handler.
|
|
875
|
+
*
|
|
876
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
|
877
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
|
878
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
|
879
|
+
* resolution is performed using DNS. Operating systems may use additional
|
|
880
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
|
881
|
+
*
|
|
882
|
+
* On POSIX systems, service names are typically defined in the file
|
|
883
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
|
884
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
|
885
|
+
* may use additional locations when resolving service names.
|
|
886
|
+
*/
|
|
887
|
+
template <typename ResolveHandler>
|
|
888
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
|
|
889
|
+
void (boost::system::error_code, results_type))
|
|
890
|
+
async_resolve(const protocol_type& protocol,
|
|
891
|
+
BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service,
|
|
892
|
+
resolver_base::flags resolve_flags,
|
|
893
|
+
BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
|
|
894
|
+
{
|
|
895
|
+
// If you get an error on the following line it means that your handler does
|
|
896
|
+
// not meet the documented type requirements for a ResolveHandler.
|
|
897
|
+
BOOST_ASIO_RESOLVE_HANDLER_CHECK(
|
|
898
|
+
ResolveHandler, handler, results_type) type_check;
|
|
899
|
+
|
|
900
|
+
basic_resolver_query<protocol_type> q(
|
|
901
|
+
protocol, static_cast<std::string>(host),
|
|
902
|
+
static_cast<std::string>(service), resolve_flags);
|
|
903
|
+
|
|
904
|
+
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
905
|
+
return this->get_service().async_resolve(this->get_implementation(), q,
|
|
906
|
+
BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
|
|
907
|
+
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
908
|
+
boost::asio::async_completion<ResolveHandler,
|
|
909
|
+
void (boost::system::error_code, results_type)> init(handler);
|
|
910
|
+
|
|
911
|
+
this->get_service().async_resolve(
|
|
912
|
+
this->get_implementation(), q, init.completion_handler);
|
|
913
|
+
|
|
914
|
+
return init.result.get();
|
|
915
|
+
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
916
|
+
}
|
|
917
|
+
|
|
170
918
|
/// Perform reverse resolution of an endpoint to a list of entries.
|
|
171
919
|
/**
|
|
172
920
|
* This function is used to resolve an endpoint into a list of endpoint
|
|
@@ -175,20 +923,17 @@ public:
|
|
|
175
923
|
* @param e An endpoint object that determines what endpoints will be
|
|
176
924
|
* returned.
|
|
177
925
|
*
|
|
178
|
-
* @returns A
|
|
179
|
-
*
|
|
926
|
+
* @returns A range object representing the list of endpoint entries. A
|
|
927
|
+
* successful call to this function is guaranteed to return a non-empty
|
|
928
|
+
* range.
|
|
180
929
|
*
|
|
181
930
|
* @throws boost::system::system_error Thrown on failure.
|
|
182
|
-
*
|
|
183
|
-
* @note A default constructed iterator represents the end of the list.
|
|
184
|
-
*
|
|
185
|
-
* A successful call to this function is guaranteed to return at least one
|
|
186
|
-
* entry.
|
|
187
931
|
*/
|
|
188
|
-
|
|
932
|
+
results_type resolve(const endpoint_type& e)
|
|
189
933
|
{
|
|
190
934
|
boost::system::error_code ec;
|
|
191
|
-
|
|
935
|
+
results_type i = this->get_service().resolve(
|
|
936
|
+
this->get_implementation(), e, ec);
|
|
192
937
|
boost::asio::detail::throw_error(ec, "resolve");
|
|
193
938
|
return i;
|
|
194
939
|
}
|
|
@@ -203,18 +948,13 @@ public:
|
|
|
203
948
|
*
|
|
204
949
|
* @param ec Set to indicate what error occurred, if any.
|
|
205
950
|
*
|
|
206
|
-
* @returns A
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
* @note A default constructed iterator represents the end of the list.
|
|
211
|
-
*
|
|
212
|
-
* A successful call to this function is guaranteed to return at least one
|
|
213
|
-
* entry.
|
|
951
|
+
* @returns A range object representing the list of endpoint entries. An
|
|
952
|
+
* empty range is returned if an error occurs. A successful call to this
|
|
953
|
+
* function is guaranteed to return a non-empty range.
|
|
214
954
|
*/
|
|
215
|
-
|
|
955
|
+
results_type resolve(const endpoint_type& e, boost::system::error_code& ec)
|
|
216
956
|
{
|
|
217
|
-
return this->
|
|
957
|
+
return this->get_service().resolve(this->get_implementation(), e, ec);
|
|
218
958
|
}
|
|
219
959
|
|
|
220
960
|
/// Asynchronously perform reverse resolution of an endpoint to a list of
|
|
@@ -231,33 +971,39 @@ public:
|
|
|
231
971
|
* signature of the handler must be:
|
|
232
972
|
* @code void handler(
|
|
233
973
|
* const boost::system::error_code& error, // Result of operation.
|
|
234
|
-
* resolver::
|
|
235
|
-
* // be used to traverse the list
|
|
236
|
-
* // of endpoint entries.
|
|
974
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
|
237
975
|
* ); @endcode
|
|
238
976
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
239
977
|
* not, the handler will not be invoked from within this function. Invocation
|
|
240
978
|
* of the handler will be performed in a manner equivalent to using
|
|
241
|
-
* boost::asio::
|
|
979
|
+
* boost::asio::io_context::post().
|
|
242
980
|
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
* A successful resolve operation is guaranteed to pass at least one entry to
|
|
981
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
|
246
982
|
* the handler.
|
|
247
983
|
*/
|
|
248
984
|
template <typename ResolveHandler>
|
|
249
985
|
BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
|
|
250
|
-
void (boost::system::error_code,
|
|
986
|
+
void (boost::system::error_code, results_type))
|
|
251
987
|
async_resolve(const endpoint_type& e,
|
|
252
988
|
BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
|
|
253
989
|
{
|
|
254
990
|
// If you get an error on the following line it means that your handler does
|
|
255
991
|
// not meet the documented type requirements for a ResolveHandler.
|
|
256
992
|
BOOST_ASIO_RESOLVE_HANDLER_CHECK(
|
|
257
|
-
ResolveHandler, handler,
|
|
993
|
+
ResolveHandler, handler, results_type) type_check;
|
|
258
994
|
|
|
259
|
-
|
|
995
|
+
#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
996
|
+
return this->get_service().async_resolve(this->get_implementation(), e,
|
|
260
997
|
BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
|
|
998
|
+
#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
999
|
+
boost::asio::async_completion<ResolveHandler,
|
|
1000
|
+
void (boost::system::error_code, results_type)> init(handler);
|
|
1001
|
+
|
|
1002
|
+
this->get_service().async_resolve(
|
|
1003
|
+
this->get_implementation(), e, init.completion_handler);
|
|
1004
|
+
|
|
1005
|
+
return init.result.get();
|
|
1006
|
+
#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
261
1007
|
}
|
|
262
1008
|
};
|
|
263
1009
|
|
|
@@ -267,4 +1013,8 @@ public:
|
|
|
267
1013
|
|
|
268
1014
|
#include <boost/asio/detail/pop_options.hpp>
|
|
269
1015
|
|
|
1016
|
+
#if !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1017
|
+
# undef BOOST_ASIO_SVC_T
|
|
1018
|
+
#endif // !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
|
|
1019
|
+
|
|
270
1020
|
#endif // BOOST_ASIO_IP_BASIC_RESOLVER_HPP
|