Browse Source

initial commit

master
Tibor 6 months ago
parent
commit
b5424300c6
  1. 23
      LICENSE
  2. 7
      README.md
  3. BIN
      doc/asio.png
  4. 61
      doc/asio/examples.html
  5. 636
      doc/asio/examples/cpp03_examples.html
  6. 451
      doc/asio/examples/cpp11_examples.html
  7. 71
      doc/asio/examples/cpp14_examples.html
  8. 60
      doc/asio/examples/cpp17_examples.html
  9. 3184
      doc/asio/history.html
  10. 6044
      doc/asio/index.html
  11. 1240
      doc/asio/net_ts.html
  12. 155
      doc/asio/overview.html
  13. 84
      doc/asio/overview/core.html
  14. 136
      doc/asio/overview/core/allocation.html
  15. 280
      doc/asio/overview/core/async.html
  16. 172
      doc/asio/overview/core/basics.html
  17. 235
      doc/asio/overview/core/buffers.html
  18. 168
      doc/asio/overview/core/concurrency_hint.html
  19. 84
      doc/asio/overview/core/coroutine.html
  20. 132
      doc/asio/overview/core/coroutines_ts.html
  21. 490
      doc/asio/overview/core/handler_tracking.html
  22. 158
      doc/asio/overview/core/line_based.html
  23. 79
      doc/asio/overview/core/reactor.html
  24. 146
      doc/asio/overview/core/spawn.html
  25. 161
      doc/asio/overview/core/strands.html
  26. 121
      doc/asio/overview/core/streams.html
  27. 124
      doc/asio/overview/core/threads.html
  28. 65
      doc/asio/overview/cpp2011.html
  29. 63
      doc/asio/overview/cpp2011/array.html
  30. 48
      doc/asio/overview/cpp2011/atomic.html
  31. 59
      doc/asio/overview/cpp2011/chrono.html
  32. 75
      doc/asio/overview/cpp2011/futures.html
  33. 81
      doc/asio/overview/cpp2011/move_handlers.html
  34. 102
      doc/asio/overview/cpp2011/move_objects.html
  35. 48
      doc/asio/overview/cpp2011/shared_ptr.html
  36. 50
      doc/asio/overview/cpp2011/system_error.html
  37. 49
      doc/asio/overview/cpp2011/variadic.html
  38. 505
      doc/asio/overview/implementation.html
  39. 53
      doc/asio/overview/networking.html
  40. 546
      doc/asio/overview/networking/bsd_sockets.html
  41. 112
      doc/asio/overview/networking/iostreams.html
  42. 152
      doc/asio/overview/networking/other_protocols.html
  43. 204
      doc/asio/overview/networking/protocols.html
  44. 47
      doc/asio/overview/posix.html
  45. 77
      doc/asio/overview/posix/fork.html
  46. 104
      doc/asio/overview/posix/local.html
  47. 86
      doc/asio/overview/posix/stream_descriptor.html
  48. 97
      doc/asio/overview/rationale.html
  49. 83
      doc/asio/overview/serial_ports.html
  50. 76
      doc/asio/overview/signals.html
  51. 189
      doc/asio/overview/ssl.html
  52. 87
      doc/asio/overview/timers.html
  53. 47
      doc/asio/overview/windows.html
  54. 95
      doc/asio/overview/windows/object_handle.html
  55. 76
      doc/asio/overview/windows/random_access_handle.html
  56. 79
      doc/asio/overview/windows/stream_handle.html
  57. 790
      doc/asio/reference.html
  58. 105
      doc/asio/reference/AcceptHandler.html
  59. 88
      doc/asio/reference/AcceptableProtocol.html
  60. 128
      doc/asio/reference/AsyncRandomAccessReadDevice.html
  61. 129
      doc/asio/reference/AsyncRandomAccessWriteDevice.html
  62. 129
      doc/asio/reference/AsyncReadStream.html
  63. 126
      doc/asio/reference/AsyncWriteStream.html
  64. 90
      doc/asio/reference/BufferedHandshakeHandler.html
  65. 106
      doc/asio/reference/CompletionCondition.html
  66. 99
      doc/asio/reference/CompletionHandler.html
  67. 99
      doc/asio/reference/ConnectCondition.html
  68. 105
      doc/asio/reference/ConnectHandler.html
  69. 130
      doc/asio/reference/ConstBufferSequence.html
  70. 50
      doc/asio/reference/DynamicBuffer.html
  71. 258
      doc/asio/reference/DynamicBuffer_v1.html
  72. 265
      doc/asio/reference/DynamicBuffer_v2.html
  73. 256
      doc/asio/reference/Endpoint.html
  74. 94
      doc/asio/reference/EndpointSequence.html
  75. 123
      doc/asio/reference/ExecutionContext.html
  76. 404
      doc/asio/reference/Executor1.html
  77. 95
      doc/asio/reference/GettableSerialPortOption.html
  78. 175
      doc/asio/reference/GettableSocketOption.html
  79. 150
      doc/asio/reference/Handler.html
  80. 108
      doc/asio/reference/HandshakeHandler.html
  81. 163
      doc/asio/reference/InternetProtocol.html
  82. 109
      doc/asio/reference/IoControlCommand.html
  83. 170
      doc/asio/reference/IoObjectService.html
  84. 118
      doc/asio/reference/IteratorConnectHandler.html
  85. 100
      doc/asio/reference/LegacyCompletionHandler.html
  86. 97
      doc/asio/reference/MoveAcceptHandler.html
  87. 130
      doc/asio/reference/MutableBufferSequence.html
  88. 66
      doc/asio/reference/OperationState.html
  89. 48
      doc/asio/reference/ProtoAllocator.html
  90. 180
      doc/asio/reference/Protocol.html
  91. 118
      doc/asio/reference/RangeConnectHandler.html
  92. 113
      doc/asio/reference/ReadHandler.html
  93. 88
      doc/asio/reference/Receiver.html
  94. 115
      doc/asio/reference/ResolveHandler.html
  95. 178
      doc/asio/reference/Scheduler.html
  96. 98
      doc/asio/reference/Sender.html
  97. 74
      doc/asio/reference/Service.html
  98. 94
      doc/asio/reference/SettableSerialPortOption.html
  99. 155
      doc/asio/reference/SettableSocketOption.html
  100. 106
      doc/asio/reference/ShutdownHandler.html

