Imported Upstream version 1.57.0
[platform/upstream/boost.git] / libs / asio / doc / examples.qbk
index bd55e33..df4c4f0 100644 (file)
@@ -1,5 +1,5 @@
 [/
 [/
- / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+ / Copyright (c) 2003-2014 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)
  /
  / 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)
@@ -8,12 +8,24 @@
 [section:examples Examples]
 
 
 [section:examples Examples]
 
 
+* [link boost_asio.examples.cpp03_examples C++03 Examples]: Illustrates the use of
+Boost.Asio using only C++03 language and library features. Where necessary, the
+examples make use of selected Boost C++ libraries.
+
+* [link boost_asio.examples.cpp11_examples C++11 Examples]: Contains a limited set of
+the C++03 Boost.Asio examples, updated to use only C++11 library and language
+facilities. These examples do not make direct use of Boost C++ libraries.
+
+
+[section:cpp03_examples C++03 Examples]
+
+
 [heading Allocation]
 
 This example shows how to customise the allocation of memory associated with
 asynchronous operations.
 
 [heading Allocation]
 
 This example shows how to customise the allocation of memory associated with
 asynchronous operations.
 
-* [@boost_asio/example/allocation/server.cpp]
+* [@boost_asio/example/cpp03/allocation/server.cpp]
 
 
 [heading Buffers]
 
 
 [heading Buffers]
@@ -21,7 +33,7 @@ asynchronous operations.
 This example demonstrates how to create reference counted buffers that can be
 used with socket read and write operations.
 
 This example demonstrates how to create reference counted buffers that can be
 used with socket read and write operations.
 
-* [@boost_asio/example/buffers/reference_counted.cpp]
+* [@boost_asio/example/cpp03/buffers/reference_counted.cpp]
 
 
 [heading Chat]
 
 
 [heading Chat]
@@ -29,15 +41,15 @@ used with socket read and write operations.
 This example implements a chat server and client. The programs use a custom
 protocol with a fixed length message header and variable length message body.
 
 This example implements a chat server and client. The programs use a custom
 protocol with a fixed length message header and variable length message body.
 
-* [@boost_asio/example/chat/chat_message.hpp]
-* [@boost_asio/example/chat/chat_client.cpp]
-* [@boost_asio/example/chat/chat_server.cpp]
+* [@boost_asio/example/cpp03/chat/chat_message.hpp]
+* [@boost_asio/example/cpp03/chat/chat_client.cpp]
+* [@boost_asio/example/cpp03/chat/chat_server.cpp]
 
 The following POSIX-specific chat client demonstrates how to use the
 [link boost_asio.reference.posix__stream_descriptor posix::stream_descriptor] class to
 perform console input and output.
 
 
 The following POSIX-specific chat client demonstrates how to use the
 [link boost_asio.reference.posix__stream_descriptor posix::stream_descriptor] class to
 perform console input and output.
 
-* [@boost_asio/example/chat/posix_chat_client.cpp]
+* [@boost_asio/example/cpp03/chat/posix_chat_client.cpp]
 
 
 [heading Echo]
 
 
 [heading Echo]
@@ -45,12 +57,12 @@ perform console input and output.
 A collection of simple clients and servers, showing the use of both synchronous
 and asynchronous operations.
 
 A collection of simple clients and servers, showing the use of both synchronous
 and asynchronous operations.
 
-* [@boost_asio/example/echo/async_tcp_echo_server.cpp]
-* [@boost_asio/example/echo/async_udp_echo_server.cpp]
-* [@boost_asio/example/echo/blocking_tcp_echo_client.cpp]
-* [@boost_asio/example/echo/blocking_tcp_echo_server.cpp]
-* [@boost_asio/example/echo/blocking_udp_echo_client.cpp]
-* [@boost_asio/example/echo/blocking_udp_echo_server.cpp]
+* [@boost_asio/example/cpp03/echo/async_tcp_echo_server.cpp]
+* [@boost_asio/example/cpp03/echo/async_udp_echo_server.cpp]
+* [@boost_asio/example/cpp03/echo/blocking_tcp_echo_client.cpp]
+* [@boost_asio/example/cpp03/echo/blocking_tcp_echo_server.cpp]
+* [@boost_asio/example/cpp03/echo/blocking_udp_echo_client.cpp]
+* [@boost_asio/example/cpp03/echo/blocking_udp_echo_server.cpp]
 
 
 [heading Fork]
 
 
 [heading Fork]
