<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "../../../boost/tools/boostbook/dtd/boostbook.dtd">

<!--
  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)
-->

<informaltable frame="all">
  <tgroup cols="4">
    <colspec colname="a"/>
    <colspec colname="b"/>
    <colspec colname="c"/>
    <colspec colname="d"/>
    <thead>
      <row>
        <entry valign="center" namest="a" nameend="a">
          <bridgehead renderas="sect2">Properties</bridgehead>
        </entry>
        <entry valign="center" namest="b" nameend="d">
          <bridgehead renderas="sect2">Execution</bridgehead>
        </entry>
      </row>
    </thead>
    <tbody>
      <row>
        <entry valign="top">
          <bridgehead renderas="sect3">Customisation Points</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.prefer">prefer</link></member>
            <member><link linkend="asio.reference.query">query</link></member>
            <member><link linkend="asio.reference.require">require</link></member>
            <member><link linkend="asio.reference.require_concept">require_concept</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Traits</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.can_prefer">can_prefer</link></member>
            <member><link linkend="asio.reference.can_query">can_query</link></member>
            <member><link linkend="asio.reference.can_require">can_require</link></member>
            <member><link linkend="asio.reference.can_require_concept">can_require_concept</link></member>
            <member><link linkend="asio.reference.is_nothrow_prefer">is_nothrow_prefer</link></member>
            <member><link linkend="asio.reference.is_nothrow_query">is_nothrow_query</link></member>
            <member><link linkend="asio.reference.is_nothrow_require">is_nothrow_require</link></member>
            <member><link linkend="asio.reference.is_nothrow_require_concept">is_nothrow_require_concept</link></member>
            <member><link linkend="asio.reference.prefer_result">prefer_result</link></member>
            <member><link linkend="asio.reference.query_result">query_result</link></member>
            <member><link linkend="asio.reference.require_result">require_result</link></member>
            <member><link linkend="asio.reference.require_concept_result">require_concept_result</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Class Templates</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.execution__any_executor">execution::any_executor</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Classes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.execution__bad_executor">execution::bad_executor</link></member>
            <member><link linkend="asio.reference.execution__invocable_archetype">execution::invocable_archetype</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Type Traits</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.execution__is_executor">execution::is_executor</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Concepts</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.Executor1.standard_executors">executor</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Properties</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.execution__allocator_t">execution::allocator_t</link></member>
            <member><link linkend="asio.reference.execution__blocking_t">execution::blocking_t</link></member>
            <member><link linkend="asio.reference.execution__blocking_t__possibly_t">execution::blocking_t::possibly_t</link></member>
            <member><link linkend="asio.reference.execution__blocking_t__always_t">execution::blocking_t::always_t</link></member>
            <member><link linkend="asio.reference.execution__blocking_t__never_t">execution::blocking_t::never_t</link></member>
            <member><link linkend="asio.reference.execution__blocking_adaptation_t">execution::blocking_adaptation_t</link></member>
            <member><link linkend="asio.reference.execution__blocking_adaptation_t__disallowed_t">execution::blocking_adaptation_t::disallowed_t</link></member>
            <member><link linkend="asio.reference.execution__blocking_adaptation_t__allowed_t">execution::blocking_adaptation_t::allowed_t</link></member>
            <member><link linkend="asio.reference.execution__context_t">execution::context_t</link></member>
            <member><link linkend="asio.reference.execution__context_as_t">execution::context_as_t</link></member>
            <member><link linkend="asio.reference.execution__mapping_t">execution::mapping_t</link></member>
            <member><link linkend="asio.reference.execution__mapping_t__thread_t">execution::mapping_t::thread_t</link></member>
            <member><link linkend="asio.reference.execution__mapping_t__new_thread_t">execution::mapping_t::new_thread_t</link></member>
            <member><link linkend="asio.reference.execution__mapping_t__other_t">execution::mapping_t::other_t</link></member>
            <member><link linkend="asio.reference.execution__occupancy_t">execution::occupancy_t</link></member>
            <member><link linkend="asio.reference.execution__outstanding_work_t">execution::outstanding_work_t</link></member>
            <member><link linkend="asio.reference.execution__outstanding_work_t__untracked_t">execution::outstanding_work_t::untracked_t</link></member>
            <member><link linkend="asio.reference.execution__outstanding_work_t__tracked_t">execution::outstanding_work_t::tracked_t</link></member>
            <member><link linkend="asio.reference.execution__prefer_only">execution::prefer_only</link></member>
            <member><link linkend="asio.reference.execution__relationship_t">execution::relationship_t</link></member>
            <member><link linkend="asio.reference.execution__relationship_t__fork_t">execution::relationship_t::fork_t</link></member>
            <member><link linkend="asio.reference.execution__relationship_t__continuation_t">execution::relationship_t::continuation_t</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Property Objects</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.execution__allocator">execution::allocator</link></member>
            <member><link linkend="asio.reference.execution__blocking">execution::blocking</link></member>
            <member><link linkend="asio.reference.execution__blocking_t.possibly">execution::blocking.possibly</link></member>
            <member><link linkend="asio.reference.execution__blocking_t.always">execution::blocking.always</link></member>
            <member><link linkend="asio.reference.execution__blocking_t.never">execution::blocking.never</link></member>
            <member><link linkend="asio.reference.execution__blocking_adaptation">execution::blocking_adaptation</link></member>
            <member><link linkend="asio.reference.execution__blocking_adaptation_t.disallowed">execution::blocking_adaptation.disallowed</link></member>
            <member><link linkend="asio.reference.execution__blocking_adaptation_t.allowed">execution::blocking_adaptation.allowed</link></member>
            <member><link linkend="asio.reference.execution__context">execution::context</link></member>
            <member><link linkend="asio.reference.execution__context_as">execution::context_as</link></member>
            <member><link linkend="asio.reference.execution__mapping">execution::mapping</link></member>
            <member><link linkend="asio.reference.execution__mapping_t.thread">execution::mapping.thread</link></member>
            <member><link linkend="asio.reference.execution__mapping_t.new_thread">execution::mapping.new_thread</link></member>
            <member><link linkend="asio.reference.execution__mapping_t.other">execution::mapping.other</link></member>
            <member><link linkend="asio.reference.execution__occupancy">execution::occupancy</link></member>
            <member><link linkend="asio.reference.execution__outstanding_work">execution::outstanding_work</link></member>
            <member><link linkend="asio.reference.execution__outstanding_work_t.untracked">execution::outstanding_work.untracked</link></member>
            <member><link linkend="asio.reference.execution__outstanding_work_t.tracked">execution::outstanding_work.tracked</link></member>
            <member><link linkend="asio.reference.execution__relationship">execution::relationship</link></member>
            <member><link linkend="asio.reference.execution__relationship_t.fork">execution::relationship.fork</link></member>
            <member><link linkend="asio.reference.execution__relationship_t.continuation">execution::relationship.continuation</link></member>
          </simplelist>
        </entry>
      </row>
    </tbody>
  </tgroup>
  <tgroup cols="4">
    <colspec colname="a"/>
    <colspec colname="b"/>
    <colspec colname="c"/>
    <colspec colname="d"/>
    <thead>
      <row>
        <entry valign="center" namest="a" nameend="d">
          <bridgehead renderas="sect2">Core</bridgehead>
        </entry>
      </row>
    </thead>
    <tbody>
      <row>
        <entry valign="top">
          <bridgehead renderas="sect3">Classes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.any_completion_executor">any_completion_executor</link></member>
            <member><link linkend="asio.reference.any_io_executor">any_io_executor</link></member>
            <member><link linkend="asio.reference.bad_executor">bad_executor</link></member>
            <member><link linkend="asio.reference.cancellation_signal">cancellation_signal</link></member>
            <member><link linkend="asio.reference.cancellation_slot">cancellation_slot</link></member>
            <member><link linkend="asio.reference.cancellation_state">cancellation_state</link></member>
            <member><link linkend="asio.reference.cancellation_type">cancellation_type</link></member>
            <member><link linkend="asio.reference.config">config</link></member>
            <member><link linkend="asio.reference.config_service">config_service</link></member>
            <member><link linkend="asio.reference.config_from_concurrency_hint">config_from_concurrency_hint</link></member>
            <member><link linkend="asio.reference.config_from_env">config_from_env</link></member>
            <member><link linkend="asio.reference.config_from_string">config_from_string</link></member>
            <member><link linkend="asio.reference.config_service">config_service</link></member>
            <member><link linkend="asio.reference.coroutine">coroutine</link></member>
            <member><link linkend="asio.reference.detached_t">detached_t</link></member>
            <member><link linkend="asio.reference.error_code">error_code</link></member>
            <member><link linkend="asio.reference.execution_context">execution_context</link></member>
            <member><link linkend="asio.reference.execution_context__id">execution_context::id</link></member>
            <member><link linkend="asio.reference.execution_context__service">execution_context::service</link></member>
            <member><link linkend="asio.reference.execution_context__service_maker">execution_context::service_maker</link></member>
            <member><link linkend="asio.reference.executor">executor</link></member>
            <member><link linkend="asio.reference.executor_arg_t">executor_arg_t</link></member>
            <member><link linkend="asio.reference.invalid_service_owner">invalid_service_owner</link></member>
            <member><link linkend="asio.reference.io_context">io_context</link></member>
            <member><link linkend="asio.reference.io_context.executor_type">io_context::executor_type</link></member>
            <member><link linkend="asio.reference.io_context__service">io_context::service</link></member>
            <member><link linkend="asio.reference.io_context__strand">io_context::strand</link></member>
            <member><link linkend="asio.reference.multiple_exceptions">multiple_exceptions</link></member>
            <member><link linkend="asio.reference.no_error_t">no_error_t</link></member>
            <member><link linkend="asio.reference.partial_as_tuple">partial_as_tuple</link></member>
            <member><link linkend="asio.reference.partial_redirect_error">partial_redirect_error</link></member>
            <member><link linkend="asio.reference.service_already_exists">service_already_exists</link></member>
            <member><link linkend="asio.reference.static_thread_pool">static_thread_pool</link></member>
            <member><link linkend="asio.reference.system_context">system_context</link></member>
            <member><link linkend="asio.reference.system_error">system_error</link></member>
            <member><link linkend="asio.reference.system_executor">system_executor</link></member>
            <member><link linkend="asio.reference.this_coro__cancellation_state_t">this_coro::cancellation_state_t</link></member>
            <member><link linkend="asio.reference.this_coro__executor_t">this_coro::executor_t</link></member>
            <member><link linkend="asio.reference.thread">thread</link></member>
            <member><link linkend="asio.reference.thread_pool">thread_pool</link></member>
            <member><link linkend="asio.reference.thread_pool.executor_type">thread_pool::executor_type</link></member>
            <member><link linkend="asio.reference.yield_context">yield_context</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Class Templates</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.any_completion_handler">any_completion_handler</link></member>
            <member><link linkend="asio.reference.any_completion_handler_allocator">any_completion_handler_allocator</link></member>
            <member><link linkend="asio.reference.append_t">append_t</link></member>
            <member><link linkend="asio.reference.as_tuple_t">as_tuple_t</link></member>
            <member><link linkend="asio.reference.async_completion">async_completion</link></member>
            <member><link linkend="asio.reference.awaitable">awaitable</link></member>
            <member><link linkend="asio.reference.basic_io_object">basic_io_object (deprecated)</link></member>
            <member><link linkend="asio.reference.basic_system_executor">basic_system_executor</link></member>
            <member><link linkend="asio.reference.basic_yield_context">basic_yield_context</link></member>
            <member><link linkend="asio.reference.cancel_after_t">cancel_after_t</link></member>
            <member><link linkend="asio.reference.cancel_at_t">cancel_at_t</link></member>
            <member><link linkend="asio.reference.cancellation_filter">cancellation_filter</link></member>
            <member><link linkend="asio.reference.cancellation_slot_binder">cancellation_slot_binder</link></member>
            <member><link linkend="asio.reference.consign_t">consign_t</link></member>
            <member><link linkend="asio.reference.deferred_t">deferred_t</link></member>
            <member><link linkend="asio.reference.disposition_traits">disposition_traits</link></member>
            <member><link linkend="asio.reference.executor_binder">executor_binder</link></member>
            <member><link linkend="asio.reference.executor_work_guard">executor_work_guard</link></member>
            <member><link linkend="asio.reference.experimental__as_single_t">experimental::as_single_t</link></member>
            <member><link linkend="asio.reference.experimental__basic_channel">experimental::basic_channel</link></member>
            <member><link linkend="asio.reference.experimental__basic_concurrent_channel">experimental::basic_concurrent_channel</link></member>
            <member><link linkend="asio.reference.experimental__channel_traits">experimental::channel_traits</link></member>
            <member><link linkend="asio.reference.experimental__coro">experimental::coro</link></member>
            <member><link linkend="asio.reference.experimental__parallel_group">experimental::parallel_group</link></member>
            <member><link linkend="asio.reference.experimental__promise">experimental::promise</link></member>
            <member><link linkend="asio.reference.experimental__ranged_parallel_group">experimental::ranged_parallel_group</link></member>
            <member><link linkend="asio.reference.experimental__use_coro_t">experimental::use_coro_t</link></member>
            <member><link linkend="asio.reference.experimental__use_promise_t">experimental::use_promise_t</link></member>
            <member><link linkend="asio.reference.experimental__wait_for_all">experimental::wait_for_all</link></member>
            <member><link linkend="asio.reference.experimental__wait_for_one">experimental::wait_for_one</link></member>
            <member><link linkend="asio.reference.experimental__wait_for_one_error">experimental::wait_for_one_error</link></member>
            <member><link linkend="asio.reference.experimental__wait_for_one_success">experimental::wait_for_one_success</link></member>
            <member><link linkend="asio.reference.io_context__basic_executor_type">io_context::basic_executor_type</link></member>
            <member><link linkend="asio.reference.partial_allocator_binder">partial_allocator_binder</link></member>
            <member><link linkend="asio.reference.partial_cancel_after">partial_cancel_after</link></member>
            <member><link linkend="asio.reference.partial_cancel_after_timer">partial_cancel_after_timer</link></member>
            <member><link linkend="asio.reference.partial_cancel_at">partial_cancel_at</link></member>
            <member><link linkend="asio.reference.partial_cancel_at_timer">partial_cancel_at_timer</link></member>
            <member><link linkend="asio.reference.partial_cancellation_slot_binder">partial_cancellation_slot_binder</link></member>
            <member><link linkend="asio.reference.partial_executor_binder">partial_executor_binder</link></member>
            <member><link linkend="asio.reference.partial_immediate_executor_binder">partial_immediate_executor_binder</link></member>
            <member><link linkend="asio.reference.prepend_t">prepend_t</link></member>
            <member><link linkend="asio.reference.recycling_allocator">recycling_allocator</link></member>
            <member><link linkend="asio.reference.redirect_error_t">redirect_error_t</link></member>
            <member><link linkend="asio.reference.strand">strand</link></member>
            <member><link linkend="asio.reference.thread_pool__basic_executor_type">thread_pool::basic_executor_type</link></member>
            <member><link linkend="asio.reference.use_awaitable_t">use_awaitable_t</link></member>
            <member><link linkend="asio.reference.use_future_t">use_future_t</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Free Functions</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.execution_context.add_service">add_service</link> (deprecated)</member>
            <member><link linkend="asio.reference.append">append</link></member>
            <member><link linkend="asio.reference.asio_handler_is_continuation">asio_handler_is_continuation</link></member>
            <member><link linkend="asio.reference.async_compose">async_compose</link></member>
            <member><link linkend="asio.reference.async_immediate">async_immediate</link></member>
            <member><link linkend="asio.reference.async_initiate">async_initiate</link></member>
            <member><link linkend="asio.reference.bind_allocator">bind_allocator</link></member>
            <member><link linkend="asio.reference.bind_cancellation_slot">bind_cancellation_slot</link></member>
            <member><link linkend="asio.reference.bind_executor">bind_executor</link></member>
            <member><link linkend="asio.reference.bind_immediate_executor">bind_immediate_executor</link></member>
            <member><link linkend="asio.reference.cancel_after">cancel_after</link></member>
            <member><link linkend="asio.reference.cancel_at">cancel_at</link></member>
            <member><link linkend="asio.reference.co_composed">co_composed</link></member>
            <member><link linkend="asio.reference.co_spawn">co_spawn</link></member>
            <member><link linkend="asio.reference.composed">composed</link></member>
            <member><link linkend="asio.reference.consign">consign</link></member>
            <member><link linkend="asio.reference.defer">defer</link></member>
            <member><link linkend="asio.reference.dispatch">dispatch</link></member>
            <member><link linkend="asio.reference.experimental__as_single">experimental::as_single</link></member>
            <member><link linkend="asio.reference.experimental__make_parallel_group">experimental::make_parallel_group</link></member>
            <member><link linkend="asio.reference.get_associated_allocator">get_associated_allocator</link></member>
            <member><link linkend="asio.reference.get_associated_cancellation_slot">get_associated_cancellation_slot</link></member>
            <member><link linkend="asio.reference.get_associated_executor">get_associated_executor</link></member>
            <member><link linkend="asio.reference.get_associated_immediate_executor">get_associated_immediate_executor</link></member>
            <member><link linkend="asio.reference.execution_context.has_service">has_service</link></member>
            <member><link linkend="asio.reference.execution_context.make_service">make_service</link></member>
            <member><link linkend="asio.reference.make_strand">make_strand</link></member>
            <member><link linkend="asio.reference.make_work_guard">make_work_guard</link></member>
            <member><link linkend="asio.reference.post">post</link></member>
            <member><link linkend="asio.reference.prepend">prepend</link></member>
            <member><link linkend="asio.reference.redirect_error">redirect_error</link></member>
            <member><link linkend="asio.reference.spawn">spawn</link></member>
            <member><link linkend="asio.reference.this_coro__reset_cancellation_state">this_coro::reset_cancellation_state</link></member>
            <member><link linkend="asio.reference.this_coro__throw_if_cancelled">this_coro::throw_if_cancelled</link></member>
            <member><link linkend="asio.reference.throw_exception">throw_exception</link></member>
            <member><link linkend="asio.reference.to_exception_ptr">to_exception_ptr</link></member>
            <member><link linkend="asio.reference.execution_context.use_service">use_service</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Special Values</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.as_tuple">as_tuple</link></member>
            <member><link linkend="asio.reference.deferred">deferred</link></member>
            <member><link linkend="asio.reference.detached">detached</link></member>
            <member><link linkend="asio.reference.executor_arg">executor_arg</link></member>
            <member><link linkend="asio.reference.experimental__use_coro">experimental::use_coro</link></member>
            <member><link linkend="asio.reference.experimental__use_promise">experimental::use_promise</link></member>
            <member><link linkend="asio.reference.no_error">no_error</link></member>
            <member><link linkend="asio.reference.this_coro__cancellation_state">this_coro::cancellation_state</link></member>
            <member><link linkend="asio.reference.this_coro__executor">this_coro::executor</link></member>
            <member><link linkend="asio.reference.use_awaitable">use_awaitable</link></member>
            <member><link linkend="asio.reference.use_future">use_future</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Error Codes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.error__basic_errors">error::basic_errors</link></member>
            <member><link linkend="asio.reference.error__netdb_errors">error::netdb_errors</link></member>
            <member><link linkend="asio.reference.error__addrinfo_errors">error::addrinfo_errors</link></member>
            <member><link linkend="asio.reference.error__misc_errors">error::misc_errors</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Bind Placeholders</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.placeholders__bytes_transferred">placeholders::bytes_transferred</link></member>
            <member><link linkend="asio.reference.placeholders__endpoint">placeholders::endpoint</link></member>
            <member><link linkend="asio.reference.placeholders__error">placeholders::error</link></member>
            <member><link linkend="asio.reference.placeholders__iterator">placeholders::iterator</link></member>
            <member><link linkend="asio.reference.placeholders__results">placeholders::results</link></member>
            <member><link linkend="asio.reference.placeholders__signal_number">placeholders::signal_number</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Type Traits</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.associated_allocator">associated_allocator</link></member>
            <member><link linkend="asio.reference.associated_cancellation_slot">associated_cancellation_slot</link></member>
            <member><link linkend="asio.reference.associated_executor">associated_executor</link></member>
            <member><link linkend="asio.reference.associated_immediate_executor">associated_immediate_executor</link></member>
            <member><link linkend="asio.reference.associator">associator</link></member>
            <member><link linkend="asio.reference.async_result">async_result</link></member>
            <member><link linkend="asio.reference.completion_signature_of">completion_signature_of</link></member>
            <member><link linkend="asio.reference.default_completion_token">default_completion_token</link></member>
            <member><link linkend="asio.reference.is_async_operation">is_async_operation</link></member>
            <member><link linkend="asio.reference.is_executor">is_executor</link></member>
            <member><link linkend="asio.reference.uses_executor">uses_executor</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Type Requirements</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.asynchronous_operations">Asynchronous operations</link></member>
            <member><link linkend="asio.reference.CancellationHandler">CancellationHandler</link></member>
            <member><link linkend="asio.reference.CancellationSlot">CancellationSlot</link></member>
            <member><link linkend="asio.reference.ExecutionContext">ExecutionContext</link></member>
            <member><link linkend="asio.reference.Executor1">Executor</link></member>
            <member><link linkend="asio.reference.Handler">Handler</link></member>
            <member><link linkend="asio.reference.NullaryToken">NullaryToken</link></member>
            <member><link linkend="asio.reference.Service">Service</link></member>
          </simplelist>
        </entry>
      </row>
    </tbody>
  </tgroup>
  <tgroup cols="4">
    <colspec colname="a"/>
    <colspec colname="b"/>
    <colspec colname="c"/>
    <colspec colname="d"/>
    <thead>
      <row>
        <entry valign="center" namest="a" nameend="d">
          <bridgehead renderas="sect2">Buffers and Buffer-Oriented Operations</bridgehead>
        </entry>
      </row>
    </thead>
    <tbody>
      <row>
        <entry valign="top">
          <bridgehead renderas="sect3">Classes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.const_buffer">const_buffer</link></member>
            <member><link linkend="asio.reference.mutable_buffer">mutable_buffer</link></member>
            <member><link linkend="asio.reference.const_registered_buffer">const_registered_buffer</link></member>
            <member><link linkend="asio.reference.mutable_registered_buffer">mutable_registered_buffer</link></member>
            <member><link linkend="asio.reference.null_buffers">null_buffers</link> (deprecated)</member>
            <member><link linkend="asio.reference.streambuf">streambuf</link></member>
            <member><link linkend="asio.reference.registered_buffer_id">registered_buffer_id</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Class Templates</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.basic_streambuf">basic_streambuf</link></member>
            <member><link linkend="asio.reference.buffer_registration">buffer_registration</link></member>
            <member><link linkend="asio.reference.buffered_read_stream">buffered_read_stream</link></member>
            <member><link linkend="asio.reference.buffered_stream">buffered_stream</link></member>
            <member><link linkend="asio.reference.buffered_write_stream">buffered_write_stream</link></member>
            <member><link linkend="asio.reference.buffers_iterator">buffers_iterator</link></member>
            <member><link linkend="asio.reference.dynamic_string_buffer">dynamic_string_buffer</link></member>
            <member><link linkend="asio.reference.dynamic_vector_buffer">dynamic_vector_buffer</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Free Functions</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.async_read">async_read</link></member>
            <member><link linkend="asio.reference.async_read_at">async_read_at</link></member>
            <member><link linkend="asio.reference.async_read_until">async_read_until</link></member>
            <member><link linkend="asio.reference.async_write">async_write</link></member>
            <member><link linkend="asio.reference.async_write_at">async_write_at</link></member>
            <member><link linkend="asio.reference.buffer">buffer</link></member>
            <member><link linkend="asio.reference.buffer_copy">buffer_copy</link></member>
            <member><link linkend="asio.reference.buffer_size">buffer_size</link></member>
            <member><link linkend="asio.reference.buffer_sequence_begin">buffer_sequence_begin</link></member>
            <member><link linkend="asio.reference.buffer_sequence_end">buffer_sequence_end</link></member>
            <member><link linkend="asio.reference.buffers_begin">buffers_begin</link></member>
            <member><link linkend="asio.reference.buffers_end">buffers_end</link></member>
            <member><link linkend="asio.reference.dynamic_buffer">dynamic_buffer</link></member>
            <member><link linkend="asio.reference.read">read</link></member>
            <member><link linkend="asio.reference.read_at">read_at</link></member>
            <member><link linkend="asio.reference.read_until">read_until</link></member>
            <member><link linkend="asio.reference.register_buffers">register_buffers</link></member>
            <member><link linkend="asio.reference.transfer_all">transfer_all</link></member>
            <member><link linkend="asio.reference.transfer_at_least">transfer_at_least</link></member>
            <member><link linkend="asio.reference.transfer_exactly">transfer_exactly</link></member>
            <member><link linkend="asio.reference.write">write</link></member>
            <member><link linkend="asio.reference.write_at">write_at</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Type Traits</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.is_const_buffer_sequence">is_const_buffer_sequence</link></member>
            <member><link linkend="asio.reference.is_dynamic_buffer">is_dynamic_buffer</link></member>
            <member><link linkend="asio.reference.is_dynamic_buffer_v1">is_dynamic_buffer_v1</link></member>
            <member><link linkend="asio.reference.is_dynamic_buffer_v2">is_dynamic_buffer_v2</link></member>
            <member><link linkend="asio.reference.is_match_condition">is_match_condition</link></member>
            <member><link linkend="asio.reference.is_mutable_buffer_sequence">is_mutable_buffer_sequence</link></member>
            <member><link linkend="asio.reference.is_read_buffered">is_read_buffered</link></member>
            <member><link linkend="asio.reference.is_write_buffered">is_write_buffered</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Type Requirements</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.read_write_operations">Read and write operations</link></member>
            <member><link linkend="asio.reference.AsyncRandomAccessReadDevice">AsyncRandomAccessReadDevice</link></member>
            <member><link linkend="asio.reference.AsyncRandomAccessWriteDevice">AsyncRandomAccessWriteDevice</link></member>
            <member><link linkend="asio.reference.AsyncReadStream">AsyncReadStream</link></member>
            <member><link linkend="asio.reference.AsyncWriteStream">AsyncWriteStream</link></member>
            <member><link linkend="asio.reference.CompletionCondition">CompletionCondition</link></member>
            <member><link linkend="asio.reference.ConstBufferSequence">ConstBufferSequence</link></member>
            <member><link linkend="asio.reference.DynamicBuffer">DynamicBuffer</link></member>
            <member><link linkend="asio.reference.DynamicBuffer_v1">DynamicBuffer_v1</link></member>
            <member><link linkend="asio.reference.DynamicBuffer_v2">DynamicBuffer_v2</link></member>
            <member><link linkend="asio.reference.MutableBufferSequence">MutableBufferSequence</link></member>
            <member><link linkend="asio.reference.ReadHandler">ReadHandler</link></member>
            <member><link linkend="asio.reference.ReadToken">ReadToken</link></member>
            <member><link linkend="asio.reference.SyncRandomAccessReadDevice">SyncRandomAccessReadDevice</link></member>
            <member><link linkend="asio.reference.SyncRandomAccessWriteDevice">SyncRandomAccessWriteDevice</link></member>
            <member><link linkend="asio.reference.SyncReadStream">SyncReadStream</link></member>
            <member><link linkend="asio.reference.SyncWriteStream">SyncWriteStream</link></member>
            <member><link linkend="asio.reference.WriteHandler">WriteHandler</link></member>
            <member><link linkend="asio.reference.WriteToken">WriteToken</link></member>
          </simplelist>
        </entry>
      </row>
    </tbody>
  </tgroup>
  <tgroup cols="4">
    <colspec colname="a"/>
    <colspec colname="b"/>
    <colspec colname="c"/>
    <colspec colname="d"/>
    <thead>
      <row>
        <entry valign="center" namest="a" nameend="d">
          <bridgehead renderas="sect2">Networking</bridgehead>
        </entry>
      </row>
    </thead>
    <tbody>
      <row>
        <entry valign="top">
          <bridgehead renderas="sect3">Classes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.generic__datagram_protocol">generic::datagram_protocol</link></member>
            <member><link linkend="asio.reference.generic__datagram_protocol.endpoint">generic::datagram_protocol::endpoint</link></member>
            <member><link linkend="asio.reference.generic__datagram_protocol.socket">generic::datagram_protocol::socket</link></member>
            <member><link linkend="asio.reference.generic__raw_protocol">generic::raw_protocol</link></member>
            <member><link linkend="asio.reference.generic__raw_protocol.endpoint">generic::raw_protocol::endpoint</link></member>
            <member><link linkend="asio.reference.generic__raw_protocol.socket">generic::raw_protocol::socket</link></member>
            <member><link linkend="asio.reference.generic__seq_packet_protocol">generic::seq_packet_protocol</link></member>
            <member><link linkend="asio.reference.generic__seq_packet_protocol.endpoint">generic::seq_packet_protocol::endpoint</link></member>
            <member><link linkend="asio.reference.generic__seq_packet_protocol.socket">generic::seq_packet_protocol::socket</link></member>
            <member><link linkend="asio.reference.generic__stream_protocol">generic::stream_protocol</link></member>
            <member><link linkend="asio.reference.generic__stream_protocol.endpoint">generic::stream_protocol::endpoint</link></member>
            <member><link linkend="asio.reference.generic__stream_protocol.iostream">generic::stream_protocol::iostream</link></member>
            <member><link linkend="asio.reference.generic__stream_protocol.socket">generic::stream_protocol::socket</link></member>
            <member><link linkend="asio.reference.ip__address">ip::address</link></member>
            <member><link linkend="asio.reference.ip__address_v4">ip::address_v4</link></member>
            <member><link linkend="asio.reference.ip__address_v4_iterator">ip::address_v4_iterator</link></member>
            <member><link linkend="asio.reference.ip__address_v4_range">ip::address_v4_range</link></member>
            <member><link linkend="asio.reference.ip__address_v6">ip::address_v6</link></member>
            <member><link linkend="asio.reference.ip__address_v6_iterator">ip::address_v6_iterator</link></member>
            <member><link linkend="asio.reference.ip__address_v6_range">ip::address_v6_range</link></member>
            <member><link linkend="asio.reference.ip__bad_address_cast">ip::bad_address_cast</link></member>
            <member><link linkend="asio.reference.ip__icmp">ip::icmp</link></member>
            <member><link linkend="asio.reference.ip__icmp.endpoint">ip::icmp::endpoint</link></member>
            <member><link linkend="asio.reference.ip__icmp.resolver">ip::icmp::resolver</link></member>
            <member><link linkend="asio.reference.ip__icmp.socket">ip::icmp::socket</link></member>
            <member><link linkend="asio.reference.ip__network_v4">ip::network_v4</link></member>
            <member><link linkend="asio.reference.ip__network_v6">ip::network_v6</link></member>
            <member><link linkend="asio.reference.ip__resolver_base">ip::resolver_base</link></member>
            <member><link linkend="asio.reference.ip__resolver_query_base">ip::resolver_query_base</link></member>
            <member><link linkend="asio.reference.ip__tcp">ip::tcp</link></member>
            <member><link linkend="asio.reference.ip__tcp.acceptor">ip::tcp::acceptor</link></member>
            <member><link linkend="asio.reference.ip__tcp.endpoint">ip::tcp::endpoint</link></member>
            <member><link linkend="asio.reference.ip__tcp.iostream">ip::tcp::iostream</link></member>
            <member><link linkend="asio.reference.ip__tcp.resolver">ip::tcp::resolver</link></member>
            <member><link linkend="asio.reference.ip__tcp.socket">ip::tcp::socket</link></member>
            <member><link linkend="asio.reference.ip__udp">ip::udp</link></member>
            <member><link linkend="asio.reference.ip__udp.endpoint">ip::udp::endpoint</link></member>
            <member><link linkend="asio.reference.ip__udp.resolver">ip::udp::resolver</link></member>
            <member><link linkend="asio.reference.ip__udp.socket">ip::udp::socket</link></member>
            <member><link linkend="asio.reference.ip__v4_mapped_t">ip::v4_mapped_t</link></member>
            <member><link linkend="asio.reference.socket_base">socket_base</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Free Functions</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.async_connect">async_connect</link></member>
            <member><link linkend="asio.reference.connect">connect</link></member>
            <member><link linkend="asio.reference.ip__host_name">ip::host_name</link></member>
            <member><link linkend="asio.reference.ip__address.make_address">ip::make_address</link></member>
            <member><link linkend="asio.reference.ip__address_v4.make_address_v4">ip::make_address_v4</link></member>
            <member><link linkend="asio.reference.ip__address_v6.make_address_v6">ip::make_address_v6</link></member>
            <member><link linkend="asio.reference.ip__network_v4.make_network_v4">ip::make_network_v4</link></member>
            <member><link linkend="asio.reference.ip__network_v6.make_network_v6">ip::make_network_v6</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Class Templates</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.basic_datagram_socket">basic_datagram_socket</link></member>
            <member><link linkend="asio.reference.basic_raw_socket">basic_raw_socket</link></member>
            <member><link linkend="asio.reference.basic_seq_packet_socket">basic_seq_packet_socket</link></member>
            <member><link linkend="asio.reference.basic_socket">basic_socket</link></member>
            <member><link linkend="asio.reference.basic_socket_acceptor">basic_socket_acceptor</link></member>
            <member><link linkend="asio.reference.basic_socket_iostream">basic_socket_iostream</link></member>
            <member><link linkend="asio.reference.basic_socket_streambuf">basic_socket_streambuf</link></member>
            <member><link linkend="asio.reference.basic_stream_socket">basic_stream_socket</link></member>
            <member><link linkend="asio.reference.generic__basic_endpoint">generic::basic_endpoint</link></member>
            <member><link linkend="asio.reference.ip__basic_endpoint">ip::basic_endpoint</link></member>
            <member><link linkend="asio.reference.ip__basic_resolver">ip::basic_resolver</link></member>
            <member><link linkend="asio.reference.ip__basic_resolver_entry">ip::basic_resolver_entry</link></member>
            <member><link linkend="asio.reference.ip__basic_resolver_iterator">ip::basic_resolver_iterator</link></member>
            <member><link linkend="asio.reference.ip__basic_resolver_results">ip::basic_resolver_results</link></member>
            <member><link linkend="asio.reference.ip__basic_resolver_query">ip::basic_resolver_query</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Socket Options</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.ip__multicast__enable_loopback">ip::multicast::enable_loopback</link></member>
            <member><link linkend="asio.reference.ip__multicast__hops">ip::multicast::hops</link></member>
            <member><link linkend="asio.reference.ip__multicast__join_group">ip::multicast::join_group</link></member>
            <member><link linkend="asio.reference.ip__multicast__leave_group">ip::multicast::leave_group</link></member>
            <member><link linkend="asio.reference.ip__multicast__outbound_interface">ip::multicast::outbound_interface</link></member>
            <member><link linkend="asio.reference.ip__tcp.no_delay">ip::tcp::no_delay</link></member>
            <member><link linkend="asio.reference.ip__unicast__hops">ip::unicast::hops</link></member>
            <member><link linkend="asio.reference.ip__v6_only">ip::v6_only</link></member>
            <member><link linkend="asio.reference.socket_base.broadcast">socket_base::broadcast</link></member>
            <member><link linkend="asio.reference.socket_base.debug">socket_base::debug</link></member>
            <member><link linkend="asio.reference.socket_base.do_not_route">socket_base::do_not_route</link></member>
            <member><link linkend="asio.reference.socket_base.enable_connection_aborted">socket_base::enable_connection_aborted</link></member>
            <member><link linkend="asio.reference.socket_base.keep_alive">socket_base::keep_alive</link></member>
            <member><link linkend="asio.reference.socket_base.linger">socket_base::linger</link></member>
            <member><link linkend="asio.reference.socket_base.receive_buffer_size">socket_base::receive_buffer_size</link></member>
            <member><link linkend="asio.reference.socket_base.receive_low_watermark">socket_base::receive_low_watermark</link></member>
            <member><link linkend="asio.reference.socket_base.reuse_address">socket_base::reuse_address</link></member>
            <member><link linkend="asio.reference.socket_base.send_buffer_size">socket_base::send_buffer_size</link></member>
            <member><link linkend="asio.reference.socket_base.send_low_watermark">socket_base::send_low_watermark</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">I/O Control Commands</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.socket_base.bytes_readable">socket_base::bytes_readable</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Type Requirements</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.synchronous_socket_operations">Synchronous socket operations</link></member>
            <member><link linkend="asio.reference.asynchronous_socket_operations">Asynchronous socket operations</link></member>
            <member><link linkend="asio.reference.AcceptableProtocol">AcceptableProtocol</link></member>
            <member><link linkend="asio.reference.AcceptHandler">AcceptHandler</link></member>
            <member><link linkend="asio.reference.AcceptToken">AcceptToken</link></member>
            <member><link linkend="asio.reference.ConnectCondition">ConnectCondition</link></member>
            <member><link linkend="asio.reference.ConnectHandler">ConnectHandler</link></member>
            <member><link linkend="asio.reference.ConnectToken">ConnectToken</link></member>
            <member><link linkend="asio.reference.Endpoint">Endpoint</link></member>
            <member><link linkend="asio.reference.EndpointSequence">EndpointSequence</link></member>
            <member><link linkend="asio.reference.GettableSocketOption">GettableSocketOption</link></member>
            <member><link linkend="asio.reference.InternetProtocol">InternetProtocol</link></member>
            <member><link linkend="asio.reference.IoControlCommand">IoControlCommand</link></member>
            <member><link linkend="asio.reference.IteratorConnectHandler">IteratorConnectHandler</link></member>
            <member><link linkend="asio.reference.IteratorConnectToken">IteratorConnectToken</link></member>
            <member><link linkend="asio.reference.MoveAcceptHandler">MoveAcceptHandler</link></member>
            <member><link linkend="asio.reference.MoveAcceptToken">MoveAcceptToken</link></member>
            <member><link linkend="asio.reference.Protocol">Protocol</link></member>
            <member><link linkend="asio.reference.RangeConnectHandler">RangeConnectHandler</link></member>
            <member><link linkend="asio.reference.RangeConnectToken">RangeConnectToken</link></member>
            <member><link linkend="asio.reference.ResolveHandler">ResolveHandler</link></member>
            <member><link linkend="asio.reference.ResolveToken">ResolveToken</link></member>
            <member><link linkend="asio.reference.SettableSocketOption">SettableSocketOption</link></member>
          </simplelist>
        </entry>
      </row>
    </tbody>
  </tgroup>
  <tgroup cols="4">
    <colspec colname="a"/>
    <colspec colname="b"/>
    <colspec colname="c"/>
    <colspec colname="d"/>
    <thead>
      <row>
        <entry valign="center" namest="a" nameend="a">
          <bridgehead renderas="sect2">Timers</bridgehead>
        </entry>
        <entry valign="center" namest="b" nameend="b">
          <bridgehead renderas="sect2">SSL</bridgehead>
        </entry>
        <entry valign="center" namest="c" nameend="c">
          <bridgehead renderas="sect2">Serial Ports</bridgehead>
        </entry>
        <entry valign="center" namest="d" nameend="d">
          <bridgehead renderas="sect2">Signal Handling</bridgehead>
        </entry>
      </row>
    </thead>
    <tbody>
      <row>
        <entry valign="top">
          <bridgehead renderas="sect3">Classes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.deadline_timer">deadline_timer (deprecated)</link></member>
            <member><link linkend="asio.reference.high_resolution_timer">high_resolution_timer</link></member>
            <member><link linkend="asio.reference.steady_timer">steady_timer</link></member>
            <member><link linkend="asio.reference.system_timer">system_timer</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Class Templates</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.basic_deadline_timer">basic_deadline_timer (deprecated)</link></member>
            <member><link linkend="asio.reference.basic_waitable_timer">basic_waitable_timer</link></member>
            <member><link linkend="asio.reference.time_traits_lt__ptime__gt_">time_traits (deprecated)</link></member>
            <member><link linkend="asio.reference.wait_traits">wait_traits</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Type Requirements</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.TimeTraits">TimeTraits (deprecated)</link></member>
            <member><link linkend="asio.reference.WaitHandler">WaitHandler</link></member>
            <member><link linkend="asio.reference.WaitToken">WaitToken</link></member>
            <member><link linkend="asio.reference.WaitTraits">WaitTraits</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Classes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.ssl__context">ssl::context</link></member>
            <member><link linkend="asio.reference.ssl__context_base">ssl::context_base</link></member>
            <member><link linkend="asio.reference.ssl__host_name_verification">ssl::host_name_verification</link></member>
            <member><link linkend="asio.reference.ssl__stream_base">ssl::stream_base</link></member>
            <member><link linkend="asio.reference.ssl__verify_context">ssl::verify_context</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Class Templates</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.ssl__stream">ssl::stream</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Error Codes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.ssl__error__stream_errors">ssl::error::stream_errors</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Type Requirements</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.BufferedHandshakeHandler">BufferedHandshakeHandler</link></member>
            <member><link linkend="asio.reference.BufferedHandshakeToken">BufferedHandshakeToken</link></member>
            <member><link linkend="asio.reference.HandshakeHandler">HandshakeHandler</link></member>
            <member><link linkend="asio.reference.HandshakeToken">HandshakeToken</link></member>
            <member><link linkend="asio.reference.ShutdownHandler">ShutdownHandler</link></member>
            <member><link linkend="asio.reference.ShutdownToken">ShutdownToken</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Classes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.serial_port">serial_port</link></member>
            <member><link linkend="asio.reference.serial_port_base">serial_port_base</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Class templates</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.basic_serial_port">basic_serial_port</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Serial Port Options</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.serial_port_base__baud_rate">serial_port_base::baud_rate</link></member>
            <member><link linkend="asio.reference.serial_port_base__flow_control">serial_port_base::flow_control</link></member>
            <member><link linkend="asio.reference.serial_port_base__parity">serial_port_base::parity</link></member>
            <member><link linkend="asio.reference.serial_port_base__stop_bits">serial_port_base::stop_bits</link></member>
            <member><link linkend="asio.reference.serial_port_base__character_size">serial_port_base::character_size</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Type Requirements</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.GettableSerialPortOption">GettableSerialPortOption</link></member>
            <member><link linkend="asio.reference.SettableSerialPortOption">SettableSerialPortOption</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Classes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.signal_set">signal_set</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Class Templates</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.basic_signal_set">basic_signal_set</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Type Requirements</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.SignalHandler">SignalHandler</link></member>
            <member><link linkend="asio.reference.SignalToken">SignalToken</link></member>
          </simplelist>
        </entry>
      </row>
    </tbody>
  </tgroup>
  <tgroup cols="4">
    <colspec colname="a"/>
    <colspec colname="b"/>
    <colspec colname="c"/>
    <colspec colname="d"/>
    <thead>
      <row>
        <entry valign="center" namest="a" nameend="a">
          <bridgehead renderas="sect2">Files and Pipes</bridgehead>
        </entry>
        <entry valign="center" namest="b" nameend="c">
          <bridgehead renderas="sect2">POSIX-specific</bridgehead>
        </entry>
        <entry valign="center" namest="d" nameend="d">
          <bridgehead renderas="sect2">Windows-specific</bridgehead>
        </entry>
      </row>
    </thead>
    <tbody>
      <row>
        <entry valign="top">
          <bridgehead renderas="sect3">Class Templates</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.basic_file">basic_file</link></member>
            <member><link linkend="asio.reference.basic_random_access_file">basic_random_access_file</link></member>
            <member><link linkend="asio.reference.basic_readable_pipe">basic_readable_pipe</link></member>
            <member><link linkend="asio.reference.basic_stream_file">basic_stream_file</link></member>
            <member><link linkend="asio.reference.basic_writable_pipe">basic_writable_pipe</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Classes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.file_base">file_base</link></member>
            <member><link linkend="asio.reference.random_access_file">random_access_file</link></member>
            <member><link linkend="asio.reference.readable_pipe">readable_pipe</link></member>
            <member><link linkend="asio.reference.stream_file">stream_file</link></member>
            <member><link linkend="asio.reference.writable_pipe">writable_pipe</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Free Functions</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.connect_pipe">connect_pipe</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Classes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.local__seq_packet_protocol">local::seq_packet_protocol</link></member>
            <member><link linkend="asio.reference.local__seq_packet_protocol.acceptor">local::seq_packet_protocol::acceptor</link></member>
            <member><link linkend="asio.reference.local__seq_packet_protocol.endpoint">local::seq_packet_protocol::endpoint</link></member>
            <member><link linkend="asio.reference.local__seq_packet_protocol.socket">local::seq_packet_protocol::socket</link></member>
            <member><link linkend="asio.reference.local__stream_protocol">local::stream_protocol</link></member>
            <member><link linkend="asio.reference.local__stream_protocol.acceptor">local::stream_protocol::acceptor</link></member>
            <member><link linkend="asio.reference.local__stream_protocol.endpoint">local::stream_protocol::endpoint</link></member>
            <member><link linkend="asio.reference.local__stream_protocol.iostream">local::stream_protocol::iostream</link></member>
            <member><link linkend="asio.reference.local__stream_protocol.socket">local::stream_protocol::socket</link></member>
            <member><link linkend="asio.reference.local__datagram_protocol">local::datagram_protocol</link></member>
            <member><link linkend="asio.reference.local__datagram_protocol.endpoint">local::datagram_protocol::endpoint</link></member>
            <member><link linkend="asio.reference.local__datagram_protocol.socket">local::datagram_protocol::socket</link></member>
            <member><link linkend="asio.reference.posix__descriptor">posix::descriptor</link></member>
            <member><link linkend="asio.reference.posix__descriptor_base">posix::descriptor_base</link></member>
            <member><link linkend="asio.reference.posix__stream_descriptor">posix::stream_descriptor</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Free Functions</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.local__connect_pair">local::connect_pair</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Class Templates</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.local__basic_endpoint">local::basic_endpoint</link></member>
            <member><link linkend="asio.reference.posix__basic_descriptor">posix::basic_descriptor</link></member>
            <member><link linkend="asio.reference.posix__basic_stream_descriptor">posix::basic_stream_descriptor</link></member>
          </simplelist>
        </entry>
        <entry valign="top">
          <bridgehead renderas="sect3">Classes</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.windows__object_handle">windows::object_handle</link></member>
            <member><link linkend="asio.reference.windows__overlapped_handle">windows::overlapped_handle</link></member>
            <member><link linkend="asio.reference.windows__overlapped_ptr">windows::overlapped_ptr</link></member>
            <member><link linkend="asio.reference.windows__random_access_handle">windows::random_access_handle</link></member>
            <member><link linkend="asio.reference.windows__stream_handle">windows::stream_handle</link></member>
          </simplelist>
          <bridgehead renderas="sect3">Class Templates</bridgehead>
          <simplelist type="vert" columns="1">
            <member><link linkend="asio.reference.windows__basic_object_handle">windows::basic_object_handle</link></member>
            <member><link linkend="asio.reference.windows__basic_overlapped_handle">windows::basic_overlapped_handle</link></member>
            <member><link linkend="asio.reference.windows__basic_random_access_handle">windows::basic_random_access_handle</link></member>
            <member><link linkend="asio.reference.windows__basic_stream_handle">windows::basic_stream_handle</link></member>
          </simplelist>
        </entry>
      </row>
    </tbody>
  </tgroup>
</informaltable>