23
LICENSE

@ -0,0 +1,23 @@
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

7
README.md

@ -1,3 +1,8 @@
# boost-asio
Contains asynchronous input/output functionality also provided by boost (`boost::asio`).
Contains asynchronous input/output functionality also provided by boost (`boost::asio`).
asio version **1.18.2**
Released Monday, 17 May 2021.
See doc/index.html for API documentation and a tutorial.

BIN
doc/asio.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

61
doc/asio/examples.html

@ -0,0 +1,61 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Examples</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Asio">
<link rel="up" href="../index.html" title="Asio">
<link rel="prev" href="tutorial/boost_bind.html" title="boost::bind">
<link rel="next" href="examples/cpp03_examples.html" title="C++03 Examples">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="asio C++ library" width="250" height="60" src="../asio.png"></td></tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="tutorial/boost_bind.html"><img src="../prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../home.png" alt="Home"></a><a accesskey="n" href="examples/cpp03_examples.html"><img src="../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="asio.examples"></a><a class="link" href="examples.html" title="Examples">Examples</a>
</h2></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a class="link" href="examples/cpp03_examples.html" title="C++03 Examples">C++03 Examples</a>: Illustrates
the use of Asio using only C++03 language and library features. Where necessary,
the examples make use of selected Boost C++ libraries.
</li>
<li class="listitem">
<a class="link" href="examples/cpp11_examples.html" title="C++11 Examples">C++11 Examples</a>: Contains
a limited set of the C++03 Asio examples, updated to use only C++11 library
and language facilities. These examples do not make direct use of Boost
C++ libraries. To show the changes between C++03 and C++11, these examples
include a diff between the C++03 and C++11 versions.
</li>
<li class="listitem">
<a class="link" href="examples/cpp14_examples.html" title="C++14 Examples">C++14 Examples</a>: Contains
a limited set of the C++03 Asio examples, updated to use only C++14 library
and language facilities. These examples do not make direct use of Boost
C++ libraries.
</li>
<li class="listitem">
<a class="link" href="examples/cpp17_examples.html" title="C++17 Examples">C++17 Examples</a>: Selected
examples illustrating C++17 usage in conjunction with Technical Specifications.
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2003-2021 Christopher
M. Kohlhoff<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="tutorial/boost_bind.html"><img src="../prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../home.png" alt="Home"></a><a accesskey="n" href="examples/cpp03_examples.html"><img src="../next.png" alt="Next"></a>
</div>
</body>
</html>

636
doc/asio/examples/cpp03_examples.html