@@ -59,12 +71,12 @@ These POSIX-specific examples show how to use Boost.Asio in conjunction with the
 `fork()` system call. The first example illustrates the steps required to start
 a daemon process:
 
 `fork()` system call. The first example illustrates the steps required to start
 a daemon process:
 
-* [@boost_asio/example/fork/daemon.cpp]
+* [@boost_asio/example/cpp03/fork/daemon.cpp]
 
 The second example demonstrates how it is possible to fork a process from
 within a completion handler.
 
 
 The second example demonstrates how it is possible to fork a process from
 within a completion handler.
 
-* [@boost_asio/example/fork/process_per_connection.cpp]
+* [@boost_asio/example/cpp03/fork/process_per_connection.cpp]
 
 
 [heading HTTP Client]
 
 
 [heading HTTP Client]
@@ -73,8 +85,8 @@ Example programs implementing simple HTTP 1.0 clients. These examples show how
 to use the [link boost_asio.reference.read_until read_until] and [link
 boost_asio.reference.async_read_until async_read_until] functions.
 
 to use the [link boost_asio.reference.read_until read_until] and [link
 boost_asio.reference.async_read_until async_read_until] functions.
 
-* [@boost_asio/example/http/client/sync_client.cpp]
-* [@boost_asio/example/http/client/async_client.cpp]
+* [@boost_asio/example/cpp03/http/client/sync_client.cpp]
+* [@boost_asio/example/cpp03/http/client/async_client.cpp]
 
 
 [heading HTTP Server]
 
 
 [heading HTTP Server]
@@ -83,98 +95,95 @@ This example illustrates the use of asio in a simple single-threaded server
 implementation of HTTP 1.0. It demonstrates how to perform a clean shutdown by
 cancelling all outstanding asynchronous operations.
 
 implementation of HTTP 1.0. It demonstrates how to perform a clean shutdown by
 cancelling all outstanding asynchronous operations.
 
-* [@boost_asio/example/http/server/connection.cpp]
-* [@boost_asio/example/http/server/connection.hpp]
-* [@boost_asio/example/http/server/connection_manager.cpp]
-* [@boost_asio/example/http/server/connection_manager.hpp]
-* [@boost_asio/example/http/server/header.hpp]
-* [@boost_asio/example/http/server/main.cpp]
-* [@boost_asio/example/http/server/mime_types.cpp]
-* [@boost_asio/example/http/server/mime_types.hpp]
-* [@boost_asio/example/http/server/reply.cpp]
-* [@boost_asio/example/http/server/reply.hpp]
-* [@boost_asio/example/http/server/request.hpp]
-* [@boost_asio/example/http/server/request_handler.cpp]
-* [@boost_asio/example/http/server/request_handler.hpp]
-* [@boost_asio/example/http/server/request_parser.cpp]
-* [@boost_asio/example/http/server/request_parser.hpp]
-* [@boost_asio/example/http/server/server.cpp]
-* [@boost_asio/example/http/server/server.hpp]
+* [@boost_asio/example/cpp03/http/server/connection.cpp]
+* [@boost_asio/example/cpp03/http/server/connection.hpp]
+* [@boost_asio/example/cpp03/http/server/connection_manager.cpp]
+* [@boost_asio/example/cpp03/http/server/connection_manager.hpp]
+* [@boost_asio/example/cpp03/http/server/header.hpp]
+* [@boost_asio/example/cpp03/http/server/main.cpp]
+* [@boost_asio/example/cpp03/http/server/mime_types.cpp]
+* [@boost_asio/example/cpp03/http/server/mime_types.hpp]
+* [@boost_asio/example/cpp03/http/server/reply.cpp]
+* [@boost_asio/example/cpp03/http/server/reply.hpp]
+* [@boost_asio/example/cpp03/http/server/request.hpp]
+* [@boost_asio/example/cpp03/http/server/request_handler.cpp]
+* [@boost_asio/example/cpp03/http/server/request_handler.hpp]
+* [@boost_asio/example/cpp03/http/server/request_parser.cpp]
+* [@boost_asio/example/cpp03/http/server/request_parser.hpp]
+* [@boost_asio/example/cpp03/http/server/server.cpp]
+* [@boost_asio/example/cpp03/http/server/server.hpp]
 
 
 [heading HTTP Server 2]
 
 An HTTP server using an io_service-per-CPU design.
 
 
 
 [heading HTTP Server 2]
 
 An HTTP server using an io_service-per-CPU design.
 
