diff --git a/soh/CMakeLists.txt b/soh/CMakeLists.txt index 60625f0af..0d732da68 100644 --- a/soh/CMakeLists.txt +++ b/soh/CMakeLists.txt @@ -284,6 +284,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows") set_target_properties(${PROJECT_NAME} PROPERTIES MSVC_RUNTIME_LIBRARY ${MSVC_RUNTIME_LIBRARY_STR}) endif() +include(FetchContent) + ################################################################################ # apclientpp + dependencies ################################################################################ @@ -301,10 +303,17 @@ if(BUILD_REMOTE_CONTROL) else() find_package(valijson REQUIRED) endif() + + FetchContent_Declare( + asio + GIT_REPOSITORY https://github.com/chriskohlhoff/asio.git + GIT_TAG asio-1-30-2 + ) + FetchContent_MakeAvailable(asio) + target_include_directories(${PROJECT_NAME} PRIVATE ${asio_SOURCE_DIR}/asio/include) endif() target_include_directories(${PROJECT_NAME} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/../subprojects/asio/include ${CMAKE_CURRENT_SOURCE_DIR}/../subprojects/websocketpp ${CMAKE_CURRENT_SOURCE_DIR}/../subprojects/wswrap/include ${CMAKE_CURRENT_SOURCE_DIR}/../subprojects/apclientpp @@ -312,8 +321,6 @@ target_include_directories(${PROJECT_NAME} PRIVATE # Find/download Dr Libs (For custom audio) ################################################################################ -include(FetchContent) - FetchContent_Declare( dr_libs GIT_REPOSITORY https://github.com/mackron/dr_libs.git diff --git a/subprojects/asio/COPYING b/subprojects/asio/COPYING deleted file mode 100644 index da1a2db4d..000000000 --- a/subprojects/asio/COPYING +++ /dev/null @@ -1,4 +0,0 @@ -Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) - -Distributed under the Boost Software License, Version 1.0. (See accompanying -file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/subprojects/asio/LICENSE_1_0.txt b/subprojects/asio/LICENSE_1_0.txt deleted file mode 100644 index 36b7cd93c..000000000 --- a/subprojects/asio/LICENSE_1_0.txt +++ /dev/null @@ -1,23 +0,0 @@ -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/subprojects/asio/include/Makefile.am b/subprojects/asio/include/Makefile.am deleted file mode 100644 index 8f4376656..000000000 --- a/subprojects/asio/include/Makefile.am +++ /dev/null @@ -1,626 +0,0 @@ -# find . -name "*.*pp" | sed -e 's/^\.\///' | sed -e 's/^.*$/ & \\/' | sort -nobase_include_HEADERS = \ - asio/any_completion_executor.hpp \ - asio/any_completion_handler.hpp \ - asio/any_io_executor.hpp \ - asio/append.hpp \ - asio/as_tuple.hpp \ - asio/associated_allocator.hpp \ - asio/associated_cancellation_slot.hpp \ - asio/associated_executor.hpp \ - asio/associated_immediate_executor.hpp \ - asio/associator.hpp \ - asio/async_result.hpp \ - asio/awaitable.hpp \ - asio/basic_datagram_socket.hpp \ - asio/basic_deadline_timer.hpp \ - asio/basic_file.hpp \ - asio/basic_io_object.hpp \ - asio/basic_random_access_file.hpp \ - asio/basic_raw_socket.hpp \ - asio/basic_readable_pipe.hpp \ - asio/basic_seq_packet_socket.hpp \ - asio/basic_serial_port.hpp \ - asio/basic_signal_set.hpp \ - asio/basic_socket_acceptor.hpp \ - asio/basic_socket.hpp \ - asio/basic_socket_iostream.hpp \ - asio/basic_socket_streambuf.hpp \ - asio/basic_streambuf_fwd.hpp \ - asio/basic_streambuf.hpp \ - asio/basic_stream_file.hpp \ - asio/basic_stream_socket.hpp \ - asio/basic_waitable_timer.hpp \ - asio/basic_writable_pipe.hpp \ - asio/bind_allocator.hpp \ - asio/bind_cancellation_slot.hpp \ - asio/bind_executor.hpp \ - asio/bind_immediate_executor.hpp \ - asio/buffered_read_stream_fwd.hpp \ - asio/buffered_read_stream.hpp \ - asio/buffered_stream_fwd.hpp \ - asio/buffered_stream.hpp \ - asio/buffered_write_stream_fwd.hpp \ - asio/buffered_write_stream.hpp \ - asio/buffer.hpp \ - asio/buffer_registration.hpp \ - asio/buffers_iterator.hpp \ - asio/cancellation_signal.hpp \ - asio/cancellation_state.hpp \ - asio/cancellation_type.hpp \ - asio/co_spawn.hpp \ - asio/completion_condition.hpp \ - asio/compose.hpp \ - asio/connect.hpp \ - asio/connect_pipe.hpp \ - asio/consign.hpp \ - asio/coroutine.hpp \ - asio/deadline_timer.hpp \ - asio/defer.hpp \ - asio/deferred.hpp \ - asio/detached.hpp \ - asio/detail/array_fwd.hpp \ - asio/detail/array.hpp \ - asio/detail/assert.hpp \ - asio/detail/atomic_count.hpp \ - asio/detail/base_from_cancellation_state.hpp \ - asio/detail/base_from_completion_cond.hpp \ - asio/detail/bind_handler.hpp \ - asio/detail/blocking_executor_op.hpp \ - asio/detail/buffered_stream_storage.hpp \ - asio/detail/buffer_resize_guard.hpp \ - asio/detail/buffer_sequence_adapter.hpp \ - asio/detail/call_stack.hpp \ - asio/detail/chrono.hpp \ - asio/detail/chrono_time_traits.hpp \ - asio/detail/completion_handler.hpp \ - asio/detail/composed_work.hpp \ - asio/detail/concurrency_hint.hpp \ - asio/detail/conditionally_enabled_event.hpp \ - asio/detail/conditionally_enabled_mutex.hpp \ - asio/detail/config.hpp \ - asio/detail/consuming_buffers.hpp \ - asio/detail/cstddef.hpp \ - asio/detail/cstdint.hpp \ - asio/detail/date_time_fwd.hpp \ - asio/detail/deadline_timer_service.hpp \ - asio/detail/dependent_type.hpp \ - asio/detail/descriptor_ops.hpp \ - asio/detail/descriptor_read_op.hpp \ - asio/detail/descriptor_write_op.hpp \ - asio/detail/dev_poll_reactor.hpp \ - asio/detail/epoll_reactor.hpp \ - asio/detail/eventfd_select_interrupter.hpp \ - asio/detail/event.hpp \ - asio/detail/exception.hpp \ - asio/detail/executor_function.hpp \ - asio/detail/executor_op.hpp \ - asio/detail/fd_set_adapter.hpp \ - asio/detail/fenced_block.hpp \ - asio/detail/functional.hpp \ - asio/detail/future.hpp \ - asio/detail/global.hpp \ - asio/detail/handler_alloc_helpers.hpp \ - asio/detail/handler_cont_helpers.hpp \ - asio/detail/handler_tracking.hpp \ - asio/detail/handler_type_requirements.hpp \ - asio/detail/handler_work.hpp \ - asio/detail/hash_map.hpp \ - asio/detail/impl/buffer_sequence_adapter.ipp \ - asio/detail/impl/descriptor_ops.ipp \ - asio/detail/impl/dev_poll_reactor.hpp \ - asio/detail/impl/dev_poll_reactor.ipp \ - asio/detail/impl/epoll_reactor.hpp \ - asio/detail/impl/epoll_reactor.ipp \ - asio/detail/impl/eventfd_select_interrupter.ipp \ - asio/detail/impl/handler_tracking.ipp \ - asio/detail/impl/io_uring_descriptor_service.ipp \ - asio/detail/impl/io_uring_file_service.ipp \ - asio/detail/impl/io_uring_service.hpp \ - asio/detail/impl/io_uring_service.ipp \ - asio/detail/impl/io_uring_socket_service_base.ipp \ - asio/detail/impl/kqueue_reactor.hpp \ - asio/detail/impl/kqueue_reactor.ipp \ - asio/detail/impl/null_event.ipp \ - asio/detail/impl/pipe_select_interrupter.ipp \ - asio/detail/impl/posix_event.ipp \ - asio/detail/impl/posix_mutex.ipp \ - asio/detail/impl/posix_serial_port_service.ipp \ - asio/detail/impl/posix_thread.ipp \ - asio/detail/impl/posix_tss_ptr.ipp \ - asio/detail/impl/reactive_descriptor_service.ipp \ - asio/detail/impl/reactive_socket_service_base.ipp \ - asio/detail/impl/resolver_service_base.ipp \ - asio/detail/impl/scheduler.ipp \ - asio/detail/impl/select_reactor.hpp \ - asio/detail/impl/select_reactor.ipp \ - asio/detail/impl/service_registry.hpp \ - asio/detail/impl/service_registry.ipp \ - asio/detail/impl/signal_set_service.ipp \ - asio/detail/impl/socket_ops.ipp \ - asio/detail/impl/socket_select_interrupter.ipp \ - asio/detail/impl/strand_executor_service.hpp \ - asio/detail/impl/strand_executor_service.ipp \ - asio/detail/impl/strand_service.hpp \ - asio/detail/impl/strand_service.ipp \ - asio/detail/impl/thread_context.ipp \ - asio/detail/impl/throw_error.ipp \ - asio/detail/impl/timer_queue_ptime.ipp \ - asio/detail/impl/timer_queue_set.ipp \ - asio/detail/impl/win_event.ipp \ - asio/detail/impl/win_iocp_file_service.ipp \ - asio/detail/impl/win_iocp_handle_service.ipp \ - asio/detail/impl/win_iocp_io_context.hpp \ - asio/detail/impl/win_iocp_io_context.ipp \ - asio/detail/impl/win_iocp_serial_port_service.ipp \ - asio/detail/impl/win_iocp_socket_service_base.ipp \ - asio/detail/impl/win_mutex.ipp \ - asio/detail/impl/win_object_handle_service.ipp \ - asio/detail/impl/winrt_ssocket_service_base.ipp \ - asio/detail/impl/winrt_timer_scheduler.hpp \ - asio/detail/impl/winrt_timer_scheduler.ipp \ - asio/detail/impl/winsock_init.ipp \ - asio/detail/impl/win_static_mutex.ipp \ - asio/detail/impl/win_thread.ipp \ - asio/detail/impl/win_tss_ptr.ipp \ - asio/detail/initiate_defer.hpp \ - asio/detail/initiate_dispatch.hpp \ - asio/detail/initiate_post.hpp \ - asio/detail/io_control.hpp \ - asio/detail/io_object_impl.hpp \ - asio/detail/io_uring_descriptor_read_at_op.hpp \ - asio/detail/io_uring_descriptor_read_op.hpp \ - asio/detail/io_uring_descriptor_service.hpp \ - asio/detail/io_uring_descriptor_write_at_op.hpp \ - asio/detail/io_uring_descriptor_write_op.hpp \ - asio/detail/io_uring_file_service.hpp \ - asio/detail/io_uring_null_buffers_op.hpp \ - asio/detail/io_uring_operation.hpp \ - asio/detail/io_uring_service.hpp \ - asio/detail/io_uring_socket_accept_op.hpp \ - asio/detail/io_uring_socket_connect_op.hpp \ - asio/detail/io_uring_socket_recvfrom_op.hpp \ - asio/detail/io_uring_socket_recvmsg_op.hpp \ - asio/detail/io_uring_socket_recv_op.hpp \ - asio/detail/io_uring_socket_send_op.hpp \ - asio/detail/io_uring_socket_sendto_op.hpp \ - asio/detail/io_uring_socket_service_base.hpp \ - asio/detail/io_uring_socket_service.hpp \ - asio/detail/io_uring_wait_op.hpp \ - asio/detail/is_buffer_sequence.hpp \ - asio/detail/is_executor.hpp \ - asio/detail/keyword_tss_ptr.hpp \ - asio/detail/kqueue_reactor.hpp \ - asio/detail/limits.hpp \ - asio/detail/local_free_on_block_exit.hpp \ - asio/detail/memory.hpp \ - asio/detail/mutex.hpp \ - asio/detail/non_const_lvalue.hpp \ - asio/detail/noncopyable.hpp \ - asio/detail/null_event.hpp \ - asio/detail/null_fenced_block.hpp \ - asio/detail/null_global.hpp \ - asio/detail/null_mutex.hpp \ - asio/detail/null_reactor.hpp \ - asio/detail/null_signal_blocker.hpp \ - asio/detail/null_socket_service.hpp \ - asio/detail/null_static_mutex.hpp \ - asio/detail/null_thread.hpp \ - asio/detail/null_tss_ptr.hpp \ - asio/detail/object_pool.hpp \ - asio/detail/old_win_sdk_compat.hpp \ - asio/detail/operation.hpp \ - asio/detail/op_queue.hpp \ - asio/detail/pipe_select_interrupter.hpp \ - asio/detail/pop_options.hpp \ - asio/detail/posix_event.hpp \ - asio/detail/posix_fd_set_adapter.hpp \ - asio/detail/posix_global.hpp \ - asio/detail/posix_mutex.hpp \ - asio/detail/posix_serial_port_service.hpp \ - asio/detail/posix_signal_blocker.hpp \ - asio/detail/posix_static_mutex.hpp \ - asio/detail/posix_thread.hpp \ - asio/detail/posix_tss_ptr.hpp \ - asio/detail/push_options.hpp \ - asio/detail/reactive_descriptor_service.hpp \ - asio/detail/reactive_null_buffers_op.hpp \ - asio/detail/reactive_socket_accept_op.hpp \ - asio/detail/reactive_socket_connect_op.hpp \ - asio/detail/reactive_socket_recvfrom_op.hpp \ - asio/detail/reactive_socket_recvmsg_op.hpp \ - asio/detail/reactive_socket_recv_op.hpp \ - asio/detail/reactive_socket_send_op.hpp \ - asio/detail/reactive_socket_sendto_op.hpp \ - asio/detail/reactive_socket_service_base.hpp \ - asio/detail/reactive_socket_service.hpp \ - asio/detail/reactive_wait_op.hpp \ - asio/detail/reactor.hpp \ - asio/detail/reactor_op.hpp \ - asio/detail/reactor_op_queue.hpp \ - asio/detail/recycling_allocator.hpp \ - asio/detail/regex_fwd.hpp \ - asio/detail/resolve_endpoint_op.hpp \ - asio/detail/resolve_op.hpp \ - asio/detail/resolve_query_op.hpp \ - asio/detail/resolver_service_base.hpp \ - asio/detail/resolver_service.hpp \ - asio/detail/scheduler.hpp \ - asio/detail/scheduler_operation.hpp \ - asio/detail/scheduler_task.hpp \ - asio/detail/scheduler_thread_info.hpp \ - asio/detail/scoped_lock.hpp \ - asio/detail/scoped_ptr.hpp \ - asio/detail/select_interrupter.hpp \ - asio/detail/select_reactor.hpp \ - asio/detail/service_registry.hpp \ - asio/detail/signal_blocker.hpp \ - asio/detail/signal_handler.hpp \ - asio/detail/signal_init.hpp \ - asio/detail/signal_op.hpp \ - asio/detail/signal_set_service.hpp \ - asio/detail/socket_holder.hpp \ - asio/detail/socket_ops.hpp \ - asio/detail/socket_option.hpp \ - asio/detail/socket_select_interrupter.hpp \ - asio/detail/socket_types.hpp \ - asio/detail/source_location.hpp \ - asio/detail/static_mutex.hpp \ - asio/detail/std_event.hpp \ - asio/detail/std_fenced_block.hpp \ - asio/detail/std_global.hpp \ - asio/detail/std_mutex.hpp \ - asio/detail/std_static_mutex.hpp \ - asio/detail/std_thread.hpp \ - asio/detail/strand_executor_service.hpp \ - asio/detail/strand_service.hpp \ - asio/detail/string_view.hpp \ - asio/detail/thread_context.hpp \ - asio/detail/thread_group.hpp \ - asio/detail/thread.hpp \ - asio/detail/thread_info_base.hpp \ - asio/detail/throw_error.hpp \ - asio/detail/throw_exception.hpp \ - asio/detail/timer_queue_base.hpp \ - asio/detail/timer_queue.hpp \ - asio/detail/timer_queue_ptime.hpp \ - asio/detail/timer_queue_set.hpp \ - asio/detail/timer_scheduler_fwd.hpp \ - asio/detail/timer_scheduler.hpp \ - asio/detail/tss_ptr.hpp \ - asio/detail/type_traits.hpp \ - asio/detail/utility.hpp \ - asio/detail/wait_handler.hpp \ - asio/detail/wait_op.hpp \ - asio/detail/winapp_thread.hpp \ - asio/detail/wince_thread.hpp \ - asio/detail/win_event.hpp \ - asio/detail/win_fd_set_adapter.hpp \ - asio/detail/win_global.hpp \ - asio/detail/win_iocp_file_service.hpp \ - asio/detail/win_iocp_handle_read_op.hpp \ - asio/detail/win_iocp_handle_service.hpp \ - asio/detail/win_iocp_handle_write_op.hpp \ - asio/detail/win_iocp_io_context.hpp \ - asio/detail/win_iocp_null_buffers_op.hpp \ - asio/detail/win_iocp_operation.hpp \ - asio/detail/win_iocp_overlapped_op.hpp \ - asio/detail/win_iocp_overlapped_ptr.hpp \ - asio/detail/win_iocp_serial_port_service.hpp \ - asio/detail/win_iocp_socket_accept_op.hpp \ - asio/detail/win_iocp_socket_connect_op.hpp \ - asio/detail/win_iocp_socket_recvfrom_op.hpp \ - asio/detail/win_iocp_socket_recvmsg_op.hpp \ - asio/detail/win_iocp_socket_recv_op.hpp \ - asio/detail/win_iocp_socket_send_op.hpp \ - asio/detail/win_iocp_socket_service_base.hpp \ - asio/detail/win_iocp_socket_service.hpp \ - asio/detail/win_iocp_thread_info.hpp \ - asio/detail/win_iocp_wait_op.hpp \ - asio/detail/win_mutex.hpp \ - asio/detail/win_object_handle_service.hpp \ - asio/detail/winrt_async_manager.hpp \ - asio/detail/winrt_async_op.hpp \ - asio/detail/winrt_resolve_op.hpp \ - asio/detail/winrt_resolver_service.hpp \ - asio/detail/winrt_socket_connect_op.hpp \ - asio/detail/winrt_socket_recv_op.hpp \ - asio/detail/winrt_socket_send_op.hpp \ - asio/detail/winrt_ssocket_service_base.hpp \ - asio/detail/winrt_ssocket_service.hpp \ - asio/detail/winrt_timer_scheduler.hpp \ - asio/detail/winrt_utils.hpp \ - asio/detail/winsock_init.hpp \ - asio/detail/win_static_mutex.hpp \ - asio/detail/win_thread.hpp \ - asio/detail/win_tss_ptr.hpp \ - asio/detail/work_dispatcher.hpp \ - asio/detail/wrapped_handler.hpp \ - asio/dispatch.hpp \ - asio/error_code.hpp \ - asio/error.hpp \ - asio/execution.hpp \ - asio/execution_context.hpp \ - asio/execution/allocator.hpp \ - asio/execution/any_executor.hpp \ - asio/execution/bad_executor.hpp \ - asio/execution/blocking.hpp \ - asio/execution/blocking_adaptation.hpp \ - asio/execution/context.hpp \ - asio/execution/context_as.hpp \ - asio/execution/executor.hpp \ - asio/execution/impl/bad_executor.ipp \ - asio/execution/invocable_archetype.hpp \ - asio/execution/mapping.hpp \ - asio/execution/occupancy.hpp \ - asio/execution/outstanding_work.hpp \ - asio/execution/prefer_only.hpp \ - asio/execution/relationship.hpp \ - asio/executor.hpp \ - asio/executor_work_guard.hpp \ - asio/experimental/append.hpp \ - asio/experimental/as_single.hpp \ - asio/experimental/as_tuple.hpp \ - asio/experimental/awaitable_operators.hpp \ - asio/experimental/basic_channel.hpp \ - asio/experimental/basic_concurrent_channel.hpp \ - asio/experimental/cancellation_condition.hpp \ - asio/experimental/channel.hpp \ - asio/experimental/channel_error.hpp \ - asio/experimental/channel_traits.hpp \ - asio/experimental/co_composed.hpp \ - asio/experimental/co_spawn.hpp \ - asio/experimental/concurrent_channel.hpp \ - asio/experimental/coro.hpp \ - asio/experimental/coro_traits.hpp \ - asio/experimental/deferred.hpp \ - asio/experimental/detail/channel_handler.hpp \ - asio/experimental/detail/channel_message.hpp \ - asio/experimental/detail/channel_operation.hpp \ - asio/experimental/detail/channel_payload.hpp \ - asio/experimental/detail/channel_receive_op.hpp \ - asio/experimental/detail/channel_send_functions.hpp \ - asio/experimental/detail/channel_send_op.hpp \ - asio/experimental/detail/channel_service.hpp \ - asio/experimental/detail/coro_completion_handler.hpp \ - asio/experimental/detail/coro_promise_allocator.hpp \ - asio/experimental/detail/has_signature.hpp \ - asio/experimental/detail/impl/channel_service.hpp \ - asio/experimental/detail/partial_promise.hpp \ - asio/experimental/impl/as_single.hpp \ - asio/experimental/impl/channel_error.ipp \ - asio/experimental/impl/co_composed.hpp \ - asio/experimental/impl/coro.hpp \ - asio/experimental/impl/parallel_group.hpp \ - asio/experimental/impl/promise.hpp \ - asio/experimental/impl/use_coro.hpp \ - asio/experimental/impl/use_promise.hpp \ - asio/experimental/parallel_group.hpp \ - asio/experimental/prepend.hpp \ - asio/experimental/promise.hpp \ - asio/experimental/use_coro.hpp \ - asio/experimental/use_promise.hpp \ - asio/file_base.hpp \ - asio/generic/basic_endpoint.hpp \ - asio/generic/datagram_protocol.hpp \ - asio/generic/detail/endpoint.hpp \ - asio/generic/detail/impl/endpoint.ipp \ - asio/generic/raw_protocol.hpp \ - asio/generic/seq_packet_protocol.hpp \ - asio/generic/stream_protocol.hpp \ - asio/handler_continuation_hook.hpp \ - asio/high_resolution_timer.hpp \ - asio.hpp \ - asio/impl/any_completion_executor.ipp \ - asio/impl/any_io_executor.ipp \ - asio/impl/append.hpp \ - asio/impl/as_tuple.hpp \ - asio/impl/awaitable.hpp \ - asio/impl/buffered_read_stream.hpp \ - asio/impl/buffered_write_stream.hpp \ - asio/impl/cancellation_signal.ipp \ - asio/impl/co_spawn.hpp \ - asio/impl/connect.hpp \ - asio/impl/connect_pipe.hpp \ - asio/impl/connect_pipe.ipp \ - asio/impl/consign.hpp \ - asio/impl/deferred.hpp \ - asio/impl/detached.hpp \ - asio/impl/error_code.ipp \ - asio/impl/error.ipp \ - asio/impl/execution_context.hpp \ - asio/impl/execution_context.ipp \ - asio/impl/executor.hpp \ - asio/impl/executor.ipp \ - asio/impl/io_context.hpp \ - asio/impl/io_context.ipp \ - asio/impl/multiple_exceptions.ipp \ - asio/impl/prepend.hpp \ - asio/impl/read_at.hpp \ - asio/impl/read.hpp \ - asio/impl/read_until.hpp \ - asio/impl/redirect_error.hpp \ - asio/impl/serial_port_base.hpp \ - asio/impl/serial_port_base.ipp \ - asio/impl/spawn.hpp \ - asio/impl/src.hpp \ - asio/impl/system_context.hpp \ - asio/impl/system_context.ipp \ - asio/impl/system_executor.hpp \ - asio/impl/thread_pool.hpp \ - asio/impl/thread_pool.ipp \ - asio/impl/use_awaitable.hpp \ - asio/impl/use_future.hpp \ - asio/impl/write_at.hpp \ - asio/impl/write.hpp \ - asio/io_context.hpp \ - asio/io_context_strand.hpp \ - asio/io_service.hpp \ - asio/io_service_strand.hpp \ - asio/ip/address.hpp \ - asio/ip/address_v4.hpp \ - asio/ip/address_v4_iterator.hpp \ - asio/ip/address_v4_range.hpp \ - asio/ip/address_v6.hpp \ - asio/ip/address_v6_iterator.hpp \ - asio/ip/address_v6_range.hpp \ - asio/ip/bad_address_cast.hpp \ - asio/ip/basic_endpoint.hpp \ - asio/ip/basic_resolver_entry.hpp \ - asio/ip/basic_resolver.hpp \ - asio/ip/basic_resolver_iterator.hpp \ - asio/ip/basic_resolver_query.hpp \ - asio/ip/basic_resolver_results.hpp \ - asio/ip/detail/endpoint.hpp \ - asio/ip/detail/impl/endpoint.ipp \ - asio/ip/detail/socket_option.hpp \ - asio/ip/host_name.hpp \ - asio/ip/icmp.hpp \ - asio/ip/impl/address.hpp \ - asio/ip/impl/address.ipp \ - asio/ip/impl/address_v4.hpp \ - asio/ip/impl/address_v4.ipp \ - asio/ip/impl/address_v6.hpp \ - asio/ip/impl/address_v6.ipp \ - asio/ip/impl/basic_endpoint.hpp \ - asio/ip/impl/host_name.ipp \ - asio/ip/impl/network_v4.hpp \ - asio/ip/impl/network_v4.ipp \ - asio/ip/impl/network_v6.hpp \ - asio/ip/impl/network_v6.ipp \ - asio/ip/multicast.hpp \ - asio/ip/network_v4.hpp \ - asio/ip/network_v6.hpp \ - asio/ip/resolver_base.hpp \ - asio/ip/resolver_query_base.hpp \ - asio/ip/tcp.hpp \ - asio/ip/udp.hpp \ - asio/ip/unicast.hpp \ - asio/ip/v6_only.hpp \ - asio/is_applicable_property.hpp \ - asio/is_contiguous_iterator.hpp \ - asio/is_executor.hpp \ - asio/is_read_buffered.hpp \ - asio/is_write_buffered.hpp \ - asio/local/basic_endpoint.hpp \ - asio/local/connect_pair.hpp \ - asio/local/datagram_protocol.hpp \ - asio/local/detail/endpoint.hpp \ - asio/local/detail/impl/endpoint.ipp \ - asio/local/seq_packet_protocol.hpp \ - asio/local/stream_protocol.hpp \ - asio/multiple_exceptions.hpp \ - asio/packaged_task.hpp \ - asio/placeholders.hpp \ - asio/posix/basic_descriptor.hpp \ - asio/posix/basic_stream_descriptor.hpp \ - asio/posix/descriptor_base.hpp \ - asio/posix/descriptor.hpp \ - asio/posix/stream_descriptor.hpp \ - asio/post.hpp \ - asio/prefer.hpp \ - asio/prepend.hpp \ - asio/query.hpp \ - asio/random_access_file.hpp \ - asio/read_at.hpp \ - asio/read.hpp \ - asio/read_until.hpp \ - asio/readable_pipe.hpp \ - asio/recycling_allocator.hpp \ - asio/redirect_error.hpp \ - asio/registered_buffer.hpp \ - asio/require.hpp \ - asio/require_concept.hpp \ - asio/serial_port_base.hpp \ - asio/serial_port.hpp \ - asio/signal_set_base.hpp \ - asio/signal_set.hpp \ - asio/socket_base.hpp \ - asio/spawn.hpp \ - asio/ssl/context_base.hpp \ - asio/ssl/context.hpp \ - asio/ssl/detail/buffered_handshake_op.hpp \ - asio/ssl/detail/engine.hpp \ - asio/ssl/detail/handshake_op.hpp \ - asio/ssl/detail/impl/engine.ipp \ - asio/ssl/detail/impl/openssl_init.ipp \ - asio/ssl/detail/io.hpp \ - asio/ssl/detail/openssl_init.hpp \ - asio/ssl/detail/openssl_types.hpp \ - asio/ssl/detail/password_callback.hpp \ - asio/ssl/detail/read_op.hpp \ - asio/ssl/detail/shutdown_op.hpp \ - asio/ssl/detail/stream_core.hpp \ - asio/ssl/detail/verify_callback.hpp \ - asio/ssl/detail/write_op.hpp \ - asio/ssl/error.hpp \ - asio/ssl.hpp \ - asio/ssl/host_name_verification.hpp \ - asio/ssl/impl/context.hpp \ - asio/ssl/impl/context.ipp \ - asio/ssl/impl/error.ipp \ - asio/ssl/impl/host_name_verification.ipp \ - asio/ssl/impl/rfc2818_verification.ipp \ - asio/ssl/impl/src.hpp \ - asio/ssl/rfc2818_verification.hpp \ - asio/ssl/stream_base.hpp \ - asio/ssl/stream.hpp \ - asio/ssl/verify_context.hpp \ - asio/ssl/verify_mode.hpp \ - asio/static_thread_pool.hpp \ - asio/steady_timer.hpp \ - asio/strand.hpp \ - asio/streambuf.hpp \ - asio/stream_file.hpp \ - asio/system_context.hpp \ - asio/system_error.hpp \ - asio/system_executor.hpp \ - asio/system_timer.hpp \ - asio/this_coro.hpp \ - asio/thread.hpp \ - asio/thread_pool.hpp \ - asio/time_traits.hpp \ - asio/traits/equality_comparable.hpp \ - asio/traits/execute_member.hpp \ - asio/traits/prefer_free.hpp \ - asio/traits/prefer_member.hpp \ - asio/traits/query_free.hpp \ - asio/traits/query_member.hpp \ - asio/traits/query_static_constexpr_member.hpp \ - asio/traits/require_concept_free.hpp \ - asio/traits/require_concept_member.hpp \ - asio/traits/require_free.hpp \ - asio/traits/require_member.hpp \ - asio/traits/static_query.hpp \ - asio/traits/static_require.hpp \ - asio/traits/static_require_concept.hpp \ - asio/ts/buffer.hpp \ - asio/ts/executor.hpp \ - asio/ts/internet.hpp \ - asio/ts/io_context.hpp \ - asio/ts/netfwd.hpp \ - asio/ts/net.hpp \ - asio/ts/socket.hpp \ - asio/ts/timer.hpp \ - asio/unyield.hpp \ - asio/use_awaitable.hpp \ - asio/use_future.hpp \ - asio/uses_executor.hpp \ - asio/version.hpp \ - asio/wait_traits.hpp \ - asio/windows/basic_object_handle.hpp \ - asio/windows/basic_overlapped_handle.hpp \ - asio/windows/basic_random_access_handle.hpp \ - asio/windows/basic_stream_handle.hpp \ - asio/windows/object_handle.hpp \ - asio/windows/overlapped_handle.hpp \ - asio/windows/overlapped_ptr.hpp \ - asio/windows/random_access_handle.hpp \ - asio/windows/stream_handle.hpp \ - asio/writable_pipe.hpp \ - asio/write_at.hpp \ - asio/write.hpp \ - asio/yield.hpp - -MAINTAINERCLEANFILES = \ - $(srcdir)/Makefile.in diff --git a/subprojects/asio/include/Makefile.in b/subprojects/asio/include/Makefile.in deleted file mode 100644 index e71be1bf5..000000000 --- a/subprojects/asio/include/Makefile.in +++ /dev/null @@ -1,1164 +0,0 @@ -# Makefile.in generated by automake 1.16.5 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2021 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = include -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(nobase_include_HEADERS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(includedir)" -HEADERS = $(nobase_include_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ -CSCOPE = @CSCOPE@ -CTAGS = @CTAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -ETAGS = @ETAGS@ -EXEEXT = @EXEEXT@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -pkgconfigdir = @pkgconfigdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ - -# find . -name "*.*pp" | sed -e 's/^\.\///' | sed -e 's/^.*$/ & \\/' | sort -nobase_include_HEADERS = \ - asio/any_completion_executor.hpp \ - asio/any_completion_handler.hpp \ - asio/any_io_executor.hpp \ - asio/append.hpp \ - asio/as_tuple.hpp \ - asio/associated_allocator.hpp \ - asio/associated_cancellation_slot.hpp \ - asio/associated_executor.hpp \ - asio/associated_immediate_executor.hpp \ - asio/associator.hpp \ - asio/async_result.hpp \ - asio/awaitable.hpp \ - asio/basic_datagram_socket.hpp \ - asio/basic_deadline_timer.hpp \ - asio/basic_file.hpp \ - asio/basic_io_object.hpp \ - asio/basic_random_access_file.hpp \ - asio/basic_raw_socket.hpp \ - asio/basic_readable_pipe.hpp \ - asio/basic_seq_packet_socket.hpp \ - asio/basic_serial_port.hpp \ - asio/basic_signal_set.hpp \ - asio/basic_socket_acceptor.hpp \ - asio/basic_socket.hpp \ - asio/basic_socket_iostream.hpp \ - asio/basic_socket_streambuf.hpp \ - asio/basic_streambuf_fwd.hpp \ - asio/basic_streambuf.hpp \ - asio/basic_stream_file.hpp \ - asio/basic_stream_socket.hpp \ - asio/basic_waitable_timer.hpp \ - asio/basic_writable_pipe.hpp \ - asio/bind_allocator.hpp \ - asio/bind_cancellation_slot.hpp \ - asio/bind_executor.hpp \ - asio/bind_immediate_executor.hpp \ - asio/buffered_read_stream_fwd.hpp \ - asio/buffered_read_stream.hpp \ - asio/buffered_stream_fwd.hpp \ - asio/buffered_stream.hpp \ - asio/buffered_write_stream_fwd.hpp \ - asio/buffered_write_stream.hpp \ - asio/buffer.hpp \ - asio/buffer_registration.hpp \ - asio/buffers_iterator.hpp \ - asio/cancellation_signal.hpp \ - asio/cancellation_state.hpp \ - asio/cancellation_type.hpp \ - asio/co_spawn.hpp \ - asio/completion_condition.hpp \ - asio/compose.hpp \ - asio/connect.hpp \ - asio/connect_pipe.hpp \ - asio/consign.hpp \ - asio/coroutine.hpp \ - asio/deadline_timer.hpp \ - asio/defer.hpp \ - asio/deferred.hpp \ - asio/detached.hpp \ - asio/detail/array_fwd.hpp \ - asio/detail/array.hpp \ - asio/detail/assert.hpp \ - asio/detail/atomic_count.hpp \ - asio/detail/base_from_cancellation_state.hpp \ - asio/detail/base_from_completion_cond.hpp \ - asio/detail/bind_handler.hpp \ - asio/detail/blocking_executor_op.hpp \ - asio/detail/buffered_stream_storage.hpp \ - asio/detail/buffer_resize_guard.hpp \ - asio/detail/buffer_sequence_adapter.hpp \ - asio/detail/call_stack.hpp \ - asio/detail/chrono.hpp \ - asio/detail/chrono_time_traits.hpp \ - asio/detail/completion_handler.hpp \ - asio/detail/composed_work.hpp \ - asio/detail/concurrency_hint.hpp \ - asio/detail/conditionally_enabled_event.hpp \ - asio/detail/conditionally_enabled_mutex.hpp \ - asio/detail/config.hpp \ - asio/detail/consuming_buffers.hpp \ - asio/detail/cstddef.hpp \ - asio/detail/cstdint.hpp \ - asio/detail/date_time_fwd.hpp \ - asio/detail/deadline_timer_service.hpp \ - asio/detail/dependent_type.hpp \ - asio/detail/descriptor_ops.hpp \ - asio/detail/descriptor_read_op.hpp \ - asio/detail/descriptor_write_op.hpp \ - asio/detail/dev_poll_reactor.hpp \ - asio/detail/epoll_reactor.hpp \ - asio/detail/eventfd_select_interrupter.hpp \ - asio/detail/event.hpp \ - asio/detail/exception.hpp \ - asio/detail/executor_function.hpp \ - asio/detail/executor_op.hpp \ - asio/detail/fd_set_adapter.hpp \ - asio/detail/fenced_block.hpp \ - asio/detail/functional.hpp \ - asio/detail/future.hpp \ - asio/detail/global.hpp \ - asio/detail/handler_alloc_helpers.hpp \ - asio/detail/handler_cont_helpers.hpp \ - asio/detail/handler_tracking.hpp \ - asio/detail/handler_type_requirements.hpp \ - asio/detail/handler_work.hpp \ - asio/detail/hash_map.hpp \ - asio/detail/impl/buffer_sequence_adapter.ipp \ - asio/detail/impl/descriptor_ops.ipp \ - asio/detail/impl/dev_poll_reactor.hpp \ - asio/detail/impl/dev_poll_reactor.ipp \ - asio/detail/impl/epoll_reactor.hpp \ - asio/detail/impl/epoll_reactor.ipp \ - asio/detail/impl/eventfd_select_interrupter.ipp \ - asio/detail/impl/handler_tracking.ipp \ - asio/detail/impl/io_uring_descriptor_service.ipp \ - asio/detail/impl/io_uring_file_service.ipp \ - asio/detail/impl/io_uring_service.hpp \ - asio/detail/impl/io_uring_service.ipp \ - asio/detail/impl/io_uring_socket_service_base.ipp \ - asio/detail/impl/kqueue_reactor.hpp \ - asio/detail/impl/kqueue_reactor.ipp \ - asio/detail/impl/null_event.ipp \ - asio/detail/impl/pipe_select_interrupter.ipp \ - asio/detail/impl/posix_event.ipp \ - asio/detail/impl/posix_mutex.ipp \ - asio/detail/impl/posix_serial_port_service.ipp \ - asio/detail/impl/posix_thread.ipp \ - asio/detail/impl/posix_tss_ptr.ipp \ - asio/detail/impl/reactive_descriptor_service.ipp \ - asio/detail/impl/reactive_socket_service_base.ipp \ - asio/detail/impl/resolver_service_base.ipp \ - asio/detail/impl/scheduler.ipp \ - asio/detail/impl/select_reactor.hpp \ - asio/detail/impl/select_reactor.ipp \ - asio/detail/impl/service_registry.hpp \ - asio/detail/impl/service_registry.ipp \ - asio/detail/impl/signal_set_service.ipp \ - asio/detail/impl/socket_ops.ipp \ - asio/detail/impl/socket_select_interrupter.ipp \ - asio/detail/impl/strand_executor_service.hpp \ - asio/detail/impl/strand_executor_service.ipp \ - asio/detail/impl/strand_service.hpp \ - asio/detail/impl/strand_service.ipp \ - asio/detail/impl/thread_context.ipp \ - asio/detail/impl/throw_error.ipp \ - asio/detail/impl/timer_queue_ptime.ipp \ - asio/detail/impl/timer_queue_set.ipp \ - asio/detail/impl/win_event.ipp \ - asio/detail/impl/win_iocp_file_service.ipp \ - asio/detail/impl/win_iocp_handle_service.ipp \ - asio/detail/impl/win_iocp_io_context.hpp \ - asio/detail/impl/win_iocp_io_context.ipp \ - asio/detail/impl/win_iocp_serial_port_service.ipp \ - asio/detail/impl/win_iocp_socket_service_base.ipp \ - asio/detail/impl/win_mutex.ipp \ - asio/detail/impl/win_object_handle_service.ipp \ - asio/detail/impl/winrt_ssocket_service_base.ipp \ - asio/detail/impl/winrt_timer_scheduler.hpp \ - asio/detail/impl/winrt_timer_scheduler.ipp \ - asio/detail/impl/winsock_init.ipp \ - asio/detail/impl/win_static_mutex.ipp \ - asio/detail/impl/win_thread.ipp \ - asio/detail/impl/win_tss_ptr.ipp \ - asio/detail/initiate_defer.hpp \ - asio/detail/initiate_dispatch.hpp \ - asio/detail/initiate_post.hpp \ - asio/detail/io_control.hpp \ - asio/detail/io_object_impl.hpp \ - asio/detail/io_uring_descriptor_read_at_op.hpp \ - asio/detail/io_uring_descriptor_read_op.hpp \ - asio/detail/io_uring_descriptor_service.hpp \ - asio/detail/io_uring_descriptor_write_at_op.hpp \ - asio/detail/io_uring_descriptor_write_op.hpp \ - asio/detail/io_uring_file_service.hpp \ - asio/detail/io_uring_null_buffers_op.hpp \ - asio/detail/io_uring_operation.hpp \ - asio/detail/io_uring_service.hpp \ - asio/detail/io_uring_socket_accept_op.hpp \ - asio/detail/io_uring_socket_connect_op.hpp \ - asio/detail/io_uring_socket_recvfrom_op.hpp \ - asio/detail/io_uring_socket_recvmsg_op.hpp \ - asio/detail/io_uring_socket_recv_op.hpp \ - asio/detail/io_uring_socket_send_op.hpp \ - asio/detail/io_uring_socket_sendto_op.hpp \ - asio/detail/io_uring_socket_service_base.hpp \ - asio/detail/io_uring_socket_service.hpp \ - asio/detail/io_uring_wait_op.hpp \ - asio/detail/is_buffer_sequence.hpp \ - asio/detail/is_executor.hpp \ - asio/detail/keyword_tss_ptr.hpp \ - asio/detail/kqueue_reactor.hpp \ - asio/detail/limits.hpp \ - asio/detail/local_free_on_block_exit.hpp \ - asio/detail/memory.hpp \ - asio/detail/mutex.hpp \ - asio/detail/non_const_lvalue.hpp \ - asio/detail/noncopyable.hpp \ - asio/detail/null_event.hpp \ - asio/detail/null_fenced_block.hpp \ - asio/detail/null_global.hpp \ - asio/detail/null_mutex.hpp \ - asio/detail/null_reactor.hpp \ - asio/detail/null_signal_blocker.hpp \ - asio/detail/null_socket_service.hpp \ - asio/detail/null_static_mutex.hpp \ - asio/detail/null_thread.hpp \ - asio/detail/null_tss_ptr.hpp \ - asio/detail/object_pool.hpp \ - asio/detail/old_win_sdk_compat.hpp \ - asio/detail/operation.hpp \ - asio/detail/op_queue.hpp \ - asio/detail/pipe_select_interrupter.hpp \ - asio/detail/pop_options.hpp \ - asio/detail/posix_event.hpp \ - asio/detail/posix_fd_set_adapter.hpp \ - asio/detail/posix_global.hpp \ - asio/detail/posix_mutex.hpp \ - asio/detail/posix_serial_port_service.hpp \ - asio/detail/posix_signal_blocker.hpp \ - asio/detail/posix_static_mutex.hpp \ - asio/detail/posix_thread.hpp \ - asio/detail/posix_tss_ptr.hpp \ - asio/detail/push_options.hpp \ - asio/detail/reactive_descriptor_service.hpp \ - asio/detail/reactive_null_buffers_op.hpp \ - asio/detail/reactive_socket_accept_op.hpp \ - asio/detail/reactive_socket_connect_op.hpp \ - asio/detail/reactive_socket_recvfrom_op.hpp \ - asio/detail/reactive_socket_recvmsg_op.hpp \ - asio/detail/reactive_socket_recv_op.hpp \ - asio/detail/reactive_socket_send_op.hpp \ - asio/detail/reactive_socket_sendto_op.hpp \ - asio/detail/reactive_socket_service_base.hpp \ - asio/detail/reactive_socket_service.hpp \ - asio/detail/reactive_wait_op.hpp \ - asio/detail/reactor.hpp \ - asio/detail/reactor_op.hpp \ - asio/detail/reactor_op_queue.hpp \ - asio/detail/recycling_allocator.hpp \ - asio/detail/regex_fwd.hpp \ - asio/detail/resolve_endpoint_op.hpp \ - asio/detail/resolve_op.hpp \ - asio/detail/resolve_query_op.hpp \ - asio/detail/resolver_service_base.hpp \ - asio/detail/resolver_service.hpp \ - asio/detail/scheduler.hpp \ - asio/detail/scheduler_operation.hpp \ - asio/detail/scheduler_task.hpp \ - asio/detail/scheduler_thread_info.hpp \ - asio/detail/scoped_lock.hpp \ - asio/detail/scoped_ptr.hpp \ - asio/detail/select_interrupter.hpp \ - asio/detail/select_reactor.hpp \ - asio/detail/service_registry.hpp \ - asio/detail/signal_blocker.hpp \ - asio/detail/signal_handler.hpp \ - asio/detail/signal_init.hpp \ - asio/detail/signal_op.hpp \ - asio/detail/signal_set_service.hpp \ - asio/detail/socket_holder.hpp \ - asio/detail/socket_ops.hpp \ - asio/detail/socket_option.hpp \ - asio/detail/socket_select_interrupter.hpp \ - asio/detail/socket_types.hpp \ - asio/detail/source_location.hpp \ - asio/detail/static_mutex.hpp \ - asio/detail/std_event.hpp \ - asio/detail/std_fenced_block.hpp \ - asio/detail/std_global.hpp \ - asio/detail/std_mutex.hpp \ - asio/detail/std_static_mutex.hpp \ - asio/detail/std_thread.hpp \ - asio/detail/strand_executor_service.hpp \ - asio/detail/strand_service.hpp \ - asio/detail/string_view.hpp \ - asio/detail/thread_context.hpp \ - asio/detail/thread_group.hpp \ - asio/detail/thread.hpp \ - asio/detail/thread_info_base.hpp \ - asio/detail/throw_error.hpp \ - asio/detail/throw_exception.hpp \ - asio/detail/timer_queue_base.hpp \ - asio/detail/timer_queue.hpp \ - asio/detail/timer_queue_ptime.hpp \ - asio/detail/timer_queue_set.hpp \ - asio/detail/timer_scheduler_fwd.hpp \ - asio/detail/timer_scheduler.hpp \ - asio/detail/tss_ptr.hpp \ - asio/detail/type_traits.hpp \ - asio/detail/utility.hpp \ - asio/detail/wait_handler.hpp \ - asio/detail/wait_op.hpp \ - asio/detail/winapp_thread.hpp \ - asio/detail/wince_thread.hpp \ - asio/detail/win_event.hpp \ - asio/detail/win_fd_set_adapter.hpp \ - asio/detail/win_global.hpp \ - asio/detail/win_iocp_file_service.hpp \ - asio/detail/win_iocp_handle_read_op.hpp \ - asio/detail/win_iocp_handle_service.hpp \ - asio/detail/win_iocp_handle_write_op.hpp \ - asio/detail/win_iocp_io_context.hpp \ - asio/detail/win_iocp_null_buffers_op.hpp \ - asio/detail/win_iocp_operation.hpp \ - asio/detail/win_iocp_overlapped_op.hpp \ - asio/detail/win_iocp_overlapped_ptr.hpp \ - asio/detail/win_iocp_serial_port_service.hpp \ - asio/detail/win_iocp_socket_accept_op.hpp \ - asio/detail/win_iocp_socket_connect_op.hpp \ - asio/detail/win_iocp_socket_recvfrom_op.hpp \ - asio/detail/win_iocp_socket_recvmsg_op.hpp \ - asio/detail/win_iocp_socket_recv_op.hpp \ - asio/detail/win_iocp_socket_send_op.hpp \ - asio/detail/win_iocp_socket_service_base.hpp \ - asio/detail/win_iocp_socket_service.hpp \ - asio/detail/win_iocp_thread_info.hpp \ - asio/detail/win_iocp_wait_op.hpp \ - asio/detail/win_mutex.hpp \ - asio/detail/win_object_handle_service.hpp \ - asio/detail/winrt_async_manager.hpp \ - asio/detail/winrt_async_op.hpp \ - asio/detail/winrt_resolve_op.hpp \ - asio/detail/winrt_resolver_service.hpp \ - asio/detail/winrt_socket_connect_op.hpp \ - asio/detail/winrt_socket_recv_op.hpp \ - asio/detail/winrt_socket_send_op.hpp \ - asio/detail/winrt_ssocket_service_base.hpp \ - asio/detail/winrt_ssocket_service.hpp \ - asio/detail/winrt_timer_scheduler.hpp \ - asio/detail/winrt_utils.hpp \ - asio/detail/winsock_init.hpp \ - asio/detail/win_static_mutex.hpp \ - asio/detail/win_thread.hpp \ - asio/detail/win_tss_ptr.hpp \ - asio/detail/work_dispatcher.hpp \ - asio/detail/wrapped_handler.hpp \ - asio/dispatch.hpp \ - asio/error_code.hpp \ - asio/error.hpp \ - asio/execution.hpp \ - asio/execution_context.hpp \ - asio/execution/allocator.hpp \ - asio/execution/any_executor.hpp \ - asio/execution/bad_executor.hpp \ - asio/execution/blocking.hpp \ - asio/execution/blocking_adaptation.hpp \ - asio/execution/context.hpp \ - asio/execution/context_as.hpp \ - asio/execution/executor.hpp \ - asio/execution/impl/bad_executor.ipp \ - asio/execution/invocable_archetype.hpp \ - asio/execution/mapping.hpp \ - asio/execution/occupancy.hpp \ - asio/execution/outstanding_work.hpp \ - asio/execution/prefer_only.hpp \ - asio/execution/relationship.hpp \ - asio/executor.hpp \ - asio/executor_work_guard.hpp \ - asio/experimental/append.hpp \ - asio/experimental/as_single.hpp \ - asio/experimental/as_tuple.hpp \ - asio/experimental/awaitable_operators.hpp \ - asio/experimental/basic_channel.hpp \ - asio/experimental/basic_concurrent_channel.hpp \ - asio/experimental/cancellation_condition.hpp \ - asio/experimental/channel.hpp \ - asio/experimental/channel_error.hpp \ - asio/experimental/channel_traits.hpp \ - asio/experimental/co_composed.hpp \ - asio/experimental/co_spawn.hpp \ - asio/experimental/concurrent_channel.hpp \ - asio/experimental/coro.hpp \ - asio/experimental/coro_traits.hpp \ - asio/experimental/deferred.hpp \ - asio/experimental/detail/channel_handler.hpp \ - asio/experimental/detail/channel_message.hpp \ - asio/experimental/detail/channel_operation.hpp \ - asio/experimental/detail/channel_payload.hpp \ - asio/experimental/detail/channel_receive_op.hpp \ - asio/experimental/detail/channel_send_functions.hpp \ - asio/experimental/detail/channel_send_op.hpp \ - asio/experimental/detail/channel_service.hpp \ - asio/experimental/detail/coro_completion_handler.hpp \ - asio/experimental/detail/coro_promise_allocator.hpp \ - asio/experimental/detail/has_signature.hpp \ - asio/experimental/detail/impl/channel_service.hpp \ - asio/experimental/detail/partial_promise.hpp \ - asio/experimental/impl/as_single.hpp \ - asio/experimental/impl/channel_error.ipp \ - asio/experimental/impl/co_composed.hpp \ - asio/experimental/impl/coro.hpp \ - asio/experimental/impl/parallel_group.hpp \ - asio/experimental/impl/promise.hpp \ - asio/experimental/impl/use_coro.hpp \ - asio/experimental/impl/use_promise.hpp \ - asio/experimental/parallel_group.hpp \ - asio/experimental/prepend.hpp \ - asio/experimental/promise.hpp \ - asio/experimental/use_coro.hpp \ - asio/experimental/use_promise.hpp \ - asio/file_base.hpp \ - asio/generic/basic_endpoint.hpp \ - asio/generic/datagram_protocol.hpp \ - asio/generic/detail/endpoint.hpp \ - asio/generic/detail/impl/endpoint.ipp \ - asio/generic/raw_protocol.hpp \ - asio/generic/seq_packet_protocol.hpp \ - asio/generic/stream_protocol.hpp \ - asio/handler_continuation_hook.hpp \ - asio/high_resolution_timer.hpp \ - asio.hpp \ - asio/impl/any_completion_executor.ipp \ - asio/impl/any_io_executor.ipp \ - asio/impl/append.hpp \ - asio/impl/as_tuple.hpp \ - asio/impl/awaitable.hpp \ - asio/impl/buffered_read_stream.hpp \ - asio/impl/buffered_write_stream.hpp \ - asio/impl/cancellation_signal.ipp \ - asio/impl/co_spawn.hpp \ - asio/impl/connect.hpp \ - asio/impl/connect_pipe.hpp \ - asio/impl/connect_pipe.ipp \ - asio/impl/consign.hpp \ - asio/impl/deferred.hpp \ - asio/impl/detached.hpp \ - asio/impl/error_code.ipp \ - asio/impl/error.ipp \ - asio/impl/execution_context.hpp \ - asio/impl/execution_context.ipp \ - asio/impl/executor.hpp \ - asio/impl/executor.ipp \ - asio/impl/io_context.hpp \ - asio/impl/io_context.ipp \ - asio/impl/multiple_exceptions.ipp \ - asio/impl/prepend.hpp \ - asio/impl/read_at.hpp \ - asio/impl/read.hpp \ - asio/impl/read_until.hpp \ - asio/impl/redirect_error.hpp \ - asio/impl/serial_port_base.hpp \ - asio/impl/serial_port_base.ipp \ - asio/impl/spawn.hpp \ - asio/impl/src.hpp \ - asio/impl/system_context.hpp \ - asio/impl/system_context.ipp \ - asio/impl/system_executor.hpp \ - asio/impl/thread_pool.hpp \ - asio/impl/thread_pool.ipp \ - asio/impl/use_awaitable.hpp \ - asio/impl/use_future.hpp \ - asio/impl/write_at.hpp \ - asio/impl/write.hpp \ - asio/io_context.hpp \ - asio/io_context_strand.hpp \ - asio/io_service.hpp \ - asio/io_service_strand.hpp \ - asio/ip/address.hpp \ - asio/ip/address_v4.hpp \ - asio/ip/address_v4_iterator.hpp \ - asio/ip/address_v4_range.hpp \ - asio/ip/address_v6.hpp \ - asio/ip/address_v6_iterator.hpp \ - asio/ip/address_v6_range.hpp \ - asio/ip/bad_address_cast.hpp \ - asio/ip/basic_endpoint.hpp \ - asio/ip/basic_resolver_entry.hpp \ - asio/ip/basic_resolver.hpp \ - asio/ip/basic_resolver_iterator.hpp \ - asio/ip/basic_resolver_query.hpp \ - asio/ip/basic_resolver_results.hpp \ - asio/ip/detail/endpoint.hpp \ - asio/ip/detail/impl/endpoint.ipp \ - asio/ip/detail/socket_option.hpp \ - asio/ip/host_name.hpp \ - asio/ip/icmp.hpp \ - asio/ip/impl/address.hpp \ - asio/ip/impl/address.ipp \ - asio/ip/impl/address_v4.hpp \ - asio/ip/impl/address_v4.ipp \ - asio/ip/impl/address_v6.hpp \ - asio/ip/impl/address_v6.ipp \ - asio/ip/impl/basic_endpoint.hpp \ - asio/ip/impl/host_name.ipp \ - asio/ip/impl/network_v4.hpp \ - asio/ip/impl/network_v4.ipp \ - asio/ip/impl/network_v6.hpp \ - asio/ip/impl/network_v6.ipp \ - asio/ip/multicast.hpp \ - asio/ip/network_v4.hpp \ - asio/ip/network_v6.hpp \ - asio/ip/resolver_base.hpp \ - asio/ip/resolver_query_base.hpp \ - asio/ip/tcp.hpp \ - asio/ip/udp.hpp \ - asio/ip/unicast.hpp \ - asio/ip/v6_only.hpp \ - asio/is_applicable_property.hpp \ - asio/is_contiguous_iterator.hpp \ - asio/is_executor.hpp \ - asio/is_read_buffered.hpp \ - asio/is_write_buffered.hpp \ - asio/local/basic_endpoint.hpp \ - asio/local/connect_pair.hpp \ - asio/local/datagram_protocol.hpp \ - asio/local/detail/endpoint.hpp \ - asio/local/detail/impl/endpoint.ipp \ - asio/local/seq_packet_protocol.hpp \ - asio/local/stream_protocol.hpp \ - asio/multiple_exceptions.hpp \ - asio/packaged_task.hpp \ - asio/placeholders.hpp \ - asio/posix/basic_descriptor.hpp \ - asio/posix/basic_stream_descriptor.hpp \ - asio/posix/descriptor_base.hpp \ - asio/posix/descriptor.hpp \ - asio/posix/stream_descriptor.hpp \ - asio/post.hpp \ - asio/prefer.hpp \ - asio/prepend.hpp \ - asio/query.hpp \ - asio/random_access_file.hpp \ - asio/read_at.hpp \ - asio/read.hpp \ - asio/read_until.hpp \ - asio/readable_pipe.hpp \ - asio/recycling_allocator.hpp \ - asio/redirect_error.hpp \ - asio/registered_buffer.hpp \ - asio/require.hpp \ - asio/require_concept.hpp \ - asio/serial_port_base.hpp \ - asio/serial_port.hpp \ - asio/signal_set_base.hpp \ - asio/signal_set.hpp \ - asio/socket_base.hpp \ - asio/spawn.hpp \ - asio/ssl/context_base.hpp \ - asio/ssl/context.hpp \ - asio/ssl/detail/buffered_handshake_op.hpp \ - asio/ssl/detail/engine.hpp \ - asio/ssl/detail/handshake_op.hpp \ - asio/ssl/detail/impl/engine.ipp \ - asio/ssl/detail/impl/openssl_init.ipp \ - asio/ssl/detail/io.hpp \ - asio/ssl/detail/openssl_init.hpp \ - asio/ssl/detail/openssl_types.hpp \ - asio/ssl/detail/password_callback.hpp \ - asio/ssl/detail/read_op.hpp \ - asio/ssl/detail/shutdown_op.hpp \ - asio/ssl/detail/stream_core.hpp \ - asio/ssl/detail/verify_callback.hpp \ - asio/ssl/detail/write_op.hpp \ - asio/ssl/error.hpp \ - asio/ssl.hpp \ - asio/ssl/host_name_verification.hpp \ - asio/ssl/impl/context.hpp \ - asio/ssl/impl/context.ipp \ - asio/ssl/impl/error.ipp \ - asio/ssl/impl/host_name_verification.ipp \ - asio/ssl/impl/rfc2818_verification.ipp \ - asio/ssl/impl/src.hpp \ - asio/ssl/rfc2818_verification.hpp \ - asio/ssl/stream_base.hpp \ - asio/ssl/stream.hpp \ - asio/ssl/verify_context.hpp \ - asio/ssl/verify_mode.hpp \ - asio/static_thread_pool.hpp \ - asio/steady_timer.hpp \ - asio/strand.hpp \ - asio/streambuf.hpp \ - asio/stream_file.hpp \ - asio/system_context.hpp \ - asio/system_error.hpp \ - asio/system_executor.hpp \ - asio/system_timer.hpp \ - asio/this_coro.hpp \ - asio/thread.hpp \ - asio/thread_pool.hpp \ - asio/time_traits.hpp \ - asio/traits/equality_comparable.hpp \ - asio/traits/execute_member.hpp \ - asio/traits/prefer_free.hpp \ - asio/traits/prefer_member.hpp \ - asio/traits/query_free.hpp \ - asio/traits/query_member.hpp \ - asio/traits/query_static_constexpr_member.hpp \ - asio/traits/require_concept_free.hpp \ - asio/traits/require_concept_member.hpp \ - asio/traits/require_free.hpp \ - asio/traits/require_member.hpp \ - asio/traits/static_query.hpp \ - asio/traits/static_require.hpp \ - asio/traits/static_require_concept.hpp \ - asio/ts/buffer.hpp \ - asio/ts/executor.hpp \ - asio/ts/internet.hpp \ - asio/ts/io_context.hpp \ - asio/ts/netfwd.hpp \ - asio/ts/net.hpp \ - asio/ts/socket.hpp \ - asio/ts/timer.hpp \ - asio/unyield.hpp \ - asio/use_awaitable.hpp \ - asio/use_future.hpp \ - asio/uses_executor.hpp \ - asio/version.hpp \ - asio/wait_traits.hpp \ - asio/windows/basic_object_handle.hpp \ - asio/windows/basic_overlapped_handle.hpp \ - asio/windows/basic_random_access_handle.hpp \ - asio/windows/basic_stream_handle.hpp \ - asio/windows/object_handle.hpp \ - asio/windows/overlapped_handle.hpp \ - asio/windows/overlapped_ptr.hpp \ - asio/windows/random_access_handle.hpp \ - asio/windows/stream_handle.hpp \ - asio/writable_pipe.hpp \ - asio/write_at.hpp \ - asio/write.hpp \ - asio/yield.hpp - -MAINTAINERCLEANFILES = \ - $(srcdir)/Makefile.in - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign include/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-nobase_includeHEADERS: $(nobase_include_HEADERS) - @$(NORMAL_INSTALL) - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ - fi; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \ - echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \ - $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \ - done - -uninstall-nobase_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-nobase_includeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-nobase_includeHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - cscopelist-am ctags ctags-am distclean distclean-generic \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-nobase_includeHEADERS install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-nobase_includeHEADERS - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/subprojects/asio/include/asio.hpp b/subprojects/asio/include/asio.hpp deleted file mode 100644 index 3421b58bd..000000000 --- a/subprojects/asio/include/asio.hpp +++ /dev/null @@ -1,199 +0,0 @@ -// -// asio.hpp -// ~~~~~~~~ -// -// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef ASIO_HPP -#define ASIO_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include "asio/any_completion_executor.hpp" -#include "asio/any_completion_handler.hpp" -#include "asio/any_io_executor.hpp" -#include "asio/append.hpp" -#include "asio/as_tuple.hpp" -#include "asio/associated_allocator.hpp" -#include "asio/associated_cancellation_slot.hpp" -#include "asio/associated_executor.hpp" -#include "asio/associated_immediate_executor.hpp" -#include "asio/associator.hpp" -#include "asio/async_result.hpp" -#include "asio/awaitable.hpp" -#include "asio/basic_datagram_socket.hpp" -#include "asio/basic_deadline_timer.hpp" -#include "asio/basic_file.hpp" -#include "asio/basic_io_object.hpp" -#include "asio/basic_random_access_file.hpp" -#include "asio/basic_raw_socket.hpp" -#include "asio/basic_readable_pipe.hpp" -#include "asio/basic_seq_packet_socket.hpp" -#include "asio/basic_serial_port.hpp" -#include "asio/basic_signal_set.hpp" -#include "asio/basic_socket.hpp" -#include "asio/basic_socket_acceptor.hpp" -#include "asio/basic_socket_iostream.hpp" -#include "asio/basic_socket_streambuf.hpp" -#include "asio/basic_stream_file.hpp" -#include "asio/basic_stream_socket.hpp" -#include "asio/basic_streambuf.hpp" -#include "asio/basic_waitable_timer.hpp" -#include "asio/basic_writable_pipe.hpp" -#include "asio/bind_allocator.hpp" -#include "asio/bind_cancellation_slot.hpp" -#include "asio/bind_executor.hpp" -#include "asio/bind_immediate_executor.hpp" -#include "asio/buffer.hpp" -#include "asio/buffer_registration.hpp" -#include "asio/buffered_read_stream_fwd.hpp" -#include "asio/buffered_read_stream.hpp" -#include "asio/buffered_stream_fwd.hpp" -#include "asio/buffered_stream.hpp" -#include "asio/buffered_write_stream_fwd.hpp" -#include "asio/buffered_write_stream.hpp" -#include "asio/buffers_iterator.hpp" -#include "asio/cancellation_signal.hpp" -#include "asio/cancellation_state.hpp" -#include "asio/cancellation_type.hpp" -#include "asio/co_spawn.hpp" -#include "asio/completion_condition.hpp" -#include "asio/compose.hpp" -#include "asio/connect.hpp" -#include "asio/connect_pipe.hpp" -#include "asio/consign.hpp" -#include "asio/coroutine.hpp" -#include "asio/deadline_timer.hpp" -#include "asio/defer.hpp" -#include "asio/deferred.hpp" -#include "asio/detached.hpp" -#include "asio/dispatch.hpp" -#include "asio/error.hpp" -#include "asio/error_code.hpp" -#include "asio/execution.hpp" -#include "asio/execution/allocator.hpp" -#include "asio/execution/any_executor.hpp" -#include "asio/execution/blocking.hpp" -#include "asio/execution/blocking_adaptation.hpp" -#include "asio/execution/context.hpp" -#include "asio/execution/context_as.hpp" -#include "asio/execution/executor.hpp" -#include "asio/execution/invocable_archetype.hpp" -#include "asio/execution/mapping.hpp" -#include "asio/execution/occupancy.hpp" -#include "asio/execution/outstanding_work.hpp" -#include "asio/execution/prefer_only.hpp" -#include "asio/execution/relationship.hpp" -#include "asio/executor.hpp" -#include "asio/executor_work_guard.hpp" -#include "asio/file_base.hpp" -#include "asio/generic/basic_endpoint.hpp" -#include "asio/generic/datagram_protocol.hpp" -#include "asio/generic/raw_protocol.hpp" -#include "asio/generic/seq_packet_protocol.hpp" -#include "asio/generic/stream_protocol.hpp" -#include "asio/handler_continuation_hook.hpp" -#include "asio/high_resolution_timer.hpp" -#include "asio/io_context.hpp" -#include "asio/io_context_strand.hpp" -#include "asio/io_service.hpp" -#include "asio/io_service_strand.hpp" -#include "asio/ip/address.hpp" -#include "asio/ip/address_v4.hpp" -#include "asio/ip/address_v4_iterator.hpp" -#include "asio/ip/address_v4_range.hpp" -#include "asio/ip/address_v6.hpp" -#include "asio/ip/address_v6_iterator.hpp" -#include "asio/ip/address_v6_range.hpp" -#include "asio/ip/network_v4.hpp" -#include "asio/ip/network_v6.hpp" -#include "asio/ip/bad_address_cast.hpp" -#include "asio/ip/basic_endpoint.hpp" -#include "asio/ip/basic_resolver.hpp" -#include "asio/ip/basic_resolver_entry.hpp" -#include "asio/ip/basic_resolver_iterator.hpp" -#include "asio/ip/basic_resolver_query.hpp" -#include "asio/ip/host_name.hpp" -#include "asio/ip/icmp.hpp" -#include "asio/ip/multicast.hpp" -#include "asio/ip/resolver_base.hpp" -#include "asio/ip/resolver_query_base.hpp" -#include "asio/ip/tcp.hpp" -#include "asio/ip/udp.hpp" -#include "asio/ip/unicast.hpp" -#include "asio/ip/v6_only.hpp" -#include "asio/is_applicable_property.hpp" -#include "asio/is_contiguous_iterator.hpp" -#include "asio/is_executor.hpp" -#include "asio/is_read_buffered.hpp" -#include "asio/is_write_buffered.hpp" -#include "asio/local/basic_endpoint.hpp" -#include "asio/local/connect_pair.hpp" -#include "asio/local/datagram_protocol.hpp" -#include "asio/local/seq_packet_protocol.hpp" -#include "asio/local/stream_protocol.hpp" -#include "asio/multiple_exceptions.hpp" -#include "asio/packaged_task.hpp" -#include "asio/placeholders.hpp" -#include "asio/posix/basic_descriptor.hpp" -#include "asio/posix/basic_stream_descriptor.hpp" -#include "asio/posix/descriptor.hpp" -#include "asio/posix/descriptor_base.hpp" -#include "asio/posix/stream_descriptor.hpp" -#include "asio/post.hpp" -#include "asio/prefer.hpp" -#include "asio/prepend.hpp" -#include "asio/query.hpp" -#include "asio/random_access_file.hpp" -#include "asio/read.hpp" -#include "asio/read_at.hpp" -#include "asio/read_until.hpp" -#include "asio/readable_pipe.hpp" -#include "asio/recycling_allocator.hpp" -#include "asio/redirect_error.hpp" -#include "asio/registered_buffer.hpp" -#include "asio/require.hpp" -#include "asio/require_concept.hpp" -#include "asio/serial_port.hpp" -#include "asio/serial_port_base.hpp" -#include "asio/signal_set.hpp" -#include "asio/signal_set_base.hpp" -#include "asio/socket_base.hpp" -#include "asio/static_thread_pool.hpp" -#include "asio/steady_timer.hpp" -#include "asio/strand.hpp" -#include "asio/stream_file.hpp" -#include "asio/streambuf.hpp" -#include "asio/system_context.hpp" -#include "asio/system_error.hpp" -#include "asio/system_executor.hpp" -#include "asio/system_timer.hpp" -#include "asio/this_coro.hpp" -#include "asio/thread.hpp" -#include "asio/thread_pool.hpp" -#include "asio/time_traits.hpp" -#include "asio/use_awaitable.hpp" -#include "asio/use_future.hpp" -#include "asio/uses_executor.hpp" -#include "asio/version.hpp" -#include "asio/wait_traits.hpp" -#include "asio/windows/basic_object_handle.hpp" -#include "asio/windows/basic_overlapped_handle.hpp" -#include "asio/windows/basic_random_access_handle.hpp" -#include "asio/windows/basic_stream_handle.hpp" -#include "asio/windows/object_handle.hpp" -#include "asio/windows/overlapped_handle.hpp" -#include "asio/windows/overlapped_ptr.hpp" -#include "asio/windows/random_access_handle.hpp" -#include "asio/windows/stream_handle.hpp" -#include "asio/writable_pipe.hpp" -#include "asio/write.hpp" -#include "asio/write_at.hpp" - -#endif // ASIO_HPP diff --git a/subprojects/asio/include/asio/COPYING b/subprojects/asio/include/asio/COPYING deleted file mode 100644 index 532cec6c8..000000000 --- a/subprojects/asio/include/asio/COPYING +++ /dev/null @@ -1,4 +0,0 @@ -Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com) - -Distributed under the Boost Software License, Version 1.0. (See accompanying -file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/subprojects/asio/include/asio/LICENSE_1_0.txt b/subprojects/asio/include/asio/LICENSE_1_0.txt deleted file mode 100644 index 36b7cd93c..000000000 --- a/subprojects/asio/include/asio/LICENSE_1_0.txt +++ /dev/null @@ -1,23 +0,0 @@ -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/subprojects/asio/include/asio/any_completion_executor.hpp b/subprojects/asio/include/asio/any_completion_executor.hpp deleted file mode 100644 index 650ff7baf..000000000 --- a/subprojects/asio/include/asio/any_completion_executor.hpp +++ /dev/null @@ -1,336 +0,0 @@ -// -// any_completion_executor.hpp -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef ASIO_ANY_COMPLETION_EXECUTOR_HPP -#define ASIO_ANY_COMPLETION_EXECUTOR_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include "asio/detail/config.hpp" -#if defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) -# include "asio/executor.hpp" -#else // defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) -# include "asio/execution.hpp" -#endif // defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) - -#include "asio/detail/push_options.hpp" - -namespace asio { - -#if defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) - -typedef executor any_completion_executor; - -#else // defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) - -/// Polymorphic executor type for use with I/O objects. -/** - * The @c any_completion_executor type is a polymorphic executor that supports - * the set of properties required for the execution of completion handlers. It - * is defined as the execution::any_executor class template parameterised as - * follows: - * @code execution::any_executor< - * execution::prefer_only, - * execution::prefer_only - * execution::prefer_only, - * execution::prefer_only - * > @endcode - */ -class any_completion_executor : -#if defined(GENERATING_DOCUMENTATION) - public execution::any_executor<...> -#else // defined(GENERATING_DOCUMENTATION) - public execution::any_executor< - execution::prefer_only, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only - > -#endif // defined(GENERATING_DOCUMENTATION) -{ -public: -#if !defined(GENERATING_DOCUMENTATION) - typedef execution::any_executor< - execution::prefer_only, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only - > base_type; - - typedef void supportable_properties_type( - execution::prefer_only, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only - ); -#endif // !defined(GENERATING_DOCUMENTATION) - - /// Default constructor. - ASIO_DECL any_completion_executor() noexcept; - - /// Construct in an empty state. Equivalent effects to default constructor. - ASIO_DECL any_completion_executor(nullptr_t) noexcept; - - /// Copy constructor. - ASIO_DECL any_completion_executor( - const any_completion_executor& e) noexcept; - - /// Move constructor. - ASIO_DECL any_completion_executor( - any_completion_executor&& e) noexcept; - - /// Construct to point to the same target as another any_executor. -#if defined(GENERATING_DOCUMENTATION) - template - any_completion_executor( - execution::any_executor e); -#else // defined(GENERATING_DOCUMENTATION) - template - any_completion_executor(OtherAnyExecutor e, - constraint_t< - conditional< - !is_same::value - && is_base_of::value, - typename execution::detail::supportable_properties< - 0, supportable_properties_type>::template - is_valid_target, - false_type - >::type::value - > = 0) - : base_type(static_cast(e)) - { - } -#endif // defined(GENERATING_DOCUMENTATION) - - /// Construct to point to the same target as another any_executor. -#if defined(GENERATING_DOCUMENTATION) - template - any_completion_executor(std::nothrow_t, - execution::any_executor e); -#else // defined(GENERATING_DOCUMENTATION) - template - any_completion_executor(std::nothrow_t, OtherAnyExecutor e, - constraint_t< - conditional< - !is_same::value - && is_base_of::value, - typename execution::detail::supportable_properties< - 0, supportable_properties_type>::template - is_valid_target, - false_type - >::type::value - > = 0) noexcept - : base_type(std::nothrow, static_cast(e)) - { - } -#endif // defined(GENERATING_DOCUMENTATION) - - /// Construct to point to the same target as another any_executor. - ASIO_DECL any_completion_executor(std::nothrow_t, - const any_completion_executor& e) noexcept; - - /// Construct to point to the same target as another any_executor. - ASIO_DECL any_completion_executor(std::nothrow_t, - any_completion_executor&& e) noexcept; - - /// Construct a polymorphic wrapper for the specified executor. -#if defined(GENERATING_DOCUMENTATION) - template - any_completion_executor(Executor e); -#else // defined(GENERATING_DOCUMENTATION) - template - any_completion_executor(Executor e, - constraint_t< - conditional< - !is_same::value - && !is_base_of::value, - execution::detail::is_valid_target_executor< - Executor, supportable_properties_type>, - false_type - >::type::value - > = 0) - : base_type(static_cast(e)) - { - } -#endif // defined(GENERATING_DOCUMENTATION) - - /// Construct a polymorphic wrapper for the specified executor. -#if defined(GENERATING_DOCUMENTATION) - template - any_completion_executor(std::nothrow_t, Executor e); -#else // defined(GENERATING_DOCUMENTATION) - template - any_completion_executor(std::nothrow_t, Executor e, - constraint_t< - conditional< - !is_same::value - && !is_base_of::value, - execution::detail::is_valid_target_executor< - Executor, supportable_properties_type>, - false_type - >::type::value - > = 0) noexcept - : base_type(std::nothrow, static_cast(e)) - { - } -#endif // defined(GENERATING_DOCUMENTATION) - - /// Assignment operator. - ASIO_DECL any_completion_executor& operator=( - const any_completion_executor& e) noexcept; - - /// Move assignment operator. - ASIO_DECL any_completion_executor& operator=( - any_completion_executor&& e) noexcept; - - /// Assignment operator that sets the polymorphic wrapper to the empty state. - ASIO_DECL any_completion_executor& operator=(nullptr_t); - - /// Destructor. - ASIO_DECL ~any_completion_executor(); - - /// Swap targets with another polymorphic wrapper. - ASIO_DECL void swap(any_completion_executor& other) noexcept; - - /// Obtain a polymorphic wrapper with the specified property. - /** - * Do not call this function directly. It is intended for use with the - * asio::require and asio::prefer customisation points. - * - * For example: - * @code any_completion_executor ex = ...; - * auto ex2 = asio::require(ex, execution::relationship.fork); @endcode - */ - template - any_completion_executor require(const Property& p, - constraint_t< - traits::require_member::is_valid - > = 0) const - { - return static_cast(*this).require(p); - } - - /// Obtain a polymorphic wrapper with the specified property. - /** - * Do not call this function directly. It is intended for use with the - * asio::prefer customisation point. - * - * For example: - * @code any_completion_executor ex = ...; - * auto ex2 = asio::prefer(ex, execution::relationship.fork); @endcode - */ - template - any_completion_executor prefer(const Property& p, - constraint_t< - traits::prefer_member::is_valid - > = 0) const - { - return static_cast(*this).prefer(p); - } -}; - -#if !defined(GENERATING_DOCUMENTATION) - -template <> -ASIO_DECL any_completion_executor any_completion_executor::prefer( - const execution::outstanding_work_t::tracked_t&, int) const; - -template <> -ASIO_DECL any_completion_executor any_completion_executor::prefer( - const execution::outstanding_work_t::untracked_t&, int) const; - -template <> -ASIO_DECL any_completion_executor any_completion_executor::prefer( - const execution::relationship_t::fork_t&, int) const; - -template <> -ASIO_DECL any_completion_executor any_completion_executor::prefer( - const execution::relationship_t::continuation_t&, int) const; - -namespace traits { - -#if !defined(ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT) - -template <> -struct equality_comparable -{ - static const bool is_valid = true; - static const bool is_noexcept = true; -}; - -#endif // !defined(ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT) - -#if !defined(ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT) - -template -struct execute_member -{ - static const bool is_valid = true; - static const bool is_noexcept = false; - typedef void result_type; -}; - -#endif // !defined(ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT) - -#if !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT) - -template -struct query_member : - query_member -{ -}; - -#endif // !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT) - -#if !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT) - -template -struct require_member : - require_member -{ - typedef any_completion_executor result_type; -}; - -#endif // !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT) - -#if !defined(ASIO_HAS_DEDUCED_PREFER_MEMBER_TRAIT) - -template -struct prefer_member : - prefer_member -{ - typedef any_completion_executor result_type; -}; - -#endif // !defined(ASIO_HAS_DEDUCED_PREFER_MEMBER_TRAIT) - -} // namespace traits - -#endif // !defined(GENERATING_DOCUMENTATION) - -#endif // defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) - -} // namespace asio - -#include "asio/detail/pop_options.hpp" - -#if defined(ASIO_HEADER_ONLY) \ - && !defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) -# include "asio/impl/any_completion_executor.ipp" -#endif // defined(ASIO_HEADER_ONLY) - // && !defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) - -#endif // ASIO_ANY_COMPLETION_EXECUTOR_HPP diff --git a/subprojects/asio/include/asio/any_completion_handler.hpp b/subprojects/asio/include/asio/any_completion_handler.hpp deleted file mode 100644 index 45b3e75fe..000000000 --- a/subprojects/asio/include/asio/any_completion_handler.hpp +++ /dev/null @@ -1,822 +0,0 @@ -// -// any_completion_handler.hpp -// ~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef ASIO_ANY_COMPLETION_HANDLER_HPP -#define ASIO_ANY_COMPLETION_HANDLER_HPP - -#include "asio/detail/config.hpp" -#include -#include -#include -#include -#include "asio/any_completion_executor.hpp" -#include "asio/any_io_executor.hpp" -#include "asio/associated_allocator.hpp" -#include "asio/associated_cancellation_slot.hpp" -#include "asio/associated_executor.hpp" -#include "asio/associated_immediate_executor.hpp" -#include "asio/cancellation_state.hpp" -#include "asio/recycling_allocator.hpp" - -#include "asio/detail/push_options.hpp" - -namespace asio { -namespace detail { - -class any_completion_handler_impl_base -{ -public: - template - explicit any_completion_handler_impl_base(S&& slot) - : cancel_state_(static_cast(slot), enable_total_cancellation()) - { - } - - cancellation_slot get_cancellation_slot() const noexcept - { - return cancel_state_.slot(); - } - -private: - cancellation_state cancel_state_; -}; - -template -class any_completion_handler_impl : - public any_completion_handler_impl_base -{ -public: - template - any_completion_handler_impl(S&& slot, H&& h) - : any_completion_handler_impl_base(static_cast(slot)), - handler_(static_cast(h)) - { - } - - struct uninit_deleter - { - typename std::allocator_traits< - associated_allocator_t>>::template - rebind_alloc alloc; - - void operator()(any_completion_handler_impl* ptr) - { - std::allocator_traits::deallocate(alloc, ptr, 1); - } - }; - - struct deleter - { - typename std::allocator_traits< - associated_allocator_t>>::template - rebind_alloc alloc; - - void operator()(any_completion_handler_impl* ptr) - { - std::allocator_traits::destroy(alloc, ptr); - std::allocator_traits::deallocate(alloc, ptr, 1); - } - }; - - template - static any_completion_handler_impl* create(S&& slot, H&& h) - { - uninit_deleter d{ - (get_associated_allocator)(h, - asio::recycling_allocator())}; - - std::unique_ptr uninit_ptr( - std::allocator_traits::allocate(d.alloc, 1), d); - - any_completion_handler_impl* ptr = - new (uninit_ptr.get()) any_completion_handler_impl( - static_cast(slot), static_cast(h)); - - uninit_ptr.release(); - return ptr; - } - - void destroy() - { - deleter d{ - (get_associated_allocator)(handler_, - asio::recycling_allocator())}; - - d(this); - } - - any_completion_executor executor( - const any_completion_executor& candidate) const noexcept - { - return any_completion_executor(std::nothrow, - (get_associated_executor)(handler_, candidate)); - } - - any_completion_executor immediate_executor( - const any_io_executor& candidate) const noexcept - { - return any_completion_executor(std::nothrow, - (get_associated_immediate_executor)(handler_, candidate)); - } - - void* allocate(std::size_t size, std::size_t align) const - { - typename std::allocator_traits< - associated_allocator_t>>::template - rebind_alloc alloc( - (get_associated_allocator)(handler_, - asio::recycling_allocator())); - - std::size_t space = size + align - 1; - unsigned char* base = - std::allocator_traits::allocate( - alloc, space + sizeof(std::ptrdiff_t)); - - void* p = base; - if (detail::align(align, size, p, space)) - { - std::ptrdiff_t off = static_cast(p) - base; - std::memcpy(static_cast(p) + size, &off, sizeof(off)); - return p; - } - - std::bad_alloc ex; - asio::detail::throw_exception(ex); - return nullptr; - } - - void deallocate(void* p, std::size_t size, std::size_t align) const - { - if (p) - { - typename std::allocator_traits< - associated_allocator_t>>::template - rebind_alloc alloc( - (get_associated_allocator)(handler_, - asio::recycling_allocator())); - - std::ptrdiff_t off; - std::memcpy(&off, static_cast(p) + size, sizeof(off)); - unsigned char* base = static_cast(p) - off; - - std::allocator_traits::deallocate( - alloc, base, size + align -1 + sizeof(std::ptrdiff_t)); - } - } - - template - void call(Args&&... args) - { - deleter d{ - (get_associated_allocator)(handler_, - asio::recycling_allocator())}; - - std::unique_ptr ptr(this, d); - Handler handler(static_cast(handler_)); - ptr.reset(); - - static_cast(handler)( - static_cast(args)...); - } - -private: - Handler handler_; -}; - -template -class any_completion_handler_call_fn; - -template -class any_completion_handler_call_fn -{ -public: - using type = void(*)(any_completion_handler_impl_base*, Args...); - - constexpr any_completion_handler_call_fn(type fn) - : call_fn_(fn) - { - } - - void call(any_completion_handler_impl_base* impl, Args... args) const - { - call_fn_(impl, static_cast(args)...); - } - - template - static void impl(any_completion_handler_impl_base* impl, Args... args) - { - static_cast*>(impl)->call( - static_cast(args)...); - } - -private: - type call_fn_; -}; - -template -class any_completion_handler_call_fns; - -template -class any_completion_handler_call_fns : - public any_completion_handler_call_fn -{ -public: - using any_completion_handler_call_fn< - Signature>::any_completion_handler_call_fn; - using any_completion_handler_call_fn::call; -}; - -template -class any_completion_handler_call_fns : - public any_completion_handler_call_fn, - public any_completion_handler_call_fns -{ -public: - template - constexpr any_completion_handler_call_fns(CallFn fn, CallFns... fns) - : any_completion_handler_call_fn(fn), - any_completion_handler_call_fns(fns...) - { - } - - using any_completion_handler_call_fn::call; - using any_completion_handler_call_fns::call; -}; - -class any_completion_handler_destroy_fn -{ -public: - using type = void(*)(any_completion_handler_impl_base*); - - constexpr any_completion_handler_destroy_fn(type fn) - : destroy_fn_(fn) - { - } - - void destroy(any_completion_handler_impl_base* impl) const - { - destroy_fn_(impl); - } - - template - static void impl(any_completion_handler_impl_base* impl) - { - static_cast*>(impl)->destroy(); - } - -private: - type destroy_fn_; -}; - -class any_completion_handler_executor_fn -{ -public: - using type = any_completion_executor(*)( - any_completion_handler_impl_base*, const any_completion_executor&); - - constexpr any_completion_handler_executor_fn(type fn) - : executor_fn_(fn) - { - } - - any_completion_executor executor(any_completion_handler_impl_base* impl, - const any_completion_executor& candidate) const - { - return executor_fn_(impl, candidate); - } - - template - static any_completion_executor impl(any_completion_handler_impl_base* impl, - const any_completion_executor& candidate) - { - return static_cast*>(impl)->executor( - candidate); - } - -private: - type executor_fn_; -}; - -class any_completion_handler_immediate_executor_fn -{ -public: - using type = any_completion_executor(*)( - any_completion_handler_impl_base*, const any_io_executor&); - - constexpr any_completion_handler_immediate_executor_fn(type fn) - : immediate_executor_fn_(fn) - { - } - - any_completion_executor immediate_executor( - any_completion_handler_impl_base* impl, - const any_io_executor& candidate) const - { - return immediate_executor_fn_(impl, candidate); - } - - template - static any_completion_executor impl(any_completion_handler_impl_base* impl, - const any_io_executor& candidate) - { - return static_cast*>( - impl)->immediate_executor(candidate); - } - -private: - type immediate_executor_fn_; -}; - -class any_completion_handler_allocate_fn -{ -public: - using type = void*(*)(any_completion_handler_impl_base*, - std::size_t, std::size_t); - - constexpr any_completion_handler_allocate_fn(type fn) - : allocate_fn_(fn) - { - } - - void* allocate(any_completion_handler_impl_base* impl, - std::size_t size, std::size_t align) const - { - return allocate_fn_(impl, size, align); - } - - template - static void* impl(any_completion_handler_impl_base* impl, - std::size_t size, std::size_t align) - { - return static_cast*>(impl)->allocate( - size, align); - } - -private: - type allocate_fn_; -}; - -class any_completion_handler_deallocate_fn -{ -public: - using type = void(*)(any_completion_handler_impl_base*, - void*, std::size_t, std::size_t); - - constexpr any_completion_handler_deallocate_fn(type fn) - : deallocate_fn_(fn) - { - } - - void deallocate(any_completion_handler_impl_base* impl, - void* p, std::size_t size, std::size_t align) const - { - deallocate_fn_(impl, p, size, align); - } - - template - static void impl(any_completion_handler_impl_base* impl, - void* p, std::size_t size, std::size_t align) - { - static_cast*>(impl)->deallocate( - p, size, align); - } - -private: - type deallocate_fn_; -}; - -template -class any_completion_handler_fn_table - : private any_completion_handler_destroy_fn, - private any_completion_handler_executor_fn, - private any_completion_handler_immediate_executor_fn, - private any_completion_handler_allocate_fn, - private any_completion_handler_deallocate_fn, - private any_completion_handler_call_fns -{ -public: - template - constexpr any_completion_handler_fn_table( - any_completion_handler_destroy_fn::type destroy_fn, - any_completion_handler_executor_fn::type executor_fn, - any_completion_handler_immediate_executor_fn::type immediate_executor_fn, - any_completion_handler_allocate_fn::type allocate_fn, - any_completion_handler_deallocate_fn::type deallocate_fn, - CallFns... call_fns) - : any_completion_handler_destroy_fn(destroy_fn), - any_completion_handler_executor_fn(executor_fn), - any_completion_handler_immediate_executor_fn(immediate_executor_fn), - any_completion_handler_allocate_fn(allocate_fn), - any_completion_handler_deallocate_fn(deallocate_fn), - any_completion_handler_call_fns(call_fns...) - { - } - - using any_completion_handler_destroy_fn::destroy; - using any_completion_handler_executor_fn::executor; - using any_completion_handler_immediate_executor_fn::immediate_executor; - using any_completion_handler_allocate_fn::allocate; - using any_completion_handler_deallocate_fn::deallocate; - using any_completion_handler_call_fns::call; -}; - -template -struct any_completion_handler_fn_table_instance -{ - static constexpr any_completion_handler_fn_table - value = any_completion_handler_fn_table( - &any_completion_handler_destroy_fn::impl, - &any_completion_handler_executor_fn::impl, - &any_completion_handler_immediate_executor_fn::impl, - &any_completion_handler_allocate_fn::impl, - &any_completion_handler_deallocate_fn::impl, - &any_completion_handler_call_fn::template impl...); -}; - -template -constexpr any_completion_handler_fn_table -any_completion_handler_fn_table_instance::value; - -} // namespace detail - -template -class any_completion_handler; - -/// An allocator type that forwards memory allocation operations through an -/// instance of @c any_completion_handler. -template -class any_completion_handler_allocator -{ -private: - template - friend class any_completion_handler; - - template - friend class any_completion_handler_allocator; - - const detail::any_completion_handler_fn_table* fn_table_; - detail::any_completion_handler_impl_base* impl_; - - constexpr any_completion_handler_allocator(int, - const any_completion_handler& h) noexcept - : fn_table_(h.fn_table_), - impl_(h.impl_) - { - } - -public: - /// The type of objects that may be allocated by the allocator. - typedef T value_type; - - /// Rebinds an allocator to another value type. - template - struct rebind - { - /// Specifies the type of the rebound allocator. - typedef any_completion_handler_allocator other; - }; - - /// Construct from another @c any_completion_handler_allocator. - template - constexpr any_completion_handler_allocator( - const any_completion_handler_allocator& a) - noexcept - : fn_table_(a.fn_table_), - impl_(a.impl_) - { - } - - /// Equality operator. - constexpr bool operator==( - const any_completion_handler_allocator& other) const noexcept - { - return fn_table_ == other.fn_table_ && impl_ == other.impl_; - } - - /// Inequality operator. - constexpr bool operator!=( - const any_completion_handler_allocator& other) const noexcept - { - return fn_table_ != other.fn_table_ || impl_ != other.impl_; - } - - /// Allocate space for @c n objects of the allocator's value type. - T* allocate(std::size_t n) const - { - if (fn_table_) - { - return static_cast( - fn_table_->allocate( - impl_, sizeof(T) * n, alignof(T))); - } - std::bad_alloc ex; - asio::detail::throw_exception(ex); - return nullptr; - } - - /// Deallocate space for @c n objects of the allocator's value type. - void deallocate(T* p, std::size_t n) const - { - fn_table_->deallocate(impl_, p, sizeof(T) * n, alignof(T)); - } -}; - -/// A protoco-allocator type that may be rebound to obtain an allocator that -/// forwards memory allocation operations through an instance of -/// @c any_completion_handler. -template -class any_completion_handler_allocator -{ -private: - template - friend class any_completion_handler; - - template - friend class any_completion_handler_allocator; - - const detail::any_completion_handler_fn_table* fn_table_; - detail::any_completion_handler_impl_base* impl_; - - constexpr any_completion_handler_allocator(int, - const any_completion_handler& h) noexcept - : fn_table_(h.fn_table_), - impl_(h.impl_) - { - } - -public: - /// @c void as no objects can be allocated through a proto-allocator. - typedef void value_type; - - /// Rebinds an allocator to another value type. - template - struct rebind - { - /// Specifies the type of the rebound allocator. - typedef any_completion_handler_allocator other; - }; - - /// Construct from another @c any_completion_handler_allocator. - template - constexpr any_completion_handler_allocator( - const any_completion_handler_allocator& a) - noexcept - : fn_table_(a.fn_table_), - impl_(a.impl_) - { - } - - /// Equality operator. - constexpr bool operator==( - const any_completion_handler_allocator& other) const noexcept - { - return fn_table_ == other.fn_table_ && impl_ == other.impl_; - } - - /// Inequality operator. - constexpr bool operator!=( - const any_completion_handler_allocator& other) const noexcept - { - return fn_table_ != other.fn_table_ || impl_ != other.impl_; - } -}; - -/// Polymorphic wrapper for completion handlers. -/** - * The @c any_completion_handler class template is a polymorphic wrapper for - * completion handlers that propagates the associated executor, associated - * allocator, and associated cancellation slot through a type-erasing interface. - * - * When using @c any_completion_handler, specify one or more completion - * signatures as template parameters. These will dictate the arguments that may - * be passed to the handler through the polymorphic interface. - * - * Typical uses for @c any_completion_handler include: - * - * @li Separate compilation of asynchronous operation implementations. - * - * @li Enabling interoperability between asynchronous operations and virtual - * functions. - */ -template -class any_completion_handler -{ -#if !defined(GENERATING_DOCUMENTATION) -private: - template - friend class any_completion_handler_allocator; - - template - friend struct associated_executor; - - template - friend struct associated_immediate_executor; - - const detail::any_completion_handler_fn_table* fn_table_; - detail::any_completion_handler_impl_base* impl_; -#endif // !defined(GENERATING_DOCUMENTATION) - -public: - /// The associated allocator type. - using allocator_type = any_completion_handler_allocator; - - /// The associated cancellation slot type. - using cancellation_slot_type = cancellation_slot; - - /// Construct an @c any_completion_handler in an empty state, without a target - /// object. - constexpr any_completion_handler() - : fn_table_(nullptr), - impl_(nullptr) - { - } - - /// Construct an @c any_completion_handler in an empty state, without a target - /// object. - constexpr any_completion_handler(nullptr_t) - : fn_table_(nullptr), - impl_(nullptr) - { - } - - /// Construct an @c any_completion_handler to contain the specified target. - template > - any_completion_handler(H&& h, - constraint_t< - !is_same, any_completion_handler>::value - > = 0) - : fn_table_( - &detail::any_completion_handler_fn_table_instance< - Handler, Signatures...>::value), - impl_(detail::any_completion_handler_impl::create( - (get_associated_cancellation_slot)(h), static_cast(h))) - { - } - - /// Move-construct an @c any_completion_handler from another. - /** - * After the operation, the moved-from object @c other has no target. - */ - any_completion_handler(any_completion_handler&& other) noexcept - : fn_table_(other.fn_table_), - impl_(other.impl_) - { - other.fn_table_ = nullptr; - other.impl_ = nullptr; - } - - /// Move-assign an @c any_completion_handler from another. - /** - * After the operation, the moved-from object @c other has no target. - */ - any_completion_handler& operator=( - any_completion_handler&& other) noexcept - { - any_completion_handler( - static_cast(other)).swap(*this); - return *this; - } - - /// Assignment operator that sets the polymorphic wrapper to the empty state. - any_completion_handler& operator=(nullptr_t) noexcept - { - any_completion_handler().swap(*this); - return *this; - } - - /// Destructor. - ~any_completion_handler() - { - if (impl_) - fn_table_->destroy(impl_); - } - - /// Test if the polymorphic wrapper is empty. - constexpr explicit operator bool() const noexcept - { - return impl_ != nullptr; - } - - /// Test if the polymorphic wrapper is non-empty. - constexpr bool operator!() const noexcept - { - return impl_ == nullptr; - } - - /// Swap the content of an @c any_completion_handler with another. - void swap(any_completion_handler& other) noexcept - { - std::swap(fn_table_, other.fn_table_); - std::swap(impl_, other.impl_); - } - - /// Get the associated allocator. - allocator_type get_allocator() const noexcept - { - return allocator_type(0, *this); - } - - /// Get the associated cancellation slot. - cancellation_slot_type get_cancellation_slot() const noexcept - { - return impl_ ? impl_->get_cancellation_slot() : cancellation_slot_type(); - } - - /// Function call operator. - /** - * Invokes target completion handler with the supplied arguments. - * - * This function may only be called once, as the target handler is moved from. - * The polymorphic wrapper is left in an empty state. - * - * Throws @c std::bad_function_call if the polymorphic wrapper is empty. - */ - template - auto operator()(Args&&... args) - -> decltype(fn_table_->call(impl_, static_cast(args)...)) - { - if (detail::any_completion_handler_impl_base* impl = impl_) - { - impl_ = nullptr; - return fn_table_->call(impl, static_cast(args)...); - } - std::bad_function_call ex; - asio::detail::throw_exception(ex); - } - - /// Equality operator. - friend constexpr bool operator==( - const any_completion_handler& a, nullptr_t) noexcept - { - return a.impl_ == nullptr; - } - - /// Equality operator. - friend constexpr bool operator==( - nullptr_t, const any_completion_handler& b) noexcept - { - return nullptr == b.impl_; - } - - /// Inequality operator. - friend constexpr bool operator!=( - const any_completion_handler& a, nullptr_t) noexcept - { - return a.impl_ != nullptr; - } - - /// Inequality operator. - friend constexpr bool operator!=( - nullptr_t, const any_completion_handler& b) noexcept - { - return nullptr != b.impl_; - } -}; - -template -struct associated_executor, Candidate> -{ - using type = any_completion_executor; - - static type get(const any_completion_handler& handler, - const Candidate& candidate = Candidate()) noexcept - { - any_completion_executor any_candidate(std::nothrow, candidate); - return handler.fn_table_ - ? handler.fn_table_->executor(handler.impl_, any_candidate) - : any_candidate; - } -}; - -template -struct associated_immediate_executor< - any_completion_handler, Candidate> -{ - using type = any_completion_executor; - - static type get(const any_completion_handler& handler, - const Candidate& candidate = Candidate()) noexcept - { - any_io_executor any_candidate(std::nothrow, candidate); - return handler.fn_table_ - ? handler.fn_table_->immediate_executor(handler.impl_, any_candidate) - : any_candidate; - } -}; - -} // namespace asio - -#include "asio/detail/pop_options.hpp" - -#endif // ASIO_ANY_COMPLETION_HANDLER_HPP diff --git a/subprojects/asio/include/asio/any_io_executor.hpp b/subprojects/asio/include/asio/any_io_executor.hpp deleted file mode 100644 index d35acf44a..000000000 --- a/subprojects/asio/include/asio/any_io_executor.hpp +++ /dev/null @@ -1,351 +0,0 @@ -// -// any_io_executor.hpp -// ~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef ASIO_ANY_IO_EXECUTOR_HPP -#define ASIO_ANY_IO_EXECUTOR_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include "asio/detail/config.hpp" -#if defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) -# include "asio/executor.hpp" -#else // defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) -# include "asio/execution.hpp" -# include "asio/execution_context.hpp" -#endif // defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) - -#include "asio/detail/push_options.hpp" - -namespace asio { - -#if defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) - -typedef executor any_io_executor; - -#else // defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) - -/// Polymorphic executor type for use with I/O objects. -/** - * The @c any_io_executor type is a polymorphic executor that supports the set - * of properties required by I/O objects. It is defined as the - * execution::any_executor class template parameterised as follows: - * @code execution::any_executor< - * execution::context_as_t, - * execution::blocking_t::never_t, - * execution::prefer_only, - * execution::prefer_only, - * execution::prefer_only, - * execution::prefer_only, - * execution::prefer_only - * > @endcode - */ -class any_io_executor : -#if defined(GENERATING_DOCUMENTATION) - public execution::any_executor<...> -#else // defined(GENERATING_DOCUMENTATION) - public execution::any_executor< - execution::context_as_t, - execution::blocking_t::never_t, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only - > -#endif // defined(GENERATING_DOCUMENTATION) -{ -public: -#if !defined(GENERATING_DOCUMENTATION) - typedef execution::any_executor< - execution::context_as_t, - execution::blocking_t::never_t, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only - > base_type; - - typedef void supportable_properties_type( - execution::context_as_t, - execution::blocking_t::never_t, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only, - execution::prefer_only - ); -#endif // !defined(GENERATING_DOCUMENTATION) - - /// Default constructor. - ASIO_DECL any_io_executor() noexcept; - - /// Construct in an empty state. Equivalent effects to default constructor. - ASIO_DECL any_io_executor(nullptr_t) noexcept; - - /// Copy constructor. - ASIO_DECL any_io_executor(const any_io_executor& e) noexcept; - - /// Move constructor. - ASIO_DECL any_io_executor(any_io_executor&& e) noexcept; - - /// Construct to point to the same target as another any_executor. -#if defined(GENERATING_DOCUMENTATION) - template - any_io_executor(execution::any_executor e); -#else // defined(GENERATING_DOCUMENTATION) - template - any_io_executor(OtherAnyExecutor e, - constraint_t< - conditional_t< - !is_same::value - && is_base_of::value, - typename execution::detail::supportable_properties< - 0, supportable_properties_type>::template - is_valid_target, - false_type - >::value - > = 0) - : base_type(static_cast(e)) - { - } -#endif // defined(GENERATING_DOCUMENTATION) - - /// Construct to point to the same target as another any_executor. -#if defined(GENERATING_DOCUMENTATION) - template - any_io_executor(std::nothrow_t, - execution::any_executor e); -#else // defined(GENERATING_DOCUMENTATION) - template - any_io_executor(std::nothrow_t, OtherAnyExecutor e, - constraint_t< - conditional_t< - !is_same::value - && is_base_of::value, - typename execution::detail::supportable_properties< - 0, supportable_properties_type>::template - is_valid_target, - false_type - >::value - > = 0) noexcept - : base_type(std::nothrow, static_cast(e)) - { - } -#endif // defined(GENERATING_DOCUMENTATION) - - /// Construct to point to the same target as another any_executor. - ASIO_DECL any_io_executor(std::nothrow_t, - const any_io_executor& e) noexcept; - - /// Construct to point to the same target as another any_executor. - ASIO_DECL any_io_executor(std::nothrow_t, any_io_executor&& e) noexcept; - - /// Construct a polymorphic wrapper for the specified executor. -#if defined(GENERATING_DOCUMENTATION) - template - any_io_executor(Executor e); -#else // defined(GENERATING_DOCUMENTATION) - template - any_io_executor(Executor e, - constraint_t< - conditional_t< - !is_same::value - && !is_base_of::value, - execution::detail::is_valid_target_executor< - Executor, supportable_properties_type>, - false_type - >::value - > = 0) - : base_type(static_cast(e)) - { - } -#endif // defined(GENERATING_DOCUMENTATION) - - /// Construct a polymorphic wrapper for the specified executor. -#if defined(GENERATING_DOCUMENTATION) - template - any_io_executor(std::nothrow_t, Executor e); -#else // defined(GENERATING_DOCUMENTATION) - template - any_io_executor(std::nothrow_t, Executor e, - constraint_t< - conditional_t< - !is_same::value - && !is_base_of::value, - execution::detail::is_valid_target_executor< - Executor, supportable_properties_type>, - false_type - >::value - > = 0) noexcept - : base_type(std::nothrow, static_cast(e)) - { - } -#endif // defined(GENERATING_DOCUMENTATION) - - /// Assignment operator. - ASIO_DECL any_io_executor& operator=( - const any_io_executor& e) noexcept; - - /// Move assignment operator. - ASIO_DECL any_io_executor& operator=(any_io_executor&& e) noexcept; - - /// Assignment operator that sets the polymorphic wrapper to the empty state. - ASIO_DECL any_io_executor& operator=(nullptr_t); - - /// Destructor. - ASIO_DECL ~any_io_executor(); - - /// Swap targets with another polymorphic wrapper. - ASIO_DECL void swap(any_io_executor& other) noexcept; - - /// Obtain a polymorphic wrapper with the specified property. - /** - * Do not call this function directly. It is intended for use with the - * asio::require and asio::prefer customisation points. - * - * For example: - * @code any_io_executor ex = ...; - * auto ex2 = asio::require(ex, execution::blocking.possibly); @endcode - */ - template - any_io_executor require(const Property& p, - constraint_t< - traits::require_member::is_valid - > = 0) const - { - return static_cast(*this).require(p); - } - - /// Obtain a polymorphic wrapper with the specified property. - /** - * Do not call this function directly. It is intended for use with the - * asio::prefer customisation point. - * - * For example: - * @code any_io_executor ex = ...; - * auto ex2 = asio::prefer(ex, execution::blocking.possibly); @endcode - */ - template - any_io_executor prefer(const Property& p, - constraint_t< - traits::prefer_member::is_valid - > = 0) const - { - return static_cast(*this).prefer(p); - } -}; - -#if !defined(GENERATING_DOCUMENTATION) - -template <> -ASIO_DECL any_io_executor any_io_executor::require( - const execution::blocking_t::never_t&, int) const; - -template <> -ASIO_DECL any_io_executor any_io_executor::prefer( - const execution::blocking_t::possibly_t&, int) const; - -template <> -ASIO_DECL any_io_executor any_io_executor::prefer( - const execution::outstanding_work_t::tracked_t&, int) const; - -template <> -ASIO_DECL any_io_executor any_io_executor::prefer( - const execution::outstanding_work_t::untracked_t&, int) const; - -template <> -ASIO_DECL any_io_executor any_io_executor::prefer( - const execution::relationship_t::fork_t&, int) const; - -template <> -ASIO_DECL any_io_executor any_io_executor::prefer( - const execution::relationship_t::continuation_t&, int) const; - -namespace traits { - -#if !defined(ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT) - -template <> -struct equality_comparable -{ - static const bool is_valid = true; - static const bool is_noexcept = true; -}; - -#endif // !defined(ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT) - -#if !defined(ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT) - -template -struct execute_member -{ - static const bool is_valid = true; - static const bool is_noexcept = false; - typedef void result_type; -}; - -#endif // !defined(ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT) - -#if !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT) - -template -struct query_member : - query_member -{ -}; - -#endif // !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT) - -#if !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT) - -template -struct require_member : - require_member -{ - typedef any_io_executor result_type; -}; - -#endif // !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT) - -#if !defined(ASIO_HAS_DEDUCED_PREFER_MEMBER_TRAIT) - -template -struct prefer_member : - prefer_member -{ - typedef any_io_executor result_type; -}; - -#endif // !defined(ASIO_HAS_DEDUCED_PREFER_MEMBER_TRAIT) - -} // namespace traits - -#endif // !defined(GENERATING_DOCUMENTATION) - -#endif // defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) - -} // namespace asio - -#include "asio/detail/pop_options.hpp" - -#if defined(ASIO_HEADER_ONLY) \ - && !defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) -# include "asio/impl/any_io_executor.ipp" -#endif // defined(ASIO_HEADER_ONLY) - // && !defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) - -#endif // ASIO_ANY_IO_EXECUTOR_HPP diff --git a/subprojects/asio/include/asio/append.hpp b/subprojects/asio/include/asio/append.hpp deleted file mode 100644 index 046089242..000000000 --- a/subprojects/asio/include/asio/append.hpp +++ /dev/null @@ -1,65 +0,0 @@ -// -// append.hpp -// ~~~~~~~~~~ -// -// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef ASIO_APPEND_HPP -#define ASIO_APPEND_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include "asio/detail/config.hpp" -#include -#include "asio/detail/type_traits.hpp" - -#include "asio/detail/push_options.hpp" - -namespace asio { - -/// Completion token type used to specify that the completion handler -/// arguments should be passed additional values after the results of the -/// operation. -template -class append_t -{ -public: - /// Constructor. - template - constexpr explicit append_t(T&& completion_token, V&&... values) - : token_(static_cast(completion_token)), - values_(static_cast(values)...) - { - } - -//private: - CompletionToken token_; - std::tuple values_; -}; - -/// Completion token type used to specify that the completion handler -/// arguments should be passed additional values after the results of the -/// operation. -template -ASIO_NODISCARD inline constexpr -append_t, decay_t...> -append(CompletionToken&& completion_token, Values&&... values) -{ - return append_t, decay_t...>( - static_cast(completion_token), - static_cast(values)...); -} - -} // namespace asio - -#include "asio/detail/pop_options.hpp" - -#include "asio/impl/append.hpp" - -#endif // ASIO_APPEND_HPP diff --git a/subprojects/asio/include/asio/as_tuple.hpp b/subprojects/asio/include/asio/as_tuple.hpp deleted file mode 100644 index 60008bda5..000000000 --- a/subprojects/asio/include/asio/as_tuple.hpp +++ /dev/null @@ -1,126 +0,0 @@ -// -// as_tuple.hpp -// ~~~~~~~~~~~~ -// -// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef ASIO_AS_TUPLE_HPP -#define ASIO_AS_TUPLE_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include "asio/detail/config.hpp" -#include "asio/detail/type_traits.hpp" - -#include "asio/detail/push_options.hpp" - -namespace asio { - -/// A @ref completion_token adapter used to specify that the completion handler -/// arguments should be combined into a single tuple argument. -/** - * The as_tuple_t class is used to indicate that any arguments to the - * completion handler should be combined and passed as a single tuple argument. - * The arguments are first moved into a @c std::tuple and that tuple is then - * passed to the completion handler. - */ -template -class as_tuple_t -{ -public: - /// Tag type used to prevent the "default" constructor from being used for - /// conversions. - struct default_constructor_tag {}; - - /// Default constructor. - /** - * This constructor is only valid if the underlying completion token is - * default constructible and move constructible. The underlying completion - * token is itself defaulted as an argument to allow it to capture a source - * location. - */ - constexpr as_tuple_t( - default_constructor_tag = default_constructor_tag(), - CompletionToken token = CompletionToken()) - : token_(static_cast(token)) - { - } - - /// Constructor. - template - constexpr explicit as_tuple_t( - T&& completion_token) - : token_(static_cast(completion_token)) - { - } - - /// Adapts an executor to add the @c as_tuple_t completion token as the - /// default. - template - struct executor_with_default : InnerExecutor - { - /// Specify @c as_tuple_t as the default completion token type. - typedef as_tuple_t default_completion_token_type; - - /// Construct the adapted executor from the inner executor type. - template - executor_with_default(const InnerExecutor1& ex, - constraint_t< - conditional_t< - !is_same::value, - is_convertible, - false_type - >::value - > = 0) noexcept - : InnerExecutor(ex) - { - } - }; - - /// Type alias to adapt an I/O object to use @c as_tuple_t as its - /// default completion token type. - template - using as_default_on_t = typename T::template rebind_executor< - executor_with_default>::other; - - /// Function helper to adapt an I/O object to use @c as_tuple_t as its - /// default completion token type. - template - static typename decay_t::template rebind_executor< - executor_with_default::executor_type> - >::other - as_default_on(T&& object) - { - return typename decay_t::template rebind_executor< - executor_with_default::executor_type> - >::other(static_cast(object)); - } - -//private: - CompletionToken token_; -}; - -/// Adapt a @ref completion_token to specify that the completion handler -/// arguments should be combined into a single tuple argument. -template -ASIO_NODISCARD inline -constexpr as_tuple_t> -as_tuple(CompletionToken&& completion_token) -{ - return as_tuple_t>( - static_cast(completion_token)); -} - -} // namespace asio - -#include "asio/detail/pop_options.hpp" - -#include "asio/impl/as_tuple.hpp" - -#endif // ASIO_AS_TUPLE_HPP diff --git a/subprojects/asio/include/asio/associated_allocator.hpp b/subprojects/asio/include/asio/associated_allocator.hpp deleted file mode 100644 index f21ea250e..000000000 --- a/subprojects/asio/include/asio/associated_allocator.hpp +++ /dev/null @@ -1,214 +0,0 @@ -// -// associated_allocator.hpp -// ~~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef ASIO_ASSOCIATED_ALLOCATOR_HPP -#define ASIO_ASSOCIATED_ALLOCATOR_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include "asio/detail/config.hpp" -#include -#include "asio/associator.hpp" -#include "asio/detail/functional.hpp" -#include "asio/detail/type_traits.hpp" - -#include "asio/detail/push_options.hpp" - -namespace asio { - -template -struct associated_allocator; - -namespace detail { - -template -struct has_allocator_type : false_type -{ -}; - -template -struct has_allocator_type> : true_type -{ -}; - -template -struct associated_allocator_impl -{ - typedef void asio_associated_allocator_is_unspecialised; - - typedef A type; - - static type get(const T&) noexcept - { - return type(); - } - - static const type& get(const T&, const A& a) noexcept - { - return a; - } -}; - -template -struct associated_allocator_impl> -{ - typedef typename T::allocator_type type; - - static auto get(const T& t) noexcept - -> decltype(t.get_allocator()) - { - return t.get_allocator(); - } - - static auto get(const T& t, const A&) noexcept - -> decltype(t.get_allocator()) - { - return t.get_allocator(); - } -}; - -template -struct associated_allocator_impl::value - >, - void_t< - typename associator::type - >> : associator -{ -}; - -} // namespace detail - -/// Traits type used to obtain the allocator associated with an object. -/** - * A program may specialise this traits type if the @c T template parameter in - * the specialisation is a user-defined type. The template parameter @c - * Allocator shall be a type meeting the Allocator requirements. - * - * Specialisations shall meet the following requirements, where @c t is a const - * reference to an object of type @c T, and @c a is an object of type @c - * Allocator. - * - * @li Provide a nested typedef @c type that identifies a type meeting the - * Allocator requirements. - * - * @li Provide a noexcept static member function named @c get, callable as @c - * get(t) and with return type @c type or a (possibly const) reference to @c - * type. - * - * @li Provide a noexcept static member function named @c get, callable as @c - * get(t,a) and with return type @c type or a (possibly const) reference to @c - * type. - */ -template > -struct associated_allocator -#if !defined(GENERATING_DOCUMENTATION) - : detail::associated_allocator_impl -#endif // !defined(GENERATING_DOCUMENTATION) -{ -#if defined(GENERATING_DOCUMENTATION) - /// If @c T has a nested type @c allocator_type, T::allocator_type. - /// Otherwise @c Allocator. - typedef see_below type; - - /// If @c T has a nested type @c allocator_type, returns - /// t.get_allocator(). Otherwise returns @c type(). - static decltype(auto) get(const T& t) noexcept; - - /// If @c T has a nested type @c allocator_type, returns - /// t.get_allocator(). Otherwise returns @c a. - static decltype(auto) get(const T& t, const Allocator& a) noexcept; -#endif // defined(GENERATING_DOCUMENTATION) -}; - -/// Helper function to obtain an object's associated allocator. -/** - * @returns associated_allocator::get(t) - */ -template -ASIO_NODISCARD inline typename associated_allocator::type -get_associated_allocator(const T& t) noexcept -{ - return associated_allocator::get(t); -} - -/// Helper function to obtain an object's associated allocator. -/** - * @returns associated_allocator::get(t, a) - */ -template -ASIO_NODISCARD inline auto get_associated_allocator( - const T& t, const Allocator& a) noexcept - -> decltype(associated_allocator::get(t, a)) -{ - return associated_allocator::get(t, a); -} - -template > -using associated_allocator_t - = typename associated_allocator::type; - -namespace detail { - -template -struct associated_allocator_forwarding_base -{ -}; - -template -struct associated_allocator_forwarding_base::asio_associated_allocator_is_unspecialised, - void - >::value - >> -{ - typedef void asio_associated_allocator_is_unspecialised; -}; - -} // namespace detail - -/// Specialisation of associated_allocator for @c std::reference_wrapper. -template -struct associated_allocator, Allocator> -#if !defined(GENERATING_DOCUMENTATION) - : detail::associated_allocator_forwarding_base -#endif // !defined(GENERATING_DOCUMENTATION) -{ - /// Forwards @c type to the associator specialisation for the unwrapped type - /// @c T. - typedef typename associated_allocator::type type; - - /// Forwards the request to get the allocator to the associator specialisation - /// for the unwrapped type @c T. - static type get(reference_wrapper t) noexcept - { - return associated_allocator::get(t.get()); - } - - /// Forwards the request to get the allocator to the associator specialisation - /// for the unwrapped type @c T. - static auto get(reference_wrapper t, const Allocator& a) noexcept - -> decltype(associated_allocator::get(t.get(), a)) - { - return associated_allocator::get(t.get(), a); - } -}; - -} // namespace asio - -#include "asio/detail/pop_options.hpp" - -#endif // ASIO_ASSOCIATED_ALLOCATOR_HPP diff --git a/subprojects/asio/include/asio/associated_cancellation_slot.hpp b/subprojects/asio/include/asio/associated_cancellation_slot.hpp deleted file mode 100644 index 518bd881e..000000000 --- a/subprojects/asio/include/asio/associated_cancellation_slot.hpp +++ /dev/null @@ -1,221 +0,0 @@ -// -// associated_cancellation_slot.hpp -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef ASIO_ASSOCIATED_CANCELLATION_SLOT_HPP -#define ASIO_ASSOCIATED_CANCELLATION_SLOT_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include "asio/detail/config.hpp" -#include "asio/associator.hpp" -#include "asio/cancellation_signal.hpp" -#include "asio/detail/functional.hpp" -#include "asio/detail/type_traits.hpp" - -#include "asio/detail/push_options.hpp" - -namespace asio { - -template -struct associated_cancellation_slot; - -namespace detail { - -template -struct has_cancellation_slot_type : false_type -{ -}; - -template -struct has_cancellation_slot_type> - : true_type -{ -}; - -template -struct associated_cancellation_slot_impl -{ - typedef void asio_associated_cancellation_slot_is_unspecialised; - - typedef S type; - - static type get(const T&) noexcept - { - return type(); - } - - static const type& get(const T&, const S& s) noexcept - { - return s; - } -}; - -template -struct associated_cancellation_slot_impl> -{ - typedef typename T::cancellation_slot_type type; - - static auto get(const T& t) noexcept - -> decltype(t.get_cancellation_slot()) - { - return t.get_cancellation_slot(); - } - - static auto get(const T& t, const S&) noexcept - -> decltype(t.get_cancellation_slot()) - { - return t.get_cancellation_slot(); - } -}; - -template -struct associated_cancellation_slot_impl::value - >, - void_t< - typename associator::type - >> : associator -{ -}; - -} // namespace detail - -/// Traits type used to obtain the cancellation_slot associated with an object. -/** - * A program may specialise this traits type if the @c T template parameter in - * the specialisation is a user-defined type. The template parameter @c - * CancellationSlot shall be a type meeting the CancellationSlot requirements. - * - * Specialisations shall meet the following requirements, where @c t is a const - * reference to an object of type @c T, and @c s is an object of type @c - * CancellationSlot. - * - * @li Provide a nested typedef @c type that identifies a type meeting the - * CancellationSlot requirements. - * - * @li Provide a noexcept static member function named @c get, callable as @c - * get(t) and with return type @c type or a (possibly const) reference to @c - * type. - * - * @li Provide a noexcept static member function named @c get, callable as @c - * get(t,s) and with return type @c type or a (possibly const) reference to @c - * type. - */ -template -struct associated_cancellation_slot -#if !defined(GENERATING_DOCUMENTATION) - : detail::associated_cancellation_slot_impl -#endif // !defined(GENERATING_DOCUMENTATION) -{ -#if defined(GENERATING_DOCUMENTATION) - /// If @c T has a nested type @c cancellation_slot_type, - /// T::cancellation_slot_type. Otherwise - /// @c CancellationSlot. - typedef see_below type; - - /// If @c T has a nested type @c cancellation_slot_type, returns - /// t.get_cancellation_slot(). Otherwise returns @c type(). - static decltype(auto) get(const T& t) noexcept; - - /// If @c T has a nested type @c cancellation_slot_type, returns - /// t.get_cancellation_slot(). Otherwise returns @c s. - static decltype(auto) get(const T& t, - const CancellationSlot& s) noexcept; -#endif // defined(GENERATING_DOCUMENTATION) -}; - -/// Helper function to obtain an object's associated cancellation_slot. -/** - * @returns associated_cancellation_slot::get(t) - */ -template -ASIO_NODISCARD inline typename associated_cancellation_slot::type -get_associated_cancellation_slot(const T& t) noexcept -{ - return associated_cancellation_slot::get(t); -} - -/// Helper function to obtain an object's associated cancellation_slot. -/** - * @returns associated_cancellation_slot::get(t, st) - */ -template -ASIO_NODISCARD inline auto get_associated_cancellation_slot( - const T& t, const CancellationSlot& st) noexcept - -> decltype(associated_cancellation_slot::get(t, st)) -{ - return associated_cancellation_slot::get(t, st); -} - -template -using associated_cancellation_slot_t = - typename associated_cancellation_slot::type; - -namespace detail { - -template -struct associated_cancellation_slot_forwarding_base -{ -}; - -template -struct associated_cancellation_slot_forwarding_base::asio_associated_cancellation_slot_is_unspecialised, - void - >::value - >> -{ - typedef void asio_associated_cancellation_slot_is_unspecialised; -}; - -} // namespace detail - -/// Specialisation of associated_cancellation_slot for @c -/// std::reference_wrapper. -template -struct associated_cancellation_slot, CancellationSlot> -#if !defined(GENERATING_DOCUMENTATION) - : detail::associated_cancellation_slot_forwarding_base -#endif // !defined(GENERATING_DOCUMENTATION) -{ - /// Forwards @c type to the associator specialisation for the unwrapped type - /// @c T. - typedef typename associated_cancellation_slot::type type; - - /// Forwards the request to get the cancellation slot to the associator - /// specialisation for the unwrapped type @c T. - static type get(reference_wrapper t) noexcept - { - return associated_cancellation_slot::get(t.get()); - } - - /// Forwards the request to get the cancellation slot to the associator - /// specialisation for the unwrapped type @c T. - static auto get(reference_wrapper t, const CancellationSlot& s) noexcept - -> decltype( - associated_cancellation_slot::get(t.get(), s)) - { - return associated_cancellation_slot::get(t.get(), s); - } -}; - -} // namespace asio - -#include "asio/detail/pop_options.hpp" - -#endif // ASIO_ASSOCIATED_CANCELLATION_SLOT_HPP diff --git a/subprojects/asio/include/asio/associated_executor.hpp b/subprojects/asio/include/asio/associated_executor.hpp deleted file mode 100644 index 4ca7ba149..000000000 --- a/subprojects/asio/include/asio/associated_executor.hpp +++ /dev/null @@ -1,235 +0,0 @@ -// -// associated_executor.hpp -// ~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef ASIO_ASSOCIATED_EXECUTOR_HPP -#define ASIO_ASSOCIATED_EXECUTOR_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include "asio/detail/config.hpp" -#include "asio/associator.hpp" -#include "asio/detail/functional.hpp" -#include "asio/detail/type_traits.hpp" -#include "asio/execution/executor.hpp" -#include "asio/is_executor.hpp" -#include "asio/system_executor.hpp" - -#include "asio/detail/push_options.hpp" - -namespace asio { - -template -struct associated_executor; - -namespace detail { - -template -struct has_executor_type : false_type -{ -}; - -template -struct has_executor_type> - : true_type -{ -}; - -template -struct associated_executor_impl -{ - typedef void asio_associated_executor_is_unspecialised; - - typedef E type; - - static type get(const T&) noexcept - { - return type(); - } - - static const type& get(const T&, const E& e) noexcept - { - return e; - } -}; - -template -struct associated_executor_impl> -{ - typedef typename T::executor_type type; - - static auto get(const T& t) noexcept - -> decltype(t.get_executor()) - { - return t.get_executor(); - } - - static auto get(const T& t, const E&) noexcept - -> decltype(t.get_executor()) - { - return t.get_executor(); - } -}; - -template -struct associated_executor_impl::value - >, - void_t< - typename associator::type - >> : associator -{ -}; - -} // namespace detail - -/// Traits type used to obtain the executor associated with an object. -/** - * A program may specialise this traits type if the @c T template parameter in - * the specialisation is a user-defined type. The template parameter @c - * Executor shall be a type meeting the Executor requirements. - * - * Specialisations shall meet the following requirements, where @c t is a const - * reference to an object of type @c T, and @c e is an object of type @c - * Executor. - * - * @li Provide a nested typedef @c type that identifies a type meeting the - * Executor requirements. - * - * @li Provide a noexcept static member function named @c get, callable as @c - * get(t) and with return type @c type or a (possibly const) reference to @c - * type. - * - * @li Provide a noexcept static member function named @c get, callable as @c - * get(t,e) and with return type @c type or a (possibly const) reference to @c - * type. - */ -template -struct associated_executor -#if !defined(GENERATING_DOCUMENTATION) - : detail::associated_executor_impl -#endif // !defined(GENERATING_DOCUMENTATION) -{ -#if defined(GENERATING_DOCUMENTATION) - /// If @c T has a nested type @c executor_type, T::executor_type. - /// Otherwise @c Executor. - typedef see_below type; - - /// If @c T has a nested type @c executor_type, returns - /// t.get_executor(). Otherwise returns @c type(). - static decltype(auto) get(const T& t) noexcept; - - /// If @c T has a nested type @c executor_type, returns - /// t.get_executor(). Otherwise returns @c ex. - static decltype(auto) get(const T& t, const Executor& ex) noexcept; -#endif // defined(GENERATING_DOCUMENTATION) -}; - -/// Helper function to obtain an object's associated executor. -/** - * @returns associated_executor::get(t) - */ -template -ASIO_NODISCARD inline typename associated_executor::type -get_associated_executor(const T& t) noexcept -{ - return associated_executor::get(t); -} - -/// Helper function to obtain an object's associated executor. -/** - * @returns associated_executor::get(t, ex) - */ -template -ASIO_NODISCARD inline auto get_associated_executor( - const T& t, const Executor& ex, - constraint_t< - is_executor::value || execution::is_executor::value - > = 0) noexcept - -> decltype(associated_executor::get(t, ex)) -{ - return associated_executor::get(t, ex); -} - -/// Helper function to obtain an object's associated executor. -/** - * @returns associated_executor::get(t, ctx.get_executor()) - */ -template -ASIO_NODISCARD inline typename associated_executor::type -get_associated_executor(const T& t, ExecutionContext& ctx, - constraint_t::value> = 0) noexcept -{ - return associated_executor::get(t, ctx.get_executor()); -} - -template -using associated_executor_t = typename associated_executor::type; - -namespace detail { - -template -struct associated_executor_forwarding_base -{ -}; - -template -struct associated_executor_forwarding_base::asio_associated_executor_is_unspecialised, - void - >::value - >> -{ - typedef void asio_associated_executor_is_unspecialised; -}; - -} // namespace detail - -/// Specialisation of associated_executor for @c std::reference_wrapper. -template -struct associated_executor, Executor> -#if !defined(GENERATING_DOCUMENTATION) - : detail::associated_executor_forwarding_base -#endif // !defined(GENERATING_DOCUMENTATION) -{ - /// Forwards @c type to the associator specialisation for the unwrapped type - /// @c T. - typedef typename associated_executor::type type; - - /// Forwards the request to get the executor to the associator specialisation - /// for the unwrapped type @c T. - static type get(reference_wrapper t) noexcept - { - return associated_executor::get(t.get()); - } - - /// Forwards the request to get the executor to the associator specialisation - /// for the unwrapped type @c T. - static auto get(reference_wrapper t, const Executor& ex) noexcept - -> decltype(associated_executor::get(t.get(), ex)) - { - return associated_executor::get(t.get(), ex); - } -}; - -} // namespace asio - -#include "asio/detail/pop_options.hpp" - -#endif // ASIO_ASSOCIATED_EXECUTOR_HPP diff --git a/subprojects/asio/include/asio/associated_immediate_executor.hpp b/subprojects/asio/include/asio/associated_immediate_executor.hpp deleted file mode 100644 index aa6e0fcfe..000000000 --- a/subprojects/asio/include/asio/associated_immediate_executor.hpp +++ /dev/null @@ -1,280 +0,0 @@ -// -// associated_immediate_executor.hpp -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef ASIO_ASSOCIATED_IMMEDIATE_EXECUTOR_HPP -#define ASIO_ASSOCIATED_IMMEDIATE_EXECUTOR_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include "asio/detail/config.hpp" -#include "asio/associator.hpp" -#include "asio/detail/functional.hpp" -#include "asio/detail/type_traits.hpp" -#include "asio/execution/blocking.hpp" -#include "asio/execution/executor.hpp" -#include "asio/execution_context.hpp" -#include "asio/is_executor.hpp" -#include "asio/require.hpp" - -#include "asio/detail/push_options.hpp" - -namespace asio { - -template -struct associated_immediate_executor; - -namespace detail { - -template -struct has_immediate_executor_type : false_type -{ -}; - -template -struct has_immediate_executor_type> - : true_type -{ -}; - -template -struct default_immediate_executor -{ - typedef require_result_t type; - - static type get(const E& e) noexcept - { - return asio::require(e, execution::blocking.never); - } -}; - -template -struct default_immediate_executor::value - >, - enable_if_t< - is_executor::value - >> -{ - class type : public E - { - public: - template - explicit type(const Executor1& e, - constraint_t< - conditional_t< - !is_same::value, - is_convertible, - false_type - >::value - > = 0) noexcept - : E(e) - { - } - - type(const type& other) noexcept - : E(static_cast(other)) - { - } - - type(type&& other) noexcept - : E(static_cast(other)) - { - } - - template - void dispatch(Function&& f, const Allocator& a) const - { - this->post(static_cast(f), a); - } - - friend bool operator==(const type& a, const type& b) noexcept - { - return static_cast(a) == static_cast(b); - } - - friend bool operator!=(const type& a, const type& b) noexcept - { - return static_cast(a) != static_cast(b); - } - }; - - static type get(const E& e) noexcept - { - return type(e); - } -}; - -template -struct associated_immediate_executor_impl -{ - typedef void asio_associated_immediate_executor_is_unspecialised; - - typedef typename default_immediate_executor::type type; - - static auto get(const T&, const E& e) noexcept - -> decltype(default_immediate_executor::get(e)) - { - return default_immediate_executor::get(e); - } -}; - -template -struct associated_immediate_executor_impl> -{ - typedef typename T::immediate_executor_type type; - - static auto get(const T& t, const E&) noexcept - -> decltype(t.get_immediate_executor()) - { - return t.get_immediate_executor(); - } -}; - -template -struct associated_immediate_executor_impl::value - >, - void_t< - typename associator::type - >> : associator -{ -}; - -} // namespace detail - -/// Traits type used to obtain the immediate executor associated with an object. -/** - * A program may specialise this traits type if the @c T template parameter in - * the specialisation is a user-defined type. The template parameter @c - * Executor shall be a type meeting the Executor requirements. - * - * Specialisations shall meet the following requirements, where @c t is a const - * reference to an object of type @c T, and @c e is an object of type @c - * Executor. - * - * @li Provide a nested typedef @c type that identifies a type meeting the - * Executor requirements. - * - * @li Provide a noexcept static member function named @c get, callable as @c - * get(t) and with return type @c type or a (possibly const) reference to @c - * type. - * - * @li Provide a noexcept static member function named @c get, callable as @c - * get(t,e) and with return type @c type or a (possibly const) reference to @c - * type. - */ -template -struct associated_immediate_executor -#if !defined(GENERATING_DOCUMENTATION) - : detail::associated_immediate_executor_impl -#endif // !defined(GENERATING_DOCUMENTATION) -{ -#if defined(GENERATING_DOCUMENTATION) - /// If @c T has a nested type @c immediate_executor_type, - // T::immediate_executor_type. Otherwise @c Executor. - typedef see_below type; - - /// If @c T has a nested type @c immediate_executor_type, returns - /// t.get_immediate_executor(). Otherwise returns - /// asio::require(ex, asio::execution::blocking.never). - static decltype(auto) get(const T& t, const Executor& ex) noexcept; -#endif // defined(GENERATING_DOCUMENTATION) -}; - -/// Helper function to obtain an object's associated executor. -/** - * @returns associated_immediate_executor::get(t, ex) - */ -template -ASIO_NODISCARD inline auto get_associated_immediate_executor( - const T& t, const Executor& ex, - constraint_t< - is_executor::value || execution::is_executor::value - > = 0) noexcept - -> decltype(associated_immediate_executor::get(t, ex)) -{ - return associated_immediate_executor::get(t, ex); -} - -/// Helper function to obtain an object's associated executor. -/** - * @returns associated_immediate_executor::get(t, ctx.get_executor()) - */ -template -ASIO_NODISCARD inline typename associated_immediate_executor::type -get_associated_immediate_executor(const T& t, ExecutionContext& ctx, - constraint_t< - is_convertible::value - > = 0) noexcept -{ - return associated_immediate_executor::get(t, ctx.get_executor()); -} - -template -using associated_immediate_executor_t = - typename associated_immediate_executor::type; - -namespace detail { - -template -struct associated_immediate_executor_forwarding_base -{ -}; - -template -struct associated_immediate_executor_forwarding_base::asio_associated_immediate_executor_is_unspecialised, - void - >::value - >> -{ - typedef void asio_associated_immediate_executor_is_unspecialised; -}; - -} // namespace detail - -/// Specialisation of associated_immediate_executor for -/// @c std::reference_wrapper. -template -struct associated_immediate_executor, Executor> -#if !defined(GENERATING_DOCUMENTATION) - : detail::associated_immediate_executor_forwarding_base -#endif // !defined(GENERATING_DOCUMENTATION) -{ - /// Forwards @c type to the associator specialisation for the unwrapped type - /// @c T. - typedef typename associated_immediate_executor::type type; - - /// Forwards the request to get the executor to the associator specialisation - /// for the unwrapped type @c T. - static auto get(reference_wrapper t, const Executor& ex) noexcept - -> decltype(associated_immediate_executor::get(t.get(), ex)) - { - return associated_immediate_executor::get(t.get(), ex); - } -}; - -} // namespace asio - -#include "asio/detail/pop_options.hpp" - -#endif // ASIO_ASSOCIATED_IMMEDIATE_EXECUTOR_HPP diff --git a/subprojects/asio/include/asio/associator.hpp b/subprojects/asio/include/asio/associator.hpp deleted file mode 100644 index 7952fcc51..000000000 --- a/subprojects/asio/include/asio/associator.hpp +++ /dev/null @@ -1,35 +0,0 @@ -// -// associator.hpp -// ~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef ASIO_ASSOCIATOR_HPP -#define ASIO_ASSOCIATOR_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include "asio/detail/config.hpp" - -#include "asio/detail/push_options.hpp" - -namespace asio { - -/// Used to generically specialise associators for a type. -template