[/
 / Copyright (c) 2003-2022 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)
 /]

[section:overview Overview]

* [link asio.overview.rationale Rationale]
* [link asio.overview.basics Basic Asio Anatomy]
* [link asio.overview.model Asynchronous Model]
  * [link asio.overview.model.async_ops Asynchronous Operations]
  * [link asio.overview.model.async_agents Asynchronous Agents]
  * [link asio.overview.model.associators Associated Characteristics and Associators]
  * [link asio.overview.model.child_agents Child Agents]
  * [link asio.overview.model.executors Executors]
  * [link asio.overview.model.allocators Allocators]
  * [link asio.overview.model.cancellation Cancellation]
  * [link asio.overview.model.completion_tokens Completion Tokens]
  * [link asio.overview.model.library_elements Supporting Library Elements]
  * [link asio.overview.model.higher_levels Higher Level Abstractions]
* [link asio.overview.core Core Concepts and Functionality]
  * [link asio.overview.core.async The Proactor Design Pattern: Concurrency Without Threads]
  * [link asio.overview.core.threads Threads and Asio]
  * [link asio.overview.core.strands Strands: Use Threads Without Explicit Locking]
  * [link asio.overview.core.buffers Buffers]
  * [link asio.overview.core.streams Streams, Short Reads and Short Writes]
  * [link asio.overview.core.reactor Reactor-Style Operations]
  * [link asio.overview.core.line_based Line-Based Operations]
  * [link asio.overview.core.allocation Custom Memory Allocation]
  * [link asio.overview.core.cancellation Per-Operation Cancellation]
  * [link asio.overview.core.handler_tracking Handler Tracking]
  * [link asio.overview.core.concurrency_hint Concurrency Hints]
* [link asio.overview.composition Composition and Completion Tokens]
  * [link asio.overview.composition.coroutine Stackless Coroutines]
  * [link asio.overview.composition.spawn Stackful Coroutines]
  * [link asio.overview.composition.cpp20_coroutines C++20 Coroutines Support]
  * [link asio.overview.composition.coro Resumable C++20 Coroutines (experimental)]
* [link asio.overview.networking Networking]
  * [link asio.overview.networking.protocols TCP, UDP and ICMP]
  * [link asio.overview.networking.other_protocols Support for Other Protocols]
  * [link asio.overview.networking.iostreams Socket Iostreams]
  * [link asio.overview.networking.bsd_sockets The BSD Socket API and Asio]
* [link asio.overview.timers Timers]
* [link asio.overview.serial_ports Serial Ports]
* [link asio.overview.signals Signal Handling]
* [link asio.overview.posix POSIX-Specific Functionality]
  * [link asio.overview.posix.local UNIX Domain Sockets]
  * [link asio.overview.posix.stream_descriptor Stream-Oriented File Descriptors]
  * [link asio.overview.posix.fork Fork]
* [link asio.overview.windows Windows-Specific Functionality]
  * [link asio.overview.windows.stream_handle Stream-Oriented HANDLEs]
  * [link asio.overview.windows.random_access_handle Random-Access HANDLEs]
  * [link asio.overview.windows.object_handle Object HANDLEs]
* [link asio.overview.ssl SSL]
* [link asio.overview.cpp2011 C++ 2011 Support]
  * [link asio.overview.cpp2011.move_objects Movable I/O Objects]
  * [link asio.overview.cpp2011.move_handlers Movable Handlers]
  * [link asio.overview.cpp2011.variadic Variadic Templates]
  * [link asio.overview.cpp2011.array Array Container]
  * [link asio.overview.cpp2011.atomic Atomics]
  * [link asio.overview.cpp2011.shared_ptr Shared Pointers]
  * [link asio.overview.cpp2011.chrono Chrono]
  * [link asio.overview.cpp2011.futures Futures]
* [link asio.overview.implementation Platform-Specific Implementation Notes]

[include overview/rationale.qbk]
[include overview/basics.qbk]
[include overview/model.qbk]

[section:core Core Concepts and Functionality]

* [link asio.overview.core.async The Proactor Design Pattern: Concurrency Without Threads]
* [link asio.overview.core.threads Threads and Asio]
* [link asio.overview.core.strands Strands: Use Threads Without Explicit Locking]
* [link asio.overview.core.buffers Buffers]
* [link asio.overview.core.streams Streams, Short Reads and Short Writes]
* [link asio.overview.core.reactor Reactor-Style Operations]
* [link asio.overview.core.line_based Line-Based Operations]
* [link asio.overview.core.allocation Custom Memory Allocation]
* [link asio.overview.core.cancellation Per-Operation Cancellation]
* [link asio.overview.core.handler_tracking Handler Tracking]
* [link asio.overview.core.concurrency_hint Concurrency Hints]

[include overview/async.qbk]
[include overview/threads.qbk]
[include overview/strands.qbk]
[include overview/buffers.qbk]
[include overview/streams.qbk]
[include overview/reactor.qbk]
[include overview/line_based.qbk]
[include overview/allocation.qbk]
[include overview/cancellation.qbk]
[include overview/handler_tracking.qbk]
[include overview/concurrency_hint.qbk]

[endsect]

[section:composition Composition and Completion Tokens]

* [link asio.overview.composition.coroutine Stackless Coroutines]
* [link asio.overview.composition.spawn Stackful Coroutines]
* [link asio.overview.composition.cpp20_coroutines C++20 Coroutines Support]
* [link asio.overview.composition.coro Resumable C++20 Coroutines (experimental)]

[include overview/coroutine.qbk]
[include overview/spawn.qbk]
[include overview/cpp20_coroutines.qbk]
[include overview/coro.qbk]

[endsect]

[section:networking Networking]

* [link asio.overview.networking.protocols TCP, UDP and ICMP]
* [link asio.overview.networking.other_protocols Support for Other Protocols]
* [link asio.overview.networking.iostreams Socket Iostreams]
* [link asio.overview.networking.bsd_sockets The BSD Socket API and Asio]

[include overview/protocols.qbk]
[include overview/other_protocols.qbk]
[include overview/iostreams.qbk]
[include overview/bsd_sockets.qbk]

[endsect]

[include overview/timers.qbk]
[include overview/serial_ports.qbk]
[include overview/signals.qbk]
[include overview/posix.qbk]
[include overview/windows.qbk]
[include overview/ssl.qbk]
[include overview/cpp2011.qbk]
[include overview/implementation.qbk]

[endsect]