-* [@boost_asio/example/http/server2/connection.cpp]
-* [@boost_asio/example/http/server2/connection.hpp]
-* [@boost_asio/example/http/server2/header.hpp]
-* [@boost_asio/example/http/server2/io_service_pool.cpp]
-* [@boost_asio/example/http/server2/io_service_pool.hpp]
-* [@boost_asio/example/http/server2/main.cpp]
-* [@boost_asio/example/http/server2/mime_types.cpp]
-* [@boost_asio/example/http/server2/mime_types.hpp]
-* [@boost_asio/example/http/server2/reply.cpp]
-* [@boost_asio/example/http/server2/reply.hpp]
-* [@boost_asio/example/http/server2/request.hpp]
-* [@boost_asio/example/http/server2/request_handler.cpp]
-* [@boost_asio/example/http/server2/request_handler.hpp]
-* [@boost_asio/example/http/server2/request_parser.cpp]
-* [@boost_asio/example/http/server2/request_parser.hpp]
-* [@boost_asio/example/http/server2/server.cpp]
-* [@boost_asio/example/http/server2/server.hpp]
+* [@boost_asio/example/cpp03/http/server2/connection.cpp]
+* [@boost_asio/example/cpp03/http/server2/connection.hpp]
+* [@boost_asio/example/cpp03/http/server2/header.hpp]
+* [@boost_asio/example/cpp03/http/server2/io_service_pool.cpp]
+* [@boost_asio/example/cpp03/http/server2/io_service_pool.hpp]
+* [@boost_asio/example/cpp03/http/server2/main.cpp]
+* [@boost_asio/example/cpp03/http/server2/mime_types.cpp]
+* [@boost_asio/example/cpp03/http/server2/mime_types.hpp]
+* [@boost_asio/example/cpp03/http/server2/reply.cpp]
+* [@boost_asio/example/cpp03/http/server2/reply.hpp]
+* [@boost_asio/example/cpp03/http/server2/request.hpp]
+* [@boost_asio/example/cpp03/http/server2/request_handler.cpp]
+* [@boost_asio/example/cpp03/http/server2/request_handler.hpp]
+* [@boost_asio/example/cpp03/http/server2/request_parser.cpp]
+* [@boost_asio/example/cpp03/http/server2/request_parser.hpp]
+* [@boost_asio/example/cpp03/http/server2/server.cpp]
+* [@boost_asio/example/cpp03/http/server2/server.hpp]
 
 
 [heading HTTP Server 3]
 
 An HTTP server using a single io_service and a thread pool calling `io_service::run()`.
 
 
 
 [heading HTTP Server 3]
 
 An HTTP server using a single io_service and a thread pool calling `io_service::run()`.
 
-* [@boost_asio/example/http/server3/connection.cpp]
-* [@boost_asio/example/http/server3/connection.hpp]
-* [@boost_asio/example/http/server3/header.hpp]
-* [@boost_asio/example/http/server3/main.cpp]
-* [@boost_asio/example/http/server3/mime_types.cpp]
-* [@boost_asio/example/http/server3/mime_types.hpp]
-* [@boost_asio/example/http/server3/reply.cpp]
-* [@boost_asio/example/http/server3/reply.hpp]
-* [@boost_asio/example/http/server3/request.hpp]
-* [@boost_asio/example/http/server3/request_handler.cpp]
-* [@boost_asio/example/http/server3/request_handler.hpp]
-* [@boost_asio/example/http/server3/request_parser.cpp]
-* [@boost_asio/example/http/server3/request_parser.hpp]
-* [@boost_asio/example/http/server3/server.cpp]
-* [@boost_asio/example/http/server3/server.hpp]
+* [@boost_asio/example/cpp03/http/server3/connection.cpp]
+* [@boost_asio/example/cpp03/http/server3/connection.hpp]
+* [@boost_asio/example/cpp03/http/server3/header.hpp]
+* [@boost_asio/example/cpp03/http/server3/main.cpp]
+* [@boost_asio/example/cpp03/http/server3/mime_types.cpp]
+* [@boost_asio/example/cpp03/http/server3/mime_types.hpp]
+* [@boost_asio/example/cpp03/http/server3/reply.cpp]
+* [@boost_asio/example/cpp03/http/server3/reply.hpp]
+* [@boost_asio/example/cpp03/http/server3/request.hpp]
+* [@boost_asio/example/cpp03/http/server3/request_handler.cpp]
+* [@boost_asio/example/cpp03/http/server3/request_handler.hpp]
+* [@boost_asio/example/cpp03/http/server3/request_parser.cpp]
+* [@boost_asio/example/cpp03/http/server3/request_parser.hpp]
+* [@boost_asio/example/cpp03/http/server3/server.cpp]
+* [@boost_asio/example/cpp03/http/server3/server.hpp]
 
 
 [heading HTTP Server 4]
 
 A single-threaded HTTP server implemented using stackless coroutines.
 
 
 
 [heading HTTP Server 4]
 
 A single-threaded HTTP server implemented using stackless coroutines.
 
