├── .clang-format ├── .editorconfig ├── .github └── workflows │ ├── build.yml │ └── pr.yml ├── .gitignore ├── 3rd ├── asio-1.24.0 │ ├── COPYING │ ├── INSTALL │ ├── LICENSE_1_0.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── README │ ├── aclocal.m4 │ ├── asio.pc.in │ ├── compile │ ├── config.guess │ ├── config.sub │ ├── configure │ ├── configure.ac │ ├── depcomp │ ├── include │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── asio.hpp │ │ └── asio │ │ │ ├── any_io_executor.hpp │ │ │ ├── append.hpp │ │ │ ├── as_tuple.hpp │ │ │ ├── associated_allocator.hpp │ │ │ ├── associated_cancellation_slot.hpp │ │ │ ├── associated_executor.hpp │ │ │ ├── associator.hpp │ │ │ ├── async_result.hpp │ │ │ ├── awaitable.hpp │ │ │ ├── basic_datagram_socket.hpp │ │ │ ├── basic_deadline_timer.hpp │ │ │ ├── basic_file.hpp │ │ │ ├── basic_io_object.hpp │ │ │ ├── basic_random_access_file.hpp │ │ │ ├── basic_raw_socket.hpp │ │ │ ├── basic_readable_pipe.hpp │ │ │ ├── basic_seq_packet_socket.hpp │ │ │ ├── basic_serial_port.hpp │ │ │ ├── basic_signal_set.hpp │ │ │ ├── basic_socket.hpp │ │ │ ├── basic_socket_acceptor.hpp │ │ │ ├── basic_socket_iostream.hpp │ │ │ ├── basic_socket_streambuf.hpp │ │ │ ├── basic_stream_file.hpp │ │ │ ├── basic_stream_socket.hpp │ │ │ ├── basic_streambuf.hpp │ │ │ ├── basic_streambuf_fwd.hpp │ │ │ ├── basic_waitable_timer.hpp │ │ │ ├── basic_writable_pipe.hpp │ │ │ ├── bind_allocator.hpp │ │ │ ├── bind_cancellation_slot.hpp │ │ │ ├── bind_executor.hpp │ │ │ ├── buffer.hpp │ │ │ ├── buffer_registration.hpp │ │ │ ├── buffered_read_stream.hpp │ │ │ ├── buffered_read_stream_fwd.hpp │ │ │ ├── buffered_stream.hpp │ │ │ ├── buffered_stream_fwd.hpp │ │ │ ├── buffered_write_stream.hpp │ │ │ ├── buffered_write_stream_fwd.hpp │ │ │ ├── buffers_iterator.hpp │ │ │ ├── cancellation_signal.hpp │ │ │ ├── cancellation_state.hpp │ │ │ ├── cancellation_type.hpp │ │ │ ├── co_spawn.hpp │ │ │ ├── completion_condition.hpp │ │ │ ├── compose.hpp │ │ │ ├── connect.hpp │ │ │ ├── connect_pipe.hpp │ │ │ ├── coroutine.hpp │ │ │ ├── deadline_timer.hpp │ │ │ ├── defer.hpp │ │ │ ├── deferred.hpp │ │ │ ├── detached.hpp │ │ │ ├── detail │ │ │ ├── array.hpp │ │ │ ├── array_fwd.hpp │ │ │ ├── assert.hpp │ │ │ ├── atomic_count.hpp │ │ │ ├── base_from_cancellation_state.hpp │ │ │ ├── base_from_completion_cond.hpp │ │ │ ├── bind_handler.hpp │ │ │ ├── blocking_executor_op.hpp │ │ │ ├── buffer_resize_guard.hpp │ │ │ ├── buffer_sequence_adapter.hpp │ │ │ ├── buffered_stream_storage.hpp │ │ │ ├── bulk_executor_op.hpp │ │ │ ├── call_stack.hpp │ │ │ ├── chrono.hpp │ │ │ ├── chrono_time_traits.hpp │ │ │ ├── completion_handler.hpp │ │ │ ├── concurrency_hint.hpp │ │ │ ├── conditionally_enabled_event.hpp │ │ │ ├── conditionally_enabled_mutex.hpp │ │ │ ├── config.hpp │ │ │ ├── consuming_buffers.hpp │ │ │ ├── cstddef.hpp │ │ │ ├── cstdint.hpp │ │ │ ├── date_time_fwd.hpp │ │ │ ├── deadline_timer_service.hpp │ │ │ ├── dependent_type.hpp │ │ │ ├── descriptor_ops.hpp │ │ │ ├── descriptor_read_op.hpp │ │ │ ├── descriptor_write_op.hpp │ │ │ ├── dev_poll_reactor.hpp │ │ │ ├── epoll_reactor.hpp │ │ │ ├── event.hpp │ │ │ ├── eventfd_select_interrupter.hpp │ │ │ ├── exception.hpp │ │ │ ├── executor_function.hpp │ │ │ ├── executor_op.hpp │ │ │ ├── fd_set_adapter.hpp │ │ │ ├── fenced_block.hpp │ │ │ ├── functional.hpp │ │ │ ├── future.hpp │ │ │ ├── gcc_arm_fenced_block.hpp │ │ │ ├── gcc_hppa_fenced_block.hpp │ │ │ ├── gcc_sync_fenced_block.hpp │ │ │ ├── gcc_x86_fenced_block.hpp │ │ │ ├── global.hpp │ │ │ ├── handler_alloc_helpers.hpp │ │ │ ├── handler_cont_helpers.hpp │ │ │ ├── handler_invoke_helpers.hpp │ │ │ ├── handler_tracking.hpp │ │ │ ├── handler_type_requirements.hpp │ │ │ ├── handler_work.hpp │ │ │ ├── hash_map.hpp │ │ │ ├── impl │ │ │ │ ├── buffer_sequence_adapter.ipp │ │ │ │ ├── descriptor_ops.ipp │ │ │ │ ├── dev_poll_reactor.hpp │ │ │ │ ├── dev_poll_reactor.ipp │ │ │ │ ├── epoll_reactor.hpp │ │ │ │ ├── epoll_reactor.ipp │ │ │ │ ├── eventfd_select_interrupter.ipp │ │ │ │ ├── handler_tracking.ipp │ │ │ │ ├── io_uring_descriptor_service.ipp │ │ │ │ ├── io_uring_file_service.ipp │ │ │ │ ├── io_uring_service.hpp │ │ │ │ ├── io_uring_service.ipp │ │ │ │ ├── io_uring_socket_service_base.ipp │ │ │ │ ├── kqueue_reactor.hpp │ │ │ │ ├── kqueue_reactor.ipp │ │ │ │ ├── null_event.ipp │ │ │ │ ├── pipe_select_interrupter.ipp │ │ │ │ ├── posix_event.ipp │ │ │ │ ├── posix_mutex.ipp │ │ │ │ ├── posix_serial_port_service.ipp │ │ │ │ ├── posix_thread.ipp │ │ │ │ ├── posix_tss_ptr.ipp │ │ │ │ ├── reactive_descriptor_service.ipp │ │ │ │ ├── reactive_socket_service_base.ipp │ │ │ │ ├── resolver_service_base.ipp │ │ │ │ ├── scheduler.ipp │ │ │ │ ├── select_reactor.hpp │ │ │ │ ├── select_reactor.ipp │ │ │ │ ├── service_registry.hpp │ │ │ │ ├── service_registry.ipp │ │ │ │ ├── signal_set_service.ipp │ │ │ │ ├── socket_ops.ipp │ │ │ │ ├── socket_select_interrupter.ipp │ │ │ │ ├── strand_executor_service.hpp │ │ │ │ ├── strand_executor_service.ipp │ │ │ │ ├── strand_service.hpp │ │ │ │ ├── strand_service.ipp │ │ │ │ ├── thread_context.ipp │ │ │ │ ├── throw_error.ipp │ │ │ │ ├── timer_queue_ptime.ipp │ │ │ │ ├── timer_queue_set.ipp │ │ │ │ ├── win_event.ipp │ │ │ │ ├── win_iocp_file_service.ipp │ │ │ │ ├── win_iocp_handle_service.ipp │ │ │ │ ├── win_iocp_io_context.hpp │ │ │ │ ├── win_iocp_io_context.ipp │ │ │ │ ├── win_iocp_serial_port_service.ipp │ │ │ │ ├── win_iocp_socket_service_base.ipp │ │ │ │ ├── win_mutex.ipp │ │ │ │ ├── win_object_handle_service.ipp │ │ │ │ ├── win_static_mutex.ipp │ │ │ │ ├── win_thread.ipp │ │ │ │ ├── win_tss_ptr.ipp │ │ │ │ ├── winrt_ssocket_service_base.ipp │ │ │ │ ├── winrt_timer_scheduler.hpp │ │ │ │ ├── winrt_timer_scheduler.ipp │ │ │ │ └── winsock_init.ipp │ │ │ ├── io_control.hpp │ │ │ ├── io_object_impl.hpp │ │ │ ├── io_uring_descriptor_read_at_op.hpp │ │ │ ├── io_uring_descriptor_read_op.hpp │ │ │ ├── io_uring_descriptor_service.hpp │ │ │ ├── io_uring_descriptor_write_at_op.hpp │ │ │ ├── io_uring_descriptor_write_op.hpp │ │ │ ├── io_uring_file_service.hpp │ │ │ ├── io_uring_null_buffers_op.hpp │ │ │ ├── io_uring_operation.hpp │ │ │ ├── io_uring_service.hpp │ │ │ ├── io_uring_socket_accept_op.hpp │ │ │ ├── io_uring_socket_connect_op.hpp │ │ │ ├── io_uring_socket_recv_op.hpp │ │ │ ├── io_uring_socket_recvfrom_op.hpp │ │ │ ├── io_uring_socket_recvmsg_op.hpp │ │ │ ├── io_uring_socket_send_op.hpp │ │ │ ├── io_uring_socket_sendto_op.hpp │ │ │ ├── io_uring_socket_service.hpp │ │ │ ├── io_uring_socket_service_base.hpp │ │ │ ├── io_uring_wait_op.hpp │ │ │ ├── is_buffer_sequence.hpp │ │ │ ├── is_executor.hpp │ │ │ ├── keyword_tss_ptr.hpp │ │ │ ├── kqueue_reactor.hpp │ │ │ ├── limits.hpp │ │ │ ├── local_free_on_block_exit.hpp │ │ │ ├── macos_fenced_block.hpp │ │ │ ├── memory.hpp │ │ │ ├── mutex.hpp │ │ │ ├── non_const_lvalue.hpp │ │ │ ├── noncopyable.hpp │ │ │ ├── null_event.hpp │ │ │ ├── null_fenced_block.hpp │ │ │ ├── null_global.hpp │ │ │ ├── null_mutex.hpp │ │ │ ├── null_reactor.hpp │ │ │ ├── null_signal_blocker.hpp │ │ │ ├── null_socket_service.hpp │ │ │ ├── null_static_mutex.hpp │ │ │ ├── null_thread.hpp │ │ │ ├── null_tss_ptr.hpp │ │ │ ├── object_pool.hpp │ │ │ ├── old_win_sdk_compat.hpp │ │ │ ├── op_queue.hpp │ │ │ ├── operation.hpp │ │ │ ├── pipe_select_interrupter.hpp │ │ │ ├── pop_options.hpp │ │ │ ├── posix_event.hpp │ │ │ ├── posix_fd_set_adapter.hpp │ │ │ ├── posix_global.hpp │ │ │ ├── posix_mutex.hpp │ │ │ ├── posix_serial_port_service.hpp │ │ │ ├── posix_signal_blocker.hpp │ │ │ ├── posix_static_mutex.hpp │ │ │ ├── posix_thread.hpp │ │ │ ├── posix_tss_ptr.hpp │ │ │ ├── push_options.hpp │ │ │ ├── reactive_descriptor_service.hpp │ │ │ ├── reactive_null_buffers_op.hpp │ │ │ ├── reactive_socket_accept_op.hpp │ │ │ ├── reactive_socket_connect_op.hpp │ │ │ ├── reactive_socket_recv_op.hpp │ │ │ ├── reactive_socket_recvfrom_op.hpp │ │ │ ├── reactive_socket_recvmsg_op.hpp │ │ │ ├── reactive_socket_send_op.hpp │ │ │ ├── reactive_socket_sendto_op.hpp │ │ │ ├── reactive_socket_service.hpp │ │ │ ├── reactive_socket_service_base.hpp │ │ │ ├── reactive_wait_op.hpp │ │ │ ├── reactor.hpp │ │ │ ├── reactor_op.hpp │ │ │ ├── reactor_op_queue.hpp │ │ │ ├── recycling_allocator.hpp │ │ │ ├── regex_fwd.hpp │ │ │ ├── resolve_endpoint_op.hpp │ │ │ ├── resolve_op.hpp │ │ │ ├── resolve_query_op.hpp │ │ │ ├── resolver_service.hpp │ │ │ ├── resolver_service_base.hpp │ │ │ ├── scheduler.hpp │ │ │ ├── scheduler_operation.hpp │ │ │ ├── scheduler_task.hpp │ │ │ ├── scheduler_thread_info.hpp │ │ │ ├── scoped_lock.hpp │ │ │ ├── scoped_ptr.hpp │ │ │ ├── select_interrupter.hpp │ │ │ ├── select_reactor.hpp │ │ │ ├── service_registry.hpp │ │ │ ├── signal_blocker.hpp │ │ │ ├── signal_handler.hpp │ │ │ ├── signal_init.hpp │ │ │ ├── signal_op.hpp │ │ │ ├── signal_set_service.hpp │ │ │ ├── socket_holder.hpp │ │ │ ├── socket_ops.hpp │ │ │ ├── socket_option.hpp │ │ │ ├── socket_select_interrupter.hpp │ │ │ ├── socket_types.hpp │ │ │ ├── solaris_fenced_block.hpp │ │ │ ├── source_location.hpp │ │ │ ├── static_mutex.hpp │ │ │ ├── std_event.hpp │ │ │ ├── std_fenced_block.hpp │ │ │ ├── std_global.hpp │ │ │ ├── std_mutex.hpp │ │ │ ├── std_static_mutex.hpp │ │ │ ├── std_thread.hpp │ │ │ ├── strand_executor_service.hpp │ │ │ ├── strand_service.hpp │ │ │ ├── string_view.hpp │ │ │ ├── thread.hpp │ │ │ ├── thread_context.hpp │ │ │ ├── thread_group.hpp │ │ │ ├── thread_info_base.hpp │ │ │ ├── throw_error.hpp │ │ │ ├── throw_exception.hpp │ │ │ ├── timer_queue.hpp │ │ │ ├── timer_queue_base.hpp │ │ │ ├── timer_queue_ptime.hpp │ │ │ ├── timer_queue_set.hpp │ │ │ ├── timer_scheduler.hpp │ │ │ ├── timer_scheduler_fwd.hpp │ │ │ ├── tss_ptr.hpp │ │ │ ├── type_traits.hpp │ │ │ ├── utility.hpp │ │ │ ├── variadic_templates.hpp │ │ │ ├── wait_handler.hpp │ │ │ ├── wait_op.hpp │ │ │ ├── win_event.hpp │ │ │ ├── win_fd_set_adapter.hpp │ │ │ ├── win_fenced_block.hpp │ │ │ ├── win_global.hpp │ │ │ ├── win_iocp_file_service.hpp │ │ │ ├── win_iocp_handle_read_op.hpp │ │ │ ├── win_iocp_handle_service.hpp │ │ │ ├── win_iocp_handle_write_op.hpp │ │ │ ├── win_iocp_io_context.hpp │ │ │ ├── win_iocp_null_buffers_op.hpp │ │ │ ├── win_iocp_operation.hpp │ │ │ ├── win_iocp_overlapped_op.hpp │ │ │ ├── win_iocp_overlapped_ptr.hpp │ │ │ ├── win_iocp_serial_port_service.hpp │ │ │ ├── win_iocp_socket_accept_op.hpp │ │ │ ├── win_iocp_socket_connect_op.hpp │ │ │ ├── win_iocp_socket_recv_op.hpp │ │ │ ├── win_iocp_socket_recvfrom_op.hpp │ │ │ ├── win_iocp_socket_recvmsg_op.hpp │ │ │ ├── win_iocp_socket_send_op.hpp │ │ │ ├── win_iocp_socket_service.hpp │ │ │ ├── win_iocp_socket_service_base.hpp │ │ │ ├── win_iocp_thread_info.hpp │ │ │ ├── win_iocp_wait_op.hpp │ │ │ ├── win_mutex.hpp │ │ │ ├── win_object_handle_service.hpp │ │ │ ├── win_static_mutex.hpp │ │ │ ├── win_thread.hpp │ │ │ ├── win_tss_ptr.hpp │ │ │ ├── winapp_thread.hpp │ │ │ ├── wince_thread.hpp │ │ │ ├── winrt_async_manager.hpp │ │ │ ├── winrt_async_op.hpp │ │ │ ├── winrt_resolve_op.hpp │ │ │ ├── winrt_resolver_service.hpp │ │ │ ├── winrt_socket_connect_op.hpp │ │ │ ├── winrt_socket_recv_op.hpp │ │ │ ├── winrt_socket_send_op.hpp │ │ │ ├── winrt_ssocket_service.hpp │ │ │ ├── winrt_ssocket_service_base.hpp │ │ │ ├── winrt_timer_scheduler.hpp │ │ │ ├── winrt_utils.hpp │ │ │ ├── winsock_init.hpp │ │ │ ├── work_dispatcher.hpp │ │ │ └── wrapped_handler.hpp │ │ │ ├── dispatch.hpp │ │ │ ├── error.hpp │ │ │ ├── error_code.hpp │ │ │ ├── execution.hpp │ │ │ ├── execution │ │ │ ├── allocator.hpp │ │ │ ├── any_executor.hpp │ │ │ ├── bad_executor.hpp │ │ │ ├── blocking.hpp │ │ │ ├── blocking_adaptation.hpp │ │ │ ├── bulk_execute.hpp │ │ │ ├── bulk_guarantee.hpp │ │ │ ├── connect.hpp │ │ │ ├── context.hpp │ │ │ ├── context_as.hpp │ │ │ ├── detail │ │ │ │ ├── as_invocable.hpp │ │ │ │ ├── as_operation.hpp │ │ │ │ ├── as_receiver.hpp │ │ │ │ ├── bulk_sender.hpp │ │ │ │ ├── submit_receiver.hpp │ │ │ │ └── void_receiver.hpp │ │ │ ├── execute.hpp │ │ │ ├── executor.hpp │ │ │ ├── impl │ │ │ │ ├── bad_executor.ipp │ │ │ │ └── receiver_invocation_error.ipp │ │ │ ├── invocable_archetype.hpp │ │ │ ├── mapping.hpp │ │ │ ├── occupancy.hpp │ │ │ ├── operation_state.hpp │ │ │ ├── outstanding_work.hpp │ │ │ ├── prefer_only.hpp │ │ │ ├── receiver.hpp │ │ │ ├── receiver_invocation_error.hpp │ │ │ ├── relationship.hpp │ │ │ ├── schedule.hpp │ │ │ ├── scheduler.hpp │ │ │ ├── sender.hpp │ │ │ ├── set_done.hpp │ │ │ ├── set_error.hpp │ │ │ ├── set_value.hpp │ │ │ ├── start.hpp │ │ │ └── submit.hpp │ │ │ ├── execution_context.hpp │ │ │ ├── executor.hpp │ │ │ ├── executor_work_guard.hpp │ │ │ ├── experimental │ │ │ ├── append.hpp │ │ │ ├── as_single.hpp │ │ │ ├── as_tuple.hpp │ │ │ ├── awaitable_operators.hpp │ │ │ ├── basic_channel.hpp │ │ │ ├── basic_concurrent_channel.hpp │ │ │ ├── cancellation_condition.hpp │ │ │ ├── channel.hpp │ │ │ ├── channel_error.hpp │ │ │ ├── channel_traits.hpp │ │ │ ├── co_spawn.hpp │ │ │ ├── concurrent_channel.hpp │ │ │ ├── coro.hpp │ │ │ ├── coro_traits.hpp │ │ │ ├── deferred.hpp │ │ │ ├── detail │ │ │ │ ├── channel_handler.hpp │ │ │ │ ├── channel_message.hpp │ │ │ │ ├── channel_operation.hpp │ │ │ │ ├── channel_payload.hpp │ │ │ │ ├── channel_receive_op.hpp │ │ │ │ ├── channel_send_functions.hpp │ │ │ │ ├── channel_send_op.hpp │ │ │ │ ├── channel_service.hpp │ │ │ │ ├── completion_handler_erasure.hpp │ │ │ │ ├── coro_promise_allocator.hpp │ │ │ │ ├── has_signature.hpp │ │ │ │ ├── impl │ │ │ │ │ └── channel_service.hpp │ │ │ │ └── partial_promise.hpp │ │ │ ├── impl │ │ │ │ ├── as_single.hpp │ │ │ │ ├── channel_error.ipp │ │ │ │ ├── coro.hpp │ │ │ │ ├── parallel_group.hpp │ │ │ │ ├── promise.hpp │ │ │ │ └── use_coro.hpp │ │ │ ├── parallel_group.hpp │ │ │ ├── prepend.hpp │ │ │ ├── promise.hpp │ │ │ └── use_coro.hpp │ │ │ ├── file_base.hpp │ │ │ ├── generic │ │ │ ├── basic_endpoint.hpp │ │ │ ├── datagram_protocol.hpp │ │ │ ├── detail │ │ │ │ ├── endpoint.hpp │ │ │ │ └── impl │ │ │ │ │ └── endpoint.ipp │ │ │ ├── raw_protocol.hpp │ │ │ ├── seq_packet_protocol.hpp │ │ │ └── stream_protocol.hpp │ │ │ ├── handler_alloc_hook.hpp │ │ │ ├── handler_continuation_hook.hpp │ │ │ ├── handler_invoke_hook.hpp │ │ │ ├── high_resolution_timer.hpp │ │ │ ├── impl │ │ │ ├── any_io_executor.ipp │ │ │ ├── append.hpp │ │ │ ├── as_tuple.hpp │ │ │ ├── awaitable.hpp │ │ │ ├── buffered_read_stream.hpp │ │ │ ├── buffered_write_stream.hpp │ │ │ ├── cancellation_signal.ipp │ │ │ ├── co_spawn.hpp │ │ │ ├── connect.hpp │ │ │ ├── connect_pipe.hpp │ │ │ ├── connect_pipe.ipp │ │ │ ├── defer.hpp │ │ │ ├── deferred.hpp │ │ │ ├── detached.hpp │ │ │ ├── dispatch.hpp │ │ │ ├── error.ipp │ │ │ ├── error_code.ipp │ │ │ ├── execution_context.hpp │ │ │ ├── execution_context.ipp │ │ │ ├── executor.hpp │ │ │ ├── executor.ipp │ │ │ ├── handler_alloc_hook.ipp │ │ │ ├── io_context.hpp │ │ │ ├── io_context.ipp │ │ │ ├── multiple_exceptions.ipp │ │ │ ├── post.hpp │ │ │ ├── prepend.hpp │ │ │ ├── read.hpp │ │ │ ├── read_at.hpp │ │ │ ├── read_until.hpp │ │ │ ├── redirect_error.hpp │ │ │ ├── serial_port_base.hpp │ │ │ ├── serial_port_base.ipp │ │ │ ├── spawn.hpp │ │ │ ├── src.hpp │ │ │ ├── system_context.hpp │ │ │ ├── system_context.ipp │ │ │ ├── system_executor.hpp │ │ │ ├── thread_pool.hpp │ │ │ ├── thread_pool.ipp │ │ │ ├── use_awaitable.hpp │ │ │ ├── use_future.hpp │ │ │ ├── write.hpp │ │ │ └── write_at.hpp │ │ │ ├── io_context.hpp │ │ │ ├── io_context_strand.hpp │ │ │ ├── io_service.hpp │ │ │ ├── io_service_strand.hpp │ │ │ ├── ip │ │ │ ├── address.hpp │ │ │ ├── address_v4.hpp │ │ │ ├── address_v4_iterator.hpp │ │ │ ├── address_v4_range.hpp │ │ │ ├── address_v6.hpp │ │ │ ├── address_v6_iterator.hpp │ │ │ ├── address_v6_range.hpp │ │ │ ├── bad_address_cast.hpp │ │ │ ├── basic_endpoint.hpp │ │ │ ├── basic_resolver.hpp │ │ │ ├── basic_resolver_entry.hpp │ │ │ ├── basic_resolver_iterator.hpp │ │ │ ├── basic_resolver_query.hpp │ │ │ ├── basic_resolver_results.hpp │ │ │ ├── detail │ │ │ │ ├── endpoint.hpp │ │ │ │ ├── impl │ │ │ │ │ └── endpoint.ipp │ │ │ │ └── socket_option.hpp │ │ │ ├── host_name.hpp │ │ │ ├── icmp.hpp │ │ │ ├── impl │ │ │ │ ├── address.hpp │ │ │ │ ├── address.ipp │ │ │ │ ├── address_v4.hpp │ │ │ │ ├── address_v4.ipp │ │ │ │ ├── address_v6.hpp │ │ │ │ ├── address_v6.ipp │ │ │ │ ├── basic_endpoint.hpp │ │ │ │ ├── host_name.ipp │ │ │ │ ├── network_v4.hpp │ │ │ │ ├── network_v4.ipp │ │ │ │ ├── network_v6.hpp │ │ │ │ └── network_v6.ipp │ │ │ ├── multicast.hpp │ │ │ ├── network_v4.hpp │ │ │ ├── network_v6.hpp │ │ │ ├── resolver_base.hpp │ │ │ ├── resolver_query_base.hpp │ │ │ ├── tcp.hpp │ │ │ ├── udp.hpp │ │ │ ├── unicast.hpp │ │ │ └── v6_only.hpp │ │ │ ├── is_applicable_property.hpp │ │ │ ├── is_contiguous_iterator.hpp │ │ │ ├── is_executor.hpp │ │ │ ├── is_read_buffered.hpp │ │ │ ├── is_write_buffered.hpp │ │ │ ├── local │ │ │ ├── basic_endpoint.hpp │ │ │ ├── connect_pair.hpp │ │ │ ├── datagram_protocol.hpp │ │ │ ├── detail │ │ │ │ ├── endpoint.hpp │ │ │ │ └── impl │ │ │ │ │ └── endpoint.ipp │ │ │ └── stream_protocol.hpp │ │ │ ├── multiple_exceptions.hpp │ │ │ ├── packaged_task.hpp │ │ │ ├── placeholders.hpp │ │ │ ├── posix │ │ │ ├── basic_descriptor.hpp │ │ │ ├── basic_stream_descriptor.hpp │ │ │ ├── descriptor.hpp │ │ │ ├── descriptor_base.hpp │ │ │ └── stream_descriptor.hpp │ │ │ ├── post.hpp │ │ │ ├── prefer.hpp │ │ │ ├── prepend.hpp │ │ │ ├── query.hpp │ │ │ ├── random_access_file.hpp │ │ │ ├── read.hpp │ │ │ ├── read_at.hpp │ │ │ ├── read_until.hpp │ │ │ ├── readable_pipe.hpp │ │ │ ├── recycling_allocator.hpp │ │ │ ├── redirect_error.hpp │ │ │ ├── registered_buffer.hpp │ │ │ ├── require.hpp │ │ │ ├── require_concept.hpp │ │ │ ├── serial_port.hpp │ │ │ ├── serial_port_base.hpp │ │ │ ├── signal_set.hpp │ │ │ ├── socket_base.hpp │ │ │ ├── spawn.hpp │ │ │ ├── ssl.hpp │ │ │ ├── ssl │ │ │ ├── context.hpp │ │ │ ├── context_base.hpp │ │ │ ├── detail │ │ │ │ ├── buffered_handshake_op.hpp │ │ │ │ ├── engine.hpp │ │ │ │ ├── handshake_op.hpp │ │ │ │ ├── impl │ │ │ │ │ ├── engine.ipp │ │ │ │ │ └── openssl_init.ipp │ │ │ │ ├── io.hpp │ │ │ │ ├── openssl_init.hpp │ │ │ │ ├── openssl_types.hpp │ │ │ │ ├── password_callback.hpp │ │ │ │ ├── read_op.hpp │ │ │ │ ├── shutdown_op.hpp │ │ │ │ ├── stream_core.hpp │ │ │ │ ├── verify_callback.hpp │ │ │ │ └── write_op.hpp │ │ │ ├── error.hpp │ │ │ ├── host_name_verification.hpp │ │ │ ├── impl │ │ │ │ ├── context.hpp │ │ │ │ ├── context.ipp │ │ │ │ ├── error.ipp │ │ │ │ ├── host_name_verification.ipp │ │ │ │ ├── rfc2818_verification.ipp │ │ │ │ └── src.hpp │ │ │ ├── rfc2818_verification.hpp │ │ │ ├── stream.hpp │ │ │ ├── stream_base.hpp │ │ │ ├── verify_context.hpp │ │ │ └── verify_mode.hpp │ │ │ ├── static_thread_pool.hpp │ │ │ ├── steady_timer.hpp │ │ │ ├── strand.hpp │ │ │ ├── stream_file.hpp │ │ │ ├── streambuf.hpp │ │ │ ├── system_context.hpp │ │ │ ├── system_error.hpp │ │ │ ├── system_executor.hpp │ │ │ ├── system_timer.hpp │ │ │ ├── this_coro.hpp │ │ │ ├── thread.hpp │ │ │ ├── thread_pool.hpp │ │ │ ├── time_traits.hpp │ │ │ ├── traits │ │ │ ├── bulk_execute_free.hpp │ │ │ ├── bulk_execute_member.hpp │ │ │ ├── connect_free.hpp │ │ │ ├── connect_member.hpp │ │ │ ├── equality_comparable.hpp │ │ │ ├── execute_free.hpp │ │ │ ├── execute_member.hpp │ │ │ ├── prefer_free.hpp │ │ │ ├── prefer_member.hpp │ │ │ ├── query_free.hpp │ │ │ ├── query_member.hpp │ │ │ ├── query_static_constexpr_member.hpp │ │ │ ├── require_concept_free.hpp │ │ │ ├── require_concept_member.hpp │ │ │ ├── require_free.hpp │ │ │ ├── require_member.hpp │ │ │ ├── schedule_free.hpp │ │ │ ├── schedule_member.hpp │ │ │ ├── set_done_free.hpp │ │ │ ├── set_done_member.hpp │ │ │ ├── set_error_free.hpp │ │ │ ├── set_error_member.hpp │ │ │ ├── set_value_free.hpp │ │ │ ├── set_value_member.hpp │ │ │ ├── start_free.hpp │ │ │ ├── start_member.hpp │ │ │ ├── static_query.hpp │ │ │ ├── static_require.hpp │ │ │ ├── static_require_concept.hpp │ │ │ ├── submit_free.hpp │ │ │ └── submit_member.hpp │ │ │ ├── ts │ │ │ ├── buffer.hpp │ │ │ ├── executor.hpp │ │ │ ├── internet.hpp │ │ │ ├── io_context.hpp │ │ │ ├── net.hpp │ │ │ ├── netfwd.hpp │ │ │ ├── socket.hpp │ │ │ └── timer.hpp │ │ │ ├── unyield.hpp │ │ │ ├── use_awaitable.hpp │ │ │ ├── use_future.hpp │ │ │ ├── uses_executor.hpp │ │ │ ├── version.hpp │ │ │ ├── wait_traits.hpp │ │ │ ├── windows │ │ │ ├── basic_object_handle.hpp │ │ │ ├── basic_overlapped_handle.hpp │ │ │ ├── basic_random_access_handle.hpp │ │ │ ├── basic_stream_handle.hpp │ │ │ ├── object_handle.hpp │ │ │ ├── overlapped_handle.hpp │ │ │ ├── overlapped_ptr.hpp │ │ │ ├── random_access_handle.hpp │ │ │ └── stream_handle.hpp │ │ │ ├── writable_pipe.hpp │ │ │ ├── write.hpp │ │ │ ├── write_at.hpp │ │ │ └── yield.hpp │ ├── install-sh │ ├── missing │ └── test-driver ├── googletest-1.13.0 │ ├── .clang-format │ ├── .github │ │ ├── ISSUE_TEMPLATE │ │ │ ├── 00-bug_report.yml │ │ │ ├── 10-feature_request.yml │ │ │ └── config.yml │ │ └── workflows │ │ │ └── gtest-ci.yml │ ├── .gitignore │ ├── BUILD.bazel │ ├── CMakeLists.txt │ ├── CONTRIBUTING.md │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── README.md │ ├── WORKSPACE │ ├── ci │ │ ├── linux-presubmit.sh │ │ ├── macos-presubmit.sh │ │ └── windows-presubmit.bat │ ├── docs │ │ ├── _config.yml │ │ ├── _data │ │ │ └── navigation.yml │ │ ├── _layouts │ │ │ └── default.html │ │ ├── _sass │ │ │ └── main.scss │ │ ├── advanced.md │ │ ├── assets │ │ │ └── css │ │ │ │ └── style.scss │ │ ├── community_created_documentation.md │ │ ├── faq.md │ │ ├── gmock_cheat_sheet.md │ │ ├── gmock_cook_book.md │ │ ├── gmock_faq.md │ │ ├── gmock_for_dummies.md │ │ ├── index.md │ │ ├── pkgconfig.md │ │ ├── platforms.md │ │ ├── primer.md │ │ ├── quickstart-bazel.md │ │ ├── quickstart-cmake.md │ │ ├── reference │ │ │ ├── actions.md │ │ │ ├── assertions.md │ │ │ ├── matchers.md │ │ │ ├── mocking.md │ │ │ └── testing.md │ │ └── samples.md │ ├── googlemock │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── cmake │ │ │ ├── gmock.pc.in │ │ │ └── gmock_main.pc.in │ │ ├── docs │ │ │ └── README.md │ │ ├── include │ │ │ └── gmock │ │ │ │ ├── gmock-actions.h │ │ │ │ ├── gmock-cardinalities.h │ │ │ │ ├── gmock-function-mocker.h │ │ │ │ ├── gmock-matchers.h │ │ │ │ ├── gmock-more-actions.h │ │ │ │ ├── gmock-more-matchers.h │ │ │ │ ├── gmock-nice-strict.h │ │ │ │ ├── gmock-spec-builders.h │ │ │ │ ├── gmock.h │ │ │ │ └── internal │ │ │ │ ├── custom │ │ │ │ ├── README.md │ │ │ │ ├── gmock-generated-actions.h │ │ │ │ ├── gmock-matchers.h │ │ │ │ └── gmock-port.h │ │ │ │ ├── gmock-internal-utils.h │ │ │ │ ├── gmock-port.h │ │ │ │ └── gmock-pp.h │ │ ├── src │ │ │ ├── gmock-all.cc │ │ │ ├── gmock-cardinalities.cc │ │ │ ├── gmock-internal-utils.cc │ │ │ ├── gmock-matchers.cc │ │ │ ├── gmock-spec-builders.cc │ │ │ ├── gmock.cc │ │ │ └── gmock_main.cc │ │ └── test │ │ │ ├── BUILD.bazel │ │ │ ├── gmock-actions_test.cc │ │ │ ├── gmock-cardinalities_test.cc │ │ │ ├── gmock-function-mocker_test.cc │ │ │ ├── gmock-internal-utils_test.cc │ │ │ ├── gmock-matchers-arithmetic_test.cc │ │ │ ├── gmock-matchers-comparisons_test.cc │ │ │ ├── gmock-matchers-containers_test.cc │ │ │ ├── gmock-matchers-misc_test.cc │ │ │ ├── gmock-matchers_test.h │ │ │ ├── gmock-more-actions_test.cc │ │ │ ├── gmock-nice-strict_test.cc │ │ │ ├── gmock-port_test.cc │ │ │ ├── gmock-pp-string_test.cc │ │ │ ├── gmock-pp_test.cc │ │ │ ├── gmock-spec-builders_test.cc │ │ │ ├── gmock_all_test.cc │ │ │ ├── gmock_ex_test.cc │ │ │ ├── gmock_leak_test.py │ │ │ ├── gmock_leak_test_.cc │ │ │ ├── gmock_link2_test.cc │ │ │ ├── gmock_link_test.cc │ │ │ ├── gmock_link_test.h │ │ │ ├── gmock_output_test.py │ │ │ ├── gmock_output_test_.cc │ │ │ ├── gmock_output_test_golden.txt │ │ │ ├── gmock_stress_test.cc │ │ │ ├── gmock_test.cc │ │ │ └── gmock_test_utils.py │ └── googletest │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── cmake │ │ ├── Config.cmake.in │ │ ├── gtest.pc.in │ │ ├── gtest_main.pc.in │ │ ├── internal_utils.cmake │ │ └── libgtest.la.in │ │ ├── docs │ │ └── README.md │ │ ├── include │ │ └── gtest │ │ │ ├── gtest-assertion-result.h │ │ │ ├── gtest-death-test.h │ │ │ ├── gtest-matchers.h │ │ │ ├── gtest-message.h │ │ │ ├── gtest-param-test.h │ │ │ ├── gtest-printers.h │ │ │ ├── gtest-spi.h │ │ │ ├── gtest-test-part.h │ │ │ ├── gtest-typed-test.h │ │ │ ├── gtest.h │ │ │ ├── gtest_pred_impl.h │ │ │ ├── gtest_prod.h │ │ │ └── internal │ │ │ ├── custom │ │ │ ├── README.md │ │ │ ├── gtest-port.h │ │ │ ├── gtest-printers.h │ │ │ └── gtest.h │ │ │ ├── gtest-death-test-internal.h │ │ │ ├── gtest-filepath.h │ │ │ ├── gtest-internal.h │ │ │ ├── gtest-param-util.h │ │ │ ├── gtest-port-arch.h │ │ │ ├── gtest-port.h │ │ │ ├── gtest-string.h │ │ │ └── gtest-type-util.h │ │ ├── samples │ │ ├── prime_tables.h │ │ ├── sample1.cc │ │ ├── sample1.h │ │ ├── sample10_unittest.cc │ │ ├── sample1_unittest.cc │ │ ├── sample2.cc │ │ ├── sample2.h │ │ ├── sample2_unittest.cc │ │ ├── sample3-inl.h │ │ ├── sample3_unittest.cc │ │ ├── sample4.cc │ │ ├── sample4.h │ │ ├── sample4_unittest.cc │ │ ├── sample5_unittest.cc │ │ ├── sample6_unittest.cc │ │ ├── sample7_unittest.cc │ │ ├── sample8_unittest.cc │ │ └── sample9_unittest.cc │ │ ├── src │ │ ├── gtest-all.cc │ │ ├── gtest-assertion-result.cc │ │ ├── gtest-death-test.cc │ │ ├── gtest-filepath.cc │ │ ├── gtest-internal-inl.h │ │ ├── gtest-matchers.cc │ │ ├── gtest-port.cc │ │ ├── gtest-printers.cc │ │ ├── gtest-test-part.cc │ │ ├── gtest-typed-test.cc │ │ ├── gtest.cc │ │ └── gtest_main.cc │ │ └── test │ │ ├── BUILD.bazel │ │ ├── googletest-break-on-failure-unittest.py │ │ ├── googletest-break-on-failure-unittest_.cc │ │ ├── googletest-catch-exceptions-test.py │ │ ├── googletest-catch-exceptions-test_.cc │ │ ├── googletest-color-test.py │ │ ├── googletest-color-test_.cc │ │ ├── googletest-death-test-test.cc │ │ ├── googletest-death-test_ex_test.cc │ │ ├── googletest-env-var-test.py │ │ ├── googletest-env-var-test_.cc │ │ ├── googletest-failfast-unittest.py │ │ ├── googletest-failfast-unittest_.cc │ │ ├── googletest-filepath-test.cc │ │ ├── googletest-filter-unittest.py │ │ ├── googletest-filter-unittest_.cc │ │ ├── googletest-global-environment-unittest.py │ │ ├── googletest-global-environment-unittest_.cc │ │ ├── googletest-json-outfiles-test.py │ │ ├── googletest-json-output-unittest.py │ │ ├── googletest-list-tests-unittest.py │ │ ├── googletest-list-tests-unittest_.cc │ │ ├── googletest-listener-test.cc │ │ ├── googletest-message-test.cc │ │ ├── googletest-options-test.cc │ │ ├── googletest-output-test-golden-lin.txt │ │ ├── googletest-output-test.py │ │ ├── googletest-output-test_.cc │ │ ├── googletest-param-test-invalid-name1-test.py │ │ ├── googletest-param-test-invalid-name1-test_.cc │ │ ├── googletest-param-test-invalid-name2-test.py │ │ ├── googletest-param-test-invalid-name2-test_.cc │ │ ├── googletest-param-test-test.cc │ │ ├── googletest-param-test-test.h │ │ ├── googletest-param-test2-test.cc │ │ ├── googletest-port-test.cc │ │ ├── googletest-printers-test.cc │ │ ├── googletest-setuptestsuite-test.py │ │ ├── googletest-setuptestsuite-test_.cc │ │ ├── googletest-shuffle-test.py │ │ ├── googletest-shuffle-test_.cc │ │ ├── googletest-test-part-test.cc │ │ ├── googletest-throw-on-failure-test.py │ │ ├── googletest-throw-on-failure-test_.cc │ │ ├── googletest-uninitialized-test.py │ │ ├── googletest-uninitialized-test_.cc │ │ ├── gtest-typed-test2_test.cc │ │ ├── gtest-typed-test_test.cc │ │ ├── gtest-typed-test_test.h │ │ ├── gtest-unittest-api_test.cc │ │ ├── gtest_all_test.cc │ │ ├── gtest_assert_by_exception_test.cc │ │ ├── gtest_dirs_test.cc │ │ ├── gtest_environment_test.cc │ │ ├── gtest_help_test.py │ │ ├── gtest_help_test_.cc │ │ ├── gtest_json_test_utils.py │ │ ├── gtest_list_output_unittest.py │ │ ├── gtest_list_output_unittest_.cc │ │ ├── gtest_main_unittest.cc │ │ ├── gtest_no_test_unittest.cc │ │ ├── gtest_pred_impl_unittest.cc │ │ ├── gtest_premature_exit_test.cc │ │ ├── gtest_prod_test.cc │ │ ├── gtest_repeat_test.cc │ │ ├── gtest_skip_check_output_test.py │ │ ├── gtest_skip_environment_check_output_test.py │ │ ├── gtest_skip_in_environment_setup_test.cc │ │ ├── gtest_skip_test.cc │ │ ├── gtest_sole_header_test.cc │ │ ├── gtest_stress_test.cc │ │ ├── gtest_test_macro_stack_footprint_test.cc │ │ ├── gtest_test_utils.py │ │ ├── gtest_testbridge_test.py │ │ ├── gtest_testbridge_test_.cc │ │ ├── gtest_throw_on_failure_ex_test.cc │ │ ├── gtest_unittest.cc │ │ ├── gtest_xml_outfile1_test_.cc │ │ ├── gtest_xml_outfile2_test_.cc │ │ ├── gtest_xml_outfiles_test.py │ │ ├── gtest_xml_output_unittest.py │ │ ├── gtest_xml_output_unittest_.cc │ │ ├── gtest_xml_test_utils.py │ │ ├── production.cc │ │ └── production.h ├── lua-5.4.3 │ ├── CMakeLists.txt │ ├── Makefile │ ├── README │ ├── doc │ │ ├── contents.html │ │ ├── index.css │ │ ├── logo.gif │ │ ├── lua.1 │ │ ├── lua.css │ │ ├── luac.1 │ │ ├── manual.css │ │ ├── manual.html │ │ ├── osi-certified-72x60.png │ │ └── readme.html │ └── src │ │ ├── Makefile │ │ ├── lapi.c │ │ ├── lapi.h │ │ ├── lauxlib.c │ │ ├── lauxlib.h │ │ ├── lbaselib.c │ │ ├── lcode.c │ │ ├── lcode.h │ │ ├── lcorolib.c │ │ ├── lctype.c │ │ ├── lctype.h │ │ ├── ldblib.c │ │ ├── ldebug.c │ │ ├── ldebug.h │ │ ├── ldo.c │ │ ├── ldo.h │ │ ├── ldump.c │ │ ├── lfunc.c │ │ ├── lfunc.h │ │ ├── lgc.c │ │ ├── lgc.h │ │ ├── linit.c │ │ ├── liolib.c │ │ ├── ljumptab.h │ │ ├── llex.c │ │ ├── llex.h │ │ ├── llimits.h │ │ ├── lmathlib.c │ │ ├── lmem.c │ │ ├── lmem.h │ │ ├── loadlib.c │ │ ├── lobject.c │ │ ├── lobject.h │ │ ├── lopcodes.c │ │ ├── lopcodes.h │ │ ├── lopnames.h │ │ ├── loslib.c │ │ ├── lparser.c │ │ ├── lparser.h │ │ ├── lprefix.h │ │ ├── lstate.c │ │ ├── lstate.h │ │ ├── lstring.c │ │ ├── lstring.h │ │ ├── lstrlib.c │ │ ├── ltable.c │ │ ├── ltable.h │ │ ├── ltablib.c │ │ ├── ltm.c │ │ ├── ltm.h │ │ ├── lua.c │ │ ├── lua.h │ │ ├── lua.hpp │ │ ├── luac.c │ │ ├── luaconf.h │ │ ├── lualib.h │ │ ├── lundump.c │ │ ├── lundump.h │ │ ├── lutf8lib.c │ │ ├── lvm.c │ │ ├── lvm.h │ │ ├── lzio.c │ │ └── lzio.h ├── mimalloc-2.0.9 │ ├── .gitattributes │ ├── .gitignore │ ├── CMakeLists.txt │ ├── LICENSE │ ├── azure-pipelines.yml │ ├── cmake │ │ ├── JoinPaths.cmake │ │ ├── mimalloc-config-version.cmake │ │ └── mimalloc-config.cmake │ ├── doc │ │ ├── bench-2020 │ │ │ ├── bench-c5-18xlarge-2020-01-20-a.svg │ │ │ ├── bench-c5-18xlarge-2020-01-20-b.svg │ │ │ ├── bench-c5-18xlarge-2020-01-20-rss-a.svg │ │ │ ├── bench-c5-18xlarge-2020-01-20-rss-b.svg │ │ │ ├── bench-r5a-1.svg │ │ │ ├── bench-r5a-12xlarge-2020-01-16-a.svg │ │ │ ├── bench-r5a-12xlarge-2020-01-16-b.svg │ │ │ ├── bench-r5a-2.svg │ │ │ ├── bench-r5a-rss-1.svg │ │ │ ├── bench-r5a-rss-2.svg │ │ │ ├── bench-spec-rss.svg │ │ │ ├── bench-spec.svg │ │ │ ├── bench-z4-1.svg │ │ │ ├── bench-z4-2.svg │ │ │ ├── bench-z4-rss-1.svg │ │ │ └── bench-z4-rss-2.svg │ │ ├── bench-2021 │ │ │ ├── bench-amd5950x-2021-01-30-a.svg │ │ │ ├── bench-amd5950x-2021-01-30-b.svg │ │ │ ├── bench-c5-18xlarge-2021-01-30-a.svg │ │ │ ├── bench-c5-18xlarge-2021-01-30-b.svg │ │ │ ├── bench-c5-18xlarge-2021-01-30-rss-a.svg │ │ │ ├── bench-c5-18xlarge-2021-01-30-rss-b.svg │ │ │ └── bench-macmini-2021-01-30.svg │ │ ├── doxyfile │ │ ├── ds-logo.jpg │ │ ├── ds-logo.png │ │ ├── mimalloc-doc.h │ │ ├── mimalloc-doxygen.css │ │ ├── mimalloc-logo-100.png │ │ ├── mimalloc-logo.png │ │ ├── mimalloc-logo.svg │ │ ├── spades-logo.png │ │ └── unreal-logo.svg │ ├── ide │ │ ├── vs2017 │ │ │ ├── mimalloc-override-test.vcxproj │ │ │ ├── mimalloc-override.vcxproj │ │ │ ├── mimalloc-test-stress.vcxproj │ │ │ ├── mimalloc-test.vcxproj │ │ │ ├── mimalloc.sln │ │ │ └── mimalloc.vcxproj │ │ ├── vs2019 │ │ │ ├── mimalloc-override-test.vcxproj │ │ │ ├── mimalloc-override.vcxproj │ │ │ ├── mimalloc-test-api.vcxproj │ │ │ ├── mimalloc-test-stress.vcxproj │ │ │ ├── mimalloc-test.vcxproj │ │ │ ├── mimalloc.sln │ │ │ └── mimalloc.vcxproj │ │ └── vs2022 │ │ │ ├── mimalloc-override-test.vcxproj │ │ │ ├── mimalloc-override.vcxproj │ │ │ ├── mimalloc-test-api.vcxproj │ │ │ ├── mimalloc-test-stress.vcxproj │ │ │ ├── mimalloc-test.vcxproj │ │ │ ├── mimalloc.sln │ │ │ └── mimalloc.vcxproj │ ├── include │ │ ├── mimalloc-atomic.h │ │ ├── mimalloc-internal.h │ │ ├── mimalloc-new-delete.h │ │ ├── mimalloc-override.h │ │ ├── mimalloc-track.h │ │ ├── mimalloc-types.h │ │ └── mimalloc.h │ ├── mimalloc.pc.in │ ├── readme.md │ ├── src │ │ ├── alloc-aligned.c │ │ ├── alloc-override-osx.c │ │ ├── alloc-override.c │ │ ├── alloc-posix.c │ │ ├── alloc.c │ │ ├── arena.c │ │ ├── bitmap.c │ │ ├── bitmap.h │ │ ├── heap.c │ │ ├── init.c │ │ ├── options.c │ │ ├── os.c │ │ ├── page-queue.c │ │ ├── page.c │ │ ├── random.c │ │ ├── region.c │ │ ├── segment-cache.c │ │ ├── segment.c │ │ ├── static.c │ │ └── stats.c │ └── test │ │ ├── CMakeLists.txt │ │ ├── main-override-static.c │ │ ├── main-override.c │ │ ├── main-override.cpp │ │ ├── main.c │ │ ├── readme.md │ │ ├── test-api-fill.c │ │ ├── test-api.c │ │ ├── test-stress.c │ │ ├── test-wrong.c │ │ └── testhelper.h ├── nlohmann_json │ ├── LICENSE.MIT │ ├── include │ │ └── nlohmann │ │ │ ├── adl_serializer.hpp │ │ │ ├── byte_container_with_subtype.hpp │ │ │ ├── detail │ │ │ ├── conversions │ │ │ │ ├── from_json.hpp │ │ │ │ ├── to_chars.hpp │ │ │ │ └── to_json.hpp │ │ │ ├── exceptions.hpp │ │ │ ├── hash.hpp │ │ │ ├── input │ │ │ │ ├── binary_reader.hpp │ │ │ │ ├── input_adapters.hpp │ │ │ │ ├── json_sax.hpp │ │ │ │ ├── lexer.hpp │ │ │ │ ├── parser.hpp │ │ │ │ └── position_t.hpp │ │ │ ├── iterators │ │ │ │ ├── internal_iterator.hpp │ │ │ │ ├── iter_impl.hpp │ │ │ │ ├── iteration_proxy.hpp │ │ │ │ ├── iterator_traits.hpp │ │ │ │ ├── json_reverse_iterator.hpp │ │ │ │ └── primitive_iterator.hpp │ │ │ ├── json_pointer.hpp │ │ │ ├── json_ref.hpp │ │ │ ├── macro_scope.hpp │ │ │ ├── macro_unscope.hpp │ │ │ ├── meta │ │ │ │ ├── call_std │ │ │ │ │ ├── begin.hpp │ │ │ │ │ └── end.hpp │ │ │ │ ├── cpp_future.hpp │ │ │ │ ├── detected.hpp │ │ │ │ ├── identity_tag.hpp │ │ │ │ ├── is_sax.hpp │ │ │ │ ├── type_traits.hpp │ │ │ │ └── void_t.hpp │ │ │ ├── output │ │ │ │ ├── binary_writer.hpp │ │ │ │ ├── output_adapters.hpp │ │ │ │ └── serializer.hpp │ │ │ ├── string_escape.hpp │ │ │ └── value_t.hpp │ │ │ ├── json.hpp │ │ │ ├── json_fwd.hpp │ │ │ ├── ordered_map.hpp │ │ │ └── thirdparty │ │ │ └── hedley │ │ │ ├── hedley.hpp │ │ │ └── hedley_undef.hpp │ ├── meson.build │ └── single_include │ │ └── nlohmann │ │ └── json.hpp ├── uriparser │ ├── .github │ │ ├── dependabot.yml │ │ └── workflows │ │ │ └── build-and-test.yml │ ├── .gitignore │ ├── AUTHORS │ ├── CMakeLists.txt │ ├── COPYING │ ├── ChangeLog │ ├── GOALS.txt │ ├── README.md │ ├── THANKS │ ├── TODO.txt │ ├── appveyor.yml │ ├── cmake │ │ ├── .gitignore │ │ ├── test_find_package │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ └── hello.c │ │ └── uriparser-config.cmake.in │ ├── configure │ ├── doc │ │ ├── .gitignore │ │ ├── Doxyfile.in │ │ ├── Mainpage.txt │ │ ├── preprocess.sh │ │ ├── release.sh.in │ │ ├── rfc1866.htm │ │ ├── rfc3513.htm │ │ ├── rfc3986.htm │ │ ├── rfc3986_grammar_only.txt │ │ ├── rule_dependencies.dot │ │ └── rule_dependencies.sh │ ├── include │ │ └── uriparser │ │ │ ├── Uri.h │ │ │ ├── UriBase.h │ │ │ ├── UriDefsAnsi.h │ │ │ ├── UriDefsConfig.h │ │ │ ├── UriDefsUnicode.h │ │ │ └── UriIp4.h │ ├── liburiparser.pc.in │ ├── make-distcheck.sh │ ├── scripts │ │ ├── edit_version.sh │ │ └── release.sh │ ├── src │ │ ├── UriCommon.c │ │ ├── UriCommon.h │ │ ├── UriCompare.c │ │ ├── UriConfig.h.in │ │ ├── UriEscape.c │ │ ├── UriFile.c │ │ ├── UriIp4.c │ │ ├── UriIp4Base.c │ │ ├── UriIp4Base.h │ │ ├── UriMemory.c │ │ ├── UriMemory.h │ │ ├── UriNormalize.c │ │ ├── UriNormalizeBase.c │ │ ├── UriNormalizeBase.h │ │ ├── UriParse.c │ │ ├── UriParseBase.c │ │ ├── UriParseBase.h │ │ ├── UriQuery.c │ │ ├── UriRecompose.c │ │ ├── UriResolve.c │ │ ├── UriShorten.c │ │ └── config.h │ ├── test │ │ ├── COPYING │ │ ├── FourSuite.cpp │ │ ├── MemoryManagerSuite.cpp │ │ ├── VersionSuite.cpp │ │ └── test.cpp │ └── tool │ │ └── uriparse.c ├── utf8 │ └── include │ │ ├── LICENSE │ │ ├── README.md │ │ └── utf8.h └── wildcards │ ├── LICENSE_1_0.txt │ └── include │ ├── config.hpp │ ├── cpp_feature.hpp │ ├── cx.hpp │ ├── cx │ ├── algorithm.hpp │ ├── array.hpp │ ├── functional.hpp │ ├── iterator.hpp │ ├── string_view.hpp │ ├── tuple.hpp │ └── utility.hpp │ ├── wildcards.hpp.in │ └── wildcards │ ├── cards.hpp │ ├── match.hpp │ ├── matcher.hpp │ └── utility.hpp ├── CHANGELOG.md ├── CHANGELOG_CN.md ├── CMakeLists.txt ├── CONTRIBUTING.md ├── CodeFormat ├── CMakeLists.txt └── src │ ├── CodeFormat.cpp │ ├── FormatContext.cpp │ ├── FormatContext.h │ ├── LuaCheck.cpp │ ├── LuaCheck.h │ ├── LuaFormat.cpp │ ├── LuaFormat.h │ ├── Util.cpp │ └── Util.h ├── CodeFormatCLib ├── CMakeLists.txt ├── include │ └── CodeFormatCLib.h └── src │ ├── CodeFormat.cpp │ ├── CodeFormat.h │ ├── CodeFormatCLib.cpp │ └── UtilTypes.h ├── CodeFormatCore ├── CMakeLists.txt ├── include │ └── CodeFormatCore │ │ ├── Config │ │ ├── EditorconfigPattern.h │ │ ├── LanguageTranslator.h │ │ ├── LuaDiagnosticStyle.h │ │ ├── LuaEditorConfig.h │ │ ├── LuaStyle.h │ │ ├── LuaStyleEnum.h │ │ ├── LuaStyleStruct.h │ │ └── NameStyleRule.h │ │ ├── Diagnostic │ │ ├── CodeStyle │ │ │ └── CodeStyleChecker.h │ │ ├── DiagnosticBuilder.h │ │ ├── DiagnosticType.h │ │ ├── NameStyle │ │ │ ├── NameDefineType.h │ │ │ ├── NameStyleChecker.h │ │ │ └── NameStyleRuleMatcher.h │ │ └── Spell │ │ │ ├── CodeSpellChecker.h │ │ │ └── Util.h │ │ ├── Format │ │ ├── Analyzer │ │ │ ├── AlignAnalyzer.h │ │ │ ├── FormatAnalyzer.h │ │ │ ├── FormatAnalyzerType.h │ │ │ ├── FormatDocAnalyze.h │ │ │ ├── FormatResolve.h │ │ │ ├── FormatStrategy.h │ │ │ ├── IndentationAnalyzer.h │ │ │ ├── LineBreakAnalyzer.h │ │ │ ├── SemicolonAnalyzer.h │ │ │ ├── SpaceAnalyzer.h │ │ │ └── TokenAnalyzer.h │ │ ├── FormatBuilder.h │ │ ├── FormatState.h │ │ └── Types.h │ │ ├── RangeFormat │ │ ├── MultiRangesFormatBuilder.h │ │ └── RangeFormatBuilder.h │ │ └── TypeFormat │ │ ├── LuaTypeFormat.h │ │ └── LuaTypeFormatFeatures.h └── src │ ├── Config │ ├── EditorconfigPattern.cpp │ ├── FunctionOption.cpp │ ├── FunctionOption.h │ ├── LanguageTranslator.cpp │ ├── LuaDiagnosticStyle.cpp │ ├── LuaEditorConfig.cpp │ └── LuaStyle.cpp │ ├── Diagnostic │ ├── CodeStyle │ │ └── CodeStyleChecker.cpp │ ├── DiagnosticBuilder.cpp │ ├── NameStyle │ │ ├── NameStyleChecker.cpp │ │ └── NameStyleRuleMatcher.cpp │ └── Spell │ │ ├── CodeSpellChecker.cpp │ │ └── Util.cpp │ ├── Format │ ├── Analyzer │ │ ├── AlignAnalyzer.cpp │ │ ├── FormatAnalyzer.cpp │ │ ├── FormatDocAnalyze.cpp │ │ ├── FormatResolve.cpp │ │ ├── IndentationAnalyzer.cpp │ │ ├── LineBreakAnalyzer.cpp │ │ ├── SemicolonAnalyzer.cpp │ │ ├── SpaceAnalyzer.cpp │ │ ├── SyntaxNodeHelper.cpp │ │ ├── SyntaxNodeHelper.h │ │ └── TokenAnalyzer.cpp │ ├── FormatBuilder.cpp │ └── FormatState.cpp │ ├── RangeFormat │ └── RangeFormatBuilder.cpp │ └── TypeFormat │ ├── LuaTypeFormat.cpp │ └── LuaTypeFormatFeatures.cpp ├── CodeFormatLib ├── CMakeLists.txt └── src │ ├── CodeFormatLib.cpp │ ├── LuaCodeFormat.cpp │ ├── LuaCodeFormat.h │ ├── LuaJIT-Compact.cpp │ ├── LuaJIT-Compact.h │ └── Types.h ├── CodeFormatServer ├── CMakeLists.txt └── src │ ├── Config │ ├── ClientConfig.cpp │ └── ClientConfig.h │ ├── DB │ ├── DBBase.h │ ├── FileDB.cpp │ ├── FileDB.h │ ├── LineIndexDB.cpp │ ├── LineIndexDB.h │ ├── UriDB.cpp │ └── UriDB.h │ ├── LSP │ ├── LSP.cpp │ ├── LSP.h │ ├── LSPHandle.cpp │ └── LSPHandle.h │ ├── LanguageServer.cpp │ ├── LanguageServer.h │ ├── Lib │ └── LineIndex │ │ ├── LineIndex.cpp │ │ ├── LineIndex.h │ │ ├── LineTypes.cpp │ │ └── LineTypes.h │ ├── Service │ ├── CodeActionService.cpp │ ├── CodeActionService.h │ ├── CommandService.cpp │ ├── CommandService.h │ ├── ConfigService.cpp │ ├── ConfigService.h │ ├── DiagnosticService.cpp │ ├── DiagnosticService.h │ ├── FormatService.cpp │ ├── FormatService.h │ ├── Service.cpp │ ├── Service.h │ └── ServiceType.h │ ├── Session │ ├── IOSession.cpp │ ├── IOSession.h │ ├── Protocol │ │ ├── ProtocolBuffer.cpp │ │ ├── ProtocolBuffer.h │ │ ├── ProtocolParser.cpp │ │ └── ProtocolParser.h │ ├── SocketIOSession.cpp │ ├── SocketIOSession.h │ ├── StandardIOSession.cpp │ └── StandardIOSession.h │ ├── VFS │ ├── VirtualFile.cpp │ ├── VirtualFile.h │ ├── VirtualFileSystem.cpp │ └── VirtualFileSystem.h │ └── main.cpp ├── LICENSE ├── LuaParser ├── CMakeLists.txt ├── include │ └── LuaParser │ │ ├── Ast │ │ ├── LuaSyntaxMultiKind.h │ │ ├── LuaSyntaxNode.h │ │ ├── LuaSyntaxNodeKind.h │ │ ├── LuaSyntaxTree.h │ │ └── NodeOrToken.h │ │ ├── File │ │ └── LuaSource.h │ │ ├── Lexer │ │ ├── LuaDefine.h │ │ ├── LuaIdentify.h │ │ ├── LuaLexer.h │ │ ├── LuaToken.h │ │ ├── LuaTokenError.h │ │ ├── LuaTokenKind.h │ │ ├── LuaTokenTypeDetail.h │ │ └── TextReader.h │ │ ├── Parse │ │ ├── LuaAttribute.h │ │ ├── LuaOperatorType.h │ │ ├── LuaParseError.h │ │ ├── LuaParser.h │ │ └── Mark.h │ │ ├── Types │ │ ├── EndOfLineType.h │ │ └── TextRange.h │ │ └── exception │ │ └── LuaParseException.h └── src │ ├── Ast │ ├── LuaSyntaxMultiKind.cpp │ ├── LuaSyntaxNode.cpp │ ├── LuaSyntaxNodeKind.cpp │ └── LuaSyntaxTree.cpp │ ├── File │ └── LuaSource.cpp │ ├── Lexer │ ├── LuaIdentify.cpp │ ├── LuaLexer.cpp │ └── TextReader.cpp │ ├── Parse │ ├── LuaParser.cpp │ └── Mark.cpp │ ├── Types │ └── TextRange.cpp │ └── exception │ └── LuaParseException.cpp ├── README.md ├── README_EN.md ├── Test ├── CMakeLists.txt ├── src │ ├── FilePattern_unitest.cpp │ ├── FormatResult_unitest.cpp │ ├── FormatStyle_unitest.cpp │ ├── Grammar_unitest.cpp │ ├── Performance_unitest.cpp │ ├── RangeFormat_unitest.cpp │ ├── TestHelper.cpp │ ├── TestHelper.h │ └── main.cpp └── test_script │ ├── grammar │ ├── all.lua │ ├── api.lua │ ├── attrib.lua │ ├── big.lua │ ├── bitwise.lua │ ├── bwcoercion.lua │ ├── calls.lua │ ├── closure.lua │ ├── code.lua │ ├── constructs.lua │ ├── coroutine.lua │ ├── cstack.lua │ ├── db.lua │ ├── errors.lua │ ├── events.lua │ ├── files.lua │ ├── gc.lua │ ├── gengc.lua │ ├── goto.lua │ ├── heavy.lua │ ├── literals.lua │ ├── locals.lua │ ├── main.lua │ ├── math.lua │ ├── nextvar.lua │ ├── pm.lua │ ├── sort.lua │ ├── strings.lua │ ├── tpack.lua │ ├── tracegc.lua │ ├── utf8.lua │ ├── vararg.lua │ └── verybig.lua │ └── performance │ ├── 100k_row_code.lua │ ├── 10k_row_code.lua │ ├── 1k_row_code.lua │ └── 30k_row_code.lua ├── Test2 ├── CMakeLists.txt └── src │ └── FormatTest2.cpp ├── Util ├── CMakeLists.txt ├── include │ └── Util │ │ ├── CommandLine.h │ │ ├── FileFinder.h │ │ ├── InfoTree │ │ ├── InfoKind.h │ │ ├── InfoNode.h │ │ └── InfoTree.h │ │ ├── StringUtil.h │ │ ├── SymSpell │ │ ├── EditDistance.h │ │ ├── IDistance.h │ │ ├── SuggestItem.h │ │ └── SymSpell.h │ │ ├── Url.h │ │ ├── Utf8.h │ │ └── format.h └── src │ ├── CommandLine.cpp │ ├── FileFinder.cpp │ ├── InfoTree │ ├── InfoNode.cpp │ └── InfoTree.cpp │ ├── StringUtil.cpp │ ├── SymSpell │ ├── DamerauOSADistance.hpp │ ├── EditDistance.cpp │ ├── SuggestItem.cpp │ └── SymSpell.cpp │ ├── Url.cpp │ └── Utf8.cpp ├── cmake └── flags_override.cmake ├── docs ├── format_action.md ├── format_action_EN.md ├── format_config.md ├── format_config_EN.md ├── name_style.md ├── name_style_EN.md ├── old_version_doc │ ├── auto_import_config.md │ ├── auto_import_config_EN.md │ ├── diagnosis_config.md │ ├── diagnosis_config_EN.md │ ├── disable_format.md │ ├── disable_format_EN.md │ ├── format_action.md │ ├── format_action_EN.md │ ├── format_config.md │ └── format_config_EN.md ├── usage.md └── usage_EN.md ├── lua.template.editorconfig └── resources ├── dictionary.txt └── lua_dict.txt /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.yml] 2 | indent_style = space 3 | indent_size = 2 4 | 5 | [*.txt] 6 | indent_style=tab 7 | tab_width=4 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Compiled Dynamic libraries 11 | *.so 12 | *.dylib 13 | *.dll 14 | 15 | # Fortran module files 16 | *.mod 17 | *.smod 18 | 19 | # Compiled Static libraries 20 | *.lai 21 | *.la 22 | *.a 23 | *.lib 24 | 25 | # Executables 26 | *.exe 27 | *.out 28 | *.app 29 | 30 | .vs 31 | out 32 | 3rd/uriparser/src/config.h 33 | .idea 34 | .lsp 35 | cmake-build-debug 36 | cmake-build-release 37 | cmake-build-debug-visual-studio 38 | LuaCompile/gen/target -------------------------------------------------------------------------------- /3rd/asio-1.24.0/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) 2 | 3 | Distributed under the Boost Software License, Version 1.0. (See accompanying 4 | file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | -------------------------------------------------------------------------------- /3rd/asio-1.24.0/INSTALL: -------------------------------------------------------------------------------- 1 | See doc/index.html for information on: 2 | - External dependencies 3 | - Using, building, and configuring Asio 4 | - Supported platforms 5 | - How to build the tests and examples 6 | -------------------------------------------------------------------------------- /3rd/asio-1.24.0/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = foreign dist-bzip2 dist-zip 2 | 3 | pkgconfig_DATA = asio.pc 4 | 5 | SUBDIRS = include src 6 | 7 | MAINTAINERCLEANFILES = \ 8 | $(srcdir)/aclocal.m4 \ 9 | $(srcdir)/configure \ 10 | $(srcdir)/config.guess \ 11 | $(srcdir)/config.sub \ 12 | $(srcdir)/depcomp \ 13 | $(srcdir)/install-sh \ 14 | $(srcdir)/missing \ 15 | $(srcdir)/mkinstalldirs \ 16 | $(srcdir)/Makefile.in \ 17 | asio-*.tar.gz 18 | 19 | EXTRA_DIST = \ 20 | LICENSE_1_0.txt \ 21 | doc 22 | -------------------------------------------------------------------------------- /3rd/asio-1.24.0/README: -------------------------------------------------------------------------------- 1 | asio version 1.24.0 2 | Released Saturday, 13 August 2022. 3 | 4 | See doc/index.html for API documentation and a tutorial. 5 | -------------------------------------------------------------------------------- /3rd/asio-1.24.0/asio.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | includedir=@includedir@ 4 | 5 | Name: @PACKAGE_NAME@ 6 | Description: A cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. 7 | Version: @PACKAGE_VERSION@ 8 | Cflags: -I${includedir} 9 | Lflags: 10 | Requires: 11 | Requires.private: 12 | -------------------------------------------------------------------------------- /3rd/asio-1.24.0/include/asio/associator.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // associator.hpp 3 | // ~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_ASSOCIATOR_HPP 12 | #define ASIO_ASSOCIATOR_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #include "asio/detail/push_options.hpp" 21 | 22 | namespace asio { 23 | 24 | /// Used to generically specialise associators for a type. 25 | template