@ -0,0 +1,636 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>C++03 Examples</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Asio">
<link rel="up" href="../examples.html" title="Examples">
<link rel="prev" href="../examples.html" title="Examples">
<link rel="next" href="cpp11_examples.html" title="C++11 Examples">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="asio C++ library" width="250" height="60" src="../../asio.png"></td></tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../examples.html"><img src="../../prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../home.png" alt="Home"></a><a accesskey="n" href="cpp11_examples.html"><img src="../../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="asio.examples.cpp03_examples"></a><a class="link" href="cpp03_examples.html" title="C++03 Examples">C++03 Examples</a>
</h3></div></div></div>
<h5>
<a name="asio.examples.cpp03_examples.h0"></a>
<span><a name="asio.examples.cpp03_examples.allocation"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.allocation">Allocation</a>
</h5>
<p>
This example shows how to customise the allocation of memory associated with
asynchronous operations.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp03/allocation/server.cpp" target="_top">../src/examples/cpp03/allocation/server.cpp</a>
</li></ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h1"></a>
<span><a name="asio.examples.cpp03_examples.buffers"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.buffers">Buffers</a>
</h5>
<p>
This example demonstrates how to create reference counted buffers that can
be used with socket read and write operations.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp03/buffers/reference_counted.cpp" target="_top">../src/examples/cpp03/buffers/reference_counted.cpp</a>
</li></ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h2"></a>
<span><a name="asio.examples.cpp03_examples.chat"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.chat">Chat</a>
</h5>
<p>
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.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/chat/chat_message.hpp" target="_top">../src/examples/cpp03/chat/chat_message.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/chat/chat_client.cpp" target="_top">../src/examples/cpp03/chat/chat_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/chat/chat_server.cpp" target="_top">../src/examples/cpp03/chat/chat_server.cpp</a>
</li>
</ul></div>
<p>
The following POSIX-specific chat client demonstrates how to use the <a class="link" href="../reference/posix__stream_descriptor.html" title="posix::stream_descriptor">posix::stream_descriptor</a>
class to perform console input and output.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp03/chat/posix_chat_client.cpp" target="_top">../src/examples/cpp03/chat/posix_chat_client.cpp</a>
</li></ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h3"></a>
<span><a name="asio.examples.cpp03_examples.echo"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.echo">Echo</a>
</h5>
<p>
A collection of simple clients and servers, showing the use of both synchronous
and asynchronous operations.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/echo/async_tcp_echo_server.cpp" target="_top">../src/examples/cpp03/echo/async_tcp_echo_server.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/echo/async_udp_echo_server.cpp" target="_top">../src/examples/cpp03/echo/async_udp_echo_server.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/echo/blocking_tcp_echo_client.cpp" target="_top">../src/examples/cpp03/echo/blocking_tcp_echo_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/echo/blocking_tcp_echo_server.cpp" target="_top">../src/examples/cpp03/echo/blocking_tcp_echo_server.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/echo/blocking_udp_echo_client.cpp" target="_top">../src/examples/cpp03/echo/blocking_udp_echo_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/echo/blocking_udp_echo_server.cpp" target="_top">../src/examples/cpp03/echo/blocking_udp_echo_server.cpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h4"></a>
<span><a name="asio.examples.cpp03_examples.fork"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.fork">Fork</a>
</h5>
<p>
These POSIX-specific examples show how to use Asio in conjunction with the
<code class="computeroutput">fork()</code> system call. The first example illustrates the steps
required to start a daemon process:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp03/fork/daemon.cpp" target="_top">../src/examples/cpp03/fork/daemon.cpp</a>
</li></ul></div>
<p>
The second example demonstrates how it is possible to fork a process from
within a completion handler.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp03/fork/process_per_connection.cpp" target="_top">../src/examples/cpp03/fork/process_per_connection.cpp</a>
</li></ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h5"></a>
<span><a name="asio.examples.cpp03_examples.http_client"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.http_client">HTTP
Client</a>
</h5>
<p>
Example programs implementing simple HTTP 1.0 clients. These examples show
how to use the <a class="link" href="../reference/read_until.html" title="read_until">read_until</a>
and <a class="link" href="../reference/async_read_until.html" title="async_read_until">async_read_until</a>
functions.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/http/client/sync_client.cpp" target="_top">../src/examples/cpp03/http/client/sync_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/client/async_client.cpp" target="_top">../src/examples/cpp03/http/client/async_client.cpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h6"></a>
<span><a name="asio.examples.cpp03_examples.http_server"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.http_server">HTTP
Server</a>
</h5>
<p>
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.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/connection.cpp" target="_top">../src/examples/cpp03/http/server/connection.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/connection.hpp" target="_top">../src/examples/cpp03/http/server/connection.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/connection_manager.cpp" target="_top">../src/examples/cpp03/http/server/connection_manager.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/connection_manager.hpp" target="_top">../src/examples/cpp03/http/server/connection_manager.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/header.hpp" target="_top">../src/examples/cpp03/http/server/header.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/main.cpp" target="_top">../src/examples/cpp03/http/server/main.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/mime_types.cpp" target="_top">../src/examples/cpp03/http/server/mime_types.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/mime_types.hpp" target="_top">../src/examples/cpp03/http/server/mime_types.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/reply.cpp" target="_top">../src/examples/cpp03/http/server/reply.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/reply.hpp" target="_top">../src/examples/cpp03/http/server/reply.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/request.hpp" target="_top">../src/examples/cpp03/http/server/request.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/request_handler.cpp" target="_top">../src/examples/cpp03/http/server/request_handler.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/request_handler.hpp" target="_top">../src/examples/cpp03/http/server/request_handler.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/request_parser.cpp" target="_top">../src/examples/cpp03/http/server/request_parser.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/request_parser.hpp" target="_top">../src/examples/cpp03/http/server/request_parser.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/server.cpp" target="_top">../src/examples/cpp03/http/server/server.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server/server.hpp" target="_top">../src/examples/cpp03/http/server/server.hpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h7"></a>
<span><a name="asio.examples.cpp03_examples.http_server_2"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.http_server_2">HTTP
Server 2</a>
</h5>
<p>
An HTTP server using an io_context-per-CPU design.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/connection.cpp" target="_top">../src/examples/cpp03/http/server2/connection.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/connection.hpp" target="_top">../src/examples/cpp03/http/server2/connection.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/header.hpp" target="_top">../src/examples/cpp03/http/server2/header.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/io_context_pool.cpp" target="_top">../src/examples/cpp03/http/server2/io_context_pool.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/io_context_pool.hpp" target="_top">../src/examples/cpp03/http/server2/io_context_pool.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/main.cpp" target="_top">../src/examples/cpp03/http/server2/main.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/mime_types.cpp" target="_top">../src/examples/cpp03/http/server2/mime_types.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/mime_types.hpp" target="_top">../src/examples/cpp03/http/server2/mime_types.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/reply.cpp" target="_top">../src/examples/cpp03/http/server2/reply.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/reply.hpp" target="_top">../src/examples/cpp03/http/server2/reply.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/request.hpp" target="_top">../src/examples/cpp03/http/server2/request.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/request_handler.cpp" target="_top">../src/examples/cpp03/http/server2/request_handler.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/request_handler.hpp" target="_top">../src/examples/cpp03/http/server2/request_handler.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/request_parser.cpp" target="_top">../src/examples/cpp03/http/server2/request_parser.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/request_parser.hpp" target="_top">../src/examples/cpp03/http/server2/request_parser.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/server.cpp" target="_top">../src/examples/cpp03/http/server2/server.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server2/server.hpp" target="_top">../src/examples/cpp03/http/server2/server.hpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h8"></a>
<span><a name="asio.examples.cpp03_examples.http_server_3"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.http_server_3">HTTP
Server 3</a>
</h5>
<p>
An HTTP server using a single io_context and a thread pool calling <code class="computeroutput">io_context::run()</code>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/connection.cpp" target="_top">../src/examples/cpp03/http/server3/connection.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/connection.hpp" target="_top">../src/examples/cpp03/http/server3/connection.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/header.hpp" target="_top">../src/examples/cpp03/http/server3/header.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/main.cpp" target="_top">../src/examples/cpp03/http/server3/main.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/mime_types.cpp" target="_top">../src/examples/cpp03/http/server3/mime_types.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/mime_types.hpp" target="_top">../src/examples/cpp03/http/server3/mime_types.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/reply.cpp" target="_top">../src/examples/cpp03/http/server3/reply.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/reply.hpp" target="_top">../src/examples/cpp03/http/server3/reply.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/request.hpp" target="_top">../src/examples/cpp03/http/server3/request.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/request_handler.cpp" target="_top">../src/examples/cpp03/http/server3/request_handler.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/request_handler.hpp" target="_top">../src/examples/cpp03/http/server3/request_handler.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/request_parser.cpp" target="_top">../src/examples/cpp03/http/server3/request_parser.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/request_parser.hpp" target="_top">../src/examples/cpp03/http/server3/request_parser.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/server.cpp" target="_top">../src/examples/cpp03/http/server3/server.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server3/server.hpp" target="_top">../src/examples/cpp03/http/server3/server.hpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h9"></a>
<span><a name="asio.examples.cpp03_examples.http_server_4"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.http_server_4">HTTP
Server 4</a>
</h5>
<p>
A single-threaded HTTP server implemented using stackless coroutines.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/file_handler.cpp" target="_top">../src/examples/cpp03/http/server4/file_handler.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/file_handler.hpp" target="_top">../src/examples/cpp03/http/server4/file_handler.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/header.hpp" target="_top">../src/examples/cpp03/http/server4/header.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/main.cpp" target="_top">../src/examples/cpp03/http/server4/main.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/mime_types.cpp" target="_top">../src/examples/cpp03/http/server4/mime_types.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/mime_types.hpp" target="_top">../src/examples/cpp03/http/server4/mime_types.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/reply.cpp" target="_top">../src/examples/cpp03/http/server4/reply.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/reply.hpp" target="_top">../src/examples/cpp03/http/server4/reply.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/request.hpp" target="_top">../src/examples/cpp03/http/server4/request.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/request_parser.cpp" target="_top">../src/examples/cpp03/http/server4/request_parser.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/request_parser.hpp" target="_top">../src/examples/cpp03/http/server4/request_parser.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/server.cpp" target="_top">../src/examples/cpp03/http/server4/server.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/http/server4/server.hpp" target="_top">../src/examples/cpp03/http/server4/server.hpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h10"></a>
<span><a name="asio.examples.cpp03_examples.icmp"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.icmp">ICMP</a>
</h5>
<p>
This example shows how to use raw sockets with ICMP to ping a remote host.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/icmp/ping.cpp" target="_top">../src/examples/cpp03/icmp/ping.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/icmp/ipv4_header.hpp" target="_top">../src/examples/cpp03/icmp/ipv4_header.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/icmp/icmp_header.hpp" target="_top">../src/examples/cpp03/icmp/icmp_header.hpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h11"></a>
<span><a name="asio.examples.cpp03_examples.invocation"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.invocation">Invocation</a>
</h5>
<p>
This example shows how to customise handler invocation. Completion handlers
are added to a priority queue rather than executed immediately.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp03/invocation/prioritised_handlers.cpp" target="_top">../src/examples/cpp03/invocation/prioritised_handlers.cpp</a>
</li></ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h12"></a>
<span><a name="asio.examples.cpp03_examples.iostreams"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.iostreams">Iostreams</a>
</h5>
<p>
Two examples showing how to use <a class="link" href="../reference/ip__tcp/iostream.html" title="ip::tcp::iostream">ip::tcp::iostream</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/iostreams/daytime_client.cpp" target="_top">../src/examples/cpp03/iostreams/daytime_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/iostreams/daytime_server.cpp" target="_top">../src/examples/cpp03/iostreams/daytime_server.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/iostreams/http_client.cpp" target="_top">../src/examples/cpp03/iostreams/http_client.cpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h13"></a>
<span><a name="asio.examples.cpp03_examples.multicast"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.multicast">Multicast</a>
</h5>
<p>
An example showing the use of multicast to transmit packets to a group of
subscribers.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/multicast/receiver.cpp" target="_top">../src/examples/cpp03/multicast/receiver.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/multicast/sender.cpp" target="_top">../src/examples/cpp03/multicast/sender.cpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h14"></a>
<span><a name="asio.examples.cpp03_examples.serialization"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.serialization">Serialization</a>
</h5>
<p>
This example shows how Boost.Serialization can be used with asio to encode
and decode structures for transmission over a socket.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/serialization/client.cpp" target="_top">../src/examples/cpp03/serialization/client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/serialization/connection.hpp" target="_top">../src/examples/cpp03/serialization/connection.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/serialization/server.cpp" target="_top">../src/examples/cpp03/serialization/server.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/serialization/stock.hpp" target="_top">../src/examples/cpp03/serialization/stock.hpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h15"></a>
<span><a name="asio.examples.cpp03_examples.services"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.services">Services</a>
</h5>
<p>
This example demonstrates how to integrate custom functionality (in this
case, for logging) into asio's <a class="link" href="../reference/io_context.html" title="io_context">io_context</a>,
and how to use a custom service with <a class="link" href="../reference/basic_stream_socket.html" title="basic_stream_socket">basic_stream_socket&lt;&gt;</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/services/basic_logger.hpp" target="_top">../src/examples/cpp03/services/basic_logger.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/services/daytime_client.cpp" target="_top">../src/examples/cpp03/services/daytime_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/services/logger.hpp" target="_top">../src/examples/cpp03/services/logger.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/services/logger_service.cpp" target="_top">../src/examples/cpp03/services/logger_service.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/services/logger_service.hpp" target="_top">../src/examples/cpp03/services/logger_service.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/services/stream_socket_service.hpp" target="_top">../src/examples/cpp03/services/stream_socket_service.hpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h16"></a>
<span><a name="asio.examples.cpp03_examples.socks_4"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.socks_4">SOCKS
4</a>
</h5>
<p>
Example client program implementing the SOCKS 4 protocol for communication
via a proxy.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/socks4/sync_client.cpp" target="_top">../src/examples/cpp03/socks4/sync_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/socks4/socks4.hpp" target="_top">../src/examples/cpp03/socks4/socks4.hpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h17"></a>
<span><a name="asio.examples.cpp03_examples.ssl"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.ssl">SSL</a>
</h5>
<p>
Example client and server programs showing the use of the <a class="link" href="../reference/ssl__stream.html" title="ssl::stream">ssl::stream&lt;&gt;</a>
template with asynchronous operations.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/ssl/client.cpp" target="_top">../src/examples/cpp03/ssl/client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/ssl/server.cpp" target="_top">../src/examples/cpp03/ssl/server.cpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h18"></a>
<span><a name="asio.examples.cpp03_examples.timeouts"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.timeouts">Timeouts</a>
</h5>
<p>
A collection of examples showing how to cancel long running asynchronous
operations after a period of time.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/timeouts/async_tcp_client.cpp" target="_top">../src/examples/cpp03/timeouts/async_tcp_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/timeouts/blocking_tcp_client.cpp" target="_top">../src/examples/cpp03/timeouts/blocking_tcp_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp" target="_top">../src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/timeouts/blocking_udp_client.cpp" target="_top">../src/examples/cpp03/timeouts/blocking_udp_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/timeouts/server.cpp" target="_top">../src/examples/cpp03/timeouts/server.cpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h19"></a>
<span><a name="asio.examples.cpp03_examples.timers"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.timers">Timers</a>
</h5>
<p>
Example showing how to customise basic_waitable_timer using a different clock
type.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp03/timers/time_t_timer.cpp" target="_top">../src/examples/cpp03/timers/time_t_timer.cpp</a>
</li></ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h20"></a>
<span><a name="asio.examples.cpp03_examples.porthopper"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.porthopper">Porthopper</a>
</h5>
<p>
Example illustrating mixed synchronous and asynchronous operations, and how
to use Boost.Lambda with Asio.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/porthopper/protocol.hpp" target="_top">../src/examples/cpp03/porthopper/protocol.hpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/porthopper/client.cpp" target="_top">../src/examples/cpp03/porthopper/client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/porthopper/server.cpp" target="_top">../src/examples/cpp03/porthopper/server.cpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h21"></a>
<span><a name="asio.examples.cpp03_examples.nonblocking"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.nonblocking">Nonblocking</a>
</h5>
<p>
Example demonstrating reactor-style operations for integrating a third-party
library that wants to perform the I/O operations itself.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp03/nonblocking/third_party_lib.cpp" target="_top">../src/examples/cpp03/nonblocking/third_party_lib.cpp</a>
</li></ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h22"></a>
<span><a name="asio.examples.cpp03_examples.spawn"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.spawn">Spawn</a>
</h5>
<p>
Example of using the asio::spawn() function, a wrapper around the <a href="http://www.boost.org/doc/libs/release/libs/coroutine/index.html" target="_top">Boost.Coroutine</a>
library, to implement a chain of asynchronous operations using stackful coroutines.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp03/spawn/echo_server.cpp" target="_top">../src/examples/cpp03/spawn/echo_server.cpp</a>
</li></ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h23"></a>
<span><a name="asio.examples.cpp03_examples.unix_domain_sockets"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.unix_domain_sockets">UNIX
Domain Sockets</a>
</h5>
<p>
Examples showing how to use UNIX domain (local) sockets.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp03/local/connect_pair.cpp" target="_top">../src/examples/cpp03/local/connect_pair.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/local/iostream_client.cpp" target="_top">../src/examples/cpp03/local/iostream_client.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/local/stream_server.cpp" target="_top">../src/examples/cpp03/local/stream_server.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp03/local/stream_client.cpp" target="_top">../src/examples/cpp03/local/stream_client.cpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp03_examples.h24"></a>
<span><a name="asio.examples.cpp03_examples.windows"></a></span><a class="link" href="cpp03_examples.html#asio.examples.cpp03_examples.windows">Windows</a>
</h5>
<p>
An example showing how to use the Windows-specific function <code class="computeroutput">TransmitFile</code>
with Asio.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp03/windows/transmit_file.cpp" target="_top">../src/examples/cpp03/windows/transmit_file.cpp</a>
</li></ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2003-2021 Christopher
M. Kohlhoff<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../examples.html"><img src="../../prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../home.png" alt="Home"></a><a accesskey="n" href="cpp11_examples.html"><img src="../../next.png" alt="Next"></a>
</div>
</body>
</html>