-* [@boost_asio/example/http/server4/coroutine.hpp]
-* [@boost_asio/example/http/server4/file_handler.cpp]
-* [@boost_asio/example/http/server4/file_handler.hpp]
-* [@boost_asio/example/http/server4/header.hpp]
-* [@boost_asio/example/http/server4/main.cpp]
-* [@boost_asio/example/http/server4/mime_types.cpp]
-* [@boost_asio/example/http/server4/mime_types.hpp]
-* [@boost_asio/example/http/server4/reply.cpp]
-* [@boost_asio/example/http/server4/reply.hpp]
-* [@boost_asio/example/http/server4/request.hpp]
-* [@boost_asio/example/http/server4/request_parser.cpp]
-* [@boost_asio/example/http/server4/request_parser.hpp]
-* [@boost_asio/example/http/server4/server.cpp]
-* [@boost_asio/example/http/server4/server.hpp]
-* [@boost_asio/example/http/server4/unyield.hpp]
-* [@boost_asio/example/http/server4/yield.hpp]
+* [@boost_asio/example/cpp03/http/server4/file_handler.cpp]
+* [@boost_asio/example/cpp03/http/server4/file_handler.hpp]
+* [@boost_asio/example/cpp03/http/server4/header.hpp]
+* [@boost_asio/example/cpp03/http/server4/main.cpp]
+* [@boost_asio/example/cpp03/http/server4/mime_types.cpp]
+* [@boost_asio/example/cpp03/http/server4/mime_types.hpp]
+* [@boost_asio/example/cpp03/http/server4/reply.cpp]
+* [@boost_asio/example/cpp03/http/server4/reply.hpp]
+* [@boost_asio/example/cpp03/http/server4/request.hpp]
+* [@boost_asio/example/cpp03/http/server4/request_parser.cpp]
+* [@boost_asio/example/cpp03/http/server4/request_parser.hpp]
+* [@boost_asio/example/cpp03/http/server4/server.cpp]
+* [@boost_asio/example/cpp03/http/server4/server.hpp]
 
 
 [heading ICMP]
 
 This example shows how to use raw sockets with ICMP to ping a remote host.
 
 
 
 [heading ICMP]
 
 This example shows how to use raw sockets with ICMP to ping a remote host.
 
-* [@boost_asio/example/icmp/ping.cpp]
-* [@boost_asio/example/icmp/ipv4_header.hpp]
-* [@boost_asio/example/icmp/icmp_header.hpp]
+* [@boost_asio/example/cpp03/icmp/ping.cpp]
+* [@boost_asio/example/cpp03/icmp/ipv4_header.hpp]
+* [@boost_asio/example/cpp03/icmp/icmp_header.hpp]
 
 
 [heading Invocation]
 
 
 [heading Invocation]
@@ -182,7 +191,7 @@ This example shows how to use raw sockets with ICMP to ping a remote host.
 This example shows how to customise handler invocation. Completion handlers are
 added to a priority queue rather than executed immediately.
 
 This example shows how to customise handler invocation. Completion handlers are
 added to a priority queue rather than executed immediately.
 
