[/
 / Copyright (c) 2003-2010 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 boost_asio.overview.rationale Rationale]
* [link boost_asio.overview.core Core Concepts and Functionality]
  * [link boost_asio.overview.core.basics Basic Boost.Asio Anatomy]
  * [link boost_asio.overview.core.async The Proactor Design Pattern: Concurrency Without Threads]
  * [link boost_asio.overview.core.threads Threads and Boost.Asio]
  * [link boost_asio.overview.core.strands Strands: Use Threads Without Explicit Locking]
  * [link boost_asio.overview.core.buffers Buffers]
  * [link boost_asio.overview.core.streams Streams, Short Reads and Short Writes]
  * [link boost_asio.overview.core.reactor Reactor-Style Operations]
  * [link boost_asio.overview.core.line_based Line-Based Operations]
  * [link boost_asio.overview.core.allocation Custom Memory Allocation]
* [link boost_asio.overview.networking Networking]
  * [link boost_asio.overview.networking.protocols TCP, UDP and ICMP]
  * [link boost_asio.overview.networking.iostreams Socket Iostreams]
  * [link boost_asio.overview.networking.bsd_sockets The BSD Socket API and Boost.Asio]
* [link boost_asio.overview.timers Timers]
* [link boost_asio.overview.serial_ports Serial Ports]
* [link boost_asio.overview.posix POSIX-Specific Functionality]
  * [link boost_asio.overview.posix.local UNIX Domain Sockets]
  * [link boost_asio.overview.posix.stream_descriptor Stream-Oriented File Descriptors]
* [link boost_asio.overview.windows Windows-Specific Functionality]
  * [link boost_asio.overview.windows.stream_handle Stream-Oriented HANDLEs]
  * [link boost_asio.overview.windows.random_access_handle Random-Access HANDLEs]
* [link boost_asio.overview.ssl SSL]
* [link boost_asio.overview.implementation Platform-Specific Implementation Notes]

[include overview/rationale.qbk]

[section:core Core Concepts and Functionality]

* [link boost_asio.overview.core.basics Basic Boost.Asio Anatomy]
* [link boost_asio.overview.core.async The Proactor Design Pattern: Concurrency Without Threads]
* [link boost_asio.overview.core.threads Threads and Boost.Asio]
* [link boost_asio.overview.core.strands Strands: Use Threads Without Explicit Locking]
* [link boost_asio.overview.core.buffers Buffers]
* [link boost_asio.overview.core.streams Streams, Short Reads and Short Writes]
* [link boost_asio.overview.core.reactor Reactor-Style Operations]
* [link boost_asio.overview.core.line_based Line-Based Operations]
* [link boost_asio.overview.core.allocation Custom Memory Allocation]

[include overview/basics.qbk]
[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]

[endsect]

[section:networking Networking]

* [link boost_asio.overview.networking.protocols TCP, UDP and ICMP]
* [link boost_asio.overview.networking.iostreams Socket Iostreams]
* [link boost_asio.overview.networking.bsd_sockets The BSD Socket API and Boost.Asio]

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

[endsect]

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

[endsect]