451
doc/asio/examples/cpp11_examples.html

@ -0,0 +1,451 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>C++11 Examples</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Asio">
<link rel="up" href="../examples.html" title="Examples">
<link rel="prev" href="cpp03_examples.html" title="C++03 Examples">
<link rel="next" href="cpp14_examples.html" title="C++14 Examples">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="asio C++ library" width="250" height="60" src="../../asio.png"></td></tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="cpp03_examples.html"><img src="../../prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../home.png" alt="Home"></a><a accesskey="n" href="cpp14_examples.html"><img src="../../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="asio.examples.cpp11_examples"></a><a class="link" href="cpp11_examples.html" title="C++11 Examples">C++11 Examples</a>
</h3></div></div></div>
<h5>
<a name="asio.examples.cpp11_examples.h0"></a>
<span><a name="asio.examples.cpp11_examples.allocation"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.allocation">Allocation</a>
</h5>
<p>
This example shows how to customise the allocation of memory associated with
asynchronous operations.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp11/allocation/server.cpp" target="_top">../src/examples/cpp11/allocation/server.cpp</a>
(<a href="../../examples/diffs/allocation/server.cpp.html" target="_top">diff to C++03</a>)
</li></ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h1"></a>
<span><a name="asio.examples.cpp11_examples.buffers"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.buffers">Buffers</a>
</h5>
<p>
This example demonstrates how to create reference counted buffers that can
be used with socket read and write operations.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp11/buffers/reference_counted.cpp" target="_top">../src/examples/cpp11/buffers/reference_counted.cpp</a>
(<a href="../../examples/diffs/buffers/reference_counted.cpp.html" target="_top">diff
to C++03</a>)
</li></ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h2"></a>
<span><a name="asio.examples.cpp11_examples.chat"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.chat">Chat</a>
</h5>
<p>
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.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp11/chat/chat_message.hpp" target="_top">../src/examples/cpp11/chat/chat_message.hpp</a>
(<a href="../../examples/diffs/chat/chat_message.hpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/chat/chat_client.cpp" target="_top">../src/examples/cpp11/chat/chat_client.cpp</a>
(<a href="../../examples/diffs/chat/chat_client.cpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/chat/chat_server.cpp" target="_top">../src/examples/cpp11/chat/chat_server.cpp</a>
(<a href="../../examples/diffs/chat/chat_server.cpp.html" target="_top">diff to C++03</a>)
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h3"></a>
<span><a name="asio.examples.cpp11_examples.echo"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.echo">Echo</a>
</h5>
<p>
A collection of simple clients and servers, showing the use of both synchronous
and asynchronous operations.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp11/echo/async_tcp_echo_server.cpp" target="_top">../src/examples/cpp11/echo/async_tcp_echo_server.cpp</a>
(<a href="../../examples/diffs/echo/async_tcp_echo_server.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/echo/async_udp_echo_server.cpp" target="_top">../src/examples/cpp11/echo/async_udp_echo_server.cpp</a>
(<a href="../../examples/diffs/echo/async_udp_echo_server.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/echo/blocking_tcp_echo_client.cpp" target="_top">../src/examples/cpp11/echo/blocking_tcp_echo_client.cpp</a>
(<a href="../../examples/diffs/echo/blocking_tcp_echo_client.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/echo/blocking_tcp_echo_server.cpp" target="_top">../src/examples/cpp11/echo/blocking_tcp_echo_server.cpp</a>
(<a href="../../examples/diffs/echo/blocking_tcp_echo_server.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/echo/blocking_udp_echo_client.cpp" target="_top">../src/examples/cpp11/echo/blocking_udp_echo_client.cpp</a>
(<a href="../../examples/diffs/echo/blocking_udp_echo_client.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/echo/blocking_udp_echo_server.cpp" target="_top">../src/examples/cpp11/echo/blocking_udp_echo_server.cpp</a>
(<a href="../../examples/diffs/echo/blocking_udp_echo_server.cpp.html" target="_top">diff
to C++03</a>)
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h4"></a>
<span><a name="asio.examples.cpp11_examples.fork"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.fork">Fork</a>
</h5>
<p>
These POSIX-specific examples show how to use Asio in conjunction with the
<code class="computeroutput">fork()</code> system call. The first example illustrates the steps
required to start a daemon process:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp11/fork/daemon.cpp" target="_top">../src/examples/cpp11/fork/daemon.cpp</a>
(<a href="../../examples/diffs/fork/daemon.cpp.html" target="_top">diff to C++03</a>)
</li></ul></div>
<p>
The second example demonstrates how it is possible to fork a process from
within a completion handler.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp11/fork/process_per_connection.cpp" target="_top">../src/examples/cpp11/fork/process_per_connection.cpp</a>
(<a href="../../examples/diffs/fork/process_per_connection.cpp.html" target="_top">diff
to C++03</a>)
</li></ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h5"></a>
<span><a name="asio.examples.cpp11_examples.futures"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.futures">Futures</a>
</h5>
<p>
This example demonstrates how to use std::future in conjunction with Asio's
asynchronous operations.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp11/futures/daytime_client.cpp" target="_top">../src/examples/cpp11/futures/daytime_client.cpp</a>
</li></ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h6"></a>
<span><a name="asio.examples.cpp11_examples.handler_tracking"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.handler_tracking">Handler
Tracking</a>
</h5>
<p>
This example header file shows how to implement custom handler tracking.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp11/handler_tracking/custom_tracking.hpp" target="_top">../src/examples/cpp11/handler_tracking/custom_tracking.hpp</a>
</li></ul></div>
<p>
This example program shows how to include source location information in
the handler tracking output.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp11/handler_tracking/async_tcp_echo_server.cpp" target="_top">../src/examples/cpp11/handler_tracking/async_tcp_echo_server.cpp</a>
</li></ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h7"></a>
<span><a name="asio.examples.cpp11_examples.http_server"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.http_server">HTTP
Server</a>
</h5>
<p>
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.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/connection.cpp" target="_top">../src/examples/cpp11/http/server/connection.cpp</a>
(<a href="../../examples/diffs/http/server/connection.cpp.html" target="_top">diff to
C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/connection.hpp" target="_top">../src/examples/cpp11/http/server/connection.hpp</a>
(<a href="../../examples/diffs/http/server/connection.hpp.html" target="_top">diff to
C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/connection_manager.cpp" target="_top">../src/examples/cpp11/http/server/connection_manager.cpp</a>
(<a href="../../examples/diffs/http/server/connection_manager.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/connection_manager.hpp" target="_top">../src/examples/cpp11/http/server/connection_manager.hpp</a>
(<a href="../../examples/diffs/http/server/connection_manager.hpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/header.hpp" target="_top">../src/examples/cpp11/http/server/header.hpp</a>
(<a href="../../examples/diffs/http/server/header.hpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/main.cpp" target="_top">../src/examples/cpp11/http/server/main.cpp</a>
(<a href="../../examples/diffs/http/server/main.cpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/mime_types.cpp" target="_top">../src/examples/cpp11/http/server/mime_types.cpp</a>
(<a href="../../examples/diffs/http/server/mime_types.cpp.html" target="_top">diff to
C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/mime_types.hpp" target="_top">../src/examples/cpp11/http/server/mime_types.hpp</a>
(<a href="../../examples/diffs/http/server/mime_types.hpp.html" target="_top">diff to
C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/reply.cpp" target="_top">../src/examples/cpp11/http/server/reply.cpp</a>
(<a href="../../examples/diffs/http/server/reply.cpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/reply.hpp" target="_top">../src/examples/cpp11/http/server/reply.hpp</a>
(<a href="../../examples/diffs/http/server/reply.hpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/request.hpp" target="_top">../src/examples/cpp11/http/server/request.hpp</a>
(<a href="../../examples/diffs/http/server/request.hpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/request_handler.cpp" target="_top">../src/examples/cpp11/http/server/request_handler.cpp</a>
(<a href="../../examples/diffs/http/server/request_handler.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/request_handler.hpp" target="_top">../src/examples/cpp11/http/server/request_handler.hpp</a>
(<a href="../../examples/diffs/http/server/request_handler.hpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/request_parser.cpp" target="_top">../src/examples/cpp11/http/server/request_parser.cpp</a>
(<a href="../../examples/diffs/http/server/request_parser.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/request_parser.hpp" target="_top">../src/examples/cpp11/http/server/request_parser.hpp</a>
(<a href="../../examples/diffs/http/server/request_parser.hpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/server.cpp" target="_top">../src/examples/cpp11/http/server/server.cpp</a>
(<a href="../../examples/diffs/http/server/server.cpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/http/server/server.hpp" target="_top">../src/examples/cpp11/http/server/server.hpp</a>
(<a href="../../examples/diffs/http/server/server.hpp.html" target="_top">diff to C++03</a>)
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h8"></a>
<span><a name="asio.examples.cpp11_examples.multicast"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.multicast">Multicast</a>
</h5>
<p>
An example showing the use of multicast to transmit packets to a group of
subscribers.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp11/multicast/receiver.cpp" target="_top">../src/examples/cpp11/multicast/receiver.cpp</a>
(<a href="../../examples/diffs/multicast/receiver.cpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/multicast/sender.cpp" target="_top">../src/examples/cpp11/multicast/sender.cpp</a>
(<a href="../../examples/diffs/multicast/sender.cpp.html" target="_top">diff to C++03</a>)
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h9"></a>
<span><a name="asio.examples.cpp11_examples.nonblocking"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.nonblocking">Nonblocking</a>
</h5>
<p>
Example demonstrating reactor-style operations for integrating a third-party
library that wants to perform the I/O operations itself.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp11/nonblocking/third_party_lib.cpp" target="_top">../src/examples/cpp11/nonblocking/third_party_lib.cpp</a>
(<a href="../../examples/diffs/nonblocking/third_party_lib.cpp.html" target="_top">diff
to C++03</a>)
</li></ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h10"></a>
<span><a name="asio.examples.cpp11_examples.operations"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.operations">Operations</a>
</h5>
<p>
Examples showing how to implement composed asynchronous operations as reusable
library functions.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp11/operations/composed_1.cpp" target="_top">../src/examples/cpp11/operations/composed_1.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/operations/composed_2.cpp" target="_top">../src/examples/cpp11/operations/composed_2.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/operations/composed_3.cpp" target="_top">../src/examples/cpp11/operations/composed_3.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/operations/composed_4.cpp" target="_top">../src/examples/cpp11/operations/composed_4.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/operations/composed_5.cpp" target="_top">../src/examples/cpp11/operations/composed_5.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/operations/composed_6.cpp" target="_top">../src/examples/cpp11/operations/composed_6.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/operations/composed_7.cpp" target="_top">../src/examples/cpp11/operations/composed_7.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/operations/composed_8.cpp" target="_top">../src/examples/cpp11/operations/composed_8.cpp</a>
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h11"></a>
<span><a name="asio.examples.cpp11_examples.socks_4"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.socks_4">SOCKS
4</a>
</h5>
<p>
Example client program implementing the SOCKS 4 protocol for communication
via a proxy.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp11/socks4/sync_client.cpp" target="_top">../src/examples/cpp11/socks4/sync_client.cpp</a>
(<a href="../../examples/diffs/socks4/sync_client.cpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/socks4/socks4.hpp" target="_top">../src/examples/cpp11/socks4/socks4.hpp</a>
(<a href="../../examples/diffs/socks4/socks4.hpp.html" target="_top">diff to C++03</a>)
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h12"></a>
<span><a name="asio.examples.cpp11_examples.spawn"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.spawn">Spawn</a>
</h5>
<p>
Example of using the asio::spawn() function, a wrapper around the <a href="http://www.boost.org/doc/libs/release/libs/coroutine/index.html" target="_top">Boost.Coroutine</a>
library, to implement a chain of asynchronous operations using stackful coroutines.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp11/spawn/echo_server.cpp" target="_top">../src/examples/cpp11/spawn/echo_server.cpp</a>
(<a href="../../examples/diffs/spawn/echo_server.cpp.html" target="_top">diff to C++03</a>)
</li></ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h13"></a>
<span><a name="asio.examples.cpp11_examples.ssl"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.ssl">SSL</a>
</h5>
<p>
Example client and server programs showing the use of the <a class="link" href="../reference/ssl__stream.html" title="ssl::stream">ssl::stream&lt;&gt;</a>
template with asynchronous operations.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp11/ssl/client.cpp" target="_top">../src/examples/cpp11/ssl/client.cpp</a>
(<a href="../../examples/diffs/ssl/client.cpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/ssl/server.cpp" target="_top">../src/examples/cpp11/ssl/server.cpp</a>
(<a href="../../examples/diffs/ssl/server.cpp.html" target="_top">diff to C++03</a>)
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h14"></a>
<span><a name="asio.examples.cpp11_examples.timeouts"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.timeouts">Timeouts</a>
</h5>
<p>
A collection of examples showing how to cancel long running asynchronous
operations after a period of time.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp11/timeouts/async_tcp_client.cpp" target="_top">../src/examples/cpp11/timeouts/async_tcp_client.cpp</a>
(<a href="../../examples/diffs/timeouts/async_tcp_client.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/timeouts/blocking_tcp_client.cpp" target="_top">../src/examples/cpp11/timeouts/blocking_tcp_client.cpp</a>
(<a href="../../examples/diffs/timeouts/blocking_tcp_client.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp" target="_top">../src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp</a>
(<a href="../../examples/diffs/timeouts/blocking_token_tcp_client.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/timeouts/blocking_udp_client.cpp" target="_top">../src/examples/cpp11/timeouts/blocking_udp_client.cpp</a>
(<a href="../../examples/diffs/timeouts/blocking_udp_client.cpp.html" target="_top">diff
to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/timeouts/server.cpp" target="_top">../src/examples/cpp11/timeouts/server.cpp</a>
(<a href="../../examples/diffs/timeouts/server.cpp.html" target="_top">diff to C++03</a>)
</li>
</ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h15"></a>
<span><a name="asio.examples.cpp11_examples.timers"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.timers">Timers</a>
</h5>
<p>
Example showing how to customise basic_waitable_timer using a different clock
type.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<a href="../../../src/examples/cpp11/timers/time_t_timer.cpp" target="_top">../src/examples/cpp11/timers/time_t_timer.cpp</a>
(<a href="../../examples/diffs/timers/time_t_timer.cpp.html" target="_top">diff to C++03</a>)
</li></ul></div>
<h5>
<a name="asio.examples.cpp11_examples.h16"></a>
<span><a name="asio.examples.cpp11_examples.unix_domain_sockets"></a></span><a class="link" href="cpp11_examples.html#asio.examples.cpp11_examples.unix_domain_sockets">UNIX
Domain Sockets</a>
</h5>
<p>
Examples showing how to use UNIX domain (local) sockets.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp11/local/connect_pair.cpp" target="_top">../src/examples/cpp11/local/connect_pair.cpp</a>
(<a href="../../examples/diffs/local/connect_pair.cpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/local/iostream_client.cpp" target="_top">../src/examples/cpp11/local/iostream_client.cpp</a>
(<a href="../../examples/diffs/local/iostream_client.cpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/local/stream_server.cpp" target="_top">../src/examples/cpp11/local/stream_server.cpp</a>
(<a href="../../examples/diffs/local/stream_server.cpp.html" target="_top">diff to C++03</a>)
</li>
<li class="listitem">
<a href="../../../src/examples/cpp11/local/stream_client.cpp" target="_top">../src/examples/cpp11/local/stream_client.cpp</a>
(<a href="../../examples/diffs/local/stream_client.cpp.html" target="_top">diff to C++03</a>)
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2003-2021 Christopher
M. Kohlhoff<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="cpp03_examples.html"><img src="../../prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../home.png" alt="Home"></a><a accesskey="n" href="cpp14_examples.html"><img src="../../next.png" alt="Next"></a>
</div>
</body>
</html>

71
doc/asio/examples/cpp14_examples.html

@ -0,0 +1,71 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>C++14 Examples</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Asio">
<link rel="up" href="../examples.html" title="Examples">
<link rel="prev" href="cpp11_examples.html" title="C++11 Examples">
<link rel="next" href="cpp17_examples.html" title="C++17 Examples">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="asio C++ library" width="250" height="60" src="../../asio.png"></td></tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="cpp11_examples.html"><img src="../../prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../home.png" alt="Home"></a><a accesskey="n" href="cpp17_examples.html"><img src="../../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="asio.examples.cpp14_examples"></a><a class="link" href="cpp14_examples.html" title="C++14 Examples">C++14 Examples</a>
</h3></div></div></div>
<h5>
<a name="asio.examples.cpp14_examples.h0"></a>
<span><a name="asio.examples.cpp14_examples.operations"></a></span><a class="link" href="cpp14_examples.html#asio.examples.cpp14_examples.operations">Operations</a>
</h5>
<p>
Examples showing how to implement composed asynchronous operations as reusable
library functions.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a href="../../../src/examples/cpp14/operations/composed_1.cpp" target="_top">../src/examples/cpp14/operations/composed_1.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp14/operations/composed_2.cpp" target="_top">../src/examples/cpp14/operations/composed_2.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp14/operations/composed_3.cpp" target="_top">../src/examples/cpp14/operations/composed_3.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp14/operations/composed_4.cpp" target="_top">../src/examples/cpp14/operations/composed_4.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp14/operations/composed_5.cpp" target="_top">../src/examples/cpp14/operations/composed_5.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp14/operations/composed_6.cpp" target="_top">../src/examples/cpp14/operations/composed_6.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp14/operations/composed_7.cpp" target="_top">../src/examples/cpp14/operations/composed_7.cpp</a>
</li>
<li class="listitem">
<a href="../../../src/examples/cpp14/operations/composed_8.cpp" target="_top">../src/examples/cpp14/operations/composed_8.cpp</a>
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2003-2021 Christopher
M. Kohlhoff<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>