-* [@boost_asio/example/invocation/prioritised_handlers.cpp]
+* [@boost_asio/example/cpp03/invocation/prioritised_handlers.cpp]
 
 
 [heading Iostreams]
 
 
 [heading Iostreams]
@@ -190,9 +199,9 @@ added to a priority queue rather than executed immediately.
 Two examples showing how to use [link boost_asio.reference.ip__tcp.iostream
 ip::tcp::iostream].
 
 Two examples showing how to use [link boost_asio.reference.ip__tcp.iostream
 ip::tcp::iostream].
 
-* [@boost_asio/example/iostreams/daytime_client.cpp]
-* [@boost_asio/example/iostreams/daytime_server.cpp]
-* [@boost_asio/example/iostreams/http_client.cpp]
+* [@boost_asio/example/cpp03/iostreams/daytime_client.cpp]
+* [@boost_asio/example/cpp03/iostreams/daytime_server.cpp]
+* [@boost_asio/example/cpp03/iostreams/http_client.cpp]
 
 
 [heading Multicast]
 
 
 [heading Multicast]
@@ -200,8 +209,8 @@ ip::tcp::iostream].
 An example showing the use of multicast to transmit packets to a group of
 subscribers.
 
 An example showing the use of multicast to transmit packets to a group of
 subscribers.
 
-* [@boost_asio/example/multicast/receiver.cpp]
-* [@boost_asio/example/multicast/sender.cpp]
+* [@boost_asio/example/cpp03/multicast/receiver.cpp]
+* [@boost_asio/example/cpp03/multicast/sender.cpp]
 
 
 [heading Serialization]
 
 
 [heading Serialization]
@@ -209,10 +218,10 @@ subscribers.
 This example shows how Boost.Serialization can be used with asio to encode and
 decode structures for transmission over a socket.
 
 This example shows how Boost.Serialization can be used with asio to encode and
 decode structures for transmission over a socket.
 
-* [@boost_asio/example/serialization/client.cpp]
-* [@boost_asio/example/serialization/connection.hpp]
-* [@boost_asio/example/serialization/server.cpp]
-* [@boost_asio/example/serialization/stock.hpp]
+* [@boost_asio/example/cpp03/serialization/client.cpp]
+* [@boost_asio/example/cpp03/serialization/connection.hpp]
+* [@boost_asio/example/cpp03/serialization/server.cpp]
+* [@boost_asio/example/cpp03/serialization/stock.hpp]
 
 
 [heading Services]
 
 
 [heading Services]
@@ -222,12 +231,12 @@ for logging) into asio's [link boost_asio.reference.io_service io_service], and
 how to use a custom service with [link
 boost_asio.reference.basic_stream_socket basic_stream_socket<>].
 
 how to use a custom service with [link
 boost_asio.reference.basic_stream_socket basic_stream_socket<>].
 
-* [@boost_asio/example/services/basic_logger.hpp]
-* [@boost_asio/example/services/daytime_client.cpp]
-* [@boost_asio/example/services/logger.hpp]
-* [@boost_asio/example/services/logger_service.cpp]
-* [@boost_asio/example/services/logger_service.hpp]
-* [@boost_asio/example/services/stream_socket_service.hpp]
+* [@boost_asio/example/cpp03/services/basic_logger.hpp]
+* [@boost_asio/example/cpp03/services/daytime_client.cpp]
+* [@boost_asio/example/cpp03/services/logger.hpp]
+* [@boost_asio/example/cpp03/services/logger_service.cpp]
+* [@boost_asio/example/cpp03/services/logger_service.hpp]
+* [@boost_asio/example/cpp03/services/stream_socket_service.hpp]
 
 
 [heading SOCKS 4]
 
 
 [heading SOCKS 4]
@@ -235,8 +244,8 @@ boost_asio.reference.basic_stream_socket basic_stream_socket<>].
 Example client program implementing the SOCKS 4 protocol for communication via
 a proxy.
 
 Example client program implementing the SOCKS 4 protocol for communication via
 a proxy.
 
-* [@boost_asio/example/socks4/sync_client.cpp]
-* [@boost_asio/example/socks4/socks4.hpp]
+* [@boost_asio/example/cpp03/socks4/sync_client.cpp]
+* [@boost_asio/example/cpp03/socks4/socks4.hpp]
 
 
 [heading SSL]
 
 
 [heading SSL]
@@ -244,8 +253,8 @@ a proxy.
 Example client and server programs showing the use of the [link
 boost_asio.reference.ssl__stream ssl::stream<>] template with asynchronous operations.
 
 Example client and server programs showing the use of the [link
 boost_asio.reference.ssl__stream ssl::stream<>] template with asynchronous operations.
 
-* [@boost_asio/example/ssl/client.cpp]
-* [@boost_asio/example/ssl/server.cpp]
+* [@boost_asio/example/cpp03/ssl/client.cpp]
+* [@boost_asio/example/cpp03/ssl/server.cpp]
 
 
 [heading Timeouts]
 
 
 [heading Timeouts]
@@ -253,18 +262,18 @@ boost_asio.reference.ssl__stream ssl::stream<>] template with asynchronous opera
 A collection of examples showing how to cancel long running asynchronous
 operations after a period of time.
 
 A collection of examples showing how to cancel long running asynchronous
 operations after a period of time.
 
-* [@boost_asio/example/timeouts/async_tcp_client.cpp]
-* [@boost_asio/example/timeouts/blocking_tcp_client.cpp]
-* [@boost_asio/example/timeouts/blocking_udp_client.cpp]
-* [@boost_asio/example/timeouts/server.cpp]
+* [@boost_asio/example/cpp03/timeouts/async_tcp_client.cpp]
+* [@boost_asio/example/cpp03/timeouts/blocking_tcp_client.cpp]
+* [@boost_asio/example/cpp03/timeouts/blocking_udp_client.cpp]
+* [@boost_asio/example/cpp03/timeouts/server.cpp]
 
 
 [heading Timers]
 
 Examples showing how to customise deadline_timer using different time types.
 
 
 
 [heading Timers]
 
 Examples showing how to customise deadline_timer using different time types.
 
-* [@boost_asio/example/timers/tick_count_timer.cpp]
-* [@boost_asio/example/timers/time_t_timer.cpp]
+* [@boost_asio/example/cpp03/timers/tick_count_timer.cpp]
+* [@boost_asio/example/cpp03/timers/time_t_timer.cpp]
 
 
 [heading Porthopper]
 
 
 [heading Porthopper]
@@ -272,9 +281,9 @@ Examples showing how to customise deadline_timer using different time types.
 Example illustrating mixed synchronous and asynchronous operations, and how to
 use Boost.Lambda with Boost.Asio.
 
 Example illustrating mixed synchronous and asynchronous operations, and how to
 use Boost.Lambda with Boost.Asio.
 
-* [@boost_asio/example/porthopper/protocol.hpp]
-* [@boost_asio/example/porthopper/client.cpp]
-* [@boost_asio/example/porthopper/server.cpp]
+* [@boost_asio/example/cpp03/porthopper/protocol.hpp]
+* [@boost_asio/example/cpp03/porthopper/client.cpp]
+* [@boost_asio/example/cpp03/porthopper/server.cpp]
 
 
 [heading Nonblocking]
 
 
 [heading Nonblocking]
@@ -282,16 +291,26 @@ use Boost.Lambda with Boost.Asio.
 Example demonstrating reactor-style operations for integrating a third-party
 library that wants to perform the I/O operations itself.
 
 Example demonstrating reactor-style operations for integrating a third-party
 library that wants to perform the I/O operations itself.
 
-* [@boost_asio/example/nonblocking/third_party_lib.cpp]
+* [@boost_asio/example/cpp03/nonblocking/third_party_lib.cpp]
+
+
+[heading Spawn]
+
+Example of using the boost::asio::spawn() function, a wrapper around the
+[@http://www.boost.org/doc/libs/release/libs/coroutine/index.html Boost.Coroutine]
+library, to implement a chain of asynchronous operations using stackful
+coroutines.
+
+* [@boost_asio/example/cpp03/spawn/echo_server.cpp]
 
 
 [heading UNIX Domain Sockets]
 
 Examples showing how to use UNIX domain (local) sockets.
 
 
 
 [heading UNIX Domain Sockets]
 
 Examples showing how to use UNIX domain (local) sockets.
 
-* [@boost_asio/example/local/connect_pair.cpp]
-* [@boost_asio/example/local/stream_server.cpp]
-* [@boost_asio/example/local/stream_client.cpp]
+* [@boost_asio/example/cpp03/local/connect_pair.cpp]
+* [@boost_asio/example/cpp03/local/stream_server.cpp]
+* [@boost_asio/example/cpp03/local/stream_client.cpp]
 
 
 [heading Windows]
 
 
 [heading Windows]
@@ -299,7 +318,98 @@ Examples showing how to use UNIX domain (local) sockets.
 An example showing how to use the Windows-specific function `TransmitFile`
 with Boost.Asio.
 
 An example showing how to use the Windows-specific function `TransmitFile`
 with Boost.Asio.
 
-* [@boost_asio/example/windows/transmit_file.cpp]
+* [@boost_asio/example/cpp03/windows/transmit_file.cpp]
+
+
+[endsect]
+
+
+[section:cpp11_examples C++11 Examples]
+
+
+[heading Allocation]
+
+This example shows how to customise the allocation of memory associated with
+asynchronous operations.
+
+* [@boost_asio/example/cpp11/allocation/server.cpp]
+
+
+[heading Buffers]
+
+This example demonstrates how to create reference counted buffers that can be
+used with socket read and write operations.
+
+* [@boost_asio/example/cpp11/buffers/reference_counted.cpp]
+
+
+[heading Chat]
+
+This example implements a chat server and client. The programs use a custom
+protocol with a fixed length message header and variable length message body.
+
+* [@boost_asio/example/cpp11/chat/chat_message.hpp]
+* [@boost_asio/example/cpp11/chat/chat_client.cpp]
+* [@boost_asio/example/cpp11/chat/chat_server.cpp]
+
+
+[heading Echo]
+
+A collection of simple clients and servers, showing the use of both synchronous
+and asynchronous operations.
+
+* [@boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp]
+* [@boost_asio/example/cpp11/echo/async_udp_echo_server.cpp]
+* [@boost_asio/example/cpp11/echo/blocking_tcp_echo_client.cpp]
+* [@boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp]
+* [@boost_asio/example/cpp11/echo/blocking_udp_echo_client.cpp]
+* [@boost_asio/example/cpp11/echo/blocking_udp_echo_server.cpp]
+
+
+[heading Futures]
+
+This example demonstrates how to use std::future in conjunction with
+Boost.Asio's asynchronous operations.
+
+* [@boost_asio/example/cpp11/futures/daytime_client.cpp]
+
+
+[heading HTTP Server]
+
+This example illustrates the use of asio in a simple single-threaded server
+implementation of HTTP 1.0. It demonstrates how to perform a clean shutdown by
+cancelling all outstanding asynchronous operations.
+
+* [@boost_asio/example/cpp11/http/server/connection.cpp]
+* [@boost_asio/example/cpp11/http/server/connection.hpp]
+* [@boost_asio/example/cpp11/http/server/connection_manager.cpp]
+* [@boost_asio/example/cpp11/http/server/connection_manager.hpp]
+* [@boost_asio/example/cpp11/http/server/header.hpp]
+* [@boost_asio/example/cpp11/http/server/main.cpp]
+* [@boost_asio/example/cpp11/http/server/mime_types.cpp]
+* [@boost_asio/example/cpp11/http/server/mime_types.hpp]
+* [@boost_asio/example/cpp11/http/server/reply.cpp]
+* [@boost_asio/example/cpp11/http/server/reply.hpp]
+* [@boost_asio/example/cpp11/http/server/request.hpp]
+* [@boost_asio/example/cpp11/http/server/request_handler.cpp]
+* [@boost_asio/example/cpp11/http/server/request_handler.hpp]
+* [@boost_asio/example/cpp11/http/server/request_parser.cpp]
+* [@boost_asio/example/cpp11/http/server/request_parser.hpp]
+* [@boost_asio/example/cpp11/http/server/server.cpp]
+* [@boost_asio/example/cpp11/http/server/server.hpp]
+
+
+[heading Spawn]
+
+Example of using the boost::asio::spawn() function, a wrapper around the
+[@http://www.boost.org/doc/libs/release/libs/coroutine/index.html Boost.Coroutine]
+library, to implement a chain of asynchronous operations using stackful
+coroutines.
+
+* [@boost_asio/example/cpp11/spawn/echo_server.cpp]
+
+
+[endsect]
 
 
 [endsect]
 
 
 [endsect]